[Scummvm-git-logs] scummvm master -> fc03c1e71cef6e50e8e809452f0af94d75643ac3
dreammaster
dreammaster at scummvm.org
Thu Mar 29 03:54:13 CEST 2018
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
fc03c1e71c XEEN: Don't allow dismissing characters holding Elder weapons in Swords
Commit: fc03c1e71cef6e50e8e809452f0af94d75643ac3
https://github.com/scummvm/scummvm/commit/fc03c1e71cef6e50e8e809452f0af94d75643ac3
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2018-03-28T21:53:59-04:00
Commit Message:
XEEN: Don't allow dismissing characters holding Elder weapons in Swords
Changed paths:
engines/xeen/dialogs/dialogs_dismiss.cpp
engines/xeen/item.cpp
engines/xeen/item.h
diff --git a/engines/xeen/dialogs/dialogs_dismiss.cpp b/engines/xeen/dialogs/dialogs_dismiss.cpp
index 716f8f0..7f9c8d9 100644
--- a/engines/xeen/dialogs/dialogs_dismiss.cpp
+++ b/engines/xeen/dialogs/dialogs_dismiss.cpp
@@ -70,6 +70,10 @@ void Dismiss::execute() {
w.close();
ErrorScroll::show(_vm, Res.CANT_DISMISS_LAST_CHAR, WT_NONFREEZED_WAIT);
w.open();
+ } else if (party._activeParty[_buttonValue]._weapons.hasElderWeapon()) {
+ w.close();
+ ErrorScroll::show(_vm, Res.DELETE_CHAR_WITH_ELDER_WEAPON, WT_NONFREEZED_WAIT);
+ w.open();
} else {
// Remove the character from the party
party._activeParty.remove_at(_buttonValue);
diff --git a/engines/xeen/item.cpp b/engines/xeen/item.cpp
index c50276d..871f60b 100644
--- a/engines/xeen/item.cpp
+++ b/engines/xeen/item.cpp
@@ -385,6 +385,17 @@ Common::String WeaponItems::getAttributes(XeenItem &item, const Common::String &
);
}
+bool WeaponItems::hasElderWeapon() const {
+ if (g_vm->getGameID() == GType_Swords) {
+ for (uint idx = 0; idx < size(); ++idx) {
+ if ((*this)[idx]._id >= 34)
+ return true;
+ }
+ }
+
+ return false;
+}
+
/*------------------------------------------------------------------------*/
void ArmorItems::equipItem(int itemIndex) {
diff --git a/engines/xeen/item.h b/engines/xeen/item.h
index a37e659..0fcfa92 100644
--- a/engines/xeen/item.h
+++ b/engines/xeen/item.h
@@ -205,6 +205,11 @@ public:
* Enchants a weapon
*/
virtual void enchantItem(int itemIndex, int amount);
+
+ /**
+ * Returns true if the character has an Elder weapon in Swords of Xeen
+ */
+ bool hasElderWeapon() const;
};
class ArmorItems : public InventoryItems {
More information about the Scummvm-git-logs
mailing list