Armor items with item level 0, will have a base defense value of 0 instead of 1, and display their defense value as such in the get items screen.
Fix#245
A way to set this flag is not yet exposed in the scenario editor.
The flag is intended only for non-stackable items, but this currently isn't enforced.
Items now have a maximum number of charges, which is equal to their default number set in the item record.
Enchanted items with charges are now rechargeable.
Since we can't directly use C++11 attributes, I've chosen BOOST_FALLTHROUGH to annotate intentional fallthroughs.
Thanks to @fosnola for spotting a missing break, which triggered this.
For weapons, negative bonus is now shown as "- 2" instead of as "+ -2".
For armour, the bonus is now accounted for and the numbers should match
what is actually calculated in damage_pc().
Thanks to @fosnola for noticing the armour discrepancy.
This should avoid any format inconsistencies, like missing newlines and the like.
Although a basic save and load works, there may still be some issues with the format.
This probably renders older saved games incompatible.
The format is mostly the same, but there are a few small changes
in the name of making the format more uniform.
This covers only the places where they were used to indicate
a preset selection in constructors.
The usage in qdpict where they're actually passed to the Resource Manager,
as well as the 4-character constants representing file types and creator
codes, are still present.
This commit only updates the XCode project for the changes.
A later commit each will update it for scons and MSVC.
A few actual changes are mixed in:
- Add a prefix header for a handful of common definitions
- Moved current_cursor into the Cursor class as a static member
- Removed the make_cursor_sword and make_cursor_watch functions
- Include tests in the All target
- Remove redundant -l flags for Common and Common-Party (since they're included in the Link phases anyway)