;-----------------------------------------------
;***********************************************
;********** STRIPPER BY KLIXUS *****************
;***********************************************
;-----------------------------------------------

;-------------------------------------
; STAGE 3
;-------------------------------------
;fix repeated bosshp trigger exploit
add:
{
	"model" "*231"
	"targetname" "bosslvl3_harpy_trigger1"
	"wait" "0.1"
	"StartDisabled" "1"
	"spawnflags" "1"
	"origin" "9285.01 -1296.63 -7934.5"
	"classname" "trigger_multiple"
	"OnStartTouch" "bosslvl3_harpy_counter1,Add,26,0,-1"
	"OnStartTouch" "bosslvl3_harpy_counter2,Add,26,0,-1"
}
add:
{
	"model" "*231"
	"targetname" "BossHP_glitch"
	"StartDisabled" "0"
	"speed" "600"
	"spawnflags" "1"
	"pushdir" "0 180 0"
	"filtername" "filter_human"
	"origin" "9314.75 -1312.72 -7934.5"
	"classname" "trigger_push"
}
add:
{
	"model" "*231"
	"targetname" "BossHP_glitch2"
	"StartDisabled" "0"
	"speed" "600"
	"spawnflags" "1"
	"pushdir" "0 180 0"
	"filtername" "filter_human"
	"origin" "9210.71 -1254.63 -7934.5"
	"classname" "trigger_push"
}
filter:
{
	"origin" "9856.5 -1392.5 -8482"
	"targetname" "bosslvl3_harpy_trigger1"
	"classname" "trigger_multiple"
	"hammerid" "2659073"	
}

;patch teleport avoidance spot
modify:
{
	match:
	{
		"model" "*542"
		"hammerid" "3346941"
		"classname" "trigger_teleport"
	}
	insert:
	{
		"OnUser1" "!self,AddOutput,mins -2712 -1640 -1256,0,1"
		"OnUser1" "!self,AddOutput,maxs 2712 1640 420,0,1"
	}
}
modify:
{
	match:
	{
		"hammerid" "123"
		"classname" "logic_auto"
	}
	insert:
	{
		"OnMapSpawn" "afktele20_2,FireUser1,,5,1"
	}
}

;-------------------------------------
; STAGE 4
;-------------------------------------
;add additional button in admin room to trigger secret ending
add:
{

	"model" "*12"
	"wait" "3"
	"unlocked_sound" "0"
	"unlocked_sentence" "0"
	"targetname" "secret_mode_button"
	"speed" "5"
	"spawnflags" "1025"
	"sounds" "0"
	"rendermode" "0"
	"renderfx" "0"
	"rendercolor" "255 255 255"
	"renderamt" "255"
	"origin" "-14384.5 -14300.8 -994"
	"movedir" "0 0 0"
	"locked_sound" "0"
	"locked_sentence" "0"
	"lip" "0"
	"health" "0"
	"disablereceiveshadows" "0"
	"classname" "func_button"
	"hammerid" "100001"
	"OnPressed" "map_command,Command,say >>> ADMIN CHANGED TO STAGE 0: DARK WORLD <<<,0,-1"
	"OnPressed" "Stage_Counter,SetValue,4,0,-1"
}
add:
{
	"classname" "prop_dynamic"
	"angles" "0 270 0"
	"DisableBoneFollowers" "1"
	"disablereceiveshadows" "0"
	"disableshadows" "0"
	"ExplodeDamage" "0"
	"ExplodeRadius" "0"
	"fademaxdist" "0"
	"fademindist" "-1"
	"fadescale" "1"
	"MaxAnimTime" "10"
	"maxdxlevel" "0"
	"MinAnimTime" "5"
	"mindxlevel" "0"
	"model" "models/props/cs_militia/toilet.mdl"
	"modelscale" "1.0"
	"PerformanceMode" "0"
	"pressuredelay" "0"
	"RandomAnimation" "0"
	"renderamt" "255"
	"rendercolor" "255 255 255"
	"renderfx" "0"
	"rendermode" "0"
	"SetBodyGroup" "0"
	"skin" "0"
	"solid" "0"
	"spawnflags" "0"
	"StartDisabled" "0"
	"origin" "-14384.5 -14288.8 -994"
}

