git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3431 fc73d0e0-1445-4013-8a0c-d673dee63da5

This commit is contained in:
Magnus 2009-11-10 13:57:08 +00:00
parent e3f9901bd8
commit f9a2e32c64
12 changed files with 244 additions and 147 deletions

View file

@ -101,12 +101,12 @@ void() SetNewParms =
//on account of changing maps before spawning was resulting in no inventory.
parm1 = 0;
parm2 = 0;
parm3 = 0;
parm3 = SlotVal(IID_ARM_LEATHER, 1);
parm4 = 0;
parm5 = 0;
parm6 = 0;
parm7 = 0;
parm8 = 300;
parm8 = 150;
parm9 = 0;
parm10 = 0;
parm11 = 0;
@ -599,7 +599,7 @@ void() PutClientInServer =
self.takedamage = DAMAGE_AIM;
self.movetype = MOVETYPE_WALK;
self.show_hostile = 0;
self.max_health = 100 + self.skill_combat;
self.max_health = 150 + (self.skill_combat*2);
self.health = 100;
self.flags = FL_CLIENT;
self.air_finished = time + 12;
@ -644,8 +644,8 @@ void() PutClientInServer =
if (self.current_slot == 0)
{
self.islot1 = SlotVal(IID_WP_GLOCK, 15);
self.islot2 = 0;
self.islot3 = 0;
self.islot2 = SlotVal(IID_WP_KNIFE, 1);
self.islot3 = SlotVal(IID_ARM_LEATHER, 1);
self.islot5 = SlotVal(IID_CHEM_STIMPACK, 3);
self.islot7 = SlotVal(IID_AM_10MM, 30);
self.islot8 = 0;
@ -1546,35 +1546,20 @@ void() PlayerPreThink =
DisplayMenu ();
return;
}
else if (self.score >= 500 && self.score <= 1550 && self.currentmenu == "none")
{
self.score = self.score + 1;
}
else if (self.score >= 1551 && self.currentmenu == "none")
{
self.currentmenu = "gain_skill";
self.missionbrief = 2;
DisplayMenu ();
}
else if (self.score >= 200 && self.currentmenu == "none")
{
self.score = 500;
}
if ((self.skill_combat + self.skill_sneak + self.skill_doctor + self.skill_science) <= 10)
if (self.score < 200)
{
if (self.currentmenu == "none")
if ((self.skill_combat + self.skill_doctor + self.skill_sneak + self.skill_science) <= 10)
{
self.currentmenu = "gain_skill";
self.missionbrief = 2;
return;
self.score = 200;
sound (self, CHAN_BODY, "misc/secret.wav", 1, ATTN_NORM);
sprint(self, 2, "you have gained a level!\npress 'p' to assign a skill point.\n");
}
}
if (self.cycle1 < time)
{
if (self.currentmenu != "none")

View file

@ -259,6 +259,31 @@ void(string arg1) Cmd_InvDrop =
DropFromSlot(slotno, true, false);
};
void(string arg1) Cmd_GainLevel =
{
if (self.score < 200)
{
sprint(self, 2, "not enough experience points.\n");
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
return;
}
if (self.score >= 200)
{
sound (self, CHAN_BODY, "buttons/switch02.wav", 1, ATTN_NORM);
self.score = self.score - 200;
}
if (arg1 == "combat")
self.skill_combat = self.skill_combat + 1;
else if (arg1 == "doctor")
self.skill_doctor = self.skill_doctor + 1;
else if (arg1 == "sneak")
self.skill_sneak = self.skill_sneak + 1;
else if (arg1 == "science")
self.skill_science = self.skill_science + 1;
};
void(string arg1) Cmd_InvBuy =
{
local float x,y, iid, amount, money, item;
@ -373,6 +398,7 @@ void(string arg1) Cmd_InvSell =
SetItemSlot(self, slotno, 0);
x = GetBaseValue(iid);
x = x / 5;
y = ftos(x);
z = GetItemName(iid);
@ -1168,6 +1194,12 @@ void(string line) SV_ParseClientCommand =
return;
Cmd_InvBuy(argv(1));
}
else if (cmd == "gainlevel")
{
if (self.deadflag || self.current_slot==0)
return;
Cmd_GainLevel(argv(1));
}
else if (cmd == "invmix")
{
if (self.deadflag)

View file

@ -17,6 +17,8 @@ float sliderpos;
float downslotnum; //the slot number when the mousecursor when down
float selected_class;
vector toppos = '0 32 0';
float k_mouse1;
@ -442,7 +444,7 @@ void() Trader_Draw =
{
drawfill(contextpos - '8 8 0', '48 48 0', '0 0 0', 1.0);
op = floor((mousepos_y - contextpos_y)/8);
drawstring(contextpos + '0 8 0', "buy?", '8 8 0', '1 1 0' + (op!=0)*'0 0 1',
drawstring(contextpos + '0 8 0', "buy?", '8 8 0', '1 1 0' + (op!=1)*'0 0 1',
1);
}
@ -468,6 +470,7 @@ void() Trader_Draw =
void() Pipboy_Draw =
{
float width,height,lvl,bar;
string skill;
vector w;
width = cvar("vid_conwidth");
@ -477,45 +480,84 @@ void() Pipboy_Draw =
drawpic('0 0 0', "gui/pipboy/pipboy.jpg", '640 480 0', '1 1 1', 1);
drawstring('3 2 0'*IMGSIZEF, "COMBAT", '8 8 8', '1 1 1', 1);
if (mousepos_y >= 200 && mousepos_y <= 325)
{
if (mousepos_x >= 150 && mousepos_x <= 250)
{
drawpic('0 0 0', "gui/pipboy/skills2.jpg", '640 480 0', '1 1 1', 1);
selected_class = 1;
}
else if (mousepos_x >= 250 && mousepos_x <= 350)
{
drawpic('0 0 0', "gui/pipboy/skills3.jpg", '640 480 0', '1 1 1', 1);
selected_class = 2;
}
else if (mousepos_x >= 350 && mousepos_x <= 450)
{
drawpic('0 0 0', "gui/pipboy/skills4.jpg", '640 480 0', '1 1 1', 1);
selected_class = 3;
}
else if (mousepos_x >= 450 && mousepos_x <= 550)
{
drawpic('0 0 0', "gui/pipboy/skills5.jpg", '640 480 0', '1 1 1', 1);
selected_class = 4;
}
else
{
drawpic('0 0 0', "gui/pipboy/skills1.jpg", '640 480 0', '1 1 1', 1);
selected_class = 0;
}
}
else
{
drawpic('0 0 0', "gui/pipboy/skills1.jpg", '640 480 0', '1 1 1', 1);
selected_class = 0;
}
bar = 0;
lvl = getstati(100);
skill = ftos(lvl+1);
while (bar <= lvl)
{
drawpic('4 2 0'*IMGSIZEF + ('4 0 0'*bar), "gui/graph/red.jpg", '1 4 0'*2, '1 1 1', 1);
drawpic('210 190 0' - ('0 4 0'*bar), "gui/graph/red.jpg", '16 2 0'*2, '1 1 1', 1);
bar = bar + 1;
}
drawstring('220 190 0' - ('0 4 0'*(lvl+4)), skill, '8 8 0', '1 1 1', 1);
drawstring('3 2.2 0'*IMGSIZEF, "DOCTOR", '8 8 8', '1 1 1', 1);
bar = 0;
lvl = getstati(101);
skill = ftos(lvl+1);
while (bar <= lvl)
{
drawpic('4 2.2 0'*IMGSIZEF + ('4 0 0'*bar), "gui/graph/green.jpg", '1 4 0'*2, '1 1 1', 1);
drawpic('305 190 0' - ('0 4 0'*bar), "gui/graph/green.jpg", '16 2 0'*2, '1 1 1', 1);
bar = bar + 1;
}
drawstring('315 190 0' - ('0 4 0'*(lvl+4)), skill, '8 8 0', '1 1 1', 1);
drawstring('3 2.4 0'*IMGSIZEF, "SNEAK", '8 8 8', '1 1 1', 1);
bar = 0;
lvl = getstati(102);
skill = ftos(lvl+1);
while (bar <= lvl)
{
drawpic('4 2.4 0'*IMGSIZEF + ('4 0 0'*bar), "gui/graph/blue.jpg", '1 4 0'*2, '1 1 1', 1);
drawpic('395 190 0' - ('0 4 0'*bar), "gui/graph/blue.jpg", '16 2 0'*2, '1 1 1', 1);
bar = bar + 1;
}
drawstring('405 190 0' - ('0 4 0'*(lvl+4)), skill, '8 8 0', '1 1 1', 1);
drawstring('3 2.6 0'*IMGSIZEF, "SCIENCE", '8 8 8', '1 1 1', 1);
bar = 0;
lvl = getstati(103);
skill = ftos(lvl+1);
while (bar <= lvl)
{
drawpic('4 2.6 0'*IMGSIZEF + ('4 0 0'*bar), "gui/graph/yellow.jpg", '1 4 0'*2, '1 1 1', 1);
drawpic('485 190 0' - ('0 4 0'*bar), "gui/graph/yellow.jpg", '16 2 0'*2, '1 1 1', 1);
bar = bar + 1;
}
drawstring('495 190 0' - ('0 4 0'*(lvl+4)), skill, '8 8 0', '1 1 1', 1);
drawpic(mousepos, "gui/cursor.jpg", '1 1 0'*CURSORSIZE, '1 1 1', 1);
};
@ -749,7 +791,7 @@ float(float eventtype, float param1, float param2) CSQC_InputEvent =
show_pipboy = false;
show_inventory = false;
}
else if (!show_inventory && !show_trader)
else if (!show_inventory && !show_trader && !show_pipboy)
return false;
else if (param1 == k_mouse1)
{
@ -800,7 +842,7 @@ float(float eventtype, float param1, float param2) CSQC_InputEvent =
{
op = floor((mousepos_y - contextpos_y)/8);
if (op == 0)
if (op == 1)
localcmd(strcat("cmd invbuy ", ftos(slotnum), "\n"));
showcontextmenu = false;
@ -828,6 +870,17 @@ float(float eventtype, float param1, float param2) CSQC_InputEvent =
contextpos = mousepos;
}
}
else if (show_pipboy)
{
if (selected_class == 1)
localcmd("cmd gainlevel combat\n");
if (selected_class == 2)
localcmd("cmd gainlevel doctor\n");
if (selected_class == 3)
localcmd("cmd gainlevel sneak\n");
if (selected_class == 4)
localcmd("cmd gainlevel science\n");
}
else
{
show_inventory = false; //they clicked outside, fools!

View file

@ -452,7 +452,7 @@ void() monster_enforcer =
self.netname = "enforcer";
setsize (self, '-12 -12 -24', '12 12 32');
self.health = 100;
self.health = 200;
self.islot3 = SlotVal(IID_ARM_COMBAT, 1);
self.armortype = 0.5;
self.helmet = 1;

View file

@ -246,7 +246,7 @@ void (vector jojo) spawn_civilian =
self.movetype = MOVETYPE_STEP;
self.takedamage = DAMAGE_AIM;
setmodel (self, "progs/hosfem.mdl");
setsize (self, '-10 -10 24', '10 10 24');
setsize (self, '-10 -10 -24', '10 10 24');
self.health = 80;
self.netname = "civilian";
self.classname = "rhostage";

View file

@ -672,7 +672,7 @@ string(float iid) GetItemVModel =
if (iid == IID_WP_ALIENBLASTER)
return "progs/v_blaster.mdl";
if (iid >= IID_WP_PIPERIFLE && iid <= IID_WP_PIPERIFLE_S_R)
return "progs/v_bozar.mdl";
return "progs/v_pipe.mdl";
if (iid == IID_WP_WINCHESTER)
return "progs/v_double.mdl";
if (iid == IID_WP_MOSSBERG)

View file

@ -287,59 +287,65 @@ void() junk_touch =
};
void() SpawnJunk =
void(vector loc) SpawnJunk =
{
setorigin(self, self.origin + '0 0 32');
self.movetype = MOVETYPE_BOUNCE;
self.velocity_x = crandom()*600;
self.velocity_y = crandom()*600;
self.velocity_z = -100;
local entity junk;
self.avelocity_y = crandom()*300;
junk = spawn ();
setorigin(junk, loc + '0 0 96');
junk.movetype = MOVETYPE_BOUNCE;
junk.velocity_x = crandom()*600;
junk.velocity_y = crandom()*600;
junk.velocity_z = -100;
junk.avelocity_y = crandom()*300;
if (random()*100 < 50)
setmodel (self, "progs/junk1.mdl");
setmodel (junk, "progs/junk1.mdl");
else
setmodel (self, "progs/junk2.mdl");
setmodel (junk, "progs/junk2.mdl");
self.touch = junk_touch;
self.solid = SOLID_TRIGGER;
setsize (self, '-12 -12 0', '12 12 12');
self.takedamage = DAMAGE_NO;
self.classname = "random_junk";
junk.touch = junk_touch;
junk.solid = SOLID_TRIGGER;
setsize (junk, '-12 -12 0', '12 12 12');
junk.takedamage = DAMAGE_NO;
junk.classname = "random_junk";
if (random()*100 <= 10)
self.islot1 = SlotVal(IID_MISC_JUNK, 1);
junk.islot1 = SlotVal(IID_MISC_JUNK, 1);
else if (random()*100 <= 10)
self.islot1 = SlotVal(IID_MISC_NUKACOLA, 1);
junk.islot1 = SlotVal(IID_MISC_NUKACOLA, 1);
else if (random()*100 <= 10)
self.islot1 = SlotVal(IID_MISC_CHEMICALS, 1);
junk.islot1 = SlotVal(IID_MISC_CHEMICALS, 1);
else if (random()*100 <= 10)
self.islot1 = SlotVal(IID_MISC_AEROSOL, 1);
junk.islot1 = SlotVal(IID_MISC_AEROSOL, 1);
else if (random()*100 <= 10)
self.islot1 = SlotVal(IID_MISC_RDXCRYSTAL, 1);
junk.islot1 = SlotVal(IID_MISC_RDXCRYSTAL, 1);
else if (random()*100 <= 10)
self.islot1 = SlotVal(IID_MISC_STEELPIPE, 1);
junk.islot1 = SlotVal(IID_MISC_STEELPIPE, 1);
else if (random()*100 <= 10)
self.islot1 = SlotVal(IID_MISC_DUCKTAPE, 1);
junk.islot1 = SlotVal(IID_MISC_DUCKTAPE, 1);
else if (random()*100 <= 10)
self.islot1 = SlotVal(IID_MISC_LCD, 1);
junk.islot1 = SlotVal(IID_MISC_LCD, 1);
else if (random()*100 <= 10)
self.islot1 = SlotVal(IID_MISC_CIRCUITBOARD, 1);
junk.islot1 = SlotVal(IID_MISC_CIRCUITBOARD, 1);
else if (random()*100 <= 10)
self.islot1 = SlotVal(IID_MISC_COPPERWIRE, 1);
junk.islot1 = SlotVal(IID_MISC_COPPERWIRE, 1);
else if (random()*100 <= 10)
self.islot1 = SlotVal(IID_MISC_HMXCOMPOUND, 1);
junk.islot1 = SlotVal(IID_MISC_HMXCOMPOUND, 1);
else if (random()*100 <= 10)
self.islot1 = SlotVal(IID_MISC_GUM, 1);
junk.islot1 = SlotVal(IID_MISC_GUM, 1);
else
self.islot1 = SlotVal(IID_MISC_JUNK, 1);
junk.islot1 = SlotVal(IID_MISC_JUNK, 1);
if (random()*100 <= 10)
self.flash = 2;
junk.flash = 2;
else
self.flash = 1;
junk.flash = 1;
};
void() TreasureChest =
{
@ -1326,8 +1332,12 @@ void() weapon_supershotgun =
if (random()<0.25)
TreasureChest();
SpawnJunk();
SpawnJunk();
SpawnJunk(self.origin);
SpawnJunk(self.origin);
SpawnJunk(self.origin);
SpawnJunk(self.origin);
};
/*QUAKED weapon_nailgun (0 .5 .8) (-16 -16 0) (16 16 32)
@ -1344,8 +1354,10 @@ void() weapon_nailgun =
else
TreasureChest();
SpawnJunk();
SpawnJunk();
SpawnJunk(self.origin);
SpawnJunk(self.origin);
SpawnJunk(self.origin);
SpawnJunk(self.origin);
};
/*QUAKED weapon_supernailgun (0 .5 .8) (-16 -16 0) (16 16 32)
@ -1362,9 +1374,10 @@ void() weapon_supernailgun =
else if (random()*100 <= 40)
TreasureChest();
SpawnJunk();
SpawnJunk();
SpawnJunk();
SpawnJunk(self.origin);
SpawnJunk(self.origin);
SpawnJunk(self.origin);
SpawnJunk(self.origin);
};
/*QUAKED weapon_grenadelauncher (0 .5 .8) (-16 -16 0) (16 16 32)
@ -1382,7 +1395,10 @@ void() weapon_grenadelauncher =
else if (random()*100 <= 40)
TreasureChest();
SpawnJunk();
SpawnJunk(self.origin);
SpawnJunk(self.origin);
SpawnJunk(self.origin);
SpawnJunk(self.origin);
};
@ -1400,7 +1416,10 @@ void() weapon_rocketlauncher =
else if (random()*100 <= 40)
TreasureChest();
SpawnJunk();
SpawnJunk(self.origin);
SpawnJunk(self.origin);
SpawnJunk(self.origin);
SpawnJunk(self.origin);
};
@ -1419,7 +1438,10 @@ void() weapon_lightning =
else if (random()*100 <= 40)
TreasureChest();
SpawnJunk();
SpawnJunk(self.origin);
SpawnJunk(self.origin);
SpawnJunk(self.origin);
SpawnJunk(self.origin);
};

View file

@ -1072,6 +1072,20 @@ void() brotherhood_soldier =
self.solid = SOLID_SLIDEBOX;
setsize (self, '-16 -16 -24', '16 16 32');
self.takedamage = DAMAGE_NO;
self.xslot1 = SlotVal(IID_AM_45ACP, 30);
self.xslot2 = SlotVal(IID_AM_10MM, 30);
self.xslot3 = SlotVal(IID_AM_12GAUGESHELLS, 30);
self.xslot4 = SlotVal(IID_AM_5MMHIGHVEL, 30);
self.xslot5 = SlotVal(IID_AM_762MM, 30);
self.xslot6 = SlotVal(IID_AM_556MM, 30);
self.xslot7 = SlotVal(IID_AM_ENERGYCELL, 30);
self.xslot8 = SlotVal(IID_AM_CASELESS, 30);
self.xslot8 = SlotVal(IID_AM_NEEDLER, 30);
self.xslot16 = SlotVal(IID_WP_AK112_M, 1);
self.xslot17 = SlotVal(IID_WP_G11, 1);
self.xslot18 = SlotVal(IID_WP_JACKHAMMER, 1);
self.xslot19 = SlotVal(IID_WP_MOONLIGHT, 1);
};
void() brotherhood_guard =

View file

@ -879,7 +879,7 @@ void (entity attacker, float damage) ogre_pain =
if (self.pain_finished > time)
return;
if (random()*8 <= 1)
if (random()*100 <= 1)
{
ogre_paind1();
self.pain_finished = time + 7;
@ -1126,7 +1126,7 @@ void () monster_ogre =
self.netname = "mutant";
self.classname = "monster";
setsize (self, '-16 -16 -24', '16 16 48');
self.health = 200;
self.health = 300;
self.team = 3;
self.islot3 = SlotVal(IID_ARM_LEATHER, 1);
self.armornoise = "misc/thud.wav";

View file

@ -383,7 +383,7 @@ void (float tmp, float dam) army_fire4 =
makevectors (self.angles);
sound (self, CHAN_WEAPON, "weapons/ak112.wav", PLAT_LOW_TRIGGER, ATTN_NORM);
sound (self, CHAN_WEAPON, "weapons/ak47.wav", PLAT_LOW_TRIGGER, ATTN_NORM);
src = self.origin + v_forward*10;
src_z = self.absmin_z + self.size_z * 0.7;
@ -747,7 +747,7 @@ void () army_atk6 = [ 86, army_atk7 ]
void () army_atk7 = [ 87, army_atk8 ]
{
ai_face ();
army_fire (120, 19);
army_fire (170, 19);
};
void () army_atk8 = [ 88, army_atk9 ]
@ -789,7 +789,7 @@ void () army_atka4 = [ 84, army_atka5 ]
void () army_atka5 = [ 85, army_atka6 ]
{
ai_face ();
army_fire2 (200, 7);
army_fire2 (250, 7);
};
void () army_atka6 = [ 86, army_atka7 ]
@ -850,7 +850,7 @@ void () army_atkb5 = [ 85, army_atkb6 ]
if (r == RANGE_NEAR || r == RANGE_MELEE)
self.recoil = 1;
army_fire3 (100, 15);
army_fire3 (120, 15);
};
void () army_atkb6 = [ 86, army_atkb7 ]
@ -858,8 +858,8 @@ void () army_atkb6 = [ 86, army_atkb7 ]
ai_face ();
if (self.recoil == 1)
{
army_fire3 (150, 14);
army_fire3 (150, 14);
army_fire3 (160, 14);
army_fire3 (160, 14);
}
};
@ -867,7 +867,7 @@ void () army_atkb7 = [ 87, army_atkb8 ]
{
ai_face ();
if (self.recoil == 1)
army_fire3 (150, 14);
army_fire3 (160, 14);
};
void () army_atkb8 = [ 88, army_atkb9 ]
@ -875,8 +875,8 @@ void () army_atkb8 = [ 88, army_atkb9 ]
ai_face ();
if (self.recoil == 1)
{
army_fire3 (150, 14);
army_fire3 (150, 14);
army_fire3 (160, 14);
army_fire3 (160, 14);
}
};
@ -885,8 +885,8 @@ void () army_atkb9 = [ 89, army_run1 ]
ai_face ();
if (self.recoil == 1)
{
army_fire3 (150, 14);
army_fire3 (150, 14);
army_fire3 (170, 14);
army_fire3 (170, 14);
}
};
@ -919,7 +919,7 @@ void () army_atkcs4 = [ 84, army_atkcs5 ]
void () army_atkcs5 = [ 85, army_atkcs6 ]
{
ai_face ();
sound (self, CHAN_WEAPON, "weapons/ak112.wav", PLAT_LOW_TRIGGER, ATTN_NORM);
sound (self, CHAN_WEAPON, "weapons/ak47.wav", PLAT_LOW_TRIGGER, ATTN_NORM);
army_fire4 (100, 20);
};
@ -1483,7 +1483,7 @@ void () army_die =
if (self.weapon == 4)
DropFromChest(self, IID_WP_MP9, 15);
if (self.weapon == 5)
DropFromChest(self, IID_WP_AK112, 12);
DropFromChest(self, IID_WP_AK47, 12);
if (self.weapon == 1)
DropFromChest(self, IID_AM_44MAGNUM, 10);
@ -1572,8 +1572,6 @@ void (vector jojo, entity friend) spawn_soldier =
te = te.chain;
}
//soldiers have either 0, 1 or 2 grenades
self.grenadetoggle = floor(random()*2);
//soldiers have either pistol, smg, shotgun or rifle
self.weapon = ceil(random()*4);
@ -1711,7 +1709,7 @@ void () monster_army =
self.movetype = MOVETYPE_STEP;
setmodel (self, "progs/soldier.mdl");
setsize (self, '-12 -12 -24', '12 12 28');
self.health = 70+random()*30;
self.health = 100;
self.team = 3;
self.islot3 = SlotVal(IID_ARM_LEATHER, 1);
self.armortype = 0.2;
@ -1795,7 +1793,7 @@ void () monster_army =
if (random()<0.25 && (world.map_obj != OBJ_SHADOW))
spawn_soldier(self.origin, self);
if (random()<0.25 && world.map_obj == OBJ_HOSTAGE)
if (random()<0.25)
spawn_civilian(self.origin);
};
@ -1906,7 +1904,7 @@ void () monster_commander =
commanders = commanders + 1;
setsize (self, '-12 -12 -24', '12 12 32');
self.health = 120;
self.health = 300;
self.islot3 = SlotVal(IID_ARM_COMBAT, 1);
self.armortype = 0.5;
self.helmet = 1;

View file

@ -125,7 +125,7 @@ float (entity healer, entity saved) RevivePlayer =
// saved.materialize = 200;
saved.ghost = 0;
saved.health = 40;
saved.health = 20 + (healer.skill_doctor);
saved.air_finished = time + 10;
saved.view_ofs = '0 0 22';
self = saved;
@ -1621,11 +1621,11 @@ void() W_Attack =
else if (weap == IID_WP_DKS1_S)
FireAssaultRifle(35, 3, "weapons/moonlight1.wav", 5000, 0.25);
else if (weap == IID_WP_WINCHESTER)
W_FireShotgun (2, 5, 8, 50, 1500, 0, "weapons/shotgun1.wav");
W_FireShotgun (2, 5, 7, 50, 1500, 0, "weapons/shotgun1.wav");
else if (weap == IID_WP_MOSSBERG)
W_FireShotgun (2, 5, 7, 20, 2000, 1, "weapons/citykiller.wav");
W_FireShotgun (2, 5, 6, 20, 2000, 1, "weapons/citykiller.wav");
else if (weap == IID_WP_JACKHAMMER)
W_FireShotgun (1, 5, 7, 30, 1750, 2, "weapons/citykiller.wav");
W_FireShotgun (1, 5, 6, 30, 1750, 2, "weapons/citykiller.wav");
else if (weap == IID_WP_GREASEGUN)
FireSMG(14, 0, "weapons/mp7.wav", 1500, 0.10);
else if (weap == IID_WP_MP9)
@ -1641,7 +1641,7 @@ void() W_Attack =
else if (weap == IID_WP_AK112_M)
FireAssaultRifle(16, 10, "weapons/ak112.wav", 4000, 0.095);
else if (weap == IID_WP_ACR)
FireAssaultRifle(25, 7, "weapons/bozar.wav", 9000, 0.090);
FireAssaultRifle(45, 7, "weapons/amr.wav", 9000, 0.1);
else if (weap == IID_WP_AK74)
FireAssaultRifle(45, 12, "ogre/ak47.wav", 3500, 0.090);
else if (weap == IID_WP_DKS1)
@ -3310,6 +3310,8 @@ void (float dam, float accuracy, string snd, float rng, float rate) FireAssaultR
if (weap == IID_WP_DKS1)
loud_noise(100);
else if (weap == IID_WP_ACR)
loud_noise(110);
else if (weap == IID_WP_MOONLIGHT)
loud_noise(5);
else if (weap == IID_WP_DKS1_S)
@ -3446,6 +3448,8 @@ void (float dam, float accuracy, string snd, float rng, float rate) FireAssaultR
stuffcmd (self, "-attack\n");
if (weap == IID_WP_GAUSERIFLE)
stuffcmd (self, "-attack\n");
if (weap == IID_WP_ACR)
stuffcmd (self, "-attack\n");
if (trace_ent.takedamage)
{
@ -4218,8 +4222,8 @@ void () UseStimpack =
thing = thing.chain;
}
self.health = self.health + 20;
self.regen = self.regen + (5 + (self.skill_doctor));
self.health = self.health + 10 + (self.skill_doctor/2);
self.regen = self.regen + (3 + (self.skill_doctor/2));
}
}
else if (trace_ent.classname == "player")//healing another team-mate
@ -4290,8 +4294,8 @@ void () UseStimpack =
sprint(self, PRINT_MEDIUM, trace_ent.netname);
sprint(self, PRINT_MEDIUM, " with a stimpack\n");
trace_ent.health = trace_ent.health + 20;
trace_ent.regen = trace_ent.regen + (5 + (self.skill_doctor));
trace_ent.health = trace_ent.health + 10 + (self.skill_doctor/2);
trace_ent.regen = trace_ent.regen + (3 + (self.skill_doctor/2));
}
}
}
@ -4449,7 +4453,7 @@ void () UseMedicalBag =
sound (self, CHAN_BODY, "items/r_item1.wav", 1, ATTN_NORM);
sprint(self, PRINT_MEDIUM, "you start to bandage yourself\n");
self.regen = self.regen + self.skill_doctor;
self.regen = self.regen + 3 + (self.skill_doctor/2);
}
}
else if (trace_ent.classname == "player")//healing another team-mate
@ -4505,7 +4509,7 @@ void () UseMedicalBag =
sprint(self, PRINT_MEDIUM, trace_ent.netname);
sprint(self, PRINT_MEDIUM, " with a stimpack\n");
trace_ent.regen = trace_ent.regen + self.skill_doctor;
trace_ent.regen = trace_ent.regen + 3 + (self.skill_doctor/2);
}
}
}
@ -6016,10 +6020,10 @@ void (float rec, float number, float dam, float spread, float ran, float auto, s
weap = ToIID(self.(SlotField(self.current_slot)));
var1 = (16 + (random () * 12) * (self.recoil));
var2 = (16 + (random () * 12) * (self.recoil));
var3 = (16 + (random () * 12) * (self.recoil));
var4 = (16 + (random () * 12) * (self.recoil));
var1 = ((random () * 16) * (self.recoil));
var2 = ((random () * 16) * (self.recoil));
var3 = ((random () * 16) * (self.recoil));
var4 = ((random () * 16) * (self.recoil));
if (self.position == 0)
player_single1 ();

View file

@ -189,30 +189,13 @@ void() load_monster =
{
self.zone = 1;
monster_army();
/*
if (world.map_ent1 == 1)
monster_dog();
if (world.map_ent1 == 2)
monster_zombie();
if (world.map_ent1 == 3)
monster_tarbaby();
if (world.map_ent1 == 4 || world.map_ent1 == 5)
monster_army();
if (world.map_ent1 == 6)
monster_ogre();
if (world.map_ent1 == 7)
monster_wizard();
if (world.map_ent1 == 8)
monster_knight();
if (world.map_ent1 == 9)
monster_demon1();
if (world.map_ent1 == 10)
monster_enforcer();
if (world.map_ent1 == 11)
monster_shalrath();
if (world.map_ent1 == 12)
monster_shambler();*/
if (world.map_obj == OBJ_DEADTOWN)
monster_zombie();
else
monster_army();
}
else if (y <= world.map_ent2_percent)
{
@ -222,12 +205,12 @@ void() load_monster =
monster_dog();
if (world.map_ent2 == 2)
monster_zombie();
if (world.map_ent2 == 3 || world.map_ent2 == 4 || world.map_ent2 == 5)
if (world.map_ent2 == 3 || world.map_ent2 == 4)
monster_army();
if (world.map_ent2 == 6)
if (world.map_ent2 == 5 || world.map_ent2 == 6)
monster_ogre();
if (world.map_ent2 == 7)
monster_army();
monster_enforcer();
if (world.map_ent2 == 8)
monster_demon1();
if (world.map_ent2 == 9)
@ -248,13 +231,13 @@ void() load_monster =
else if (random()<0.10)
monster_zombie();
else if (random()<0.10)
monster_army();
monster_enforcer();
else if (random()<0.10)
monster_ogre();
else if (random()<0.10)
monster_wizard();
monster_army();
else if (random()<0.10)
monster_knight();
monster_enforcer();
if (world.map_obj == OBJ_DEADTOWN)
spawn_ghoul(self.origin + '128 0 0');
@ -742,6 +725,7 @@ if (coop == 1) // Players vs Monsters
if (endgame_timer == 0)
{
bprint(2, "^4** ^bTHE HOSTAGES WERE SAVED!!!^b **\n");
sound (self, CHAN_VOICE, "misc/fanfare.wav", 1, ATTN_NONE);
ze = find (world, classname, "player");
while (ze != world)
{
@ -2105,6 +2089,10 @@ void() worldspawn =
precache_sound ("misc/hosdown.wav");
precache_sound ("misc/rescued.wav");
precache_sound ("misc/beep1.wav");
precache_sound ("buttons/switch02.wav");
precache_sound ("buttons/switch04.wav");
precache_sound ("misc/secret.wav");
precache_sound ("misc/fanfare.wav");
precache_sound ("player/gib1.wav");
precache_sound ("player/step1.wav");
@ -2149,6 +2137,7 @@ void() worldspawn =
precache_sound ("weapons/moonlight-2.wav");
precache_sound ("weapons/needler.wav");
precache_sound ("weapons/bozar.wav");
precache_sound ("weapons/amr.wav");
precache_sound ("weapons/smg_s.wav");
precache_sound ("weapons/shotgun1.wav");
precache_sound ("weapons/mp5.wav");