[Gameplay] - Sleep darts do not put other players to sleep


InfectedAsylum

Recommended Posts

Bug Submission:

Category: Gameplay

Issue Title: Sleep darts do not put other players to sleep

Issue Description: (This might be intended) Sleep darts do not put other players to sleep.

Steps to Reproduce: 1.) Start up a server (With PvP enabled)

2.) Have another player join

3.) Spawn in or make sleep darts

4.) Attack player with them

Link to comment
Share on other sites

I think this would be extremely OP in PvP situation, where people fight against each other. Put your enemy's character to sleep and bam, you can strike them with whatever you want. Exactly what does the sleep dart do to a player that's been hit by it? Does the player lose some health or does nothing happen?

Link to comment
Share on other sites

I think this would be extremely OP in PvP situation, where people fight against each other. Put your enemy's character to sleep and bam, you can strike them with whatever you want. Exactly what does the sleep dart do to a player that's been hit by it? Does the player lose some health or does nothing happen?

 

Seeing as sleep darts actually don't do any damage I can't see it affecting the person and instead just becoming a waste of a blow dart.

 

Maybe as a fix to have it work in PVP it would just require more shots or if they were put to sleep the other person could struggle to wake up the character by trying to force movement. Thus, if it takes more, it's harder to knock them out. Or if they can break free from the sleep then you can possibly save yourself from imminent death.

 

Link to comment
Share on other sites

Seeing as sleep darts actually don't do any damage I can't see it affecting the person and instead just becoming a waste of a blow dart.

 

Maybe as a fix to have it work in PVP it would just require more shots or if they were put to sleep the other person could struggle to wake up the character by trying to force movement. Thus, if it takes more, it's harder to knock them out. Or if they can break free from the sleep then you can possibly save yourself from imminent death.

 

It doesn't make a waste of a blow dart, but a waste of a sleep dart ;)

 

I don't think that even with a lot of sleep darts to make a player go to sleep would be much of a nerf, as the sleep darts are quite easy to craft in mid-game. While playing in DST, mainly with just another player, I was able to make 2 fire darts and... 6 sleep darts. Killing bees and farming crows isn't too hard, once you have a bird trap and you go to get yourself stuff for making a bee box.

Link to comment
Share on other sites

@Clwnbaby I don't think so, players don't have a sleeper component, which is what sleep darts interact with.

 

Edit: Clwnbaby pointed out that pan flutes work, so I looked at those, and sleep darts could definitely be easily modified to use the same code:

    if inst ~= musician and inst:HasTag("player") then        inst:PushEvent("knockedout")    end

So if we change this function in blowdart.lua:

local function sleepattack(inst, attacker, target)    if target.components.sleeper and not (inst.components.freezable and inst.components.freezable:IsFrozen() ) then        target.SoundEmitter:PlaySound("dontstarve/wilson/blowdart_impact_sleep")        target.components.sleeper:AddSleepiness(1, 15)        if target.components.combat then            target.components.combat:SuggestTarget(attacker)        end        if target.sg and not target.sg:HasStateTag("sleeping") and target.sg.sg.states.hit then            target.sg:GoToState("hit")        end    endend

To this:

local function sleepattack(inst, attacker, target)    if target.components.sleeper and not (inst.components.freezable and inst.components.freezable:IsFrozen() ) then        target.SoundEmitter:PlaySound("dontstarve/wilson/blowdart_impact_sleep")        target.components.sleeper:AddSleepiness(1, 15)        if target.components.combat then            target.components.combat:SuggestTarget(attacker)        end        if target.sg and not target.sg:HasStateTag("sleeping") and target.sg.sg.states.hit then            target.sg:GoToState("hit")        end    end	    if target:HasTag("player") then        target:PushEvent("knockedout")    endend

That should do it. But then again, maybe a different system should be employed...

 

Also of note is that sleepytime stories doesn't work. It should probably have the same system as the pan flute, although in my opinion neither should work unless PvP is enabled.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.