Changes between Initial Version and Version 1 of olivine/dsl/attribs/modifier


Ignore:
Timestamp:
May 22, 2020 12:07:42 AM (4 years ago)
Author:
jonathan
Comment:

Page introduction

Legend:

Unmodified
Added
Removed
Modified
  • olivine/dsl/attribs/modifier

    v1 v1  
     1= Item or Mob Modifier =
     2Visit [wiki:olivine/dsl/types/core core types] for information on primitive and core types such as `real`.
     3
     4The modifier definition is a way to alter some fixed properties of a mob or indirectly through an item.
     5
     6||= Name =||= Type =||= Description =||
     7||`amount`||real||This is a numerical value that characterizes the modification, how it is used is dictated by the `operator` property below||
     8||`operator`||[#operator operator]||How to apply `amount` to the base-value of whatever attribute this is going to modify, see below for a description||
     9
     10== Operator ==
     11The following three values determine how a modifier value is applied, any modifiers that are to be applied to some attribute are applied in sequence starting with `boost` modifiers then `augment` modifiers and then finally `scale` modifiers.  First, there are two terms to familiarize yourself with in order to understand how this application works:
     12 * ''base value'' - That is the starting value of the attribute without any modifiers
     13 * ''current value'' - This is the value of the attribute after previous modifiers have been applied to it
     14
     15||= Name =||= Vanilla Operation ID =||= Math =||= Description =||
     16||`boost`||0||''current value'' = ''base value'' + `amount`||Adds the `amount` value to the ''base value'' of the attribute||
     17||`augment`||1||''current value'' += ''base value'' * `amount`||The ''current value'' is increased by an amount calculated by multiplying the ''base value'' of the attribute by the `amount` value||
     18||`scale`||2||''current value'' *= `amount` + 1||The ''current value'' is multiplied by `amount` times plus one, in other words, a value of 0 doesn't increase it or decrease it but a value of 1 will double the current value, 2 will triple, etc.||