self.nextthink = time + 0.1;
}
-void W_Fireball_Damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
+void W_Fireball_Damage(entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force)
{
if(self.health <= 0)
return;
CSQCProjectile(proj, true, PROJECTILE_FIREBALL, true);
- other = proj; MUTATOR_CALLHOOK(EditProjectile);
+ MUTATOR_CALLHOOK(EditProjectile, self, proj);
}
void W_Fireball_AttackEffect(float i, vector f_diff)
CSQCProjectile(proj, true, PROJECTILE_FIREMINE, true);
- other = proj; MUTATOR_CALLHOOK(EditProjectile);
+ MUTATOR_CALLHOOK(EditProjectile, self, proj);
}
-float W_Fireball(float req)
+bool W_Fireball(int req)
{
switch(req)
{
if(random() < 0.01) self.bot_primary_fireballmooth = 1;
}
}
-
+
return true;
}
case WR_THINK:
weapon_thinkf(WFRAME_FIRE2, WEP_CVAR_SEC(fireball, animtime), w_ready);
}
}
-
+
return true;
}
case WR_INIT:
precache_sound("weapons/fireball_fire.wav");
precache_sound("weapons/fireball_fire2.wav");
precache_sound("weapons/fireball_prefire2.wav");
- FIREBALL_SETTINGS(WEP_SKIP_CVAR, WEP_SET_PROP)
+ FIREBALL_SETTINGS(WEP_SKIP_CVAR, WEP_SET_PROP);
return true;
}
case WR_SETUP:
}
case WR_CONFIG:
{
- FIREBALL_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
+ FIREBALL_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS);
return true;
}
case WR_RESETPLAYER:
}
#endif
#ifdef CSQC
-float W_Fireball(float req)
+bool W_Fireball(int req)
{
switch(req)
{
if(!w_issilent)
sound(self, CH_SHOTS, "weapons/fireball_impact2.wav", VOL_BASE, ATTEN_NORM * 0.25); // long range boom
}
-
+
return true;
}
case WR_INIT: