The thesis stress is getting overwhelming again, so have another poll!
Here are the Standard Library rules for HUG and KISS (synonyms: LOVE, EMBRACE).
%% KISS <obj>
(grammar [kiss/love [animate]] for [kiss $])
(prevent [kiss $Obj])
(current player $Player)
{
($Obj = $Player)
(or)
($Obj is part of $Player)
}
Your feelings for yourself are primarily of a platonic nature.
(perform [kiss $Obj])
(The $Obj is) unmoved by your display of affection.
%% HUG <obj>
(grammar [hug/embrace [animate]] for [hug $])
(perform [hug $Obj])
(try [kiss $Obj])
Specifically, if you try to hug or kiss anyone or anything that is not yourself (or part of yourself), you get this message:
(The $Obj is) unmoved by your display of affection.
Some testers have pointed out that this message is fine for inanimate objects, but usually not appropriate for people. Most non-player characters should respond in some way if you actually successfully kiss them, whether that’s a cat squirming away, a love interest blushing, or a boss reporting you to HR.
I’m considering changing this default message to not imply that the kiss actually happens:
(The $Obj) (doesn’t $Obj) seem receptive to that sort of thing.
If a character is receptive to this sort of thing, after all, the author will probably have written their own code for it!
What do you all think?
- Keep the existing message (“unmoved by your display of affection”)
- Switch to the new message (“doesn’t seem receptive to that sort of thing”)
- Objects “are unmoved”, people “don’t seem receptive”
- Something else!
Personally, I’d like to keep the same failure message for people and objects just for the sake of simplicity (fewer library messages for someone to change), but it’s not a technical problem to have two messages instead of one. Compare how GIVE is handled:
(perform [give $ to $Dest])
(if) (animate $Dest) (then)
(The $Dest) (doesn't $Dest) appear to be interested.
(else)
Giving things to (the $Dest) doesn't appear to work.
(endif)
(tick) (stop)