Login

russian armor

Art of Defence mod

12 Nov 2014, 13:04 PM
#1
avatar of littlebitpwnsu
Donator 22

Posts: 11

Announcing Art of Defence (AOD) maps



The past week we have been working hard to get this mod off the ground, you can find it in the steam workshop here:
Official AOD mod + maps collection

Basically it’s a game mode where you alone or with your friends have to defend against several waves of AI units. They spawn at one end of the map and follow a path to the other end. When they reach that end, you lose. When you kill all the waves, your team wins. Easy.

The waves will vary per map and consist of infantry and vehicles. Setting the opponent AI difficulty will change the difficulty of the map:
  • Easy – AI units won’t attack while on route
  • Normal – AI units will attack while on route
  • Hard – AI units won’t be suppressed and have veterancy 1
  • Hardest – AI unit’s very strong, fast and have veterancy 3

Besides that there are several events that can be triggered between waves, like bombing of units and defences.

Currently we are adding this game mode to already existing CoH2 maps, like “Langreskaya” and “Rails and Metal”, but we aim towards providing a framework to the community so more people can make awesome AOD maps. This framework is super easy to understand, we will provide some documentation when we release it.

You will have to install the “Art of Defence” victory condition mod, this holds all the scripts for the game mode. Besides that the individual levels only hold the parameters of the map, like units to spawn, events to trigger, etc. When you want to play, you’ll have to choose the AOD mod as victory condition mod.

Here are two short videos showcasing our mod:
Art of Defence mod gameplay
Art of Defence mod more gameplay

Hope you like it, we’ll keep you updated!

littleBIT and keesfluitman
12 Nov 2014, 13:04 PM
#2
avatar of littlebitpwnsu
Donator 22

Posts: 11

1.9
Code
- Players can earn points (shown in the messages above the mini map)
- Players can spend points on abilities (10 added)
- Modifiers during survival game tweaked for better gameplay
- More time between certain waves, to build up defences
- More vehicles are being spawned, instead of infantry
- Many performance tweaks (thanks to built in profiler)
- Ability for map makers to tweak the cheap/expensive unit ration in survival games
- Randomly spawned units in a survival game now have a change of getting one of their upgrades/weapons


1.8
Code
- Added language support for all languages but Czech
- New fail condition: Annihilation
- Ability to disable FOW
- Ability to let AI units do an attack move
- AI vehicle criticals now removed every 2 seconds
- Aircraft not getting karma
- Ability to disable karma for infantry
- Ability to enable mine placement on the routes
- Vehicles that are out of control will not count as fail
- Ability to control the wave strength multiplier on survival maps
- Ability to filter on faction on survival maps
- Minimum of 1 point per route per wave on survival
- Small optimizations
- Added a settings manager, for easier map setups
- Priest disabled on survival maps


1.7 (survival mode)
Code
- Added a new game mode called "Art of Defence - Survival"
- Added support for high starting resources
- West german pak43 now costs 500 manpower, 150 fuel and 150 ammo
- Showing warning on missing items/upgrades
- Wrecks now cleared every 0.2 sec instead of every 0.3 sec
- Added basic support for trains (not implemented in maps yet)


1.6
Code
- Showing difficulty modifiers on start of the game
- Fadein on game start shorter, game is responsive much faster now
- All AI players now getting no resources
- Showing a warning when players are on the wrong team
- Added 10 new modifiers that map editors can use, to further tweak bosses


1.5
Code
- Pak43 now costs 500 manpower, 150 fuel and 150 ammo
- Ability to add modifiers per unit, allowing for bosses
- Spawning units that doesn't exist will now display a warning, instead of crashing the game
- Minor lights fix


1.4
Code
- Sherman bulldozer barriers removed from route
- Ability to switch on lights per wave
- Camera moving to last unit making it to the end
- Pak43 now costs 500 manpower and 100 fuel
- Button vehicle disabled
- Vehicle criticals disabled


1.3
Code
- Support for new message types
- Don't use buildings outside the play zone for spawning
- Objectives complete/fail fixed on level end
- Retreating units do not get damage when crossing the road
- Message to show player that units are getting damage or bombed
- Unit damage or bombing can now be switched off between waves
- Paradropped units can now be given items and/or upgrades
- Building spawned units can now be given items and/or upgrades
- Sneak attack units can now be given items and/or upgrades


