diff options
author | athrxx | 2019-03-01 21:59:02 +0100 |
---|---|---|
committer | athrxx | 2019-03-06 20:48:28 +0100 |
commit | 83f104491528a6a7c92cf017c53a56793fc213e0 (patch) | |
tree | caf58c9cba88dd9d79dd471a6a9a5c2224af0609 | |
parent | 5af15399ec1e00feab1d80fcdb65bac2b66c5499 (diff) | |
download | scummvm-rg350-83f104491528a6a7c92cf017c53a56793fc213e0.tar.gz scummvm-rg350-83f104491528a6a7c92cf017c53a56793fc213e0.tar.bz2 scummvm-rg350-83f104491528a6a7c92cf017c53a56793fc213e0.zip |
KYRA: (EOB1) - make dispel magic spell more accurate
(In EOB1 this spell is supposed to affect only one selected party member and not the whole party)
-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 |