Well, I'm not sure this is a bug rather than me being stupid somewhat - it's been a while since I've played this far in the regular campaign - but:
https://te4.org/characters/161289/tome/ ... d197c2b2ce
This character has defeated Golbug, has received the scroll from Last Hope, but is missing the Orb of Many Ways, meaning progress is at a dead end. The orb isn't in Reknor (not visible and not found by auto-exploring). As far as I know, this shouldn't be possible, but as stated above, I might just be missing something in a stupid way, in which case, apologies in advance.
If any additional information or files would be helpful, let me know - I did not include the log snippets because I continued play for a bit before going back to the portal and then hopped around trying to figure out if the orb was somewhere else / involved more quests, so I figure the log's long since lost any relevant information
Bug(?) - Missing Orb of Many Ways after defeating Golbug
Moderator: Moderator
Re: Bug(?) - Missing Orb of Many Ways after defeating Golbug
Thanks for the tip. I didn't think to look this up because I figured a progress-stiffling bug of this nature would be fixed already if it was known. Into the recycle bin goes the character, unfortunately.scsijon wrote:http://forums.te4.org/viewtopic.php?f=42&t=40151
-
- Higher
- Posts: 62
- Joined: Wed Jun 06, 2018 10:53 am
Re: Bug(?) - Missing Orb of Many Ways after defeating Golbug
@Grim13
Could you answer whether you entered unremarkable cave (or explored Eastern World Map) before completing Slazish Fen, please?
@scsijon
Very useful information. Thanks for sharing.
Speculations. As far as I can see both Krogar and Golbug can drop the orb. Maybe Golbug doesn't drop the orb because it was assigned to Krogar earlier.
If I understand it correctly it can be fixed by removing it first and then reassigning to a different boss. I couldn't figure out how to do that though.
I tried to apply the mechanism used by Rod of Recall to Orb of Many Ways. From a quick test it seems to work. Here are changes if anyone wants to test.
Commented out ..\data\zones\reknor\npcs.lua (L54) and ..\data\zones\unremarkable-cave\npcs.lua (L124).
In ..\mod\class\Game.lua
In ..\mod\class\GameState.lua
In ..\mod\class\NPC.lua
There should be no problems with Tannen because he drops a different orb. I'm not sure what happens if you quickly recall from Unremarkable Cave (after arriving there from the west) before Krogar dies and return to kill him after creating the portal in Last Hope.
Could you answer whether you entered unremarkable cave (or explored Eastern World Map) before completing Slazish Fen, please?
@scsijon
Very useful information. Thanks for sharing.
Speculations. As far as I can see both Krogar and Golbug can drop the orb. Maybe Golbug doesn't drop the orb because it was assigned to Krogar earlier.
If I understand it correctly it can be fixed by removing it first and then reassigning to a different boss. I couldn't figure out how to do that though.
I tried to apply the mechanism used by Rod of Recall to Orb of Many Ways. From a quick test it seems to work. Here are changes if anyone wants to test.
Commented out ..\data\zones\reknor\npcs.lua (L54) and ..\data\zones\unremarkable-cave\npcs.lua (L124).
Code: Select all
resolvers.drops{chance=100, nb=1, {type="jewelry", subtype="orb", defined="ORB_MANY_WAYS"} },
Code: Select all
-- Create the entity to store various game state things
self.state = GameState.new{}
local birth_done = function()
--Added for orb of many ways (1 line)
self.state:allowOrbOfManyWays(true)
if self.state.birth.__allow_rod_recall then self.state:allowRodRecall(true) self.state.birth.__allow_rod_recall = nil end
if self.state.birth.__allow_transmo_chest and profile.mod.allow_build.birth_transmo_chest then
self.state.birth.__allow_transmo_chest = nil
local chest = self.zone:makeEntityByName(self.level, "object", "TRANSMO_CHEST")
if chest then
self.zone:addEntity(self.level, chest, "object")
self.player:addObject(self.player:getInven("INVEN"), chest)
end
end
Code: Select all
--- Allow dropping the orb of many ways (4 lines)
function _M:allowOrbOfManyWays(v)
if v == nil then return self.allow_drop_oomw end
self.allow_drop_oomw = v
end
Code: Select all
function _M:die(src, death_note)
if self.dead then self:disappear(src) self:deleteFromMap(game.level.map) if game.level:hasEntity(self) then game.level:removeEntity(self, true) end return true end
if src and Faction:get(self.faction) and Faction:get(self.faction).hostile_on_attack then
Faction:setFactionReaction(self.faction, src.faction, Faction:factionReaction(self.faction, src.faction) - self.rank, true)
end
-- Get angry if attacked by a friend
if src and src ~= self and src.resolveSource and src.faction then
local rsrc = src:resolveSource()
local rid = rsrc.unique or rsrc.name
-- Call for help if we become hostile
for i = 1, #self.fov.actors_dist do
local act = self.fov.actors_dist[i]
if act and act ~= self and act:reactionToward(rsrc) >= 0 and self:reactionToward(act) > 0 and not act.dead and act.checkAngered then
act:checkAngered(src, false, -101)
end
end
end
--Added for orb of many ways (11 lines)
if (self.define_as == "GOLBUG" or self.define_as == "CORRUPTOR") and game.state:allowOrbOfManyWays() then
local oomw = game.zone:makeEntityByName(game.level, "object", "ORB_MANY_WAYS")
if oomw then
if not game.player:canMove(self.x, self.y, true) then
game.zone:addEntity(game.level, oomw, "object")
game:getPlayer(true):addObject(game:getPlayer(true):getInven("INVEN"), oomw)
else
game.zone:addEntity(game.level, oomw, "object", self.x, self.y)
end
end
end
if self.rank >= 4 and game.state:allowRodRecall() and not self:attr("no_rod_recall") then
local rod = game.zone:makeEntityByName(game.level, "object", "ROD_OF_RECALL")
if rod then
-- If the player can move to the space the NPC died on, drop in the normal way
-- Else make absolutely sure they get the Rod of Recall by moving it to their inventory directly
if not game.player:canMove(self.x, self.y, true) then
game.zone:addEntity(game.level, rod, "object")
game:getPlayer(true):addObject(game:getPlayer(true):getInven("INVEN"), rod)
rod:identify(true)
else
game.zone:addEntity(game.level, rod, "object", self.x, self.y)
end
game.state:allowRodRecall(false)
if self.define_as == "THE_MASTER" then world:gainAchievement("FIRST_BOSS_MASTER", src)
elseif self.define_as == "GRAND_CORRUPTOR" then world:gainAchievement("FIRST_BOSS_GRAND_CORRUPTOR", src)
elseif self.define_as == "PROTECTOR_MYSSIL" then world:gainAchievement("FIRST_BOSS_MYSSIL", src)
elseif self.define_as == "URKIS" then world:gainAchievement("FIRST_BOSS_URKIS", src)
end
end
end
-- Ok the player managed to kill a boss dont bother him with tutorial anymore
if self.rank >= 3.5 and not profile.mod.allow_build.tutorial_done then game:setAllowedBuild("tutorial_done") end
return mod.class.Actor.die(self, src, death_note)
end
Re: Bug(?) - Missing Orb of Many Ways after defeating Golbug
I did. I always pop into the cave when starting in the East just in case there's something good on the ground near the stairs. I guess that turns out to be a bad idea, but good catch.BugReporter wrote:@Grim13
Could you answer whether you entered unremarkable cave (or explored Eastern World Map) before completing Slazish Fen, please?
-
- Higher
- Posts: 62
- Joined: Wed Jun 06, 2018 10:53 am
Re: Bug(?) - Missing Orb of Many Ways after defeating Golbug
Not a bad idea per se, but in this particular situation it's better to avoid the cave. However, it is only true if my hypothesis is correct.
What information do we have so far?
From the old topic:
1. Race/Class: Thalore Sun Paladin
2. Entered unremarkable cave before completing Slazish Fen [yes/no]: unknown
3. Log: Refused unique by name Orb of Many Ways mod.class.Object/Orb of Many Ways
This topic:
1. Race/Class: Cornac Sun Paladin
2. Entered unremarkable cave before completing Slazish Fen [yes/no]: yes
3. Log: unknown
Does anyone who played East start and not visited the Unremarkable Cave have this issue?
Edit. Found another topic with an explanation http://forums.te4.org/viewtopic.php?f=42&t=42978 . I should have searched in the first place, doh!
What information do we have so far?
From the old topic:
1. Race/Class: Thalore Sun Paladin
2. Entered unremarkable cave before completing Slazish Fen [yes/no]: unknown
3. Log: Refused unique by name Orb of Many Ways mod.class.Object/Orb of Many Ways
This topic:
1. Race/Class: Cornac Sun Paladin
2. Entered unremarkable cave before completing Slazish Fen [yes/no]: yes
3. Log: unknown
Does anyone who played East start and not visited the Unremarkable Cave have this issue?
Edit. Found another topic with an explanation http://forums.te4.org/viewtopic.php?f=42&t=42978 . I should have searched in the first place, doh!