From 132d0541225d1b22269b4b8814afb658ec431ef6 Mon Sep 17 00:00:00 2001 From: hat071af Date: Tue, 20 Aug 2024 00:46:06 -0700 Subject: [PATCH] Update combat-trainer.lic Refactored original attempt to work correctly. Okay to merge now. --- combat-trainer.lic | 71 +++++++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 32 deletions(-) diff --git a/combat-trainer.lic b/combat-trainer.lic index 156c73a753..cb8cb9249c 100644 --- a/combat-trainer.lic +++ b/combat-trainer.lic @@ -709,28 +709,15 @@ class LootProcess echo " should_perform_ritual? #{should_perform_ritual?(game_state)}" if $debug_mode_ct if @last_ritual.nil? - if @necro_heal && !game_state.necro_casting? - game_state.wounds = DRCH.check_health['wounds'] - echo "Severity to Wounds: #{game_state.wounds}" if $debug_mode_ct - echo "wound_level_threshold: #{@wound_level_threshold}" if $debug_mode_ct - unless game_state.wounds.empty? - if @wound_level_threshold <= game_state.wounds.keys.max - do_necro_ritual(mob_noun, 'consume', game_state) - return false - end - end + if @necro_corpse_priority == 'pet' + DRC.message("Prioritizing pet creation over healing") + check_necro_pet(mob_noun, game_state) + check_necro_heal(mob_noun, game_state) + elsif @necro_corpse_priority == 'heal' || !@necro_corpse_priority + DRC.message("Prioritizing healing over pet creation") + check_necro_heal(mob_noun, game_state) + check_necro_pet(mob_noun, game_state) end - if @make_zombie && !game_state.necro_casting? && !game_state.cfb_active? - echo 'Making zombie' if $debug_mode_ct - do_necro_ritual(mob_noun, 'arise', game_state) - return false - end - if @make_bonebug && !game_state.necro_casting? && !game_state.cfw_active? - echo 'Making bone bug' if $debug_mode_ct - do_necro_ritual(mob_noun, 'arise', game_state) - return false - end - ritual = if @redeemed 'dissect' elsif @current_harvest_count < @necro_count @@ -749,6 +736,33 @@ class LootProcess true end + def check_necro_heal(mob_noun, game_state) + if @necro_heal && !game_state.necro_casting? + game_state.wounds = DRCH.check_health['wounds'] + echo "Severity to Wounds: #{game_state.wounds}" if $debug_mode_ct + echo "wound_level_threshold: #{@wound_level_threshold}" if $debug_mode_ct + unless game_state.wounds.empty? + if @wound_level_threshold <= game_state.wounds.keys.max + do_necro_ritual(mob_noun, 'consume', game_state) + return false + end + end + end + end + + def check_necro_pet(mob_noun, game_state) + if @make_zombie && !game_state.necro_casting? && !game_state.cfb_active? + echo 'Making zombie' if $debug_mode_ct + do_necro_ritual(mob_noun, 'arise', game_state) + return false + end + if @make_bonebug && !game_state.necro_casting? && !game_state.cfw_active? + echo 'Making bone bug' if $debug_mode_ct + do_necro_ritual(mob_noun, 'arise', game_state) + return false + end + end + def do_necro_ritual(mob_noun, ritual, game_state) return unless DRStats.necromancer? return unless ritual @@ -1431,17 +1445,10 @@ class SpellProcess end check_slivers(game_state) check_regalia(game_state) - if @settings.necro_corpse_priority == 'pet' - check_cfw(game_state) - heal_corpse(game_state) - check_cfb(game_state) - check_consume(game_state) - elsif @settings.necro_corpse_priority['heal'] || !@settings.necro_corpse_priority - check_consume(game_state) - check_cfw(game_state) - heal_corpse(game_state) - check_cfb(game_state) - end + check_consume(game_state) + check_cfw(game_state) + heal_corpse(game_state) + check_cfb(game_state) check_bless(game_state) check_ignite(game_state) check_rutilors_edge(game_state)