WaveSchedule { LuaScriptFile "scripts/projectile_shield_damage.lua" PointTemplates { filters_mini { NoFixup 1 filter_activator_class { "targetname" "filter_sentrygun" "filterclass" "obj_sentrygun" } } test_mini { OnSpawnOutput { Target "triggerrefresh" Action Open } OnSpawnOutput { Target "convertmini" Action SetParent Param "!activator" } func_door { "targetname" "triggerrefresh" "rendermode" "10" "spawnflags" "4108" "speed" "1" "wait" "0.01" "onfullyclosed" "!self,open,,0,-1" } trigger_multiple { "targetname" "sentryDetect" "parentname" "triggerrefresh" "mins" "-96 -96 -96" "maxs" "96 96 96" "filtername" "filter_sentrygun" "spawnflags" "64" "onstarttouch" "convertmini,SetValueCompare,$$=?(!activator.m_bMiniBuilding == 1 && !activator.m_nSolidType > 0,1,0),0,-1" } logic_compare { "targetname" "convertmini" "comparevalue" "1" "onequalto" "!activator,SetParent,droneLocation,0.1,-1" "onequalto" "!activator,SetParentAttachment,head,0.15,-1" "onequalto" "!activator,$SetProp$m_iAmmoShells,99999999,0,-1" //gives them tons of ammo "onequalto" "!activator,$SetProp$m_iAmmoShells,99999999,5,-1" //gives them tons of ammo "onequalto" "!activator,$SetProp$m_nSolidType,0,0,-1" //stops them blocking the player, also used to detect if mini has been turned into a drone "onequalto" "!activator,$SetModelOverride,models/rcat/rcat_level2.mdl,0,-1" // sets model | make sure to precache "onequalto" "!activator,$SetProp$m_nSkin,1,0,-1" } prop_dynamic { "targetname" "droneLocation" // invisible engineer doomed to carry the drone for all eternity "model" "models/player/engineer.mdl" "origin" "40 -50 15" "disableshadows" "1" "rendermode" "9" "renderamt" "0" } } SkeletonSniper { OnSpawnOutput { Target skeletonify Action Trigger Delay 0.01 } OnParentKilledOutput { Target "!activator" Action "SetCustomModel" Param "" Delay 0 } logic_relay { "targetname" "skeletonify" "OnTrigger" "!activator,SetCustomModel,models/bots/skeleton_sniper/skeleton_sniper.mdl,0.11,-1" "OnTrigger" "!activator,$AddPlayerAttribute,move speed penalty|1.25|2,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,gesture speed increase|1.5|2,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,damage force increase hidden|1.2|2,0,-1" "OnTrigger" "!activator,$AddItemAttribute,dmg taken from bullets increased|0.5|2,0.11,-1" "OnTrigger" "!activator,$AddItemAttribute,dmg taken from fire increased|0.5|2,0.11,-1" "OnTrigger" "!activator,$AddItemAttribute,dmg taken from melee increased|2|2,0.11,-1" "OnTrigger" "!activator,$AddItemAttribute,is invisible|1|2,0.11,-1" } } RotateShieldLvL1 { OnSpawnOutput { Target "rotate" Action "Start" } OnSpawnOutput { Target "rotate" Action "Start" } OnSpawnOutput { Target "rotate_position" Action "Trigger" } OnSpawnOutput { Target "rotate" Action "SetParent" Param "" } OnSpawnOutput { Target "popscript" Action "$registerShieldLvl1" param "projectile_shield" Delay 0.1 } logic_relay { "targetname" "rotate_position" "spawnflags" "2" "OnTrigger" "rotate,$TeleportToEntity,!activator,0,-1" "OnTrigger" "!self,Trigger,,0.01,-1" } entity_medigun_shield { "parentname" "rotate" "targetname" "projectile_shield" "origin" "150 0 0" "spawnflags" "1" "teamnum" "3" "skin" "1" } func_rotating { "targetname" "rotate" "origin" "0 0 0" "mins" "-0.1 -0.1 -0.1" "maxs" "0.1 0.1 0.1" "dmg" "0" "fanfriction" "100" "maxspeed" "60" "spawnflags" "64" "volume" "0" } } Rage_Replacement // by royal { OnSpawnOutput { Target "filter_rage_activated" Action "FireUser1" Delay 0 } OnSpawnOutput { Target "!activator" Action "$AddItemAttribute" Param "increase buff duration HIDDEN|50|1" Delay 0 } OnParentKilledOutput { Target "!activator" Action "$ResetClientProp$m_bRageDraining" Delay 0.1 } OnParentKilledOutput { Target "!activator" Action "$ResetClientProp$m_flRageMeter" Delay 0.1 } //check when rage was activated by player $filter_sendprop { "targetname" "filter_rage_activated" "$name" "m_bRageDraining" "$value" "1" "$compare" "equal" "Negated" "0" "OnPass" "rage_activated,Trigger,,0,-1" //"OnPass" "player,$DisplayTextChat,activated,0,-1" "OnUser1" "!self,TestActivator,,0,-1" "OnUser1" "!self,FireUser1,,0.1,-1" } // env_entity_maker // { // "targetname" "heavy_dispenser_maker" // "entitytemplate" "heavy_dispenser_template" // } logic_relay { "targetname" "rage_activated" "spawnflags" "2" "OnTrigger" "!activator,$SetClientProp$m_bRageDraining,1,0,-1" "OnTrigger" "!activator,$SetProp$m_bRageDraining,0,0,-1" //effect //"OnTrigger" "heavy_dispenser_trigger,Enable,,0,-1" "OnTrigger" "!activator,$AddCond,55,0,-1" // "OnTrigger" "heavy_dispenser_maker,ForceSpawnAtEntityOrigin,!activator,0,-1" // "OnTrigger" "cart_dispenser,FireUser1,,0,-1" // "OnTrigger" "cart_dispenser,SetParent,!activator,0.01,-1" // "OnTrigger" "heavy_dispenser_trigger,SetParent,!activator,0.01,-1" // "OnTrigger" "cart_dispenser,SetParentAttachment,flag,0.02,-1" // "OnTrigger" "heavy_dispenser_trigger,SetParentAttachment,flag,0.02,-1" "OnTrigger" "rage_meter,SetValueNoFire,$$=!activator.m_flRageMeter,0,-1" "OnTrigger" "rage_meter_drain,FireUser1,,0.01,-1" } logic_relay { "targetname" "rage_meter_drain" "spawnflags" "2" "OnUser1" "rage_meter,FireUser1,,0,-1" "OnUser1" "!self,FireUser1,,0.1,-1" //interval } math_counter { "targetname" "rage_meter" "startvalue" "0" "min" "0" "max" "100" "OnHitMin" "rage_meter_drain,$CancelPending,,0,0" //effect remove // "OnHitMin" "cart_dispenser,Kill,,0,-1" // "OnHitMin" "heavy_dispenser_trigger,Kill,,0,-1" "OnHitMin" "!activator,$RemoveCond,55,0,-1" "OnHitMin" "!activator,$ResetClientProp$m_bRageDraining,0,0,-1" "OnHitMin" "!activator,$ResetClientProp$m_flRageMeter,,0.03,-1" "OnHitMin" "!activator,$SetProp$m_flRageMeter,0,0.1,-1" //"OnHitMin" "player,$DisplayTextChat,rage meter ended,0,-1" "OnGetValue" "rage_meter,$SetVar$tempRageHolder,,0,-1" "OnGetValue" "!activator,$SetClientProp$m_flRageMeter,$$=rage_meter.tempRageHolder,0.01,-1" "OnGetValue" "!activator,$SetProp$m_flRageMeter,-1000,0,-1" //prevent rage from being reused while active somehow "OnUser1" "!self,Subtract,1.3,0,-1" //drain per interval "OnUser1" "!self,GetValue,,0.01,-1" } } Shapeshift_Logic { OnSpawnOutput { Target "shapeshift_start" Action "Trigger" Delay 3 } // OnParentKilledOutput // { // Target "!activator" // Action "$SetProp$m_bUseBossHealthBar" // Param "0" // Delay 0 // } logic_relay { "targetname" "shapeshift_start" "spawnflags" "2" "OnTrigger" "!activator,$WeaponStripSlot,0,0.51,-1" "OnTrigger" "!activator,$RemoveItem,Phononaut,0.51,-1" "OnTrigger" "shapeshift_loop,Trigger,,0,-1" } logic_relay { "targetname" "shapeshift_global" "spawnflags" "2" "OnTrigger" "!activator,$AddCond,4,0,-1" } logic_relay { "targetname" "shapeshift_loop" "spawnflags" "2" "OnTrigger" "shapeshift_global,Trigger,,0,-1" "OnTrigger" "soldier_shapeshift,Trigger,,0.5,-1" "OnTrigger" "shapeshift_global,Trigger,,5,-1" "OnTrigger" "pyro_automic_shapeshift,Trigger,,5.5,-1" "OnTrigger" "shapeshift_global,Trigger,,10,-1" "OnTrigger" "heavy_shapeshift,Trigger,,10.5,-1" "OnTrigger" "!self,Trigger,,16,-1" } logic_relay { "targetname" "scout_shapeshift" "spawnflags" "2" "OnTrigger" "shapeshift_global,Trigger,,0,-1" "OnTrigger" "!activator,$WeaponStripSlot,0,0,-1" "OnTrigger" "!activator,$GiveItem,TF_WEAPON_SCATTERGUN,0.1,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/player/scout.mdl,0.11,-1" "OnTrigger" "!activator,$AddCond,4,0.7,-1" "OnTrigger" "!activator,$RemoveCond,4,0.75,-1" } logic_relay { "targetname" "soldier_shapeshift" "spawnflags" "2" "OnTrigger" "!activator,$RemoveItem,Zombie Heavy,0,-1" "OnTrigger" "!activator,$ChangeAttributes,Soldier,0,-1" //"OnTrigger" "!activator,$AddCond,40,0.1,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/player/soldier.mdl,0.1,-1" //"OnTrigger" "!activator,$SetProp$m_iszClassIcon,soldier_sergeant_crits,0.4,-1" "OnTrigger" "!activator,$AddCond,4,0.5,-1" "OnTrigger" "!activator,$RemoveCond,4,0.55,-1" } logic_relay { "targetname" "pyro_automic_shapeshift" "spawnflags" "2" "OnTrigger" "!activator,$RemoveCond,40,0,-1" "OnTrigger" "!activator,$ChangeAttributes,Pyro,0,-1" "OnTrigger" "!activator,$RemoveItem,Zombie Soldier,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/player/pyro.mdl,0.1,-1" // "OnTrigger" "!activator,$SetProp$m_iszClassIcon,demo_bomber,0.4,-1" //"OnTrigger" "!activator,$SetProp$m_bUseBossHealthBar,0,3,-1" //"OnTrigger" "!activator,$SetProp$m_bUseBossHealthBar,1,0.45,-1" "OnTrigger" "!activator,$AddCond,4,0.5,-1" "OnTrigger" "!activator,$RemoveCond,4,0.55,-1" } logic_relay { "targetname" "heavy_shapeshift" "spawnflags" "2" "OnTrigger" "!activator,$ChangeAttributes,Heavy,0,-1" "OnTrigger" "!activator,$RemoveItem,Zombie Pyro,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.11,-1" "OnTrigger" "!activator,SetCustomModel,models/player/heavy.mdl,0.1,-1" //"OnTrigger" "!activator,$SetProp$m_iszClassIcon,heavy_chief,0.4,-1" "OnTrigger" "!activator,$AddCond,4,0.5,-1" "OnTrigger" "!activator,$RemoveCond,4,0.55,-1" // "OnTrigger" "!activator,$RemoveItemAttribute,minigun spinup time increased|0,2,-1" } } RotateShieldLvL1_Red { // OnSpawnOutput // { // Target "rotate" // Action "Start" // } // OnSpawnOutput // { // Target "rotate" // Action "Start" // } // OnSpawnOutput // { // Target "rotate_position" // Action "Trigger" // } // OnSpawnOutput // { // Target "rotate" // Action "SetParent" // Param "" // } // OnSpawnOutput // { // Target "popscript" // Action "$registerShieldLvl1" // param "projectile_shield" // Delay 0.1 // } filter_tf_condition { "targetname" "filter_banner_deployed" "condition" "65" "OnPass" "rotate,Enable,,0,-1" "OnPass" "rotate,Start,,0,-1" "OnPass" "rotate_position,Enable,0,-1" "OnPass" "rotate_position,Trigger,0,-1" "OnPass" "rotate,SetParent,,0,-1" "OnPass" "projectile_shield,Enable,,0,-1" "OnPass" "popscript,$registerShieldLvl1,projectile_shield,0.1,-1" "OnFail" "rotate,Stop,,0,-1" "OnFail" "rotate_position,CancelPending,,0,-1" "OnFail" "rotate_position,Disable,,0,-1" "OnFail" "rotate,Disable,,0.01,-1" "OnFail" "projectile_shield,Disable,,0.01,-1" } trigger_multiple { "targetname" "banner_checker" "mins" "-1 -1 -1" "maxs" "1 1 1" "origin" "0 0 16" "spawnflags" "1" "OnStartTouch" "filter_banner_deployed,TestActivator,!activator,0,-1" } logic_relay { "targetname" "rotate_position" "spawnflags" "2" "StartDisabled" "1" "OnTrigger" "rotate,$TeleportToEntity,!activator,0,-1" "OnTrigger" "!self,Trigger,,0.01,-1" } entity_medigun_shield { "parentname" "rotate" "targetname" "projectile_shield" "origin" "150 0 0" "spawnflags" "1" "teamnum" "2" "skin" "2" "StartDisabled" "1" } func_rotating { "targetname" "rotate" "origin" "0 0 0" "mins" "-0.1 -0.1 -0.1" "maxs" "0.1 0.1 0.1" "dmg" "0" "fanfriction" "100" "maxspeed" "60" "spawnflags" "64" "volume" "0" "StartDisabled" "1" } } } }