1.2
Code
- Ability to let the player pass a number of units, depending on difficulty settings
- Start timer fixed
- Proper game end, remaining AI units will take control and roam around
- Sending orders to squads improved, only being sent to idle units now
- Wrecks now cleared every 0.3s
- Warning messages for units that are about to take damage or get bombed
- Waves and events can now be spawned in parallel, with better control on timing and dependencies
- Message when player is not using a proper AOD map


1.1
Code
- Ability to play sounds at wave start
- Speech being played when units are being bombed or losing health
- Ability to make certain planes invulnerable
- Bombing of squads fixed


1.0 - Launch
Code
- Sneak attack tweaks
- Destroying enemy base on start is now optional


0.9 - Pre-launch
Code
- Wrecks now being cleaned every second instead of every 3 sec
- Introducing sneak attacks
- If no paths are provided in the wave setup, spawn it on all waves except the sneak attack locations
- Introducing building spawns
- Added threat arrows on units getting damage in path sectors
- Added minimap blips on units getting damage in path sectors
- Added minimap blips on AI building spawns
- Destroying AI base on level start
- Welcome message can now be modified in level code
- Possibility to give spawning units updates/items
- Many difficulty settings exposed in level code
12 Nov 2014, 13:05 PM
#3
avatar of littlebitpwnsu
Donator 22

Posts: 11

To make your own AOD level, you need the following stuff in your level:

Markers
Code
For each path:
Spawn marker -- Spawn location
Spawn direction marker -- Spawn direction
Path or target marker -- AI will either follow a path or move to the given target

For each sneak attack:
Spawn marker -- Spawn location
Spawn direction marker -- Spawn direction
Entry point marker -- AI will move towards this marker when spawned

For each failure position
Failure marker -- Players will fail if AI reaches this point (20m range)

Also create a marker that has all enemy bases within its range
Enemy base marker -- All buildings will be destroyed on level start


Groups
Code
Path sector entity group -- Group that holds all sectors that contain the route for the AI


Level code
Code
import("ScarUtil.scar")

-- SETUP ------------------------------------------------

