Castlevania: Circle of the Moon Game Mechanics FAQ (c) Synneth Relmn, 2014 Version 1.11 ------------------------------------------------------------------------------- Version History ------------------------------------------------------------------------------- 1.00 - Initial release 1.10 - Explained how to use the formulas better. Made it read more like a guide and less like an IRS tax form. 1.11 - Made minor corrections. ------------------------------------------------------------------------------- Table of Contents ------------------------------------------------------------------------------- (1) Introduction (2) Basic Statistics (3) Using the Formulas (4) The Damage Formula - Nathan Attacking (5) The Damage Formula - Nathan Defending (6) Attack-Specific Modifiers (7) DSS Modifiers (8) Formula Examples (9) Status Effect Mechanics (10) Other Game Mechanics (11) Legal Info ------------------------------------------------------------------------------- (1) Introduction ------------------------------------------------------------------------------- This guide mainly covers the various calculations involved in determining how much damage is done by any possible attack. The mechanics of damage in this game are actually relatively simple; all of the information in this guide was obtained by black-box testing on the original cartridge. Also, this guide is relatively sparse in actual data (such as monster statistics and equipment modifiers), but you can find that in other FAQs. This guide is very math and number oriented. If you don't want to pore over formulas and numbers, the most basic things you can take away from this guide are these: - If you double your STR, your damage is multiplied by 4. - If your STR is cut in half, you deal one-fourth the damage. - If you double your DEF, the damage you take is cut in half, and vice versa. - Your INT does not affect your magic damage in any way; it only determines how fast your MP comes back. For the rest of you, it is important to note that this game uses integer math. What this means is, any time a division occurs, the result will have everything after the decimal point thrown away. For example, if the game tries to divide 7 by 2, it will return 3 and not 3.5. This also includes multiplication by decimals; if a skill says it multiplies STR by 1.1, the game will internally multiply by 110, then divide by 100. Also, all damage values are given PER HIT. Many attacks will hit multiple times, but these calculations are performed each time. Essentially, each time you see a red damage number pop up, the following formulas are run. Finally, there is no randomization of damage in this game; the same attack performed under identical conditions will always do the same amount of damage each time. This guide is designed to be viewed in a monospaced font, as is seen in basic text editors. Using advanced word processors or otherwise rendering this guide in a variable-width font may screw up the alignments and whitespace. ------------------------------------------------------------------------------- (2) Basic Statistics ------------------------------------------------------------------------------- Before we dive into the formulas, here is a quick rundown on the statistics: HP: Hit points. This is how much damage you can take before you die. MP: Magic points/mind power. This is consumed by using DSS combos. STR: Determines how much damage you do with any weapon, be it your whip, sub-weapons, or magic. If something deals damage, it involves STR. DEF: Determines how much damage you take from enemies. If something takes damage, it involves DEF. INT: Determines how fast your MP regenerates. This does NOT influence magic damage; only STR does that. This is why the magician class does pitiful damage despite having a large amount of INT. LCK: Determines how often enemies drop items. All of these statistics grow at different rates depending on your character class (i.e. Vampirekiller, Magician, Fighter, Shooter, or Thief). Vampirekiller is the default class used when you don't put in a special name at name entry. Out of these statistics, monsters only make use of HP, STR, and DEF. Monsters may have different values for STR depending on their attack. For example, the Skeleton Bomber has 75 STR if it hits you with a bomb, but it only has 50 STR if you bump into its body. The statistics for each monster in the game can be found in other guides. ------------------------------------------------------------------------------- (3) Using the Formulas ------------------------------------------------------------------------------- The formulas in this game have been written as if they were being run as a computer program. All mathematical expressions have been marked with a ">". For those familiar with programming languages, the formulas can be run like a program by plugging in numbers from tables and running the marked lines sequentially. Lines with square brackets [] are only run if the condition inside them is true. The math notation used in this guide is: * = multiplication / = division ^ 2 = square floor() = round down to the next lowest integer If you are new to these sorts of guides, the formulas consist of a number of mathematical expressions that are evaluated in order, each using the result of the previous one in some way. In this guide, lines with a condition in square brackets are skipped over if that condition isn't true. For example, if the formula was: > x = 5 * Bonus1 > x = x + Bonus2 [if x > 10] > y = floor(x / 2) you would start by looking up the values for Bonus1 and Bonus2 in tables. Assume that you find that Bonus1 is 3 and Bonus2 is 4. You run the first line and find that x is 5 * 3, or 15. Looking at the second line, we only run it if x is greater than 10. It is, so you would plug 15 into the second line to find that the new x is 15 + 4, or 19. Finally, you plug that into the third line to find that y is floor(19 / 2) = 9.5 rounded down, or 9. This is not algebra; the equal sign is considered to be what we call an "assignment" operator, meaning that the expression on the right is evaluated and assigned to the variable on the left, overwriting it if need be. In the case of the second line, everything on the right side of the equal sign refers to the "old" x from the previous line, and the x on the left side is the "new" x that we want to find. If this concept seems confusing, please look at the Formula Examples to see how values carry over from one step to the next when the formulas are carried out as they should be. Sections 4 and 5 contain the actual formulas, and sections 6 and 7 contain some of the values that you plug into these formulas. Not all of the data you need is here yet; monster statistics, elemental affinities, and equipment modifiers must be found either by trial-and-error or pulled from other guides. Also, some bonus values are given as both a decimal number and a + or - percent. When plugging values into the formulas, use the decimal number. ------------------------------------------------------------------------------- (4) The Damage Formula - Nathan Attacking ------------------------------------------------------------------------------- 4a) Start with Nathan's base STR Nathan's base STR is dependent only on character class and experience level. LV is Nathan's current experience level. > BaseSTR = 90 + (10 * LV) [Vampirekiller] > BaseSTR = 64 + (7 * LV) [Magician, Shooter, or Thief] > BaseSTR = 127 + (14 * LV) [Fighter] 4b) Add Nathan's equipment modifiers The items that Nathan has equipped can add or subtract a flat amount from his base STR. STRBodyBonus is the amount added by his body equip, and the two STRArmBonus values are the amounts added by each arm equip. For any slot that is unequipped, set that bonus to 0. The actual stat bonuses for each item in the game can be found in other guides. > ModifiedSTR = BaseSTR + STRBodyBonus + STRArmBonus1 + STRArmBonus2 4c) Factor in Nathan's DSS stat modifiers Some DSS cards will add either flat bonuses or percent bonuses to the previous value. The values for these bonuses are found in section 7. For any bonuses that aren't listed, or if DSS is inactive, use default values of 1 for STRCardTimesBonus and 0 for STRCardPlusBonus. Sub-weapons do not benefit from any bonuses in this step. > ModifiedSTR = floor(ModifiedSTR * STRCardTimesBonus) + STRCardPlusBonus [unless using sub-weapon] 4d) Factor in Nathan's attack-specific modifiers Certain attacks have a modifier to STR that is applied in this step. These attacks include the whip-spin, all sub-weapons, and certain DSS attacks. The values for these bonuses are found in section 6 for non-DSS attacks and section 7 for DSS attacks. If an attack has no modifier listed, use a default value of 1 for STRAttackBonus. > ModifiedSTR = floor(ModifiedSTR * STRAttackBonus) Some DSS attacks have a fixed STR value that is used regardless of Nathan's base STR or anything he has equipped. Attacks that do this will list a value for STRAttackDefinite in section 7 instead of STRAttackBonus. When this happens, nothing else before this step really matters. > ModifiedSTR = STRAttackDefinite [if attack has a fixed STR value] 4e) Perform damage calculation The meat-and-potatoes of the damage formula. Nathan's modified STR is compared to the enemy's DEF to figure out the damage dealt. EDEF is the target enemy's DEF stat. Monster statistics can be found in other guides. > Damage = floor((ModifiedSTR ^ 2) / (10 * EDEF)) 4f) Adjust for elements Some DSS combos deal elemental damage. Although enemies cannot be weak to any element, they can be strong to one, which cuts damage in half. If an attack has an element, it will be the element of the attribute DSS card. The elemental affinities of monsters can be found in other guides. > Damage = floor(Damage / 2) [if enemy is strong to element] 4g) Cap damage After everything else is done, the damage is capped to fall between 1 and 9999. No attack can do less than 1 damage or more than 9999 damage. > Damage = 1 [if damage was less than 1] > Damage = 9999 [if damage was greater than 9999] After all of these steps, the final Damage total gets applied to the enemy. ------------------------------------------------------------------------------- (5) The Damage Formula - Nathan Defending ------------------------------------------------------------------------------- 5a) Start with Nathan's base DEF Nathan's base DEF is dependent only on character class and experience level. LV is Nathan's current experience level. > BaseDEF = 90 + (10 * LV) [Vampirekiller] > BaseDEF = 45 + (5 * LV) [Magician, Shooter, or Thief] > BaseDEF = 180 + (20 * LV) [Fighter] 5b) Add Nathan's equipment modifiers The items that Nathan has equipped can add or subtract a flat amount from his base DEF. DEFBodyBonus is the amount added by his body equip, and the two DEFArmBonus values are the amounts added by each arm equip. For any slot that is unequipped, set that bonus to 0. The actual stat bonuses for each item in the game can be found in other guides. > ModifiedDEF = BaseDEF + DEFBodyBonus + DEFArmBonus1 + DEFArmBonus2 5c) Factor in Nathan's DSS stat modifiers Some DSS cards will add either flat bonuses or percent bonuses to the previous value. The values for these bonuses are found in section 7. For any bonuses that aren't listed, or if DSS is inactive, use default values of 1 for DEFCardTimesBonus and 0 for DEFCardPlusBonus. > ModifiedDEF = floor(ModifiedDEF * DEFCardTimesBonus) + DEFCardPlusBonus 5d) Perform damage calculation The meat-and-potatoes of the damage formula. The enemy's STR is compared to Nathan's modified DEF to figure out the damage dealt. ESTR is the attacking enemy's STR stat. Note that the enemy's STR depends on which attack it uses; projectiles usually cause more damage than collision with the enemy's body. Monster statistics can be found in other guides. > Damage = floor((ESTR ^ 2) / (10 * ModifiedDEF)) 5e) Adjust for status effects If Nathan is either frozen or stoned when attacked, damage is quadrupled. > Damage = Damage * 4 [if Nathan is currently frozen or stoned] 5f) Cap damage After everything else is done, the damage is capped to fall between 1 and 9999. No attack can do less than 1 damage or more than 9999 damage. Being a skeleton with the Pluto-Black Dog combo also guarantees that any hit will cause the maximum damage allowed by the game. > Damage = 1 [if damage was less than 1] > Damage = 9999 [if damage was greater than 9999, or Nathan is a skeleton] 5g) Adjust for elements The Neptune card can be paired with any attribute DSS card to allow absorption of elemental damage. If an enemy attacks with the same element as the attribute card, all damage will be dealt to MP instead of HP, and some HP will also be healed. Details can be found in section 7. AvailableMP is the amount of MP Nathan had at the time he was hit by the attack. > Damage = 0 [if aligned Neptune combo is active and AvailableMP >= Damage] > Damage = Damage - AvailableMP [if aligned Neptune combo is active and AvailableMP < Damage] After all of these steps, the final Damage total gets applied to Nathan. ------------------------------------------------------------------------------- (6) Attack-Specific Modifiers ------------------------------------------------------------------------------- This section covers the attacks and sub-weapons that modify STR as a percentage when they happen. The basic whip attack, slide attack, and tackle all have no modifier (STRAttackBonus is 1). The attacks that do have a modifier are: Whip Spin: STRAttackBonus = 0.32 (-68%) Dagger: STRAttackBonus = 0.45 (-55%) Axe: STRAttackBonus = 0.89 (-11%) Holy Water: STRAttackBonus = 0.63 (-37%) Cross: STRAttackBonus = 1.10 (+10%) Item Crush - Empty: STRAttackBonus = 1.00 (+0%) Item Crush - Dagger: STRAttackBonus = 0.32 (-68%) Item Crush - Axe: STRAttackBonus = 0.89 (-11%) Item Crush - Holy Water: STRAttackBonus = 0.45 (-55%) Item Crush - Cross: STRAttackBonus = 1.00 (+0%) These values may be higher for the Shooter class. Item crush attacks can only be used if the Pluto-Salamander DSS combo is active. The empty item crush can only be used if you can acquire both of these DSS cards and 100 hearts without picking up a sub-weapon during the entire game. ------------------------------------------------------------------------------- (7) DSS Modifiers ------------------------------------------------------------------------------- The combos in this section will be broken down by action, then by attribute. As a rough guide, adding 41% to STR will double damage, and subtracting 29% will cut damage in half. Adding 50% to DEF will decrease damage by 33%. Only bonuses which affect damage are listed here (namely, STR and DEF). Attacks that list no bonuses will do the same damage as the basic whip attack. Modifiers specific only to certain attacks or projectiles are shown in {}. Mercury + Salamander Bonuses: STRCardTimesBonus = 1.05 (+5%) Explanation: Fire-elemental whip. Serpent Bonuses: STRCardTimesBonus = 0.71 (-29%) Explanation: Fast ice-elemental whip that can freeze enemies. Mandragora Bonuses: STRCardTimesBonus = 1.10 (+10%) Explanation: Plant-elemental whip. Golem Bonuses: None Explanation: Long earth-elemental whip. Cockatrice Bonuses: STRCardTimesBonus = 1.10 (+10%) Explanation: Stone-elemental whip that can stone enemies. Manticore Bonuses: STRCardTimesBonus = 0.89 (-11%) {Poison clouds}: STRAttackBonus = 0.32 (-68%) Explanation: Diagonal-upwards poison-elemental whip that releases poison clouds. Griffin Bonuses: STRCardTimesBonus = 0.87 (-13%) {Whip upper limit}: STRAttackBonus = 1.00 (0%) {Goes down as button is held} {Whip lower limit}: STRAttackBonus = 0.63 (-37%) Explanation: Wind-elemental whip that stabs continuously. Damage goes down the longer the button is held. Thunderbird Bonuses: {Whip upper limit}: STRAttackBonus = 1.00 (0%) {Goes down as button is held} {Whip lower limit}: STRAttackBonus = 0.01 (-99%) Explanation: Electric-elemental whip that deals continuous damage. Damage goes down the longer the button is held. Unicorn Bonuses: STRCardTimesBonus = 1.22 (+22%) Explanation: Holy-elemental whip that heals HP with each swing. > Healing = floor(MaxHP / 100) [minimum of 1] Black Dog Bonuses: STRCardTimesBonus = 1.41 (+41%) Explanation: Dark-elemental whip. Venus + Salamander Bonuses: STRCardTimesBonus = 1.12 (+12%) Explanation: Increases damage dealt by 25%. Serpent Bonuses: DEFCardTimesBonus = 1.25 (+25%) Explanation: Decreases damage taken by 20%. Mandragora Bonuses: None Explanation: Increases LCK by 25% (rounded down). Golem Bonuses: DEFCardPlusBonus = floor(MapPercent * 3) Explanation: Increases defense based on the map explored percentage. Every percent complete gives you three points of DEF. Cockatrice Bonuses: None Explanation: Gain 1 experience point every second while walking. Manticore Bonuses: None Explanation: Doubles the number of hearts received from heart pickups. Does not work for the heart-replenishing inventory items. Griffin Bonuses: None Explanation: Increases INT by 25% (rounded down). Thunderbird Bonuses: STRCardPlusBonus = floor(MapPercent * 3) Explanation: Increases strength based on the map explored percentage. Every percent complete gives you three points of STR. Unicorn Bonuses: STRCardTimesBonus = 0.71 (-29%) DEFCardTimesBonus = 2.00 (+100%) Explanation: All damage (both dealt and taken) is halved. Black Dog Bonuses: STRCardTimesBonus = 1.41 (+41%) DEFCardTimesBonus = 0.50 (-50%) Explanation: All damage (both dealt and taken) is doubled. Jupiter + Salamander Bonuses: None Explanation: Creates two rotating fireballs. Serpent Bonuses: {Ice balls}: STRAttackBonus = (-55%) Explanation: Creates four rotating ice balls that can freeze enemies. Mandragora Bonuses: None Explanation: Heals HP every second while standing still. > Healing = floor(MaxHP / 100) [minimum of 1] Golem Bonuses: None Explanation: Quadruples mercy invincibility time. Cockatrice Bonuses: None Explanation: Turns you into a statue. You take normal damage, but cannot be knocked back. Speed and jump height are reduced. Manticore Bonuses: {Clouds}: STRAttackBonus = (-86%) Explanation: Creates a field of poison clouds that do very little damage. Griffin Bonuses: {Dash Energy Wave}: STRAttackBonus = (-29%) Explanation: Projects an energy wave in front of you when you dash. Thunderbird Bonuses: DEFTimesBonus = 2.00 (+100%) Explanation: All damage is cut in half, but all attacks will cause a knockback rather than a flinch. Unicorn Bonuses: None Explanation: Creates a circular barrier. Black Dog Bonuses: {Black hole}: STRAttackBonus = (+41%) Explanation: Creates a black hole, but poisons you as long as the combo as active. You can cure poison with it by toggling it on and right back off. Mars + Salamander Bonuses: STRCardTimesBonus = 1.10 (+10%) Explanation: Fire-elemental sword. Serpent Bonuses: STRCardTimesBonus = 0.71 (-29%) Explanation: Ice-elemental sword that can freeze enemies. Mandragora Bonuses: STRCardTimesBonus = 1.12 (+12%) Explanation: Plant-elemental sword. Golem Bonuses: {Earthquake}: STRAttackBonus = 0.32 (-68%) Explanation: Earth-elemental hammer. If it hits the ground, it causes an earthquake that hits all enemies on the screen. Cockatrice Bonuses: STRCardTimesBonus = 1.22 (+22%) Explanation: Stone-elemental tonfers that can stone enemies. Manticore Bonuses: STRCardTimesBonus = 0.89 (-11%) {Claws}: STRAttackBonus = 0.89 (-11%) Explanation: Poison-elemental claws. Griffin Bonuses: STRCardTimesBonus = 1.41 (+41%) {Sword, no charge}: STRAttackBonus = 0.32 (-68%) {Sword, small charge}: STRAttackBonus = 0.45 (-55%) {Sword, medium charge}: STRAttackBonus = 0.67 (-23%) {Sword, full charge}: STRAttackBonus = 1.00 (0%) Explanation: Wind-elemental sword that deals damage based on how long it charges. Thunderbird Bonuses: {First two punches}: STRAttackBonus = 0.71 (-29%) {Third punch}: STRAttackBonus = 1.00 (0%) {Kick}: STRAttackBonus = 1.41 (+41%) Explanation: Thunder-elemental martial arts combo. It consists of three punches followed by a kick. Unicorn Bonuses: STRCardTimesBonus = 1.73 (+73%) {Sword, closest to hilt}: STRAttackBonus = 1.00 (0%) {Sword, close to hilt}: STRAttackBonus = 0.84 (-16%) {Sword, middle}: STRAttackBonus = 0.77 (-23%) {Sword, far from hilt}: STRAttackBonus = 0.71 (-29%) {Sword, farthest from hilt}: STRAttackBonus = 0.63 (-37%) Explanation: Holy-elemental sword that does more damage the closer you are to the enemy. Black Dog Bonuses: STRCardTimesBonus = 2.00 (+100%) Explanation: Dark-elemental gun. Diana + Salamander Bonuses: {Fireball}: STRAttackDefinite = 400 Explanation: Shoots a fireball. Serpent Bonuses: {Ice ball}: STRAttackDefinite = 500 Explanation: Shoots three ice balls that can freeze enemies. Mandragora Bonuses: {Center plume}: STRAttackDefinite = 660 {Side plumes}: STRAttackDefinite = 600 Explanation: Shoots three plumes of petals. Golem Bonuses: {Quake wave}: STRAttackBonus = 0.63 (-37%) Explanation: Releases an earth wave that runs along the ground. Cockatrice Bonuses: {Rock}: STRAttackBonus = 0.71 (-29%) Explanation: Shoots three rocks that can stone enemies. Manticore Bonuses: {Poison spore}: STRAttackBonus = 0.63 (-37%) Explanation: Shoots a poison spore diagonally upward. Griffin Bonuses: {Wind wave}: STRAttackBonus = 1.29 (+29%) Explanation: Shoots a wind wave. Thunderbird Bonuses: {Electric whip spin}: STRAttackBonus = 0.50 (-50%) Explanation: Does continuous electric damage when the whip is spun. Unicorn Bonuses: {Shell}: STRAttackBonus = 0.50 (-50%) Explanation: Fires a holy shell that homes in on enemies. Black Dog Bonuses: {Black balls}: STRAttackBonus = 1.41 (+41%) Explanation: Shoots dark balls in eight directions. Apollo + Salamander Bonuses: {Bomb}: STRAttackBonus = 1.41 (+41%) Explanation: Throws a fire bomb in an arc. Serpent Bonuses: {Ice ball}: STRAttackBonus = 0.71 (-29%) {Ice fragments}: STRAttackBonus = 0.50 (-50%) Explanation: Throws an ice ball in an arc. It sends fragments in eight directions when it hits a surface. All of the above can freeze enemies. Mandragora Bonuses: {Rose}: STRAttackBonus = 0.71 (-29%) {Petals}: STRAttackBonus = 0.50 (-50%) Explanation: Throws a rose in an arc. Petals fall off as it moves. Golem Bonuses: None Explanation: Five spears rise from the ground. Cockatrice Bonuses: {Comet}: STRAttackBonus = 1.22 (+22%) {Fragments}: STRAttackBonus = 0.50 (-50%) Explanation: Three comets fall from the sky. Each one breaks into pieces when it hits something. All of the above projectiles can stone enemies. Manticore Bonuses: {Bomb}: STRAttackBonus = 0.32 (-68%) {Clouds}: STRAttackBonus = 0.22 (-78%) Explanation: A poison bomb is thrown in an arc. It explodes in mid-air, throwing clouds in all directions. Griffin Bonuses: {Wind spears}: STRAttackBonus = 0.63 (-37%) Explanation: Creates a tornado, which throws wind spears left and right. Thunderbird Bonuses: None Explanation: Throws a lightning ball in an arc. Unicorn Bonuses: None Explanation: Several arrows descend from the sky. Black Dog Bonuses: {Black hole}: STRAttackBonus = 0.71 (-29%) Explanation: Throws a black hole horizontally. Neptune + Salamander: Fire absorption Serpent: Ice absorption Mandragora: Plant absorption Golem: Earth absorption Cockatrice: Stone absorption Manticore: Poison absorption Griffin: Wind absorption Thunderbird: Electric absorption Unicorn: Holy absorption Black Dog: Dark absorption Explanation: Each attribute card provides protection against its element when paired with Neptune. When you are hit by an attack of the same element, you will lose no HP; instead you will lose MP equal to the damage you would have taken. If you do not have enough MP to absorb all of the damage, the rest of your MP will be used up and the remainder of the damage will be applied to your HP. The amount of HP healed equal to 1/8th of the MP you lost, rounded down. The formula is: > Healing = floor(MPLost / 8) Saturn + Salamander Bonuses: {Bat fireballs}: STRAttackBonus = 0.63 (-37%) Explanation: Spawns a bat that shoots fireballs as long as you hold down the attack button. Serpent Bonuses: {Ghost}: STRAttackBonus = 0.32 (-68%) Explanation: Spawns a ghost that runs into enemies and can freeze them. Mandragora Bonuses: {Owl seeds}: STRAttackBonus = 0.77 (-23%) Explanation: Spawns an owl that shoots seeds as long as you hold down the attack button. Golem Bonuses: {Hawk}: STRAttackBonus = 0.87 (-13%) Explanation: Spawns a hawk that dive-bombs enemies. Cockatrice Bonuses: {Medusa stones}: STRAttackBonus = 0.77 (-23%) Explanation: Spawns a medusa that shoots stones as long as you hold down the attack button. These can stone enemies. Manticore Bonuses: None Explanation: Spawns a ghast that runs into enemies. Griffin Bonuses: {Sprite energy balls}: STRAttackBonus = 0.71 (-29%) Explanation: Spawns a wind sprite that shoots energy balls as long as you hold down the attack button. Thunderbird Bonuses: {Crow electricity}: STRAttackBonus = 1.41 (+41%) Explanation: Spawns a crow that generates electric fields. Unicorn Bonuses: None Explanation: Spawns a cherub that shoots arrows as long as you hold down the attack button. Black Dog Bonuses: {Imp flames}: STRAttackBonus = 0.45 (-55%) Explanation: Spawns an imp that shoots dark flames. It can charge up the longer as you hold down the attack button. Uranus + Salamander Bonuses: {Large fireballs}: None {Medium fireballs}: STRAttackBonus = 0.71 (-29%) {Small fireballs}: STRAttackBonus = 0.50 (-50%) Explanation: Summons a Salamander that rains down fireballs of various sizes. Serpent Bonuses: {Big ice balls}: None {Snowflakes}: STRAttackBonus = 0.71 (-29%) {Small ice balls}: STRAttackBonus = 0.50 (-50%) {Hail clouds}: STRAttackBonus = 0.32 (-68%) Explanation: Summons a Serpent that creates a whirlwind of various ice particles. These can freeze enemies. Mandragora Bonuses: {Sonic wave 1}: STRAttackBonus = 1.41 (+41%) {Sonic wave 2}: STRAttackBonus = 0.87 (-13%) Explanation: Summons a Mandragora that generates sonic waves all over the screen. Golem Bonuses: {Big rocks}: STRAttackBonus = 1.12 (+12%) {Small rocks}: STRAttackBonus = 0.87 (-13%) {Crumbs}: STRAttackBonus = 0.32 (-68%) Explanation: Summons a Golem that sends up rocks of various sizes. Cockatrice Bonuses: {Big stones}: STRAttackBonus = 1.10 (+10%) {Small stones}: STRAttackBonus = 0.89 (-11%) {Crumbs}: STRAttackBonus = 0.63 (-37%) Explanation: Summons a cockatrice that horizontally rains stones of various sizes. These can stone enemies. Manticore Bonuses: {Poison rain}: STRAttackBonus = 0.71 (-29%) Explanation: Summons a Manticore that rains poison. Griffin Bonuses: {Wind sickles}: STRAttackBonus = 0.84 (-16%) Explanation: Summons a Griffin that attacks with wind sickles. Thunderbird Bonuses: {Lightning type 1}: STRAttackBonus = 1.32 (+32%) {Lightning type 2}: STRAttackBonus = 1.12 (+12%) Explanation: Summons a Thunderbird that rains lightning bolts. Some bolts do more damage than others, but they are visually indistinguishable. Unicorn Bonuses: None Explanation: Summons a Unicorn. Does not damage enemies, but heals HP at a rate of about 4 times per second. > Healing = floor(MaxHP / 100) [minimum of 1] Black Dog Bonuses: {Black lightning}: STRAttackBonus = 0.22 (-78%) Explanation: Summons a Black Dog. Each hit heals some HP. > Healing = floor(MaxHP / 100) [minimum of 1] Pluto + Salamander Bonuses: None Explanation: Allows an item crush attack, which is a special attack available for each sub-weapon. See section 6 for each sub-weapon's modifier. The watch crush will stop enemies that are only slowed by the regular watch, and will slow enemies that are not affected at all by the regular watch. Serpent Bonuses: None Explanation: Lets you throw two sub-weapons at once. Does not double heart consumption. Mandragora Bonuses: None Explanation: Increases experience by 20%, rounded down. Actual experience gained is calculated as floor(EXP * 1.2). Golem Bonuses: None Explanation: Creates a shadow double that follows ahead of you. Its whip and sub-weapons do the same damage as yours, and it cannot be damaged. Cockatrice Bonuses: DEFCardPlusBonus = floor(HoursPlayed * 10) Explanation Increases defense based on the game timer. HoursPlayed is a decimal number of hours; every 6 minutes of play time gives you one point of DEF. Manticore Bonuses: None Explanation: Sub-weapons use MP instead of hearts. MP use is equal to five times the number of hearts that the sub-weapon normally uses. Griffin Bonuses: None Explanation: Increases horizontal movement speed, but only while on the ground. Movement speed in the air is normal. Thunderbird Bonuses: STRCardPlusBonus = floor(HoursPlayed * 10) Explanation: Increases strength based on the game timer. HoursPlayed is a decimal number of hours; every 6 minutes of play time gives you one point of STR. Unicorn Bonuses: None Explanation: Essentially makes you into a ghost. As long as this combo is active, enemies cannot interact with you, and you cannot interact with them. Black Dog Bonuses: {Small bone}: STRAttackBonus = 0.45 (-55%) {Big bone}: STRAttackDefinite = 3000 Explanation: This is one of the more interesting combos; you turn into a skeleton who can do nothing but throw bones. You cannot use sub-weapons or special moves, your jump height is reduced, and your defense is non-existent; any attack at all will utterly disintegrate you with 9999 damage. However, though most of your attacks will be small bones that deal pathetic damage, you will randomly throw large ones with a fixed strength of 3000, which is the highest possible STR in the game without cheating. ------------------------------------------------------------------------------- (8) Examples ------------------------------------------------------------------------------- These examples will show the damage formulas in action, step-by-step. You may follow the formulas by using the given lettered lists. (See section 4 for attack formulas and section 5 for defense formulas). Attack Example 1: A freshly started LV 1 Vampirekiller attacks the very first enemy, a Skeleton Bomber, with his whip. He has no cards or equipment yet, and the Skeleton Bomber has a DEF of 40. a) BaseSTR = 90 + (10 * 1) = 100 b) ModifiedSTR = 100 + 0 + 0 + 0 = 100 c) ModifiedSTR = floor(100 * 1) + 0 = 100 d) ModifiedSTR = floor(100 * 1) = 100 e) Damage = floor((100 ^ 2) / (10 * 40)) = 25 There is no elemental damage, so f is skipped Damage is not outside the cap, so g is skipped Final damage is 25. Attack Example 2: A LV 33 Magician is equipped with the Night Suit (+20 STR) and two Strength Rings (+50 STR each). He activates the Mars-Thunderbird punch combo, and hits an Electric Skeleton with the first punch only. Electric Skeletons have a DEF of 50 and are strong to lightning. a) BaseSTR = 64 + (7 * 33) = 295 b) ModifiedSTR = 295 + 20 + 50 + 50 = 415 c) ModifiedSTR = floor(415 * 1) + 0 = 415 d) ModifiedSTR = floor(415 * 0.71) = 294 e) Damage = floor((294 ^ 2) / (10 * 50)) = 172 f) Damage = floor(172 / 2) = 86 Damage is not outside the cap, so g is skipped Final damage is 86. Attack Example 3: A LV 40 Thief is equipped with the Silk Robe (+0 STR), one Cursed Ring (+30 STR), and one Hard Ring (-10 STR). He activates the Venus-Black Dog combo and throws a cross at an Ice Shade, who has a DEF of 560. a) BaseSTR = 64 + (7 * 40) = 344 b) ModifiedSTR = 344 + 0 + 30 - 10 = 364 Nathan is using a sub-weapon, so c is skipped d) ModifiedSTR = floor(364 * 1.10) = 400 e) Damage = floor((400 ^ 2) / (10 * 560)) = 28 There is no elemental damage, so f is skipped Damage is not outside the cap, so g is skipped Final damage is 28. Attack Example 4: A LV 60 Vampirekiller is equipped with the Soldier Fatigues (+50 STR) and two Strength Armbands (+100 STR each). He activates the Mars-Unicorn combo and hits a Bat close to the hilt of the sword. The Bat has a DEF of 15. a) BaseSTR = 90 + (10 * 60) = 690 b) ModifiedSTR = 690 + 50 + 100 + 100 = 940 c) ModifiedSTR = floor(940 * 1.73) + 0 = 1626 d) ModifiedSTR = floor(1626 * 0.84) = 1365 e) Damage = floor((1365 ^ 2) / (10 * 15)) = 12421 Bat is not strong to holy element, so f is skipped g) Damage = 9999 Final damage is 9999. Defense Example 1: A freshly started LV 1 Vampirekiller is bombed by the very first enemy, a Skeleton Bomber. Nathan has no cards or equipment yet, and the Skeleton Bomber's bomb has a STR of 75. a) BaseDEF = 90 + (10 * 1) = 100 b) ModifiedDEF = 100 + 0 + 0 + 0 = 100 c) ModifiedDEF = floor(100 * 1) + 0 = 100 d) Damage = floor((75 ^ 2) / (10 * 100)) = 5 Nathan has no status effect, so e is skipped Damage is not outside the cap, so f is skipped Nathan is not using Neptune, so g is skipped Final damage is 5. Defense Example 2: A LV 25 Fighter is equipped with the Steel Armor (+120 DEF) and nothing else. He has been frozen by an Ice Armor, and another icicle hits him before he can break free. He cannot use DSS, and the Ice Armor's icicle has a STR of 500. a) BaseDEF = 127 + (14 * 25) = 474 b) ModifiedDEF = 474 + 120 + 0 + 0 = 594 c) ModifiedDEF = floor(594 * 1) + 0 = 594 d) Damage = floor((500 ^ 2) / (10 * 594)) = 42 e) Damage = 42 * 4 = 168 Damage is not outside the cap, so f is skipped Nathan is not using Neptune, so g is skipped Final damage is 168. Defense Example 3: A LV 40 Shooter is equipped with the Platinum Armor (+150 DEF) and both Double Grips (+75 DEF together). He has the Venus-Golem combo active while fighting Dracula's second form, and is hit by a laser. Nathan has 95.0% of the map explored, and Dracula's laser attack has a STR of 1500. a) BaseDEF = 64 + (7 * 40) = 344 b) ModifiedDEF = 344 + 150 + 75 = 569 c) ModifiedDEF = floor(569 * 1) + floor(95.0 * 3) = 854 d) Damage = floor((1500 ^ 2) / (10 * 854)) = 263 Nathan has no status effect, so e is skipped Damage is not outside the cap, so f is skipped Nathan is not using Neptune, so g is skipped Final damage is 263. Defense Example 4: A LV 60 Vampirekiller is equipped with the Dark Armor (+550 DEF) and two Defense Armbands (+100 DEF each). He has the Neptune-Black Dog combo active when he is hit by a spear from a Skeleton Spear. Nathan has full MP, and the Skeleton Spear is dark-elemental with a spear that has a STR of 100. a) BaseDEF = 90 + (10 * 60) = 690 b) ModifiedDEF = 690 + 550 + 100 + 100 = 1440 c) ModifiedDEF = floor(1440 * 1) + 0 = 1440 d) Damage = floor((100 ^ 2) / (10 * 1440)) = 0 Nathan has no status effect, so e is skipped f) Damage = 1 g) Damage = 0 Final damage is 0. Nathan loses 1 MP, and heals nothing. ------------------------------------------------------------------------------- (9) Status Effect Mechanics ------------------------------------------------------------------------------- The four status effects in this game are Poison, Curse, Stone, and Freeze. Only one of these status effects can be active at once; getting a second one will override the first one. For instance, getting stoned while already cursed will remove the curse and only leave you stoned. Poison Mechanics: When Nathan is poisoned, he begins taking poison damage about 2 seconds after the attack that caused it. Poison damage occurs once per second, and lasts for 18 "hits" if not cured. Each of these "hits" does damage approximately equal to 1% of Nathan's maximum HP. You can therefore expect to lose about 18% of your maximum HP each time you are poisoned. More accurately, the game keeps two counters, both of which start at 0 when Nathan is initially poisoned. These will be called "LifeCounter" and "PoisonCounter". Since damage is limited to integer values, these two counters work together to ensure that Nathan takes an average of 1% damage each time. Sometimes it will be more, sometimes it will be less, but this formula makes it average out: > LifeCounter = LifeCounter + MaxHP > Damage = floor(LifeCounter / 100) - PoisonCounter > PoisonCounter = PoisonCounter + Damage If Nathan is poisoned again while already poisoned, the 18 hits will be reset, but these two counters won't be. Also, a low-level advanced class can have less than 100 maximum HP, in which case the damage can be 0. If it is 0, no number will appear at all. An illustration follows: suppose we have a LV 10 Vampirekiller with four HP max upgrades. His maximum HP is 230, and he gets poisoned. The damage he takes with each second is: 1) 0 + 230 = 230 -> floor(230/100) - 0 = 2 damage -> 0 + 2 = 2 2) 230 + 230 = 460 -> floor(460/100) - 2 = 2 damage -> 2 + 2 = 4 3) 460 + 230 = 690 -> floor(690/100) - 4 = 2 damage -> 4 + 2 = 6 4) 690 + 230 = 920 -> floor(920/100) - 6 = 3 damage -> 6 + 3 = 9 5) 920 + 230 = 1150 -> floor(1150/100) - 9 = 2 damage -> 9 + 2 = 11 6) 1150 + 230 = 1380 -> floor(1380/100) - 11 = 2 damage -> 11 + 2 = 13 Assume Nathan gets poisoned again right here; counters don't reset. 1) 1380 + 230 = 1610 -> floor(1610/100) - 13 = 3 damage -> 13 + 3 = 16 2) 1610 + 230 = 1840 -> floor(1840/100) - 16 = 2 damage -> 16 + 2 = 18 3) 1840 + 230 = 2070 -> floor(2070/100) - 18 = 2 damage -> 18 + 2 = 20 4) 2070 + 230 = 2300 -> floor(2300/100) - 20 = 3 damage -> 20 + 3 = 23 5) 2300 + 230 = 2530 -> floor(2530/100) - 23 = 2 damage -> 23 + 2 = 25 6) 2530 + 230 = 2760 -> floor(2760/100) - 25 = 2 damage -> 25 + 2 = 27 7) 2760 + 230 = 2990 -> floor(2990/100) - 27 = 2 damage -> 27 + 2 = 29 8) 2990 + 230 = 3220 -> floor(3220/100) - 29 = 3 damage -> 29 + 3 = 32 9) 3220 + 230 = 3450 -> floor(3450/100) - 32 = 2 damage -> 32 + 2 = 34 10) 3450 + 230 = 3680 -> floor(3680/100) - 34 = 2 damage -> 34 + 2 = 36 11) 3680 + 230 = 3910 -> floor(3910/100) - 36 = 3 damage -> 36 + 3 = 39 12) 3910 + 230 = 4140 -> floor(4140/100) - 39 = 2 damage -> 39 + 2 = 41 13) 4140 + 230 = 4370 -> floor(4370/100) - 41 = 2 damage -> 41 + 2 = 43 14) 4370 + 230 = 4600 -> floor(4600/100) - 43 = 3 damage -> 43 + 3 = 46 15) 4600 + 230 = 4830 -> floor(4830/100) - 46 = 2 damage -> 46 + 2 = 48 16) 4830 + 230 = 5060 -> floor(5060/100) - 48 = 2 damage -> 48 + 2 = 50 17) 5060 + 230 = 5290 -> floor(5290/100) - 50 = 2 damage -> 50 + 2 = 52 18) 5290 + 230 = 5520 -> floor(5520/100) - 52 = 3 damage -> 52 + 3 = 55 The poison is now gone. The Neptune-Manticore combo will prevent poisoning, but only if all damage from the relevant attack is blocked. Enemies cannot be poisoned. If the Jupiter-Black Dog combo is equipped, you will be poisoned for as long as the combo is active and cured when the combo is ended. This can be used to cure poison that an enemy gave you. Finally, uncleansed water uses the same general poison formula to deal damage, but it happens several times per second and does not stop until you exit the water. Curse Mechanics: A curse lasts for 20 seconds after the instant you are hit by a curse attack, or until you are cured. Being hit with a curse again while you're already cursed will simply reset this timer. The curse status prevents all use of the attack button, including normal attacks, sub-weapons, and active DSS attacks (i.e. ones that you must hit B to use). DSS effects and passive DSS attacks (such as rotating fireballs) will still work, as will equipping and using items from the menu. The Neptune-Black Dog combo will prevent cursing, but only if all damage from the relevant attack is blocked. Enemies cannot be cursed. Stone Mechanics: The status effect from a stoning attack has no time limit; rather, you become closer to freedom each time you push a direction on the D-pad. You are free once you have pushed on the D-pad 27 times, but you cannot do anything else while stoned except equip and use items in the menu. You are also freed if you are hit, but the attack that hit you will cause four times its normal damage. Rotating the D-pad seems to be the fastest to way to free yourself. The Neptune-Cockatrice combo will prevent stoning, but only if all damage from the relevant attack is blocked. Some stone-elemental DSS combos can stone enemies when they would otherwise be killed. If an enemy is stoned, its HP is set to 1 and it will stay stoned for 5 seconds before reviving. Stoned enemies can be used as platforms. Stone-elemental enemies cannot be stoned. Freeze Mechanics: The status effect from a freezing attack lasts 3 seconds after the instant you hit the ground. You cannot do anything except equip and use items in the menu until you thaw. Being attacked will also free you, but that attack will cause four times its normal damage. The Neptune-Serpent combo will prevent freezing, but only if all damage from the relevant attack is blocked. Some ice-elemental DSS combos can freeze enemies when they would otherwise be killed. If an enemy is frozen, its HP is set to 1 and it will stay frozen for 5 seconds before reviving. Frozen enemies can be used as platforms. Ice-elemental enemies cannot be frozen. Web Mechanics: This is not a true status effect (it will not appear as a status on the menu screen), but the Arachne can encase you in webbing. Movement speed and jump height is reduced while webbed. It cannot be cured, nor does damage free you from it, but it will wear off after 5 seconds. Getting hit by a web again while already webbed will pile a new web on top of you; this doesn't reduce your speed further, but it does reset the timer. ------------------------------------------------------------------------------- (10) Other Game Mechanics ------------------------------------------------------------------------------- Intelligence and Magic Regeneration: Your INT stat (after modification by equipment and DSS) is the only factor which determines how fast your magic regenerates. On average, every 100 points of INT you have will cause you to regenerate 1 MP per second. This happens at a continuous rate. Using constant-effect DSS combos will also drain MP at a continuous rate, so it is possible for some combos to be essentially "free" if your INT is high enough. For instance, an active Venus-Salamander combo costs 4 MP per second, but if your INT is at least 400, your natural regeneration will take care of this cost and you won't see your MP go down. DSS attack combos cannot be activated if you do not have enough MP to use them, and they will immediately deactivate if you don't have enough left to use them again. For instance, if you use the Thunderbird summon and only have 150 MP left afterwards, your DSS will immediately deactivate since you need 200 MP to use it again, even if you would have regenerated enough MP by the time the summon was over. While in the Battle Arena, your MP is drained very quickly. A full bar of magic will be completely emptied in roughly 1.5 seconds, regardless of your maximum MP. However, since this is not instantaneous, it is possible to use MP recovery items, then quickly activate DSS and use a magic attack (usually a summon) before your MP is emptied again. Knockback and Mercy Invincibility: When you take damage, you will either flinch or be knocked back. In either case, you have one second after the instant you can move again until you become vulnerable to damage. In general, the choice whether to cause a flinch or a knockback seems to depend on the type of attack. Also, an attack that would ordinarily knock you back may cause you to flinch instead if the game can't decide which direction you should be thrown (say, if your invincibility wears off while you're directly in the middle of an enemy). Certain Jupiter DSS combos affect knockback and invincibility. With
    Cockatrice, all attacks becomes flinches, and with Thunderbird, all
    attacks become knockbacks. With Golem, the invincibility time is
    extended from 1 second to 4 seconds. This duration will outlast freezing,
    and can also outlast stoning if you are fast enough on the D-pad. There
    appears to be a bug that makes the invincibility last much longer than
    usual (on the order of about 15 seconds) if you manage to break free
    from either status effect while still invincible.

    Enemies do not suffer from any sort of pain-induced movement, but they
    do have a limit as to how quickly they can register hits. Single-action
    attacks such as whipping only cause damage once, but most continuous
    attacks (such as the whip spin) will damage enemies at a rate of roughly
    3.5 times per second. Some DSS attacks (such as Uranus-Thunderbird) can
    only register hits half this fast, and others (Jupiter-Manticore) can do
    it twice this fast.

Game Timer:

    The game keeps a running timer of how long you've played, which is used in
    certain DSS combos and for general achievement purposes. It starts running
    as soon as the cutscene with Camilla and Dracula begins, and only stops
    during certain occasions. Upon saving, the timer is recorded at the instant
    the screen goes completely white. This information is probably of most
    interest to those doing game-timed (not real-timed) speedruns.

    The timer runs during:

        Normal gameplay
        Dialogue cutscenes
        DSS activation
        Choice to save (Yes/No)
        Saving process

    The timer does NOT run during:

        Menu screen
        Map screen
        Teleportation process
        Battle Arena entrance message
        Opening message (It is 1830...)

-------------------------------------------------------------------------------
(11) Legal Info
-------------------------------------------------------------------------------

Do whatever you want with this information as long as proper credit is given.
That's pretty much it. It should also be noted that all information in this
guide was reverse-engineered simply by playing the game. Anyone who has
access to the ROM and knowledge of GBA assembly can probably figure out the
exact computations used by the processor, but this guide should still be fairly
accurate. The order of any additions or multiplications that don't overflow the
registers shouldn't matter anyway, nor should any divisions that don't involve
loss of precision due to truncation from bit shifting.