WaveSchedule { WaveStartCountdown 2 ReverseWinConditions 1 AllowJoinTeamBlueMax 6 AllowJoinTeamBlue 1 HumansMustJoinTeam Blue SetCreditTeam 3 SniperAllowHeadshots 1 //sniper and amby un-exist without this ImprovedAirblast 1 SendBotsToSpectatorImmediately 1 //keeps the populator less clogged, bot projectiles vanish on death + causes weird killcams RobotLimit 27 //going higher will eat player slots BluHumanInfiniteAmmo 1 FlagCarrierMovementPenalty 1 // (default: 0.5) BluHumanFlagCapture 1 BluHumanFlagPickup 1 BluPlayersAreRobots 1 StartingCurrency 30000 RespawnWaveTime 1 CanBotsAttackWhileInSpawnRoom Yes FixedRespawnWaveTime Yes //Debug Wave /////////////////////////////////////////////////////////////////////////////////////////////////////// Wave { WaveSpawn { Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Name "dummy" Class Heavyweapons Skill Easy Health 50000 // Attributes SuppressFire CharacterAttributes { "damage bonus" "0.05" "health regen" "500" } AddCond { Name "TF_COND_REPROGRAMMED" Delay 3 // Delay before the condition activates (Default: 0) } } } } Wave { WaveSpawn { WaitBeforeStarting 5 } } Wave { WaveSpawn { WaitBeforeStarting 5 } } ////////////////////////// // Weapons and items // //////////////////////// PlayerItemEquipSpawnTemplate { Name "equip_heavys_rage" ItemName "The Pocket Protector" } CustomWeapon { "The Pocket Protector" { OriginalItemName "Upgradeable TF_WEAPON_MINIGUN" "special item description" "Personal shields for Heavys everywhere!" "generate rage on damage" 2 } } ///////////// /// Equip /// ///////////// ForceItem "The Pocket Protector" PointTemplates { ///////////// /// Heavy /// ///////////// equip_heavys_rage { //Debug stuff OnSpawnOutput { Target "!activator" Action "$SetProp$m_flRageMeter" Param "100" } // Needs to be parented to a func_brush so shield follows Heavy's first person view, instead of Heavy's model angles OnSpawnOutput { Target "medishield_brush" Action "SetParent" Param "!activator" Delay 1 } func_brush { "targetname" "medishield_brush" "mins" "-5 -5 -5" "maxs" "5 5 5" "Solidity" "1" } entity_medigun_shield { "targetname" "medishield" "parentname" "medishield_brush" "teamnum" "3" "spawnflags" "1" //DEBUG CHANGE BACK TO 1 IF NEEDED "modelscale" "0" "origin" "72 0 40" "skin" "1" } // Detection $filter_sendprop { "targetname" "rafmod_filter_heavys_rage_is_draining" "$name" "m_bRageDraining" "$value" "1" "$compare" "equal" } trigger_multiple { "targetname" "rafmod_trigger_heavys_rage_ready" "filtername" "rafmod_filter_heavys_rage_is_draining" "mins" "-5 -5 -5" "maxs" "5 5 5" "spawnflags" "1" "wait" "0.1" // Enables detection if rage stops being active, and disables self "OnTrigger" "rafmod_trigger_heavys_rage_finished,Enable,,0,-1" "OnTrigger" "!self,Disable,,0,-1" // Modifies attributes of player after rage is active "OnTrigger" "!activator,$AddPlayerAttribute,damage penalty|2,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,slow enemy on hit|1,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,add cond on hit|21,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,add cond on hit duration|0.1,0,-1" // Changes medishield properties "OnTrigger" "medishield,SetModelScale,0.5 0.5,0,-1" "OnTrigger" "medishield,$SetKey$spawnflags,0,0,-1" } $filter_sendprop { "targetname" "rafmod_filter_heavys_rage_is_not_draining" "$name" "m_bRageDraining" "$value" "0" "$compare" "equal" } trigger_multiple { "targetname" "rafmod_trigger_heavys_rage_finished" "filtername" "rafmod_filter_heavys_rage_is_not_draining" "mins" "-5 -5 -5" "maxs" "5 5 5" "spawnflags" "1" "wait" "0.1" // Enables detection if rage becomes active again, and disables self "OnTrigger" "rafmod_trigger_heavys_rage_ready,Enable,,0,-1" "OnTrigger" "!self,Disable,,0,-1" // Modifies attributes of player after rage has finished "OnTrigger" "!activator,$AddPlayerAttribute,damage penalty|1,0,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,slow enemy on hit,0,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,add cond on hit,0,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,add cond on hit duration,0,-1" // Changes medishield properties after rage has finished "OnTrigger" "medishield,SetModelScale,0 0.5,0,-1" "OnTrigger" "medishield,$SetKey$spawnflags,1,0,-1" } } } }