Code:
# * KAftermathSpoils XP * #
# Scripter : Kyonides Arkanthes
# v0.4.0 - 2024-10-19
# This script lets you automatically heal your heroes after winning a battle
# based on the number of battle turns.
module KBattle
# Leave these hashes alone!
HP_TOTAL_TURNS = {}
SP_TOTAL_TURNS = {}
GOLD_TOTAL_TURNS = {}
# If it took too long to defeat the enemy troopers...
HP_TOTAL_TURNS.default = 0
SP_TOTAL_TURNS.default = 0
GOLD_TOTAL_TURNS.default = 0
# Add as many Ranges, i.e. 1..50 as necessary:
HP_TOTAL_TURNS[1..6] = 100
HP_TOTAL_TURNS[7..17] = 75
HP_TOTAL_TURNS[18..35] = 50
HP_TOTAL_TURNS[36..60] = 25
SP_TOTAL_TURNS[1..5] = 100
SP_TOTAL_TURNS[6..15] = 75
SP_TOTAL_TURNS[16..30] = 50
SP_TOTAL_TURNS[31..50] = 25
GOLD_TOTAL_TURNS[1..2] = 150
GOLD_TOTAL_TURNS[3..6] = 120
GOLD_TOTAL_TURNS[7..10] = 100
GOLD_TOTAL_TURNS[11..13] = 80
GOLD_TOTAL_TURNS[14..17] = 60
end
class Range
def <=>(other)
to_a <=> other.to_a
end
end
class Scene_Battle
alias :kyon_btl_score_scn_btl_start_ph5 :start_phase5
def process_aftermath_healing
@gold_before = $game_party.gold
hp_perc = sp_perc = 0
turns = $game_temp.battle_turn
KBattle::HP_TOTAL_TURNS.sort.reverse.each do |min_turns, percent|
next unless min_turns.include?(turns)
hp_perc = percent
break
end
KBattle::SP_TOTAL_TURNS.sort.reverse.each do |min_turns, percent|
next unless min_turns.include?(turns)
sp_perc = percent
break
end
$game_party.actors.each do |actor|
next if actor.hp0?
actor.hp += actor.maxhp * hp_perc / 100
actor.sp += actor.maxsp * sp_perc / 100
end
end
def start_phase5
process_aftermath_healing
kyon_btl_score_scn_btl_start_ph5
process_aftermath_gold
end
def process_aftermath_gold
prize = $game_party.gold - @gold_before
return if prize == 0
gp_perc = 0
KBattle::GOLD_TOTAL_TURNS.sort.reverse.each do |min_turns, percent|
next unless min_turns.include?(turns)
gp_perc = percent
break
end
extra_gold = prize * gp_perc / 100
$game_party.gain_gold(extra_gold)
end
end
Code:
# * KAftermathHealing XP * #
# Scripter : Kyonides Arkanthes
# v0.3.1 - 2024-10-01
# This script lets you automatically heal your heroes after winning a battle
# based on the number of battle turns.
module KBattle
# Leave these hashes alone!
HP_TOTAL_TURNS = {}
SP_TOTAL_TURNS = {}
# If it took too long to defeat the enemy troopers...
HP_TOTAL_TURNS.default = 0
SP_TOTAL_TURNS.default = 0
# Add as many Ranges, i.e. 1..50 as necessary:
HP_TOTAL_TURNS[1..6] = 100
HP_TOTAL_TURNS[7..17] = 75
HP_TOTAL_TURNS[18..35] = 50
HP_TOTAL_TURNS[36..60] = 25
SP_TOTAL_TURNS[1..5] = 100
SP_TOTAL_TURNS[6..15] = 75
SP_TOTAL_TURNS[16..30] = 50
SP_TOTAL_TURNS[31..50] = 25
end
class Range
def <=>(other)
to_a <=> other.to_a
end
end
class Scene_Battle
alias :kyon_btl_score_scn_btl_start_ph5 :start_phase5
def process_aftermath_healing
hp_perc = sp_perc = 0
turns = $game_temp.battle_turn
KBattle::HP_TOTAL_TURNS.sort.reverse.each do |min_turns, percent|
next unless min_turns.include?(turns)
hp_perc = percent
break
end
KBattle::SP_TOTAL_TURNS.sort.reverse.each do |min_turns, percent|
next unless min_turns.include?(turns)
sp_perc = percent
break
end
$game_party.actors.each do |actor|
next if actor.hp0?
actor.hp += actor.maxhp * hp_perc / 100
actor.sp += actor.maxsp * sp_perc / 100
end
end
def start_phase5
process_aftermath_healing
kyon_btl_score_scn_btl_start_ph5
end
end