Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff -r 424c0d946ec9 qblood/progs/client.qc
- --- a/qblood/progs/client.qc Thu May 09 17:12:34 2013 +0200
- +++ b/qblood/progs/client.qc Fri Jul 26 23:46:44 2013 -0500
- @@ -712,7 +712,7 @@
- return;
- bprint3("Kevorkian approves ", self.netname, "!\n");
- - sound(self, CHAN_AUTO, "thevoice/vo5.wav", 1, ATTN_NORM);
- + self.noise1 = "thevoice/vo5.wav";
- CTF_PlayerDropFlag();
- self.modelindex = modelindex_player;
- self.health = 0;
- @@ -1168,7 +1168,7 @@
- // Play the obituary sound
- if (self.noise1)
- {
- - sound(self, CHAN_VOICE, self.noise1, 1, ATTN_NORM);
- + sound(self, CHAN_VOICE, self.noise1, 1, ATTN_NONE);
- self.noise1 = string_null;
- }
- @@ -1643,7 +1643,7 @@
- }
- // If we aren't dead, we can play with our stuff
- - else
- + else if (isAlive)
- {
- // Weapons
- if ((self.impulse >= IMP_PITCHFORK && self.impulse <= IMP_VOODOO_DOLL) ||
- @@ -1685,12 +1685,11 @@
- // These ones are considered cheats and are only allowed when the "sv_cheats" cvar is set
- else if (cvar("sv_cheats"))
- {
- -#if !defined(NO_FRIKBOT)
- +#ifndef NO_FRIKBOT
- if (self.impulse == IMP_BOT_CAM)
- botcam_u();
- else if (self.impulse == IMP_BOT_WAYPT_EDIT)
- bot_way_edit();
- - else
- #endif
- }
- }
- @@ -1814,7 +1813,17 @@
- if (self.player_state >= PS_BOD_FALL && self.player_state <= PS_BOD_SWAY)
- {
- if (self.t_length < time)
- - Player_LiveAgain();
- + {
- + self.health = 0;
- + self.player_state = PS_BOD_DEATH;
- + ClientObituary(self.oldenemy);
- + self.takedamage = DAMAGE_NO;
- + PlayerDie();
- + }
- + else if (self.t_length-1 <= time)
- + if (self.button4 && !self.oldbutton4)
- + if (random() < 0.024)
- + Player_LiveAgain();
- ResetIdle(self);
- return;
- }
- @@ -1851,7 +1860,7 @@
- bprint2(self.netname, " entered the game\n");
- - sound(self, CHAN_AUTO, "thevoice/vo1.wav", 1, ATTN_NORM); // Let the Bloodbath Begin!
- + sound(self, CHAN_AUTO, "thevoice/vo1.wav", 1, ATTN_NONE); // Let the Bloodbath Begin!
- self.do_observer = 1;
- // Reset the votes
- @@ -2019,6 +2028,7 @@
- // killed self in a dumb fashion
- Cl_UpdatePlayerFrags(attacker, -1);
- + if (self.noise1 != "thevoice/vo5.wav") { // Kevorkian
- if (rnum < 0.33)
- {
- deathstring = " receives the Darwin Award\n";
- @@ -2036,6 +2046,7 @@
- }
- bprint2(self.netname, deathstring);
- + }
- return;
- }
- else if (friendlyfire && self.team > 0 && self.team == attacker.team)
- @@ -2060,14 +2071,14 @@
- Cl_UpdatePlayerFrags(attacker, 1);
- rnum = random()*54;
- if (rnum <= 1) BuildDeathString2(attacker, "thevoice/vo39.wav", " beat ", " like a cur"); // Beaten like a Cur
- - else if (rnum <= 2) BuildDeathString(attacker, "thevoice/vo31.wav", " bobbettized "); // Bobbettized!
- + else if (rnum <= 2) BuildDeathString(attacker, "thevoice/vo31.wav", " bobbittized "); // Bobbettized!
- else if (rnum <= 3) BuildDeathString(attacker, "thevoice/vo24.wav", " destroyed "); // Destroyed!
- else if (rnum <= 4) BuildDeathString2(attacker, "thevoice/vo36.wav", " butchered ", " into dog meat"); // Dog meat
- else if (rnum <= 5) BuildDeathString(attacker, "thevoice/vo44.wav", " showed his excellence to "); // Excellent!
- else if (rnum <= 6) BuildDeathString(attacker, "thevoice/vo22.wav", " made fine work of "); // Fine work
- else if (rnum <= 7) BuildDeathString2(attacker, "thevoice/vo20.wav", " showed ", " how good he is"); // Good one
- else if (rnum <= 8) BuildDeathString(attacker, "thevoice/vo33.wav", " scored on "); // He shoots! He scores!
- - else if (rnum <= 8) BuildDeathString(attacker, "thevoice/vo25.wav", " hosed "); // Hosed!
- + else if (rnum <= 9) BuildDeathString(attacker, "thevoice/vo25.wav", " hosed "); // Hosed!
- else if (rnum <= 10) BuildDeathString(attacker, "thevoice/vo26.wav", " humiliated "); // Humiliated!
- else if (rnum <= 11) BuildDeathString(attacker, "thevoice/vo21.wav", " made lunch meat with "); // Lunch meat!
- else if (rnum <= 12) BuildDeathString(attacker, "thevoice/vo29.wav", " passed the chili to "); // Pass the chili!
- @@ -2075,7 +2086,7 @@
- else if (rnum <= 14) BuildDeathString(attacker, "thevoice/vo38.wav", " ripped "); // Ripped 'em loose
- else if (rnum <= 15) BuildDeathString2(attacker, "thevoice/vo28.wav", " sent ", " to hell!"); // Sent to HELL!
- else if (rnum <= 16) BuildDeathString(attacker, "thevoice/vo41.wav", " snuffed "); // Snuffed!
- - else if (rnum <= 17) BuildDeathString2(attacker, "thevoice/vo34.wav", " split ", "'s blood"); // Spillage!
- + else if (rnum <= 17) BuildDeathString2(attacker, "thevoice/vo34.wav", " spilt ", "'s blood"); // Spillage!
- else if (rnum <= 18) BuildDeathString(attacker, "thevoice/vo35.wav", " sprayed "); // Sprayed!
- else if (rnum <= 19) BuildDeathString(attacker, "thevoice/vo32.wav", " stiffed "); // Stiffed!
- else if (rnum <= 20) BuildDeathString2(attacker, "thevoice/vo19.wav", " dazzled ", " with his talent"); // Talented!
- @@ -2083,21 +2094,21 @@
- else if (rnum <= 22) BuildDeathString(attacker, "thevoice/vo43.wav", " vaporized "); // Vaporized!
- else if (rnum <= 23) BuildDeathString(attacker, "thevoice/vo23.wav", " did well with "); // Well done!
- else if (rnum <= 24) BuildDeathString(attacker, "thevoice/vo40.wav", " whipped and creamed "); // Whipped and creamed!
- - else if (rnum <= 25) BuildDeathString2(attacker, "thevoice/vo9.wav", " made ", " suffer scrotum seperation"); // Scrotum separation
- + else if (rnum <= 25) BuildDeathString2(attacker, "thevoice/vo9.wav", " made ", " suffer scrotum separation"); // Scrotum separation
- else if (rnum <= 26) BuildDeathString2(attacker, "thevoice/vo7.wav", " turned ", " into excrement"); // Excrement
- else if (rnum <= 27) BuildDeathString2(attacker, "thevoice/vo8.wav", " turned ", " into hamburger"); // Hamburger
- else if (rnum <= 28) BuildDeathString2(attacker, "thevoice/vo42.wav", " vented ", "'s spleen"); //Vented spleen
- else if (rnum <= 29) BuildDeathString(attacker, "thevoice/vo10.wav", " body bagged "); //Boddy bagged
- else if (rnum <= 30) BuildDeathString2(attacker, "thevoice/boned.wav", " boned ", " like a fish!"); //Boned
- else if (rnum <= 31) BuildDeathString2(attacker, "thevoice/justice.wav", " gave ", " Anal Justice!"); //Anal Justice
- - else if (rnum <= 32) BuildDeathString2(attacker, string_null, " hurt ", " real bad!"); //Hurt them real bad
- + else if (rnum <= 32) BuildDeathString2(attacker, "thevoice/vo6.wav", " hurt ", " real bad!"); //Hurt them real bad
- else if (rnum <= 33) BuildDeathString2(attacker, "thevoice/ripped.wav", " ripped ", " a new orifice!"); //Ripped
- else if (rnum <= 34) BuildDeathString(attacker, "thevoice/castra.wav", " castrated "); //Castrated
- else if (rnum <= 35) BuildDeathString(attacker, "thevoice/creamed.wav", " creamed "); //Creamed
- else if (rnum <= 36) BuildDeathString(attacker, "thevoice/decimat.wav", " decimated "); //Decimated
- else if (rnum <= 37) BuildDeathString(attacker, "thevoice/destro.wav", " destroyed "); //Destroyed
- else if (rnum <= 38) BuildDeathString(attacker, "thevoice/diced.wav", " diced "); //Diced
- - else if (rnum <= 39) BuildDeathString(attacker, "thevoice/disembo.wav", " disembowled "); //Disembowled
- + else if (rnum <= 39) BuildDeathString(attacker, "thevoice/disembo.wav", " disemboweled "); //Disembowled
- else if (rnum <= 40) BuildDeathString(attacker, "thevoice/flatte.wav", " flattened "); //Flattened
- else if (rnum <= 41) BuildDeathString(attacker, "thevoice/killed.wav", " killed "); //Killed
- else if (rnum <= 42) BuildDeathString(attacker, "thevoice/madness.wav", " gave AnAl MaDnEsS to "); //Anal madness
- @@ -2107,7 +2118,7 @@
- else if (rnum <= 46) BuildDeathString(attacker, "thevoice/reamed.wav", " reamed "); //Reamed
- else if (rnum <= 47) BuildDeathString(attacker, "thevoice/vo14.wav", " shat upon "); //Shat upon
- else if (rnum <= 48) BuildDeathString(attacker, "thevoice/slaught.wav", " slaughtered "); //Slaughtered
- - else if (rnum <= 49) BuildDeathString(attacker, "thevoice/cliced.wav", " sliced "); //Sliced
- + else if (rnum <= 49) BuildDeathString(attacker, "thevoice/sliced.wav", " sliced "); //Sliced
- else if (rnum <= 50) BuildDeathString(attacker, "thevoice/smashed.wav", " smashed "); //Smashed
- else if (rnum <= 51) BuildDeathString(attacker, "thevoice/sodomiz.wav", " sodomized "); //Sodomized
- else if (rnum <= 52) BuildDeathString(attacker, "thevoice/splatt.wav", " splattered "); //Splattered
- diff -r 424c0d946ec9 qblood/progs/combat.qc
- --- a/qblood/progs/combat.qc Thu May 09 17:12:34 2013 +0200
- +++ b/qblood/progs/combat.qc Fri Jul 26 23:46:44 2013 -0500
- @@ -78,8 +78,10 @@
- oself = self;
- self = targ;
- +#if 0
- if (self.health < 0)
- self.health = 0; // Blood had no negative sign, so nothing below 0
- +#endif
- #ifndef NO_FRIKBOT
- @@ -185,6 +187,7 @@
- local float save;
- local float take;
- local float protected; // PM: Boolean for invulnerability.
- + local float bodhealth;
- if (!targ.takedamage)
- return;
- @@ -471,8 +474,12 @@
- // Do the damage.
- targ.health = targ.health - take;
- + if (cvar("g_instabrink"))
- + bodhealth = 99;
- + else
- + bodhealth = 1;
- if (targ.health >= -1 && // If a player reaches between -1 and 1 HP (Brink Of Death)
- - targ.health <= 1 &&
- + targ.health <= bodhealth &&
- targ.classname == "player" && // BOD can only be done player to player
- attacker.classname == "player" &&
- targ.player_state != PS_BOD_FALL && // If he wasn't already on the Brink Of Death
- diff -r 424c0d946ec9 qblood/progs/defs.qc
- --- a/qblood/progs/defs.qc Thu May 09 17:12:34 2013 +0200
- +++ b/qblood/progs/defs.qc Fri Jul 26 23:46:44 2013 -0500
- @@ -352,6 +352,7 @@
- .float charge;
- .float tnt_time;
- .float tnt_type;
- +.float remote_type;
- .float idle_time;
- .float idle_done;
- diff -r 424c0d946ec9 qblood/progs/items.qc
- --- a/qblood/progs/items.qc Thu May 09 17:12:34 2013 +0200
- +++ b/qblood/progs/items.qc Fri Jul 26 23:46:44 2013 -0500
- @@ -1439,6 +1439,7 @@
- void() precache_flaregun =
- {
- + precache_model("models/weapons/objects/muzzle_flare.spr32");
- precache_model("models/weapons/v_flare.psk");
- precache_model("models/weapons/g_flare.md3");
- precache_model("models/weapons/ga_flare.psk"); // akimbo model
- @@ -1659,6 +1660,7 @@
- void() precache_napalmlauncher =
- {
- + precache_model("models/weapons/objects/muzzle_napalm_2.spr32");
- precache_model("models/weapons/v_napalm.psk");
- precache_model("models/weapons/ga_napalm.psk");
- precache_model("models/weapons/g_napalm.md3");
- diff -r 424c0d946ec9 qblood/progs/player.qc
- --- a/qblood/progs/player.qc Thu May 09 17:12:34 2013 +0200
- +++ b/qblood/progs/player.qc Fri Jul 26 23:46:44 2013 -0500
- @@ -25,6 +25,8 @@
- void(float cloneCorpse) respawn;
- void(entity ent) CloneCorpse;
- void() Player_Idle;
- +void() GibPlayerCorpse;
- +void() FadeAway;
- /*
- ==============================================================================
- @@ -60,9 +62,10 @@
- // so that attackers will have the time to stop firing
- player.takedamage = DAMAGE_NO;
- - player.t_length = time + 15; // the effect will last 15 sec
- + player.t_length = time + 5; // the effect will last 5 sec
- sound(player, CHAN_VOICE, "thevoice/vo15.wav", 1, ATTN_NONE);
- centerprint(player, "YOU ARE ON THE BRINK OF DEATH!!");
- + player.oldenemy = attacker;
- // If there's a real attacker (not a BOD triggered by cheat code)
- if (attacker != world)
- centerprint(attacker, "FINISH HIM!!");
- @@ -70,6 +73,7 @@
- void() Player_LiveAgain =
- {
- + self.takedamage = DAMAGE_AIM;
- sound(self, CHAN_VOICE, "player/taunts/t1010.wav", 1, ATTN_NORM); // I live ... again!
- Player_Idle();
- W_DrawWeapon(self.weapon);
- @@ -477,6 +481,7 @@
- {
- self.nextthink = -1;
- GibPlayer();
- + self.health = 0;
- return;
- }
- @@ -488,33 +493,47 @@
- // If the player was on the Brink Of Death
- if (self.player_state >= PS_BOD_FALL && self.player_state <= PS_BOD_SWAY)
- {
- +#if 0
- // If the head is removed in the process
- if (self.health < -10)
- {
- +#endif
- // The player entity will be the head, so we must
- // create a new entity for the corpse
- player_head = self;
- self = spawn();
- setmodel(self, player_head.model);
- setorigin(self, player_head.origin);
- - setsize(self, player_head.mins, player_head.maxs);
- + setsize(self, '-16 -16 -20', '16 16 -15');
- self.angles = player_head.angles;
- self.frame = player_head.frame;
- self.skin = player_head.skin;
- self.colormap = player_head.colormap;
- - self.movetype = player_head.movetype;
- + self.movetype = MOVETYPE_TOSS;
- self.velocity = player_head.velocity;
- self.player_state = PS_HEADLESS_DEATH;
- + self.classname = "corpse";
- + self.health = 100;
- + self.th_die = GibPlayerCorpse;
- + self.solid = SOLID_BBOX;
- + self.takedamage = DAMAGE_AIM;
- + self.reset = SUB_Remove;
- + self.think = player_head.think;
- + self.nextthink = player_head.nextthink;
- self = player_head;
- self.deadflag = DEAD_DEAD;
- ThrowHead("progs/h_player.mdl", self.health);
- +#if 0
- }
- else
- self.player_state = PS_BOD_DEATH;
- +#endif
- }
- else
- self.player_state = PS_DEATH;
- + if (self.health < 0)
- + self.health = 0;
- };
- // used by kill command and disconnect command
- @@ -714,7 +733,9 @@
- {
- if (self.frame == PLAYER_DEATH_HEADLESS_END)
- {
- - self.think = SUB_Remove;
- + self.nextthink = time + 30;
- + self.think = FadeAway;
- + self.oldorigin = self.origin;
- return;
- }
- diff -r 424c0d946ec9 qblood/progs/w_bomb.qc
- --- a/qblood/progs/w_bomb.qc Thu May 09 17:12:34 2013 +0200
- +++ b/qblood/progs/w_bomb.qc Fri Jul 26 23:46:44 2013 -0500
- @@ -113,6 +113,8 @@
- // Don't let grenade explode twice.
- self.takedamage = DAMAGE_NO;
- + self.owner = self.enemy;
- +
- if (self.netname == "Napalm Ball")
- {
- local float radius, damage, burn;
- diff -r 424c0d946ec9 qblood/progs/w_napalm.qc
- --- a/qblood/progs/w_napalm.qc Thu May 09 17:12:34 2013 +0200
- +++ b/qblood/progs/w_napalm.qc Fri Jul 26 23:46:44 2013 -0500
- @@ -242,6 +242,8 @@
- newmis.reset = SUB_Remove;
- }
- muzzleflash(RIGHT);
- + if (self.owner.items & IT_GUNS_AKIMBO)
- + muzzleflash(LEFT);
- if (!(self.owner.flags & FL_INFINATE_AMMO))
- self.owner.currentammo = self.owner.ammo_rockets;
- setorigin(newmis, W_Origin() + v_forward * 18 + v_right * 3 + v_up * -8);
- diff -r 424c0d946ec9 qblood/progs/w_remote_tnt.qc
- --- a/qblood/progs/w_remote_tnt.qc Thu May 09 17:12:34 2013 +0200
- +++ b/qblood/progs/w_remote_tnt.qc Fri Jul 26 23:46:44 2013 -0500
- @@ -60,7 +60,7 @@
- {
- if (self.button0)
- {
- - if (self.weaponentity.tnt_type) // We only have the remote
- + if (self.weaponentity.remote_type) // We only have the remote
- {
- self.button0 = 0;
- sound(self, CHAN_WEAPON, "weapons/tnt/remfire.wav", 1, ATTN_NORM);
- @@ -85,9 +85,9 @@
- ShowThrowMeter();
- }
- }
- - else if (self.button3)// Altfire
- + else if (self.button3 && self.currentammo > 0)// Altfire
- {
- - if (self.weaponentity.tnt_type) // If we only have a remote, draw another bomb
- + if (self.weaponentity.remote_type) // If we only have a remote, draw another bomb
- {
- self.weaponentity.anim_type = HALF_DRAW;
- self.weaponentity.attack_finished = time + REMOTE_DRAW_TIME;
- @@ -98,7 +98,7 @@
- self.weaponentity.charge = 0;
- self.weaponentity.attack_finished = time + REMOTE_DROP_TIME;
- self.weaponentity.anim_type = IDLE_WITH_REMOTE;
- - self.weaponentity.tnt_type = REMOTE_ONLY;
- + self.weaponentity.remote_type = REMOTE_ONLY;
- self.player_state = PS_FIRE;
- Bomb_Fire();
- Bomb_Uncharge();
- @@ -122,9 +122,16 @@
- Remote_UpdateView();
- self.weaponentity.attack_finished = time + REMOTE_DRAW_TIME;
- self.player_state = PS_DRAW;
- - self.weaponentity.tnt_type = REMOTE_AND_BOMB;
- - self.weaponentity.anim_type = DRAW;
- - self.weaponentity.frame = REMOTE_DRAW_START;
- + if (self.weaponentity.remote_type)
- + {
- + self.weaponentity.anim_type = IDLE_WITH_REMOTE;
- + self.weaponentity.frame = REMOTE_THROW_END;
- + }
- + else
- + {
- + self.weaponentity.anim_type = DRAW;
- + self.weaponentity.frame = REMOTE_DRAW_START;
- + }
- self.weaponentity.skin = 1;
- self.weaponentity.nextthink = time;
- self.weaponentity.think = remote_animate;
- @@ -140,7 +147,7 @@
- void() Remote_Holster =
- {
- self.weaponentity.attack_finished = time + REMOTE_HOLSTER_TIME;
- - if (self.weaponentity.tnt_type) //Only holding a remote
- + if (self.weaponentity.remote_type) //Only holding a remote
- self.weaponentity.anim_type = HALF_HOLSTER;
- else
- self.weaponentity.anim_type = HOLSTER;
- @@ -173,7 +180,7 @@
- //self.weaponentity.attack_finished = time + 0.5; // don't throw instantly after detonating.
- self.owner.button0 = 0;
- - self.weaponentity.tnt_type = REMOTE_AND_BOMB;
- + self.weaponentity.remote_type = REMOTE_AND_BOMB;
- self.weaponentity.charge = 0;
- self.weaponentity.nextthink = time;
- @@ -306,13 +313,13 @@
- else // ammo_in_chamber == 1
- self.weaponentity.skin = self.weaponentity.skin - 1;
- - if (self.owner.button0 && !self.weaponentity.tnt_type) // we have a bomb in hand and holding fire
- + if (self.owner.button0 && !self.weaponentity.remote_type) // we have a bomb in hand and holding fire
- {
- if (self.weaponentity.charge < 20)
- self.weaponentity.charge = self.weaponentity.charge + 1;
- ShowThrowMeter();
- }
- - else if (self.weaponentity.charge && !self.weaponentity.tnt_type)
- + else if (self.weaponentity.charge && !self.weaponentity.remote_type)
- {
- self.weaponentity.anim_type = THROW;
- self.weaponentity.attack_finished = time + REMOTE_THROW_TIME - 0.4; //- 0.4 so we can det it nearly quickly.
- @@ -326,7 +333,7 @@
- {
- Bomb_Fire();
- Bomb_Uncharge();
- - self.weaponentity.tnt_type = REMOTE_ONLY;
- + self.weaponentity.remote_type = REMOTE_ONLY;
- }
- else if (self.weaponentity.frame == REMOTE_THROW_END)
- self.weaponentity.anim_type = IDLE_WITH_REMOTE;
- diff -r 424c0d946ec9 qblood/progs/w_shotgun.qc
- --- a/qblood/progs/w_shotgun.qc Thu May 09 17:12:34 2013 +0200
- +++ b/qblood/progs/w_shotgun.qc Fri Jul 26 23:46:44 2013 -0500
- @@ -436,12 +436,12 @@
- {
- if (self.weaponentity.frame == SHOTGUN_AKIMBO_FIRE_START)
- {
- - muzzleflash(LEFT);
- + muzzleflash(RIGHT);
- Shotgun_Fire();
- }
- else if (self.weaponentity.frame == SHOTGUN_AKIMBO_FIRE_START + 2)
- {
- - muzzleflash(RIGHT);
- + muzzleflash(LEFT);
- Shotgun_Fire();
- }
- else if (self.weaponentity.frame == SHOTGUN_AKIMBO_FIRE_END)
- @@ -472,7 +472,9 @@
- {
- if (self.weaponentity.frame == SHOTGUN_AKIMBO_ALTFIRE_START)
- {
- + muzzleflash(RIGHT);
- Shotgun_Fire();
- + muzzleflash(LEFT);
- Shotgun_Fire();
- }
- else if (self.weaponentity.frame == SHOTGUN_AKIMBO_ALTFIRE_END)
- diff -r 424c0d946ec9 qblood/progs/weapons.qc
- --- a/qblood/progs/weapons.qc Thu May 09 17:12:34 2013 +0200
- +++ b/qblood/progs/weapons.qc Fri Jul 26 23:46:44 2013 -0500
- @@ -103,14 +103,40 @@
- local string sprite;
- + makevectors(self.v_angle);
- if (self.owner.weapon == IT_FLAREGUN)
- {
- + sprite = "models/weapons/objects/muzzle_flare.spr32";
- + setmodel(muzzle, sprite);
- + muzzle.alpha = 0.7;
- + if (has_akimbo)
- + {
- + muzzle.scale = 0.4;
- + if (hand == RIGHT)
- + setorigin(muzzle, self.weaponentity.origin + v_up * -15);
- + }
- + else
- + {
- + muzzle.scale = 0.6;
- + setorigin(muzzle, self.weaponentity.origin + v_up * -15);
- + }
- + muzzle.frame = 0;
- + muzzle.nextthink = time + 0.1;
- + muzzle.think = muzzle_animate;
- + muzzle.th_die = muzzle_remove;
- }
- else if (self.owner.weapon == IT_SAWED_OFF)
- {
- if (has_akimbo)
- {
- + if (hand == LEFT)
- + setattachment(muzzle, self.weaponentity, "Muzzle_L");
- + else
- + setattachment(muzzle, self.weaponentity, "Muzzle_R");
- + setorigin(muzzle, self.weaponentity.origin + v_right * -13 + v_up * -4);
- + muzzle.scale = 0.65;
- +#if 0
- sprite = "models/weapons/objects/muzzle_shotgun.spr32";
- setmodel(muzzle, sprite);
- muzzle.scale = 0.45;
- @@ -119,6 +145,7 @@
- muzzle.nextthink = time + 0.1;
- muzzle.think = muzzle_animate;
- muzzle.th_die = muzzle_remove;
- +#endif
- }
- else
- {
- @@ -133,18 +160,19 @@
- if (self.weaponentity.ammo_in_chamber == 2)
- {
- setattachment(muzzle, self.weaponentity, "Muzzle_L");
- - setorigin(muzzle, '0 0 0' + v_right * -10.6);
- + setorigin(muzzle, self.weaponentity.origin + v_right * -10.6);
- }
- else
- {
- setattachment(muzzle, self.weaponentity, "Muzzle_R");
- - setorigin(muzzle, '0 0 0' + v_right * -10.4);
- + setorigin(muzzle, self.weaponentity.origin + v_right * -10.4);
- }
- muzzle.scale = 0.45;
- }
- }
- sprite = "models/weapons/objects/muzzle_shotgun.spr32";
- setmodel(muzzle, sprite);
- + muzzle.alpha = 0.6;
- muzzle.frame = 0;
- muzzle.anim_end = 1;
- muzzle.nextthink = time + 0.1;
- @@ -845,6 +873,7 @@
- /* if you only have a pitchfork drawn, you can draw the Napalm Launcher
- otherwise it won't draw if you run out of ammo of any other weapon */
- + if (self.ammo_rockets >= 1)
- if (self.weapon == IT_PITCHFORK && it & IT_NAPALM_LAUNCHER)
- return IT_NAPALM_LAUNCHER;
- @@ -1065,6 +1094,13 @@
- {
- local float am, newWeapon;
- + if (!self.weapon)
- + {
- + W_SwitchToWeapon(IT_PITCHFORK);
- + W_DrawWeapon(IT_PITCHFORK);
- + return;
- + }
- +
- newWeapon = self.weapon;
- // Don't let player change weapons while holding lit dynamite.
- @@ -1201,7 +1237,7 @@
- if (!W_AmmoAvailable() && self.weapon) //self.weapon is a check for dropping your weapons such as TNT self-explosion.
- {
- - if ((self.player_state != PS_HOLD_FIRE) && (self.weaponentity.tnt_type != REMOTE_ONLY))
- + if ((self.player_state != PS_HOLD_FIRE) && (self.weapon != IT_REMOTE_DETONATOR))
- {
- W_SwitchToWeapon(W_BestWeapon());
- return;
- diff -r 424c0d946ec9 qblood/progs/world.qc
- --- a/qblood/progs/world.qc Thu May 09 17:12:34 2013 +0200
- +++ b/qblood/progs/world.qc Fri Jul 26 23:46:44 2013 -0500
- @@ -54,6 +54,12 @@
- precache_model("models/objects/m_leg.md3");
- precache_model("models/objects/m_eyeball.md3");
- precache_model("models/objects/m_hand.md3");
- + precache_model("models/objects/glass1.md3");
- + precache_model("models/objects/glass2.md3");
- + precache_model("models/objects/glass3.md3");
- + precache_model("models/objects/rubble1.md3");
- + precache_model("models/objects/rubble2.md3");
- + precache_model("models/objects/rubble3.md3");
- precache_model("progs/s_explod.spr"); // napalm sprite explosion
- };
- @@ -167,6 +173,7 @@
- precache_sound("thevoice/vo42.wav");
- precache_sound("thevoice/vo43.wav");
- precache_sound("thevoice/vo44.wav");
- + precache_sound("thevoice/vo6.wav");
- precache_sound("thevoice/vo7.wav");
- precache_sound("thevoice/vo8.wav"); // Hamburger
- precache_sound("thevoice/vo9.wav");
- @@ -295,6 +302,7 @@
- // Create our own cvars as soon as possible
- registercvar("g_flashyEffects", "0");
- + registercvar("g_instabrink", "0");
- registercvar("g_lockTeams", "0");
- registercvar("g_warmup", "0");
- registercvar("g_weaponStay", "0");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement