22 #ifndef MM1_GAME_SPELLS_MONSTERS 23 #define MM1_GAME_SPELLS_MONSTERS 25 #include "mm/mm1/game/game_logic.h" 26 #include "mm/mm1/data/character.h" 27 #include "mm/mm1/data/monsters.h" 28 #include "mm/mm1/messages.h" 29 #include "common/str.h" 35 #define MAX_COMBAT_MONSTERS 15 36 #define MONSTER_SPELLS_COUNT 32 39 typedef void (SpellsMonsters::*SpellMonstersSpell)();
43 static const SpellMonstersSpell SPELLS[MONSTER_SPELLS_COUNT];
46 void spell02_energyBlast();
48 void spell04_blindness();
49 void spell05_sprayPoison();
50 void spell06_sprayAcid();
52 void spell08_paralyze();
53 void spell09_dispel();
54 void spell10_lightningBolt();
55 void spell11_strangeGas();
56 void spell12_explode();
57 void spell13_fireball();
58 void spell14_fireBreath();
60 void spell16_acidArrow();
61 void spell17_elements();
62 void spell18_coldBeam();
63 void spell19_dancingSword();
64 void spell20_magicDrain();
65 void spell21_fingerOfDeath();
66 void spell22_sunRay();
67 void spell23_disintegration();
68 void spell24_commandsEnergy();
69 void spell25_poison();
70 void spell26_lightning();
72 void spell28_spikes();
75 void spell31_energy();
86 void damageRandomChar();
91 void chooseCharacter();
109 bool randomThreshold(
int threshold)
const {
111 return v < 3 || v >= threshold;
121 bool testElementalResistance();
126 void writeConditionEffect();
131 void handlePartyEffects();
136 int _damage = 0, _displayedDamage = 0;
138 virtual bool canMonsterCast()
const = 0;
139 virtual int getMonsterIndex()
const = 0;
140 virtual void dispelParty() = 0;
141 virtual void removeMonster() = 0;
181 _lines.
back()._text += msg;
184 _lines.
back()._text += c;
void castMonsterSpell(const Common::String &monsterName, int spellNum)
void setCondition(byte newCondition)
Definition: spells_monsters.h:41
const LineArray & getMonsterSpellMessage() const
Definition: spells_monsters.h:204
virtual Common::String subtractDamageFromChar()=0
Definition: detection.h:27
Definition: game_logic.h:29
bool isCharAffected() const
static int getRandomNumber(int minNumber, int maxNumber)
T & back()
Definition: array.h:232
void add(const Common::String &msg)
Definition: spells_monsters.h:180