Basic operator hierarchy

Introduction About goal for operator hierarchy
Browsing hierarchy How to find operations server supports
op Base operator for all operators
action Base operator for operations that might have effects
create Create new things from nothing.
combine Combine existing objects into new objects
divide Divide existing object into pieces
spell Optional tag
communicate Base operator for all kind of communication
talk Talking
set Sets all attributes for existing entity
change Change existing attributes and/or create new attributes
move Change position
attack Generic attack operation
use Use something
skill Use some skill
get Generic operation for getting info about things
perceive Generic base operation for perceiving things by eyes, ears, etc...
look Looking at something
listen Listen something
sniff Sniff something
touch Touch something
login Logging into server
delete Delete something
info Info about something
perception Character perceives something
sight Character sees something
appear Something appears
disappear Something disappears
sound Character hears something
smell Character hears something
sense Character senses something (with fingers usually)
imaginary Placeholder for perceptions of unimplemented actions
error Something went wrong

Introduction

Goal is to achieve generality and specificity at the same time. If client doesn't understand some operation it can lookup at operation hierarchy for more generic format and use that. It might lose some useful info but it doesn't usually lose all. For examples see article for CB#3.


op

Base operator for all operators. No parameters. Useful starting point for browsing operator hierarchy.


action

Derived from op.

Base operator for operations that might have effects.


create

Derived from action.

Create new things from nothing using this operator. Map editor is main user for this.

Parameters: entity describing object that is being created.

Example:

                create
                  map-editor
                  
                         Axe
                         3
                  
                
         


combine

Derived from create.

Combine existing objects into new objects. This is how normal characters create objects.

Parameters: entity describing object that is being created and list of entities that are used as raw material.

                combine
                  
                         axe
                         Bjorn's axe
                  
                  Wood_8898
                  Iron_6578
                
         


divide

Derived from create.

Divide existing object into pieces. One of the pieces might be original object modified.

Parameters: id of original object and entities describing pieces.

                divide
                  money12345
                  
                         
                         10
                  
                  
                         110
                  
                
         


spell

Optional operation, derived from combine.


communicate

Derived from create. Base operator for all kind of communication.

Parameters: communication entity.

Example: see talk


talk

Derived from communicate.

Parameters: sentence(s) entity.

Example:

                
                  talk
                  
                         What has happened there?
                  
                
         
Talking out of game is same, except you use player id instead of character id.


set

Derived from action.

Sets all attributes for existing entity.

Parameters: entity with id and new attributes.

Example:

                set
                  
                         9899
                         50
                         1.8                     0.3
                  
                
         


change

Derived from set.

Change existing attributes and/or create new attributes. Difference with set is that anything previously defined attribute not touched here remain intact.

Parameters: entity with id and changed/new attributes.

Example:

                change
                  
                         9899
                         30
                  
                
         


move

Derived from change.

Change position.

Parameters: entity with id and new position.

Example:

                move
                  
                         9899
                         1112.3,3,0
                  
                
         

More about movement here.


attack

Maybe move_attack instead of attack? Or maybe let attack derive from change and let move_attack derive from attack and move?

Derived from move.

Generic attack operation. Base operation for game specific attack operations (like swing, etc...).

Parameters: entity with id, new position and maybe some other attributes.

Example:

                attack
                  
                         Sword_99
                         Opponent_110.2,0.2,1.5
                  
                
         


use

Needs more thinking! Derived from change.

Use something (tool, skill etc..)

Parameters: id for entity to be used.

Example:

                use
                  magic_wand_24
                
         


skill

Needs more thinking! Derived from use.

Use some skill.

Parameters: id of skill and optionally target id's.

Example:

                skill
                  woodworking
                  target_wood_24903
                
         


get

Derived from action.

Generic operation for getting info about things.

Parameters: id of target entity.

Example:

                get
                  elf_type_id_45
                
         

Browsing operator hierarchy example:

First start from operator hierarchy root (see op):

                
                  get
                  op
                
         
Answer might be:
                
                  info
                  
                         op
                         
                                action
                                info
                         
                         Base operator for all operators
                  
                
         
Then you can ask about action and info:
                
                  get
                  action
                
                
                  get
                  info
                
         
Etc...


perceive

Derived from get.

Generic base operation for perceiving things by eyes, ears, etc...

Parameters: id of target entity.

Example:

                perceive
                  elf_3545
                
         


look

Derived from perceive.

Looking at something.

Parameters: id of target entity (optional).

Example:

                look
                  elf_3545
                
         


listen

Derived from perceive.

Listen (something).

Parameters: id of target entity (optional).

Example:

                listen
                  elf_3545
                
         


sniff

Derived from perceive.

Sniff something.

Parameters: id of target entity (optional).

Example:

                sniff
                  flower_3545
                
         


touch

Derived from perceive.

Touch something.

Parameters: id of target entity.

Example:

                touch
                  cloth_3545
                
         


login

Derived from get.

Operation for logging into server.

Parameters: entity with player name and password attribute.

Example:

                login
                  
                         JoeBlatz
                         Rqv67.%
                  
                
         


delete

Derived from action.

Delete something.

Parameters: id of entity to be deleted.

Example:

                delete
                  foo_bar_344
                
         


info

Derived from op.

Info about something.

Parameters: info entity.

Example:

                info
                  
                         Here is some info
                  
                
         


perception

Derived from info.

Character perceives something.

Parameters: perceived thing. Base operator for all kind of perceptions.

Example:

                perception
                  tree_8374
                
         


sight

Derived from perception.

Character sees something.

Parameters: object or event character sees.

Common example:

                sight
                  
                         grass1
                         989.24
                  
                
         
Reply for looking at 'grass1':
                sight
                  
                         grass1
                         terrain
                         
                                path1
                                tree1
                         
                         Grass plains
                         
                                0,010,010,10
                                0,100,0
                         
                  
                
         
Event example:
                sight
                  move
                         
                                orc_23498
                                grass10.5,3.0,0.0
                         
                  
                
         


appear

Derived from sight.

Character sees something appearing: it literally appears or has it come in visible range.

Parameters: object or event character sees.

Example:

                appear
                  
                         grass1
                         989.24
                  
                
         


disappear

Derived from sight.

Character sees something disappearing: it literally disappears or has it gone too far to be visible.

Parameters: object or event character sees.

Example:

                disappear
                  
                         grass1
                         989.24
                  
                
         


sound

Derived from perception.

Character hears something.

Parameters: thing character heard.

Example (every operation might have from, to and time tags, not only this operation):

                sound
                  sentry_34
                  
                         What has happened there?
                  
                
         


smell

Derived from perception.

Character smells something.

Parameters: thing character smells.

Example (every operation might have from, to and time tags, not only this operation):

                sound
                  flower_34
                  
                         sweet
                  
                
         


sense

Derived from perception.

Character senses something (with fingers usually).

Parameters: thing character senses.

                sound
                  
                         cloth_34
                         rough
                  
                
         


imaginary

Derived from perception.

When something is not yet implemented in server, then character can pretend to do something ;-)

Parameters: event that is supposed to happen.

Example:

                imaginary
                  some_unimplemented_action
                
         


error

Derived from info.

Something went wrong.

Parameters: entity describing what went wrong.

Example:

                error
                  
                         foo
                         Unknown operation
                  
                
         


Aloril