#base robot_standard.pop #base robot_giant.pop waveschedule { StartingCurrency 30000 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 1 FixedRespawnWaveTime 1 WaveStartCountdown 1 ExtendedUpgrades { shield { Name "name" Description "description" Attribute "counts as assister is some kind of pet this update is going to be awesome" Cap 3 Increment 1 Cost 1 AllowedWeapons { ClassName "TF_WEARABLE_DEMOSHIELD" } DisallowedWeapons { ItemName DemoShieldComicallySmall ItemName DemoShieldLvl1 ItemName DemoShieldLvl2 } OnApply { //upgrade bought -> apply //switch weapon -> apply Output "!activator,RunScriptFile,demomanm2shield.nut,0" Output "!activator,$VScriptFunc$UpgradeCheck,,0" } OnDowngrade { Output "!activator,RunScriptCode,RemoveUpgrade(),0" } OnRestore { //this kills thinks in certain situations where OnDowngrade doesn't work Output "!activator,$VScriptFunc$UpgradeCheck,,0" } } } CustomWeapon { DemoShieldComicallySmall { OriginalItemName "The Chargin' Targe" "special item description" "description" } DemoShieldLvl1 { OriginalItemName "The Chargin' Targe" "special item description" "description" } DemoShieldLvl2 { OriginalItemName "The Chargin' Targe" "special item description" "description" } } ExtraLoadoutItems { Demoman { Secondary "DemoShieldComicallySmall" Secondary "DemoShieldLvl1" Secondary "DemoShieldLvl2" } } PointTemplates { ComicallySmallEquip { OnSpawnOutput { //these two blocks are in each pt Target "!activator" Action "RunScriptFile" Param "demomanm2shield.nut" } OnParentKilledOutput { Target "!activator" Action "RunScriptCode" Param "RemoveUpgrade()" } OnSpawnOutput { Target "!activator" Action "RunScriptCode" Param "UpgradeCheck(1)" Delay 0.1 } } Lvl1Equip { OnSpawnOutput { Target "!activator" Action "RunScriptFile" Param "demomanm2shield.nut" } OnParentKilledOutput { Target "!activator" Action "RunScriptCode" Param "RemoveUpgrade()" } OnSpawnOutput { Target "!activator" Action "RunScriptCode" Param "UpgradeCheck(2)" Delay 0.1 } } Lvl2Equip { OnSpawnOutput { Target "!activator" Action "RunScriptFile" Param "demomanm2shield.nut" } OnParentKilledOutput { Target "!activator" Action "RunScriptCode" Param "RemoveUpgrade()" } OnSpawnOutput { Target "!activator" Action "RunScriptCode" Param "UpgradeCheck(3)" Delay 0.1 } } } PlayerItemEquipSpawnTemplate { ItemName "DemoShieldComicallySmall" Name ComicallySmallEquip } PlayerItemEquipSpawnTemplate { ItemName "DemoShieldLvl1" Name Lvl1Equip } PlayerItemEquipSpawnTemplate { ItemName "DemoShieldLvl2" Name Lvl2Equip } wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } wavespawn { Where spawnbot totalcount 1 spawncount 1 maxactive 1 tfbot { template T_TFBot_Giant_DemoMan_PrinceTavish SpawnTemplate ComicallySmallEquip action mobber } } wavespawn { Where spawnbot totalcount 1 spawncount 1 maxactive 1 tfbot { template T_TFBot_Demoman_Samurai action mobber FireInput { Target "!activator" Action "RunScriptFile" Param "demomanm2shield.nut" Delay 0 Repeats 1 } FireInput { Target "!activator" Action "RunScriptCode" Param "UpgradeCheck(3)" Delay 0.1 Repeats 1 } FireInput { Target "!activator" Action "RunScriptCode" Param "SetTerminateOnDeath(true)" Delay 0.1 Repeats 1 } } } wavespawn { Where spawnbot totalcount 1 spawncount 1 maxactive 1 tfbot { template T_TFBot_Demoman_Knight SpawnTemplate Lvl1Equip action mobber } } } }