Bonus
Bonus statements allow adding bonuses and penalties to Properties.
Syntax
Bonus statements begin with the bonus keyword, then the bonus expression, the to keyword, the target, the as keyword and the bonus type, finally ending with a ;.
Bonus Expression
The bonus expression determines the actual number to be added. It can be just an integer, a Math expression, a Pick expression or a Property.
Target
Bonus target can either be a Property or a comma-separated, []-enclosed list of Properties.
Bonus Type
Bonus type must be one of the following:
racialenhancementinsightshieldmoralecircumstancemiscspecializationdodgethemefocus
These bonuses the normal rules defining how they should stack. misc bonuses always stack, while circumstance bonuses only stack if they're from different sources. All other types of bonuses don't stack, instead the highest of each kind gets picked.
Certain bonus types in the list above don't appear in the rules of Starfinder (specialization, dodge, theme and focus) but can be useful in specific circumstances.
Examples
-2 Penalty to Will Saving Throws
bonus -2 to character.will as misc;
+2 Racial Bonus to Intimidate and Survival
bonus 2 to [character.intimidate, character.survival] as racial;
Bonus to Climb Speed equal to Land Speed
bonus character.speed.land.normal to character.speed.climb as misc;
Bonus of 10 + Level to SR
bonus (10 + character.level) to character.sr as misc;
Bonus to Perception based on Mechanic Level
bonus pick [1:1, 5:2, 9:3, 13:4, 17:5, 20:6] at character.mechanic.level to character.perception as insight;