Difference between revisions of "OpenRPG/Flexinode"

From David's Notebook
Jump to navigationJump to search
(Rounding policy is per collection)
Line 15: Line 15:
   
 
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.
 
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.
  +
  +
A collection has a number of global properties. These are:
  +
  +
* Rounding policy: round down (as in d20), round nearest.
   
 
== Examples ==
 
== Examples ==
Line 51: Line 55:
 
::value = 15
 
::value = 15
 
::tag = int
 
::tag = int
::action = : [1d20 + round_down(level / 2) + int.d20.ability_mod()]
+
::action = : [1d20 + level/2 + int.d20.ability_mod()]
 
...
 
...
   
 
Powers (folder)
 
Powers (folder)
 
:Magic Missile
 
:Magic Missile
::action = vs Reflex: [1d20 + round_down(level / 2 ) + int.d20.ability_mod()] Damage: [1d4 + int.d20.ability_mod()]
+
::action = vs Reflex: [1d20 + level/2 + int.d20.ability_mod()] Damage: [1d4 + int.d20.ability_mod()]
 
::description = At will power
 
::description = At will power
   

Revision as of 22:38, 19 May 2009

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.

A collection has a number of global properties. These are:

  • Rounding policy: round down (as in d20), round nearest.

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 + level/2 + int.d20.ability_mod()]

...

Powers (folder)

Magic Missile
action = vs Reflex: [1d20 + 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