|
|
|
|
@ -87,7 +87,7 @@ enum Direction16 {
|
|
|
|
|
DIR16_Se, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
struct MissileStruct { |
|
|
|
|
struct Missile { |
|
|
|
|
/** Type of projectile */ |
|
|
|
|
missile_id _mitype; |
|
|
|
|
MissilePosition position; |
|
|
|
|
@ -126,7 +126,7 @@ struct MissileStruct {
|
|
|
|
|
bool limitReached; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
extern MissileStruct Missiles[MAXMISSILES]; |
|
|
|
|
extern Missile Missiles[MAXMISSILES]; |
|
|
|
|
extern int AvailableMissiles[MAXMISSILES]; |
|
|
|
|
extern int ActiveMissiles[MAXMISSILES]; |
|
|
|
|
extern int ActiveMissileCount; |
|
|
|
|
@ -138,133 +138,133 @@ Direction16 GetDirection16(Point p1, Point p2);
|
|
|
|
|
void DeleteMissile(int mi, int i); |
|
|
|
|
bool MonsterTrapHit(int m, int mindam, int maxdam, int dist, missile_id t, bool shift); |
|
|
|
|
bool PlayerMHit(int pnum, Monster *monster, int dist, int mind, int maxd, missile_id mtype, bool shift, int earflag, bool *blocked); |
|
|
|
|
void SetMissDir(MissileStruct &missile, int dir); |
|
|
|
|
void SetMissDir(Missile &missile, int dir); |
|
|
|
|
void InitMissileGFX(); |
|
|
|
|
void FreeMissiles(); |
|
|
|
|
void FreeMissiles2(); |
|
|
|
|
void InitMissiles(); |
|
|
|
|
void AddHiveExplosion(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddFireRune(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddLightningRune(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddGreatLightningRune(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddImmolationRune(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddStoneRune(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddReflection(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddBerserk(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddHorkSpawn(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddJester(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddStealPotions(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddManaTrap(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddSpecArrow(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddWarp(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddLightningWall(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddRuneExplosion(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddFireNova(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddLightningArrow(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddMana(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddMagi(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddRing(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddSearch(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddCboltArrow(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddLArrow(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddArrow(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddRndTeleport(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddFirebolt(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddMagmaball(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddTeleport(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddLightball(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddFirewall(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddFireball(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddLightctrl(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddLightning(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddMisexp(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddWeapexp(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddTown(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddFlash(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddFlash2(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddManashield(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddFiremove(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddGuardian(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddChain(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddRhino(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddFlare(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddAcid(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddAcidpud(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddStone(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddGolem(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddBoom(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddHeal(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddHealOther(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddElement(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddIdentify(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddFirewallC(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddInfra(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddWave(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddNova(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddBlodboil(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddRepair(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddRecharge(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddDisarm(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddApoca(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddFlame(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddFlamec(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddCbolt(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddHbolt(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddResurrect(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddResurrectBeam(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddTelekinesis(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddBoneSpirit(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddRportal(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddDiabApoca(MissileStruct &missile, Point dst, Direction midir); |
|
|
|
|
void AddHiveExplosion(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddFireRune(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddLightningRune(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddGreatLightningRune(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddImmolationRune(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddStoneRune(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddReflection(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddBerserk(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddHorkSpawn(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddJester(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddStealPotions(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddManaTrap(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddSpecArrow(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddWarp(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddLightningWall(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddRuneExplosion(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddFireNova(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddLightningArrow(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddMana(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddMagi(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddRing(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddSearch(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddCboltArrow(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddLArrow(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddArrow(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddRndTeleport(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddFirebolt(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddMagmaball(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddTeleport(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddLightball(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddFirewall(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddFireball(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddLightctrl(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddLightning(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddMisexp(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddWeapexp(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddTown(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddFlash(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddFlash2(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddManashield(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddFiremove(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddGuardian(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddChain(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddRhino(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddFlare(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddAcid(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddAcidpud(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddStone(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddGolem(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddBoom(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddHeal(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddHealOther(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddElement(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddIdentify(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddFirewallC(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddInfra(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddWave(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddNova(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddBlodboil(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddRepair(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddRecharge(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddDisarm(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddApoca(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddFlame(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddFlamec(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddCbolt(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddHbolt(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddResurrect(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddResurrectBeam(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddTelekinesis(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddBoneSpirit(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddRportal(Missile &missile, Point dst, Direction midir); |
|
|
|
|
void AddDiabApoca(Missile &missile, Point dst, Direction midir); |
|
|
|
|
int AddMissile(Point src, Point dst, Direction midir, missile_id mitype, mienemy_type micaster, int id, int midam, int spllvl); |
|
|
|
|
void MI_Golem(MissileStruct &missile); |
|
|
|
|
void MI_Manashield(MissileStruct &missile); |
|
|
|
|
void MI_LArrow(MissileStruct &missile); |
|
|
|
|
void MI_Arrow(MissileStruct &missile); |
|
|
|
|
void MI_Firebolt(MissileStruct &missile); |
|
|
|
|
void MI_Lightball(MissileStruct &missilei); |
|
|
|
|
void MI_Acidpud(MissileStruct &missile); |
|
|
|
|
void MI_Firewall(MissileStruct &missile); |
|
|
|
|
void MI_Fireball(MissileStruct &missile); |
|
|
|
|
void MI_HorkSpawn(MissileStruct &missile); |
|
|
|
|
void MI_Rune(MissileStruct &missile); |
|
|
|
|
void MI_LightningWall(MissileStruct &missile); |
|
|
|
|
void MI_HiveExplode(MissileStruct &missile); |
|
|
|
|
void MI_LightningArrow(MissileStruct &missile); |
|
|
|
|
void MI_FireRing(MissileStruct &missile); |
|
|
|
|
void MI_Search(MissileStruct &missile); |
|
|
|
|
void MI_LightningWallC(MissileStruct &missile); |
|
|
|
|
void MI_FireNova(MissileStruct &missile); |
|
|
|
|
void MI_SpecArrow(MissileStruct &missile); |
|
|
|
|
void MI_Lightctrl(MissileStruct &missile); |
|
|
|
|
void MI_Lightning(MissileStruct &missile); |
|
|
|
|
void MI_Town(MissileStruct &missile); |
|
|
|
|
void MI_Flash(MissileStruct &missile); |
|
|
|
|
void MI_Flash2(MissileStruct &missile); |
|
|
|
|
void MI_Firemove(MissileStruct &missile); |
|
|
|
|
void MI_Guardian(MissileStruct &missile); |
|
|
|
|
void MI_Chain(MissileStruct &missile); |
|
|
|
|
void MI_Weapexp(MissileStruct &missile); |
|
|
|
|
void MI_Misexp(MissileStruct &missile); |
|
|
|
|
void MI_Acidsplat(MissileStruct &missile); |
|
|
|
|
void MI_Teleport(MissileStruct &missile); |
|
|
|
|
void MI_Stone(MissileStruct &missile); |
|
|
|
|
void MI_Boom(MissileStruct &missile); |
|
|
|
|
void MI_Rhino(MissileStruct &missile); |
|
|
|
|
void MI_FirewallC(MissileStruct &missile); |
|
|
|
|
void MI_Infra(MissileStruct &missile); |
|
|
|
|
void MI_Apoca(MissileStruct &missile); |
|
|
|
|
void MI_Wave(MissileStruct &missile); |
|
|
|
|
void MI_Nova(MissileStruct &missile); |
|
|
|
|
void MI_Blodboil(MissileStruct &missile); |
|
|
|
|
void MI_Flame(MissileStruct &missile); |
|
|
|
|
void MI_Flamec(MissileStruct &missile); |
|
|
|
|
void MI_Cbolt(MissileStruct &missile); |
|
|
|
|
void MI_Hbolt(MissileStruct &missile); |
|
|
|
|
void MI_Element(MissileStruct &missile); |
|
|
|
|
void MI_Bonespirit(MissileStruct &missile); |
|
|
|
|
void MI_ResurrectBeam(MissileStruct &missile); |
|
|
|
|
void MI_Rportal(MissileStruct &missile); |
|
|
|
|
void MI_Golem(Missile &missile); |
|
|
|
|
void MI_Manashield(Missile &missile); |
|
|
|
|
void MI_LArrow(Missile &missile); |
|
|
|
|
void MI_Arrow(Missile &missile); |
|
|
|
|
void MI_Firebolt(Missile &missile); |
|
|
|
|
void MI_Lightball(Missile &missilei); |
|
|
|
|
void MI_Acidpud(Missile &missile); |
|
|
|
|
void MI_Firewall(Missile &missile); |
|
|
|
|
void MI_Fireball(Missile &missile); |
|
|
|
|
void MI_HorkSpawn(Missile &missile); |
|
|
|
|
void MI_Rune(Missile &missile); |
|
|
|
|
void MI_LightningWall(Missile &missile); |
|
|
|
|
void MI_HiveExplode(Missile &missile); |
|
|
|
|
void MI_LightningArrow(Missile &missile); |
|
|
|
|
void MI_FireRing(Missile &missile); |
|
|
|
|
void MI_Search(Missile &missile); |
|
|
|
|
void MI_LightningWallC(Missile &missile); |
|
|
|
|
void MI_FireNova(Missile &missile); |
|
|
|
|
void MI_SpecArrow(Missile &missile); |
|
|
|
|
void MI_Lightctrl(Missile &missile); |
|
|
|
|
void MI_Lightning(Missile &missile); |
|
|
|
|
void MI_Town(Missile &missile); |
|
|
|
|
void MI_Flash(Missile &missile); |
|
|
|
|
void MI_Flash2(Missile &missile); |
|
|
|
|
void MI_Firemove(Missile &missile); |
|
|
|
|
void MI_Guardian(Missile &missile); |
|
|
|
|
void MI_Chain(Missile &missile); |
|
|
|
|
void MI_Weapexp(Missile &missile); |
|
|
|
|
void MI_Misexp(Missile &missile); |
|
|
|
|
void MI_Acidsplat(Missile &missile); |
|
|
|
|
void MI_Teleport(Missile &missile); |
|
|
|
|
void MI_Stone(Missile &missile); |
|
|
|
|
void MI_Boom(Missile &missile); |
|
|
|
|
void MI_Rhino(Missile &missile); |
|
|
|
|
void MI_FirewallC(Missile &missile); |
|
|
|
|
void MI_Infra(Missile &missile); |
|
|
|
|
void MI_Apoca(Missile &missile); |
|
|
|
|
void MI_Wave(Missile &missile); |
|
|
|
|
void MI_Nova(Missile &missile); |
|
|
|
|
void MI_Blodboil(Missile &missile); |
|
|
|
|
void MI_Flame(Missile &missile); |
|
|
|
|
void MI_Flamec(Missile &missile); |
|
|
|
|
void MI_Cbolt(Missile &missile); |
|
|
|
|
void MI_Hbolt(Missile &missile); |
|
|
|
|
void MI_Element(Missile &missile); |
|
|
|
|
void MI_Bonespirit(Missile &missile); |
|
|
|
|
void MI_ResurrectBeam(Missile &missile); |
|
|
|
|
void MI_Rportal(Missile &missile); |
|
|
|
|
void ProcessMissiles(); |
|
|
|
|
void missiles_process_charge(); |
|
|
|
|
void RedoMissileFlags(); |
|
|
|
|
|