Feature Specification: No Stack

Scripted ALFA systems & related tech discussions (ACR)

Moderators: ALFA Administrators, Staff - Technical

Locked
User avatar
ç i p h é r
Retired
Posts: 2904
Joined: Fri Oct 21, 2005 4:12 pm
Location: US Central (GMT - 6)

Feature Specification: No Stack

Post 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
Last edited by ç i p h é r on Tue Mar 07, 2006 9:49 pm, edited 2 times in total.
User avatar
Fionn
Ancient Red Dragon
Posts: 2942
Joined: Sun Jan 04, 2004 7:07 am
Location: Seattle, WA

Post by Fionn »

Gods I hope BW fixes this in the engine.
PC: Bot (WD)

Code: Select all

     -----          -----          -----          -----
    /     \        /     \        /     \        /     \
   /  RIP  \      /  RIP  \      /  RIP  \      /  RIP  \      /
   |       |      |       |      |       |      |       |      |
  *| *  *  |*    *| *  *  |*    *| *  *  |*    *| *  *  |*    *|
_)/\\_//(/|_)(__)/\\_//(/|_)(__)/\\_//(/|_)(__)/\\_//(/|_)(__)/\\_(
User avatar
ç i p h é r
Retired
Posts: 2904
Joined: Fri Oct 21, 2005 4:12 pm
Location: US Central (GMT - 6)

Post 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.
User avatar
Ariak
Shambling Zombie
Posts: 50
Joined: Tue Jan 06, 2004 3:41 pm
Location: Trondheim Norway

Post 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
Image
Current character: Gardan Morin
User avatar
ç i p h é r
Retired
Posts: 2904
Joined: Fri Oct 21, 2005 4:12 pm
Location: US Central (GMT - 6)

Post 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?
User avatar
Creslyn
Orc Champion
Posts: 423
Joined: Sat Jan 10, 2004 2:30 am

Post by Creslyn »

The only feats available that this might apply to SHOULD stack, so not an issue.
User avatar
Ariak
Shambling Zombie
Posts: 50
Joined: Tue Jan 06, 2004 3:41 pm
Location: Trondheim Norway

Post 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?
Image
Current character: Gardan Morin
User avatar
ç i p h é r
Retired
Posts: 2904
Joined: Fri Oct 21, 2005 4:12 pm
Location: US Central (GMT - 6)

Post by ç i p h é r »

Yes, perfectly clear now. :)
Locked