From da368f5e008795168daa98dace83d6510100d8bc Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 18 Feb 2015 21:17:55 -0500 Subject: XEEN: Add special case spell handling during combat --- engines/xeen/spells.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'engines/xeen/spells.cpp') diff --git a/engines/xeen/spells.cpp b/engines/xeen/spells.cpp index 3b753bc90b..d2a2af31c0 100644 --- a/engines/xeen/spells.cpp +++ b/engines/xeen/spells.cpp @@ -126,13 +126,21 @@ int Spells::castSpell(Character *c, int spellId) { } else { // Some spells have special handling switch (spellId) { - case 19: - // Enchant item + case 19: // Enchant item + case 21: // Etherialize + case 40: // Jump + case 44: // Lloyd's Beacon + case 66: // Super Shelter + case 69: // Teleport + case 71: // Town Portal + case 75: // Wizard Eye if (_vm->_mode != MODE_COMBAT) { - enchantItem(); + executeSpell(spellId); } else { // Return the spell costs and flag that another spell can be selected addSpellCost(*c, spellId); + ErrorDialog::show(_vm, Common::String::format(CANT_CAST_WHILE_ENGAGED, + _spellNames[spellId])); result = -1; } break; -- cgit v1.2.3