diff --git a/data/json/field_type.json b/data/json/field_type.json index 343319a0c1a82..aff1a0b7087e7 100644 --- a/data/json/field_type.json +++ b/data/json/field_type.json @@ -733,9 +733,51 @@ "type": "field_type", "legacy_enum_id": 39, "intensity_levels": [ - { "name": "hazy cloud", "sym": ".", "dangerous": true, "translucency": 5 }, - { "name": "sedative gas", "color": "pink" }, - { "name": "relaxation gas", "color": "cyan" } + { + "name": "hazy cloud", + "sym": ".", + "dangerous": true, + "translucency": 5, + "effects": [ + { + "effect_id": "relax_gas", + "body_part": "MOUTH", + "intensity": 2, + "min_duration": "3 seconds", + "max_duration": "3 seconds", + "chance_outside_vehicle": 3, + "immune_inside_vehicle": true + } + ] + }, + { + "name": "sedative gas", + "color": "pink", + "effects": [ + { + "effect_id": "relax_gas", + "body_part": "MOUTH", + "intensity": 4, + "min_duration": "3 seconds", + "max_duration": "3 seconds", + "chance_inside_vehicle": 3 + } + ] + }, + { + "name": "relaxation gas", + "color": "cyan", + "effects": [ + { + "effect_id": "relax_gas", + "body_part": "MOUTH", + "intensity": 6, + "min_duration": "3 seconds", + "max_duration": "3 seconds", + "chance_inside_vehicle": 3 + } + ] + } ], "decay_amount_factor": 5, "gas_absorption_factor": 15, diff --git a/src/map_field.cpp b/src/map_field.cpp index 1235faffd23c2..f244ce9349a6e 100644 --- a/src/map_field.cpp +++ b/src/map_field.cpp @@ -1524,11 +1524,6 @@ void map::player_in_field( player &u ) u.add_env_effect( effect_blind, bp_eyes, cur.get_field_intensity() * 2, 10_seconds ); } } - if( ft == fd_relax_gas ) { - if( ( cur.get_field_intensity() > 1 || !one_in( 3 ) ) && ( !inside || one_in( 3 ) ) ) { - u.add_env_effect( effect_relax_gas, bp_mouth, cur.get_field_intensity() * 2, 3_turns ); - } - } if( ft == fd_fungal_haze ) { if( !u.has_trait( trait_id( "M_IMMUNE" ) ) && ( !inside || one_in( 4 ) ) ) { u.add_env_effect( effect_fungus, bp_mouth, 4, 10_minutes, num_bp, true );