(List of bonuses at the end of the post.)
while study monster still settles n gets more feedback, i have been cooking some code to add non-stacking typed bonuses
So bassically im adding a daemon "typed_bonus_d" with a few functions like:
add_typed_bonus(object myplayer, string source, string mycategory, string mytype, int value)
examples: (this code should go into the spell)
add_typed_bonus(TP, "/cmds/spells/a/armor#9137", "ac", "armor", 4)
add_typed_bonus(TP, "/cmds/spells/h/haste#9257", "ac", "dodge", 1)
resulting in a mapping like this:
typed_ac_bonus (["total":9,"natural":(["sources":(["random_spell3":2,"random_spell2":4,"random_spell":3,]),"subtotal":4,]),"armor":(["sources":(["/cmds/spells/a/armor#9137":4,]),"subtotal":4,]),"dodge":(["sources":(["/cmds/spells/h/haste#9257":1,]),"subtotal":1,]),])
so far i have this working for ac but it should be working for dmg, att, and hp very soon.
stats, skills, saves and resistances might take me a bit more time cuz it nests once again for the subcategory (str, dex, con for example)
for now im gonna consider this 8 categories, but any help adding more or optimizing the code will be appreciated.
on add typed bonuses, if the value is higher than a subtotal, it updates the subtotal and total with the difference and updates add_ac_bonus accordingly.
on remove typed bonuses it do needs to recalculate the type subtotal, then the total and then updates add_ac_bonus accordingly. (im still improving this logic)
so what do u think about performance n use?
so according to pfsrd there are the following bonuses:
alchemical
armor
bab
circumstance
competence
deflection
dodge
enhancement
inherent
insight
luck
morale
natural
profane
racial
resistance
sacred
shield
size
trait