Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disabling a Robot takes a flat 100 moves #44459

Closed
Fris0uman opened this issue Sep 27, 2020 · 12 comments · Fixed by #44670
Closed

Disabling a Robot takes a flat 100 moves #44459

Fris0uman opened this issue Sep 27, 2020 · 12 comments · Fixed by #44670
Labels
<Bug> This needs to be fixed [C++] Changes (can be) made in C++. Previously named `Code` Good First Issue This is a good first issue for a new contributor

Comments

@Fris0uman
Copy link
Contributor

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 )

@anothersimulacrum anothersimulacrum added <Bug> This needs to be fixed [C++] Changes (can be) made in C++. Previously named `Code` Good First Issue This is a good first issue for a new contributor labels Sep 27, 2020
@gkarfakis19
Copy link
Contributor

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).

@Fris0uman
Copy link
Contributor Author

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

@gkarfakis19
Copy link
Contributor

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.

@anothersimulacrum
Copy link
Member

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.

@Xindage
Copy link

Xindage commented Sep 27, 2020

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

@mikt4743thesecond
Copy link

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

@John-Candlebury
Copy link
Member

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.

@Autoquark
Copy link
Contributor

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

@TechyBen
Copy link
Contributor

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

@Autoquark
Copy link
Contributor

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.

@Fris0uman
Copy link
Contributor Author

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.

Autoquark added a commit to Autoquark/Cataclysm-DDA that referenced this issue Oct 5, 2020
Autoquark added a commit to Autoquark/Cataclysm-DDA that referenced this issue Oct 6, 2020
Autoquark added a commit to Autoquark/Cataclysm-DDA that referenced this issue Oct 6, 2020
Autoquark added a commit to Autoquark/Cataclysm-DDA that referenced this issue Oct 7, 2020
@Autoquark
Copy link
Contributor

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).

Autoquark added a commit to Autoquark/Cataclysm-DDA that referenced this issue Oct 19, 2020
Autoquark added a commit to Autoquark/Cataclysm-DDA that referenced this issue Oct 19, 2020
Autoquark added a commit to Autoquark/Cataclysm-DDA that referenced this issue Oct 20, 2020
kevingranade pushed a commit that referenced this issue Jul 17, 2021
…44670)

* #44459 disabling a robot is an activity with variable duration
Co-authored-by: Binrui Dong <[email protected]>
Co-authored-by: Kevin Granade <[email protected]>
anothersimulacrum pushed a commit to anothersimulacrum/Cataclysm-DDA that referenced this issue Jul 18, 2021
…duration (CleverRaven#44670)

* CleverRaven#44459 disabling a robot is an activity with variable duration
Co-authored-by: Binrui Dong <[email protected]>
Co-authored-by: Kevin Granade <[email protected]>
pjf added a commit to pjf/Cataclysm-DDA that referenced this issue Jul 19, 2021
* origin/master:
  Rebalance bionic, fix some weird stats (CleverRaven#46212)
  CleverRaven#44459 make disabling a monster an activity with variable duration (CleverRaven#44670)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
<Bug> This needs to be fixed [C++] Changes (can be) made in C++. Previously named `Code` Good First Issue This is a good first issue for a new contributor
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants