mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Fix game now gives back missed HMs if any
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1561,89 +1561,6 @@ def turnPlayerTowardsEvent(event)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def showQuestStatistics(eventId,includeRocketQuests=false)
|
|
||||||
quests_accepted = []
|
|
||||||
quests_in_progress=[]
|
|
||||||
quests_completed=[]
|
|
||||||
for quest in $Trainer.quests
|
|
||||||
next if quest.npc == QuestBranchRocket && !includeRocketQuests
|
|
||||||
quests_accepted<<quest
|
|
||||||
if quest.completed
|
|
||||||
quests_completed << quest
|
|
||||||
else
|
|
||||||
quests_in_progress << quest
|
|
||||||
end
|
|
||||||
end
|
|
||||||
pbCallBub(2, eventId)
|
|
||||||
pbMessage("Accepted quests: \\C[1]#{quests_accepted.length}")
|
|
||||||
pbCallBub(2, eventId)
|
|
||||||
pbMessage("Completed quests: \\C[1]#{quests_completed.length}")
|
|
||||||
pbCallBub(2, eventId)
|
|
||||||
pbMessage("In-progress: \\C[1]#{quests_in_progress.length}")
|
|
||||||
end
|
|
||||||
|
|
||||||
def get_completed_quests(includeRocketQuests=false)
|
|
||||||
quests_completed=[]
|
|
||||||
for quest in $Trainer.quests
|
|
||||||
next if quest.npc == QuestBranchRocket && !includeRocketQuests
|
|
||||||
quests_completed << quest if quest.completed
|
|
||||||
end
|
|
||||||
return quests_completed
|
|
||||||
end
|
|
||||||
|
|
||||||
def getQuestReward(eventId)
|
|
||||||
$PokemonGlobal.questRewardsObtained = [] if !$PokemonGlobal.questRewardsObtained
|
|
||||||
nb_quests_completed = get_completed_quests(false).length #pbGet(VAR_STAT_QUESTS_COMPLETED)
|
|
||||||
pbSet(VAR_STAT_QUESTS_COMPLETED,nb_quests_completed)
|
|
||||||
rewards_to_give = []
|
|
||||||
for reward in QUEST_REWARDS
|
|
||||||
rewards_to_give << reward if nb_quests_completed >= reward.nb_quests && !$PokemonGlobal.questRewardsObtained.include?(reward.item)
|
|
||||||
end
|
|
||||||
|
|
||||||
#Calculate how many until next reward
|
|
||||||
next_reward = get_next_quest_reward
|
|
||||||
nb_to_next_reward = next_reward.nb_quests - nb_quests_completed
|
|
||||||
rewards_to_give << next_reward if nb_to_next_reward <=0 #for compatibility with old system
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#Give rewards
|
|
||||||
for reward in rewards_to_give
|
|
||||||
if !reward.can_have_multiple && $PokemonBag.pbQuantity(reward.item) >= 1
|
|
||||||
$PokemonGlobal.questRewardsObtained << reward.item
|
|
||||||
next
|
|
||||||
end
|
|
||||||
pbCallBub(2, eventId)
|
|
||||||
pbMessage("Also, there's one more thing...")
|
|
||||||
pbCallBub(2, eventId)
|
|
||||||
pbMessage("As a gift for having helped so many people, I want to give you this.")
|
|
||||||
pbReceiveItem(reward.item, reward.quantity)
|
|
||||||
$PokemonGlobal.questRewardsObtained << reward.item
|
|
||||||
|
|
||||||
#recalculate nb to next reward
|
|
||||||
next_reward = get_next_quest_reward
|
|
||||||
nb_to_next_reward = next_reward.nb_quests - nb_quests_completed
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
pbCallBub(2, eventId)
|
|
||||||
if nb_to_next_reward == 0
|
|
||||||
pbMessage("I have no more rewards to give you! Thanks for helping all these people!")
|
|
||||||
elsif nb_to_next_reward == 1
|
|
||||||
pbMessage("Help #{nb_to_next_reward} more person and I'll give you something good!")
|
|
||||||
else
|
|
||||||
pbMessage("Help #{nb_to_next_reward} more people and I'll give you something good!")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def get_next_quest_reward()
|
|
||||||
for reward in QUEST_REWARDS
|
|
||||||
nextReward = reward
|
|
||||||
break if !$PokemonGlobal.questRewardsObtained.include?(reward.item)
|
|
||||||
end
|
|
||||||
# rewards_to_give << nextReward if nb_to_next_reward <=0 #for compatibility with old system
|
|
||||||
return nextReward
|
|
||||||
end
|
|
||||||
|
|
||||||
def displaySpriteWindowWithMessage(pif_sprite, message = "", x = 0, y = 0,z=0)
|
def displaySpriteWindowWithMessage(pif_sprite, message = "", x = 0, y = 0,z=0)
|
||||||
spriteLoader = BattleSpriteLoader.new
|
spriteLoader = BattleSpriteLoader.new
|
||||||
@@ -1667,3 +1584,57 @@ def select_any_pokemon()
|
|||||||
return pbChooseList(commands, 0, nil, 1)
|
return pbChooseList(commands, 0, nil, 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
SWITCH_SS_ANNE_DEPARTED=88
|
||||||
|
SWITCH_SNORLAX_GONE_ROUTE_12=110
|
||||||
|
SWITCH_TELEPORT_NPC = 122
|
||||||
|
SWITCH_GOT_DIVE=317
|
||||||
|
SWITCH_GOT_ROCK_CLIMB=661
|
||||||
|
SWITCH_GOT_WATERFALL=388
|
||||||
|
|
||||||
|
def fixMissedHMs()
|
||||||
|
#Flash
|
||||||
|
if $PokemonBag.pbQuantity(:HM08) < 1 && $PokemonGlobal.questRewardsObtained.include?(:HM08)
|
||||||
|
pbReceiveItem(:HM08)
|
||||||
|
end
|
||||||
|
|
||||||
|
#Cut
|
||||||
|
if $PokemonBag.pbQuantity(:HM01) < 1 && $game_switches[SWITCH_SS_ANNE_DEPARTED]
|
||||||
|
pbReceiveItem(:HM01)
|
||||||
|
end
|
||||||
|
|
||||||
|
#Strength
|
||||||
|
if $PokemonBag.pbQuantity(:HM04) < 1 && $game_switches[SWITCH_SNORLAX_GONE_ROUTE_12]
|
||||||
|
pbReceiveItem(:HM04)
|
||||||
|
end
|
||||||
|
|
||||||
|
#Surf
|
||||||
|
if $PokemonBag.pbQuantity(:HM03) < 1 && $game_self_switches[[107, 1, "A"]]
|
||||||
|
pbReceiveItem(:HM03)
|
||||||
|
end
|
||||||
|
|
||||||
|
#Teleport
|
||||||
|
if $PokemonBag.pbQuantity(:HM07) < 1 && $game_switches[SWITCH_TELEPORT_NPC]
|
||||||
|
pbReceiveItem(:HM07)
|
||||||
|
end
|
||||||
|
|
||||||
|
#Fly
|
||||||
|
if $PokemonBag.pbQuantity(:HM02) < 1 && $game_self_switches[[439, 1, "B"]]
|
||||||
|
pbReceiveItem(:HM02)
|
||||||
|
end
|
||||||
|
|
||||||
|
#Waterfall
|
||||||
|
if $PokemonBag.pbQuantity(:HM05) < 1 && $game_switches[SWITCH_GOT_WATERFALL]
|
||||||
|
pbReceiveItem(:HM05)
|
||||||
|
end
|
||||||
|
|
||||||
|
#Dive
|
||||||
|
if $PokemonBag.pbQuantity(:HM06) < 1 && $game_switches[SWITCH_GOT_DIVE]
|
||||||
|
pbReceiveItem(:HM06)
|
||||||
|
end
|
||||||
|
|
||||||
|
#Rock Climb
|
||||||
|
if $PokemonBag.pbQuantity(:HM10) < 1 && $game_switches[SWITCH_GOT_ROCK_CLIMB]
|
||||||
|
pbReceiveItem(:HM10)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|||||||
@@ -364,7 +364,7 @@ end
|
|||||||
|
|
||||||
def updateOnlineCustomSpritesFile
|
def updateOnlineCustomSpritesFile
|
||||||
return if !downloadAllowed?()
|
return if !downloadAllowed?()
|
||||||
echoln "HERE"
|
echoln "UPDATING CUSTOM SPRITE LISTS"
|
||||||
download_file(Settings::SPRITES_FILE_URL, Settings::CUSTOM_SPRITES_FILE_PATH)
|
download_file(Settings::SPRITES_FILE_URL, Settings::CUSTOM_SPRITES_FILE_PATH)
|
||||||
download_file(Settings::BASE_SPRITES_FILE_URL, Settings::BASE_SPRITES_FILE_PATH)
|
download_file(Settings::BASE_SPRITES_FILE_URL, Settings::BASE_SPRITES_FILE_PATH)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1006,3 +1006,90 @@ def pbSynchronizeQuestLog()
|
|||||||
pbSetQuest(41, true) if $game_self_switches[[565, 10, "A"]]
|
pbSetQuest(41, true) if $game_self_switches[[565, 10, "A"]]
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def showQuestStatistics(eventId,includeRocketQuests=false)
|
||||||
|
quests_accepted = []
|
||||||
|
quests_in_progress=[]
|
||||||
|
quests_completed=[]
|
||||||
|
for quest in $Trainer.quests
|
||||||
|
next if quest.npc == QuestBranchRocket && !includeRocketQuests
|
||||||
|
quests_accepted<<quest
|
||||||
|
if quest.completed
|
||||||
|
quests_completed << quest
|
||||||
|
else
|
||||||
|
quests_in_progress << quest
|
||||||
|
end
|
||||||
|
end
|
||||||
|
pbCallBub(2, eventId)
|
||||||
|
pbMessage("Accepted quests: \\C[1]#{quests_accepted.length}")
|
||||||
|
pbCallBub(2, eventId)
|
||||||
|
pbMessage("Completed quests: \\C[1]#{quests_completed.length}")
|
||||||
|
pbCallBub(2, eventId)
|
||||||
|
pbMessage("In-progress: \\C[1]#{quests_in_progress.length}")
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_completed_quests(includeRocketQuests=false)
|
||||||
|
quests_completed=[]
|
||||||
|
for quest in $Trainer.quests
|
||||||
|
next if quest.npc == QuestBranchRocket && !includeRocketQuests
|
||||||
|
quests_completed << quest if quest.completed
|
||||||
|
end
|
||||||
|
return quests_completed
|
||||||
|
end
|
||||||
|
|
||||||
|
def getQuestReward(eventId)
|
||||||
|
$PokemonGlobal.questRewardsObtained = [] if !$PokemonGlobal.questRewardsObtained
|
||||||
|
nb_quests_completed = get_completed_quests(false).length #pbGet(VAR_STAT_QUESTS_COMPLETED)
|
||||||
|
pbSet(VAR_STAT_QUESTS_COMPLETED,nb_quests_completed)
|
||||||
|
rewards_to_give = []
|
||||||
|
for reward in QUEST_REWARDS
|
||||||
|
rewards_to_give << reward if nb_quests_completed >= reward.nb_quests && !$PokemonGlobal.questRewardsObtained.include?(reward.item)
|
||||||
|
end
|
||||||
|
|
||||||
|
#Calculate how many until next reward
|
||||||
|
next_reward = get_next_quest_reward
|
||||||
|
nb_to_next_reward = next_reward.nb_quests - nb_quests_completed
|
||||||
|
|
||||||
|
for reward in rewards_to_give
|
||||||
|
echoln reward.item
|
||||||
|
|
||||||
|
end
|
||||||
|
#Give rewards
|
||||||
|
for reward in rewards_to_give
|
||||||
|
if !reward.can_have_multiple && $PokemonBag.pbQuantity(reward.item) >= 1
|
||||||
|
$PokemonGlobal.questRewardsObtained << reward.item
|
||||||
|
next
|
||||||
|
end
|
||||||
|
pbCallBub(2, eventId)
|
||||||
|
pbMessage("Also, there's one more thing...")
|
||||||
|
pbCallBub(2, eventId)
|
||||||
|
pbMessage("As a gift for having helped so many people, I want to give you this.")
|
||||||
|
pbReceiveItem(reward.item, reward.quantity)
|
||||||
|
$PokemonGlobal.questRewardsObtained << reward.item
|
||||||
|
|
||||||
|
#recalculate nb to next reward
|
||||||
|
next_reward = get_next_quest_reward
|
||||||
|
nb_to_next_reward = next_reward.nb_quests - nb_quests_completed
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
pbCallBub(2, eventId)
|
||||||
|
if nb_to_next_reward <= 0
|
||||||
|
pbMessage("I have no more rewards to give you! Thanks for helping all these people!")
|
||||||
|
elsif nb_to_next_reward == 1
|
||||||
|
pbMessage("Help #{nb_to_next_reward} more person and I'll give you something good!")
|
||||||
|
else
|
||||||
|
pbMessage("Help #{nb_to_next_reward} more people and I'll give you something good!")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_next_quest_reward()
|
||||||
|
for reward in QUEST_REWARDS
|
||||||
|
nextReward = reward
|
||||||
|
break if !$PokemonGlobal.questRewardsObtained.include?(reward.item)
|
||||||
|
end
|
||||||
|
# rewards_to_give << nextReward if nb_to_next_reward <=0 #for compatibility with old system
|
||||||
|
return nextReward
|
||||||
|
end
|
||||||
Binary file not shown.
Reference in New Issue
Block a user