Operations

There are two different type of operations: Basic level (create,delete,set,get,info) and game specific operations (summon,forge, etc...)

Server should send info operations in both format. Clients can always interpret info about create,etc.. operations and if they know more complex ones they can play suitable animation or NPC can remember somebody stealing etc...

When client wants to do something or get info about something, it sends some operation derived from action. Server usually replies with some operation derived from info, which might embed original action.

Example:
client: forge("jewel_sword","jewels","iron")
server: sight(forge("jewel_sword","jewels","iron")
server: info(create("jewel_sword",length=1.2, etc...))
server: info(set("iron",amount=current-something))
server: info(destroy("jewels"))

When sending operations use parent:"move" instead of id:"move"
Reason: so we can distinguish between operation and object that tells what operation is about and all operations when used are temporary objects anyway (maybe "magical_crunchy_voice_stepping" is not ;-)

Operation tree


Aloril
Last modified: Fri Dec 10 19:38:56 EET 1999