;==============================================================================================
;---------------------------------------------------------------------------------------------
; Stripper made by Hobbitten
; Contact me if something is broken 
; Steam: https://steamcommunity.com/profiles/76561198013974519/
; Discord: _hobbitten
; Last changed: 28-11-2023
;---------------------------------------------------------------------------------------------
;==============================================================================================

;-------------------------------------------------
; Keeps map updated with stripper versions
;-------------------------------------------------
modify:
{
	match:
	{
        "classname" "logic_auto"
	}
	delete:
	{
        "OnMapSpawn" "console,Command,mp_roundtime 30,0,-1"
	}
	insert:
	{
    	"OnMapSpawn" "console,Command,say *** STRIPPER 2 LOADED ***,7,-1"
      	"OnMapSpawn" "console,Command,mp_roundtime 60,0,-1"
	}
}
;---------------------------------
; Makes demon item user slower
;--------------------------------- 
modify:
{
	match:
	{
		"targetname" "demon_knife"
		"classname" "weapon_knife"
	}
	insert:
	{
		"OnPlayerPickup" "speed,ModifySpeed,0.8,0,-1"
	}
}
;---------------------------------
; Makes tyrael item user faster
;--------------------------------- 
modify:
{
	match:
	{
		"targetname" "tyrael_knife"
		"classname" "weapon_knife"
	}
	insert:
	{
		"OnPlayerPickup" "speed,ModifySpeed,1.1,0,-1"
	}
}
;---------------------------------------------------------------------
; Makes sure that Demon item is reset back to 0.8 after tyrael nuke
;---------------------------------------------------------------------
add:
{
    "model" "*341"
    "wait" "1"
    "targetname" "tyrael_demon_ult_slow"
    "StartDisabled" "1"
    "spawnflags" "1"
    "parentname" "tyrael_knife"
    "origin" "10708 9584 13938.6"
    "filtername" "demon_filter"
    "classname" "trigger_multiple"
    "OnStartTouch" "speed,ModifySpeed,0.3,0.01,-1"
    "OnStartTouch" "speed,ModifySpeed,0.8,8,-1"
}
;---------------------------------------------------------------------------
; Makes sure that Demon item is reset back to 0.8 after demon item usage
;---------------------------------------------------------------------------
add:
{
    "model" "*163"
    "wait" "1"
    "targetname" "demon_usage_ult_speed"
    "StartDisabled" "1"
    "spawnflags" "1"
    "parentname" "demon_knife"
    "origin" "8032 9578 13938.6"
    "filtername" "demon_filter"
    "classname" "trigger_multiple"
    "OnStartTouch" "speed,ModifySpeed,1.8,0.01,-1"
    "OnStartTouch" "speed,ModifySpeed,0.8,3,-1"
}
;------------------------------------------------------------------------------------------
; Makes sure that the demon slow is returned and here is put inside a logic_relay
;------------------------------------------------------------------------------------------
modify:
{
	match:
	{
		"targetname" "tyrael_ult_relay"
		"classname" "logic_relay"
	}
	insert:
	{
        "OnTrigger" "tyrael_demon_ult_slow,Enable,,13,-1"
        "OnTrigger" "tyrael_demon_ult_slow,Disable,,17,-1"
	}
}
modify:
{
	match:
	{
		"targetname" "demon_ult_relay"
		"classname" "logic_relay"
	}
	insert:
	{
    	"OnTrigger" "demon_usage_ult_speed,Enable,,7,-1"
    	"OnTrigger" "demon_usage_ult_speed,Disable,,12,-1"
	}
}
;------------------------------------------------------------
; Makes 4 modifyers which deletes & adds new push system
;------------------------------------------------------------
modify:
{
	match:
	{
		"targetname" "demon_hitbox"
		"classname" "func_physbox_multiplayer"
        "origin" "8020 9600 13919.6"
	}
	delete:
	{
		"OnDamaged" "demon_push_back,Disable,,0.01,-1"
    	"OnDamaged" "demon_push_back,Enable,,0,-1"
	}
	insert:
	{
    	"OnDamaged" "!self,FireUser1,,0,1"
    	"OnUser1" "demon_push_back,Disable,,0.01,-1"
    	"OnUser1" "demon_push_back,Enable,,0,-1"
    	"OnUser1" "!self,AddOutput,OnDamaged !self:FireUser1::0.00:1,0.02,-1"
	}
}
modify:
{
	match:
	{
		"targetname" "demon_hitbox"
		"classname" "func_physbox_multiplayer"
		"origin" "8004 9584 13919.6"
	}
	delete:
	{
    	"OnDamaged" "demon_push_left,Disable,,0.01,-1"
        "OnDamaged" "demon_push_left,Enable,,0,-1"
	}
	insert:
	{
        "OnDamaged" "!self,FireUser1,,0,1"
        "OnUser1" "demon_push_left,Disable,,0.01,-1"
        "OnUser1" "demon_push_left,Enable,,0,-1"
    	"OnUser1" "!self,AddOutput,OnDamaged !self:FireUser1::0.00:1,0.02,-1"
	}
}
modify:
{
	match:
	{
		"targetname" "demon_hitbox"
		"classname" "func_physbox_multiplayer"
        "origin" "8036 9584 13919.6"
	}
	delete:
	{
        "OnDamaged" "demon_push_right,Disable,,0.01,-1"
        "OnDamaged" "demon_push_right,Enable,,0,-1"
	}
	insert:
	{
        "OnDamaged" "!self,FireUser1,,0,1"
        "OnUser1" "demon_push_right,Disable,,0.01,-1"
        "OnUser1" "demon_push_right,Enable,,0,-1"
        "OnUser1" "!self,AddOutput,OnDamaged !self:FireUser1::0.00:1,0.02,-1"
	}
}
modify:
{
	match:
	{
		"targetname" "demon_hitbox"
		"classname" "func_physbox_multiplayer"
        "origin" "8020 9568 13919.6"
	}
	delete:
	{
        "OnDamaged" "demon_push_forward,Disable,,0.01,-1"
        "OnDamaged" "demon_push_forward,Enable,,0,-1"
	}
	insert:
	{
        "OnDamaged" "!self,FireUser1,,0,1"
        "OnUser1" "demon_push_forward,Disable,,0.01,-1"
        "OnUser1" "demon_push_forward,Enable,,0,-1"
        "OnUser1" "!self,AddOutput,OnDamaged !self:FireUser1::0.00:1,0.02,-1"
	}
}
;----------------------------------------------------------------
; Fixes demon item health so it can be killed by shooting
;----------------------------------------------------------------
modify:
{
	match:
	{
		"targetname" "demon_hitbox"
		"classname" "func_physbox_multiplayer"
	}
	delete:
	{
        "OnDamaged" "demon_health,Subtract,1,0,-1"
	}
	insert:
	{
        "OnHealthChanged" "demon_health,Subtract,1,0,-1"
	}
}
;--------------------------------------
; Reworks math_counter for demon item
;-------------------------------------
modify:
{
	match:
	{
		"targetname" "demon_health"
		"classname" "math_counter"
	}
	delete:
	{
        "OnHitMax" "demon_new_model_relay,Trigger,,1,1"
        "OnHitMax" "demon_model_parent,DisableMotion,,0.01,1"
     	"OnHitMax" "demon_attack_relay,Kill,,0.01,1"
        "OnHitMax" "demon_ult_relay,Kill,,0.01,1"
        "OnHitMax" "demon_attack_hurt,Kill,,0.01,1"
	    "OnHitMax" "demon_model_parent,ClearParent,,0,1"
        "OnHitMax" "demon_ult_relay,CancelPending,,0,1"
        "OnHitMax" "demon_attack_relay,CancelPending,,0,1"
        "OnHitMax" "demon_hurt_player,ClearParent,,0,1"
        "OnHitMax" "demon_push*,Kill,,0,1"
        "OnHitMax" "demon_death_sound,PlaySound,,0,1"
        "OnHitMax" "demon_reset_damagefilter,Enable,,0,1"
        "OnHitMax" "reset_damagefilter_demon_timer,Enable,,0,1"
	}
	insert:
	{
    	"OnHitMin" "demon_new_model_relay,Trigger,,1,1"
        "OnHitMin" "demon_model_parent,DisableMotion,,0.01,1"
        "OnHitMin" "demon_attack_relay,Kill,,0.01,1"
        "OnHitMin" "demon_ult_relay,Kill,,0.01,1"
        "OnHitMin" "demon_attack_hurt,Kill,,0.01,1"
        "OnHitMin" "demon_model_parent,ClearParent,,0,1"
        "OnHitMin" "demon_ult_relay,CancelPending,,0,1"
        "OnHitMin" "demon_attack_relay,CancelPending,,0,1"
        "OnHitMin" "demon_hurt_player,ClearParent,,0,1"
        "OnHitMin" "demon_push*,Kill,,0,1"
        "OnHitMin" "demon_death_sound,PlaySound,,0,1"
        "OnHitMin" "demon_reset_damagefilter,Enable,,0,1"
        "OnHitMin" "reset_damagefilter_demon_timer,Enable,,0,1"
	}
	replace:
	{
        "startvalue" "3000"
        "min" "1"
        "max" "3000"
	} 
}
;--------------------------------------
; Fixes door so it can be forceclosed
;--------------------------------------
modify:
{
	match:
	{
		"targetname" "s2_church_door"
		"classname" "func_door"
	}
	replace:
	{
        "forceclosed" "1"
	}
}
// ;--------------------------------------
// ; Fixes lasers targeting dead people
// ;--------------------------------------
// modify:
// {
//    match:
//    {
//        "targetname" "seph_targeter"
//        "classname" "trigger_multiple"
//    }
//    insert:
//    {
//       "OnTrigger" "seph_target,ClearParent,,0.05,-1"
//    }
// }
;-----------------------------------------------------------------------
; Fixes an extreme logic_relay which is not killed on normal stage
;-----------------------------------------------------------------------
modify:
{
	match:
	{
		"targetname" "stage_3_relay"
		"classname" "logic_relay"
	}
	insert:
	{
        "OnTrigger" "s3_extreme_elevator_relay,Kill,,1,-1"
	}
}
;-----------------------------------------------------------------------
; Fixes an normal logic_relay which is not killed on extreme stage
;-----------------------------------------------------------------------
modify:
{
	match:
	{
		"targetname" "stage_3_extreme_relay"
		"classname" "logic_relay"
	}
	insert:
	{
        "OnTrigger" "s3_normal_elevator_relay,Kill,,1,-1"
	}
}
;-----------------------------------------------------------------------
; Fixes so marathon mode does not have any extreme logic_relays
;-----------------------------------------------------------------------
modify:
{
	match:
	{
        "targetname" "stage_4_relay_marathon"
        "classname" "logic_relay"
	}
	insert:
	{
        "OnTrigger" "s3_extreme_boss1_relay,Kill,,1,-1"
        "OnTrigger" "s3_extreme_boss2_relay,Kill,,1,-1"
        "OnTrigger" "s3_extreme_bridge_relay,Kill,,1,-1"
        "OnTrigger" "s3_extreme_elevator_relay,Kill,,1,-1"
        "OnTrigger" "s3_extreme_ending1_relay,Kill,,1,-1"
        "OnTrigger" "s3_extreme_gate_relay,Kill,,1,-1"
        "OnTrigger" "s3_extreme_tower_relay,Kill,,1,-1"
        "OnTrigger" "stage_3_extreme_ending,Kill,,1,-1"
        "OnTrigger" "s2_extreme_church_relay,Kill,,1,-1"
        "OnTrigger" "s2_extreme_dungeon_relay,Kill,,1,-1"
        "OnTrigger" "s2_extreme_home_relay,Kill,,1,-1"
        "OnTrigger" "s2_extreme_raft_relay,Kill,,1,-1"
        "OnTrigger" "stage_2_real_ending_extreme,Kill,,1,-1"
        "OnTrigger" "s1_extreme_dungeon_relay,Kill,,1,-1"
        "OnTrigger" "s1_extreme_end_relay,Kill,,1,-1"
        "OnTrigger" "s1_extreme_gate_relay,Kill,,1,-1"
        "OnTrigger" "s1_extreme_lever_relay,Kill,,1,-1"
        "OnTrigger" "s1_extreme_tower_relay,Kill,,1,-1"
        "OnTrigger" "s1_extreme_water_relay,Kill,,1,-1"
	}
}
;---------------------------------------------------------------------------------------------
; Fixes so on stage 3 phase 1 bossfight zombies will be teleported once its defeated
;---------------------------------------------------------------------------------------------
add:
{
    "model" "*157"
    "wait" "1"
    "targetname" "s3_boss_zm_tp_phase2"
    "StartDisabled" "1"
    "spawnflags" "1"
    "origin" "5563.4 -13056 11162"
    "filtername" "MapFilterT"
    "classname" "trigger_multiple"
    "OnStartTouch" "s3_phase_2_zm_tp_case,PickRandomShuffle,,0,-1"
}
;-----------------------------------------------------------------------
; Increases boss damage done from diablo phase 1 on stage 3
;-----------------------------------------------------------------------
modify:
{
	match:
	{
        "targetname" "Diablo_Boss_hurt"
        "classname" "trigger_hurt"
	}
	replace:
	{
        "damage" "120"
	}
}
;-------------------------------------------------------------------------------------------------
; Gives 4 extra seconds before the bridge spawns on stage 3 preventing players from being killed
;-------------------------------------------------------------------------------------------------
modify:
{
	match:
	{
        "targetname" "s3_trigger_1"
        "classname" "trigger_once"
	}
	delete:
	{
        "OnStartTouch" "bridge_spawner_bruh2,ForceSpawn,,1,1"
	}
	insert:
	{
        "OnStartTouch" "bridge_spawner_bruh2,ForceSpawn,,5,1"
	}
}
;---------------------------------------------------------------------------------------------------------------
; Fixes extreme logic_relays not being killed when it goes to nextstage because map is forcespawning them again
;---------------------------------------------------------------------------------------------------------------
modify:
{
	match:
	{
        "targetname" "stage_1_marathon_ending"
        "classname" "logic_relay"
	}
	insert:
	{
        "OnTrigger" "s2_tristram_music,PlaySound,,7,1"
        "OnTrigger" "s2_extreme_church_relay,Kill,,7,1"
		"OnTrigger" "s2_extreme_dungeon_relay,Kill,,7,1"
		"OnTrigger" "s2_extreme_home_relay,Kill,,7,1"
		"OnTrigger" "s2_extreme_raft_relay,Kill,,7,1"
	}
}
modify:
{
	match:
	{
        "targetname" "stage_2_marathon_ending"
        "classname" "logic_relay"
	}
	insert:
	{
        "OnTrigger" "s3_spawn_music,PlaySound,,8,1"
        "OnTrigger" "s3_extreme_boss1_relay,Kill,,8,1"
		"OnTrigger" "s3_extreme_boss2_relay,Kill,,8,1"
		"OnTrigger" "s3_extreme_bridge_relay,Kill,,8,1"
		"OnTrigger" "s3_extreme_elevator_relay,Kill,,8,1"
		"OnTrigger" "s3_extreme_ending1_relay,Kill,,8,1"
		"OnTrigger" "s3_extreme_gate_relay,Kill,,8,1"
		"OnTrigger" "s3_extreme_tower_relay,Kill,,8,1"
		"OnTrigger" "stage_3_extreme_ending,Kill,,8,1"
	}
}
;-------------------------------------------
; Fixes players getting stuck on the raft
;-------------------------------------------
add:
{
	"model" "*208"
	"targetname" "s2_fix_stuck_on_raft"
	"parentname" "s2_raft"
	"target" "s2_raft_stuck_dest"
	"StartDisabled" "1"
	"spawnflags" "1"
	"origin" "-14674.8 -2782.34 5965.66"
	"filtername" "MapFilterCT"
	"classname" "trigger_teleport"
}
add:
{
	"origin" "-14184 -11448 6264"
	"targetname" "s2_raft_stuck_dest"
	"angles" "0 45 0"
	"classname" "info_teleport_destination"
}
modify:
{
	match:
	{
    	"targetname" "s2_raft_track_2"
        "classname" "path_track"
	}
	insert:
	{
        "OnPass" "s2_fix_stuck_on_raft,Enable,,2,1"
        "OnPass" "s2_fix_stuck_on_raft,Disable,,3,1"
	}
}
;-------------------------------------------------------------------------
; Fixes display of a math_counter not being killed when phase 1 boss dies
;-------------------------------------------------------------------------
modify:
{
	match:
	{
        "targetname" "Diablo_Boss_Break"
        "classname" "func_physbox_multiplayer"
	}
	insert:
	{
        "OnBreak" "hp_math_counter,Kill,,0,1"
	}
}
;-------------------------------------------------------------------------
; Fixes boss hp not working properly in stage 3 with the math_counters
;-------------------------------------------------------------------------
modify:
{
	match:
	{
        "targetname" "Diablo_Boss_Break"
        "classname" "func_physbox_multiplayer"
	}
	delete:
	{
		"OnStartTouch" "Boss_Health1,Add,90,0,-1"
		"OnStartTouch" "Boss_HealthBackup1,Add,90,0,-1"
	}
	insert:
	{
		"OnStartTouch" "Boss_Health2,Add,90,0,-1"
		"OnStartTouch" "Boss_HealthBackup2,Add,90,0,-1"
	}
}
;-----------------------------------------------------------------
; Gives players just 5 extra seconds at the staircase on stage 3
;-----------------------------------------------------------------
modify:
{
	match:
	{
        "targetname" "s3_stairs"
        "classname" "func_movelinear"
	}
	delete:
	{
		"OnFullyOpen" "s3_afk0,Enable,,15,1"
		"OnFullyOpen" "console,Command,say *** Zombie TP in 15 seconds ***,0,1"
		"OnFullyOpen" "s3_afk02,Enable,,15,1"
	}
	insert:
	{
		"OnFullyOpen" "s3_afk0,Enable,,20,1"
		"OnFullyOpen" "console,Command,say *** Zombie TP in 20 seconds ***,0,1"
		"OnFullyOpen" "s3_afk02,Enable,,20,1"
	}
}
;-----------------------------------------------------------------
; Fixes an origin for marathon mode to properly trigger a message 
;-----------------------------------------------------------------
modify:
{
	match:
	{
        "targetname" "s2_start"
        "classname" "trigger_once"
	}
	replace:
	{
		"origin" "-11776 -3944 6208"
	}
}
;-------------------------------------------------------------------------------
; Removes a message from normal relay as it only meant to be shown in extreme
;-------------------------------------------------------------------------------
modify:
{
	match:
	{
		"targetname" "s2_normal_raft_relay"
		"classname" "logic_relay"
	}
	delete:
	{
		"OnTrigger" "console,Command,say *** Bad weather caused the stream to pick up...  ***,0,1"
	}
}






;-------------------------------
; Filters a bunch of particles
;-------------------------------
filter:
{
    "targetname" "rock_fuck_particle"
    "classname" "info_particle_system"
}
filter:
{
    "targetname" "fire_fill"
    "classname" "info_particle_system"
}
filter:
{
    "targetname" "room_fire"
    "classname" "info_particle_system"
}
filter:
{
    "targetname" "s3_ending_fire5"
    "classname" "info_particle_system"
}