OBF and Umbra Objects


  • Coder

    Anyone have a set of these laying around?



  • Try here?

    http://www.gwen-morse.com/wiki/index.php/Gwen's_MUSHcode_Archive

    I'd offer my Obfuscate code but it's literally just commands to turn it on/off, and an @conformat chunk to tag someone as Hidden.


  • Coder

    I looked there. I thought once upon a time someone published all the code from Metro, but I guess I was mistaken.



  • What do you need the Umbra code to do? I can dig around through my code directory and see if i've got something that might work?


  • Coder

    I can write it, I'm just trying to get an idea of how to create Obfuscate and Umbra via objects that players enter and move around in to simulate the appropriate realms. Penn mush doesn't have support for Realities or Realm flags, so...


  • Coder

    Wow, cool, Vehicles 101. Does Penn have Dark-Locks like Rhost does? That would be cool.



  • @Seamus
    From discussion on MUS*H the other night, that looks like something they're looking to add in the next iteration of Penn.

    ETA: It occurs to me my VChar system, coupled with a hook on the speak/pose/etc. commands could be used to simulate being in another plane, in the same room.


  • Coder

    Could you define dark-locks?


  • Coder

    I'm sure I could, but I'm just going to drop objects for players to move around in that are set dark and can only see specific things based on what they are. IE: Umbra Objects see only umbra objects. I know this is how they did it at Metro, I just don't have my old backups from when I was a code wiz there.


  • Coder

    They're visibility locks that allow you to see through a dark-flagged object based on the locks subsystem. This is the main thing from Haunted Memories that I was drooling over, as it allowed Changelings to see exits without messing around with reality levels. Reality levels has its place with description and pose-based builtins, but I think dark locks is a far simpler concept for straight-up visibility.


  • Coder

    @thenomain You could simulate it pretty easy. Set something dark, code your room parent to check if they should show. Though it'd just be a hack. Nothing like that exists inherently.



  • I'd do it using attributes, @conformat and @exitformat. Set an attribute to determine if something is real or umbra, and whichever, show appropriate exits/room desc/contents. Lock the exits so that real exits can't be used by someone set umbral, and vice-versa. Hook something onto the pose/say/etc. commands (usually pretty simple) to only go to the right reality level.

    I might take a stab at it, since I've already got a large chunk of that done for the VChars. If I can get it to work out well (it'll probably be a bit before I actually mess with it though, other stuff on my plate ahead of it), I can post it here.


  • Coder

    Ok thanks.


  • Coder

    @Alzie said:

    @thenomain You could simulate it pretty easy. Set something dark, code your room parent to check if they should show. Though it'd just be a hack. Nothing like that exists inherently.

    This would require giving every room on the game the permissions to see dark objects. Fuck. No.



  • @Seamus
    Okay, so here's the Obfuscate stuff, depending on what you want. Written for Penn, so be aware.

    Obfuscate - Removes characters from the contents:

    @conformat here=[null([iter([lvplayers(%L)],[if([not([hasattrval(%i0,obf)])],[setq(c,[squish(%i0 %qC)])])])])][iter(%qC,[ljust([left([ansi(h,[name(%i0)])],15)],15)][left([xget(%i0,shortdesc)],45)],,%R)]

    Simulating DARK via softcode insofar as removing characters from the room contents (I, personally, could care less about the DARK flag; I never use it, and when I need something like this, I use the tag version below). This one checks to see if a character has Obf set to any value; if so, it removes them from the contents. To turn it off and on, you'll need a command to set the Obf and wipe it.

    ETA: Figured out how to remove the trailing space.

    Obfuscate - Adds a <Hidden> tag to the character in the room contents:

    @conformat here=[iter([lvplayers(%L)],[ljust([left([ansi(h,[name(%i0)])],15)],15)][left([xget(%i0,shortdesc)],45)][if([match([xget(%i0,obf)],1)],%b[ansi(hy,<Hidden>)])],,%R)]

    This one tags them <Hidden> after their shortdesc, in bright yellow, if the Obf attribute is set to 1. Again, needs a command to set the value back and forth from 0 (off) to 1 (on).


  • Coder

    @Bobotron

    I fail to see where in that code Auspex would compare against Obfuscate to determine if it sees through, or rolls, in the case of ties. And what would stop an auspex person just spamming look to get multiple rolls until they finally won one if they did?



  • @Lithium
    I didn't code it to be automatically opposed. It's meant to be appropriately manually rolled off between players and the expectation is for people not to metagame when someone is tagged <Hidden> in the room when they enter or when someone appropriately disappears around them.

    It's part of the reason I don't use the DARK version myself (I use that to determine if Virtual Characters, which are used for primarily NPCs, are in the room, but I know lots of people love the DARK thing). The DARK one is more there as an example of how you can use attributes to show people in rooms based on an attribute, and thus simulate reality levels with softcode.

    If you needed, you could futz with Auspex to have some type of global @aenter for rooms that autoscans for Obf'ed people to go from there.


  • Coder

    @Bobotron said:

    @Lithium
    I didn't code it to be automatically opposed. It's meant to be appropriately manually rolled off between players and the expectation is for people not to metagame when someone is tagged <Hidden> in the room when they enter or when someone appropriately disappears around them.

    It's part of the reason I don't use the DARK version myself (I use that to determine if Virtual Characters, which are used for primarily NPCs, are in the room, but I know lots of people love the DARK thing). The DARK one is more there as an example of how you can use attributes to show people in rooms based on an attribute, and thus simulate reality levels with softcode.

    If you needed, you could futz with Auspex to have some type of global @aenter for rooms that autoscans for Obf'ed people to go from there.

    Ahh.

    For whatever reason I was thinking they just didn't show up.

    For someone with little faith in humanity (like me) the <Hidden> tag doesn't work for me, because people will (un)consciously change their RP knowing they are being observed. They won't talk about something that can be used against them, because people don't want to hurt themselves (Unless you /do/ there's a whole victim type of character personality after all).

    For example:

    Obfuscated vampire is following a person around trying to learn information. Person knows they are being followed, so simply changes what they were going to do, or doesn't talk about anything damning, because they know they are being followed and their character watched.

    It is something really hard to prove to, but I'm sure it happens. Just like I am sure there are people who use the Umbra and Obfuscate to spy on TS.

    It happens.

    There's no perfect system for it, but I personally, especially on 'dark' themed games like WoD, will always take the path of greater IC paranoia :)



  • @Lithium
    Oh, I'm aware. I'm also coming at this WoD MU* design thing from someone who has never had this issue in a MUSH before (plenty of Transformers games and such where <Stealth> tags was a thing, and noone metagamed in a bad way) and freely admit that my WoD experience has really never been a MU*, though I've dealt with some of this in LARP. Plus I'm an avid fan of actual punishment for cheating and bad metagaming. It's served me well in weeding out people who do that shit in LARP.


Log in to reply
 

Looks like your connection to MU Soapbox was lost, please wait while we try to reconnect.