SETUP = {
["WAVE_DEFAULT_INTERVAL"] = 10, -- default interval between waves
["START_TIME"] = 30, -- time before first wave moves in
["BOMB_FRIENDLY_SQUADS_ABILITY"] = "il-2_bombing_run_sp", -- ability to use when bombing friendly squads on route sector
["BOMB_FRIENDLY_ENTITIES_ABILITY"] = "il-2_bombing_run_sp", -- ability to use when bombing friendly entities on route sector
["HURT_FRIENDLY_SQUADS_SOUND"] = "speech/mp/soviet/cn2/events/pinned/sb_cn2_pin_gengen_lt_s", -- bsc file linking to sounds that should be played when units are getting damage on route sector
["BOMB_FRIENDLY_SQUADS_SOUND"] = "speech/mp/aef/ech/events/warning/ab_ech_wrn_astgen_lt_s", -- bsc file linking to sounds that should be played when units on route sector are about to get bombed
["INVULNERABLE_PLANES"] = {"il-2_sturmovik_rocket_sp_squad", "paratroopers_plane_paras"}, -- list of planes that should be invulnerable (default = empty list)

["AI_PATHS"] = { -- paths for the AI opponent (should have either 'path', 'target' or 'entry_point')
-- 'real' spawns - AI squad spawns at spawn_position and either follows a path or moves to a target
[1] = {
["spawn_position"] = "AOD_spawn_1", -- spawn position (should be the name of an existing marker)
["spawn_direction"] = "AOD_spawn_direction_1", -- spawn direction (should be the name of an existing marker)
["path"] = "AOD_path_1" -- path to follow when spawned (should be the name of an existing marker)
},
[2] = {
["spawn_position"] = "AOD_spawn_2", -- spawn position (should be the name of an existing marker)
["spawn_direction"] = "AOD_spawn_direction_2", -- spawn direction (should be the name of an existing marker)
["target"] = "AOD_target_2" -- target to move to (should be the name of an existing marker)
},

-- sneak attacks - AI squad spawns at spawn_position and moves to entry_point (can spawn outside the map, and make an entry at the given location)
[3] = {
["spawn_position"] = "AOD_sneak_1", -- spawn position (should be the name of an existing marker)
["spawn_direction"] = "AOD_sneak_direction_1", -- spawn direction (should be the name of an existing marker)
["entry_point"] = "AOD_sneak_entry_point_1" -- target to move to (should be the name of an existing marker)
}
},

["AI_FAIL_POSITIONS"] = { -- markers to trigger fail condition (range is 20m)
[1] = "AOD_dest_fail"
},

["DIFFICULTY"] = { -- difficulty settings { easy, normal, hard, hardest }
["starting_resources"] = {
["manpower"] = {2000, 1500, 1200, 1000}, -- starting manpower
["fuel"] = {300, 200, 100, 80}, -- starting fuel
["ammo"] = {800, 600, 300, 200}, -- starting ammo
["command"] = {20, 10, 5, 0} -- starting command points
},
["resource_multipliers"] = {
["manpower"] = {1.6, 1.4, 1.2, 1.0}, -- manpower multiplier
["fuel"] = {1.5, 1.4, 1.2, 1.0}, -- fuel multiplier
["ammo"] = {1.5, 1.4, 1.2, 1.0}, -- ammo multiplier
["upkeep"] = {0.4, 0.5, 0.6, 0.7} -- upkeep multiplier
},
["wave"] = {
["autofire"] = {false, true, true, true}, -- autofire for AI squads (do they fire while moving)
["armor"] = {0.9, 1.0, 1.1, 1.2}, -- armor for AI squads
["speed"] = {0.9, 0.9, 1.0, 1.1}, -- speed for AI squads
["veterancy"] = {0, 0, 1, 2}, -- veterancy for AI squads
["received_suppression"] = {0.75, 0.25, 0, 0}, -- received suppression for AI squads (0 means not able to be suppressed)
},
["hurt_units_on_route"] = { -- settings for hurting units that are moving or standing still on the route
["time_without_damage"] = {3, 2, 1, 1}, -- time to allow player squads to pass through the sector
["time_till_max_damage"] = {5, 4, 3, 3}, -- buildup time until unit gets max damage per second
["max_damage_per_second"] = {0.1, 0.1, 0.15, 0.2} -- max damage per second (percentage)
},
["popcap"] = {250, 225, 200, 150}, -- max popcap for players
["sight"] = {1.5, 1.3, 1.0, 0.8}, -- sight multiplier for players
["experience"] = {1.0, 0.8, 0.7, 0.6}, -- experience multiplier for players
["units_allowed_to_pass"] = {11, 4, 0, 0} -- units that are allowed to reach the end of the level (objective not shown when setting to 0)
},

["WAVE_SETUP"] = { -- setup of the waves
[1] = { -- always start with wave 1 and increment by 1 until the last wave
["units"] = { -- list of unit types to spawn
[1] = {
["type"] = "assault_officer_squad_mp", -- squad blueprint
["amount"] = 1, -- amount of squads to spawn (default = 1)
["interval"] = 2, -- time between squads (default = 2)
["spawns"] = {1}, -- spawnpoints (from AI_PATHS) (default = all 'real' spawnpoints)
["slots"] = {"grenadier_mg42_lmg_moving_mp"}, -- items to give to free slots
["upgrades"] = {"pioneer_minesweeper_mp"} -- updates to give to squads
},
[2] = {
["type"] = "kubelwagen_squad_mp", -- squad blueprint
["amount"] = 1, -- amount of squads to spawn (default = 1)
["interval"] = 2, -- time between squads (default = 2)
["spawns"] = {4, 5, 6}, -- spawnpoints (from AI_PATHS) (default = all 'real' spawnpoints)
["delay"] = 5.5 -- delay before spawning (when not using "wait_for_wave", this will count from the start of the wave) (default = 0)
},
[3] = {
["type"] = "assault_officer_squad_mp", -- squad blueprint
["amount"] = 1, -- amount of squads to spawn (default = 1)
["interval"] = 2, -- time between squads (default = 2)
["spawns"] = {4, 5, 6}, -- spawnpoints (from AI_PATHS) (default = all 'real' spawnpoints)
["delay"] = 5.5, -- delay before spawning (since "wait_for_wave", this delay will be after the specified wave has been spawned) (default = 0)
["wait_for_wave"] = 2 -- wait before spawning until speficied wave has been spawned (can be a number or "previous", which will link to the previous wave. When the wave doesn't exist, it's ignored)
},
[4] = {
["type"] = "kubelwagen_squad_mp", -- squad blueprint
["amount"] = 1, -- amount of squads to spawn (default = 1)
["interval"] = 2, -- time between squads (default = 2)
["spawns"] = {4, 5, 6} -- spawnpoints (from AI_PATHS) (default = all 'real' spawnpoints)
} -- since there is no delay and no wait_for_wave, this part of the wave will be spawned after part 3
},

["wait_until_everybody_dead"] = true, -- start next wave countdown when this wave is dead (default = false)
["delay_after_wave"] = 60.0, -- delay after this wave until next wave starts (default = WAVE_DEFAULT_INTERVAL)
["hurt_moving_friendly_squads_on_route"] = false, -- do damage to moving player squads on route sector (default = false)
["hurt_friendly_squads_on_route"] = false, -- do damage to idle player squads on route sector (default = false)
["bomb_friendly_squads_on_route"] = false, -- bomb player squads on route sector (default = false)
["bomb_friendly_entities_on_route"] = false, -- bomb player entities on route sector (mines, bunkers, etc) (default = false)
["kill_friendly_entities_on_route"] = false, -- instantly kill player entities on route sector (default = false)
["sound_on_spawn"] = "speech/sp/theater_of_war/t03/11040387", --Plays a sound at the start of the wave (default = none)
["message_when_starting"] = { -- show a message when this wave starts
["title"] = "Secure the area and destroy the capitacommunilist army!", -- title of the message (default = empty)
["desc1"] = "Allies are holding this vital point to secure a safe passage of their main army.", -- first line of the message (default = empty)
["desc2"] = "Prepare yourself to retake this position and ambush the main army!", -- second line of the message (default = empty)
["fadein"] = 1.0, -- fade in time (default = 0.5)
["fadeout"] = 1.0, -- fade out time (default = 0.5)
["lifetime"] = 5.0 -- lifetime of the message (default = 2.0)
}
["event_when_starting"] = { -- events when wave starts (possible types are: 'markers', 'bomb_friendly_squads', 'paradrop_near_random_objective', 'spawn_in_random_building')
[1] = {
["blueprint"] = "off_map_artillery_percise_fast", -- blueprint of the event (AbilityBlueprint)
["type"] = "markers", -- type of the event ('markers' spawns the provided ability at the given locations, can be artillery or bombing strike for example)
["locations"] = -- list of locations
{
[0] = {
["position"] = "AOD_event_1", -- location position (should be the name of an existing marker)
["direction"] = "AOD_event_dir1", -- location direction (should be the name of an existing marker)
}, -- no delay specified, will be spawned at the beginning of the wave
[1] = {
["position"] = "AOD_event_2", -- location position (should be the name of an existing marker)
["direction"] = "AOD_event_dir2", -- location direction (should be the name of an existing marker)
["delay"] = 5 -- delay after the start of the wave (default = 0)
}
}
},
[2] = {
["blueprint"] = "b4_203mm_barrage_mp", -- blueprint of the event (AbilityBlueprint)
["type"] = "bomb_friendly_squads" -- type of the event ('bomb_friendly_squads' bombs all player units on the route sector)
},
[3] = {
["blueprint"] = "paratroopers_paradrop", -- blueprint of the event (AbilityBlueprint)
["type"] = "paradrop_near_random_objective", -- type of the event ('paradrop_near_random_objective' does a paradrop on a random player sector)
["delay"] = 3 -- delay after the start of the wave (default = 0)
},
[4] = {
["blueprint"] = "partisans_lmg_mp", -- blueprint of the event (SquadBlueprint)
["type"] = "spawn_in_random_building" -- type of the event ('spawn_in_random_building' spawns a squad in a random available building on the map)
}
}
},
[2] = {
["units"] = {
[1] = {
["type"] = "ostruppen_squad_mp",
["amount"] = 3,
["interval"] = 2,
["spawns"] = {1, 2, 3},
["upgrades"] = {"grenadier_mg42_lmg_mp", "grenadier_mg42_lmg_mp", "grenadier_mg42_lmg_mp"}
},
[2] = {
["type"] = "kubelwagen_squad_mp",
["amount"] = 1,
["interval"] = 2,
["spawns"] = {4, 5, 6}
}
},

["wait_until_everybody_dead"] = true,
["delay_after_wave"] = 60.0,
["event_when_starting"] = {
[1] = {
["blueprint"] = "b4_203mm_barrage_mp",
["type"] = "bomb_friendly_squads"
}
},
["message_when_starting"] = {
["title"] = "Kubelwagens incoming!",
["fadein"] = 1.0,
["fadeout"] = 1.0,
["lifetime"] = 5.0
}
}
}
}


