Bug Trying to use ASH to faxbot a factory overseer fails

Ryo_Sangnoir

Developer
Staff member
Calling
ash faxbot($monster[factory overseer (male)])

returns false immediately (similarly, can_faxbot return false). Despite this, both Easyfax and Cheesefax have many factory overseers available.

Calling the CLI command
faxbot factory overseer

works (but doesn't let you pick the faxbot / try both faxbots if one is down).
 

Ryo_Sangnoir

Developer
Staff member
It looks like Mafia expects the XML data for a faxbot to have "actual_name" equal to what Mafia thinks the monster name is, but it seems instead to be what KoL thinks the monster name is (and "factory overseer (male)" and "factory overseer" differ).

Solutions that don't involve touching the XML code:
* add a new ASH function faxbot(string monster, string faxbot) that send the monster string directly without checking the "actual name" thing
* change the CLI command to, like the ASH function, only stop checking faxes if it succeeded, instead of after first send.

Patch for the latter approach attached.
 

Attachments

  • faxbot.patch
    1.9 KB · Views: 0

heeheehee

Developer
Staff member
Yeah. Mafia has some amount of disambiguation built in, but ultimately there's no guarantee that faxbot.xml will match monsters.txt, and it's not generally feasible for faxbots to distinguish between the two (since the photocopied monster description doesn't disambiguate).

I think we should use the "actual name" if/when we can, with a caveat along the lines "WARNING: there are multiple monsters that this fax could match, but we asked for it anyways."

(A previous thread pointed at monster.manuel_name as an option.)
 
Top