diff --git a/maps/ff_cornfield.lua b/maps/ff_cornfield.lua new file mode 100644 index 0000000..a159340 --- /dev/null +++ b/maps/ff_cornfield.lua @@ -0,0 +1,83 @@ +IncludeScript("base_id_new"); +IncludeScript("base_respawnturret"); +IncludeScript("base_location"); + +respawnturret_attackers = base_respawnturret:new({ team = attackers }) +respawnturret_defenders = base_respawnturret:new({ team = defenders }) + +cornhealthkit = genericbackpack:new({ + health = 50, + model = "models/items/healthkit.mdl", + materializesound = "Item.Materialize", + touchsound = "HealthKit.Touch" +}) +cornarmorkit = genericbackpack:new({ + armor = 200, + model = "models/items/armour/armour.mdl", + materializesound = "Item.Materialize", + touchsound = "ArmorKit.Touch" +}) +cornammopack = genericbackpack:new({ + health = 35, + armor = 50, + grenades = 20, + nails = 50, + shells = 100, + rockets = 15, + cells = 70, + model = "models/items/backpack/backpack.mdl", + materializesound = "Item.Materialize", + touchsound = "Backpack.Touch" +}) + +function cornammopack:dropatspawn() return false +end + +corngrenadepack = genericbackpack:new({ + health = 35, + armor = 50, + grenades = 20, + nails = 50, + shells = 100, + rockets = 15, + cells = 70, + mancannons = 1, + gren1 = 2, + gren2 = 1, + respawntime = 30, + model = "models/items/backpack/backpack.mdl", + materializesound = "Item.Materialize", + touchsound = "Backpack.Touch" +}) + +function corngrenadepack:dropatspawn() return false +end + +detpack_wall_open = nil + +function onroundreset() + -- close the door + if detpack_wall_open then + -- there's no "close".. wtf + OutputEvent("detpack_hole", "Toggle") + detpack_wall_open = nil + end + -- Reset The Turrets + respawnturret_attackers = base_respawnturret:new({ team = attackers }) + respawnturret_defenders = base_respawnturret:new({ team = defenders }) +end + +detpack_trigger = trigger_ff_script:new({}) +function detpack_trigger:onexplode( trigger_entity ) + if IsDetpack( trigger_entity ) then + ConsoleToAll("The door has been blown open!") + OutputEvent("detpack_hole", "Toggle") + detpack_wall_open = true + end + return EVENT_ALLOWED +end + +-- Don't want any body touching/triggering it except the detpack +function trigger_detpackable_door:allowed( trigger_entity ) return EVENT_DISALLOWED +end + diff --git a/maps/ff_cornfield.txt b/maps/ff_cornfield.txt new file mode 100644 index 0000000..a91a943 --- /dev/null +++ b/maps/ff_cornfield.txt @@ -0,0 +1,21 @@ +INVADE AND DEFEND + +Objective: + +Blue team starts as the attacker. Red team +starts as the defender. + +The attacking team must take control of the +town by pushing through and capping the four +Command Points sequentially. The defending +team simply tries to hold out as long as they +can. Once the attackers succeed, teams swap, +and play begins again. + +Command Points are captured by taking the flag +from the previous point and carrying it to the +next. When a Command Point is secured, the flag +required to capture the next Command Point +appears on top of it. For example, the flag +needed to capture Command Point 3 will always +spawn at Command Point 2. \ No newline at end of file