3 bool W_DualWielding(entity player);
4 void W_GiveWeapon (entity e, float wep);
5 .float prevstrengthsound;
6 .float prevstrengthsoundattempt;
7 void W_PlayStrengthSound(entity player);
8 float W_CheckProjectileDamage(entity inflictor, entity projowner, int deathtype, float exception);
9 void W_PrepareExplosionByDamage(entity this, entity attacker, void(entity this) explode);
11 .float misc_bulletcounter;
13 .int projectiledeathtype;
20 #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_CORPSE; (e).dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_CORPSE
21 // when doing this, hagar can go through clones
22 // #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_BBOX
25 const int MIF_SPLASH = BIT(1);
26 const int MIF_ARC = BIT(2);
27 const int MIF_PROXY = BIT(3);
28 const int MIF_GUIDED_MANUAL = BIT(4);
29 const int MIF_GUIDED_HEAT = BIT(5);
30 const int MIF_GUIDED_LASER = BIT(6);
31 const int MIF_GUIDED_AI = BIT(7);
32 const int MIF_GUIDED_TAG = BIT(7);
33 const int MIF_GUIDED_ALL = MIF_GUIDED_MANUAL | MIF_GUIDED_HEAT | MIF_GUIDED_LASER | MIF_GUIDED_AI | MIF_GUIDED_TAG;
34 const int MIF_GUIDED_TRACKING = MIF_GUIDED_HEAT | MIF_GUIDED_LASER | MIF_GUIDED_AI | MIF_GUIDED_TAG;
35 const int MIF_GUIDED_CONFUSABLE = MIF_GUIDED_HEAT | MIF_GUIDED_AI;