Jump to content
The Dark Mod Forums

snatcher

Member
  • Posts

    937
  • Joined

  • Last visited

  • Days Won

    15

Posts posted by snatcher

  1. 12 minutes ago, Wellingtoncrab said:

    You are correct in that is a partially unfair example in that dishonored 1/2 use a lot of “modern” gui conventions like text elements, progress bars, etc for a lot of it’s interactions and telegraphs pretty clearly to the player what context sensitive action will result on frob. There is a delay on some interactions, including picking up bodies, but this is to prevent unintended inputs, not to enable something like multiple control layers. The primary function of using frob on the body is to “pick it up” ie shoulder it.

    Fair enough, Welli.

    From what I have seen in videos the primary frob in Dishonored is to acquire items bodies may have and the hold frob is reserved to shouldering. Thing is developers apparently kept the hold frob to shoulder bodies even when the body has nothing of value. Consistency, I think, and to prevent unintended actions perhaps? Anyway, they prioritized one action over the other, and each action remained in its own place.

    15 minutes ago, Wellingtoncrab said:

    No idea why this is material to an an argument that this should be the result of frobbing a body? No one is even suggesting removing this kind of manipulation from the game.

    The material is, what would have done the devs of these games you mention if manipulating body limbs was a key mechanic along with shouldering?

    37 minutes ago, Wellingtoncrab said:

    The examples I can think of this kind of drag mechanic: the modern deus ex and hitman games, both of which are interactions exclusive to bodies and don’t feature shouldering as a mechanics at all, [...]

    Right:

     

    37 minutes ago, Wellingtoncrab said:

    [..] and the fine grain physics manipulation modes you see in Bethesda games starting with Oblivion, which requires long pressing the interact key on a physics object to allow you to move it around.

    Absolutely terrible, imho. No fun to be found there. I learned not to bother pretty quickly.

  2. Hold actions naturally translate as if making an effort:

    • Get the BJ ready for the KO
    • Get a timed sword attack or parry
    • Keep an arrow on the release till ready to fire
    • Launch a Flashbomb away from you
    • Concentrate and extinguish a candle
    • Manipulate the mechanism to turn on/off portable lamps
    • Shoulder a body on your freaking shoulders
    • ...
  3. 4 hours ago, Wellingtoncrab said:

    @wesp5 Make sure you skip thief, thief2, deus ex, dishonored, dishonored 2, etc.

    Didn't play Deus Ex, Dishonored 1/2 or etc but, can you manipulate body limps in these games? And, don't you have to hold frob to shoulder bodies in dishonored games?

    Patiently waiting for a hold frob to shoulder / unshoulder bodies prototype. If anything, to prove how wrong some of us are.

  4. 21 hours ago, Dragofer said:

    There's nothing really hindering it, you just have to make sure that both scripts dont try to run at the same i.e. by starting with a version check to pick the right script.

    Not sure I was clear enough, sorry, but it is ok. With the information at hand I understand updating add-ons today to be 2.12-ready is a pointless exercise.

    Let's then resume this topic sometime in February. Thanks for your work.

  5. This is very much appreciated. Many thanks @Dragofer & Co!

    Thinking of the "transition period", I have a question: what happens if by the time 2.12 comes out an add-on has both a "tdm_user_addons.script" and a "tdm_user_addons_spiders.script"?

    1 hour ago, Dragofer said:

    Addon creators will need to choose unique names, however, which could for example include one's username.

    First come first served, I guess.

    In the case of conflict the Modder (Addoner?) publishing his/her work last should be around listening and can be warned and take action.

  6. 3 hours ago, Dragofer said:

    In any case, we've recently started looking into a way of supporting unlimited addons in parallel by auto-including and auto-calling script files and functions whose names follow a specific naming convention (tdm_user_addon*).

    This is most excellent news!

    Break the Modpack or any other add-ons / mods in the process if you must. We shall gladly rebuild them!

    Set up a good foundation. The most exciting and ambitious mods will require config files and dedicated guis, but we aren't there yet.

    • Like 2
  7. 10 minutes ago, MirceaKitsune said:

    That's for doors that should always be closed: AI can indeed go and investigate if they find such a door open.

    Ok, my bad. This mechanic should be used more often in missions!

    11 minutes ago, MirceaKitsune said:

    That's different from what I'm thinking here: The fact that even a normal door should draw attention if it mysteriously opens by itself, which would make things too hard for normal opening but for a new slam mode it would be a great opportunity to add this.

    I have been making use of the "Fast doors" mod for long time when running away from trouble and things were already quite messy in those situations 😊

    A little off-topic but relevant: I miss @Obsttorte

  8. 18 hours ago, MirceaKitsune said:

    [...] AI never wondering why a door is mysteriously moving right in front of them, even if they don't see the player directly [...]

    Leaving "fast opening" aside, which is a good idea, I also wondered about normal opening time ago but I am not sure this is something we want to happen every time. We should, perhaps, put it to the test.

    Mappers, I understand, can configure certain AI to detect if a door has been picked, unlocked or opened (not sure about this last one).

  9. On 11/5/2023 at 10:55 AM, snatcher said:

    "script/tdm_user_addons.script" comes with a useful "user_addon_init()" that gets called automatically but unfortunately we don't have an equivalent in "script/tdm_custom_scripts.script" so we cannot use "script/tdm_custom_scripts.script" and we must think something else.

    I dare invoking @Dragofer to evaluate a "custom_script_ini()" on "script/tdm_custom_scripts.script".

  10. 1 hour ago, MirceaKitsune said:

    Thanks: I'm glad you like it even if it may not be featured in the mod pack, though I'll likely attempt some of your suggestions at least. I tried to make it intuitive, hence I didn't add special circumstances (like running) for wearing out the disguise even faster so players aren't left wondering what triggers it, however it may be featured next time: I don't remember if there's a way to check if the player is sprinting or crouched, so I'll likely use the player speed thus the faster you're moving the more quickly you're spotted... I might even make it so being seen picking locks or stealing loot instantly makes your disguise fail!

    How about limiting player's actions with setImmobilization() or similar tricks while wearing a helmet? That way you organically let users know they must stay put while wearing a disguise.

    Also, you should perhaps think in ranks. You can go your merry way wearing a City Watch helmet unless you stumble across an elite guard...

  11. On 10/18/2023 at 11:03 PM, MirceaKitsune said:

    [...] It could then be distributed as a mod that works universally. I may propose it for the modpack!

    The Modpack and the Unofficial Patch are supposed to work out of the box: plug and play. Casual and even advanced players wouldn't know what to do with the Wearable disguises or the Augmentation mod the way things are today.

    This is a neat mod @MirceaKitsune, congratulations. I am rooting to see it implemented in a map!

    The mod however is overpowered, and it feels like having notarget on. There must be limitations and/or penalties. I suggest:

    1) While wearing a helmet players must act like a guard: (creep or) walk in stand up position. The moment you jump or crouch, run, raise a weapon, grab an item... your are fully exposed.

    2) Each helmet is functional for limited time. The longer you use it the more suspicious you become and at some point the helmet is of no use. Perhaps helmets can be "recharged" somehow, I don't know, but you get the idea.

    PS: Considering the number of mirrors per map and the fact that there are no player reflections (glass, water...) I wouldn't worry much about the head, to be honest.

  12. 14 hours ago, kingsal said:

    Can you please tell me again what is incompatible  in Hazard pay?

    @kingsal

    Thanks for the interest.

    In Hazard Pay you included "script/tdm_user_addons.script" to load @Dragofer's Stealth Statistic Tool and that prevents players from using this file to load additional add-ons.

    script/tdm_user_addons.script

    #include "script/tdm_statistic_message.script"
    
    void user_addon_init()
    {
    	statistic_message_init();
    }

    "script/tdm_user_addons.script" comes with a useful "user_addon_init()" that gets called automatically but unfortunately we don't have an equivalent in "script/tdm_custom_scripts.script" so we cannot use "script/tdm_custom_scripts.script" and we must think something else.

    Unless it is decided to do without the add-on, I propose we make use the map's own script "maps/hazard_night.script" since it comes with a "main()" that gets called by the game automatically, as explained in the Wiki:

    #include "script/tdm_statistic_message.script"
    
    void main()
    {
    	statistic_message_init();
    
    	// rest of your code
    }

    Once we do this we can safely delete "script/tdm_user_addons.script".

    In addition to all this I suggest deleting "script/tdm_frobactions.script" since it is not doing anything other than preventing other mods from working.

    -----------------------------------------------

    Summing up:

    1. Replace "maps/hazard_night.script" with the one attached to this post (*).
    2. Delete "script/tdm_user_addons.script"
    3. Delete "script/tdm_frobactions.script"

    (*) For this exercise I downloaded a fresh copy of Hazard Pay from the built-in downloader.

    Happy to discuss further.

    hazard.zip

  13. 2 hours ago, nbohr1more said:

    You deleted the mission and downloaded the latest one right? (original releases were bugged due to path structure in the pack file )

    I made High Expectations crash in my fresh virgin 2.12 so I don't think the version of the mission matters BUT it turned out I didn't have the latest version of the mission in TDM 2.11 because of the weird versioning thing going on with the built-in downloader.

    So I deleted the mission and downloaded the version offered by the downloaded and managed to get a new crash: https://www.mediafire.com/file/9nuvomhqkucup0t/qconsole_202310311733.zip/file

    • Like 1
  14. Sorry, I don't do videos.

    The crash is triggered at a very specific moment, always when starting fire. You miss that moment and the game won't crash, I understand.

    Lieutenant 2: High Expectations is the best testbed. Spawn some broadheads and start doing any of the below in any order you want (but very fast):

    • Raise broadheads and pretend to fire (press fire and quickly abort)
    • Switch to Water arrows and pretend to fire
    • Lower Bow
    • Raise Blackjack
    • Switch to Bow and pretend to fire
    • ...

    It eventually crashes here.

  15. 2 hours ago, stgatilov said:

    We already know that bow attachments (or something like that) are unexpectedly killed by tdm_suicide script, but I have no freaking idea why this script runs.

    Indeed. I added some print outs to tdm_suicide.script and the very last thing I get in the log before the crash is:

     *** AFTER sys.wait( time_to_live ): idStaticEntity_atdm:attachment_aimer_7
     *** AFTER activateTargets(self): idStaticEntity_atdm:attachment_aimer_7

    Code:

    Spoiler

    void tdm_suicide::init()
    {

    sys.println(" *** BEGIN: " + getName());

        float time_to_live = getFloatKey("remove_delay"); if (time_to_live < 0) { time_to_live = 360; }
        //sys.print ( "waiting " + time_to_live + " seconds until I kill myself.\n" );
        sys.wait( time_to_live );

    sys.println(" *** AFTER sys.wait( time_to_live 😞 "  + getName());

        // activate our targets
        activateTargets(self);


    sys.println(" *** AFTER  activateTargets(self): "  + getName());

        // TODO: optionally wait until this object is no longer in the same PVS as the player?

        // kill ourselves
        remove();
    }

    • Like 1
×
×
  • Create New...