====== 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 }}