From 6c700d7d57ad06ce680ae8b0a21da942f4e5398e Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 3 Jun 2013 08:10:53 +1000 Subject: [PATCH] Fade out ice when the frozen player/monster is about to defrost --- qcsrc/server/cl_client.qc | 1 + qcsrc/server/g_damage.qc | 2 +- qcsrc/server/monsters/lib/monsters_early.qh | 4 ++-- qcsrc/server/mutators/gamemode_ctf.qc | 4 ++-- qcsrc/server/mutators/gamemode_freezetag.qc | 4 ++-- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index 242e461f8..72011d479 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -2249,6 +2249,7 @@ void PlayerPreThink (void) { self.revive_progress = bound(0, self.revive_progress + frametime * self.revive_speed, 1); self.health = max(1, self.revive_progress * autocvar_g_balance_health_start); + self.iceblock.alpha = 1 - self.revive_progress; if(self.revive_progress >= 1) Unfreeze(self); diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index d4bb9a449..7ca31cecb 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -576,7 +576,7 @@ void Freeze (entity targ, float freeze_time, float frozen_type, float show_waypo ice.frame = floor(random() * 21); // ice model has 20 different looking frames setmodel(ice, "models/ice/ice.md3"); ice.alpha = 1; - ice.colormod = Team_ColorRGB(self.team); + ice.colormod = Team_ColorRGB(targ.team); ice.glowmod = ice.colormod; targ.iceblock = ice; diff --git a/qcsrc/server/monsters/lib/monsters_early.qh b/qcsrc/server/monsters/lib/monsters_early.qh index 717d14c80..445b3d08d 100644 --- a/qcsrc/server/monsters/lib/monsters_early.qh +++ b/qcsrc/server/monsters/lib/monsters_early.qh @@ -76,14 +76,14 @@ float monster_string2id(string monster) } } +.float anim_start_time; + float MSF_UPDATE = 2; float MSF_STATUS = 4; float MSF_SETUP = 8; float MSF_ANG = 16; float MSF_MOVE = 32; -.float anim_start_time; float MSF_ANIM = 64; -float MSF_SIZE = 128; float MSF_FULL_UPDATE = 16777215; diff --git a/qcsrc/server/mutators/gamemode_ctf.qc b/qcsrc/server/mutators/gamemode_ctf.qc index 80effd771..0ca3e9679 100644 --- a/qcsrc/server/mutators/gamemode_ctf.qc +++ b/qcsrc/server/mutators/gamemode_ctf.qc @@ -451,7 +451,7 @@ void ctf_Handle_Capture(entity flag, entity toucher, float capturetype) void ctf_Handle_Return(entity flag, entity player) { // messages and sounds - if(player.classname == "player") + if(IS_PLAYER(player)) Send_Notification(NOTIF_ONE, player, MSG_CENTER, APP_TEAM_ENT_2(flag, CENTER_CTF_RETURN_)); Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_2(flag, INFO_CTF_RETURN_), player.netname); @@ -459,7 +459,7 @@ void ctf_Handle_Return(entity flag, entity player) ctf_EventLog("return", flag.team, player); // scoring - if(player.classname == "player") + if(IS_PLAYER(player)) { PlayerTeamScore_AddScore(player, autocvar_g_ctf_score_return); // reward for return PlayerScore_Add(player, SP_CTF_RETURNS, 1); // add to count of returns diff --git a/qcsrc/server/mutators/gamemode_freezetag.qc b/qcsrc/server/mutators/gamemode_freezetag.qc index 5e83a8c4a..d5daee217 100644 --- a/qcsrc/server/mutators/gamemode_freezetag.qc +++ b/qcsrc/server/mutators/gamemode_freezetag.qc @@ -218,7 +218,7 @@ void havocbot_role_ft_offense() } // If only one left on team or if role has timed out then start trying to free players. - if (((unfrozen == 0) && (self.frozen != 1)) || (time > self.havocbot_role_timeout)) + if (((unfrozen == 0) && (!self.frozen)) || (time > self.havocbot_role_timeout)) { dprint("changing role to freeing\n"); self.havocbot_role = havocbot_role_ft_freeing; @@ -286,7 +286,7 @@ MUTATOR_HOOKFUNCTION(freezetag_PlayerDies) if(round_handler_IsActive()) if(round_handler_CountdownRunning()) { - if(self.frozen == 1) + if(self.frozen) freezetag_Unfreeze(world); freezetag_count_alive_players(); return 1; // let the player die so that he can respawn whenever he wants -- 2.39.2