#include "../common/triggers/func/conveyor.qh"
#include "../common/triggers/teleporters.qh"
+#include "../common/triggers/target/spawnpoint.qh"
#include "../common/vehicles/all.qh"
this.weapons = '0 0 0';
this.drawonlytoclient = this;
+ this.viewloc = NULL;
+
+ //this.spawnpoint_targ = NULL; // keep it so they can return to where they were?
+
this.weaponmodel = "";
for (int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
{
this.pauserothealth_finished = time + autocvar_g_balance_pause_health_rot_spawn;
this.pauserotfuel_finished = time + autocvar_g_balance_pause_fuel_rot_spawn;
this.pauseregen_finished = time + autocvar_g_balance_pause_health_regen_spawn;
- // extend the pause of rotting if client was reset at the beginning of the countdown
- if (!autocvar_sv_ready_restart_after_countdown && time < game_starttime) { // TODO why is this cvar NOTted?
+ if (!sv_ready_restart_after_countdown && time < game_starttime)
+ {
float f = game_starttime - time;
this.spawnshieldtime += f;
this.pauserotarmor_finished += f;
this.pauserothealth_finished += f;
this.pauseregen_finished += f;
}
+
this.damageforcescale = 2;
this.death_time = 0;
this.respawn_flags = 0;
this.viewloc = NULL;
+ for(int slot = 0; slot < MAX_AXH; ++slot)
+ {
+ entity axh = this.(AuxiliaryXhair[slot]);
+ this.(AuxiliaryXhair[slot]) = NULL;
+
+ if(axh.owner == this && axh != NULL && !wasfreed(axh))
+ delete(axh);
+ }
+
+ this.spawnpoint_targ = NULL;
+
this.crouch = false;
this.view_ofs = STAT(PL_VIEW_OFS, this);
setsize(this, STAT(PL_MIN, this), STAT(PL_MAX, this));
this.ammo_nails = spectatee.ammo_nails;
this.ammo_rockets = spectatee.ammo_rockets;
this.ammo_fuel = spectatee.ammo_fuel;
- this.clip_load = spectatee.clip_load;
- this.clip_size = spectatee.clip_size;
this.effects = spectatee.effects & EFMASK_CHEAP; // eat performance
this.health = spectatee.health;
CS(this).impulse = 0;
this.superweapons_finished = spectatee.superweapons_finished;
STAT(PRESSED_KEYS, this) = STAT(PRESSED_KEYS, spectatee);
this.weapons = spectatee.weapons;
- this.vortex_charge = spectatee.vortex_charge;
- this.vortex_chargepool_ammo = spectatee.vortex_chargepool_ammo;
- this.oknex_charge = spectatee.oknex_charge;
- this.oknex_chargepool_ammo = spectatee.oknex_chargepool_ammo;
- this.hagar_load = spectatee.hagar_load;
- this.arc_heat_percent = spectatee.arc_heat_percent;
- this.minelayer_mines = spectatee.minelayer_mines;
this.punchangle = spectatee.punchangle;
this.view_ofs = spectatee.view_ofs;
this.velocity = spectatee.velocity;
setsize(this, spectatee.mins, spectatee.maxs);
SetZoomState(this, CS(spectatee).zoomstate);
- for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
- {
- .entity weaponentity = weaponentities[slot];
- this.(weaponentity) = spectatee.(weaponentity);
- }
-
- for(int slot = 0; slot < MAX_AXH; ++slot)
- {
- this.(AuxiliaryXhair[slot]) = spectatee.(AuxiliaryXhair[slot]);
- }
-
anticheat_spectatecopy(this, spectatee);
this.hud = spectatee.hud;
if(spectatee.vehicle)
{
.entity weaponentity = weaponentities[slot];
W_WeaponFrame(this, weaponentity);
-
- if(slot == 0)
- {
- this.clip_load = this.(weaponentity).clip_load;
- this.clip_size = this.(weaponentity).clip_size;
- }
}
this.items_added = 0;