Veiled in Mists doesn't use the AC / Base Attack system built into Neverwinter Nights. Well that isn't entirely true, it does but the attack value is really high and the ac is really low so you and the creatures always hit. In its place is a customized system based around the damage reduction system used in most modern MMORPGs (like WoW, EQ, DAoC, etc.). These systems use an armour value to determine how much damage is negated from each attack. This is the system that I have chosen to apply to Veiled in Mists and this is the first posting of a series that will discuss this system. In this posting I am just going to cover an overview of new combat system and how it is basically implemented.
Now since I can't entirely remove the base NWN2 combat system from the engine, not without having the source code to edit and recompile and even then now sure I could do it, I have to work around it. The old NWN2 system uses an attack bonus and armour class to determine a miss/hit style of combat. This works well in low level CPRGs and in the pen and paper game, but balancing it for a high level PW construction can be troublesome. It also isn't very flexible, when all things are considered. So, as mentioned above, I have decided to go with a customized combat system.
Now the first step in circumventing the built in NWN2 system is to make use of a customized On Hit Cast Spell weapon property. This property would be linked to a spell script that would be the focal point of the new combat system. Since I want this new system to work in place of the old, including miss chance, I had to reduce the chance that the PC or MOB would miss to the lowest available in NWN2, 5%. This meant applying a AC penalty and To Hit bonus to all creatures and players. So now the NWN2 combat system only missing on a natural roll of a 1 on the D20 random number generator, or a 5% chance to miss (yes this was included in the calculations for miss chance and will be discussed later).
Once this was one, a custom On Hit Cast Spell function was added to the 2da files and a script was associated with the property. When the weapon impacts on the target (on a roll of anything higher than 1) then the script executes. The script then handles all of the calculations to determine if you character missed anyway (if you have a missing chance > 5%) or if your hit was a critical. The script then passes that data onto another function that deal out the appropriate damage and then to another function to determine if anything special is also meant to occur, like armour reduction from sunder or damage reflection, etc.
So this is the basic foundation of the new combat system. From here I will get into the meat of the functions, such as calculating armour value, hit chance, parry chance, and all of that jazz.
Until next time. See you in the game!
Friday, March 9, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment