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 ...)
 
m
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
  +
==Feature requests==
  +
[[OpenRPG/Bugs#Feature_requests]]
  +
==Description==
 
A flexinode is an OpenRPG game tree node that can used used for any rule system.
 
A flexinode is an OpenRPG game tree node that can used used for any rule system.
   
Line 4: Line 7:
   
 
* a name (as displayed in the tree)
 
* 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:
 
And may also have:
   
  +
* one or more variables.
* a value
 
 
* a 'double click action' (text which may contain one or more dice rolls to be sent to the chat)
* a tag (a short name, used to uniquely identify the node)
 
* a description of the node.
+
* a longer description for the action.
   
  +
Flexinodes can be nested arbitrarily.
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 can include variable references. Variables are searched for in this order:
  +
  +
# current node
  +
# child nodes
  +
# parent node
  +
# parent's children
  +
# parent's children's children (etc.)
  +
# grandparent
  +
# grandparent's children
  +
# etc.
  +
  +
This means a flexinode can contain several complete flexinode character trees and each subtree will use its own variables.
  +
  +
The longer action description will be presented as a tooltip in the chat window.
   
 
== 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 22: Line 39:
 
Abilities (folder)
 
Abilities (folder)
 
:Strength
 
:Strength
::value = 15
+
::strength = 15
  +
::str = (strength - 10) / 2
::tag = str
 
::action = [1d20 + str.d20.ability_mod()]
+
::action: [1d20 + str]
 
...
 
...
   
 
Attacks (folder)
 
Attacks (folder)
 
:Longsword
 
:Longsword
::action = [1d20 + ../abilties/str.d20.ability_mod()] Damage: [1d8 + ../abilities/str.d20.ability_mod()]
+
::action: [1d20 + str] ===> [1d8 + str]
::description = One-handed, primary attack
+
::description: One-handed, primary attack
  +
  +
Right clicking the longsword node would produce:
  +
  +
<b title="One-handed, primary attack">Longsword</b>: [1d20 + 3] => (15) = 18 ===> [1d8 + 3] ==> (3) = 6
  +
  +
=== 4e ===
  +
  +
A 4e node for a power might look like:
  +
  +
Character
  +
:level = 3
  +
...
  +
  +
Abilities (folder)
  +
:Intelligence
  +
::intelligence = 15
  +
::int = (intelligence - 10 / 2
  +
::action = : [1d20 + level/2 + int]
  +
...
  +
  +
Powers (folder)
  +
:Magic Missile
  +
::action: [1d20 + level/2 + int] (vs Ref) ===> [1d4 + int]
  +
::description: At will power
   
Right clicking the action would result in
+
Right clicking the Magic Missile node would produce:
   
<b title="One-handed, primary attack">Longsword</b> [1d20 + 3] => (15) = 18 Damage: [1d8 + 3] => (3) = 6
+
<b title="At will power">Magic Missile:</b> [1d20 + 4] => (13) = 17 (vs Ref) ===> [1d4 + 3] => (3) = 6

Latest revision as of 21:23, 2 June 2009

Feature requests

OpenRPG/Bugs#Feature_requests

Description

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)

And may also have:

  • one or more variables.
  • a 'double click action' (text which may contain one or more dice rolls to be sent to the chat)
  • a longer description for the action.

Flexinodes can be nested arbitrarily.

Actions can include dice rolls which can include variable references. Variables are searched for in this order:

  1. current node
  2. child nodes
  3. parent node
  4. parent's children
  5. parent's children's children (etc.)
  6. grandparent
  7. grandparent's children
  8. etc.

This means a flexinode can contain several complete flexinode character trees and each subtree will use its own variables.

The longer action description will be presented as a tooltip in the chat window.

Examples

d20

A subset of a d20 node for a simple attack might look like:

Abilities (folder)

Strength
strength = 15
str = (strength - 10) / 2
action: [1d20 + str]

...

Attacks (folder)

Longsword
action: [1d20 + str] ===> [1d8 + str]
description: One-handed, primary attack

Right clicking the longsword node would produce:

Longsword: [1d20 + 3] => (15) = 18 ===> [1d8 + 3] ==> (3) = 6

4e

A 4e node for a power might look like:

Character

level = 3

...

Abilities (folder)

Intelligence
intelligence = 15
int = (intelligence - 10 / 2
action = : [1d20 + level/2 + int]

...

Powers (folder)

Magic Missile
action: [1d20 + level/2 + int] (vs Ref) ===> [1d4 + int]
description: At will power

Right clicking the Magic Missile node would produce:

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