block load
{
	es_xset fly 0
	es_xset shx1 0
	es_xset shy1 0
	es_xset shz1 0
	es_xset primary 0
	es_xset secondary 0
	es_xset strider_fly 0
	es_xset high_jump 0
	es_xexists wcs_exists command +fly
	es_xregclientcmd +fly HOLLIDAY_WCS/Strider_Hiryu/+fly "Command for Fly"
	es_xexists wcs_exists command -fly
	es_xregclientcmd -fly HOLLIDAY_WCS/Strider_Hiryu/-fly "Command for Stop Fly"
	if (server_var(wcs_exists) = 0) then es_xregsaycmd +fly HOLLIDAY_WCS/Strider_Hiryu/+fly "Command for special abilities"
	if (server_var(wcs_exists) = 0) then es_xregsaycmd -fly HOLLIDAY_WCS/Strider_Hiryu/-fly "Command for special abilities"
	es_xexists ex clientcommand strider
	if (server_var(ex) = 0) then es_xregclientcmd strider HOLLIDAY_WCS/Strider_Hiryu/StriderWard "Command for StriderWard"
	es_xexists ex saycommand strider
	if (server_var(ex) = 0) then es_xregsaycmd strider HOLLIDAY_WCS/Strider_Hiryu/StriderWard "Command for StriderWard"
	es_xexists wcs_exists command StriderWard
	es es_xif (server_var(wcs_exists) = 0) then es_xregcmd StriderWard HOLLIDAY_WCS/Strider_Hiryu/wcs_strider "Strider, explodes on nearby enemies"

}


block +fly
{
	es_xgetcmduserid fly
	es_xset strider_fly 0
	es es_xkeygetvalue strider_fly WCSuserdata server_var(fly) strider_fly
	es es_xif (server_var(strider_fly) = fly) do
	{

		es_xmath invicount - 1
		es_xmath flycount - 1
		es est_jetpack server_var(fly) 1
		es est_speed server_var(fly) server_var(flyspeed)
		es est_setplayercolor server_var(fly) 100 100 220 125 1
		es est_playplayer server_var(fly) weapons/mortar/mortar_explode3.wav
		es est_getprimary primary server_var(fly)
		es est_getsecondary secondary server_var(fly)
		es es_delayed 0.1 est_removeweapon server_var(fly) 1
		es es_delayed 0.1 est_removeweapon server_var(fly) 2
		es_xset entityCount 0
		es_xset mySmokeName ""
		es_xformatv mySmokeName "smoke_%1" entityCount
		es_give server_var(fly) env_Smokestack
		es est_SetEntName server_var(eventscripts_lastgive) server_var(mySmokeName)
		es_fire server_var(fly) server_var(mySmokeName)  addoutput "basespread 80"
		es_fire server_var(fly) server_var(mySmokeName)  addoutput "spreadspeed 2"
		es_fire server_var(fly) server_var(mySmokeName)  addoutput "speed 30"
		es_fire server_var(fly) server_var(mySmokeName)  addoutput "startsize 15"
		es_fire server_var(fly) server_var(mySmokeName)  addoutput "endsize 16"
		es_fire server_var(fly) server_var(mySmokeName)  addoutput "rate 200"
		es_fire server_var(fly) server_var(mySmokeName)  addoutput "jetlength 10"
		es_fire server_var(fly) server_var(mySmokeName)  addoutput "twist 40"
		es_fire server_var(fly) server_var(mySmokeName)  addoutput "SmokeMaterial particle\fire.vmt"
		es_fire server_var(fly) server_var(mySmokeName)  addoutput "angles 90 90 90"
		es_fire server_var(fly) server_var(mySmokeName)  addoutput "rendermode 18"
		es_fire server_var(fly) server_var(mySmokeName)  addoutput "renderamt 100"
		es_fire server_var(fly) server_var(mySmokeName)  addoutput "rendercolor 100 100 220"
		es_fire server_var(fly) server_var(mySmokeName)  turnon
		es_fire server_var(fly) server_var(mySmokeName)  setparent !activator
		es_xmath entityCount + 1
	}
}


block -fly
{
	es_xgetcmduserid fly
	es_xset strider_fly 0
	es es_xkeygetvalue strider_fly WCSuserdata server_var(fly) strider_fly
	es es_xif (server_var(strider_fly) = fly) do
	{
		es est_jetpack server_var(fly) 0
		es est_speed server_var(fly) 1
		es est_setplayercolor server_var(fly) 255 255 255 255 1
		es est_give server_var(fly) server_var(primary)
		es est_give server_var(fly) server_var(secondary)
		es est_playplayer server_var(fly) weapons/mortar/mortar_explode1.wav
		es_delayed .5 es_fire server_var(fly) server_var(mySmokeName) kill
	}
}

