|
|
|
|
/**
|
|
|
|
|
* @file missiles.h
|
|
|
|
|
*
|
|
|
|
|
* Interface of missile functionality.
|
|
|
|
|
*/
|
|
|
|
|
#ifndef __MISSILES_H__
|
|
|
|
|
#define __MISSILES_H__
|
|
|
|
|
|
|
|
|
|
extern int missileactive[MAXMISSILES];
|
|
|
|
|
extern int missileavail[MAXMISSILES];
|
|
|
|
|
extern MissileStruct missile[MAXMISSILES];
|
|
|
|
|
extern int nummissiles;
|
|
|
|
|
extern BOOL MissilePreFlag;
|
|
|
|
|
|
|
|
|
|
void GetDamageAmt(int i, int *mind, int *maxd);
|
|
|
|
|
int GetSpellLevel(int id, int sn);
|
|
|
|
|
void DeleteMissile(int mi, int i);
|
|
|
|
|
BOOL MonsterTrapHit(int m, int mindam, int maxdam, int dist, int t, BOOLEAN shift);
|
|
|
|
|
BOOL PlayerMHit(int pnum, int m, int dist, int mind, int maxd, int mtype, BOOLEAN shift, int earflag
|
|
|
|
|
#ifdef HELLFIRE
|
|
|
|
|
,
|
|
|
|
|
BOOLEAN *blocked
|
|
|
|
|
#endif
|
|
|
|
|
);
|
|
|
|
|
void SetMissAnim(int mi, int animtype);
|
|
|
|
|
void SetMissDir(int mi, int dir);
|
|
|
|
|
void LoadMissileGFX(BYTE mi);
|
|
|
|
|
void InitMissileGFX();
|
|
|
|
|
void FreeMissiles();
|
|
|
|
|
void FreeMissiles2();
|
|
|
|
|
void InitMissiles();
|
|
|
|
|
#ifdef HELLFIRE
|
|
|
|
|
void missiles_hive_explosion(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_fire_rune(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_light_rune(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_great_light_rune(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_immolation_rune(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_stone_rune(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_reflection(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_berserk(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_hork_spawn(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_jester(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_steal_pots(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_mana_trap(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_spec_arrow(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_warp(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_light_wall(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_rune_explosion(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_immo_1(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_immo_2(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_larrow(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_43303D(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_433040(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_rech_mana(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_magi(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_ring(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_search(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_cbolt_arrow(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void missiles_hbolt_arrow(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddBlodboil(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
#endif
|
|
|
|
|
void AddLArrow(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddArrow(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddRndTeleport(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddFirebolt(int mi, int sx, int sy, int dx, int dy, int midir, char micaster, int id, int dam);
|
|
|
|
|
void AddMagmaball(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void miss_null_33(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddTeleport(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddLightball(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddFirewall(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddFireball(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddLightctrl(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddLightning(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddMisexp(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddWeapexp(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddTown(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddFlash(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddFlash2(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddManashield(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddFiremove(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddGuardian(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddChain(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void miss_null_11(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void miss_null_12(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void miss_null_13(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddRhino(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void miss_null_32(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddFlare(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddAcid(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void miss_null_1D(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddAcidpud(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddStone(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddGolem(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddEtherealize(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void miss_null_1F(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void miss_null_23(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddBoom(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddHeal(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddHealOther(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddElement(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddIdentify(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddFirewallC(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddInfra(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddWave(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddNova(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddBlodboil(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddRepair(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddRecharge(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddDisarm(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddApoca(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddFlame(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddFlamec(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddCbolt(int mi, int sx, int sy, int dx, int dy, int midir, char micaster, int id, int dam);
|
|
|
|
|
void AddHbolt(int mi, int sx, int sy, int dx, int dy, int midir, char micaster, int id, int dam);
|
|
|
|
|
void AddResurrect(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddResurrectBeam(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddTelekinesis(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddBoneSpirit(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddRportal(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
void AddDiabApoca(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam);
|
|
|
|
|
int AddMissile(int sx, int sy, int dx, int dy, int midir, int mitype, char micaster, int id, int midam, int spllvl);
|
|
|
|
|
void MI_Dummy(int i);
|
|
|
|
|
void MI_Golem(int i);
|
|
|
|
|
void MI_SetManashield(int i);
|
|
|
|
|
void MI_LArrow(int i);
|
|
|
|
|
void MI_Arrow(int i);
|
|
|
|
|
void MI_Firebolt(int i);
|
|
|
|
|
void MI_Lightball(int i);
|
|
|
|
|
void mi_null_33(int i);
|
|
|
|
|
void MI_Acidpud(int i);
|
|
|
|
|
void MI_Firewall(int i);
|
|
|
|
|
void MI_Fireball(int i);
|
|
|
|
|
#ifdef HELLFIRE
|
|
|
|
|
void mi_hork_spawn(int i);
|
|
|
|
|
void MI_Rune(int i);
|
|
|
|
|
void mi_light_wall(int i);
|
|
|
|
|
void mi_hive_explode(int i);
|
|
|
|
|
void mi_immolation(int i);
|
|
|
|
|
void mi_light_arrow(int i);
|
|
|
|
|
void mi_flashfr(int i);
|
|
|
|
|
void mi_flashbk(int i);
|
|
|
|
|
void mi_reflect(int i);
|
|
|
|
|
void mi_fire_ring(int i);
|
|
|
|
|
void mi_light_ring(int i);
|
|
|
|
|
void mi_search(int i);
|
|
|
|
|
void mi_lightning_wall(int i);
|
|
|
|
|
void mi_fire_nova(int i);
|
|
|
|
|
void mi_spec_arrow(int i);
|
|
|
|
|
#endif
|
|
|
|
|
void MI_Lightctrl(int i);
|
|
|
|
|
void MI_Lightning(int i);
|
|
|
|
|
void MI_Town(int i);
|
|
|
|
|
void MI_Flash(int i);
|
|
|
|
|
void MI_Flash2(int i);
|
|
|
|
|
void MI_Etherealize(int i);
|
|
|
|
|
void MI_Firemove(int i);
|
|
|
|
|
void MI_Guardian(int i);
|
|
|
|
|
void MI_Chain(int i);
|
|
|
|
|
void mi_null_11(int i);
|
|
|
|
|
void MI_Weapexp(int i);
|
|
|
|
|
void MI_Misexp(int i);
|
|
|
|
|
void MI_Acidsplat(int i);
|
|
|
|
|
void MI_Teleport(int i);
|
|
|
|
|
void MI_Stone(int i);
|
|
|
|
|
void MI_Boom(int i);
|
|
|
|
|
void MI_Rhino(int i);
|
|
|
|
|
void mi_null_32(int i);
|
|
|
|
|
void MI_FirewallC(int i);
|
|
|
|
|
void MI_Infra(int i);
|
|
|
|
|
void MI_Apoca(int i);
|
|
|
|
|
void MI_Wave(int i);
|
|
|
|
|
void MI_Nova(int i);
|
|
|
|
|
void MI_Blodboil(int i);
|
|
|
|
|
void MI_Flame(int i);
|
|
|
|
|
void MI_Flamec(int i);
|
|
|
|
|
void MI_Cbolt(int i);
|
|
|
|
|
void MI_Hbolt(int i);
|
|
|
|
|
void MI_Element(int i);
|
|
|
|
|
void MI_Bonespirit(int i);
|
|
|
|
|
void MI_ResurrectBeam(int i);
|
|
|
|
|
void MI_Rportal(int i);
|
|
|
|
|
void ProcessMissiles();
|
|
|
|
|
void missiles_process_charge();
|
|
|
|
|
void ClearMissileSpot(int mi);
|
|
|
|
|
|
|
|
|
|
#endif /* __MISSILES_H__ */
|