loathers / garbage-collector

Script for farming meat (and garbage) in 2003 web RPG Kingdom of Loathing
24 stars 59 forks source link

[BUG] Getting error script exepction : bad monster value: #1742

Closed txrangersxx closed 9 months ago

txrangersxx commented 9 months ago

Before Reporting Ensure that KoLMafia and garbo are both up to date before reporting a bug. If you have installed mafia in a weird or non-standard way, let us know any details about that here. But also, if you've installed mafia in a weird or non-standard way, I'm telling you right now that that's your bug. Also, check existing github issues to see if this has already been reported. If it has, consider leaving a comment with any additional information you can give on that issue, instead of making a new one.

Also, read this.

Describe the bug A clear and concise description of what the bug is. Be sure that the behavior you're describing is a bug--garbo may do things you don't understand, but not understanding something isn't strictly a reason to report it.

To Reproduce Steps to reproduce the behavior:

  1. Start Kolmafia
  2. Run garbo

Expected behavior For garbo to run without error zargona_20231118.txt

Session Log Attach a full KoLMafia session log from the day you encountered the bug. Include details about when in the log the bug occurred to help developers rapidly find the error. Copy and paste any associated red text printed to the gCLI during this error.

Additional context Add any other context about the problem here. Does this always happen post-loop, but never pre-loop? Did this start happening when you got some particular IotM?

Rinn commented 9 months ago

I don't see any runs of garbo in that log, are you sure you grabbed the right one?

horrible-little-slime commented 9 months ago

I don't see any runs of garbo in that log, are you sure you grabbed the right one?

A top-level Monster.get could be the culprit here, but:

Looking at libram, it feels like our most likely culprit is the Monster.get in ClosedCircuitPayphone.rufusTarget(), which would potentially cause an error if rufusQuestType was entity but rufusQuestTarget was an empty string. Which I think should never happen? but sometimes things break. I don't actually see this called in top-level code, but if a function that calls it is itself called at the top, I haven't checked that many layers deep.

We also have a few Monster.get calls in getBanishedMonsters and Clan.prototype.getCurrentFax--I can't really imagine those two being called in top level code.

But this is probably more speculation/investigation than is reasonable given the dearth of information in this bug report.

txrangersxx commented 9 months ago

I figurred it our I started a rufus quest killed the entity but didn't got back to rufus