diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/kyra/engine/magic_eob.cpp | 10 | ||||
-rw-r--r-- | engines/kyra/resource/staticres_eob.cpp | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/engines/kyra/engine/magic_eob.cpp b/engines/kyra/engine/magic_eob.cpp index 448f7f0db1..a0e01c3f1b 100644 --- a/engines/kyra/engine/magic_eob.cpp +++ b/engines/kyra/engine/magic_eob.cpp @@ -886,7 +886,15 @@ bool EoBCoreEngine::spellCallback_end_melfsAcidArrow(void *obj) { } void EoBCoreEngine::spellCallback_start_dispelMagic() { - for (int i = 0; i < 6; i++) { + int first = 0; + int last = 5; + + if (_flags.gameID == GI_EOB1) { + _txt->printMessage(_magicStrings8[0], -1, _characters[_activeSpellCharId].name); + first = last = _activeSpellCharId; + } + + for (int i = first; i <= last; i++) { if (testCharacter(i, 1)) removeAllCharacterEffects(i); } diff --git a/engines/kyra/resource/staticres_eob.cpp b/engines/kyra/resource/staticres_eob.cpp index 281cb7f6db..a9f9c33483 100644 --- a/engines/kyra/resource/staticres_eob.cpp +++ b/engines/kyra/resource/staticres_eob.cpp @@ -1228,7 +1228,7 @@ void EoBEngine::initSpells() { { 0x0000, 0x000000, 0x00 }, // dummy { 0x0100, 0x000000, 0x11 }, // melf's acid arrow { 0x0000, 0x000000, 0x00 }, // STINKING CLOUD - { 0x1000, 0x000000, 0x00 }, // dispel magic + { 0x00A0, 0x000000, 0x00 }, // dispel magic { 0x0100, 0x000000, 0x21 }, // fireball { 0x0100, 0x000000, 0x11 }, // FLAME ARROW { 0x0248, 0x010000, 0x00 }, // haste @@ -1252,7 +1252,7 @@ void EoBEngine::initSpells() { { 0x0100, 0x000000, 0x00 }, // hold person { 0x0028, 0x002000, 0x00 }, // slow poison { 0x0040, 0x000000, 0x00 }, // create food - { 0x1000, 0x000000, 0x00 }, // dispel magic + { 0x00A0, 0x000000, 0x00 }, // dispel magic { 0x0099, 0x004000, 0x00 }, // magical vestment { 0x004C, 0x008000, 0x00 }, // prayer { 0x0040, 0x000000, 0x00 }, // remove paralysis |