block Advanced_High_Jump
{

	es est_getgravity wcs_tmp1 event_var(attacker)
	es_xmath wcs_tmp1 - 0.2
	es est_setgravity event_var(attacker) server_var(wcs_tmp1)
	es es_xtell event_var(attacker) #multi #lightgreenYour skill #greenHigh Jump #lightgreen has advanced to the next level
	es est_playplayer event_var(attacker) ambient/machines/teleport3.wav
	es es_xgetplayerlocation wcs_x1 wcs_y1 wcs_z1 event_var(attacker)
	es es_xgetplayerlocation wcs_x2 wcs_y2 wcs_z2 event_var(userid)
	es_xmath wcs_z1 + 50
	es est_Effect 10 #a 0 sprites/steam1.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 90 150 3 20 5 2 15 20 255 200 1
	es_xmath wcs_z1 + 50
	es_xmath wcs_z2 + 30
	es est_Effect 3 #a 0 effects/strider_bulge_dudv_dx60.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 3 3 13 155 155 155 255
}



block StriderWard
{

	es_xsetinfo wcs_userid 0
	es_xgetargv wcs_userid 1
	es es_xexists wcs_exists userid server_var(wcs_userid)
	es es_xif (server_var(wcs_exists) = 0) do
	{
		es_xgetcmduserid wcs_userid
		es es_xexists wcs_exists userid server_var(wcs_userid)
	}
	es es_xgetplayerprop wcs_dead server_var(wcs_userid) "CCSPlayer.baseclass.pl.deadflag"
	es es_xif (server_var(wcs_dead) = "1") then es_xsetinfo wcs_exists 0
	es_xcopy wcs_ulti_allow wcs_gamestarted
	es es_xif (server_var(wcs_ulti_allow) != "1") then es_xsetinfo wcs_exists 0
	es es_xif (server_var(wcs_exists) = 1) do
	{
		es es_xexists wcs_exists key WCSuserdata server_var(wcs_userid)
		es es_xif (server_var(wcs_exists) = 1) do
		{
			es es_xkeygetvalue wcs_tmp WCSuserdata server_var(wcs_userid) "strider"
			es es_xif (server_var(wcs_tmp) in "StriderWard") do
			{
				es_xsetinfo wcs_ability_count 0
				es es_xkeygetvalue wcs_ability_count WCSuserdata server_var(wcs_userid) ability_count
				es es_xif (server_var(wcs_ability_count) > 0) do
				{
					es es_xif (server_var(wcs_tmp) = "StriderWard") do
					{
						es_xsetinfo wcs_params 0
						es es_xkeygetvalue wcs_params WCSuserdata server_var(wcs_userid) "ability_parameter"
						es es_xif (server_var(wcs_params) != "0") do
						{
							es es_xgetplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid)
							es_xsetinfo wcs_duration 0
							es es_xtoken wcs_duration server_var(wcs_params) 1 "_"
							es es_xif (server_var(wcs_graphicfx) = 1) do
							{
								es_xcopy wcs_x2 wcs_x1
								es_xcopy wcs_y2 wcs_y1
								es_xcopy wcs_z2 wcs_z1
								es est_Effect 10 #a 0 "effects/strider_bulge_dudv_dx60.vmt" server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_radius) 5 server_var(wcs_duration) 5 5 1 255 250 70 10 10
								es_xmath wcs_z1 + 80
								es est_Effect 3 #a 0 "sprites/lgtning.vmt" server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) server_var(wcs_duration) 20 20 10 50 255 170
								es est_Effect 11 #a 0 "effects/strider_bulge_dudv_dx60.vmt" server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_duration) 1 50
							}
							es es_xgetplayerteam wcs_team server_var(wcs_userid)
							es es_xif (server_var(wcs_team) = 2) do
							{
								es_xsetinfo wcs_team_target 3
								es_xsetinfo wcs_team_targetn "#ct"
							}
							es es_xif (server_var(wcs_team) = 3) do
							{
								es_xsetinfo wcs_team_target 2
								es_xsetinfo wcs_team_targetn "#t"
							}
							es es_xtoken wcs_dmg server_var(wcs_params) 2 "_"
							es es_xtoken wcs_radius server_var(wcs_params) 3 "_"
							es StriderWard server_var(wcs_userid) server_var(wcs_duration) server_var(wcs_dmg) server_var(wcs_radius) server_var(wcs_team_target) server_var(wcs_team_targetn) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_roundcounter)
							es es_xtell server_var(wcs_userid) #multi #greenYou have practiced the art of Kayakujutsu
						}
					}
					es_xmath wcs_ability_count - 1
					es es_xkeysetvalue WCSuserdata server_var(wcs_userid) ability_count server_var(wcs_ability_count)
				}
				es_xelse do
				{
					wcs_getlanguage "wcs_lng" "wcs_lng_noability"
					es es_xtell server_var(wcs_userid) #multi server_var(wcs_lng)
				}
			}
			es es_xif (server_var(wcs_debug) = 1) then profile end ability
		}
	}
}



