luna
luna copied to clipboard
Spell abstraction model, non-combat spell support
The 317 protocol allows for 5 types of spell interactions.
- Cast on game object (opcode: 35)
- Cast on ground item (opcode 181)
- Cast on inventory item (opcode 237)
- Cast on non-player character (opcode 131)
- Cast on player character (opcode 249)
If we were to create a layer of abstraction to identify with each of those five use cases, it would make game message construction, as well as the intention each spell, much clearer. Alternatively, if there was an abstraction model that made a distinction between combat, and non-combat spells; it would be confusing to classify spells such as teleblock (modern), vengeance (ancient), or examine-npc (lunar).
Resource(s): 317 Protocol