Thursday, 27 March 2008

Monster Drops & Distillables

Before I cover what I have been doing today, I just want to report that D&D was cancelled this week due to one player suffering from ill health. Therefore, the second part of Soul Shaker will have to wait until 2nd April now, when, hopefully, all will be well for the next stage of the adventure.

Anyway, now that I have finished writing the XML tutorial, I am able to turn my attention back to the campaign proper and continue developing the system for the new era - and today I have been taking a closer look at the crafting system, especially with respect to monster drops that can be distilled to create the essences.

In my examination of the current system, I have found that "distillable" drops do not appear to be as well automated as I first thought they would be. I thought they were all controlled via a "crafting system" that checked against a 2da file when the monster was killed, which in turn made a distillable item be dropped. This, however, is not the case. It seems the current official way to allocate distillable monster objects is to place them directly on the creature's inventory ready for when they die. This appears very inefficient to me and so I spent some time today adding an extra OnDeath script to the monsters so that a distillable object would be created with the body of the monster if certain criteria are met ... including ensuring that at least one member of the player's PCs has an alchemy skill of note. (Four points or greater.)

The new system works fine, although I still need to tweak it a bit to ensure it works as I like, including varying the chance of drop according to the PC's skill and only making certain items available at certain times. Overall though, the system appears far better structured and automated than the official version currently in place, and will, hopefully, be more versatile by the time I have finished it. The only thing a builder has to do to ensure the system works is to ensure the creature that can make a drop has a variable set on it at build time, which is easier to do than placing an item within their inventory anyway.

No comments: