EFFECT(0, SMOKE_RING, "smoke_ring")
EFFECT(0, JUMPPAD, "jumppad_activate")
EFFECT(1, BULLET, "tr_bullet")
+EFFECT(1, BULLET_WEAK, "tr_bullet_weak")
EFFECT(0, EF_FLAME, "EF_FLAME")
EFFECT(0, EF_STARDUST, "EF_STARDUST")
EFFECT(0, TE_EXPLOSION, "TE_EXPLOSION")
WEP_CVAR_PRI(shotgun, spread),
WEP_CVAR_PRI(shotgun, solidpenetration),
WEP_CVAR_PRI(shotgun, force),
- EFFECT_BULLET); // actually is secondary, but we trick the last shot into playing full reload sound
+ EFFECT_BULLET_WEAK); // actually is secondary, but we trick the last shot into playing full reload sound
weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_SEC(shotgun, alt_animtime), w_ready);
}
void W_Shotgun_Attack3_Frame1(Weapon thiswep, entity actor, .entity weaponentity, int fire)
WEP_CVAR_PRI(shotgun, spread),
WEP_CVAR_PRI(shotgun, solidpenetration),
WEP_CVAR_PRI(shotgun, force),
- EFFECT_BULLET);
+ EFFECT_BULLET_WEAK);
weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_SEC(shotgun, alt_animtime), W_Shotgun_Attack3_Frame2);
}
WEP_CVAR_PRI(shotgun, spread),
WEP_CVAR_PRI(shotgun, solidpenetration),
WEP_CVAR_PRI(shotgun, force),
- EFFECT_BULLET);
+ EFFECT_BULLET_WEAK);
actor.(weaponentity).shotgun_primarytime = time + WEP_CVAR_PRI(shotgun, refire) * W_WeaponRateFactor(actor);
weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(shotgun, animtime), w_ready);
}
WEP_CVAR_PRI(shotgun, spread),
WEP_CVAR_PRI(shotgun, solidpenetration),
WEP_CVAR_PRI(shotgun, force),
- EFFECT_BULLET);
+ EFFECT_BULLET_WEAK);
actor.(weaponentity).shotgun_primarytime = time + WEP_CVAR_SEC(shotgun, alt_refire) * W_WeaponRateFactor(actor);
weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_SEC(shotgun, alt_animtime), W_Shotgun_Attack3_Frame1);
}
fireBullet_last_hit = NULL;
}
+int autocvar_eff;
void fireBullet(entity this, .entity weaponentity, vector start, vector dir, float spread, float max_solid_penetration, float damage, float force, float dtype, entity tracer_effects)
{
vector end;
end = start + dir * max_shot_distance;
fireBullet_last_hit = NULL;
+
+ if (autocvar_eff == 1) {
+ tracer_effects = EFFECT_RIFLE;
+ } else if (autocvar_eff == 2) {
+ tracer_effects = EFFECT_RIFLE_WEAK;
+ } else if (autocvar_eff == 3) {
+ tracer_effects = EFFECT_BULLET;
+ } else if (autocvar_eff == 4) {
+ tracer_effects = EFFECT_BULLET_WEAK;
+ }
+
fireBullet_trace_callback_eff = tracer_effects;
float solid_penetration_left = 1;