]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Fade out ice when the frozen player/monster is about to defrost
authorMario <mario.mario@y7mail.com>
Sun, 2 Jun 2013 22:10:53 +0000 (08:10 +1000)
committerMario <mario.mario@y7mail.com>
Sun, 2 Jun 2013 22:10:53 +0000 (08:10 +1000)
qcsrc/server/cl_client.qc
qcsrc/server/g_damage.qc
qcsrc/server/monsters/lib/monsters_early.qh
qcsrc/server/mutators/gamemode_ctf.qc
qcsrc/server/mutators/gamemode_freezetag.qc

index 242e461f8cfa4a9913b473f9136fa80906fbd2d8..72011d4790e57d0f14a89a1adf962f8a08d47739 100644 (file)
@@ -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);
index d4bb9a44982bdbe9bb87b12243cfb5da18e62eee..7ca31cecbb91adc8f24e61dc755bff041fc985ba 100644 (file)
@@ -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;
 
index 717d14c8082a12b218df9a3105a34677c8ba5f6b..445b3d08dc7c91cee56f74bc3f878c17a0ec5c2d 100644 (file)
@@ -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;
 
index 80effd771ac31958ff2ccf1e9725c25bf04e21f1..0ca3e9679e19dec915c9dd337c719241021ce0ff 100644 (file)
@@ -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
index 5e83a8c4a8d23945b4f3ed00bf5e8e78759169bf..d5daee2173fcfb961aa8824f8948cd204512683d 100644 (file)
@@ -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