FakeFishGames / Barotrauma

A 2D online multiplayer game taking place in a submarine travelling through the icy depths of Jupiter's moon Europa.
http://www.barotraumagame.com/
1.74k stars 404 forks source link

Nuclear Depth Charge/Decoy can be easily detonated with fire #10338

Closed BiffW closed 1 year ago

BiffW commented 1 year ago

Disclaimers

What happened?

I noticed in the recent update, Nuclear Depth Charge/Decoy can be damaged by fire, monster attacks, explosion, repair tools, projectiles and melee weapons, causing a nuclear fission explosion. Scientifically, it's impossible to trigger a nuclear fission with regular fire or physical hits. And it make it easier for griefer to destroy your progress with nuclear depth charge/decoy in a multiplayer game, which is why I am strongly against this change.

Reproduction steps

  1. spawn some nuclear depth charge/decoys
  2. attack them with regular fire, projectiles or melee weapons until they explode

Bug prevalence

Happens every time I play

Version

0.20.5.0 (Unstable)

-

No response

Which operating system did you encounter this bug on?

Windows

Relevant error messages and crash reports

No response

ubertpendragon commented 1 year ago

<StatusEffect type="OnFire" target="this" setvalue="true" condition="-33"/>

Maybe nukes shouldn't react to fire (and instantly set condition to -33 because setvalue)

BiffW commented 1 year ago

<StatusEffect type="OnFire" target="this" setvalue="true" condition="-33"/>

Maybe nukes shouldn't react to fire (and instantly set condition to -33 because setvalue)

Not only fire but also regular physical damage shouldn't be able to detonate a nuclear bomb.

Regalis11 commented 1 year ago

Fixed the fire effect in https://github.com/Regalis11/Barotrauma-development/commit/6bf817749eb3bdab713f9ddb8ac1667ac1b4a7a6.

I'm a bit on the fence about physical damage though. While normally it shouldn't trigger a nuclear device, the decoys clearly have some mechanism that triggers them on impact, so to me it seems entirely plausible that e.g. hitting one with a melee weapon would trigger it. But I do agree this might make them too easy to use for griefing, and make storing them extremely dangerous. I think we should consider only making them explode from damage after they've been launched. @itchyOwl thoughts?

BiffW commented 1 year ago

Give them a tag "active" when they are launched. And make them only explode with "active" tag.

MaaiG commented 1 year ago

Many nuclear explosive devices have conventional explosives to initiate a nuclear reaction (implosion-type). When a bomb is damaged, it can explode... at least like conventional explosives. Implosion_bomb_animated But there are easier options )): Gun-type In any case, such things can not be thrown into the bonfire or drop from the shelf ))

Probably the remains of such a damaged device can be recycled in the deconstructor into useful components. Obviously, such devices should be handled with caution. If it fails to destroy everything, as a result of a fall or a fire, it can destroy the bulkhead, tear limbs and become almost useless debris.

MaaiG commented 1 year ago

In general, I do not understand why it is necessary to forbid the fair player to perform sabotage. Keep nuke locked up, ban idiots, etc... Fair player should not suffer and lost opportunities.

Regalis11 commented 1 year ago

In general, I do not understand why it is necessary to forbid the fair player to perform sabotage.

I agree with this to an extent, but not all sabotage opportunities create interesting or fun gameplay. It's not fun to anyone if any player can blow up half the sub and the crew with next to no effort, in a way that's next to impossible for others to prevent.

MaaiG commented 1 year ago

It's not fun to anyone if any player can blow up half the sub and the crew with next to no effort,

Yea, coming and dropping the bomb on the floor is too easy and unnecessarily destructive.

Just a thought! I imagine sabotage like this, purely as an intricate, variable chain of action with a delayed event. Chain disclosure is possible at each stage.

Three factors appear: I. Complicating the chain of actions for the event. II. Reduce damage but increase its duration. III. Addition of new damaging factors - Radiation contamination of premises.

For example:

  1. Access a secure repository

    • Fraudulent entry (risk of disclosure)
    • Theft and change of pass (during routine medical examination ))
    • Breaking down doors with deactivation of alarm (alarm hazard).
    • An devastating event is possible only when a set of external factors is created: Fire under high pressure, water and damaged outer shell - anything.
  2. Creating conditions for detonation extended in time with a random factor.

    • Indoor fire. (detonation in fire = 50/50 or less). Everyone rushes to extinguish the fire as there is a possibility of serious consequences.
    • Flooding of a room - explosion of active chemical components in contact with water (detonation 50/50) and risk of radiation contamination by damage to the shell of a bomb.
    • Connect to the detonator timer bomb. This will require opening the shell of the bomb - as a consequence of the increased radiation level throughout the submarine.
  3. Detonation of a nuclear weapon by sabotage is not a regulated use nuclear weapon!

The consequences of such an explosion may have less destruction. The main factor may be radiation contamination of premises. Access to such rooms will not be possible until it is decontaminated. The impossibility or danger of entering the compartment is a new headache for the physician (radiation sickness) and the entire crew (difficult access to contaminated rooms with the necessary equipment). For example:

itchyOwl commented 1 year ago

Addressed in Regalis11/Barotrauma-development@fd4b5a3 by making the depth charges only destructible after launching.

NilanthAnimosus commented 1 year ago

Tested against release commit https://github.com/Regalis11/Barotrauma-development/commit/24aad1892591b07abbfdda1680c759abec9ffe9e, no issues found, closing.