Could you detail what the tables where used for ? I don't know about 0.4.4, so i'm just curious.
As for quests, was it that each event was mapped to a column, so when an event trigger condition was met, the field was fetched, and response was done interpreting this field ?
If so, was the field a reference to some code, or code itself (macro language, x86 code, perl source, ...)
As for spells, using Mongrel's spell editor is easy, but i admit it requires to organize lists in general and, though elegant and efficient imho, it isn't convenient to just say 'NPC 1234 uses spell 4567'.
Did i misunderstand ? Is it that above, thus making a 'flat' model of the spell lists, or do you mean using a table to elect what spell to use in particular condition (e.g column low_hp points to the spell the NPC will cast when low hip point is met, column 'nuke', ...) ?
About performance, what in 0.4.4 made efficiency so good ? Basically, the operations were the same (fetch / load quest when the NPC type is poped, then run it each time trigger condition is met).
Sorry if this sounds noob, but again i don't know of 0.4.4, and could not figure out what it's like. However, there might be some improvements to put in actual quests systems, based on old recipes from 0.4.4, so ... just curious.
|