/* function */ W_Shockwave,
/* ammotype */ ammo_none,
/* impulse */ 2,
-/* flags */ WEP_FLAG_NORMAL | WEP_TYPE_HITSCAN,
+/* flags */ WEP_FLAG_NORMAL | WEP_TYPE_HITSCAN | WEP_FLAG_CANCLIMB | WEP_FLAG_MUTATORBLOCKED,
/* rating */ BOT_PICKUP_RATING_LOW,
/* color */ '0.5 0.25 0',
/* modelname */ "shotgun",
}
#define MAX_SHOCKWAVE_HITS 10
-#define DEBUG_SHOCKWAVE
+//#define DEBUG_SHOCKWAVE
.float swing_prev;
.entity swing_alreadyhit;
);
// draw lightning beams for debugging
+#ifdef DEBUG_SHOCKWAVE
te_lightning2(world, targpos, self.realowner.origin + self.realowner.view_ofs + v_forward * 5 - v_up * 5);
te_customflash(targpos, 40, 2, '1 1 1');
+#endif
- is_player = (trace_ent.classname == "player" || trace_ent.classname == "body" || (trace_ent.flags & FL_MONSTER));
+ is_player = (IS_PLAYER(trace_ent) || trace_ent.classname == "body" || (trace_ent.flags & FL_MONSTER));
if((trace_fraction < 1) // if trace is good, apply the damage and remove self if necessary
&& (trace_ent.takedamage == DAMAGE_AIM)
case WR_INIT:
{
precache_model("models/uziflash.md3");
- precache_model("models/weapons/g_shockwave.md3");
- precache_model("models/weapons/v_shockwave.md3");
- precache_model("models/weapons/h_shockwave.iqm");
+ precache_model("models/weapons/g_shotgun.md3");
+ precache_model("models/weapons/v_shotgun.md3");
+ precache_model("models/weapons/h_shotgun.iqm");
precache_sound("misc/itempickup.wav");
- precache_sound("weapons/shockwave_fire.wav");
- precache_sound("weapons/shockwave_melee.wav");
+ precache_sound("weapons/lasergun_fire.wav");
+ precache_sound("weapons/shotgun_melee.wav");
SHOCKWAVE_SETTINGS(WEP_SKIP_CVAR, WEP_SET_PROP)
return TRUE;
}