WaveSchedule { PointTemplates { CustomCanteensSetup { //OnSpawnOutput //{ // Target "@c@!activator" // Action "$SetProp$m_usNumCharges" // Param 0 // Delay 0 //} OnSpawnOutput { Target "!activator" Action "$SetVar$currentCustomCanteenCharges" Param 0 Delay 0 } OnSpawnOutput { Target "!activator" Action "$SetVar$canteenIndex" Param -1 Delay 0 } OnSpawnOutput { Target "!activator" Action "$SetVar$lastUpdatedClass" Param "69" Delay 0 } } CustomCanteens { OnSpawnOutput { Target "canteen_input" Action "FireUser1" Delay 0.1 } OnSpawnOutput { Target "set_class_changed_value" Action "$SetKey$case01" Param "$$=!activator.m_iClass" Delay 0 } OnSpawnOutput { Target "set_class_changed_value" Action "$Format" Delay 0.01 } OnSpawnOutput { Target "class_changed_check" Action "TestActivator" Delay 0.02 } logic_case { //can't target $value with setkey "targetname" "set_class_changed_value" "case16" "$value %" "case01" "def" "OnDefault" "class_changed_check,AddOutput,,0,-1" } $filter_variable { //check if player changed class since last canteen applied update //in which case reset their charges count "targetname" "class_changed_check" "$name" "lastUpdatedClass" "$value" "-1" //to be set later "$compare" "equal" "Negated" "1" "OnPass" "!activator,$SetVar$currentCustomCanteenCharges,0,0,-1" //"OnPass" "@c@!activator,$SetProp$m_usNumCharges,0,0,-1" } logic_branch { //bool for if player has vanilla canteen //reset their charges count if true "targetname" "vanilla_canteens_bool" "InitialValue" "0" "OnTrue" "!activator,$SetVar$currentCustomCanteenCharges,0,-1,-1" "OnTrue" "!activator,$SetVar$canteenIndex,-1,-1,-1" } logic_compare { //check if player owns any vanilla canteen incase a vanilla canteen is bought with a custom canteen equipped //in which case, remove all current current canteens charges "targetname" "vanilla_canteens_check" "CompareValue" "1988" "OnNotEqualTo" "vanilla_canteens_bool,SetValue,1,0,-1" } logic_compare { //check if m_usNumCharges is different from currentCustomCanteenCharges variable "targetname" "canteen_input_used_check" "CompareValue" "69420" //to be set later "OnLessThan" "canteen_owned_check,TestActivator,,-1,-1" //"OnLessThan" "player,$DisplayTextChat,true,0,-1" //"OnGreaterThan" "player,$DisplayTextChat,nah,0,-1" } logic_compare { "targetname" "sanitize_canteen_input" "CompareValue" "6900" // "OnLessThan" "player,$DisplayTextChat,here,0,-1" // "OnGreaterThan" "player,$DisplayTextChat,here 2,0,-1" // "OnEqualTo" "player,$DisplayTextChat,here 3,0,-1" "OnLessThan" "canteen_input_used_check,SetCompareValue,$$=!activator.currentCustomCanteenCharges,-1,-1" "OnLessThan" "canteen_input_used_check,SetValueCompare,,0,-1" } logic_relay { "targetname" "canteen_input" "spawnflags" "2" //since $getprop with @c@ work like an index loop doing the applied output on every child and default to a set value if the prop index doesn't exist //I can hook it to a logic_compare and see if the input is different from the default value "OnUser1" "@c@!activator,$GetProp$m_usNumCharges,sanitize_canteen_input|SetValueCompare|6900,-1,-1" // "OnUser1" "@c@!activator,$GetProp$m_usNumCharges,!activator|$DisplayTextChat|def,0,-1" // "OnUser1" "!activator,$DisplayTextChat,internal charges count:,-1,-1" // "OnUser1" "!activator,$DisplayTextChat,$$=!activator.currentCustomCanteenCharges,0,-1" "OnUser1" "vanilla_canteens_bool,SetValue,0,-1,-1" //reset for this cycle //test for vanilla cans "OnUser1" "!activator,$GetItemAttribute,9|critboost|vanilla_canteens_check|SetValueCompare|1988,0,-1" "OnUser1" "!activator,$GetItemAttribute,9|ubercharge|vanilla_canteens_check|SetValueCompare|1988,0,-1" "OnUser1" "!activator,$GetItemAttribute,9|refill_ammo|vanilla_canteens_check|SetValueCompare|1988,0,-1" "OnUser1" "!activator,$GetItemAttribute,9|recall|vanilla_canteens_check|SetValueCompare|1988,0,-1" "OnUser1" "!activator,$GetItemAttribute,9|building instant upgrade|vanilla_canteens_check|SetValueCompare|1988,0,-1" "OnUser1" "vanilla_canteens_bool,Test,,0.01,-1" "OnUser1" "canteen_input,FireUser1,,0.2,-1" } logic_compare { //check if canteen count is at 0 after use "targetname" "canteen_is_empty" "CompareValue" "0" "OnEqualTo" "on_canteen_empty,Trigger,,0,-1" "OnUser1" "!activator,$GetVar$currentCustomCanteenCharges,canteen_is_empty|SetValueCompare|-1,0,-1" } logic_relay { //triggered after a successful custom canteen use "targetname" "canteen_input_success" "spawnflags" "2" "OnTrigger" "!activator,$SetVar$currentCustomCanteenCharges,$$=!activator.currentCustomCanteenCharges - 1,-1,-1" "OnTrigger" "@c@!activator,$SetProp$m_usNumCharges,$$=!activator.currentCustomCanteenCharges - 1,-1,-1" "OnTrigger" "canteen_is_empty,FireUser1,,0,-1" } $filter_variable { //check if player has any remaining canteen charges //final step before using custom canteen based on id "targetname" "canteen_owned_check" "$name" "currentCustomCanteenCharges" "$value" "0" "$compare" "greater than" "Negated" "0" //"OnPass" "player,$DisplayTextChat,canteen not empty check passed,0.01,-1" "OnPass" "canteen_effect,TestActivator,,-1,-1" } $filter_variable { "targetname" "canteen_effect" //speed boost canteen "$value" "1" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}SPEED BOOST {reset}Power Up Canteen!,0,-1" "OnPass" "!activator,$AddCond,32,0,-1" "OnPass" "!activator,$RemoveCond,32,5,-1" } filter_activator_tfteam { "targetname" "filter_is_red" "Negated" "0" "TeamNum" "2" } $filter_sendprop { "targetname" "filter_is_not_giant" "$name" "m_bIsMiniBoss" "$value" "0" "$compare" "equal" "Negated" "0" } filter_tf_bot_has_tag { "targetname" "filter_no_tag" "Negated" "1" "require_all_tags" "1" "tags" "no_reprogram" } filter_multi { "targetname" "filter_can_be_sapped" "Negated" "0" "FilterType" "0" "Filter01" "filter_is_red" "Filter02" "filter_no_tag" "Filter03" "filter_is_not_giant" } trigger_multiple { "targetname" "reprogram_canteen_apply" "origin" "0 0 0" "mins" "-300.0 -300.0 -300.0" "maxs" "300.0 300.0 300.0" "spawnflags" "1" "StartDisabled" "1" "filtername" "filter_can_be_sapped" "OnStartTouch" "!activator,$AddPlayerAttribute,receive friendly fire|1,0,-1" "OnStartTouch" "!activator,$RemoveCond,43,0,-1" "OnStartTouch" "!activator,$AddCond,50,0,-1" "OnStartTouch" "!activator,$RemovePlayerAttribute,receive friendly fire,8,-1" "OnStartTouch" "!activator,$AddCond,43,8,-1" "OnStartTouch" "!activator,$RemoveCond,50,8,-1" "OnStartTouch" "!activator,$Suicide,50,8,-1" //self-destruct bot after done reprogramming "OnUser1" "!self,Enable,,0,-1" "OnUser1" "!self,Disable,,0.01,-1" } info_particle_system { "targetname" "sapper_effect" "effect_name" "Explosion_ShockWave_01" "flag_as_weather" "0" "start_active" "0" } $filter_variable { "targetname" "canteen_effect" //reprogram canteen "$value" "2" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}REPROGRAM {reset}Power Up Canteen!,0,-1" "OnPass" "sapper_effect,Stop,,0,-1" "OnPass" "sapper_effect,Start,,0.01,-1" "OnPass" "reprogram_canteen_apply,FireUser1,,0,-1" } $filter_variable { "targetname" "canteen_effect" //berserk canteen "$value" "3" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}BERSERK {reset}Power Up Canteen!,0,-1" //force minigun to stop reving/sniper unscope "OnPass" "!activator,$AddItemAttribute,alt-fire disabled|1|0,0,-1" "OnPass" "!activator,$Addcond,41,0,-1" "OnPass" "!activator,$Addcond,46,0,-1" "OnPass" "!activator,$WeaponSwitchSlot,2,0.01,-1" "OnPass" "!activator,$AddPlayerAttribute,CARD: damage bonus|1.25,0,-1" //"OnPass" "!activator,$AddItemAttribute,fists have radial buff|1|2,0,-1" //"OnPass" "!activator,$AddPlayerAttribute,melee range multiplier|1.1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,melee attack rate bonus|0.8,0,-1" "OnPass" "!activator,$WeaponSwitchSlot,2,1.5,-1" //for revved up miniguns "OnPass" "!activator,$RemoveItemAttribute,alt-fire disabled|0,5,-1" "OnPass" "!activator,$Removecond,46,5,-1" "OnPass" "!activator,$RemovePlayerAttribute,CARD: damage bonus,5,-1" //"OnPass" "!activator,$RemoveItemAttribute,fists have radial buff|2,5,-1" //"OnPass" "!activator,$RemovePlayerAttribute,melee range multiplier,5,-1" "OnPass" "!activator,$RemovePlayerAttribute,melee attack rate bonus,5,-1" "OnPass" "!activator,$Removecond,41,5,-1" } $filter_variable { "targetname" "canteen_effect" //adrenaline canteen "$value" "4" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}ADRENALINE {reset}Power Up Canteen!,0,-1" "OnPass" "!activator,$Addcond,46,0,-1" "OnPass" "!activator,$AddPlayerAttribute,CARD: damage bonus|1.5,0,-1" "OnPass" "!activator,$AddPlayerAttribute,CARD: move speed bonus|1.2,0,-1" "OnPass" "!activator,$AddPlayerAttribute,CARD: health regen|5,0,-1" "OnPass" "!activator,$Addcond,46,0,-1" "OnPass" "!activator,$Removecond,46,5,-1" "OnPass" "!activator,$RemovePlayerAttribute,CARD: damage bonus,5,-1" "OnPass" "!activator,$RemovePlayerAttribute,CARD: move speed bonus,5,-1" "OnPass" "!activator,$RemovePlayerAttribute,CARD: health regen,5,-1" //fatigue "OnPass" "!activator,$Addcond,15,5,-1" "OnPass" "!activator,$AddPlayerAttribute,damage penalty|0.7,5,-1" "OnPass" "!activator,$AddPlayerAttribute,move speed penalty|0.8,5,-1" "OnPass" "!activator,$Removecond,15,10,-1" "OnPass" "!activator,$RemovePlayerAttribute,damage penalty,10,-1" "OnPass" "!activator,$RemovePlayerAttribute,move speed penalty,10,-1" } logic_relay { //proxy relay to deapply stealth, deapplication is cancelled upon using a new stealth canteen to prevent overlap "targetname" "stealth_can_duration" "spawnflags" "2" "OnTrigger" "!activator,$Removecond,64,14.9,-1" } $filter_variable { "targetname" "canteen_effect" //stealth canteen "$value" "5" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}STEALTH {reset}Power Up Canteen!,0,-1" "OnPass" "stealth_can_duration,$CancelPending,,0,-1" "OnPass" "!activator,$Addcond,64,0,-1" "OnPass" "stealth_can_duration,Trigger,,0.1,-1" } trigger_multiple { "targetname" "piss_apply" "origin" "0 0 0" "mins" "-1000.0 -1000.0 -1000.0" "maxs" "1000.0 1000.0 1000.0" "spawnflags" "1" "StartDisabled" "1" "filtername" "filter_is_red" "OnStartTouch" "!activator,$AddCond,24,0,-1" "OnStartTouch" "!activator,$RemoveCond,24,15,-1" "OnUser1" "!self,Enable,,0,-1" "OnUser1" "!self,Disable,,0.01,-1" } info_particle_system { "targetname" "piss_effect" "effect_name" "eyeboss_death" "flag_as_weather" "0" "start_active" "0" } $filter_variable { "targetname" "canteen_effect" //piss canteen "$value" "6" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}PISSPLOSION {reset}Power Up Canteen!,0,-1" "OnPass" "piss_effect,Stop,,0,-1" "OnPass" "piss_effect,Start,,0.01,-1" "OnPass" "piss_apply,FireUser1,,0,-1" } $filter_variable { "targetname" "canteen_effect" //knockback immunity canteen "$value" "69" "$name" "canteenIndex" "$compare" "equal" "Negated" "0" "OnPass" "canteen_input_success,Trigger,,0,-1" "OnPass" "player,$DisplayTextChat,{blue}{activator}{reset} has used their {9BBF4D}KNOCKBACK IMMUNITY {reset}Power Up Canteen!,0,-1" "OnPass" "!activator,$Addcond,20,0,-1" "OnPass" "!activator,$AddPlayerAttribute,damage force reduction|0.001,0,-1" "OnPass" "!activator,$Removecond,20,5,-1" "OnPass" "!activator,$RemovePlayerAttribute,damage force reduction,5,-1" } } CanteenPurchase { NoFixup 1 logic_relay { "targetname" "canteen_count_update" "spawnflags" "2" "$OnUser5" "!activator,$SetVar$currentCustomCanteenCharges,,-1,-1" "$OnUser5" "@c@!activator,$SetProp$m_usNumCharges,,0,-1" //"$OnUser5" "player,$DisplayTextChat,canteen updated,0,-1" "$OnUser5" "!activator,$GetProp$m_iClass,!activator|$SetVar$lastUpdatedClass|69,0,-1" } logic_relay { "targetname" "on_canteen_empty" "spawnflags" "2" //"OnTrigger" "player,$DisplayTextChat,canteen emptied !!!,0,-1" "OnTrigger" "!activator,$RemoveItemAttribute,special item description|9,0,-1" "OnTrigger" "!activator,$SetVar$canteenIndex,-1,0,-1" } } FreelanceMercenary_Logic { OnSpawnOutput { Target "freelance_action_check" Action "Trigger" Delay 0 } OnSpawnOutput { Target "!activator" Action "$SetVar$FreelanceEquipped" Param "1" Delay 0 } OnSpawnOutput { Target "!activator" Action "$GetVar$PreFreelanceSwitchHealth" Param "apply_last_health|$SetKey$CompareValue|-1" Delay 0 } OnSpawnOutput { Target "apply_last_health" Action "Compare" Delay 0.06 } OnParentKilledOutput { Target "!activator" Action "$SetVar$FreelanceEquipped" Param "0" Delay -1 } //apply health from previous class if switched logic_compare { "targetname" "apply_last_health" "InitialValue" "-1" "OnNotEqualTo" "!activator,$SetKey$health,$$=!activator.PreFreelanceSwitchHealth,-1,-1" "OnNotEqualTo" "!activator,$SetVar$PreFreelanceSwitchHealth,,0,-1" "OnNotEqualTo" "!activator,$SetVar$FreelanceSwitched,1,-1,-1" } logic_case { "targetname" "class_select_menu" "case16" "Select Class|0|Cancel" "case01" "Scout" "case02" "Soldier" "case03" "Pyro" "case04" "Demoman" "case05" "Heavy" "case06" "Engineer" "case07" "Medic" "case08" "Sniper" "case09" "Spy" "oncase01" "!activator,$SetVar$PreFreelanceSwitchHealth,$$= !activator.m_iHealth ,-1,-1" "oncase01" "!activator,$SwitchClassInPlace,Scout,0,-1" "oncase02" "!activator,$SetVar$PreFreelanceSwitchHealth,$$= !activator.m_iHealth ,-1,-1" "oncase02" "!activator,$SwitchClassInPlace,Soldier,0,-1" "oncase03" "!activator,$SetVar$PreFreelanceSwitchHealth,$$= !activator.m_iHealth ,-1,-1" "oncase03" "!activator,$SwitchClassInPlace,Pyro,0,-1" "oncase04" "!activator,$SetVar$PreFreelanceSwitchHealth,$$= !activator.m_iHealth ,-1,-1" "oncase04" "!activator,$SwitchClassInPlace,Demoman,0,-1" "oncase05" "!activator,$SetVar$PreFreelanceSwitchHealth,$$= !activator.m_iHealth ,-1,-1" "oncase05" "!activator,$SwitchClassInPlace,Heavyweapons,0,-1" "oncase06" "!activator,$SetVar$PreFreelanceSwitchHealth,$$= !activator.m_iHealth ,-1,-1" "oncase06" "!activator,$SwitchClassInPlace,Engineer,0,-1" "oncase07" "!activator,$SetVar$PreFreelanceSwitchHealth,$$= !activator.m_iHealth ,-1,-1" "oncase07" "!activator,$SwitchClassInPlace,Medic,0,-1" "oncase08" "!activator,$SetVar$PreFreelanceSwitchHealth,$$= !activator.m_iHealth ,-1,-1" "oncase08" "!activator,$SwitchClassInPlace,Sniper,0,-1" "oncase09" "!activator,$SetVar$PreFreelanceSwitchHealth,$$= !activator.m_iHealth ,-1,-1" "oncase09" "!activator,$SwitchClassInPlace,Spy,0,-1" } $filter_sendprop { "targetname" "using_action" "$name" "m_bUsingActionSlot" "$value" "0" "$compare" "equal" "Negated" "1" //"OnPass" "class_select_menu,$DisplayMenu,!activator,0,-1" "OnPass" "!activator,$SetVar$PreFreelanceSwitchHealth,$$= !activator.m_iHealth ,-1,-1" "OnPass" "popscript,$FreelanceMerc_PromptMenu,$$=!activator.m_iClass,0,-1" // "OnPass" "!activator,$SetVar$PreFreelanceSwitchHealth,$$= !activator.m_iHealth ,-1,-1" // "OnPass" "!activator,$SwitchClassInPlace,$$= test ( !activator.m_iClass + 1 <= 9 , !activator.m_iClass + 1, 1 ) ,0,-1" } logic_relay { "targetname" "freelance_action_check" "spawnflags" "2" "OnTrigger" "using_action,TestActivator,,0,-1" "OnTrigger" "!self,Trigger,,0.1,-1" } } ScoutNoOverheal { OnSpawnOutput { Target "overheal_remove" Action "Trigger" } logic_relay { "targetname" "overheal_remove" "spawnflags" "2" //turn health above 125 to 125 "OnTrigger" "filter_overhealth,TestActivator,,-1,0" "OnTrigger" "!self,Trigger,,0.02,-1" } $filter_keyvalue { "targetname" "filter_overhealth" "$name" "health" "$value" "125" "$compare" "greater than" "Negated" "0" "OnPass" "!activator,$SetKey$health,125,0,-1" } } Axe_Rework_Global { NoFixup 1 logic_relay { "targetname" "axe_kill" "spawnflags" "2" "OnTrigger" "@c@!activator,$FireUser7,,0,-1" } } Axe_Rework { OnSpawnOutput { Target "mark_trigger" Action "SetParent" Param "!activator" Delay 0 } filter_activator_tfteam { "targetname" "filter_is_red" "Negated" "0" "TeamNum" "2" } logic_relay { "targetname" "apply_mark" "spawnflags" "2" "OnTrigger" "!activator,$AddCond,48,0,-1" //won't overlap with vitasaw as the vitasaw is only used on teammates while this can only be used for enemies "OnTrigger" "!activator,$CancelPending,OnUser3,0,-1" "OnTrigger" "!activator,$RemoveOutput,OnUser3,0,-1" "OnTrigger" "!activator,AddOutput,OnUser3 !self:$RemoveCond:48:5:-1,0.01,-1" //duration "OnTrigger" "!activator,AddOutput,OnUser3 !self:$RemoveOutput:OnUser3:5.1:-1,0.01,-1" "OnTrigger" "!activator,FireUser3,,0.02,-1" } trigger_multiple { "targetname" "mark_trigger" "origin" "0 0 0" "mins" "-400 -400 -400" "maxs" "400 400 400" "spawnflags" "1" "teamnum" "2" "filtername" "filter_is_red" "StartDisabled" "1" "OnStartTouch" "apply_mark,Trigger,,0,-1" "$OnUser7" "!self,Enable,,0,-1" "$OnUser7" "!self,Disable,,0.1,-1" } } BannerSticky { KeepAlive 1 OnSpawnOutput { Target "banner_model" Action "SetParent" Param "" Delay 0 } OnSpawnOutput { Target "banner_model" Action "$SetLocalAngles" Param "0 0 0" Delay 0.01 } OnSpawnOutput { Target "stickbomb_setposition" Action "Trigger" Delay 0.02 } OnParentKilledOutput { Target "killed" Action "Trigger" Delay 0 } filter_activator_tfteam { "targetname" "filter_is_blu" "Negated" "0" "TeamNum" "3" } logic_relay { "targetname" "killed" "spawnflags" "2" "OnTrigger" "filter_is_blu,Kill,,0,-1" "OnTrigger" "stickybomb_buff,Kill,,0,-1" "OnTrigger" "stickbomb_setposition,Kill,,0,-1" "OnTrigger" "banner_model,Kill,,0,-1" "OnTrigger" "stickybomb_unapply_buff,Enable,,0,-1" "OnTrigger" "stickybomb_unapply_buff,Kill,,0.1,-1" "OnTrigger" "!self,Kill,,0.2,-1" } trigger_multiple { "targetname" "stickybomb_buff" "origin" "0 0 0" "mins" "-200 -200 -200" "maxs" "200 200 200" "spawnflags" "1" "filtername" "filter_is_blu" "OnTrigger" "!activator,$AddCond,16,0,-1" "OnStartTouch" "!activator,$AddCond,16,0,-1" "OnEndTouch" "!activator,$RemoveCond,16,0.01,-1" } trigger_multiple { "targetname" "stickybomb_unapply_buff" //unapply buffs on surrounding player on explosion "origin" "0 0 0" "mins" "-200 -200 -200" "maxs" "200 200 200" "spawnflags" "1" "StartDisabled" "1" "filtername" "filter_is_blu" "OnStartTouch" "!activator,$RemoveCond,16,0,-1" } logic_relay { "targetname" "stickbomb_setposition" "spawnflags" "2" "OnTrigger" "banner_model,$TeleportToEntity,!activator,-1,-1" "OnTrigger" "banner_model,$MoveRelative,10 -9 -55,0,-1" "OnTrigger" "!self,Trigger,,0.01,-1" } prop_dynamic { "targetname" "banner_model" "DisableBoneFollowers" "1" "disableshadows" "1" "model" "models/weapons/c_models/c_buffbanner/c_buffbanner.mdl" "solid" "0" "spawnflags" "0" "StartDisabled" "0" } } NationalPride_Spawn { OnSpawnOutput { Target "stickies_count_check" Action "Trigger" Delay 0.1 } // logic_relay // { // "targetname" "negate_health_regen" // "spawnflags" "2" // "$OnUser5" "!activator,$TakeDamage,,0.6,-1" // } // logic_relay // { // "targetname" "over_one_sticky" // "spawnflags" "2" // "OnTrigger" "!activator,$AddPlayerAttribute,mod weapon blocks healing|1,0,-1" // "OnTrigger" "!activator,$GetPlayerAttribute,health regen|negate_health_regen|$FireUser5|0,0,-1" // } logic_case { "targetname" "stickies_count_handler" "Case01" "0" "Case02" "1" "Case03" "2" "Case04" "3" "OnCase01" "!activator,$RemoveItemAttribute,no_attack|1,0,-1" //"OnCase01" "!activator,$RemoveItemAttribute,dmg penalty vs players|0,0,-1" "OnCase02" "!activator,$AddItemAttribute,no_attack|1|1,0,-1" //"OnCase02" "!activator,$AddItemAttribute,dmg penalty vs players|0.7|0,0,-1" //"OnCase01" "!activator,$RemovePlayerAttribute,mod weapon blocks healing,0,-1" // "OnCase02" "!activator,$TakeDamage,4,0,-1" // "OnCase02" "over_one_sticky,Trigger,,0,-1" // "OnCase03" "!activator,$TakeDamage,5,0,-1" // "OnCase03" "over_one_sticky,Trigger,,0,-1" // "OnCase04" "!activator,$TakeDamage,6,0,-1" // "OnCase04" "over_one_sticky,Trigger,,0,-1" } logic_relay { "targetname" "stickies_count_check" "spawnflags" "2" "OnTrigger" "@e@m_hMyWeapons$1@!activator,$GetProp$m_iPipebombCount,stickies_count_handler|InValue|-1,0,-1" "OnTrigger" "!self,Trigger,,0.1,-1" } } Murasama_Global { NoFixup 1 logic_relay { "targetname" "murasama_hit" "spawnflags" "2" "OnTrigger" "!activator,AddOutput,BaseVelocity 0 0 250,0,-1" "OnTrigger" "!activator,$AddCond,81,0.1,-1" "OnTrigger" "!activator,$SetForwardVelocity,300,0,-1" } } Murasama_Spawn { // OnSpawnOutput // { // Target "!activator" // Action "SetForcedTauntCam" // Param "1" // Delay 0 // } // OnParentKilledOutput // { // Target "!activator" // Action "SetForcedTauntCam" // Param "0" // Delay 0 // } OnSpawnOutput { Target "murasama_spawn" Action "Trigger" } OnSpawnOutput { Target "charge_check" Action "Trigger" } OnParentKilledOutput { Target "!activator" Action "RemovePlayerAttribute" Param "dmg from ranged reduced" Delay 0.1 } logic_relay { "targetname" "murasama_spawn" "OnTrigger" "!activator,$WeaponStripSlot,0,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,2,0,-1" "OnTrigger" "!activator,$GiveItem,Murasama Charge,0,-1" // "OnTrigger" "!activator,$AddItemAttribute,is invisible|1|1,0.01,-1" // "OnTrigger" "!activator,$AddItemAttribute,dmg taken from blast reduced|1|1,0.01,-1" // "OnTrigger" "!activator,$AddItemAttribute,dmg taken from fire reduced|1|1,0.01,-1" } logic_relay { "targetname" "charge_check" "spawnflags" "2" "OnTrigger" "filter_is_chargin,TestActivator,,0,-1" "OnTrigger" "filter_is_propelled,TestActivator,,0,-1" "OnTrigger" "filter_is_midair,TestActivator,,0,-1" //incase of resupply "OnTrigger" "murasama_spawn,Trigger,0,0,-1" "OnTrigger" "!self,Trigger,,0.05,-1" } filter_tf_condition { "targetname" "filter_is_chargin" "Negated" "0" "condition" "17" "OnPass" "!activator,$RemoveCond,17,0,-1" "OnPass" "!activator,$AddCond,46,0,-1" "OnPass" "!activator,$AddItemAttribute,CARD: move speed bonus|2.5|2,0,-1" "OnPass" "!activator,$RemoveCond,46,1,-1" "OnPass" "!activator,$RemoveItemAttribute,CARD: move speed bonus|2,1,-1" "OnPass" "!activator,$SetForwardVelocity,500,0,-1" // "OnPass" "!activator,AddOutput,BaseVelocity 0 0 300,0,-1" } filter_tf_condition { "targetname" "filter_is_propelled" "Negated" "0" "condition" "81" "OnPass" "!activator,$AddItemAttribute,melee range multiplier|2.5|2,0,-1" "OnPass" "!activator,$AddPlayerAttribute,dmg from ranged reduced|0.8,0,-1" "OnFail" "!activator,$RemoveItemAttribute,melee range multiplier|2,0,-1" "OnFail" "!activator,$RemovePlayerAttribute,dmg from ranged reduced|2,0,-1" } $filter_sendprop { "targetname" "filter_is_midair" "$name" "m_flFallVelocity" "$value" "0" "$compare" "equal" "Negated" "1" "OnFail" "!activator,$RemoveCond,81,0,-1" } // $filter_sendprop // { // "targetname" "filter_is_midair" // "$name" "m_bJumping" // "$value" "1" // "$compare" "equal" // "Negated" "0" // "OnPass" "!activator,$AddItemAttribute,melee range multiplier|4|2,0,-1" // "OnPass" "!activator,$DisplayTextChat,jumpin,0,-1" // "OnFail" "!activator,$RemoveItemAttribute,melee range multiplier|2,0,-1" // } } NoMercy_Spawn { OnSpawnOutput { Target "nomercy_check" Action "Trigger" } OnParentKilledOutput { Target "!activator" Action "$SetData$m_flGravity" Param "0" } logic_relay { "targetname" "nomercy_check" "spawnflags" "2" "OnTrigger" "filter_ducked,TestActivator,,0,-1" "OnTrigger" "!self,Trigger,,0.1,-1" } $filter_sendprop { "targetname" "filter_ducked" "$name" "m_bDucked" "$value" "0" "$compare" "equal" "Negated" "1" "OnPass" "!activator,$SetData$m_flGravity,4,0,-1" "OnFail" "!activator,$SetData$m_flGravity,0.3,0,-1" } } MedigunsShieldReplacement { OnSpawnOutput { Target "!activator" Action "$SetVar$shieldReplacementFlag" Param "1" } OnSpawnOutput { Target "default_shield_charge_set" Action "Trigger" Delay 0 } OnParentKilledOutput { Target "!activator" Action "$SetVar$shieldReplacementFlag" Param "0" } logic_relay { "targetname" "default_shield_charge_set" "spawnflags" "2" "OnTrigger" "popscript,$setDefaultShieldCharge,,0,-1" "OnTrigger" "!self,Trigger,,0.1,-1" } } ComfortablyNumb_Spawn { OnSpawnOutput { Target "popscript" Action "$comfortablyNumbSpawn" } OnSpawnOutput { Target "!activator" Action "$AddPlayerAttribute" Param "mod weapon blocks healing|1" } OnParentKilledOutput { Target "!activator" Action "$RemovePlayerAttribute" Param "mod weapon blocks healing" } OnParentKilledOutput { Target "popscript" Action "$comfortablyNumbUnspawn" } } ComfortablyNumb_Global { NoFixup 1 logic_relay { "targetname" "apply_numb_charge" "spawnflags" "2" "$OnUser5" "@c@!activator,$SetProp$m_flChargeLevel,$$=float(!activator.numbCharge) / float(100),0,-1" } } Explosive_Tip { KeepAlive 1 OnSpawnOutput { Target "tip_explosion" Action "$InheritOwner" Param "!activator" Delay 0.1 } OnSpawnOutput { Target "getdamage" Action "Trigger" Delay 0.01 } // OnParentKilledOutput // { // Target "@c@!activator" // Action "FireUser1" // Delay 0 // } OnParentKilledOutput { Target "explosive_tip_relay" Action "FireUser1" Delay 0 } logic_relay { "targetname" "getdamage" "OnTrigger" "tip_explosion,$SetVar$baseDamage,75,0,-1" "OnTrigger" "@e@m_hOwnerEntity@!activator,$GetItemAttribute,0|damage bonus|setdamage|$FireUser5|1,0.01,-1" } logic_relay { "targetname" "setdamage" "$OnUser5" "!self,$SetVar$DamageMult,,0,-1" "$OnUser5" "tip_explosion,$SetKey$Damage,$$=setdamage.DamageMult * tip_explosion.baseDamage,0.03,-1" //"$OnUser5" "player,$DisplayTextChat,$$=setdamage.DamageMult * tip_explosion.baseDamage,0.03,-1" } logic_relay { "targetname" "explosive_tip_relay" "OnUser1" "tip_explosion,FireUser1,,0,-1" "OnUser1" "sticky_flicker,FireUser1,,0,-1" "OnUser1" "sticky_sound,FireUser1,,0,-1" "OnUser1" "attach_to_enemy,FireUser1,,0,-1" "OnUser1" "detonate_position,FireUser1,,0,-1" "OnUser1" "measure,Kill,,4,-1" "OnUser1" "!self,Kill,,5,-1" } info_target { "targetname" "detonate_position" "OnUser1" "!self,Kill,,5,-1" } tf_point_weapon_mimic { "targetname" "tip_explosion" "spawnflags" "1" "angles" "0 0 0" "origin" "-1 0 -3" "teamnum" "3" "Crits" "0" "Damage" "0" "ModelScale" "1" "SpeedMax" "1000000" "SpeedMin" "1000000" "SplashRadius" "144" "SpreadAngle" "0" "WeaponType" "3" "OnUser1" "!self,FireOnce,,2,-1" "OnUser4" "!self,DetonateStickies,,0,-1" } logic_measure_movement { "targetname" "measure" "MeasureReference" "detonate_position" "MeasureTarget" "detonate_position" "MeasureType" "0" "Target" "tip_explosion" "TargetReference" "detonate_position" "TargetScale" "1" } info_particle_system { "targetname" "sticky_flicker" "effect_name" "stickybomb_pulse_blue" "flag_as_weather" "0" "start_active" "0" "OnUser1" "!self,Start,2,1,-1" "OnUser1" "!self,Kill,2.7,3,-1" } logic_measure_movement { "targetname" "measure" "MeasureReference" "detonate_position" "MeasureTarget" "detonate_position" "MeasureType" "0" "Target" "sticky_flicker" "TargetReference" "detonate_position" "TargetScale" "1" } ambient_generic { "targetname" "sticky_sound" "message" "weapons/stickybomblauncher_det.wav" "radius" "4000" "health" "5" "spawnflags" "48" "OnUser1" "!self,PlaySound,,1,-1" "OnUser1" "!self,Kill,,3,-1" } logic_measure_movement { "targetname" "measure" "MeasureReference" "detonate_position" "MeasureTarget" "detonate_position" "MeasureType" "0" "Target" "sticky_sound" "TargetReference" "detonate_position" "TargetScale" "1" } filter_activator_tfteam { "targetname" "filter_is_red" "Negated" "0" "TeamNum" "2" "OnUser1" "!self,Kill,,2.1,-1" } trigger_hurt //for some reason I can't explain using a trigger_once or trigger_multiple just blocks the projectile { "targetname" "attach_to_enemy" "origin" "0 0 0" "mins" "-3 -3 -3" "maxs" "3 3 3" "Damage" "0" "spawnflags" "1" "filtername" "filter_is_red" "OnStartTouch" "detonate_position,SetParent,!activator,0.1,-1" "OnStartTouch" "!self,Disable,,0,-1" "OnUser1" "!self,Kill,,2.1,-1" } } Rage_Replacement { OnSpawnOutput { Target "filter_rage_activated" Action "FireUser1" Delay 0 } OnSpawnOutput { Target "!activator" Action "$AddItemAttribute" Param "increase buff duration HIDDEN|50|0" Delay 0 } OnParentKilledOutput { Target "!activator" Action "$ResetClientProp$m_bRageDraining" Delay 0.1 } OnParentKilledOutput { Target "!activator" Action "$ResetClientProp$m_flRageMeter" Delay 0.1 } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "increase buff duration HIDDEN|0" } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "explosive bullets|0" } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "explosion particle|0" } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "rocket jump damage reduction|0" } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "mult dmg vs tanks|0" } // dispenser_touch_trigger // { // "targetname" "heavy_dispenser_trigger" // "mins" "-400 -400 -400" // "maxs" "400 400 400" // "spawnflags" "1" // //"StartDisabled" "1" // } // mapobj_cart_dispenser // { // "targetname" "cart_dispenser" // "origin" "-40 -10 100" // "spawnflags" "10" // "TeamNum" "3" // "touch_trigger" "heavy_dispenser_trigger" // "OnUser1" "player,$DisplayTextChat,dispenser spawned,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" } 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,$AddItemAttribute,explosive bullets|147|0,0,-1" "OnTrigger" "!activator,$AddItemAttribute,explosion particle|ExplosionCore_sapperdestroyed|0,0,-1" "OnTrigger" "!activator,$AddItemAttribute,mult dmg vs tanks|1.5|0,0,-1" "OnTrigger" "!activator,$AddItemAttribute,rocket jump damage reduction|0.3|0,0,-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" "heavy_dispenser_trigger,Disable,,0,-1" "OnHitMin" "!activator,$RemoveItemAttribute,explosive bullets|0,0.1,-1" "OnHitMin" "!activator,$RemoveItemAttribute,explosion particle|0,0.1,-1" "OnHitMin" "!activator,$RemoveItemAttribute,mult dmg vs tanks|0,0.1,-1" "OnHitMin" "!activator,$RemoveItemAttribute,rocket jump damage reduction|0,0.1,-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,-100000,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" } } Caber_Buster { // OnSpawnOutput // { // Target "caber_taunt_checker" // Action "Trigger" // Delay 0.1 // } OnSpawnOutput { Target "common_damage" Action "$SetOwner" Param "!activator" Delay 0 } OnSpawnOutput { Target "giant_damage" Action "$SetOwner" Param "!activator" Delay 0 } OnSpawnOutput { Target "!activator" Action "$AddPlayerAttribute" Param "mod weapon blocks healing|1" } OnParentKilledOutput { Target "!activator" Action "$RemovePlayerAttribute" Param "mod weapon blocks healing" } // OnSpawnOutput // { // Target "!activator" // Action "$AddCond" // Param "41" // Delay 0 // } // OnSpawnOutput // { // Target "!activator" // Action "$AddCond" // Param "85" // Delay 0 // } // OnSpawnOutput // { // Target "!activator" // Action "$RemoveCond" // Param "85" // Delay 0.01 // } OnSpawnOutput { Target "freelance_mercenary_not_equipped" Action "TestActivator" Delay 0.1 } // OnSpawnOutput // { // Target "apply_buster_attributes" // Action "Trigger" // Delay 0.01 // } OnParentKilledOutput { Target "!activator" Action "SetCustomModel" Param "" Delay 0 } OnParentKilledOutput { Target "!activator" Action "AddOutput" Param "modelscale 1" Delay 0 } OnParentKilledOutput { Target "!activator" Action "SetForcedTauntCam" Param "0" Delay 0 } OnParentKilledOutput { Target "@c@!activator" Action "$ShowToAll" Delay 0.2 } OnParentKilledOutput { Target "!activator" Action "$RemoveCond" Param "41" Delay 0 } OnParentKilledOutput { Target "!activator" Action "$SetVar$playerIsBuster" Param 0 } OnParentKilledOutput { Target "!activator" Action "$RemovePlayerAttribute" Param "no resupply" } // $filter_sendprop // { // "targetname" "filter_is_robot_wearable" // "$name" "m_nModelIndex" // "$value" "914" // "$compare" "equal" // "Negated" "0" // } $filter_variable { "targetname" "freelance_mercenary_not_equipped" "$name" "FreelanceEquipped" "$value" "1" "$compare" "equal" "Negated" "1" "OnPass" "apply_buster_attributes,Trigger,,0,-1" "OnFail" "!activator,$DisplayTextCenter,Cannot transform into sentry buster due to Freelance Mercenary being equipped,0,-1" } info_particle_system { "targetname" "bster_explosion" "effect_name" "asplode_hoodoo" "flag_as_weather" "0" "start_active" "0" } logic_relay { "targetname" "force_buster_model" "spawnflags" "2" "OnTrigger" "!activator,SetCustomModel,models/bots/demo/bot_sentry_buster.mdl,0,-1" "OnTrigger" "!activator,alpha,255,-1,-1" "OnTrigger" "!activator,alpha,254,0.01,-1" "OnTrigger" "!self,Trigger,,0.02,-1" } logic_relay { "targetname" "apply_buster_attributes" "OnTrigger" "!activator,$SetVar$playerIsBuster,1" "OnTrigger" "!activator,$AddCond,41,0,-1" "OnTrigger" "!activator,$AddCond,32,0,-1" "OnTrigger" "!activator,$AddCond,85,0,-1" "OnTrigger" "!activator,$RemoveCond,85,0.01,-1" "OnTrigger" "caber_taunt_checker,Trigger,,0.1,-1" "OnTrigger" "!activator,AddOutput,modelscale 1.25,0.11,-1" //"OnTrigger" "!activator,SetCustomModel,models/bots/demo/bot_sentry_buster.mdl,0.2,-1" //"OnTrigger" "@f@filter_is_robot_wearable@tf_wearable,$HideToAll,,0.11,-1" "OnTrigger" "@c@!activator,$HideToAll,,0.11,-1" "OnTrigger" "!activator,AddOutput,rendermode 1,0,-1" "OnTrigger" "force_buster_model,Trigger,,0.11,-1" "OnTrigger" "!activator,$GiveItem,The Tartantaloons,0.3,-1" "OnTrigger" "!activator,$GiveItem,Robin Walkers,0.3,-1" "OnTrigger" "!activator,SetForcedTauntCam,1,0.11,-1" "OnTrigger" "!activator,$AddItemAttribute,max health additive bonus|625|2,0.11,-1" "OnTrigger" "!activator,sethealth,800,0.3,-1" "OnTrigger" "!activator,$AddItemAttribute,no_attack|1|2,0.11,-1" "OnTrigger" "!activator,$AddPlayerAttribute,move speed penalty|2|2,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,no resupply|1|2,0,-1" "OnTrigger" "!activator,$AddItemAttribute,damage force reduction|0.5|2,0.11,-1" "OnTrigger" "!activator,$AddItemAttribute,always allow taunt|0.5|2,0.11,-1" //"OnTrigger" "!activator,$AddItemAttribute,override footstep sound set|7|2,0.11,-1" "OnTrigger" "!activator,$AddItemAttribute,cannot be backstabbed|1|2,0.11,-1" } filter_tf_class //fixes switching class after taunting and get a demoman model on other classes (lol) { "targetname" "filter_still_demoman" "Negated" "0" "tfclass" "4" "OnPass" "!activator,$SetVar$playerIsBuster,0" "OnPass" "!activator,$RemoveItem,The Tartantaloons,2,-1" "OnPass" "!activator,$RemoveItem,Robin Walkers,2,-1" "OnPass" "bster_explosion,Start,,0,-1" "OnPass" "!activator,SetCustomModel,,0,-1" "OnPass" "!activator,$RemoveCond,7,0,-1" "OnPass" "!activator,$RemoveCond,41,0,-1" "OnPass" "!activator,SetForcedTauntCam,0,0,-1" "OnPass" "!activator,$AddCond,57,0,-1" //"OnPass" "!activator,$AddCond,32,0,-1" "OnPass" "!activator,$RemoveCond,57,2,-1" //"OnPass" "!activator,$RemoveCond,32,2,-1" "OnPass" "common_damage,FireUser1,,0,-1" "OnPass" "giant_damage,FireUser1,,0,-1" "OnPass" "!activator,AddOutput,modelscale 1,0,-1" //"OnPass" "!activator,$RemoveItemAttribute,not solid to players|2,0,-1" "OnPass" "!activator,$RemoveItemAttribute,no_attack|2,0,-1" "OnPass" "!activator,$RemoveItemAttribute,max health additive bonus|2,0,-1" //"OnPass" "!activator,sethealth,201,0,-1" "OnPass" "!activator,$Regenerate,,0,-1" "OnPass" "!activator,AddOutput,BaseVelocity 0 0 1000,0,-1" "OnPass" "!activator,$RemovePlayerAttribute,move speed penalty,0,-1" "OnPass" "!activator,$RemovePlayerAttribute,mod weapon blocks healing,0,-1" "OnPass" "!activator,$RemovePlayerAttribute,no resupply,0,-1" "OnPass" "!activator,$RemoveItemAttribute,damage force reduction|2,0,-1" "OnPass" "!activator,$RemoveItemAttribute,always allow taunt|2,0,-1" "OnPass" "!activator,$RemoveItemAttribute,model scale|2,0,-1" //"OnPass" "!activator,$RemoveItemAttribute,override footstep sound set|2,0,-1" "OnPass" "!activator,$RemoveItemAttribute,cannot be backstabbed|2,0,-1" //remove overheal "OnPass" "!activator,$AddItemAttribute,mod_maxhealth_drain_rate|1|2,0,-1" "OnPass" "!activator,$RemoveItemAttribute,mod_maxhealth_drain_rate|2,0.1,-1" } filter_tf_condition { "targetname" "filter_is_taunting" "Negated" "0" "condition" "7" "OnPass" "caber_taunt_checker,Disable,,0,-1" "OnPass" "!self,Disable,,5,-1" "OnPass" "!activator,$AddPlayerAttribute,move speed penalty|0.001,0,-1" //prevent loserboys from using a cancelable taunt and escape the animation "OnPass" "force_buster_model,Disable,,2,-1" "OnPass" "@c@!activator,$ShowToAll,,2,-1" "OnPass" "filter_still_demoman,TestActivator,,2,-1" } filter_activator_tfteam { "targetname" "filter_is_red" "Negated" "0" "TeamNum" "2" "OnUser1" "!self,Kill,,2.1,-1" } $filter_sendprop { "targetname" "filter_is_common" "$name" "m_bIsMiniBoss" "$value" "0" "$compare" "equal" "Negated" "0" } filter_tf_condition { "targetname" "filter_still_in_spawn" "Negated" "1" "condition" "51" } filter_tf_condition { "targetname" "filter_ubered" "Negated" "1" "condition" "5" } filter_multi { "targetname" "filter_caber_common" "Negated" "0" "FilterType" "0" "Filter01" "filter_is_red" "Filter02" "filter_is_common" "Filter03" "filter_still_in_spawn" "Filter04" "filter_ubered" } $filter_sendprop { "targetname" "filter_is_giant" "$name" "m_bIsMiniBoss" "$value" "0" "$compare" "equal" "Negated" "1" } filter_multi { "targetname" "filter_caber_giant" "Negated" "0" "FilterType" "0" "Filter01" "filter_is_red" "Filter02" "filter_is_giant" } trigger_hurt { "targetname" "common_damage" "origin" "0 0 0" "mins" "-500 -500 -500" "maxs" "500 500 500" "Damage" "99999" "spawnflags" "1" "filtername" "filter_caber_common" "choices" "64" "StartDisabled" "1" "OnUser1" "!self,Enable,,0,-1" "OnUser1" "!self,Disable,,0.1,-1" } trigger_hurt { "targetname" "giant_damage" "origin" "0 0 0" "mins" "-500 -500 -500" "maxs" "500 500 500" "Damage" "1200" //damage is half of this "spawnflags" "1" "filtername" "filter_caber_giant" "choices" "64" "StartDisabled" "1" "OnUser1" "!self,Enable,,0,-1" "OnUser1" "!self,Disable,,0.1,-1" } logic_relay { "targetname" "caber_taunt_checker" "spawnflags" "2" "OnTrigger" "caber_taunt_checker,Trigger,,0.1,-1" "OnTrigger" "filter_is_taunting,TestActivator,!activator,0,-1" } } Building_Level2_Spawn { OnSpawnOutput { Target constructed_check_loop Action Trigger Delay 0.1 } $filter_sendprop { "targetname" "filter_constructed" "$name" "m_flPercentageConstructed" "$value" "1" "$compare" "greater than or equal" "Negated" "0" "OnPass" "apply_level2,Trigger,,0,-1" } //if building was built in setup or player used building canteen, cancel $filter_sendprop { "targetname" "filter_is_already_constructed" "$name" "m_iHighestUpgradeLevel" "$value" "2" "$compare" "greater than or equal" "Negated" "0" "OnPass" "constructed_check_loop,Disable,,0,-1" } logic_relay { "targetname" "constructed_check_loop" "spawnflags" "2" "OnTrigger" "filter_constructed,TestActivator,,0,-1" "OnTrigger" "filter_is_already_constructed,TestActivator,,0,-1" "OnTrigger" "!self,Trigger,,0.1,-1" } logic_relay { "targetname" "apply_level2" "spawnflags" "2" "OnTrigger" "!activator,$SetProp$m_iHighestUpgradeLevel,2,0,-1" "OnTrigger" "constructed_check_loop,Disable,,0,-1" } } Thunderdome_Spawn { OnSpawnOutput { Target "!activator" Action "$AddItemAttribute" Param "CARD: damage bonus|1.5|1" Delay 0 } OnSpawnOutput { Target "!activator" Action "$AddItemAttribute" Param "CARD: damage bonus|1.25|2" Delay 0 } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "CARD: damage bonus|1" Delay 0 } OnParentKilledOutput { Target "!activator" Action "$RemoveItemAttribute" Param "CARD: damage bonus|2" Delay 0 } // OnSpawnOutput // { // Target "@e@m_hMyWeapons@!activator" // Action "$SetProp$m_iClip1" // Param "0" // Delay 0 // } //very weird hack to prevent switching to weapon // OnSpawnOutput // { // Target "@e@m_hMyWeapons@!activator" // Action "$SetProp$m_bFlipViewModel" // Param "0" // Delay 0.01 // } OnSpawnOutput { Target "!activator" Action "$WeaponSwitchSlot" Param "1" Delay 0 } // OnSpawnOutput // { // Target "shield_hitbox" // Action "$SetOwner" // Param "!activator" // } // OnSpawnOutput // { // Target "shield_hitbox2" // Action "$SetOwner" // Param "!activator" // } OnSpawnOutput { Target "projectile_shield" Action "$SetModel" Param "models/props_mvm/mvm_comically_small_player_shield.mdl" } OnSpawnOutput { Target "projectile_shield2" Action "$SetModel" Param "models/props_mvm/mvm_comically_small_player_shield.mdl" } OnSpawnOutput { Target "rotate" Action "Start" } OnSpawnOutput { Target "rotate2" Action "Start" } OnSpawnOutput { Target "rotate" Action "SetParent" Param "" } OnSpawnOutput { Target "rotate2" Action "SetParent" Param "" } OnSpawnOutput { Target "popscript" Action "$registerShieldThunderdome" Param "projectile_shield" Delay 0.1 } OnSpawnOutput { Target "popscript" Action "$registerShieldThunderdome" Param "projectile_shield2" Delay 0.1 } OnSpawnOutput { Target "rotate_position" Action "Trigger" } logic_relay { "targetname" "rotate_position" "spawnflags" "2" "OnTrigger" "rotate,$TeleportToEntity,!activator,0,-1" "OnTrigger" "rotate2,$TeleportToEntity,!activator,0,-1" "OnTrigger" "!self,Trigger,,0.01,-1" } // trigger_hurt // { // "parentname" "rotate" // "origin" "100 0 1" // "mins" "-12 -53 -51.5" // "maxs" "12 53 51.5" // "teamnum" "3" // "targetname" "shield_hitbox" // "spawnflags" "1" // "filtername" "filter_is_red" // "Damage" "60" //damage is half of this // "damagetype" "512" // } entity_medigun_shield { "parentname" "rotate" "targetname" "projectile_shield" "origin" "100 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" } //2nd shield // trigger_hurt // { // "parentname" "rotate2" // "mins" "-12 -53 -51.5" // "maxs" "12 53 51.5" // "origin" "-100 0 1" // // "angles" "180 0 0" // "teamnum" "3" // "targetname" "shield_hitbox2" // "spawnflags" "1" // "filtername" "filter_is_red" // "Damage" "60" //damage is half of this // "damagetype" "512" // } entity_medigun_shield { "parentname" "rotate2" "targetname" "projectile_shield2" "origin" "-100 0 0" "angles" "-180 0 -180" "spawnflags" "1" "teamnum" "3" "skin" "1" } func_rotating { "targetname" "rotate2" "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" } } BabyFace_Spawn { OnSpawnOutput { Target "bbfb_relay" Action "Trigger" } logic_relay { "targetname" "bbfb_relay" "spawnflags" "2" "OnTrigger" "filter_has_maxcharge,TestActivator,,0,-1" "OnTrigger" "!self,Trigger,,0.2,-1" } $filter_sendprop { "targetname" "filter_has_maxcharge" "$name" "m_flHypeMeter" "$value" "99" "$compare" "greater than or equal" "Negated" "0" "OnPass" "!activator,$AddItemAttribute,add cond when active|46|0,0,-1" "OnPass" "!activator,$AddItemAttribute,reload time increased hidden|0.7|0,0,-1" "OnPass" "!activator,$AddItemAttribute,fire rate bonus HIDDEN|0.8|0,0,-1" "OnFail" "!activator,$RemoveItemAttribute,add cond when active|0,0,-1" "OnFail" "!activator,$RemoveItemAttribute,reload time increased hidden|0,0,-1" "OnFail" "!activator,$RemoveItemAttribute,fire rate bonus HIDDEN|0,0,-1" } } DirectHit_Spawn { //ensure rocket is at 1 on spawn OnSpawnOutput { Target "!activator" Action "$Regenerate" Delay 0 } } DirectHit_Rework_Global { NoFixup 1 //apply cooldown period where you can't reload rocket on hit very briefly //to avoid reloading multiple times in 1 tick through splash damage $filter_variable { "targetname" "_direct_hit_not_on_cooldown" "$name" "NoDirectHitReload" "$value" "1" "$compare" "equal" "Negated" "1" "OnPass" "@e@m_hMyWeapons@!activator,$SetProp$m_iClip1,$$=@e@m_hMyWeapons@!activator.m_iClip1 + 1,0.25,-1" "OnPass" "!activator,$SetVar$NoDirectHitReload,1,-1,-1" "OnPass" "!activator,$SetVar$NoDirectHitReload,0,0,-1" } logic_relay { "targetname" "direct_hit_on_hit" "spawnflags" "2" "OnTrigger" "_direct_hit_not_on_cooldown,TestActivator,,0,-1"//"@e@m_hMyWeapons@!activator,$SetProp$m_iClip1,$$=@e@m_hMyWeapons@!activator.m_iClip1 + 1,0,-1" } } KirinAscension_Spawn { OnSpawnOutput { Target "cloak_check" Action "Trigger" } filter_tf_condition { "targetname" "filter_is_cloaking" "Negated" "0" "condition" "4" "OnPass" "!activator,$RemoveCond,3,0,-1" //remove disguise "OnPass" "!activator,$AddCond,72,0,-1" "OnPass" "!activator,$AddPlayerAttribute,cannot disguise|1,0,-1" "OnFail" "!activator,$RemoveCond,72,0,-1" "OnFail" "!activator,$RemovePlayerAttribute,cannot disguise,0,-1" } logic_relay { "targetname" "cloak_check" "spawnflags" "2" "OnTrigger" "filter_is_cloaking,TestActivator,,0,-1" "OnTrigger" "!self,Trigger,,0.05,-1" } } Vitsaw_Rework_Global { NoFixup 1 logic_relay { "targetname" "_vita_duration" "spawnflags" "2" "OnTrigger" "!activator,$RemoveCond,16,5,-1" "OnTrigger" "!activator,$RemoveCond,29,5,-1" "OnTrigger" "!activator,$RemoveCond,26,5,-1" } filter_activator_tfteam { "targetname" "vitasaw_team_check" "TeamNum" "3"//blue "OnPass" "vitasaw_caller,$SetProp$m_iDecapitations,$$=vitasaw_caller.m_iDecapitations - 2,0.01,-1" "OnPass" "vitasaw_caller,AddOutput,targetname ,0.011,-1" "OnPass" "!activator,$AddCond,16,0,-1" "OnPass" "!activator,$AddCond,29,0,-1" "OnPass" "!activator,$AddCond,26,0,-1" "OnPass" "!activator,$CancelPending,,0,-1" "OnPass" "!activator,$RemoveOutput,OnUser4,0,-1" "OnPass" "!activator,AddOutput,OnUser4 !self:$RemoveCond:16:5:-1,0.01,-1" "OnPass" "!activator,AddOutput,OnUser4 !self:$RemoveCond:29:5:-1,0.01,-1" "OnPass" "!activator,AddOutput,OnUser4 !self:$RemoveCond:26:5:-1,0.01,-1" "OnPass" "!activator,AddOutput,OnUser4 !self:$RemoveOutput:OnUser4:5.1:-1,0.01,-1" "OnPass" "!activator,FireUser4,,0.02,-1" } } Vitasaw_Rework_Spawn { OnSpawnOutput { Target "vita_relay" Action "Trigger" } logic_relay { "targetname" "vita_relay" "spawnflags" "2" "OnTrigger" "filter_has_enough_organs,TestActivator,,0,-1" "OnTrigger" "!self,Trigger,,0.2,-1" } $filter_sendprop { "targetname" "filter_has_enough_organs" "$name" "m_iDecapitations" "$value" "2" "$compare" "greater than or equal" "Negated" "0" "OnPass" "!activator,$AddItemAttribute,allow friendly fire|1|2,0,-1" "OnFail" "!activator,$RemoveItemAttribute,allow friendly fire|2,0,-1" } } // mini buddy template 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" } } rpg_shoottemplate { KeepAlive 1 OnParentKilledOutput { Target "rpg_template_aliveness" Action Kill Delay 0.1 } OnParentKilledOutput { Target "rpg_impact_sound" Action Kill Delay 0.1 } OnParentKilledOutput { Target "rpg_impact_sound" Action PlaySound Delay 0.01 } logic_relay { "targetname" "rpg_template_aliveness" } prop_dynamic { "targetname" "projectile" "DisableBoneFollowers" "1" "disableshadows" "1" "model" "models/empty.mdl" "solid" "0" "spawnflags" "0" "StartDisabled" "0" } ambient_generic { "targetname" "rpg_impact_sound" "health" "4" "message" "rpg_sounds/rpg_explode.wav" "pitch" "100" "pitchstart" "100" "radius" "11000" "spawnflags" "48" "StartDisabled" "0" } RemoveIfKilled "rpg_template_aliveness" } shortcircuit_rebalance { KeepAlive 1 OnSpawnOutput { Target discharge_particle Action $SetFakeParent Param discharge } OnSpawnOutput { Target discharge Action $SetFakeParent Param !activator } OnSpawnOutput { Target discharge_damage Action $InHeritOwner Param !activator } OnParentKilledOutput { Target "discharge" Action Kill } info_target { "targetname" "discharge" "origin" "0 0 0" "$onKilled" "discharge_damage,enable,,0,-1" "$onKilled" "discharge_pulse,enable,,0.1,-1" //"$onKilled" "discharge_sfx,playsound,,0.1,-1" //"$onKilled" "discharge_sfx,stopsound,,4.8,-1" //"$onKilled" "discharge_sfx,kill,,5,-1" "$onKilled" "discharge_particle,kill,,1.5,-1" "$onKilled" "discharge_pulse,kill,,1.5,-1" "$onKilled" "discharge_damage,kill,,1.5,-1" } logic_timer { "targetname" "discharge_pulse" "startDisabled" "1" "RefireTime" "0.5" "onTimer" "discharge_particle,start,,0,-1" "onTimer" "discharge_particle,stop,,0.4,-1" } info_particle_system { "targetname" "discharge_particle" "effect_name" "drg_cow_explosion_sparkles_charged_blue" "start_active" "0" "$modules" "fakeparent" } //ambient_generic //{ // "targetname" "discharge_sfx" // "parentname" "discharge_particle" // "health" "7" // "pitch" "50" // "message" "weapons/flame_thrower_fire_hit.wav" // "spawnflags" "16" // "volstart" "7" // "radius" "2000" //} trigger_hurt { "filtername" "filter_redteam" "targetname" "discharge_damage" "parentname" "discharge_particle" "startDisabled" "1" "spawnflags" "1" "mins" "-128 -128 0" "maxs" "128 128 32" "damagetype" "512" "damage" "30" "damagecap" "30" "damagemodel" "1" "nodmgforce" "1" } RemoveIfKilled "discharge_damage" } } }