@ -11,114 +11,114 @@ namespace devilution {
MissileData missiledata [ ] = {
// clang-format off
// mAddProc, mProc, mName, mDraw, mType, mResist, mFileNum, miSFX, mlSFX;
{ & AddArrow , & MI_Arrow , MIS_ARROW , true , 0 , MISR_NONE , MFILE_ARROWS , - 1 , - 1 } ,
{ & AddArrow , & MI_Arrow , MIS_ARROW , true , 0 , MISR_NONE , MFILE_ARROWS , SFX_NONE , SFX_NONE } ,
{ & AddFirebolt , & MI_Firebolt , MIS_FIREBOLT , true , 1 , MISR_FIRE , MFILE_FIREBA , LS_FBOLT1 , LS_FIRIMP2 } ,
{ & AddGuardian , & MI_Guardian , MIS_GUARDIAN , true , 1 , MISR_NONE , MFILE_GUARD , LS_GUARD , LS_GUARDLAN } ,
{ & AddRndTeleport , & MI_Teleport , MIS_RNDTELEPORT , false , 1 , MISR_NONE , MFILE_NONE , LS_TELEPORT , - 1 } ,
{ & AddLightball , & MI_Lightball , MIS_LIGHTBALL , true , 1 , MISR_LIGHTNING , MFILE_LGHNING , - 1 , - 1 } ,
{ & AddRndTeleport , & MI_Teleport , MIS_RNDTELEPORT , false , 1 , MISR_NONE , MFILE_NONE , LS_TELEPORT , SFX_NONE } ,
{ & AddLightball , & MI_Lightball , MIS_LIGHTBALL , true , 1 , MISR_LIGHTNING , MFILE_LGHNING , SFX_NONE , SFX_NONE } ,
{ & AddFirewall , & MI_Firewall , MIS_FIREWALL , true , 1 , MISR_FIRE , MFILE_FIREWAL , LS_WALLLOOP , LS_FIRIMP2 } ,
{ & AddFireball , & MI_Fireball , MIS_FIREBALL , true , 1 , MISR_FIRE , MFILE_FIREBA , LS_FBOLT1 , LS_FIRIMP2 } ,
{ & AddLightctrl , & MI_Lightctrl , MIS_LIGHTCTRL , false , 1 , MISR_LIGHTNING , MFILE_LGHNING , - 1 , - 1 } ,
{ & AddLightctrl , & MI_Lightctrl , MIS_LIGHTCTRL , false , 1 , MISR_LIGHTNING , MFILE_LGHNING , SFX_NONE , SFX_NONE } ,
{ & AddLightning , & MI_Lightning , MIS_LIGHTNING , true , 1 , MISR_LIGHTNING , MFILE_LGHNING , LS_LNING1 , LS_ELECIMP1 } ,
{ & AddMisexp , & MI_Misexp , MIS_MISEXP , true , 2 , MISR_NONE , MFILE_MAGBLOS , - 1 , - 1 } ,
{ & AddMisexp , & MI_Misexp , MIS_MISEXP , true , 2 , MISR_NONE , MFILE_MAGBLOS , SFX_NONE , SFX_NONE } ,
{ & AddTown , & MI_Town , MIS_TOWN , true , 1 , MISR_MAGIC , MFILE_PORTAL , LS_SENTINEL , LS_ELEMENTL } ,
{ & AddFlash , & MI_Flash , MIS_FLASH , true , 1 , MISR_MAGIC , MFILE_BLUEXFR , LS_NOVA , LS_ELECIMP1 } ,
{ & AddFlash2 , & MI_Flash2 , MIS_FLASH2 , true , 1 , MISR_MAGIC , MFILE_BLUEXBK , - 1 , - 1 } ,
{ & AddManashield , & MI_SetManashield , MIS_MANASHIELD , false , 1 , MISR_MAGIC , MFILE_MANASHLD , LS_MSHIELD , - 1 } ,
{ & AddFiremove , & MI_Firemove , MIS_FIREMOVE , true , 1 , MISR_FIRE , MFILE_FIREWAL , - 1 , - 1 } ,
{ & AddFlash2 , & MI_Flash2 , MIS_FLASH2 , true , 1 , MISR_MAGIC , MFILE_BLUEXBK , SFX_NONE , SFX_NONE } ,
{ & AddManashield , & MI_SetManashield , MIS_MANASHIELD , false , 1 , MISR_MAGIC , MFILE_MANASHLD , LS_MSHIELD , SFX_NONE } ,
{ & AddFiremove , & MI_Firemove , MIS_FIREMOVE , true , 1 , MISR_FIRE , MFILE_FIREWAL , SFX_NONE , SFX_NONE } ,
{ & AddChain , & MI_Chain , MIS_CHAIN , true , 1 , MISR_LIGHTNING , MFILE_LGHNING , LS_LNING1 , LS_ELECIMP1 } ,
{ NULL , NULL , MIS_SENTINAL , true , 1 , MISR_LIGHTNING , MFILE_LGHNING , - 1 , - 1 } ,
{ NULL , NULL , MIS_SENTINAL , true , 1 , MISR_LIGHTNING , MFILE_LGHNING , SFX_NONE , SFX_NONE } ,
{ & AddBloodStar , & MI_Blood , MIS_BLODSTAR , true , 2 , MISR_NONE , MFILE_BLOOD , LS_BLODSTAR , LS_BLSIMPT } ,
{ & AddBone , & MI_Blood , MIS_BONE , true , 2 , MISR_NONE , MFILE_BONE , - 1 , - 1 } ,
{ & AddMetlHit , & MI_Blood , MIS_METLHIT , true , 2 , MISR_NONE , MFILE_METLHIT , - 1 , - 1 } ,
{ & AddRhino , & MI_Rhino , MIS_RHINO , true , 2 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddMagmaball , & MI_Firebolt , MIS_MAGMABALL , true , 1 , MISR_FIRE , MFILE_MAGBALL , - 1 , - 1 } ,
{ & AddLightctrl , & MI_Lightctrl , MIS_LIGHTCTRL2 , false , 1 , MISR_LIGHTNING , MFILE_THINLGHT , - 1 , - 1 } ,
{ & AddLightning , & MI_Lightning , MIS_LIGHTNING2 , true , 1 , MISR_LIGHTNING , MFILE_THINLGHT , - 1 , - 1 } ,
{ & AddFlare , & MI_Firebolt , MIS_FLARE , true , 1 , MISR_MAGIC , MFILE_FLARE , - 1 , - 1 } ,
{ & AddMisexp , & MI_Misexp , MIS_MISEXP2 , true , 2 , MISR_MAGIC , MFILE_FLAREEXP , - 1 , - 1 } ,
{ & AddTeleport , & MI_Teleport , MIS_TELEPORT , false , 1 , MISR_NONE , MFILE_NONE , LS_ELEMENTL , - 1 } ,
{ & AddLArrow , & MI_LArrow , MIS_FARROW , true , 0 , MISR_FIRE , MFILE_FARROW , - 1 , - 1 } ,
{ NULL , NULL , MIS_DOOMSERP , false , 1 , MISR_MAGIC , MFILE_DOOM , LS_DSERP , - 1 } ,
{ & AddFireWallA , & MI_Firewall , MIS_FIREWALLA , true , 2 , MISR_FIRE , MFILE_FIREWAL , - 1 , - 1 } ,
{ & AddStone , & MI_Stone , MIS_STONE , false , 1 , MISR_MAGIC , MFILE_NONE , LS_SCURIMP , - 1 } ,
{ & AddDummy , & MI_Dummy , MIS_NULL_1F , true , 1 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ NULL , NULL , MIS_INVISIBL , false , 1 , MISR_NONE , MFILE_NONE , LS_INVISIBL , - 1 } ,
{ & AddGolem , & MI_Golem , MIS_GOLEM , false , 1 , MISR_NONE , MFILE_NONE , LS_GOLUM , - 1 } ,
{ & AddEtherealize , & MI_Etherealize , MIS_ETHEREALIZE , true , 1 , MISR_NONE , MFILE_ETHRSHLD , LS_ETHEREAL , - 1 } ,
{ & AddBlodbur , & MI_Blood , MIS_BLODBUR , true , 2 , MISR_NONE , MFILE_BLODBUR , - 1 , - 1 } ,
{ & AddBoom , & MI_Boom , MIS_BOOM , true , 2 , MISR_NONE , MFILE_NEWEXP , - 1 , - 1 } ,
{ & AddHeal , & MI_Dummy , MIS_HEAL , false , 1 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddFirewallC , & MI_FirewallC , MIS_FIREWALLC , false , 1 , MISR_FIRE , MFILE_FIREWAL , - 1 , - 1 } ,
{ & AddInfra , & MI_Infra , MIS_INFRA , false , 1 , MISR_NONE , MFILE_NONE , LS_INFRAVIS , - 1 } ,
{ & AddIdentify , & MI_Dummy , MIS_IDENTIFY , false , 1 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddWave , & MI_Wave , MIS_WAVE , true , 1 , MISR_FIRE , MFILE_FIREWAL , LS_FLAMWAVE , - 1 } ,
{ & AddNova , & MI_Nova , MIS_NOVA , true , 1 , MISR_LIGHTNING , MFILE_LGHNING , LS_NOVA , - 1 } ,
{ & AddBlodboil , & MI_Blodboil , MIS_BLODBOIL , false , 1 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddApoca , & MI_Apoca , MIS_APOCA , true , 1 , MISR_MAGIC , MFILE_NEWEXP , LS_APOC , - 1 } ,
{ & AddRepair , & MI_Dummy , MIS_REPAIR , false , 2 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddRecharge , & MI_Dummy , MIS_RECHARGE , false , 2 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddDisarm , & MI_Dummy , MIS_DISARM , false , 2 , MISR_NONE , MFILE_NONE , LS_TRAPDIS , - 1 } ,
{ & AddFlame , & MI_Flame , MIS_FLAME , true , 1 , MISR_FIRE , MFILE_INFERNO , LS_SPOUTSTR , - 1 } ,
{ & AddFlamec , & MI_Flamec , MIS_FLAMEC , false , 1 , MISR_FIRE , MFILE_NONE , - 1 , - 1 } ,
{ & AddFireman , & MI_Fireman , MIS_FIREMAN , true , 2 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddKrull , & MI_Krull , MIS_KRULL , true , 0 , MISR_FIRE , MFILE_KRULL , - 1 , - 1 } ,
{ & AddCbolt , & MI_Cbolt , MIS_CBOLT , true , 1 , MISR_LIGHTNING , MFILE_MINILTNG , LS_CBOLT , - 1 } ,
{ & AddBone , & MI_Blood , MIS_BONE , true , 2 , MISR_NONE , MFILE_BONE , SFX_NONE , SFX_NONE } ,
{ & AddMetlHit , & MI_Blood , MIS_METLHIT , true , 2 , MISR_NONE , MFILE_METLHIT , SFX_NONE , SFX_NONE } ,
{ & AddRhino , & MI_Rhino , MIS_RHINO , true , 2 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddMagmaball , & MI_Firebolt , MIS_MAGMABALL , true , 1 , MISR_FIRE , MFILE_MAGBALL , SFX_NONE , SFX_NONE } ,
{ & AddLightctrl , & MI_Lightctrl , MIS_LIGHTCTRL2 , false , 1 , MISR_LIGHTNING , MFILE_THINLGHT , SFX_NONE , SFX_NONE } ,
{ & AddLightning , & MI_Lightning , MIS_LIGHTNING2 , true , 1 , MISR_LIGHTNING , MFILE_THINLGHT , SFX_NONE , SFX_NONE } ,
{ & AddFlare , & MI_Firebolt , MIS_FLARE , true , 1 , MISR_MAGIC , MFILE_FLARE , SFX_NONE , SFX_NONE } ,
{ & AddMisexp , & MI_Misexp , MIS_MISEXP2 , true , 2 , MISR_MAGIC , MFILE_FLAREEXP , SFX_NONE , SFX_NONE } ,
{ & AddTeleport , & MI_Teleport , MIS_TELEPORT , false , 1 , MISR_NONE , MFILE_NONE , LS_ELEMENTL , SFX_NONE } ,
{ & AddLArrow , & MI_LArrow , MIS_FARROW , true , 0 , MISR_FIRE , MFILE_FARROW , SFX_NONE , SFX_NONE } ,
{ NULL , NULL , MIS_DOOMSERP , false , 1 , MISR_MAGIC , MFILE_DOOM , LS_DSERP , SFX_NONE } ,
{ & AddFireWallA , & MI_Firewall , MIS_FIREWALLA , true , 2 , MISR_FIRE , MFILE_FIREWAL , SFX_NONE , SFX_NONE } ,
{ & AddStone , & MI_Stone , MIS_STONE , false , 1 , MISR_MAGIC , MFILE_NONE , LS_SCURIMP , SFX_NONE } ,
{ & AddDummy , & MI_Dummy , MIS_NULL_1F , true , 1 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ NULL , NULL , MIS_INVISIBL , false , 1 , MISR_NONE , MFILE_NONE , LS_INVISIBL , SFX_NONE } ,
{ & AddGolem , & MI_Golem , MIS_GOLEM , false , 1 , MISR_NONE , MFILE_NONE , LS_GOLUM , SFX_NONE } ,
{ & AddEtherealize , & MI_Etherealize , MIS_ETHEREALIZE , true , 1 , MISR_NONE , MFILE_ETHRSHLD , LS_ETHEREAL , SFX_NONE } ,
{ & AddBlodbur , & MI_Blood , MIS_BLODBUR , true , 2 , MISR_NONE , MFILE_BLODBUR , SFX_NONE , SFX_NONE } ,
{ & AddBoom , & MI_Boom , MIS_BOOM , true , 2 , MISR_NONE , MFILE_NEWEXP , SFX_NONE , SFX_NONE } ,
{ & AddHeal , & MI_Dummy , MIS_HEAL , false , 1 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddFirewallC , & MI_FirewallC , MIS_FIREWALLC , false , 1 , MISR_FIRE , MFILE_FIREWAL , SFX_NONE , SFX_NONE } ,
{ & AddInfra , & MI_Infra , MIS_INFRA , false , 1 , MISR_NONE , MFILE_NONE , LS_INFRAVIS , SFX_NONE } ,
{ & AddIdentify , & MI_Dummy , MIS_IDENTIFY , false , 1 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddWave , & MI_Wave , MIS_WAVE , true , 1 , MISR_FIRE , MFILE_FIREWAL , LS_FLAMWAVE , SFX_NONE } ,
{ & AddNova , & MI_Nova , MIS_NOVA , true , 1 , MISR_LIGHTNING , MFILE_LGHNING , LS_NOVA , SFX_NONE } ,
{ & AddBlodboil , & MI_Blodboil , MIS_BLODBOIL , false , 1 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddApoca , & MI_Apoca , MIS_APOCA , true , 1 , MISR_MAGIC , MFILE_NEWEXP , LS_APOC , SFX_NONE } ,
{ & AddRepair , & MI_Dummy , MIS_REPAIR , false , 2 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddRecharge , & MI_Dummy , MIS_RECHARGE , false , 2 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddDisarm , & MI_Dummy , MIS_DISARM , false , 2 , MISR_NONE , MFILE_NONE , LS_TRAPDIS , SFX_NONE } ,
{ & AddFlame , & MI_Flame , MIS_FLAME , true , 1 , MISR_FIRE , MFILE_INFERNO , LS_SPOUTSTR , SFX_NONE } ,
{ & AddFlamec , & MI_Flamec , MIS_FLAMEC , false , 1 , MISR_FIRE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddFireman , & MI_Fireman , MIS_FIREMAN , true , 2 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddKrull , & MI_Krull , MIS_KRULL , true , 0 , MISR_FIRE , MFILE_KRULL , SFX_NONE , SFX_NONE } ,
{ & AddCbolt , & MI_Cbolt , MIS_CBOLT , true , 1 , MISR_LIGHTNING , MFILE_MINILTNG , LS_CBOLT , SFX_NONE } ,
{ & AddHbolt , & MI_Hbolt , MIS_HBOLT , true , 1 , MISR_NONE , MFILE_HOLY , LS_HOLYBOLT , LS_ELECIMP1 } ,
{ & AddResurrect , & MI_Dummy , MIS_RESURRECT , false , 1 , MISR_MAGIC , MFILE_NONE , - 1 , LS_RESUR } ,
{ & AddTelekinesis , & MI_Dummy , MIS_TELEKINESIS , false , 1 , MISR_NONE , MFILE_NONE , LS_ETHEREAL , - 1 } ,
{ & AddLArrow , & MI_LArrow , MIS_LARROW , true , 0 , MISR_LIGHTNING , MFILE_LARROW , - 1 , - 1 } ,
{ & AddAcid , & MI_Firebolt , MIS_ACID , true , 1 , MISR_ACID , MFILE_ACIDBF , LS_ACID , - 1 } ,
{ & AddMisexp , & MI_Acidsplat , MIS_MISEXP3 , true , 2 , MISR_ACID , MFILE_ACIDSPLA , - 1 , - 1 } ,
{ & AddAcidpud , & MI_Acidpud , MIS_ACIDPUD , true , 2 , MISR_ACID , MFILE_ACIDPUD , LS_PUDDLE , - 1 } ,
{ & AddHealOther , & MI_Dummy , MIS_HEALOTHER , false , 1 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddElement , & MI_Element , MIS_ELEMENT , true , 1 , MISR_FIRE , MFILE_FIRERUN , LS_ELEMENTL , - 1 } ,
{ & AddResurrectBeam , & MI_ResurrectBeam , MIS_RESURRECTBEAM , true , 1 , MISR_NONE , MFILE_RESSUR1 , - 1 , - 1 } ,
{ & AddResurrect , & MI_Dummy , MIS_RESURRECT , false , 1 , MISR_MAGIC , MFILE_NONE , SFX_NONE , LS_RESUR } ,
{ & AddTelekinesis , & MI_Dummy , MIS_TELEKINESIS , false , 1 , MISR_NONE , MFILE_NONE , LS_ETHEREAL , SFX_NONE } ,
{ & AddLArrow , & MI_LArrow , MIS_LARROW , true , 0 , MISR_LIGHTNING , MFILE_LARROW , SFX_NONE , SFX_NONE } ,
{ & AddAcid , & MI_Firebolt , MIS_ACID , true , 1 , MISR_ACID , MFILE_ACIDBF , LS_ACID , SFX_NONE } ,
{ & AddMisexp , & MI_Acidsplat , MIS_MISEXP3 , true , 2 , MISR_ACID , MFILE_ACIDSPLA , SFX_NONE , SFX_NONE } ,
{ & AddAcidpud , & MI_Acidpud , MIS_ACIDPUD , true , 2 , MISR_ACID , MFILE_ACIDPUD , LS_PUDDLE , SFX_NONE } ,
{ & AddHealOther , & MI_Dummy , MIS_HEALOTHER , false , 1 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddElement , & MI_Element , MIS_ELEMENT , true , 1 , MISR_FIRE , MFILE_FIRERUN , LS_ELEMENTL , SFX_NONE } ,
{ & AddResurrectBeam , & MI_ResurrectBeam , MIS_RESURRECTBEAM , true , 1 , MISR_NONE , MFILE_RESSUR1 , SFX_NONE , SFX_NONE } ,
{ & AddBoneSpirit , & MI_Bonespirit , MIS_BONESPIRIT , true , 1 , MISR_MAGIC , MFILE_SKLBALL , LS_BONESP , LS_BSIMPCT } ,
{ & AddWeapexp , & MI_Weapexp , MIS_WEAPEXP , true , 2 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddWeapexp , & MI_Weapexp , MIS_WEAPEXP , true , 2 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddRportal , & MI_Rportal , MIS_RPORTAL , true , 2 , MISR_NONE , MFILE_RPORTAL , LS_SENTINEL , LS_ELEMENTL } ,
{ & AddBoom , & MI_Boom , MIS_BOOM2 , true , 2 , MISR_NONE , MFILE_FIREPLAR , - 1 , - 1 } ,
{ & AddDiabApoca , & MI_Dummy , MIS_DIABAPOCA , false , 2 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddMana , & MI_Dummy , MIS_MANA , false , 1 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddMagi , & MI_Dummy , MIS_MAGI , false , 1 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddBoom , & MI_Boom , MIS_BOOM2 , true , 2 , MISR_NONE , MFILE_FIREPLAR , SFX_NONE , SFX_NONE } ,
{ & AddDiabApoca , & MI_Dummy , MIS_DIABAPOCA , false , 2 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddMana , & MI_Dummy , MIS_MANA , false , 1 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddMagi , & MI_Dummy , MIS_MAGI , false , 1 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddLightningWall , & MI_LightningWall , MIS_LIGHTWALL , true , 1 , MISR_LIGHTNING , MFILE_LGHNING , LS_LMAG , LS_ELECIMP1 } ,
{ & AddFirewallC , & MI_LightningWallC , MIS_LIGHTNINGWALL , false , 1 , MISR_LIGHTNING , MFILE_LGHNING , - 1 , - 1 } ,
{ & AddFirewallC , & MI_LightningWallC , MIS_LIGHTNINGWALL , false , 1 , MISR_LIGHTNING , MFILE_LGHNING , SFX_NONE , SFX_NONE } ,
{ & AddNova , & MI_FireNova , MIS_IMMOLATION , true , 1 , MISR_FIRE , MFILE_FIREBA , LS_FBOLT1 , LS_FIRIMP2 } ,
{ & AddSpecArrow , & MI_SpecArrow , MIS_SPECARROW , true , 0 , MISR_NONE , MFILE_ARROWS , - 1 , - 1 } ,
{ & AddSpecArrow , & MI_SpecArrow , MIS_SPECARROW , true , 0 , MISR_NONE , MFILE_ARROWS , SFX_NONE , SFX_NONE } ,
{ & AddFireNova , & MI_Fireball , MIS_FIRENOVA , true , 1 , MISR_FIRE , MFILE_FIREBA , IS_FBALLBOW , LS_FIRIMP2 } ,
{ & AddLightningArrow , & MI_LightningArrow , MIS_LIGHTARROW , false , 1 , MISR_LIGHTNING , MFILE_LGHNING , IS_FBALLBOW , - 1 } ,
{ & AddCboltArrow , & MI_Cbolt , MIS_CBOLTARROW , true , 1 , MISR_LIGHTNING , MFILE_MINILTNG , LS_CBOLT , - 1 } ,
{ & AddLightningArrow , & MI_LightningArrow , MIS_LIGHTARROW , false , 1 , MISR_LIGHTNING , MFILE_LGHNING , IS_FBALLBOW , SFX_NONE } ,
{ & AddCboltArrow , & MI_Cbolt , MIS_CBOLTARROW , true , 1 , MISR_LIGHTNING , MFILE_MINILTNG , LS_CBOLT , SFX_NONE } ,
{ & AddHbolt , & MI_Hbolt , MIS_HBOLTARROW , true , 1 , MISR_NONE , MFILE_HOLY , LS_HOLYBOLT , LS_ELECIMP1 } ,
{ & AddWarp , & MI_Teleport , MIS_WARP , false , 1 , MISR_NONE , MFILE_NONE , LS_ETHEREAL , - 1 } ,
{ & AddReflection , & MI_Reflect , MIS_REFLECT , true , 1 , MISR_NONE , MFILE_REFLECT , LS_MSHIELD , - 1 } ,
{ & AddBerserk , & MI_Dummy , MIS_BERSERK , false , 1 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddRing , & MI_FireRing , MIS_FIRERING , false , 1 , MISR_FIRE , MFILE_FIREWAL , - 1 , - 1 } ,
{ & AddStealPotions , & MI_Dummy , MIS_STEALPOTS , false , 1 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddManaTrap , & MI_Dummy , MIS_MANATRAP , false , 1 , MISR_NONE , MFILE_NONE , IS_CAST7 , - 1 } ,
{ & AddRing , & MI_LightningRing , MIS_LIGHTRING , false , 1 , MISR_LIGHTNING , MFILE_LGHNING , - 1 , - 1 } ,
{ & AddSearch , & MI_Search , MIS_SEARCH , false , 1 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddFlashBack , & MI_FlashBack , MIS_FLASHBK , true , 1 , MISR_MAGIC , MFILE_BLUEXBK , - 1 , - 1 } ,
{ & AddFlashFront , & MI_FlashFront , MIS_FLASHFR , true , 1 , MISR_MAGIC , MFILE_BLUEXFR , - 1 , LS_ELECIMP1 } ,
{ & AddWarp , & MI_Teleport , MIS_WARP , false , 1 , MISR_NONE , MFILE_NONE , LS_ETHEREAL , SFX_NONE } ,
{ & AddReflection , & MI_Reflect , MIS_REFLECT , true , 1 , MISR_NONE , MFILE_REFLECT , LS_MSHIELD , SFX_NONE } ,
{ & AddBerserk , & MI_Dummy , MIS_BERSERK , false , 1 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddRing , & MI_FireRing , MIS_FIRERING , false , 1 , MISR_FIRE , MFILE_FIREWAL , SFX_NONE , SFX_NONE } ,
{ & AddStealPotions , & MI_Dummy , MIS_STEALPOTS , false , 1 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddManaTrap , & MI_Dummy , MIS_MANATRAP , false , 1 , MISR_NONE , MFILE_NONE , IS_CAST7 , SFX_NONE } ,
{ & AddRing , & MI_LightningRing , MIS_LIGHTRING , false , 1 , MISR_LIGHTNING , MFILE_LGHNING , SFX_NONE , SFX_NONE } ,
{ & AddSearch , & MI_Search , MIS_SEARCH , false , 1 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddFlashBack , & MI_FlashBack , MIS_FLASHBK , true , 1 , MISR_MAGIC , MFILE_BLUEXBK , SFX_NONE , SFX_NONE } ,
{ & AddFlashFront , & MI_FlashFront , MIS_FLASHFR , true , 1 , MISR_MAGIC , MFILE_BLUEXFR , SFX_NONE , LS_ELECIMP1 } ,
{ & AddImmolation , & MI_Immolation , MIS_IMMOLATION2 , true , 1 , MISR_FIRE , MFILE_FIREBA , LS_FBOLT1 , LS_FIRIMP2 } ,
{ & AddFireRune , & MI_Rune , MIS_RUNEFIRE , true , 1 , MISR_NONE , MFILE_RUNE , - 1 , - 1 } ,
{ & AddLightningRune , & MI_Rune , MIS_RUNELIGHT , true , 1 , MISR_NONE , MFILE_RUNE , - 1 , - 1 } ,
{ & AddGreatLightningRune , & MI_Rune , MIS_RUNENOVA , true , 1 , MISR_NONE , MFILE_RUNE , - 1 , - 1 } ,
{ & AddImmolationRune , & MI_Rune , MIS_RUNEIMMOLAT , true , 1 , MISR_NONE , MFILE_RUNE , - 1 , - 1 } ,
{ & AddStoneRune , & MI_Rune , MIS_RUNESTONE , true , 1 , MISR_NONE , MFILE_RUNE , - 1 , - 1 } ,
{ & AddFireRune , & MI_Rune , MIS_RUNEFIRE , true , 1 , MISR_NONE , MFILE_RUNE , SFX_NONE , SFX_NONE } ,
{ & AddLightningRune , & MI_Rune , MIS_RUNELIGHT , true , 1 , MISR_NONE , MFILE_RUNE , SFX_NONE , SFX_NONE } ,
{ & AddGreatLightningRune , & MI_Rune , MIS_RUNENOVA , true , 1 , MISR_NONE , MFILE_RUNE , SFX_NONE , SFX_NONE } ,
{ & AddImmolationRune , & MI_Rune , MIS_RUNEIMMOLAT , true , 1 , MISR_NONE , MFILE_RUNE , SFX_NONE , SFX_NONE } ,
{ & AddStoneRune , & MI_Rune , MIS_RUNESTONE , true , 1 , MISR_NONE , MFILE_RUNE , SFX_NONE , SFX_NONE } ,
{ & AddRuneExplosion , & MI_HiveExplode , MIS_HIVEEXP , true , 1 , MISR_FIRE , MFILE_BIGEXP , LS_NESTXPLD , LS_NESTXPLD } ,
{ & AddHorkSpawn , & MI_HorkSpawn , MIS_HORKDMN , true , 2 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddJester , & MI_Dummy , MIS_JESTER , false , 2 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddHiveExplosion , & MI_Dummy , MIS_HIVEEXP2 , false , 2 , MISR_NONE , MFILE_NONE , - 1 , - 1 } ,
{ & AddFlare , & MI_Firebolt , MIS_LICH , true , 1 , MISR_MAGIC , MFILE_LICH , - 1 , - 1 } ,
{ & AddFlare , & MI_Firebolt , MIS_PSYCHORB , true , 1 , MISR_MAGIC , MFILE_BONEDEMON , - 1 , - 1 } ,
{ & AddFlare , & MI_Firebolt , MIS_NECROMORB , true , 1 , MISR_MAGIC , MFILE_NECROMORB , - 1 , - 1 } ,
{ & AddFlare , & MI_Firebolt , MIS_ARCHLICH , true , 1 , MISR_MAGIC , MFILE_ARCHLICH , - 1 , - 1 } ,
{ & AddFlare , & MI_Firebolt , MIS_BONEDEMON , true , 1 , MISR_MAGIC , MFILE_BONEDEMON , - 1 , - 1 } ,
{ & AddMisexp , & MI_Misexp , MIS_EXYEL2 , true , 2 , MISR_NONE , MFILE_EXYEL2 , LS_FIRIMP2 , - 1 } ,
{ & AddMisexp , & MI_Misexp , MIS_EXRED3 , true , 2 , MISR_NONE , MFILE_EXRED3 , LS_FIRIMP2 , - 1 } ,
{ & AddMisexp , & MI_Misexp , MIS_EXBL2 , true , 2 , MISR_NONE , MFILE_EXBL2 , LS_FIRIMP2 , - 1 } ,
{ & AddMisexp , & MI_Misexp , MIS_EXBL3 , true , 2 , MISR_NONE , MFILE_EXBL3 , LS_FIRIMP2 , - 1 } ,
{ & AddMisexp , & MI_Misexp , MIS_EXORA1 , true , 2 , MISR_NONE , MFILE_EXORA1 , LS_FIRIMP2 , - 1 } ,
{ & AddHorkSpawn , & MI_HorkSpawn , MIS_HORKDMN , true , 2 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddJester , & MI_Dummy , MIS_JESTER , false , 2 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddHiveExplosion , & MI_Dummy , MIS_HIVEEXP2 , false , 2 , MISR_NONE , MFILE_NONE , SFX_NONE , SFX_NONE } ,
{ & AddFlare , & MI_Firebolt , MIS_LICH , true , 1 , MISR_MAGIC , MFILE_LICH , SFX_NONE , SFX_NONE } ,
{ & AddFlare , & MI_Firebolt , MIS_PSYCHORB , true , 1 , MISR_MAGIC , MFILE_BONEDEMON , SFX_NONE , SFX_NONE } ,
{ & AddFlare , & MI_Firebolt , MIS_NECROMORB , true , 1 , MISR_MAGIC , MFILE_NECROMORB , SFX_NONE , SFX_NONE } ,
{ & AddFlare , & MI_Firebolt , MIS_ARCHLICH , true , 1 , MISR_MAGIC , MFILE_ARCHLICH , SFX_NONE , SFX_NONE } ,
{ & AddFlare , & MI_Firebolt , MIS_BONEDEMON , true , 1 , MISR_MAGIC , MFILE_BONEDEMON , SFX_NONE , SFX_NONE } ,
{ & AddMisexp , & MI_Misexp , MIS_EXYEL2 , true , 2 , MISR_NONE , MFILE_EXYEL2 , LS_FIRIMP2 , SFX_NONE } ,
{ & AddMisexp , & MI_Misexp , MIS_EXRED3 , true , 2 , MISR_NONE , MFILE_EXRED3 , LS_FIRIMP2 , SFX_NONE } ,
{ & AddMisexp , & MI_Misexp , MIS_EXBL2 , true , 2 , MISR_NONE , MFILE_EXBL2 , LS_FIRIMP2 , SFX_NONE } ,
{ & AddMisexp , & MI_Misexp , MIS_EXBL3 , true , 2 , MISR_NONE , MFILE_EXBL3 , LS_FIRIMP2 , SFX_NONE } ,
{ & AddMisexp , & MI_Misexp , MIS_EXORA1 , true , 2 , MISR_NONE , MFILE_EXORA1 , LS_FIRIMP2 , SFX_NONE } ,
// clang-format on
} ;