Several tweaks/fixes

- Enlightenment status now wears off over time
- Improve ghost mode - now you can pass through force barriers and forcecages too (but not escape forcecages); also locked doors or specials that block your progress... pretty much nothing can block your way now in ghost mode.
--> Part of this change was made in the previous commit as well.
- New debug command - Give Item. Since this is meant for debug use only, you have to enter the item's ID; players should instead use the character editor.
- Fixed custom spells (with Start Targeting node) not correctly honouring the range in combat mode (instead they had a range of 0)
- Fixed custom spells (with Start Targeting node) always calling a local node to determine the effect of the spell. Now they call the same type of node that initiated the targeting (so, if it was initiated in a scenario node, they call a scenario node, etc).
- Fix some unintentional switch fallthroughs
   - Flash Step erroneously printed a "not implemented" error message
- Fix get num response dialog incorrectly formatting the prompt
- Fix some crashes while talking due to the game still assuming there were 60 nodes
- Fix SDFs with y >= 10 not being zero-initialized when you enter a new scenario
- Allow special nodes to aware more than 200 XP in one batch (though in most cases, you probably don't want to)
- Fix Display Small Message node trying to use the wrong string, due to applying the legacy string modifiers. This also affected Debug Print Nums, which just copy-pasted the same code.
- The Dumbfound/Enlightened and Sleep/Hyperactivity status effects no longer "wrap" into each other. Thus, if you're dumbfounded, a "Cure Dumbfounding" item never enlightens you, but if you're not dumbfounded, it will.
- Fix an issue with invalid strings when porting outdoor shops
- Fix Reset Help option in the preferences causing a crash
This commit is contained in:
2015-06-10 14:54:49 -04:00
parent f6be40618b
commit a5a784c4f1
11 changed files with 50 additions and 43 deletions

View File

@@ -77,7 +77,10 @@ template<typename Container> static void port_shop_spec_node(cSpecial& spec, std
// Safeguard against invalid data
if(spec.ex1a < 0)
spec.ex1a = 1;
shops.push_back({eShopItemType(spec.ex1b + 1), spec.ex1a, spec.ex2a, strs[spec.m1]});
std::string title;
if(spec.m1 >= 0 && spec.m1 <= strs.size())
title = strs[spec.m1];
shops.push_back({eShopItemType(spec.ex1b + 1), spec.ex1a, spec.ex2a, title});
which_shop = shops.size() + 5;
} else if(spec.ex1b == 4)
which_shop = 5;