seta g_freezetag_warmup 5 "Time players get to run around before the round starts"
seta g_freezetag_point_limit -1 "Freeze Tag point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
seta g_freezetag_point_leadlimit -1 "Freeze Tag point lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
-seta g_freezetag_revive_time 5 "Time it takes to revive a frozen teammate"
+seta g_freezetag_revive_time 3 "Time it takes to revive a frozen teammate"
seta g_freezetag_revive_extra_size 100 "Distance in qu that you can stand from a frozen teammate to keep reviving him"
+seta g_freezetag_frozen_force 0.25 "How much to multiply the force on a frozen player with"
// 50% of the spawns shall be far away from any players
set g_spawn_furthest 0.5
self.classname = "player";
PutClientInServer();
}
+ else if(g_freezetag)
+ {
+ if(self.classname == "player")
+ PutClientInServer();
+ }
else
{
/*
float f;
string msg;
- if((!g_arena && !g_ca) || (g_arena && !arena_roundbased) || (time < game_starttime))
+ if((!g_arena && !g_ca && !g_freezetag) || (g_arena && !arena_roundbased) || (time < game_starttime))
return;
f = ceil(warmup - time);
}
}
- // become fully visible
- self.alpha = 1;
- // clear selected player display
- ClearSelectedPlayer();
- // throw a weapon
- SpawnThrownWeapon (self.origin + (self.mins + self.maxs) * 0.5, self.switchweapon);
+ if(!g_freezetag)
+ {
+ // become fully visible
+ self.alpha = 1;
+ // clear selected player display
+ ClearSelectedPlayer();
+ // throw a weapon
+ SpawnThrownWeapon (self.origin + (self.mins + self.maxs) * 0.5, self.switchweapon);
+ }
+
// print an obituary message
Obituary (attacker, inflictor, self, deathtype);
race_PreDie();
frag_target = self;
MUTATOR_CALLHOOK(PlayerDies);
+ if(g_freezetag)
+ return;
+
if(self.flagcarried)
{
if(attacker.classname != "player" && attacker.classname != "gib")
if(((arena_roundbased || g_ca || g_freezetag) && time < warmup) || ((time < game_starttime) && !cvar("sv_ready_restart_after_countdown")))
return;
+ if(g_freezetag && self.freezetag_frozen == 1)
+ return;
+
if (!self.weaponentity || self.health < 1)
return; // Dead player can't use weapons and injure impulse commands
if (attacker.isbot)
damage = damage * bound(0.1, (skill + 5) * 0.1, 1);
+ if(g_freezetag)
+ {
+ if(targ.freezetag_frozen == 1)
+ {
+ damage = 0;
+ force = force * cvar("g_freezetag_frozen_force");
+ }
+ }
+
// nullify damage if teamplay is on
if(deathtype != DEATH_TELEFRAG)
if(attacker.classname == "player")
-models/ice/ice.tga
+models/ice/ice
{
cull none
dpnoshadow
blendfunc add
rgbgen vertex
}
-}
\ No newline at end of file
+}