-- init

function OnInit()
-- Initialize the map, send the setup variables to the mod script
AOD_Setup(SETUP)
AOD_OnOnit()
end

function ShowWelcomeMessage()
-- Gets triggered when game starts

local messageTitle = Util_CreateLocString("player count: " .. (PLAYER_COUNT - 1))
local messageBody1 = Util_CreateLocString("by Niels Stoelinga and Kees Fluitman")
local messageBody2 = Util_CreateLocString("Prevent the enemy from reaching the other end of the map!")

Game_SubTextFade(messageTitle, messageBody1, messageBody2, 0.5, 4.0, 1.5)
end

function OnFaultyInit()
-- Gets triggered when the proper victory condition mod hasn't been selected

local messageTitle = LOC("ERROR")
messageTitle[1] = "ERROR"
local messageBody1 = LOC("Make sure that you are running this level with the official Art of Defence mod enabled")
messageBody1[1] = "Make sure that you are running this level with the official Art of Defence mod enabled"
local messageBody2 = LOC("")
messageBody2[1] = ""

Game_SubTextFade(messageTitle, messageBody1, messageBody2, 0.5, 20.0, 1.5)
end

if pcall(function() import("winconditions/aod.scar") end) then
Scar_AddInit(OnInit)
else
Scar_AddInit(OnFaultyInit)
end