;remove stage 0 boss attack that crashes clients
modify:
{
	match:
	{
		"origin" "2621 -9057 8443"
		"targetname" "bosslvl4_case"
		"classname" "logic_case"
		"hammerid" "2172637"
	}
	delete:
	{
		"OnCase06" "boss_command,Command,say >>> QUEEN USED FIRE BEAM <<<,3,-1"
		"OnCase06" "bosslvl4_fire_case,PickRandom,,3,-1"
		"OnCase06" "bosslvl4_fire2_eff,Start,,9.5,-1"
		"OnCase06" "bosslvl4_fire2_hurt,Enable,,9.5,-1"
		"OnCase06" "bosslvl4_fire2_rotate,Open,,10.5,-1"
		"OnCase06" "beamsound,PlaySound,,9.5,-1"
	}
}

;remove all related entities to the boss attack
filter:
{
	"origin" "2541 -9057 8443"
	"targetname" "bosslvl4_fire_case"
	"classname" "logic_case"
	"hammerid" "3047368"
}
filter:
{
	"origin" "2827 -7756 7893.5"
	"targetname" "bosslvl4_fire_move"
	"classname" "func_tanktrain"
	"hammerid" "3047326"
}
filter:
{
	"origin" "2826 -7756 7892"
	"targetname" "bosslvl4_fire_path2"
	"classname" "path_track"
	"hammerid" "3047395"
}
filter:
{
	"origin" "2826 -7356 7892"
	"targetname" "bosslvl4_fire_path1"
	"classname" "path_track"
	"hammerid" "3047421"
}
filter:
{
	"origin" "2826 -8156 7892"
	"targetname" "bosslvl4_fire_path3"
	"classname" "path_track"
	"hammerid" "3047454"
}
filter:
{
	"origin" "2670 -7764 7908"
	"targetname" "bosslvl4_fire2_eff"
	"classname" "info_particle_system"
	"hammerid" "3049350"
}
filter:
{
	"origin" "2670 -7764 7948"
	"targetname" "bosslvl4_fire2_hurt"
	"classname" "trigger_hurt"
	"hammerid" "3049415"
}

;fix secret stage beam cannon incorrect parenting
modify:
{
	match:
	{
		"targetname" "bosslvl4_beam_rotate"
		"origin" "-2206.5 7742 3734"
		"classname" "func_door_rotating"
	}
	replace:
	{
		"targetname" "bosslvl4_beam_rotate_2"
	}
	insert:
	{
		"parentname" "bosslvl4_beam_rotate"
	}
}
modify:
{
	match:
	{
		"origin" "-1955 7807 3673"
		"targetname" "bosslvl4_beam_temp"
		"classname" "point_template"
	}
	insert:
	{
		"Template07" "bosslvl4_beam_rotate_2"
	}
}
modify:
{
	match:
	{
		"origin" "2605 -9005 8443"
		"targetname" "bosslvl4_beam_counter3"
		"classname" "math_counter"
	}
	insert:
	{
		"OnHitMin" "bosslvl4_beam_rotate_2,Kill,,0,-1"
	}
}
modify:
{
	match:
	{
		"targetname" "bosslvl4_beam_hit"
		"origin" "2542.5 -8436 7854.5"
		"classname" "func_physbox"
	}
	insert:
	{
		"OnHealthChanged" "bosslvl4_beam_rotate_2,Color,255 0 0,0,-1"
		"OnHealthChanged" "bosslvl4_beam_rotate_2,Color,255 255 255,0.1,-1"
	}
}

