void UpdateAuxiliaryXhair(entity own, vector loc, vector clr, float axh_id)
{
- if not(IS_REAL_CLIENT(own))
+ if (!IS_REAL_CLIENT(own))
return;
entity axh;
**/
void CSQCVehicleSetup(entity own, float vehicle_id)
{
- if not(IS_REAL_CLIENT(own))
+ if (!IS_REAL_CLIENT(own))
return;
-
+
msg_entity = own;
WriteByte(MSG_ONE, SVC_TEMPENTITY);
WriteByte(MSG_ONE, TE_CSQC_VEHICLESETUP);
if(vehicle_id != 0)
- WriteByte(MSG_ONE, vehicle_id);
+ WriteByte(MSG_ONE, vehicle_id);
else
WriteByte(MSG_ONE, 1 + own.vehicle.vehicle_weapon2mode + HUD_VEHICLE_LAST);
}
if(trace_ent.deadflag != DEAD_NO)
trace_ent = world;
- if not (trace_ent.vehicle_flags & VHF_ISVEHICLE ||
+ if(!trace_ent.vehicle_flags & VHF_ISVEHICLE ||
trace_ent.turrcaps_flags & TFL_TURRCAPS_ISTURRET ||
trace_ent.takedamage == DAMAGE_TARGETDRONE)
trace_ent = world;
setorigin(self, self.pos1 + '0 0 0');
// Show it
pointparticles(particleeffectnum("teleport"), self.origin + '0 0 64', '0 0 0', 1);
-
+
if(self.vehicle_controller)
self.team = self.vehicle_controller.team;
-
+
vehicles_reset_colors();
self.vehicle_spawn(VHSF_NORMAL);
}
{
if(MUTATOR_CALLHOOK(VehicleTouch))
return;
-
+
// Vehicle currently in use
if(self.owner)
{
return;
}
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return;
if(other.deadflag != DEAD_NO)
void vehicles_enter()
{
// Remove this when bots know how to use vehicles
-
- if (IS_BOT_CLIENT(other))
+
+ if (IS_BOT_CLIENT(other))
if (autocvar_g_vehicles_allow_bots)
dprint("Bot enters vehicle\n"); // This is where we need to disconnect (some, all?) normal bot AI and hand over to vehicle's _aiframe()
else
self.team = self.owner.team;
self.flags -= FL_NOTARGET;
-
+
if (IS_REAL_CLIENT(other))
{
msg_entity = other;
WriteByte (MSG_ONE, SVC_SETVIEWPORT);
WriteEntity(MSG_ONE, self.vehicle_viewport);
-
+
WriteByte (MSG_ONE, SVC_SETVIEWANGLES);
if(self.tur_head)
{
vehicles_clearreturn();
CSQCVehicleSetup(self.owner, self.hud);
-
+
vh_player = other;
vh_vehicle = self;
MUTATOR_CALLHOOK(VehicleEnter);
entity _vehicle;
entity _player;
entity _oldself = self;
-
+
if(vehicles_exit_running)
{
dprint("^1vehicles_exit allready running! this is not good..\n");
return;
}
-
+
vehicles_exit_running = TRUE;
if(IS_CLIENT(self))
{
_vehicle = self.vehicle;
-
+
if (_vehicle.vehicle_flags & VHF_PLAYERSLOT)
{
_vehicle.vehicle_exit(eject);
self = _oldself;
vehicles_exit_running = FALSE;
- return;
+ return;
}
}
else
_vehicle = self;
-
+
_player = _vehicle.owner;
-
+
self = _vehicle;
if (_player)
WriteAngle(MSG_ONE, _vehicle.angles_y);
WriteAngle(MSG_ONE, 0);
}
-
+
setsize(_player, PL_MIN,PL_MAX);
_player.takedamage = DAMAGE_AIM;
CSQCVehicleSetup(_player, HUD_NORMAL);
}
_vehicle.flags |= FL_NOTARGET;
-
+
if(_vehicle.deadflag == DEAD_NO)
_vehicle.avelocity = '0 0 0';
-
+
_vehicle.tur_head.nodrawtoclient = world;
-
+
if(!teamplay)
_vehicle.team = 0;
_vehicle = vh_vehicle;
_vehicle.team = _vehicle.tur_head.team;
-
+
sound (_vehicle, CH_TRIGGER_SINGLE, "misc/null.wav", 1, ATTEN_NORM);
- _vehicle.vehicle_hudmodel.viewmodelforclient = _vehicle;
+ _vehicle.vehicle_hudmodel.viewmodelforclient = _vehicle;
_vehicle.phase = time + 1;
-
+
_vehicle.vehicle_exit(eject);
-
+
vehicles_setreturn();
- vehicles_reset_colors();
+ vehicles_reset_colors();
_vehicle.owner = world;
self = _oldself;
-
+
vehicles_exit_running = FALSE;
}
{
if(_healthscale)
regen = regen * (self.vehicle_health / self.tur_health);
-
+
self.regen_field = min(self.regen_field + regen * delta_time, field_max);
if(self.owner)
void vehicles_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
{
self.dmg_time = time;
-
+
if(DEATH_ISWEAPON(deathtype, WEP_NEX))
damage *= autocvar_g_vehicles_nex_damagerate;
-
+
if(DEATH_ISWEAPON(deathtype, WEP_UZI))
damage *= autocvar_g_vehicles_uzi_damagerate;
-
+
if(DEATH_ISWEAPON(deathtype, WEP_RIFLE))
damage *= autocvar_g_vehicles_rifle_damagerate;
-
+
if(DEATH_ISWEAPON(deathtype, WEP_MINSTANEX))
damage *= autocvar_g_vehicles_minstanex_damagerate;
if(DEATH_ISWEAPON(deathtype, WEP_SEEKER))
damage *= autocvar_g_vehicles_tag_damagerate;
-
+
self.enemy = attacker;
-
+
if((self.vehicle_flags & VHF_HASSHIELD) && (self.vehicle_shield > 0))
{
if (wasfreed(self.vehicle_shieldent) || self.vehicle_shieldent == world)
if(sound_allowed(MSG_BROADCAST, attacker))
spamsound (self, CH_PAIN, "onslaught/ons_hit2.wav", VOL_BASE, ATTEN_NORM); // FIXME: PLACEHOLDER
}
-
+
if(self.damageforcescale < 1 && self.damageforcescale > 0)
self.velocity += force * self.damageforcescale;
else
self.active = ACTIVE_NOT;
else
self.active = ACTIVE_ACTIVE;
-
+
if(self.active == ACTIVE_ACTIVE && self.deadflag == DEAD_NO)
{
dprint("^3Eat shit yall!\n");
}
else if(self.active == ACTIVE_NOT && self.deadflag != DEAD_NO)
{
-
+
}
}
-float vehicle_addplayerslot( entity _owner,
- entity _slot,
- float _hud,
+float vehicle_addplayerslot( entity _owner,
+ entity _slot,
+ float _hud,
string _hud_model,
- float() _framefunc,
+ float() _framefunc,
void(float) _exitfunc)
{
- if not (_owner.vehicle_flags & VHF_MULTISLOT)
+ if (!(_owner.vehicle_flags & VHF_MULTISLOT))
_owner.vehicle_flags |= VHF_MULTISLOT;
_slot.PlayerPhysplug = _framefunc;
_slot.vehicle_hudmodel = spawn();
_slot.vehicle_hudmodel.viewmodelforclient = _slot;
_slot.vehicle_viewport.effects = (EF_ADDITIVE | EF_DOUBLESIDED | EF_FULLBRIGHT | EF_NODEPTHTEST | EF_NOGUNBOB | EF_NOSHADOW | EF_LOWPRECISION | EF_SELECTABLE | EF_TELEPORT_BIT);
-
+
setmodel(_slot.vehicle_hudmodel, _hud_model);
setmodel(_slot.vehicle_viewport, "null");
-
+
setattachment(_slot.vehicle_hudmodel, _slot, "");
setattachment(_slot.vehicle_viewport, _slot.vehicle_hudmodel, "");
-
+
return TRUE;
}
{
if(!autocvar_g_vehicles)
return FALSE;
-
+
if(self.targetname)
{
self.vehicle_controller = find(world, target, self.targetname);
}
else
{
- self.team = self.vehicle_controller.team;
+ self.team = self.vehicle_controller.team;
self.use = vehicle_use;
-
+
if(teamplay)
{
if(self.vehicle_controller.team == 0)
self.active = ACTIVE_NOT;
else
- self.active = ACTIVE_ACTIVE;
+ self.active = ACTIVE_ACTIVE;
}
}
}
-
+
precache_sound("onslaught/ons_hit2.wav");
precache_sound("onslaught/electricity_explode.wav");
}
setsize(self, min_s, max_s);
- if not (nodrop)
+ if (!nodrop)
{
setorigin(self, self.origin);
tracebox(self.origin + '0 0 100', min_s, max_s, self.origin - '0 0 10000', MOVE_WORLDONLY, self);
setorigin(self, trace_endpos);
}
-
+
self.pos1 = self.origin;
self.pos2 = self.angles;
self.tur_head.team = self.team;
-
+
if(MUTATOR_CALLHOOK(VehicleSpawn))
return FALSE;
return TRUE;
}
-vector vehicle_aimturret(entity _vehic, vector _target, entity _turrret, string _tagname,
- float _pichlimit_min, float _pichlimit_max,
+vector vehicle_aimturret(entity _vehic, vector _target, entity _turrret, string _tagname,
+ float _pichlimit_min, float _pichlimit_max,
float _rotlimit_min, float _rotlimit_max, float _aimspeed)
{
vector vtmp, vtag;
ftmp = _aimspeed * frametime;
vtmp_y = bound(-ftmp, vtmp_y, ftmp);
vtmp_x = bound(-ftmp, vtmp_x, ftmp);
- _turrret.angles_y = bound(_rotlimit_min, _turrret.angles_y + vtmp_y, _rotlimit_max);
+ _turrret.angles_y = bound(_rotlimit_min, _turrret.angles_y + vtmp_y, _rotlimit_max);
_turrret.angles_x = bound(_pichlimit_min, _turrret.angles_x + vtmp_x, _pichlimit_max);
return vtag;
}
_gib.movetype = MOVETYPE_TOSS;
_gib.solid = SOLID_CORPSE;
_gib.colormod = '-0.5 -0.5 -0.5';
- _gib.effects = EF_LOWPRECISION;
+ _gib.effects = EF_LOWPRECISION;
_gib.avelocity = _rot;
-
+
if(_burn)
_gib.effects |= EF_FLAME;
-
+
if(_explode)
{
- _gib.think = vehicles_gib_explode;
+ _gib.think = vehicles_gib_explode;
_gib.nextthink = time + random() * _explode;
_gib.touch = vehicles_gib_explode;
}
else
{
_gib.cnt = time + _maxtime;
- _gib.think = vehicles_gib_think;
- _gib.nextthink = time + _maxtime - 1;
+ _gib.think = vehicles_gib_think;
+ _gib.nextthink = time + _maxtime - 1;
_gib.alpha = 1;
}
return _gib;