so this is the basic scenario i’m stuck with:
#charset "us-ascii" #include <adv3.h> #include <en_us.h> #include <extensions/TCommand/TCommand.t> versionInfo: GameID name = 'the lab' ; gameMain: GameMainDef initialPlayerChar = me ; Room 'lab' 'lab'; + me: Actor ; + tim: Person 'tim' 'tim' isProperName = true isHim = true ; ++ TCommandTopic @PutOnAction obeyCommand = true ; + Surface, Immovable 'finger scanner' 'finger scanner'; Thing 'finger' 'his finger' @tim isQualifiedName = true owner = tim ; Thing 'finger' 'your finger' @me isQualifiedName = true owner = me ;
what i’m trying to achieve is that when i refer to ‘finger’ alone, it always translates to my finger, and not tim’s.
here’s how the current code is behaving right now:
>x finger (your finger) You see nothing unusual about it. >put finger on scanner (your finger) Done. >put finger on scanner (first taking his finger) Tim won't let you have that. >x finger Which finger do you mean, your finger, or his finger? >
so i want to be able to have either my finger, or tim’s on the scanner (and yes, it’s important that the finger is then actually on the scanner), but as you can see, as soon as my finger is no longer in my inventory, i can only solve the disambiguation by typing “my / your finger” or “his / tim’s finger”. that would be a solution, but it’s not one i’m happy with for reasons that aren’t obvious from this short example. and ideally, the solution would also get rid of the disambiguation report.
i’ve been messing around with this for quite some time now, and haven’t really gotten anywhere.