Circle of Eight Modpack v5.6 Bug Report Thread

Discussion in 'General Modification' started by Gaear, Sep 2, 2009.

Remove all ads!
Thread Status:
Not open for further replies.
  1. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,651
    Likes Received:
    350
    Re: Circle of Eight Modpack Bug Report Thread

    Yeah, I was thinking about something else entirely.
     
  2. taltamir

    taltamir Established Member

    Joined:
    May 16, 2004
    Messages:
    741
    Likes Received:
    1
    Re: Circle of Eight Modpack Bug Report Thread

    I know it is allowed, but I didn't notice it doing it before. It is working correctly now.

    I also had one time where I could just keep skipping enemy turns by delaying action, but I haven't been able to repeat it since... I don't know if it was a singular glitch or if I missed some sort of effect.
     
  3. GuardianAngel82

    GuardianAngel82 Senior Member

    Joined:
    Oct 3, 2007
    Messages:
    3,481
    Likes Received:
    5
    Re: Circle of Eight Modpack Bug Report Thread

    ToEE, patch 2, 5.6.0, 5.6.1 on Vista.

    Inventory problems in Homlett:

    Armario's inventory changes to looting inventory (short spear and coins) after first converation or maybe after starting Masterwork/Decklo quest. The MW inventory never appears.

    Smith's MW inventory appears quickly, but only for a short time. Then it returns to the regular inventory.
     
    Last edited: Nov 12, 2009
  4. Ranth

    Ranth Established Member

    Joined:
    Jan 26, 2008
    Messages:
    829
    Likes Received:
    0
    Re: Circle of Eight Modpack Bug Report Thread

    I also noticed inventory problems similiar to this with Bro Smythe and Ah Fong. After the first time I talk to them (after I turn in the giant head) their inventories do not change.

    Bro Symthe showed me the same master work and non master work items for weeks.
    Ah Fong showed me cool items, like moon ivy armor, dwarf plate , and others the first time. Then when I came back with the money to buy it later, they were never there again (for weeks).

    5.6.1
     
  5. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Re: Circle of Eight Modpack Bug Report Thread

    Re: Ah Fong, I'm not even sure he has an inventory respawn. Are you guys sure you're not just confusing the percentage chance thing? If you're seeing wholesale differences across the board (e.g. all of Ah Fong's masterwork stuff is gone) that's bad, but if it's onesey-twoseys that's normal.

    Armario's bug is known.

    BTW, based on my testing, the specific conditions for the Hommlet masterwork inventories to become broken are that you have to travel by worldmap to Nulb, Imeryds Run, the ToEE, the Cave Lair, or the Ruined Farmhouse (map with the well next to ToEE) - basically any of the NE locations.

    This will all be fixed in the next release: we'll be doing the 'respawns' in a totally different way.
     
  6. Ranth

    Ranth Established Member

    Joined:
    Jan 26, 2008
    Messages:
    829
    Likes Received:
    0
    Re: Circle of Eight Modpack Bug Report Thread

    Re: Ah Fong - All of the stuff was the same for weeks (gladiator armor, Asian weapons, ect) except that cool armor would never come back.
     
  7. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Re: Circle of Eight Modpack Bug Report Thread


    I'm curious, what's that?
     
  8. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Re: Circle of Eight Modpack Bug Report Thread

    New .mobs for the merchants with unique invensource IDs (the respective masterwork ones) so no respawning is necessary.

    [edit]

    Re: Ah Fong, I tested his inventory - saw him the first time, saw all his cool exotic stuff, traveled to Hommlet, went back to Nulb, saw him again, still saw all his cool exotic stuff. Do you recall where you have and haven't been on the worldmap? Also, had you experienced the Hommlet masterwork respawn bugs prior to seeing Ah Fong?
     
    Last edited: Nov 14, 2009
  9. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Re: Circle of Eight Modpack Bug Report Thread

    I noticed that in the Co8 5.6 scripting, a line was commented out:

    Code:
    def master( attachee, triggerer ):
        npc = find_container_near(attachee,1001)
        [U][B]#npc.obj_set_int( obj_f_container_inventory_source, 341 )[/B][/U]
        game.timevent_add( RespawnInventory, ( npc, 341 ), 86400000 ) #86400000ms is 24 hours
        return RUN_DEFAULT
    
    What was the reason? Perhaps this was causing all the trouble? Weren't inventory respawns working properly prior to that?

    Edit:

    Come to think of it, that's probably the cause.

    The way I see it:

    • Smith's stock is stored in a nearby invisible chest. (proto 1001)
    • Cerulean's respawn scripting simply alters that chest's inventory. (via timed event)
    • However, the invisible chest also has an InvenSource ID for item respawn.
      • This is stored in obj_f_container_inventory_source.
    • It appears that:
      • This is a hardcoded game mechanic.
      • It respawns items when you travel to another worldmap location and then come back.
      • Possibly, it didn't respawn when you just passed time without changing locations.
      • Thus, Cerulean's time event scripting was born.
    • In previous versions:
      • The InvenSource ID field was changed to entry 341. (via script)
      • Invensource list #341 contained the masterwork items.
      • Thus when it respawned items via hard-coded game mechanics, the MW items would be created.
    • In Co8 5.6:
      • The invensource swap to #341 was commented out.
      • Thus, the container's InvenSource ID remained as the non-masterwork list.
      • Thus, the non-masterwork list is what would get spawned if you left town and came back.
      • Cerulean's timed event is still in place, so if you just passed time in Hommlet, it'd probably respawn properly.
    • Solution:
      • It seems that the most obvious solution is to simply un-comment the above line.
      • However, it needs to be verified that there wasn't some design consideration in altering that.
      • So - were there any problems with the 5.0.6 version of item respawns that triggered the change? Or did it just seem redundant because of the line below, so it was commented out?
      • Third edit: It seems the RespawnInventory() script is now given the 341 entry as an argument, so my theory is that whoever altered the master() script thought setting the obj_f_container_inventory_source to 341 would now be redundant - too bad it isn't.
    Second edit:


    • In 5.0.6, smith's {B:} node had a call for master().
    • This is not present in Co8 5.6.0, so in effect you'd only get a Co8-scripted respawn once.
    • Again, it begs the question - why?
    • From the looks of it, Smith's dialogue was just generally re-structured (probably when the Welkwood bog plot was added). It seems that these are just slip-ups due to misunderstanding the respawn scripting / mechanics.

    Fourth edit:
    I think I've fixed it, using the above as guidelines:

    • Uncommented the line in master(npc,pc)
    • Restored the master() call in the dialogue.

    The only drawback that I can see is that Smith could refresh his inventory in less than 24 hours if you go someplace else and return to Hommlet. Personally, I don't give a shit about that. I imagine nobody does either.

    See attachment for proposed fix.
    Also took the liberty of tweaking the idiot dialogue a little.
     

    Attached Files:

    Last edited: Nov 14, 2009
  10. Ranth

    Ranth Established Member

    Joined:
    Jan 26, 2008
    Messages:
    829
    Likes Received:
    0
    Re: Circle of Eight Modpack Bug Report Thread

    I believe I did encounter the Hommlet bug. When I went to Nulb to see Ah /fong, I probably went to the temple to fight the tower guards or something.

    FYI, when I see Bro Smythe, maybe 10-20% of his items are masterwork, the rest are normal quality.
     
  11. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Re: Circle of Eight Modpack Bug Report Thread

    Okay, I tried testing your new files, Sitra, but now Smyth won't even talk to me. Is there really any advantage to continuing with the respawn routine at all, as consistently problematic as it has been, when new .mobs for the merchants would do the trick very neatly?

    If you look closely you'll see that that line actually wasn't there in that form in 5.5. Here's the previous code:

    Code:
    def master( attachee, triggerer ):
    	npc = find_container_near(attachee,1001)
    	npc.obj_set_int( obj_f_container_inventory_source, 341 )
    	[B]game.timevent_add(RespawnInventory, (npc), 86400000 )[/B] #86400000ms is 24 hours
    	return
    Also, the 5.6 routines did not become broken simply by leaving Hommlet, but only by going to specific locations on the worldmap. They were altered for that release because they mysteriously stopped working in 5.5.

    Why do you say that no one cares if Smyth respawns before 24 hours, btw?
     
  12. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Re: Circle of Eight Modpack Bug Report Thread

    Hmm, works fine for me. Are you using the reputation files I sent you for integration?

    Why are new mobs required? If I understand correctly, those are identical mobs, only with a different container invensource ID. From what I can tell, it's functionally identical to changing the obj_f_container_inventory_source internal variable. Which is what the scripting used to do... correct me if I'm wrong.

    Yes, I noticed that.
    RespawnInventory has an optional input argument for the invensource entry. If nothing is specified, it just reads from the container's invensource. If it is specified (as in 5.6), then it overrides the default behavior.
    However, it seems whoever changed the script forgot to account for the game's internal respawn mechanic, which works when you return to Hommlet from a different location (but not when you pass time, which is what Cerulean's scripting is meant for). This internal mechanic reads off of the obj_f_container_inventory_source, which is no longer altered in the 5.6 scripting, thus causing the non-masterwork list to re-appear when you return to Hommlet. Thus if you uncomment the line, it should work fine.

    Well, I was mostly MIA during 5.5, so no idea what happened there... but "mysteriously stopped working" sounds rather suspect to me :p

    Well, does anyone really care if it's 2 hours or 24 hours? Seems extremely insignificant to me, given that you still have to travel to a different location in order to do that. Otherwise (i.e. if you don't leave Hommlet) you still have to pass 24 hours.
     
  13. GuardianAngel82

    GuardianAngel82 Senior Member

    Joined:
    Oct 3, 2007
    Messages:
    3,481
    Likes Received:
    5
    Re: Circle of Eight Modpack Bug Report Thread

    A new (5.6.1) one:

    During Emiridy skeleton fights. Maybe mainly the southern one, near the giant.

    Starts with:

    Jerkstop before combat. Or:

    During normal combat, a charge that was fine terminates halfway with the "too far" message, but with the pc turn reset to the start of her turn. Which can then be continued (restarted?).

    Followed by:

    At pc or npc missile launch, the animation freezes with the arrow/bolt vertical at the head of the launching character. That turn is frozen at halfway, but the other characters are swaying, waiting their turn. The game usually can't be continued at that point. But once, I was able to continue to the end of combat, with several frozen missiles that remained suspended over their dead launchers after combat and during looting.

    I can go to a previous save, reinititiate combat, and the results won't be the same.
     
  14. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Re: Circle of Eight Modpack Bug Report Thread

    Yes, all the stuff you sent me to be integrated has been.

    Because that method works without any problems? I've been dancing around with the respawns for basically three full releases now and they're still not right. Whether that's my fault or not seems irrelevent: replacement .mobs work without error, they're already done, and they require no additional troubleshooting like the old method still does.

    If memory serves, I had tried that before (I've tried pretty much everything I could think of), and it did not work fine or at all. Something got broken somewhere between 5.0.6 and 5.5. I don't know why or what it was exactly, and I don't believe I modded that stuff at all beyond Smyth's dialogue for other purposes, but as I say, the why doesn't interest me much anymore.

    Me too, but I've long since learned to acknowledge when ToEE has me beat. ;)

    Ah, I thought for a moment you had taken the pulse of the community or something and were speaking on its behalf. :poke:

    @GA -

    Sounds like further manifestations of the giant combat/missile fire bug at Emridy, which will go away with the scenery in the next release.
     
  15. GuardianAngel82

    GuardianAngel82 Senior Member

    Joined:
    Oct 3, 2007
    Messages:
    3,481
    Likes Received:
    5
    Re: Circle of Eight Modpack Bug Report Thread

    Cool! I believe that completely. :p

    Seriously, I have my doubts. But, I'm excited about the new direction. It'll encourage me to get on with taking out Zuggy so I can get to the good stuff! ;)

    Thanks, Geaer. :thumbsup:
     
Thread Status:
Not open for further replies.
Our Host!