block wcs_strider
{
	es es_xif (server_var(wcs_debug) = "1") then echo wcs_strider start
	es_xsetinfo wcs_uid 0
	es_xsetinfo wcs_duration 0
	es_xsetinfo wcs_dmg 0
	es_xsetinfo wcs_radius 0
	es_xsetinfo wcs_team_target 0
	es_xsetinfo wcs_wardenround 0
	es_xgetargv wcs_uid 1
	es_xgetargv wcs_duration 2
	es_xgetargv wcs_dmg 3
	es_xgetargv wcs_radius 4
	es_xgetargv wcs_team_target 5
	es_xgetargv wcs_team_targetn 6
	es_xgetargv wcs_x1 7
	es_xgetargv wcs_y1 8
	es_xgetargv wcs_z1 9
	es_xgetargv wcs_wardenround 10
	es es_xexists wcs_exists userid server_var(wcs_uid)
	es es_xgetlivingplayercount wcs_alive server_var(wcs_team_target)
	es es_xif (server_var(wcs_alive) < 1) then es_xsetinfo wcs_exists 0
	es es_xif (server_var(wcs_wardenround) != server_var(wcs_roundcounter)) then es_xsetinfo wcs_duration 0
	es es_xif (server_var(wcs_exists) = 1) do
	{
		es es_xif (server_var(wcs_duration) > 0) do
		{
			es es_xif (server_var(wcs_radius) != "0") do
			{
				es es_xif (server_var(wcs_team_targetn) != "0") do
				{
					es_xsetinfo wcs_wall "1"
					alias wcs_run_strider "es es_xgetplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es est_getwallbetween wcs_wall server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2);es es_xif (server_var(wcs_wall) = 0) then wcs_run_strider2"
					alias wcs_run_strider2 "es wcs_dealdamage server_var(wcs_uid) server_var(wcs_targetid) server_var(wcs_dmg);es wcs_explode server_var(wcs_uid) server_var(wcs_targetid) server_var(wcs_dmg);es est_burn server_var(wcs_targetid) 2;es es_xtell server_var(wcs_targetid) #multi #greenYou have been hit by Kayakujutsu;es_xmath wcs_z2 + 40;es est_effect 3 #a 0 effects/strider_bulge_dudv_dx60.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 0.5 3 6 255 255 225 255;es est_effect 7 #a 0 sprites/smoke.vmt server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 100 10;wcs_run_strider3"
					alias wcs_run_strider3 "es es_xgetplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es est_effect 11 #a 0 sprites/smoke.vmt server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 1 255"
					es nearcoord wcs_targetid server_var(wcs_team_targetn) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_radius) server_var(wcs_radius) server_var(wcs_radius) "es es_xgetplayerprop wcs_dead server_var(wcs_targetid) CCSPlayer.baseclass.pl.deadflag;es es_xif (server_var(wcs_dead) = 0) then wcs_run_strider"
					es_xmath wcs_duration - 1
					es es_xdelayed 1 StriderWard server_var(wcs_uid) server_var(wcs_duration) server_var(wcs_dmg) server_var(wcs_radius) server_var(wcs_team_target) server_var(wcs_team_targetn) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_wardenround)
				}
			}
		}
	}
	es es_xif (server_var(wcs_debug) = "1") then echo wcs_strider end
}


block Portal
{
	es_xset portal 0
	es es_xkeygetvalue portal WCSuserdata server_var(wcs_userid) portal
	if (server_var(portal) = 0) do
	{
		es es_xgetplayerlocation shx1 shy1 shz1 server_var(wcs_userid)
		es es_xkeysetvalue WCSuserdata server_var(wcs_userid) portal 1
		es es_xtell server_var(wcs_userid) #multi #lightgreenYou have created a #greenPortal #lightgreenpress ultimate again to #greenTelport #lightgreen to this location
	}
	if (server_var(portal) = 1) do
	{
		es est_playplayer server_var(wcs_userid) ambient/levels/citadel/portal_beam_shoot3.wav
		es_cexec server_var(wcs_userid) r_screenoverlay Effects\tp_eyefx\tpeye3.vmt
		es est_fade server_var(wcs_userid) 0 1 1 0 0 0 255
		es_delayed 2 es_cexec server_var(wcs_userid) r_screenoverlay 0
		es est_teleport server_var(wcs_userid) server_var(shx1) server_var(shy1) server_var(shz1)
		es es_xkeysetvalue WCSuserdata server_var(wcs_userid) portal 0
		es es_xtell server_var(wcs_userid) #multi #lightgreenYou have #greenTeleported #lightgreento your saved location
		es est_setplayercolor server_var(wcs_userid) 255 255 255 0 1
		es_delayed 2.1 es est_setplayercolor server_var(wcs_userid) 255 255 255 255 1
	}
}


event player_death
{
	es es_xkeysetvalue WCSuserdata event_var(userid) strider 0
	es es_xkeysetvalue WCSuserdata event_var(userid) strider_fly 0
	es es_xkeysetvalue WCSuserdata event_var(userid) high_jump 0
	es es_xkeysetvalue WCSuserdata event_var(userid) portal 0
}
