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