From 83f104491528a6a7c92cf017c53a56793fc213e0 Mon Sep 17 00:00:00 2001 From: athrxx Date: Fri, 1 Mar 2019 21:59:02 +0100 Subject: 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) --- engines/kyra/engine/magic_eob.cpp | 10 +++++++++- 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 -- cgit v1.2.3