Difference between revisions of "OpenRPG/Flexinode"

From David's Notebook
Jump to navigationJump to search
(New page: 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 ...)
 
Line 14: Line 14:
 
Many nodes can be includes in folders and sub-folders to form hierarchical collections.
 
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 is done using a file system path-like syntax.
+
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 ==
 
== Examples ==
  +
  +
=== d20 ===
   
 
A subset of a d20 node for a simple attack might look like:
 
A subset of a d20 node for a simple attack might look like:
Line 29: Line 31:
 
Attacks (folder)
 
Attacks (folder)
 
:Longsword
 
:Longsword
::action = [1d20 + ../abilties/str.d20.ability_mod()] Damage: [1d8 + ../abilities/str.d20.ability_mod()]
+
::action = [1d20 + str.d20.ability_mod()] Damage: [1d8 + str.d20.ability_mod()]
 
::description = One-handed, primary attack
 
::description = One-handed, primary attack
   
 
Right clicking the action would result in
 
Right clicking the action would result in
   
<b title="One-handed, primary attack">Longsword</b> [1d20 + 3] => (15) = 18 Damage: [1d8 + 3] => (3) = 6
+
<b title="One-handed, primary attack">Longsword</b>: [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
  +
  +
<b title="At will power">Magic Missile</b> vs Reflex: [1d20 + 4] ==> (13) = 17 Damage: [1d4 + 3] ==> (3) = 6

Revision as of 16:03, 13 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.

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 action would result in

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

Magic Missile vs Reflex: [1d20 + 4] ==> (13) = 17 Damage: [1d4 + 3] ==> (3) = 6