;replace physics level system with perm entities
add:
{
	"classname" "info_target"
	"targetname" "Stage_CounterInit"
	"spawnflags" "0"
	"OnUser1" "Stage_CounterTemplate,ForceSpawn,,0,1"
	"OnUser1" "Stage_Counter,AddOutput,classname info_target,0.03,1"
	"OnUser1" "!self,Kill,,0.06,1"
}
add:
{
	"classname" "point_template"
	"targetname" "Stage_CounterTemplate"
	"Template01" "Stage_Counter"
	"spawnflags" "2"
}
add:
{
	"classname" "math_counter"
	"targetname" "Stage_Counter"
	"startvalue" "1"
	"StartDisabled" "0"
	"min" "1"
	"max" "4"
	"OnGetValue" "Stage_Case,InValue,,0,-1"
}
add:
{
	"classname" "logic_case"
	"targetname" "Stage_Case"
	"Case01" "1"
	"Case02" "2"
	"Case03" "3"
	"case04" "4"
	"OnCase01" "lvl1_map_relay,Trigger,,0.02,1"
	"OnCase02" "lvl2_map_relay,Trigger,,0.02,1"
	"OnCase03" "lvl6_map_relay,Trigger,,0.02,1"
	"OnCase04" "lvl4_map_relay,Trigger,,0.02,1"
}
modify:
{
	match:
	{
		"origin" "-13173 -14784 -1017"
		"classname" "logic_auto"
	}
	insert:
	{
		"OnMapSpawn" "Stage_CounterInit,FireUser1,,0,1"
		"OnMapSpawn" "Stage_Counter,GetValue,,0.02,1"
	}
}

