User Tools

Site Tools


en:rpd:heal_spell

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:rpd:heal_spell [2026/01/01 19:45] – namespace move Mikeen:rpd:heal_spell [2026/01/01 19:47] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== Heal ======
 +
 +{{ rpd:images:heal_spell.png|Heal Spell }}
 +
 +**Heal** is a spell in Remixed Pixel Dungeon with Witchcraft Affinity (also available to Priest and PlagueDoctor affinities).
 +
 +==== Description ====
 +The Heal spell restores a portion of the target's health instantly, making it valuable for emergency situations. The healing amount is calculated as 20% of the target's max HP multiplied by the caster's skill level (with a minimum of 1 HP healed).
 +
 +==== Stats ====
 +  * **Magic Affinity:** [[en:rpd:witchcraft_affinity|Witchcraft]] (also available in [[en:rpd:priest_class|Priest]] and [[en:rpd:plague_doctor_affinity|Plague Doctor]] affinities)
 +  * **Targeting:** Char (can target any character on the map)
 +  * **Level:** 2
 +  * **Mana Cost:** 5
 +  * **Cast Time:** 1 turn
 +  * **Cooldown:** 2 turns
 +
 +==== Mechanics ====
 +The spell heals the target character for (Max HP / 5 * Caster's skill level) hit points, with a minimum of 1 point healed, according to the Lua implementation.
 +
 +The exact formula from the Lua code is: heal = target:ht() / 5. * caster:skillLevel()
 +
 +This means that for a full-health target:
 +  * At caster skill level 1: heals 20% of target's max HP (minimum 1)
 +  * At caster skill level 2: heals 40% of target's max HP (minimum 1)
 +  * At caster skill level 3: heals 60% of target's max HP (minimum 1)
 +  * And so on...
 +
 +==== Usage ====
 +The Heal spell can be used for:
 +  * Emergency health restoration during dangerous encounters
 +  * Healing yourself in combat situations
 +  * Healing allies or pets
 +  * Supporting pets during challenging fights
 +
 +==== Strategy ====
 +  * Best used when health is critically low
 +  * Can heal allies and pets as well as yourself
 +  * Good for supporting pets during challenging fights
 +  * The healing scales with your skill level
 +  * Be mindful of the 2-turn [[en:rpd:cooldown|cooldown]] when planning healing
 +
 +==== Affinities ====
 +Affinities that can use this spell include:
 +  * [[en:rpd:witchcraft_affinity|Witchcraft]] affinity users
 +  * [[en:rpd:priest_class|Priest]] affinity users
 +  * [[en:rpd:plague_doctor_affinity|Plague Doctor]] affinity users
 +
 +==== Important Note ====
 +There is a different Java-based spell called "Healing" (not "Heal") with different mechanics:
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mechanics/spells/Healing.java|Healing.java]] - Heals 30% of target's max HP, targeting self only, costs 10 mana, level 3 spell
 +  * For more information on the Java-based Healing spell, see [[en:rpd:healing_spell|Healing Spell]]
 +
 +==== Code References ====
 +  * **Lua Implementation:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/spells/Heal.lua|Heal.lua]]
 +  * **Spell Availability (Common):** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/spells/CustomSpellsList.lua#L9|CustomSpellsList.lua#L9]]
 +  * **Spell Availability (Witchcraft):** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/spells/CustomSpellsList.lua#L13|CustomSpellsList.lua#L13]]
 +  * **Spell Availability (Priest):** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/spells/CustomSpellsList.lua#L16|CustomSpellsList.lua#L16]]
 +  * **Spell Availability (PlagueDoctor):** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/spells/CustomSpellsList.lua#L17|CustomSpellsList.lua#L17]]
 +  * **Spell Base Class (Lua):** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/lib/spell.lua|spell.lua]] - Base spell implementation
 +  * **Common Classes Library:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/lib/commonClasses.lua|commonClasses.lua]] - RPD module import
 +  * **English String Resources:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values/strings_all.xml#L2679-L2680|strings_all.xml#L2679-L2680]]
 +  * **Russian String Resources:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values-ru/strings_all.xml#L2681-L2682|strings_all.xml#L2681-L2682]]
 +  * **Spanish String Resources:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values-es/strings_all.xml#L2519-L2520|strings_all.xml#L2519-L2520]]
 +  * **French String Resources:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values-fr/strings_all.xml#L2666-L2667|strings_all.xml#L2666-L2667]]
 +  * **German String Resources:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values-de/strings_all.xml#L2502-L2503|strings_all.xml#L2502-L2503]]
 +  * **Chinese String Resources:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values-zh-rCN/strings_all.xml#L2510-L2511|strings_all.xml#L2510-L2511]]
 +  * **Japanese String Resources:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values-ja/strings_all.xml#L2518-L2519|strings_all.xml#L2518-L2519]]
 +  * **Portuguese String Resources:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values-pt-rBR/strings_all.xml#L2508-L2509|strings_all.xml#L2508-L2509]]
 +  * **Turkish String Resources:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values-tr/strings_all.xml#L2547-L2548|strings_all.xml#L2547-L2548]]
 +  * **Indonesian String Resources:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values-in/strings_all.xml#L2503-L2504|strings_all.xml#L2503-L2504]]
 +  * **Heal healing mechanism:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/Char.java#L99-L107|Char.java#L99-L107]] - heal() method that the spell calls
 +  * **Lua spell framework:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mechanics/spells/LuaSpell.java|LuaSpell.java]] - Java class that handles Lua spell execution
 +  * **Java Healing Spell:** [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mechanics/spells/Healing.java|Healing.java]] - Different Java-based healing spell (30% self-targeted)
 +  * **Formula verification:** The Lua code shows heal = target:ht() / 5. * caster:skillLevel() with minimum of 1
 +  * **Java Healing Spell Code References:**
 +    * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mechanics/spells/Healing.java#L15-L20|Healing.java#L15-L20]] - Stats initialization (targeting, affinity, level, image, cost)
 +    * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mechanics/spells/Healing.java#L23-L27|Healing.java#L23-L27]] - Exact healing calculation ((int) (chr.ht()*0.3))
 +    * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mechanics/spells/Healing.java|Healing.java]] - Java-based healing spell that heals 30% of target's max HP, targets self only, costs 10 mana, level 3 spell
 +  * **Last updated:** [[https://github.com/NYRDS/remixed-dungeon/commit/|Latest commit]]
 +
 +==== Data Validation ====
 +  * Lua Spell Stats (Heal.lua): MagicAffinity = ''Witchcraft'', TargetingType = ''char'', Level = 2, CastTime = 1, SpellCost = 5, Cooldown = 2
 +  * Healing Formula (Lua): ''heal = target:ht() / 5. * caster:skillLevel()'' with minimum of 1 HP healing
 +  * Healing Effect (Lua): ''target:heal(math.max(1, heal), caster)'' - heals calculated amount with minimum 1 HP
 +  * String Resources: ''Heal_Name'' and ''Heal_Info'' in strings_all.xml
 +  * The heal method call in Char.java ensures the healing is properly applied with the caster as the source (for tracking and mechanics purposes)
 +
 +==== See Also ====
 +  * [[en:rpd:spells|Spells]]
 +  * [[en:rpd:mechanics|Game Mechanics]]
 +  * [[en:rpd:spell_affinities|Spell Affinities]]
 +  * [[en:rpd:witchcraft_affinity|Witchcraft Affinity]]
 +  * [[en:rpd:priest_class|Priest Class]]
 +  * [[en:rpd:plague_doctor_affinity|Plague Doctor Affinity]]
 +  * [[en:rpd:healing_spell|Healing Spell]] - The Java-based healing spell (different from this Heal spell)
 +  * [[en:rpd:hero|Hero]] - Main playable character
 +  * [[en:rpd:status_effects|Status Effects]] - Various status effects in the game
 +  * [[en:rpd:mana_mechanic|Mana]] - Mana system mechanics
 +  * [[en:rpd:spellcasting|Caster]] - Characters that can cast spells
 +  * [[en:rpd:spell_system|Targeting]] - Different targeting mechanisms in the game
 +  * [[en:rpd:buffs|Buffs and Debuffs]] - Status effects that can be healed
 +  * [[en:rpd:spell_mana_cost|Spell Mana Costs]] - Information about mana costs for spells
 +  * [[en:rpd:caster_hero_classes|Caster Hero Classes]] - Classes that specialize in spellcasting
 +
 +{{tag> rpd spells witchcraft priest plague_doctor }}