Cataclysm-dda: Disabling a Robot takes a flat 100 moves

Created on 27 Sep 2020  路  12Comments  路  Source: CleverRaven/Cataclysm-DDA

Describe the bug

Disabling robots takes a flat 100 move
Which in addition of #44458 means that you can disable any robots by just spam attacking them with a bash weapon ( or your fists)

Steps To Reproduce

  1. Attack a nursebot (or another robot) with your fists
  2. Keep attacking
  3. At some point you'll crit and stun the robot for 1 turn
  4. You can now instantly disable the robot

Expected behavior

Disabling robots should be an activity that takes a variable amount of time based on player stats and skills and on the robots difficulty
This would make more sense and remove this weird behaviour of turning robots off by punching them.

Versions and configuration

  • OS: Windows

    • OS Version: 10.0 2004

  • Game Version: compiled from master branch on 27/09/2020
  • Graphics Version: Tiles
  • Game Language: English [en]
  • Mods loaded: [
    Dark Days Ahead [dda],
    Disable NPC Needs [no_npc_food]
    ]

Additional context

See game.cpp Line 9204 bool game::disable_robot( const tripoint &p )

<Bug> Good First Issue [C++]

All 12 comments

Yes, disabling robots by punching them does seem absolutely ridiculous. Nevertheless, I would like to keep an option where a character with high skills COULD disable a stunned robot in combat if he's quick enough, as long as he stunned it with a proper weapon (i.e. not his fists).

I'm not suggesting we remove the ability to disable robots, I'm saying it should be a process and take a bit more than 1s

All I am saying is that there should be an option in game for a character with an electric stun rod or w/e to be able to disable robots in combat if he has high enough technical skills. I am saying: fix this ridiculous bug right now, but we could incorporate it as a feature in the future.

If that's a reasonable way to actually disable a robot, maybe, but I'm not sure that is. There are almost certianly reasonable ways to fry a robot mid-combat, but that's not disabling it.

well i'm used to disable cyborgs by punching them, since i just want to not cause damage to the body, you know, more damage less you can use of it for saving, reuse, dissasembly etc

Edit i did the sames for robot. :P

nah, it's fine, you just hit the off switch.

I added the ability to disable stunned robots as part of #42440.
But this is accidental, I wasn't aware that robots could be stunned by melee hits, and never thought about testing this possibility.

I might have a look at this. Does anyone have a suggestion for what the formula for time taken should be?

How long would it take a robot to recover from being pushed/moved anyhow? Bigdog might have something to say about that. ;)

OK, I've started working on this. Currently, friendly robots will often move while you are disabling them, which interrupts the activity. I figure they should probably stay still, can anyone tell me the best way to implement this? I could repeatedly apply a 1 turn stun during the process but I'm not sure if that's the best way.

can anyone tell me the best way to implement this?

You could make a new effect Worked On aplly the effect for the duration of the activity and have robot with this effect stand still.

OK, I have a PR with a fix for this, I just need to know how the time taken to disable a robot should be calculated (I have no idea).

Was this page helpful?
0 / 5 - 0 ratings