// mvm_mannworks #base robot_giant.pop #base robot_standard.pop #base overclocks_stardust.pop #base robot_stardust_new.pop WaveSchedule { StartingCurrency 400 CanBotsAttackWhileInSpawnRoom No RespawnWaveTime 7 FixedRespawnWaveTime 1 RobotLimit 26 SpellsEnabled 1 BotsDropSpells 0 DisallowUpgrade { Upgrade "faster reload rate" MaxLevel 0 ItemName "Union's Gambit" } ExtraSpawnPoint { Teamnum 3 Name "red_spawn" X "-77.5" Y "-2330.7" Z "453.5" } Templates { T_TFBot_Heavyweapons_Deflector { Class Heavyweapons Name "Deflector Heavy" ClassIcon heavy_deflector Skill Hard Item "The U-clank-a" Item "Deflector" WeaponRestrictions PrimaryOnly MaxVisionRange 1200 ItemAttributes { ItemName "Deflector" "attack projectiles" 1 } } T_TFBot_Sniper_Jarate { Class Sniper Name "Jarate Thrower" Skill Easy ClassIcon sniper_jarate Item "Jarate" Item "Desert Marauder" WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "Jarate" "effect bar recharge rate increased" 0.1 } } } SpellBookNormalRoll { "Healing Aura" 1 } CustomWeapon { //scout "The Hole Puncher" // wombo combo { OriginalItemName "Upgradeable TF_WEAPON_SCATTERGUN" "paintkit_proto_def_index" 208 "Set_item_texture_wear" 0.2 //"critboost on kill" 3 "minicrits become crits" 1 "dmg pierces resists absorbs" 1 //"damage penalty" 0.75 "clip size penalty" 0.5 "fire rate penalty" 1.2 "maxammo primary reduced" 0.5 "crit mod disabled" 0 } "M-90 Single Shot" // ah yes the long range scout scattergun very original! { OriginalItemName "Upgradeable TF_WEAPON_SCATTERGUN" "paintkit_proto_def_index" 204 "Set_item_texture_wear" 0.2 "revolver use hit locations" 1 // flavour "clip size bonus" 2 "can headshot" 1 "weapon spread bonus" 0 "damage penalty" 0.35 "hidden primary max ammo bonus" 1.13 "reload time increased hidden" 0.65 "headshot damage increase" 1.27 "crit mod disabled" 0 "special item description" "+35% faster reload rate." } "Sting Cannon" // anti-medic weapon { OriginalItemName "Upgradeable TF_WEAPON_PISTOL" "paintkit_proto_def_index" 232 "Set_item_texture_wear" 0.2 "bullets per shot bonus" 10 "mod ammo per shot" 3 "fire rate penalty hidden" 0.2 "clip size penalty" 0.5 "spread penalty" 2 "reload time increased" 5 "crit mod disabled" 0 "damage all connected" 1 "hidden secondary max ammo penalty" 2 } "Blessing of Hermes" // teammate support { OriginalItemName "Upgradeable TF_WEAPON_PISTOL" "paintkit_proto_def_index" 218 "Set_item_texture_wear" 0.2 "self add cond on hit" 32 "self add cond on hit duration" 5 "self add attributes on hit" "card: move speed bonus|1.2|5" "attach particle effect" 3041 "radial cond" 1200 "clip size penalty" 0.25 "faster reload rate" 0.35 "override projectile type" 13 "crit mod disabled" 0 "projectile speed increased" 2 "damage bonus hidden" 5 "particle color rgb" 7511618 "penetrate teammates" 1 //"energy weapon penetration" 1 } "Blackout Stout" { OriginalItemName "Bonk! atomic punch" "effect cond override" 15 "effect add attributes" "dmg from ranged reduced|0|dmg from melee increased|0|mod weapon blocks healing|1|move speed penalty|0.4|healing received bonus|20" "mult effect duration" 0.5 "special item description" "While effect is active, you become 60% slower and absorb all instances of damage and heal/overheal for 20 health every time you are hit." } "The Unseen One" // collect money + building disabler { OriginalItemName "Upgradeable TF_WEAPON_BAT" "provide on active" 1 "add cond when active" 64 "no_jump" 1 "disable buildings on hit" 5 "fire rate penalty" 5 "crit mod disabled" 0 "special item description" "You are invisible while active. No Jumping while active." "dmg taken increased" 1.75 } "Sapman" // sapper melee { OriginalItemName "Upgradeable TF_WEAPON_BAT" "add cond on hit" 71 "add cond on hit duration" 5 "melee cleave attack" 1 "fire rate penalty" 9 "special item description" "Stun enemy robots on hit." "crit mod disabled" 0 } //SOLDIER "Union's Retribution" // ram { OriginalItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "paintkit_proto_def_index" 257 "Set_item_texture_wear" 0.2 "energy weapon no deflect" 1 // flavour "max health additive bonus" 250 "mod max primary clip override" -1 "hidden primary max ammo bonus" 1.5 "model scale" 1.25 "projectile lifetime" 0.35 "projectile speed increased" 2.5 "Blast radius decreased" 0.01 "no explosion particles" 1 "damage penalty" 0.5 "fire rate bonus hidden" 0.9 "no self blast dmg" 1 "projectile no deflect" 1 "no damage falloff" 1 "penetrate teammates" 1 "crit mod disabled" 0 "move speed bonus" 1.2 "mult_patient_overheal_penalty_active" 0.2 "projectile trail particle" "~dxhr_lightningball_parent_blue" "custom projectile model" "models\empty.mdl" "special item description" "+25% Bigger. Short range energy weapon!" } "Fireworks Launcher" // fan-based launcher { OriginalItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "paintkit_proto_def_index" 210 "Set_item_texture_wear" 0.2 "fire rate bonus hidden" 0.7 "clip size penalty" 0.5 "add damage per target" 0.5 "reload full clip at once" 1 "reload time increased" 1.7 "damage penalty" 0.35 "projectile speed increased" 1.45 } "The Dumpster Diver" { OriginalItemName "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" "paintkit_proto_def_index" 237 "Set_item_texture_wear" 0.2 "fire input on kill" "!activator^$RefillAmmo^" "damage bonus" 1.5 "auto fires full clip" 1 "reload time increased" 1.1 "clip size penalty" 0.5 "spread penalty" 1.25 "deploy time decreased" 0.5 "special item description" "On Kill: Refill ammo" } //heavy "Bullet Puncher" { OriginalItemName "Upgradeable TF_WEAPON_MINIGUN" "restore health on kill" 25 } //engineer "The Nightmare Slayer" // laser { OriginalItemName "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" "paintkit_proto_def_index" 215 "Set_item_texture_wear" 0.2 "max bullet range" 600 "weapon spread bonus" 0 "reload full clip at once" 1 "damage penalty" 0.5 "clip size bonus" 10 "fire rate bonus" 0.2 "maxammo secondary increased" 10 "reload time increased" 5 } } CustomWeapon { "Giant Scout" { OriginalItemName "Halloween Spellbook" "fire input on attack" "scout_count^Subtract^100" } } // ExtraLoadoutItems // { // Scout // { // Primary "The Hole Puncher" // Primary "M-90 Single Shot" // Secondary "Sting Cannon" // Secondary "Blackout Stout" // Secondary "Blessing of Hermes" // Melee "The Unseen One" // Melee "Sapman" // } // Soldier // { // Primary "Union's Retribution" // Primary "Fireworks Launcher" // Secondary "The Dumpster Diver" // } // Engineer // { // Primary "The Nightmare Slayer" // } // } //TODO //Fix bug where players respawn as giant //add a system to let players pick their weapon in titan form PointTemplates { Giants_But_Spells_Scout { OnSpawnOutput { Target !activator Action $GiveItem Param "Giant Scout" } //counting OnSpawnOutput { Target Scout_Titan Action Trigger } logic_relay { "targetname" "Scout_Titan" "spawnflags" "2" "ontrigger" "Scout_Format,$format,,0.01,-1" "ontrigger" "!self,trigger,,0.1,-1" } OnSpawnOutput { Target Scout_Format Action SetValue Param 0 } OnSpawnOutput { Target scout_count Action Add Param 1 Delay -1 } math_counter { "targetname" "scout_count" "max" "100" "onhitmax" "Scout_Format,$setkey$case16,Giant-Power Charge: %/100,2,-1" "outvalue" "Compare_Scout,setvaluecompare,,0,-1" "outvalue" "Scout_Format,$setkey$case01,,0,-1" "onhitmax" "!parent,$SetSpell,Invisibility,0,-1" "onhitmin" "scout_count,Subtract,100,0,-1" "onhitmin" "!activator,$removecond,64,1,-1" "onhitmin" "!activator,$AddPlayerAttribute,is miniboss|1,0,-1" "onhitmin" "!activator,$AddPlayerAttribute,use robot voice|1,0,-1" "onhitmin" "!activator,$AddPlayerAttribute,patient overheal penalty|0.00001,0,-1" "onhitmin" "!activator,$AddPlayerAttribute,health from packs decreased|0.5,0,-1" "onhitmin" "!activator,$AddPlayerAttribute,damage force reduction|0.5,0,-1" "onhitmin" "!activator,$AddPlayerAttribute,cannot pick up intelligence|1,0,-1" //exclu "onhitmin" "!activator,$AddPlayerAttribute,max health additive bonus|1475,0,-1" "onhitmin" "!activator,$AddPlayerAttribute,not solid to players|1,0,-1" } logic_compare { "targetname" "Compare_Scout" // compares things to display to the player "comparevalue" "0" "onequalto" "Scout_Format,$setkey$case16,Giant-Power Charge: %/100,0,-1" "ongreaterthan" "Scout_Format,$setkey$case16,Giant-Power Charge: %/100,-1" } logic_case { "targetname" "Scout_Format" "case16" "Giant-Power Charge: %/100" "ondefault" "Scout_Text,$setkey$message,,0,-1" "ondefault" "Scout_Text,display,0,0,-1" } game_text { "targetname" "Scout_Text" "color" "209 99 7" "holdtime" "2" "spawnflags" "0" "channel" "2" "x" "0.425" "y" "-0.70" } OnParentKilledOutput { Target spell_check_scout Action $cancelpending Delay -1 } } Giants_But_Spells_Soldier { OnSpawnOutput { Target "spell_check_soldier" Action trigger Delay 0.1 } logic_relay { "targetname" "spell_check_soldier" "spawnflags" "2" "ontrigger" "spell_casted_soldier,$testentity,@c@!parent,0,-1" "ontrigger" "!self,trigger,,0.1,-1" } $filter_sendprop // left swing anim { "targetname" "spell_casted_soldier" "$name" "m_nSequence" "$value" "53" "$compare" "equal" "onpass" "soldier_count,Subtract,100,0,-1" "onpass" "!activator,$removecond,64,1,-1" "OnPass" "!activator,$AddPlayerAttribute,is miniboss|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,use robot voice|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,patient overheal penalty|0.00001,0,-1" "OnPass" "!activator,$AddPlayerAttribute,health from packs decreased|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,damage force reduction|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,cannot pick up intelligence|1,0,-1" //exclu "OnPass" "!activator,$AddPlayerAttribute,max health additive bonus|3800,0,-1" "OnPass" "!activator,$AddPlayerAttribute,not solid to players|1,0,-1" } OnSpawnOutput { Target spell_casted_* Action TestActivator Param "!activator" } //counting OnSpawnOutput { Target Soldier_Titan Action Trigger } logic_relay { "targetname" "Soldier_Titan" "spawnflags" "2" "ontrigger" "Soldier_Format,$format,,0.01,-1" "ontrigger" "!self,trigger,,0.1,-1" } OnSpawnOutput { Target Soldier_Format Action SetValue Param 0 } math_counter { "targetname" "Soldier_count" "max" "100" "onhitmax" "Soldier_Format,$setkey$case16,Giant-Power Charge: %/100,2,-1" "outvalue" "Compare_Soldier,setvaluecompare,,0,-1" "outvalue" "Soldier_Format,$setkey$case01,,0,-1" "onhitmax" "!parent,$SetSpell,Invisibility,0,-1" } logic_compare { "targetname" "Compare_Soldier" // compares things to display to the player "comparevalue" "0" "onequalto" "Soldier_Format,$setkey$case16,Giant-Power Charge: %/100,0,-1" "ongreaterthan" "Soldier_Format,$setkey$case16,Giant-Power Charge: %/100,-1" } logic_case { "targetname" "Soldier_Format" "case16" "Giant-Power Charge: %/100" "ondefault" "Soldier_Text,$setkey$message,,0,-1" "ondefault" "Soldier_Text,display,0,0,-1" } game_text { "targetname" "Soldier_Text" "color" "209 99 7" "holdtime" "2" "spawnflags" "0" "channel" "2" "x" "0.425" "y" "-0.70" } OnParentKilledOutput { Target spell_casted_soldier Action Disable } OnSpawnOutput { Target spell_casted_soldier Action Enable Delay 1.5 } } Giants_But_Spells_Pyro { OnSpawnOutput { Target "spell_check_pyro" Action trigger Delay 0.1 } logic_relay { "targetname" "spell_check_pyro" "spawnflags" "2" "ontrigger" "spell_casted_pyro,$testentity,@c@!parent,0,-1" "ontrigger" "!self,trigger,,0.1,-1" } $filter_sendprop // left swing anim { "targetname" "spell_casted_pyro" "$name" "m_nSequence" "$value" "30" "$compare" "equal" "onpass" "pyro_count,Subtract,100,0,-1" "onpass" "!activator,$removecond,64,1,-1" "OnPass" "!activator,$AddPlayerAttribute,is miniboss|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,use robot voice|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,patient overheal penalty|0.00001,0,-1" "OnPass" "!activator,$AddPlayerAttribute,health from packs decreased|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,damage force reduction|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,cannot pick up intelligence|1,0,-1" //exclu "OnPass" "!activator,$AddPlayerAttribute,max health additive bonus|2825,0,-1" "OnPass" "!activator,$AddPlayerAttribute,not solid to players|1,0,-1" } OnSpawnOutput { Target spell_casted_* Action TestActivator Param "!activator" } //counting OnSpawnOutput { Target Pyro_Titan Action Trigger } logic_relay { "targetname" "Pyro_Titan" "spawnflags" "2" "ontrigger" "Pyro_Format,$format,,0.01,-1" "ontrigger" "!self,trigger,,0.1,-1" } OnSpawnOutput { Target Pyro_Format Action SetValue Param 0 } math_counter { "targetname" "Pyro_count" "max" "100" "onhitmax" "Pyro_Format,$setkey$case16,Giant-Power Charge: %/100,2,-1" "outvalue" "Compare_Pyro,setvaluecompare,,0,-1" "outvalue" "Pyro_Format,$setkey$case01,,0,-1" "onhitmax" "!parent,$SetSpell,Invisibility,0,-1" } logic_compare { "targetname" "Compare_Pyro" // compares things to display to the player "comparevalue" "0" "onequalto" "Pyro_Format,$setkey$case16,Giant-Power Charge: %/100,0,-1" "ongreaterthan" "Pyro_Format,$setkey$case16,Giant-Power Charge: %/100,-1" } logic_case { "targetname" "Pyro_Format" "case16" "Giant-Power Charge: %/100" "ondefault" "Pyro_Text,$setkey$message,,0,-1" "ondefault" "Pyro_Text,display,0,0,-1" } game_text { "targetname" "Pyro_Text" "color" "209 99 7" "holdtime" "2" "spawnflags" "0" "channel" "2" "x" "0.425" "y" "-0.70" } OnParentKilledOutput { Target spell_casted_pyro Action Disable } OnSpawnOutput { Target spell_casted_pyro Action Enable Delay 1.5 } } Giants_But_Spells_Demo { OnSpawnOutput { Target "spell_check_demo" Action trigger Delay 0.1 } logic_relay { "targetname" "spell_check_demo" "spawnflags" "2" "ontrigger" "spell_casted_demo,$testentity,@c@!parent,0,-1" "ontrigger" "!self,trigger,,0.1,-1" } $filter_sendprop // left swing anim { "targetname" "spell_casted_demo" "$name" "m_nSequence" "$value" "35" "$compare" "equal" "onpass" "demo_count,Subtract,100,0,-1" "onpass" "!activator,$removecond,64,1,-1" "OnPass" "!activator,$AddPlayerAttribute,is miniboss|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,use robot voice|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,patient overheal penalty|0.00001,0,-1" "OnPass" "!activator,$AddPlayerAttribute,health from packs decreased|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,damage force reduction|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,cannot pick up intelligence|1,0,-1" //exclu "OnPass" "!activator,$AddPlayerAttribute,max health additive bonus|2825,0,-1" "OnPass" "!activator,$AddPlayerAttribute,not solid to players|1,0,-1" } OnSpawnOutput { Target spell_casted_* Action TestActivator Param "!activator" } //counting OnSpawnOutput { Target Demo_Titan Action Trigger } logic_relay { "targetname" "Demo_Titan" "spawnflags" "2" "ontrigger" "Demo_Format,$format,,0.01,-1" "ontrigger" "!self,trigger,,0.1,-1" } OnSpawnOutput { Target Demo_Format Action SetValue Param 0 } math_counter { "targetname" "Demo_count" "max" "100" "onhitmax" "Demo_Format,$setkey$case16,Giant-Power Charge: %/100,2,-1" "outvalue" "Compare_Demo,setvaluecompare,,0,-1" "outvalue" "Demo_Format,$setkey$case01,,0,-1" "onhitmax" "!parent,$SetSpell,Invisibility,0,-1" } logic_compare { "targetname" "Compare_Demo" // compares things to display to the player "comparevalue" "0" "onequalto" "Demo_Format,$setkey$case16,Giant-Power Charge: %/100,0,-1" "ongreaterthan" "Demo_Format,$setkey$case16,Giant-Power Charge: %/100,-1" } logic_case { "targetname" "Demo_Format" "case16" "Giant-Power Charge: %/100" "ondefault" "Demo_Text,$setkey$message,,0,-1" "ondefault" "Demo_Text,display,0,0,-1" } game_text { "targetname" "Demo_Text" "color" "209 99 7" "holdtime" "2" "spawnflags" "0" "channel" "2" "x" "0.425" "y" "-0.70" } OnParentKilledOutput { Target spell_casted_demo Action Disable } OnSpawnOutput { Target spell_casted_demo Action Enable Delay 1.5 } } Giants_But_Spells_Heavy { OnSpawnOutput { Target "spell_check_heavy" Action trigger Delay 0.1 } logic_relay { "targetname" "spell_check_heavy" "spawnflags" "2" "ontrigger" "spell_casted_heavy,$testentity,@c@!parent,0,-1" "ontrigger" "!self,trigger,,0.1,-1" } $filter_sendprop // left swing anim { "targetname" "spell_casted_heavy" "$name" "m_nSequence" "$value" "32" "$compare" "equal" "onpass" "heavy_count,Subtract,100,0,-1" "onpass" "!activator,$removecond,64,1,-1" "OnPass" "!activator,$AddPlayerAttribute,is miniboss|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,use robot voice|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,patient overheal penalty|0.00001,0,-1" "OnPass" "!activator,$AddPlayerAttribute,health from packs decreased|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,damage force reduction|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,cannot pick up intelligence|1,0,-1" //exclu "OnPass" "!activator,$AddPlayerAttribute,max health additive bonus|4700,0,-1" "OnPass" "!activator,$AddPlayerAttribute,not solid to players|1,0,-1" } // OnSpawnOutput // { // Target spell_casted_heavy // Action $testentity // Param "@c@!parent" // } //counting OnSpawnOutput { Target Heavy_Titan Action Trigger } logic_relay { "targetname" "Heavy_Titan" "spawnflags" "2" "ontrigger" "Heavy_Format,$format,,0.01,-1" "ontrigger" "!self,trigger,,0.1,-1" } OnSpawnOutput { Target Heavy_Format Action SetValue Param 0 } math_counter { "targetname" "Heavy_count" "max" "100" "onhitmax" "Heavy_Format,$setkey$case16,Giant-Power Charge: %/100,2,-1" "outvalue" "Compare_Heavy,setvaluecompare,,0,-1" "outvalue" "Heavy_Format,$setkey$case01,,0,-1" "onhitmax" "!parent,$SetSpell,Invisibility,0,-1" } logic_compare { "targetname" "Compare_Heavy" // compares things to display to the player "comparevalue" "0" "onequalto" "Heavy_Format,$setkey$case16,Giant-Power Charge: %/100,0,-1" "ongreaterthan" "Heavy_Format,$setkey$case16,Giant-Power Charge: %/100,-1" } logic_case { "targetname" "Heavy_Format" "case16" "Giant-Power Charge: %/100" "ondefault" "Heavy_Text,$setkey$message,,0,-1" "ondefault" "Heavy_Text,display,0,0,-1" } game_text { "targetname" "Heavy_Text" "color" "209 99 7" "holdtime" "2" "spawnflags" "0" "channel" "2" "x" "0.425" "y" "-0.70" } OnParentKilledOutput { Target spell_casted_heavy Action Disable } OnSpawnOutput { Target spell_casted_heavy Action Enable Delay 1.5 } } Giants_But_Spells_Engi { OnSpawnOutput { Target "spell_check_Engie" Action trigger Delay 0.1 } logic_relay { "targetname" "spell_check_Engie" "spawnflags" "2" "ontrigger" "spell_casted_Engie,$testentity,@c@!parent,0,-1" "ontrigger" "!self,trigger,,0.1,-1" } $filter_sendprop // left swing anim { "targetname" "spell_casted_Engie" "$name" "m_nSequence" "$value" "53" "$compare" "equal" "onpass" "engi_count,Subtract,100,0,-1" "onpass" "!activator,$removecond,64,1,-1" "OnPass" "!activator,$AddPlayerAttribute,is miniboss|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,use robot voice|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,patient overheal penalty|0.00001,0,-1" "OnPass" "!activator,$AddPlayerAttribute,health from packs decreased|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,damage force reduction|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,cannot pick up intelligence|1,0,-1" //exclu "OnPass" "!activator,$AddPlayerAttribute,max health additive bonus|2875,0,-1" "OnPass" "!activator,$AddPlayerAttribute,not solid to players|1,0,-1" } OnSpawnOutput { Target spell_casted_* Action TestActivator Param "!activator" } //counting OnSpawnOutput { Target Engi_Titan Action Trigger } logic_relay { "targetname" "Engi_Titan" "spawnflags" "2" "ontrigger" "Engi_Format,$format,,0.01,-1" "ontrigger" "!self,trigger,,0.1,-1" } OnSpawnOutput { Target Engi_Format Action SetValue Param 0 } math_counter { "targetname" "Engi_count" "max" "100" "onhitmax" "Engi_Format,$setkey$case16,Giant-Power Charge: %/100,2,-1" "outvalue" "Compare_Engi,setvaluecompare,,0,-1" "outvalue" "Engi_Format,$setkey$case01,,0,-1" "onhitmax" "!parent,$SetSpell,Invisibility,0,-1" } logic_compare { "targetname" "Compare_Engi" // compares things to display to the player "comparevalue" "0" "onequalto" "Engi_Format,$setkey$case16,Giant-Power Charge: %/100,0,-1" "ongreaterthan" "Engi_Format,$setkey$case16,Giant-Power Charge: %/100,-1" } logic_case { "targetname" "Engi_Format" "case16" "Giant-Power Charge: %/100" "ondefault" "Engi_Text,$setkey$message,,0,-1" "ondefault" "Engi_Text,display,0,0,-1" } game_text { "targetname" "Engi_Text" "color" "209 99 7" "holdtime" "2" "spawnflags" "0" "channel" "2" "x" "0.425" "y" "-0.70" } OnParentKilledOutput { Target spell_casted_Engie Action Disable } OnSpawnOutput { Target spell_casted_Engie Action Enable Delay 1.5 } } Giants_But_Spells_Medic { OnSpawnOutput { Target "spell_check_Medic" Action trigger Delay 0.1 } logic_relay { "targetname" "spell_check_Medic" "spawnflags" "2" "ontrigger" "spell_casted_Medic,$testentity,@c@!parent,0,-1" "ontrigger" "!self,trigger,,0.1,-1" } $filter_sendprop // left swing anim { "targetname" "spell_casted_Medic" "$name" "m_nSequence" "$value" "24" "$compare" "equal" "onpass" "medic_count,Subtract,100,0,-1" "onpass" "!activator,$removecond,64,1,-1" "OnPass" "!activator,$AddPlayerAttribute,is miniboss|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,use robot voice|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,patient overheal penalty|0.00001,0,-1" "OnPass" "!activator,$AddPlayerAttribute,health from packs decreased|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,damage force reduction|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,cannot pick up intelligence|1,0,-1" //exclu "OnPass" "!activator,$AddPlayerAttribute,max health additive bonus|1850,0,-1" "OnPass" "!activator,$AddPlayerAttribute,not solid to players|1,0,-1" } OnSpawnOutput { Target spell_casted_* Action TestActivator Param "!activator" } //counting OnSpawnOutput { Target Medic_Titan Action Trigger } logic_relay { "targetname" "Medic_Titan" "spawnflags" "2" "ontrigger" "Medic_Format,$format,,0.01,-1" "ontrigger" "!self,trigger,,0.1,-1" } OnSpawnOutput { Target Medic_Format Action SetValue Param 0 } math_counter { "targetname" "Medic_count" "max" "100" "onhitmax" "Medic_Format,$setkey$case16,Giant-Power Charge: %/100,2,-1" "outvalue" "Compare_Medic,setvaluecompare,,0,-1" "outvalue" "Medic_Format,$setkey$case01,,0,-1" "onhitmax" "!parent,$SetSpell,Invisibility,0,-1" } logic_compare { "targetname" "Compare_Medic" // compares things to display to the player "comparevalue" "0" "onequalto" "Medic_Format,$setkey$case16,Giant-Power Charge: %/100,0,-1" "ongreaterthan" "Medic_Format,$setkey$case16,Giant-Power Charge: %/100,-1" } logic_case { "targetname" "Medic_Format" "case16" "Giant-Power Charge: %/100" "ondefault" "Medic_Text,$setkey$message,,0,-1" "ondefault" "Medic_Text,display,0,0,-1" } game_text { "targetname" "Medic_Text" "color" "209 99 7" "holdtime" "2" "spawnflags" "0" "channel" "2" "x" "0.425" "y" "-0.70" } OnParentKilledOutput { Target spell_casted_Medic Action Disable } OnSpawnOutput { Target spell_casted_Medic Action Enable Delay 1.5 } } Giants_But_Spells_Sniper { OnSpawnOutput { Target "spell_check_Sniper" Action trigger Delay 0.1 } logic_relay { "targetname" "spell_check_Sniper" "spawnflags" "2" "ontrigger" "spell_casted_Sniper,$testentity,@c@!parent,0,-1" "ontrigger" "!self,trigger,,0.1,-1" } $filter_sendprop // left swing anim { "targetname" "spell_casted_Sniper" "$name" "m_nSequence" "$value" "35" "$compare" "equal" "onpass" "sniper_count,Subtract,100,0,-1" "onpass" "!activator,$removecond,64,1,-1" "OnPass" "!activator,$AddPlayerAttribute,is miniboss|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,use robot voice|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,patient overheal penalty|0.00001,0,-1" "OnPass" "!activator,$AddPlayerAttribute,health from packs decreased|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,damage force reduction|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,cannot pick up intelligence|1,0,-1" //exclu "OnPass" "!activator,$AddPlayerAttribute,max health additive bonus|2875,0,-1" "OnPass" "!activator,$AddPlayerAttribute,not solid to players|1,0,-1" } OnSpawnOutput { Target spell_casted_* Action TestActivator Param "!activator" } //counting OnSpawnOutput { Target Sniper_Titan Action Trigger } logic_relay { "targetname" "Sniper_Titan" "spawnflags" "2" "ontrigger" "Sniper_Format,$format,,0.01,-1" "ontrigger" "!self,trigger,,0.1,-1" } OnSpawnOutput { Target Sniper_Format Action SetValue Param 0 } math_counter { "targetname" "Sniper_count" "max" "100" "onhitmax" "Sniper_Format,$setkey$case16,Giant-Power Charge: %/100,2,-1" "outvalue" "Compare_Sniper,setvaluecompare,,0,-1" "outvalue" "Sniper_Format,$setkey$case01,,0,-1" "onhitmax" "!parent,$SetSpell,Invisibility,0,-1" } logic_compare { "targetname" "Compare_Sniper" // compares things to display to the player "comparevalue" "0" "onequalto" "Sniper_Format,$setkey$case16,Giant-Power Charge: %/100,0,-1" "ongreaterthan" "Sniper_Format,$setkey$case16,Giant-Power Charge: %/100,-1" } logic_case { "targetname" "Sniper_Format" "case16" "Giant-Power Charge: %/100" "ondefault" "Sniper_Text,$setkey$message,,0,-1" "ondefault" "Sniper_Text,display,0,0,-1" } game_text { "targetname" "Sniper_Text" "color" "209 99 7" "holdtime" "2" "spawnflags" "0" "channel" "2" "x" "0.425" "y" "-0.70" } OnParentKilledOutput { Target spell_casted_Sniper Action Disable } OnSpawnOutput { Target spell_casted_Sniper Action Enable Delay 1.5 } } Giants_But_Spells_Spy { OnParentKilledOutput { Target spell_casted_Spy Action Disable } OnSpawnOutput { Target spell_casted_Spy Action Enable Delay 1.5 } OnSpawnOutput { Target "spell_check_Spy" Action trigger Delay 0.1 } logic_relay { "targetname" "spell_check_Spy" "spawnflags" "2" "ontrigger" "spell_casted_Spy,$testentity,@c@!parent,0,-1" "ontrigger" "!self,trigger,,0.1,-1" } $filter_sendprop // left swing anim { "targetname" "spell_casted_Spy" "$name" "m_nSequence" "$value" "52" "$compare" "equal" "onpass" "spy_count,Subtract,100,0,-1" "onpass" "!activator,$removecond,64,1,-1" "OnPass" "!activator,$AddPlayerAttribute,is miniboss|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,use robot voice|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,patient overheal penalty|0.00001,0,-1" "OnPass" "!activator,$AddPlayerAttribute,health from packs decreased|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,damage force reduction|0.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,cannot pick up intelligence|1,0,-1" //exclu "OnPass" "!activator,$AddPlayerAttribute,max health additive bonus|2875,0,-1" "OnPass" "!activator,$AddPlayerAttribute,not solid to players|1,0,-1" } OnSpawnOutput { Target spell_casted_* Action TestActivator Param "!activator" } //counting OnSpawnOutput { Target Spy_Titan Action Trigger } logic_relay { "targetname" "Spy_Titan" "spawnflags" "2" "ontrigger" "Spy_Format,$format,,0.01,-1" "ontrigger" "!self,trigger,,0.1,-1" } OnSpawnOutput { Target Spy_Format Action SetValue Param 0 } math_counter { "targetname" "Spy_count" "max" "100" "onhitmax" "Spy_Format,$setkey$case16,Giant-Power Charge: %/100,2,-1" "outvalue" "Compare_Spy,setvaluecompare,,0,-1" "outvalue" "Spy_Format,$setkey$case01,,0,-1" "onhitmax" "!parent,$SetSpell,Invisibility,0,-1" } logic_compare { "targetname" "Compare_Spy" // compares things to display to the player "comparevalue" "0" "onequalto" "Spy_Format,$setkey$case16,Giant-Power Charge: %/100,0,-1" "ongreaterthan" "Spy_Format,$setkey$case16,Giant-Power Charge: %/100,-1" } logic_case { "targetname" "Spy_Format" "case16" "Giant-Power Charge: %/100" "ondefault" "Spy_Text,$setkey$message,,0,-1" "ondefault" "Spy_Text,display,0,0,-1" } game_text { "targetname" "Spy_Text" "color" "209 99 7" "holdtime" "2" "spawnflags" "0" "channel" "2" "x" "0.425" "y" "-0.70" } } MenuTutorial { OnSpawnOutput { Target "menutest" Action "$DisplayMenu" Delay 1 Param "!activator" } logic_auto { "OnMapSpawn" "func_upgradestation,AddOutput,OnStartTouch menutest:$DisplayMenu:!activator:0.25:-1,0,-1" } logic_case { "targetname" "menutest" "case16" "Press the number on your keyboard to use the following options|0|Cancel" "case01" "How to use your Titan" "oncase01" "!activator,$DisplayTextCenter,!!! When the meter is full call your Titan by using your action key! (+use_action_slot_item) !!!,0,-1" "oncase01" "!activator,$DisplayTextCenter,!!! You cannot swap weapons while in Titan form. !!!,5,-1" "oncase01" "!activator,$DisplayTextCenter,!!! Titan form lasts for 60 seconds, until death or the wave ends. !!!,10,-1" "oncase01" "!activator,$DisplayTextCenter,!!! Titans replace canteens. !!!,15,-1" "oncase01" "!activator,$DisplayTextCenter,!!! To charge your Titan simply kill robots. !!!,20,-1" //"oncase01" "!activator,$DisplayTextCenter,!!! Mann Co. has adjusted affected weapons to help finish off robots! !!!,25,-1" "oncase01" "!activator,$DisplayTextCenter,Touch the upgrade station to bring the menu up again,30,-1" "oncase01" "is_spy_text,$testentity,!parent,30,-1" "ondefault" "!activator,$DisplayTextCenter,Touch the upgrade station to bring the menu up again,0,-1" // No option selected } filter_tf_class { "Negated" "0" "targetname" "is_spy_text" "tfclass" "8" "onpass" "!activator,$DisplayTextCenter,!!! As the Spy you're revolver will charge your Titan. !!!,5,-1" } //applying the attributes OnSpawnOutput { Target player_class_attrib* Action $testentity Param !parent } filter_tf_class { "Negated" "0" "targetname" "player_class_attrib_scout" "tfclass" "1" "onpass" "!activator,$AddItemAttribute,fire input on kill|scout_count^add^10|2,0,-1" "onpass" "!activator,$AddItemAttribute,fire input on kill|scout_count^add^10|1,0,-1" } } } ForceItem "Halloween Spellbook" // PlayerSpawnTemplate // { // Name MenuTutorial // } // PlayerSpawnTemplate // { // Name Giants_But_Spells_Scout // Class Scout // } // PlayerSpawnTemplate // { // Name Giants_But_Spells_Soldier // Class Soldier // } // PlayerSpawnTemplate // { // Name Giants_But_Spells_Pyro // Class Pyro // } // PlayerSpawnTemplate // { // Name Giants_But_Spells_Demo // Class Demoman // } // PlayerSpawnTemplate // { // Name Giants_But_Spells_Heavy // Class Heavyweapons // } // PlayerSpawnTemplate // { // Name Giants_But_Spells_Engi // Class Engineer // } // PlayerSpawnTemplate // { // Name Giants_But_Spells_Medic // Class Medic // } // PlayerSpawnTemplate // { // Name Giants_But_Spells_Sniper // Class Sniper // } // PlayerSpawnTemplate // { // Name Giants_But_Spells_Spy // Class Spy // } // PlayerAttributes // { // Scout // { // "fire input on hit" "scout_count^Add^0.345" // "fire input on Kill" "scout_count^Add^1" // "fire input on hit name restrict" "player" // "fire input on kill name restrict" "player" // } // Soldier // { // "fire input on hit" "soldier_count^Add^0.6" // "fire input on Kill" "soldier_count^Add^1" // "fire input on hit name restrict" "player" // "fire input on kill name restrict" "player" // } // Pyro // { // "fire input on hit" "pyro_count^Add^0.15" // "fire input on Kill" "pyro_count^Add^0.65" // "fire input on hit name restrict" "player" // "fire input on kill name restrict" "player" // } // Demoman // { // "fire input on hit" "demo_count^Add^0.5" // "fire input on Kill" "demo_count^Add^1" // "fire input on hit name restrict" "player" // "fire input on kill name restrict" "player" // } // Heavyweapons // { // "fire input on hit" "heavy_count^Add^0.09" // "fire input on Kill" "demo_count^Add^0.25" // "fire input on hit name restrict" "player" // "fire input on kill name restrict" "player" // } // Engineer // { // "fire input on hit" "engi_count^Add^0.03" // "fire input on Kill" "engi_count^Add^0.09" // "fire input on hit name restrict" "player" // "fire input on kill name restrict" "player" // } // Medic // { // "fire input on hit" "medic_count^Add^1" // "fire input on Kill" "medic_count^Add^10" // "fire input on hit name restrict" "player" // "fire input on kill name restrict" "player" // } // Sniper // { // "fire input on hit" "sniper_count^Add^0.05" // "fire input on Kill" "sniper_count^Add^0.654" // "fire input on hit name restrict" "player" // "fire input on kill name restrict" "player" // } // Spy // { // "fire input on hit" "spy_count^Add^0.5" // "fire input on Kill" "spy_count^Add^0.5" // "fire input on hit name restrict" "player" // "fire input on kill name restrict" "player" // } // } // MISSION: Sentry Buster Mission { Objective DestroySentries Where spawnbot CooldownTime 30 TFBot { Template T_TFBot_SentryBuster } } // MISSION: Sniper 01 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 30 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper } } // MISSION: Sniper 02 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 2 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 20 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Razorback } } // MISSION: Sniper 03 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 20 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Razorback } } // MISSION: Sniper 05 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 5 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 20 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper } } // MISSION: Spy 01 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 45 InitialCooldown 45 DesiredCount 3 TFBot { Template T_TFBot_Spy } } // MISSION: Spy 02 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 2 RunForThisManyWaves 1 CooldownTime 90 InitialCooldown 30 DesiredCount 2 TFBot { Template T_TFBot_Spy } } // MISSION: Spy 04 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 4 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 5 DesiredCount 3 TFBot { Template T_TFBot_Spy } } // MISSION: Spy 05 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 5 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 30 DesiredCount 2 TFBot { Template T_TFBot_Spy } } // WAVE 01 900 Wave { Checkpoint Yes StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } WaveSpawn { Name "red" Where red_spawn TotalCount 999 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 4 HideIcon 1 Support 1 TotalCurrency 0 RandomChoice { // TFBot // { // Template T_TFBot_Demoman // Action Mobber // Attributes DisableDodge // AddCond // { // Index 43 // } // AddCond // { // Index 57 // Duration 1.5 // } // CharacterAttributes // { // "collect currency on kill" 1 // } // } // TFBot // { // Template T_TFBot_Pyro_Fix // Action Mobber // Attributes DisableDodge // AddCond // { // Index 43 // } // AddCond // { // Index 57 // Duration 1.5 // } // CharacterAttributes // { // "collect currency on kill" 1 // } // } // TFBot // { // Class Heavyweapons // Skill Hard // Action Mobber // Attributes DisableDodge // AddCond // { // Index 43 // } // AddCond // { // Index 57 // Duration 1.5 // } // CharacterAttributes // { // "collect currency on kill" 1 // } // } // TFBot // { // Class Soldier // Skill Hard // Action Mobber // Attributes DisableDodge // AddCond // { // Index 43 // } // AddCond // { // Index 57 // Duration 1.5 // } // CharacterAttributes // { // "collect currency on kill" 1 // } // } TFBot { Template T_TFBot_Medic Skill Hard Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } } } WaveSpawn { TotalCurrency 200 Name "stage1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 12 SpawnCount 2 MaxActive 10 WaitBetweenSpawns 20 WaitBeforeStarting 5 TFBot { Template T_TFBot_Pyro Skill Hard } } WaveSpawn { TotalCurrency 700 Name "stage1" Where spawnbot RandomSpawn 1 TotalCount 35 SpawnCount 5 MaxActive 15 WaitBetweenSpawns 18 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Demo_RapidFire } TFBot { Template T_TFBot_Heavyweapons_Fist } TFBot { Template T_TFBot_Heavyweapons_Fist } TFBot { Template T_TFBot_Heavyweapons_Fist } TFBot { Template T_TFBot_Heavyweapons_Fist } } } } // WAVE 02 900 Wave { Checkpoint Yes StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } WaveSpawn { Name "red" Where red_spawn TotalCount 999 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 4 HideIcon 1 Support 1 TotalCurrency 0 RandomChoice { TFBot { Template T_TFBot_Demoman Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Template T_TFBot_Pyro_Fix Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Heavyweapons Skill Hard Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Soldier Skill Hard Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Scout Skill Hard Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } } } WaveSpawn // Crit Scout Invasion { TotalCurrency 200 Name "stage1" Where spawnbot RandomSpawn 1 TotalCount 48 SpawnCount 12 MaxActive 16 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Scout_Melee Skill Expert Attributes AlwaysCrit } } WaveSpawn // Crit Scout Invasion Center { TotalCurrency 200 Name "stage1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 24 SpawnCount 6 MaxActive 8 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Scout_Melee Skill Expert Attributes AlwaysCrit } } WaveSpawn // Crit Scout Invasion Escalation { TotalCurrency 200 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 32 SpawnCount 16 MaxActive 16 WaitBetweenSpawns 10 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Scout_Melee Skill Expert Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic_QuickFix } } } WaveSpawn // Crit Scout Invasion Center Escalation { TotalCurrency 200 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 24 SpawnCount 6 MaxActive 8 WaitBetweenSpawns 10 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Scout_Melee Skill Expert Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic_QuickFix } } } WaveSpawn { TotalCurrency 100 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot RandomSpawn 1 TotalCount 8 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 10 WaitBeforeStarting 10 TFBot { Template T_TFBot_Giant_Soldier_Crit } } } // WAVE 03 900 Wave { Checkpoint Yes StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } WaveSpawn { Name "red" Where red_spawn TotalCount 999 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 4 HideIcon 1 Support 1 TotalCurrency 0 RandomChoice { TFBot { Template T_TFBot_Demoman Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Template T_TFBot_Pyro_Fix Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Heavyweapons Skill Hard Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Soldier Skill Hard Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Scout Skill Hard Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } } } WaveSpawn { TotalCurrency 100 Name "stage1" Where spawnbot RandomSpawn 1 TotalCount 6 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { TotalCurrency 200 TotalCount 1 WaitForAllSpawned "stage1" Tank { Health 12000 Speed 75 Name "tankboss_left" StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 200 TotalCount 1 WaitForAllSpawned "stage1" Tank { Health 12000 Speed 75 Name "tankboss_right" StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 100 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot TotalCount 20 SpawnCount 4 MaxActive 16 WaitBetweenSpawns 10 WaitBeforeStarting 15 TFBot { Class Soldier Skill Hard WeaponRestrictions PrimaryOnly } } WaveSpawn // Pyro { TotalCurrency 100 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot TotalCount 20 SpawnCount 4 MaxActive 4 WaitBetweenSpawns 15 WaitBeforeStarting 20 TFBot { Class Pyro Skill Hard WeaponRestrictions PrimaryOnly } } WaveSpawn { TotalCurrency 100 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot RandomSpawn 1 TotalCount 6 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 10 WaitBeforeStarting 20 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { //TotalCurrency 100 Name "stage3" WaitForAllSpawned "stage2" Support 1 // fix the timing issue so these don't just end mid way Where spawnbot TotalCount 36 SpawnCount 6 MaxActive 10 WaitBetweenSpawns 15 WaitBeforeStarting 20 TFBot { Template T_TFBot_Scout_Melee } } WaveSpawn { TotalCurrency 100 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot RandomSpawn 1 TotalCount 32 SpawnCount 8 MaxActive 8 WaitBetweenSpawns 20 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } } } } // WAVE 04 900 Wave { Checkpoint Yes StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } WaveSpawn { Name "red" Where red_spawn TotalCount 999 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 4 HideIcon 1 Support 1 TotalCurrency 0 RandomChoice { TFBot { Template T_TFBot_Demoman Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Template T_TFBot_Pyro_Fix Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Heavyweapons Skill Hard Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Soldier Skill Hard Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Scout Skill Hard Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } } } WaveSpawn { TotalCurrency 200 Name "stage1" Where spawnbot_left TotalCount 8 SpawnCount 8 MaxActive 8 WaitBetweenSpawns 0 WaitBeforeStarting 0 TFBot { Template T_TFBot_Heavyweapons_Deflector } } WaveSpawn { TotalCurrency 50 Name "stage1" Where spawnbot_right TotalCount 8 SpawnCount 8 MaxActive 8 WaitBetweenSpawns 0 WaitBeforeStarting 0 TFBot { Template T_TFBot_Demoman Skill Hard } } WaveSpawn { TotalCurrency 50 Name "stage1" Where spawnbot RandomSpawn 1 TotalCount 4 SpawnCount 2 MaxActive 2 WaitBetweenSpawns 20 WaitBeforeStarting 5 TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon } } WaveSpawn { TotalCurrency 50 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot_left TotalCount 24 SpawnCount 8 MaxActive 8 WaitBetweenSpawns 10 WaitBeforeStarting 15 TFBot { Template T_TFBot_Demoman } } WaveSpawn { TotalCurrency 200 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot_right TotalCount 30 SpawnCount 10 MaxActive 12 WaitBetweenSpawns 10 WaitBeforeStarting 15 TFBot { Template T_TFBot_Heavyweapons_Deflector } } WaveSpawn { TotalCurrency 50 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot TotalCount 24 SpawnCount 8 MaxActive 22 WaitBetweenSpawns 20 WaitBeforeStarting 30 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { TotalCurrency 100 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot TotalCount 6 SpawnCount 1 MaxActive 3 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Demo_RapidFire } } WaveSpawn { TotalCurrency 100 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot TotalCount 2 SpawnCount 2 MaxActive 2 //WaitBetweenSpawns 0 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon } } // Final Push WaveSpawn { TotalCurrency 100 Name "stage4" WaitForAllSpawned "stage3" Where spawnbot TotalCount 20 SpawnCount 4 MaxActive 8 WaitBetweenSpawns 5 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Demo_RapidFire } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { TotalCurrency 50 Name "stage4" WaitForAllSpawned "stage3" Where spawnbot TotalCount 12 SpawnCount 3 MaxActive 6 WaitBetweenSpawns 15 WaitBeforeStarting 10 TFBot { Template T_TFBot_Pyro Skill Hard } } WaveSpawn { TotalCurrency 50 Name "stage4" WaitForAllSpawned "stage3" Where spawnbot TotalCount 30 SpawnCount 10 MaxActive 18 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Class Soldier Skill Hard WeaponRestrictions PrimaryOnly } } } // WAVE 05 900 Wave { Checkpoint Yes StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } WaveSpawn { Name "red" Where red_spawn TotalCount 999 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 4 HideIcon 1 Support 1 TotalCurrency 0 RandomChoice { TFBot { Template T_TFBot_Demoman Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Template T_TFBot_Pyro_Fix Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Heavyweapons Skill Hard Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Soldier Skill Hard Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Scout Skill Hard Action Mobber Attributes DisableDodge AddCond { Index 43 } AddCond { Index 57 Duration 1.5 } CharacterAttributes { "collect currency on kill" 1 } } } } WaveSpawn { TotalCurrency 200 Name "stage1" Where spawnbot_left TotalCount 8 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 30 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { TotalCurrency 200 Name "stage1" Where spawnbot_right TotalCount 8 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 30 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { TotalCurrency 100 Name "stage1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 30 SpawnCount 5 MaxActive 10 WaitBetweenSpawns 20 WaitBeforeStarting 3 Squad { TFBot { Template T_TFBot_Pyro Attributes AlwaysFireWeapon } TFBot { Template T_TFBot_Pyro } TFBot { Template T_TFBot_Pyro } TFBot { Template T_TFBot_Pyro } TFBot { Template T_TFBot_Pyro } } } WaveSpawn { TotalCurrency 50 TotalCount 1 WaitForAllSpawned "stage1" Tank { Health 20000 Speed 75 Name "tankboss_left" StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 100 TotalCount 1 WaitForAllSpawned "stage1" Tank { Health 20000 Speed 75 Name "tankboss_right" StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 100 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot_left TotalCount 25 SpawnCount 5 MaxActive 16 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Heavyweapons_Deflector } } // Final Push WaveSpawn { TotalCurrency 50 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 30 SpawnCount 4 MaxActive 10 WaitBetweenSpawns 20 WaitBeforeStarting 5 TFBot { Template T_TFBot_Pyro Skill Expert } } WaveSpawn { //TotalCurrency 0 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot RandomSpawn 1 TotalCount 8 SpawnCount 1 MaxActive 6 WaitBetweenSpawns 15 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Demo_RapidFire } } WaveSpawn { //TotalCurrency 0 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot RandomSpawn 1 TotalCount 20 SpawnCount 4 MaxActive 12 WaitBetweenSpawns 15 WaitBeforeStarting 0 TFBot { Template T_TFBot_Heavyweapons_Fist } } WaveSpawn { TotalCurrency 50 Name "stage4" WaitForAllSpawned "stage3" Where spawnbot TotalCount 45 SpawnCount 15 MaxActive 18 //WaitBetweenSpawns 0 WaitBeforeStarting 0 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { TotalCurrency 50 TotalCount 1 WaitForAllSpawned "stage3" Tank { Health 20000 Speed 75 Name "tankboss_left" Skin 1 StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 50 TotalCount 1 WaitForAllSpawned "stage3" Tank { Health 20000 Speed 75 Name "tankboss_right" Skin 1 StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } }