OpenRPG/Flexinode
A flexinode is an OpenRPG game tree node that can used used for any rule system.
They have:
- a name (as displayed in the tree)
- a 'right click action' (text and one or more dice rolls to be sent to the chat)
And may also have:
- a value
- a tag (a short name, used to uniquely identify the node)
- a description of the node.
Many nodes can be includes in folders and sub-folders to form hierarchical collections.
Actions can include dice rolls which reference the value of the node and of other nodes. This means that tags must be unique within a flexinode collection.
Examples
d20
A subset of a d20 node for a simple attack might look like:
Abilities (folder)
- Strength
- value = 15
- tag = str
- action = [1d20 + str.d20.ability_mod()]
...
Attacks (folder)
- Longsword
- action = [1d20 + str.d20.ability_mod()] Damage: [1d8 + str.d20.ability_mod()]
- description = One-handed, primary attack
Right clicking the longsword node would produce:
Longsword: [1d20 + 3] ==> (15) = 18 Damage: [1d8 + 3] ==> (3) = 6
4e
A 4e node for a power might look like:
Level
- value = 3
- tag = level
...
Abilities (folder)
- Intelligence
- value = 15
- tag = int
- action = : [1d20 + round_down(level / 2) + int.d20.ability_mod()]
...
Powers (folder)
- Magic Missile
- action = vs Reflex: [1d20 + round_down(level / 2 ) + int.d20.ability_mod()] Damage: [1d4 + int.d20.ability_mod()]
- description = At will power
Right clicking the Magic Missile node would produce:
Magic Missile vs Reflex: [1d20 + 4] ==> (13) = 17 Damage: [1d4 + 3] ==> (3) = 6