Page 1 of 1
Feature Specification: No Stack
Posted: Thu Mar 02, 2006 4:27 am
by ç i p h é r
No Stack
No Stack as defined by the APM is detailed below. I'd like to see details that are missing filled in by our resident ACR experts.
For a short explanation of the feature specification format, visit:
http://www.alandfaraway.org/phpbbforum/ ... hp?t=27229
Functional Requirements
Items with separate bonuses to the same skills, abilities and saves do not stack in ALFA. The highest value bonus will instead be applied. For instance, if a player has a cloak with a +2 to the Hide and Move Silently Skills as well as boots with a +5 to Move Silently, the player’s Hide Skill will be totalled at a +2 and his Move Silently at a +5.
NWN Object Dependencies
None
Local Variables and External Configs
None
Logging and Debugging (global LOG & DEBUG (on/off) constants)
None
Persistence Requirements
Non Stacking Item Properties (stored on item)
Event Dependencies
OnPlayerEquipItem, OnPlayerUnEquipItem
Posted: Thu Mar 02, 2006 4:38 am
by Fionn
Gods I hope BW fixes this in the engine.
Posted: Thu Mar 02, 2006 4:47 am
by ç i p h é r
You mean Obsidian?
Yes, one can only hope. It's a rather silly oversight and seemingly a simple fix. I don't really expect any discussion as much as documenting what needs doing.
Posted: Thu Mar 02, 2006 7:49 am
by Ariak
I've continued Sancus work on a no stack script he made ages ago.
The script now correctly applies stacking rules to abilities, skills and saves when an item is equipped.
EDIT: The script is currently in beta testing.
Functional Requirements
Items with separate bonuses to the same skills, abilities and saves do not stack in ALFA. The highest value bonus will instead be applied. For instance, if a player has a cloak with a +2 to the Hide and Move Silently Skills as well as boots with a +5 to Move Silently, the player’s Hide Skill will be totalled at a +2 and his Move Silently at a +5.
NWN Object Dependencies
none
Local Variables and External Configs
none
Logging and Debugging (global LOG & DEBUG (on/off) constants)
none
Persistence Requirements
Item properties that is removed are preserved on the item itself in a local variable.
Event Dependencies
OnPlayerEquipItem and OnPlayerUnEquipItem
Posted: Thu Mar 02, 2006 8:16 am
by ç i p h é r
Updated. Thanks for the detailed post Ariak.
Are there any FEATS that incorrectly stack? I noticed you specifically removed that language.
Ariak wrote:Item properties that is removed are preserved on the item itself in a local variable.
For the sake of clarity, can you explain what this is needed for?
Posted: Thu Mar 02, 2006 8:25 am
by Creslyn
The only feats available that this might apply to SHOULD stack, so not an issue.
Posted: Thu Mar 02, 2006 9:12 am
by Ariak
ç i p h é r wrote:Updated. Thanks for the detailed post Ariak.
Are there any FEATS that incorrectly stack? I noticed you specifically removed that language.
Ariak wrote:Item properties that is removed are preserved on the item itself in a local variable.
For the sake of clarity, can you explain what this is needed for?
As Creslyn says, we don't have any issues with feats and stacking so i left that out.
Lets say you only have two items to check for stacking:
Item1: +5 to Hide
Item2: +2 to Hide
Since we want to prevent stacking, only the highest bonus should count.
The script will in this example remove the +2 bonus to Hide on Item2 and store that item property in a local variable on Item2, leaving only Item1 which has the highest bonus to affect Hide.
Item1 is left alone since it has the highest bonus.
If Item2 is unequipped from the character, the script will restore the properties stored on that item, meaning it becomes +2 to Hide again.
If Item1 is unequipped first instead, Item2 will be restored also.
Did this make things more clear?
Posted: Thu Mar 02, 2006 9:43 am
by ç i p h é r
Yes, perfectly clear now.
