Page 1 of 1
Cantra Can't Open Doors?
Posted: Sun Apr 30, 2017 7:17 am
by Knight Captain
In testing having Cantra in the party, I noticed she cannot open doors, yet Andrio can. Adding the X-Obstacle flag to her shape does not seem to help. Any ideas?
Re: Cantra Can't Open Doors?
Posted: Sun Apr 30, 2017 1:48 pm
by Dominus
can she open the doors when she's not in the party? Place her in a room and let her go about her schedule and follow her...
Re: Cantra Can't Open Doors?
Posted: Sun Apr 30, 2017 7:07 pm
by Knight Captain
No. She walks to the door but stops at it.
Re: Cantra Can't Open Doors?
Posted: Sun Apr 30, 2017 10:13 pm
by Dominus
In an unmodded game as well?
Re: Cantra Can't Open Doors?
Posted: Sun Apr 30, 2017 11:17 pm
by Knight Captain
Yes. Confirmed with an older build, plain SI+SS.
Re: Cantra Can't Open Doors?
Posted: Mon May 01, 2017 6:31 pm
by Dominus
yes, that's odd. I just tried it myself as well...
Re: Cantra Can't Open Doors?
Posted: Wed May 03, 2017 12:02 am
by Knight Captain
Need a formal bug report?
Re: Cantra Can't Open Doors?
Posted: Wed May 03, 2017 1:41 pm
by Dominus
Yes, please.
Re: Cantra Can't Open Doors?
Posted: Thu May 04, 2017 10:41 am
by Dominus
Hmm, I need to investigate, it seems to be a regression. In a snapshot from 2010 she still opens the door.
Re: Cantra Can't Open Doors?
Posted: Thu May 04, 2017 11:19 am
by Dominus
Cantra is just not intelligent enough to open doors
The culprit is
https://github.com/exult/exult/commit/e ... 7cb2e2fd30
Re: Cantra Can't Open Doors?
Posted: Thu May 04, 2017 4:41 pm
by Knight Captain
I set her Intelligence to 11 and still no-go.
Re: Cantra Can't Open Doors?
Posted: Thu May 04, 2017 6:00 pm
by Dominus
I think it has more to do with the other stuff he commented in that commit. Will need to see if she has any other flag that sets her apart from usual NPCs
Re: Cantra Can't Open Doors?
Posted: Fri May 05, 2017 7:10 am
by Dominus
yes, seems it is affected by the other commented stuff
Code: Select all
if (get_info().get_shape_class() == Shape_info::human ||
get_effective_prop(Actor::intelligence) >= 6)
return true;
I don't dare reverting this until Marzo or another dev can chime in. I don't really understand why it is only happening to Cantra, though. All other NPCs are fine...
Edit: figured it out. As you can see in the actual code the intelligence barrier for monsters to be able to open doors is not 10 but 6.
But the value is not determined by the actual monster or NPC stats in the game but the "monster information" of a shape. And Cantra's shape (#299) monster information intelligence is set to 5. All other NPC shapes with monster information intelligence lower than 6 are affected, too. Example #652.
I'll see if I can discuss this with wjp on how to proceed.
Re: Cantra Can't Open Doors?
Posted: Fri May 05, 2017 9:56 am
by Dominus
In the bug report Marzo brought up a good point (by inquiring about that): the original works the same as current Exult. Cantra is not able to open any door.
*Maybe* we should keep it that way to avoid falling victim to fringe cases.
For mods you can edit the shape info and be done with it - that leaves you open to fringe cases again, though...
Re: Cantra Can't Open Doors?
Posted: Fri May 05, 2017 10:42 am
by agentorangeguy
Cantra studied hard, trained hard, and was ready for all obstacles and traps in the Knight's Test...
...except for the doors.
Re: Cantra Can't Open Doors?
Posted: Fri May 05, 2017 2:13 pm
by Dominus
Lydia (NPC #72, shape #652) is another case. Interesting to watch her at 9pm in the original. She is supposed to eat at the Inn but as she can't leave the room she sits down at her desk and yells for the barkeeper
Re: Cantra Can't Open Doors?
Posted: Fri May 05, 2017 8:03 pm
by Knight Captain
Wow, you guys put a lot of digging into this. This seems like an oversight by the SI developers, sort like the PATROL using the same PACE direction.
Perhaps to cover standard NPCs like Cantra and Lydia, Exult could use the NPC's Intelligence level first? SI function 0x983 does a check for Intelligence level, and considers them able to talk if >= 10.
How does the current code work for shapes that do not have a Monster tab? Like Yelinda, shape 274? Or the two Guard shapes? They can open doors.
I'd like to be able to allow some Wildmen to open doors, and maybe some other monsters (bears, etc.) in my mod. The Skinless Woman also cannot open doors. If we use the NPC's Intelligence level first, that should allow it without break anything.
Fire Elementals, Wildmen, Magic Gremlins, Ice Trolls, plain Trolls, Mummies (5), Ratmen, Undead, Cyclops (4), Headless (3), Suits of Armor, and the Gwani Child are too low to open/close doors even though they are humanoid.
Gazers are at 13 Intelligence, and both Harpies are above 6, but I've not seen them open doors.
Re: Cantra Can't Open Doors?
Posted: Fri May 05, 2017 8:23 pm
by Knight Captain
Posted details to the
bug report:
In the case of my mod, I want to allow transformed clan members to be able to open/close doors as part of the storyline (they remember how to use doors). Thus I would not be able to do this only for clan members but globally across all bears, leopards, and wolves. That's not ideal. So if this is not a bug, per se, please consider it as a feature request.
Re: Cantra Can't Open Doors?
Posted: Sat May 06, 2017 7:04 am
by Dominus
Wow, you guys put a lot of digging into this.
That's the problem with bugs nowadays, you need to see where it goes wrong and then compare to the original whether it is actually going wrong and then change it without breaking all other stuff...
In Exult Studio, click on shapes.vga and then on Groups and in "builtin" select "human" and click open. This will display all shapes considered human in Exult.
For your plan of transformed clan members, I'd suggest you duplicate the shapes and use those instead with higher shape intelligence
Re: Cantra Can't Open Doors?
Posted: Sat May 06, 2017 2:15 pm
by Knight Captain
^ That's a good workaround. Thanks again!