OpenRPG/Flexinode: Difference between revisions

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 ...)
 
mNo edit summary
 
(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 20: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