Well this week has been a good week for the “hack” progress wise; I have coded in the damage algorithm for all enemy types. This includes:
What color they blink when damaged; this utilizes a similar effect to the one in SOTN. I could have duplicated it EXACTLY as it was in SOTN, but due to the fact that GM does not have palette support, this would have involved having GM make about 10000 blinking sprites for me total. Easy & quick to do, but a waste of disk space for something so minor. I assure you that my damage effect is NOT the usual crappy change image blend to color BLAH BLAH effect.😉
How much damage they take; this still involves whether they are weak to an element (150% damage), strong to it (50% damage), immune or absorb it.
Damage calculation is now str+(str bonus/2)+weapon_damage-enemy_defense. After this is done, any calculations due to elemental weakness or strengths are figured out.
Defense is now con+(con_bonus/2)+defense of items equipped. After which any elemental weaknesses or strengths are calculated.
Critical hits; the formula is now = critical rate of the weapon+(total luck/4). It then takes this odds out of 255. So if the total for the formula is 150, any value from 1-150 will cause a critical hit. In other words, luck has a small effect, but the main thing that influences it is the weapon. Critical hits do 2x damage
Elemental damage is SIMILAR to the original game: each weapon can have up to 3 elements rather than up to two. If the enemy has a weakness, strength, immunity, or absorption to the 1st element, it is the one applied. If there is none (meaning it does normal damage) it moves on to the 2nd and tries the same thing. If not it goes to the third. In this way, you can assign elements in the order that you want them to take priority on the weapon.
Unlike in SOTN, you can assign an individual sound for when each weapon hits an enemy.
Unlike SOTN, you can now CHOOSE which color a weapon causes the enemy to blink when struck; so now say you have holy water with holy and flame as it’s elements; you can choose to have the enemy blink green or orange or even some other color like red, rather than always orange. A small feature, but I actually like it since it gives me more control.
Stun is implemented (enemy is hit and stops moving), as is a delay between hits for each weapon. I also set something up so that if you have something like holy water that spawns multiple instances of itself, you can choose to only let one instance of the same attack hit, until the timer wears off. This fixes SEVERAL bugs found in the original game.
Enemies now have at least 8 slots for when they are hit by attacks that it keeps track of; rather than 1 or 2. This fixes MANY more bugs in the original game where you could throw out lots of different attacks at once, and they would hit more times than they should (I.E. intro where you use holy water and whip Dracula, scoring a TON hits more than you should).
Richter’s pain animations are implemented; he also now blinks all of the colors he should blink when damaged. In the original game only Alucard did this. This means that Richter can now have resistances, weaknesses, be affected by status effects, etc.
The player now has about 60 ticks after being damaged of invulnerability; this starts after you can move again once you are damaged. The player blinks just like in Castlevania I,II,III, IV, etc.while this is in effect.
Also a VERY SPECIAL THANKS TO JORGE, ADMIN OF THE CASTLEVANIA DUNGEON! HE HAS CREATED A GORGEOUS 3D GRAND CROSS THAT I HAVE IMPLEMENTED FOR RICHTER!!!
I am actually amazed at how easy (but time consuming) all of the above features were to add in game maker. So far I have yet to find a single bug in any of them; a fact that truly amazes me. I have also set up a weapons chart and enemy chart that it in plain English, and is easily editable by anyone who wishes to customize the game. I still have quite a few things to add (the particle effects for when things like holy or flames hit the player, status effects, some calculations etc.) but this is actually a MASSIVE bit of work that I have gotten done this week. For anyone wondering, hopefully in the next 2 weeks to a month I can put out a demo of the game. I will then be waiting about a month, and releasing the current source code. I will actually be doing some rewrites this week, so that my code is easier to read and follow for the average person.
More updates to come soon, as well as a new video. Keep checking here for them my peoples.🙂