feat(isac): add OS protocol management
This commit is contained in:
@@ -144,3 +144,22 @@ talent ID not already owned by the edited weapon and rejects any talent shared
|
||||
by another weapon. Converting a weapon back to standard clears the relationship
|
||||
and archives its now-unowned exotic talent. Exotic talent creation and editing
|
||||
are rejected by the shared Talent Registry so ownership cannot be bypassed.
|
||||
|
||||
# OS Protocol progression
|
||||
|
||||
OS Protocols use dedicated normalized tables because their talent progression
|
||||
has six calculated states (base plus five upgrades) rather than the shared
|
||||
two-tier talent model. Each protocol owns one `os_protocol_primary_effects`
|
||||
record and one `os_protocol_talents` record. Talent effects and reusable
|
||||
triggers live in their respective join tables.
|
||||
|
||||
The three secondary attributes are normalized separately. One
|
||||
`os_protocol_secondary_profiles` record exists for each configured quality +
|
||||
attribute-type combination, with its three fixed stat/value pairs in
|
||||
`os_protocol_secondary_effects`. Every matching protocol inherits that profile;
|
||||
secondary values are not copied onto individual protocol records.
|
||||
|
||||
The unique primary value uses `base × (1 + (level − 1) / 49)` for levels 1–50, while
|
||||
talent effects use `base × (1 + upgrades / 5)` for zero to five upgrades.
|
||||
Server actions validate all relationships and append the full owned graph to
|
||||
the existing `game_data` audit history.
|
||||
|
||||
Reference in New Issue
Block a user