Program+Architecture

=Player Engine=

Output
//Open doors, take dropped object... // Inventory, drop, /pet commands, cast spell... //Start or stop attack, special attack... //for typed commands
 * ActivateItem(item, rightorleftclick)
 * Move
 * Command
 * ConsoleLine(command)

=Player Python= // Mana, health, location...
 * RelayCommand
 * UpdateInventory
 * UpdateSpellbook
 * UpdateItem

// attributes, skills...
 * UpdateStats

// Write line to screen
 * Console(channel, message)

//For sounds...
 * Effect(Where, what)


 * CreateItem
 * DestroyItem
 * MorphItem


 * CreateWeilded
 * DestroyWielded

=Server Engine=

Input
// Open/shut door
 * ItemTryMove(where)
 * ItemQueryLoc
 * ItemUpdate(update type)

//For morphing to a new mesh, etc
 * ItemCreate(what, where)
 * ItemDestroy(what)
 * ItemChange(New)

//for AoE spells, whispering, etc
 * ItemEventRadius(Type, Loc, Radius)

//For blasts of flame, aimed spells, missiles...
 * ItemEventRay(Type, Origin, Direction, Range)

Output
>> walk, fly, lava... >> Lava, AoE spells, traps >> For NPC Pathing
 * ItemUpdateLoc(int movementtype)
 * ItemEvent(item, eventtype)
 * SetPathPoint(loc, name)

=Server Python=

=Characterserver Python=

=Updateserver Python=