;change existing stage change triggers to the new system
modify:
{
	match:
	{
		"targetname" "lvl1_win"
		"origin" "15674 -11696.5 -5105"
		"classname" "trigger_once"
	}
	delete:
	{
		"OnStartTouch" "lvl2_brush,Disable,,0.05,-1"
		"OnStartTouch" "lvl1_brush,Enable,,0,-1"
		"OnStartTouch" "lvl2_brush,Enable,,0,-1"
		"OnStartTouch" "lvl6_brush,Enable,,0,-1"
		"OnStartTouch" "lvl4_brush,Enable,,0,-1"
	}
	insert:
	{
		"OnStartTouch" "Stage_Counter,SetValue,2,0,-1"
	}
}
modify:
{
	match:
	{
		"targetname" "lvl2_win"
		"origin" "13905.5 -3609 496.75"
		"classname" "trigger_once"
	}
	delete:
	{
		"OnStartTouch" "lvl6_brush,Disable,,0.05,-1"
		"OnStartTouch" "lvl1_brush,Enable,,0,-1"
		"OnStartTouch" "lvl2_brush,Enable,,0,-1"
		"OnStartTouch" "lvl6_brush,Enable,,0,-1"
		"OnStartTouch" "lvl4_brush,Enable,,0,-1"
	}
	insert:
	{
		"OnStartTouch" "Stage_Counter,SetValue,3,0,-1"
	}
}
modify:
{
	match:
	{
		"origin" "11163.6 13495 4312.61"
		"targetname" "lvl6_branch"
		"classname" "logic_branch"
	}
	delete:
	{
		"OnFalse" "lvl4_brush,Disable,,5.05,-1"
		"OnFalse" "lvl1_brush,Enable,,5,-1"
		"OnFalse" "lvl2_brush,Enable,,5,-1"
		"onFalse" "lvl6_brush,Enable,,5,-1"
		"OnFalse" "lvl4_brush,Enable,,5,-1"
		"OnTrue" "lvl1_brush,Disable,,0.05,-1"
		"OnTrue" "lvl1_brush,Enable,,0,-1"
		"OnTrue" "lvl2_brush,Enable,,0,-1"
		"OnTrue" "lvl6_brush,Enable,,0,-1"
		"OnTrue" "lvl4_brush,Enable,,0,-1"
	}
	insert:
	{
		"OnFalse" "Stage_Counter,SetValue,4,5,-1"
		"OnTrue" "Stage_Counter,SetValue,1,0,-1"
	}
}
modify:
{
	match:
	{
		"targetname" "lvl4_win"
		"origin" "-4487 5370 7350.65"
		"classname" "trigger_once"
	}
	delete:
	{
		"OnStartTouch" "lvl1_brush,Disable,,5.05,-1"
		"OnStartTouch" "lvl1_brush,Enable,,5,-1"
		"OnStartTouch" "lvl2_brush,Enable,,5,-1"
		"OnStartTouch" "lvl6_brush,Enable,,5,-1"
		"OnStartTouch" "lvl4_brush,Enable,,5,-1"
	}
	insert:
	{
		"OnStartTouch" "Stage_Counter,SetValue,1,5,-1"
	}
}
modify:
{
	match:
	{
		"targetname" "lvl1_button"
		"origin" "-14601.5 -14300.8 -973"
		"classname" "func_button"
	}
	delete:
	{
		"OnPressed" "lvl1_brush,Disable,,0.05,-1"
		"OnPressed" "lvl1_brush,Enable,,0,-1"
		"OnPressed" "lvl2_brush,Enable,,0,-1"
		"OnPressed" "lvl6_brush,Enable,,0,-1"
		"OnPressed" "lvl4_brush,Enable,,0,-1"
	}
	insert:
	{
		"OnPressed" "Stage_Counter,SetValue,1,0,-1"
	}
}
modify:
{
	match:
	{
		"targetname" "lvl2_button"
		"origin" "-14528.5 -14300.8 -973"
		"classname" "func_button"
	}
	delete:
	{
		"OnPressed" "lvl2_brush,Disable,,0.05,-1"
		"OnPressed" "lvl1_brush,Enable,,0,-1"
		"OnPressed" "lvl2_brush,Enable,,0,-1"
		"OnPressed" "lvl6_brush,Enable,,0,-1"
		"OnPressed" "lvl4_brush,Enable,,0,-1"
	}
	insert:
	{
		"OnPressed" "Stage_Counter,SetValue,2,0,-1"
	}
}
modify:
{
	match:
	{
		"targetname" "lvl3_button"
		"origin" "-14456.5 -14300.8 -973"
		"classname" "func_button"
	}
	delete:
	{
		"OnPressed" "lvl6_brush,Disable,,0.05,-1"
		"OnPressed" "lvl1_brush,Enable,,0,-1"
		"OnPressed" "lvl2_brush,Enable,,0,-1"
		"OnPressed" "lvl6_brush,Enable,,0,-1"
		"OnPressed" "lvl4_brush,Enable,,0,-1"
	}
	insert:
	{
		"OnPressed" "Stage_Counter,SetValue,3,0,-1"
	}
}

;cleanup up old level system
filter:
{
	"classname" "func_physbox"
	"targetname" "lvl_phys"
}
filter:
{
	"classname" "func_brush"
	"targetname" "/lvl(1|2|6|4)_brush/"
}
filter:
{
	"classname" "trigger_once"
	"targetname" "/lvl(1|2|6|4)_trigger/"
}
modify:
{
	match:
	{
		"classname" "logic_auto"
	}
	delete:
	{
		"OnMapSpawn" "lvl_phys,EnableMotion,,0,-1"
	}
}

;------------------------------------------
; CHANGE THE GARGANTUA MODEL TO A RECOMPILED VERSION
; TO FIX ISSUES SINCE THE VSCRIPT UPDATE
; by Moltard
; Require players to DL the new model + materials
;------------------------------------------
modify:
{
	match:
	{
		"model" "models/garg.mdl"
		"classname" "prop_dynamic"
	}
	replace:
	{
		"model" "models/garg_fix_2025.mdl"
	}
}
