Jump to content

Players can use action key in complete dark


KXWl1
  • DLC VERSION - IMPORTANT!: Vanilla - NO DLC, Reign of Giants, Shipwrecked, Hamlet Pending

Players can use action key ('SPACE' by default)to chop/mine/dig... something. playercontroller components:

function PlayerController:GetToolAction(tool)
......
end

I suggest using the function 'CanEntitySeeTarget' to fix the problem.


Steps to Reproduce

1. waits for the night comes.

2. does not have any light 

3. c_give('axe') c_spawn('evergreen_short')

4. Press the action key, you will be able to chop the tree. But you can't see the tree due to darkness.

  • Like 1
  • Sad 1
  • Health 1
  • Sad Dupe 1



User Feedback


I use this fairly often to cut vines blocking doorways in the Hamlet ruins while conserving lantern durability or having already run out.

  • Like 2

Share this comment


Link to comment
Share on other sites

Being able to act in pitch darkness is a normal thing. It was changed early into DST, presumably so new players / laggy players wouldn't accidentally die to Charlie by pressing Spacebar. (Either way, being able to do actions in the dark is VERY useful in many situations, with the Hamlet Ruins being a fantastic scenario. Seriously, the amount of times in an average session I use a Torch to stay productive at night, unequip, swap to a tool, and do something is massive.) Getting killed in DST because you can't interact in pitch darkness was always a cheap death.

So again, this isn't a bug. It's intentional design. Just like how it was changed in DST to help laggy players.

  • Like 1
  • Thanks 1

Share this comment


Link to comment
Share on other sites

On 1/28/2023 at 7:17 PM, KCDA said:

Being able to act in pitch darkness is a normal thing. It was changed early into DST, presumably so new players / laggy players wouldn't accidentally die to Charlie by pressing Spacebar. (Either way, being able to do actions in the dark is VERY useful in many situations, with the Hamlet Ruins being a fantastic scenario. Seriously, the amount of times in an average session I use a Torch to stay productive at night, unequip, swap to a tool, and do something is massive.) Getting killed in DST because you can't interact in pitch darkness was always a cheap death.

So again, this isn't a bug. It's intentional design. Just like how it was changed in DST to help laggy players.

Its.. a bug...

You cannot normally use actions in the dark and they forgot to make the auto space actions check that.

Its not the only issue with space actions either, for example pickup instead of retrieve is used for floating items stopping players from picking them up from the shore.

I have no idea why you would think this is intentional in any way.

  • Like 2

Share this comment


Link to comment
Share on other sites

31 minutes ago, HalfEnder776 said:

Its.. a bug...

You cannot normally use actions in the dark and they forgot to make the auto space actions check that.

Sounds like a feature man, a great one in fact. This has been in the game since the beginning, and was only removed in DST. (I think around the time ROG elements started being added to Beta DST?) This is something that's been in the game since late 2012? It's a core part of the gameplay, especially in the ROG Caves, Ruins, and Hamlet Ruins. It's exclusion in DST has been hated for years.

Imagine how annoying it would be if you had to place a campfire down in every room of the Hamlet Ruins, or burn an item on the ground just because you can't equip a Torch, and chop vines. It'd be hell to play. (Or the DST method of: Equip Torch -> lose some % by equipping -> do a single interaction with a tool -> re-equip Torch / repeat.)

Also, if we want to talk about real bugs, Attack Cancelling in DST is a bug. It was patched out sometime in Vanilla DS's Beta, but DST is built off a pre-caves build (before said bug was patched.) And what do you know, Attack Cancelling in DST has been loved by the community ever since. (In that case, either Klei noticed the praise, and kept Attack Cancelling in all these years, or it hasn't been noticed that the bug smuggled itself back into DST. DST benefited from Attack Cancelling regardless. Just like how DS benefits from interacting in the dark.)

Edited by KCDA

Share this comment


Link to comment
Share on other sites

4 minutes ago, KCDA said:

Sounds like a feature man, a great one in fact. This has been in the game since the beginning, and was only removed in DST. (I think around the time ROG elements started being added to Beta DST?) This is something that's been in the game since late 2012? It's a core part of the gameplay, especially in the ROG Caves, Ruins, and Hamlet Ruins. It's exclusion in DST has been hated for years.

Imagine how annoying it would be if you had to place a campfire down in every room of the Hamlet Ruins, or burn an item on the ground just because you can't equip a Torch, and chop vines. It'd be hell to play. (Or the DST method of: Equip Torch -> lose some % by equipping -> do a single interaction with a tool -> re-equip Torch / repeat.)

Also, if we want to talk about real bugs, Attack Cancelling in DST is a bug. It was patched out sometime in Vanilla DS's Beta, but DST is built off a pre-caves build (before said bug was patched.) And what do you know, Attack Cancelling in DST has been loved by the community ever since. (In that case, either Klei noticed the praise, and kept Attack Cancelling in all these years, or it hasn't been noticed that the bug smuggled itself back into DST. DST benefited from Attack Cancelling regardless. Just like how DS benefits from interacting in the dark.)

It's still a bug not a feature, as for if that bug should be kept or not that's up to klei to decide I have no opinion on it.

  • Like 2

Share this comment


Link to comment
Share on other sites

18 hours ago, KCDA said:

Sounds like a feature man, a great one in fact. This has been in the game since the beginning, and was only removed in DST. (I think around the time ROG elements started being added to Beta DST?) This is something that's been in the game since late 2012? It's a core part of the gameplay, especially in the ROG Caves, Ruins, and Hamlet Ruins. It's exclusion in DST has been hated for years.

Imagine how annoying it would be if you had to place a campfire down in every room of the Hamlet Ruins, or burn an item on the ground just because you can't equip a Torch, and chop vines. It'd be hell to play. (Or the DST method of: Equip Torch -> lose some % by equipping -> do a single interaction with a tool -> re-equip Torch / repeat.)

Also, if we want to talk about real bugs, Attack Cancelling in DST is a bug. It was patched out sometime in Vanilla DS's Beta, but DST is built off a pre-caves build (before said bug was patched.) And what do you know, Attack Cancelling in DST has been loved by the community ever since. (In that case, either Klei noticed the praise, and kept Attack Cancelling in all these years, or it hasn't been noticed that the bug smuggled itself back into DST. DST benefited from Attack Cancelling regardless. Just like how DS benefits from interacting in the dark.)

Plz, you guys stops making a heated discussion, we need to wait for developers to see how they define this problem. I know that you are an old player in 2013, and you may not be able to adapt to these new changes. But this is a trend. If you want to make the code more perfect, you must fix this bug. Just as they added several functions (from DST) in 2019 (see the bottom). If you really want to work in the dark, you can choose items with night vision ability to equip (this is written in the function). Also, let me talk about your other problems here. if you really want to put reality into the game, please explain: Hamlet's viper will not poison players,  scorpions are insects. Please try to change yourself, thanks.

local function _CanEntitySeeInDark(inst)
    local inventory = inst.components.inventory
    return inventory ~= nil and inventory:EquipHasTag("nightvision")
end

function CanEntitySeePoint(inst, x, y, z)
    return inst ~= nil
        and inst:IsValid()
        and (TheSim:GetLightAtPoint(x, y, z) > TUNING.DARK_CUTOFF or
            _CanEntitySeeInDark(inst))
end

function CanEntitySeeTarget(inst, target)
    if target == nil or not target:IsValid() then
        return false
    end
    local x, y, z = target.Transform:GetWorldPosition()
    return CanEntitySeePoint(inst, x, y, z)
end
Edited by KXWl1

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...