Game logic
Combat
When units attack, how hits and damage are worked out for normal attacks and spells, how shots fly, and what each boss casts.
Normal attacks
- gap = distance between the two centres minus both radii. A unit starts a swing when the gap is under its reach and keeps it while it stays under reach + 22 px. With reach 0 it never attacks (Isaac, the mages and the story characters); when chasing it stops 4 px away.
- It waits its time between attacks, then plays its attack animation; the hit or the shot comes out at its strike tick, and when the animation ends it waits again.
- Melee hits when a random number from 0 to 100, plus accuracy, minus the target’s evasion, reaches 100.
- A shot hits when a random number from 0 to 99 is under accuracy minus evasion. When evasion is higher, the game reads the difference as a very large number, so the shot always hits.
- Damage = half the attack − a quarter of the target’s defense, rounded down; 0 or less does no damage.
- An attack with an element does ×½ to a unit of the same element and ×1.5 to one of the opposite element. Shots do ×1.5 to flying units.
- Finally ×(128 + r) / 128, with r random from −10 to 10 (about ±8 %).
Sight
- Every 10 ticks each unit looks for enemies less than 200 px away.
- It chases one while it is nearer than its own sight radius. Missions often change that radius: most set it to 150 or 50 px.
Spell damage
- The power at cast comes from the spell, the caster’s magic, the drawing quality and the element level (see Spells).
- Against a unit of the spell’s element the spell heals it slightly (1/16 of the power); against the opposite element it does ×1.5.
- Then × (100 − magic defense) / 100; magic defense is at most 99.
- Then ×(128 + r) / 128, with r random from −10 to 10.
- A unit with more weaknesses than shields for that element takes ×2; with more shields, ×½.
- Healing spells add their power as it is: no element, defense or randomness.
Opposite elements
- Fire ↔ Water
- Wind ↔ Earth
- Dark ↔ Light
Shots
- A shot flies straight at where the target’s centre was when it was fired, without following it, up to reach + 22 px.
- It hits the first opposing unit within 4 px plus that unit’s radius, and does not go through. High obstacles stop it; water and pits do not.
- If it misses, it bounces back and fades out in 31 ticks.
| Type | Units | Speed | On a hit |
|---|---|---|---|
| 1 | Cherubim, Seraphim | 90 px/s | stays stuck 1.67 s |
| 2 | Harpia, Elpia, Phoenix | 60 px/s | stays stuck 1.67 s |
| 3 | Purple Cap, Red Cap | 60 px/s | disappears |
| 4 | Gnome, Rune Gnome | 75 px/s | disappears |
| 5 · Fire | Salamander, Runemander, Flare Dragon | 75 px/s | disappears |
| 6 · Wind | Gale Dragon | 75 px/s | disappears |
| 7 · Water | Hydro Dragon | 75 px/s | disappears |
| 8 · Earth | Earth Dragon | 75 px/s | disappears |
| 9 · Dark | Shadow Drgn. | 75 px/s | disappears |
| 10 · Light | Shine Dragon, Multipul | 75 px/s | disappears |
Bosses that cast
Only each battle’s boss casts spells, when its mission tells it to; there is no range check. It uses its own MP (its MP stat), pays each rune at the highest cost (element rank 0) and its power is the spell’s plus its magic, with no drawing quality or rank. With no MP left it cannot cast.
- Fire Mage3 spells
- Wind Mage8 spells
Heal Light, Wind Shards, Wind Lance, Fire Whirl, Frost Whirl, Wind Whirl, White Whirl, Black Whirl
- Water Mage9 spells
Heal Light, Ice Lance, Homing Ice, Ice Torrent, Rapid Ice, Wide Ice, Hail Rock, Cool Cloud, Freeze Wall
- Earth Mage11 spells
Heal Light, Tough Armor, Rock Lance, Earth Rage, Red Wall, Cool Wall, Wind Wall, Anger Wall, Rage Wall, White Wall, Black Wall
- Dark Mage13 spells
Heal Light, Curse, Dark Lance, Dark Blast, Rapid Dark, Wide Dark, Dark Rays, Black Cloud, Dark Whirl, Fire Warmth, Power Down, Defense Down, Magic Down
- Light Mage13 spells
Earth Wall, Heal Light, Light Lance, Homing Light, Rapid Light, Rain Light, Hail Light, Pure Thunder, Fire Warmth, Kind Water, God Song, Magic Over, Power Zone
- Christiva30 spells
Heal Light, Explosion, Tough Armor, Fire Rain, Fire Lance, Homing Fire, Blazer, Wind Lance, Rock Lance, Light Lance, Dark Lance, Ruby Blast, Fiery Blast, Typhoon, Earth Fury, White Light, Dark Blast, Rapid Fire, Wide Fire, Maxi Fire, Hail Fire, Red Cloud, Blaze Wall, Fire Armor, Ice Aura, Fire Warmth, Power Up, Mad Warrior, Speed Up, Power Down
- Trista6 spells
Heal Light, Wind Shards, Transport, Wind Lance, Hail Gale, Wind Arrow
- Popokura48 spells
Ice Shot, Heal Light, Storm, Tough Armor, Light Armor, Freeze, Ice Lance, Homing Ice, Freezer, Ice Storm, Ice Torrent, Rapid Ice, Wide Ice, Maxi Ice, Rapid Wind, Rapid Earth, Rapid Light, Rapid Dark, Rain Frost, Hail Frost, Rain Gale, Hail Gale, Rain Rock, Hail Rock, Rain Light, Hail Light, Dark Rays, Hail Dark, Burn Up, Bubble, Bubble Up, Bubbles!!, Reprisal, Swamp Fog, Terror, Pure Terror, Draw Light, Frost Cloud, Cool Cloud, Ice Cloud, Ice Whirl, Freeze Wall, Ice Wall, Fire Aura, Fire Warmth, Kind Water, Antidote, White Cure
- Geh Olg24 spells
Earth Wall, Heal Light, Tough Armor, Boulder, Rock Lance, Earth Roar, Maxi Earth, Dust Cloud, Sand Storm, Anger Wall, Fury Wall, Fire Aura, Ice Aura, Wind Aura, Earth Aura, Earth Armor, Light Aura, Dark Aura, Comet Fall, Fire Warmth, Kind Water, Antidote, White Cure, Defense Off
- Leonard18 spells
Heal Light, Curse, Poison, Dark Lance, Homing Dark, Dark Crush, Hail Dark, Black Void, Fire Warmth, Kind Water, Antidote, White Cure, Power Under, Evasion Down, Betrayal, Ice Maiden, Peace Call, Sleep Call
- Russell19 spells
Heal Light, Light Lance, Homing Light, Judgment, God Light, Rapid Light, Rain Light, Hail Light, Pure Thunder, Light Whirl, Fire Warmth, Kind Water, God Song, Antidote, Power Up, Magic Over, Power Zone, White Cure, Magic Down
- Seneka54 spells
Heal Light, Curse, Transport, Fire Lance, Ice Lance, Wind Lance, Rock Lance, Light Lance, Dark Lance, Fiery Blast, Ice Torrent, Tornado, Earth Rage, Earth Roar, Gold Light, Black Blast, Rapid Fire, Black Hail, Bubble, Pure Terror, Draw Light, Sleep Storm, Fire Whirl, Frost Whirl, Wind Whirl, Soil Whirl, White Whirl, Black Whirl, Super B Men, Sin Trap, Blaze Wall, Ice Wall, Storm Wall, Fury Wall, Pitch Wall, Fire Armor, Ice Armor, Wind Armor, Earth Armor, Shiny Armor, Dark Armor, Power On, Defense On, Defense Over, Magic Over, Power Zone, Defense Zone, Power Under, Defense Under, Betrayal, Uprising, Sleep Call, Vile Poison, Vile Smog
Each unit
Reach and swing are gaps between the two bodies; times in seconds.
| Unit | Attack | Reach → keeps | Between attacks | Hit at | Shot | Sight | Element |
|---|---|---|---|---|---|---|---|
| Isaac | Never attacks | — | — | — | — | — | — |
| Orkus | Melee | 13 → 35 px | 1.17 s | 0.2 s | — | 50 px | — |
| Battle Orkus | Melee | 13 → 35 px | 1.17 s | 0.2 s | — | 50 px | — |
| Scout Orkus | Melee | 13 → 35 px | 0.92 s | 0.2 s | — | 25 px | — |
| Knight Orkus | Melee | 13 → 35 px | 0.83 s | 0.2 s | — | 50 px | — |
| Wyvern | Melee | 14 → 36 px | 1.08 s | 0.1 s | — | 50 px | — |
| Jetvern | Melee | 14 → 36 px | 1.05 s | 0.1 s | — | 50 px | — |
| Purple Cap | Ranged | 50 → 72 px | 1 s | 0.22 s | 60 px/s | 60 px | — |
| Red Cap | Ranged | 50 → 72 px | 1 s | 0.22 s | 60 px/s | 60 px | — |
| Misty Mush | Melee | 15 → 37 px | 1.42 s | 0.17 s | — | 40 px | — |
| Killer Mush | Melee | 15 → 37 px | 0.92 s | 0.17 s | — | 40 px | — |
| Silfeed | Melee | 13 → 35 px | 0.63 s | 0.1 s | — | 50 px | Wind |
| Runefeed | Melee | 13 → 35 px | 0.58 s | 0.1 s | — | 50 px | Wind |
| Green Shog | Melee | 13 → 35 px | 1.08 s | 0.27 s | — | 50 px | — |
| Harpia | Ranged | 45 → 67 px | 0.83 s | 0.17 s | 60 px/s | 80 px | — |
| Elpia | Ranged | 45 → 67 px | 0.83 s | 0.17 s | 60 px/s | 80 px | — |
| Gale Hound | Melee | 17 → 39 px | 1 s | 0.33 s | — | 75 px | — |
| Acrobat | Melee | 14 → 36 px | 0.98 s | 0.2 s | — | 68 px | — |
| Gale Dragon | Ranged | 60 → 82 px | 1.08 s | 0.43 s | 75 px/s | 60 px | Wind |
| Undine | Melee | 14 → 36 px | 0.97 s | 0.1 s | — | 50 px | Water |
| Runedine | Melee | 14 → 36 px | 0.87 s | 0.1 s | — | 50 px | Water |
| Blue Shog | Melee | 13 → 35 px | 1.08 s | 0.27 s | — | 50 px | — |
| Death Fish | Melee | 17 → 39 px | 0.83 s | 0.2 s | — | 50 px | — |
| Death Fang | Melee | 17 → 39 px | 0.8 s | 0.2 s | — | 50 px | — |
| Hydra | Melee | 18 → 40 px | 1.17 s | 0.3 s | — | 50 px | — |
| Hydro Hound | Melee | 17 → 39 px | 1 s | 0.33 s | — | 75 px | — |
| Hydro Dragon | Ranged | 60 → 82 px | 1.08 s | 0.43 s | 75 px/s | 60 px | Water |
| Gnome | Ranged | 50 → 72 px | 0.9 s | 0.08 s | 75 px/s | 60 px | Earth |
| Rune Gnome | Ranged | 50 → 72 px | 0.87 s | 0.08 s | 75 px/s | 60 px | Earth |
| Mush-Mushy | Melee | 15 → 37 px | 1.42 s | 0.17 s | — | 40 px | — |
| Brown Shog | Melee | 13 → 35 px | 1.08 s | 0.27 s | — | 50 px | — |
| Mud Golem | Melee | 13 → 35 px | 1 s | 0.43 s | — | 45 px | — |
| Stone Golem | Melee | 13 → 35 px | 1.08 s | 0.43 s | — | 45 px | — |
| Earth Hound | Melee | 17 → 39 px | 1 s | 0.33 s | — | 75 px | — |
| Earth Dragon | Ranged | 60 → 82 px | 1.08 s | 0.43 s | 75 px/s | 60 px | Earth |
| Salamander | Ranged | 50 → 72 px | 1 s | 0.2 s | 75 px/s | 60 px | Fire |
| Runemander | Ranged | 50 → 72 px | 1 s | 0.2 s | 75 px/s | 60 px | Fire |
| Red Shog | Melee | 13 → 35 px | 1.08 s | 0.27 s | — | 50 px | — |
| Flare Hound | Melee | 17 → 39 px | 1 s | 0.33 s | — | 75 px | — |
| Ruby Golem | Melee | 13 → 35 px | 1 s | 0.43 s | — | 45 px | — |
| Phoenix | Ranged | 45 → 67 px | 0.83 s | 0.17 s | 60 px/s | 80 px | — |
| Dagon | Melee | 18 → 40 px | 1.17 s | 0.3 s | — | 50 px | — |
| Flare Dragon | Ranged | 60 → 82 px | 1.08 s | 0.43 s | 75 px/s | 60 px | Fire |
| Bat | Melee | 14 → 36 px | 1 s | 0.2 s | — | 50 px | — |
| Com-Bat | Melee | 14 → 36 px | 1 s | 0.2 s | — | 50 px | — |
| Ghost | Melee | 13 → 35 px | 1 s | 0.33 s | — | 50 px | Dark |
| Wraith | Melee | 13 → 35 px | 0.97 s | 0.33 s | — | 50 px | Dark |
| Black Shog | Melee | 13 → 35 px | 1.08 s | 0.27 s | — | 50 px | — |
| Dark Walker | Melee | 20 → 42 px | 1.5 s | 0.2 s | — | 50 px | — |
| Shadow Hound | Melee | 17 → 39 px | 1 s | 0.33 s | — | 75 px | — |
| Shadow Drgn. | Ranged | 60 → 82 px | 1.08 s | 0.43 s | 75 px/s | 60 px | Dark |
| Cherubim | Ranged | 50 → 72 px | 1.08 s | 0.23 s | 90 px/s | 65 px | Light |
| Seraphim | Ranged | 50 → 72 px | 0.75 s | 0.23 s | 90 px/s | 65 px | Light |
| Yellow Shog | Melee | 13 → 35 px | 1.08 s | 0.27 s | — | 50 px | — |
| Talos | Melee | 20 → 42 px | 1.25 s | 0.43 s | — | 30 px | — |
| Gigant | Melee | 20 → 42 px | 1.17 s | 0.43 s | — | 30 px | — |
| Shine Hound | Melee | 17 → 39 px | 1 s | 0.33 s | — | 75 px | — |
| Day Walker | Melee | 20 → 42 px | 1.5 s | 0.2 s | — | 50 px | — |
| Shine Dragon | Ranged | 60 → 82 px | 1.08 s | 0.43 s | 75 px/s | 60 px | Light |
| Divider | Melee | 22 → 44 px | 0.83 s | 0.33 s | — | 80 px | — |
| Multipul | Ranged | 50 → 72 px | 0.92 s | 0.33 s | 75 px/s | 80 px | — |
| Boxdog | Melee | 15 → 37 px | 1 s | 0.27 s | — | 110 px | — |
| Dogbox | Melee | 15 → 37 px | 1 s | 0.27 s | — | 110 px | — |
| Villager | Never attacks | — | — | — | — | — | — |
| Fire Mage | Never attacks | — | — | — | — | — | — |
| Wind Mage | Never attacks | — | — | — | — | — | — |
| Water Mage | Never attacks | — | — | — | — | — | — |
| Earth Mage | Never attacks | — | — | — | — | — | — |
| Dark Mage | Never attacks | — | — | — | — | — | — |
| Light Mage | Never attacks | — | — | — | — | — | — |
| Christiva | Never attacks | — | — | — | — | — | — |
| Trista | Never attacks | — | — | — | — | — | — |
| Popokura | Never attacks | — | — | — | — | — | — |
| Geh Olg | Never attacks | — | — | — | — | — | — |
| Leonard | Never attacks | — | — | — | — | — | — |
| Russell | Never attacks | — | — | — | — | — | — |
| Seneka | Never attacks | — | — | — | — | — | — |