12 Nov 2014, 13:17 PM
#4
avatar of Bryan

Posts: 412

Sounds interesting, gl with launch! :)
12 Nov 2014, 13:27 PM
#5
avatar of simpelekees
Patrion 310

Posts: 159

I'm keesfluitman. I'll be making another video as an introduction, but Littlebit's video is already showcasing the largest part of the actual gameplay.
12 Nov 2014, 13:55 PM
#6
avatar of littlebitpwnsu
Donator 22

Posts: 11

21 Nov 2014, 17:55 PM
#7
avatar of littlebitpwnsu
Donator 22

Posts: 11

And we're live!

Subscribe to our mod + map collection here:
Official AOD mod + maps collection
22 Nov 2014, 04:09 AM
#8
avatar of HelpingHans
Strategist Badge
Donator 11

Posts: 1838 | Subs: 17

Nice idea guys. It's like a tower defence almost! :)
22 Nov 2014, 10:39 AM
#9
avatar of JpHetzer

Posts: 12

Sounds like fun! I'll try it out this evening.

Would you consider implementing a setting allowing for an infinite number of waves, with each wave getting gradually harder and harder (and maybe a way to keep track of how many waves you have cleared)?
22 Nov 2014, 12:24 PM
#10
avatar of simpelekees
Patrion 310

Posts: 159

Sounds like fun! I'll try it out this evening.

Would you consider implementing a setting allowing for an infinite number of waves, with each wave getting gradually harder and harder (and maybe a way to keep track of how many waves you have cleared)?


The waves are set manually by the map maker.

If you copy the "code" in one of littlebit's posts, and put it in a txt file in notepad ++ (set language to LUA), you will notice that each wave can be set with different Parameters. So the amount of waves is always finite, but the mapmaker can make each wave stronger. I will explain this in a video tutorial and a guide soon.
Code
[2] = {
["units"] = {
[1] = {
["type"] = "combat_engineer_squad_mp",
["amount"] = 15,
["interval"] = 3,
["spawns"] = {2},
["slots"] = {"dp-28_light_machine_gun_package_moving_mp", "dp-28_light_machine_gun_package_moving_mp"},
["upgrades"] = {"engineer_minesweeper"}
},
[2] = {
["type"] = "rear_echelon_squad_mp",
["amount"] = 15,
["interval"] = 3,
["spawns"] = {1},
["slots"] = {"paratrooper_thompson_sub_machine_gun_upgrade_mp"},
["upgrades"] = {"minesweeper_upgrade_mp"}
}
},
["wait_until_everybody_dead"] = true,
["delay_after_wave"] = 30.0,
["event_when_starting"] = {},
["hurt_moving_friendly_squads_on_route"] = false,
["hurt_friendly_squads_on_route"] = false,
["bomb_friendly_squads_on_route"] = false,
["bomb_friendly_entities_on_route"] = false,
["message_when_starting"] = {
["title"] = "Secure the area and destroy the capitacommunilist army!",
["desc1"] = "Sorry for historical inaccuracy. @Imperial Dane. kappa",
["desc2"] = "",
["fadein"] = 1.0,
["fadeout"] = 1.0,
["lifetime"] = 5.0
}
},
}
22 Nov 2014, 16:31 PM
#11
avatar of littlebitpwnsu
Donator 22

