Code: Select all
/*
====================
Primary Weapon Cycle
====================
*/
void () NewWeaponCycle =
{
local float it, am;
it = self.items;
self.impulse = 11;
while(1)
{
am = 0;
if (self.weapon == IT_AXE)
{
self.weapon = IT_M9;
}
if ( (it & self.weapon) && am == 0)
{
W_SetCurrentAmmo ();
return;
}
}
};
/*
=============================
Primary Weapon Reverse Cycle
=============================
*/
void() NewReverseCycle =
{
local float it, am;
it = self.items;
self.impulse = 0;
while (1)
{
am = 0;
if (self.weapon == IT_AXE)
{
self.weapon = IT_L96A1;
if (self.ammo_l96a1 < 1)
am = 1;
}
else if (self.weapon == IT_L96A1)
{
self.weapon = IT_M40A3;
if (self.ammo_m40a3 < 1)
am = 1;
}
if ( (it & self.weapon) && am == 0)
{
W_SetCurrentAmmo ();
return;
}
}
};
/*
---------------
Primary Weapons
---------------
*/
void() Pri_Weapon =
{
self.items = self.items|
IT_L96A1|
IT_M40A3;
NewReverseCycle();
NewWeaponCycle();
W_Attack();
W_SetCurrentAmmo();
};
Code: Select all
/*
===========
PutClientInServer
called each time a player is spawned
============
*/
void() DecodeLevelParms;
void() PlayerDie;
void() PutClientInServer =
{
local entity spot;
spot = SelectSpawnPoint ();
self.classname = "player";
self.health = 100;
self.takedamage = DAMAGE_AIM;
self.solid = SOLID_SLIDEBOX;
self.movetype = MOVETYPE_WALK;
self.show_hostile = 0;
self.max_health = 100;
self.flags = FL_CLIENT;
self.air_finished = time + 12;
self.dmg = 2; // initial water damage
self.super_damage_finished = 0;
self.radsuit_finished = 0;
self.invisible_finished = 0;
self.invincible_finished = 0;
self.effects = 0;
self.invincible_time = 0;
DecodeLevelParms ();
Pri_Weapon();
W_SetCurrentAmmo ();
self.attack_finished = time;
self.th_pain = player_pain;
self.th_die = PlayerDie;
self.deadflag = DEAD_NO;
// paustime is set by teleporters to keep the player from moving a while
self.pausetime = 0;
// spot = SelectSpawnPoint ();
self.origin = spot.origin + '0 0 1';
self.angles = spot.angles;
self.fixangle = TRUE; // turn this way immediately
// oh, this is a hack!
setmodel (self, "progs/eyes.mdl");
modelindex_eyes = self.modelindex;
setmodel (self, "progs/player.mdl");
modelindex_player = self.modelindex;
setsize (self, VEC_HULL_MIN, VEC_HULL_MAX);
self.view_ofs = '0 0 22';
player_stand1 ();
if (deathmatch || coop)
{
makevectors(self.angles);
spawn_tfog (self.origin + v_forward*20);
}
spawn_tdeath (self.origin, self);
/*
==========
ammo codes
==========
*/
self.exam_m40a3 = 5;// m40a3 clip size
self.ammo_m40a3 = 20;// m40a3 ammo
self.ammo_m9 = 60; // m9 Ammo
self.exam_m9 = 15; // m9 clip size
self.ammo_l96a1 = 20; // l96a1 ammo
self.exam_l96a1 = 5; // l96a1 clip
};