First time poster, but I have to say there is a wealth of knowledge tucked away in here, a lot of which has come in very handy.
I am working on my 1st game (technically my 7th - but none of them ever got finished) and I have this weird problem where I have an NPC seated and then she removes her jacket and instead of it falling to the floor, she ends up holding it and I get a message saying there is no space for the jacket on the chair.
Any ideas what is causing this? It seems odd - I would have thought the jacket would fall to the floor.
Thanks in advance
The reason you’re getting the message about no space for the jacket on the chair is probably because the bulk of the player character is the same as the bulkCapacity of the chair the PC is sitting on. You could try giving the chair a larger bulkCapacity to make room for the jacket.
To change where the jacket ends up when dropped, you could try overriding getDropDestination(obj, path) on the chair; however, unless you’ve already done so, an object dropped by an actor on the chair should indeed fall to the floor.
The standard library’s handling of the DOFF action is simply to call makeWornBy(nil) on the direct object, so that if the NPC carries out a DOFF action, one would expect the jacket to end up in her inventory.
Ahhh. That’d be it. I hadn’t specified any bulk or bulk limits. Makes perfect sense… Thanks for that.
Turns out that didn’t work as well as I’d hoped. Turns out I have modified wearable items to be dropped in gActor.location, which in this case seems to be the chair. I have looked through the guides and can’t find a way around this. Help?
BTW Eric - love the fact that you put a TARDIS in the tour guide
Try gActor.getOutermostRoom() instead of gActor.location.
Perfect. Exactly what I needed. Thanks mate.