Posts: 11

Sounds like fun! I'll try it out this evening.

Would you consider implementing a setting allowing for an infinite number of waves, with each wave getting gradually harder and harder (and maybe a way to keep track of how many waves you have cleared)?


I assume you mean something like a survival mode. This can easily be done by randomizing every wave and making it bigger/stronger, but with a random setup it's hard to maintain the same difficulty.

We'll stick to pre-setup waves for now, but maybe in the future I could add some code to loop them around or so.

Thanks for the suggestion though!
27 Nov 2014, 00:36 AM
#12
avatar of simpelekees
Patrion 310

Posts: 159

We will be guests at Stormless his stream tomorrow around 4 pm CET, we'll play our new 4 player AOD map and explain what our future plans are for the mod. Tune in and ask us questions!
http://www.twitch.tv/Stormless
30 Nov 2014, 14:00 PM
#13
avatar of jesulin
Donator 11

Posts: 590 | Subs: 10

Thanks to littlebitpwnsu for making this mod. :D

It was very fun to play with a friend. (We are still lossing versus Hard IA) :lol:
12 Dec 2014, 13:37 PM
#14
avatar of simpelekees
Patrion 310

Posts: 159

thanks! We just received news that two guys managed Extreme on Langres.
How?
By camping like shit lol. At gun emplacements spam and command tanks.
6 Jan 2015, 19:27 PM
#15
avatar of nightovizard

Posts: 5

I tried to make a AOD version of my map ( http://www.coh2.org/topic/29188/4-6-enix--8-enix ) , but when I tried to play the units and everything did not move.

I simply placed in the map this markers:

AOD_spawn_1
AOD_spawn_direction_1
AOD_dest_fail
The enemy base marker to destroy the enemy buildings. AOD_enemy_base
and made an invisible point to paint the terrain where units will move, and created a group entity wich its called: AOD_path_sectors.

Did I forgot about any marker? I'm assuming the problem is that the map is trying to load a marker which is not in the map. Maybe AOD_path_1? hat is that exactly?

Edit:
Nevermind, its waypoint placement, not markers. I think the problem it's solved now.

Edit2:

not working, it says that you need an AOD map to play this mod, when it is supposed to be an AOD map. At this moment I really don't know what else to do. The enemy bases have to be placed in a specific place? I noticed you placed them outside of the map, but I can't do that in the editor, map just won't save.


6 Jan 2015, 21:05 PM
#16
avatar of littlebitpwnsu
Donator 22

Posts: 11

Hey man, very nice to see that you are creating your own map!

Did you properly copy over the script to your own map? Add me on steam if you want better support, you can find my profile on the mod description page.
6 Jan 2015, 21:13 PM
#17
avatar of simpelekees
Patrion 310

Posts: 159

add us to steam if you'd like. The tutorial is almost done. We can already send it to you if you'd like.
7 Jan 2015, 13:54 PM
#18
avatar of nightovizard

Posts: 5

thank you all for your help, I got it working, here is the beta release:
http://steamcommunity.com/sharedfiles/filedetails/?id=370985236

It is for 4 players, and has basic markers for bombing runs, artillery, paratroopers and sneak spawn points. It has 12 waves, 4 enemy spawn points and 1 end. Waves are pretty much a copy of the ones seen in your 2 player AOD modified map, and as this is for 4 players maybe I should add more enemies, but first I should test it with 4 human players on hard, and see if I need to increase the difficulty for it or not.

Feel free to post any suggestions for it :)
24 Jun 2015, 23:35 PM
#19
avatar of littlebitpwnsu
Donator 22

Posts: 11

Version 1.9 live now!
1 user is browsing this thread: 1 guest

Ladders Top 10

  • #
    Steam Alias
    W
    L
    %
    Streak
Data provided by Relic Relic Entertainment

Replay highlight

VS
  • U.S. Forces flag cblanco ★
  • The British Forces flag 보드카 중대
  • Oberkommando West flag VonManteuffel
  • Ostheer flag Heartless Jäger
uploaded by XXxxHeartlessxxXX

Board Info

449 users are online: 1 member and 448 guests
VonManteuffel
1 post in the last 24h
28 posts in the last week
141 posts in the last month
Registered members: 44962
Welcome our newest member, SeattleSeoExpert
Most online: 2043 users on 29 Oct 2023, 01:04 AM