diff --git a/prefabs/entities/pressure_plate.tscn b/prefabs/entities/pressure_plate.tscn
new file mode 100644
index 0000000..91933c3
--- /dev/null
+++ b/prefabs/entities/pressure_plate.tscn
@@ -0,0 +1,22 @@
+[gd_scene load_steps=4 format=3 uid="uid://bj1ixwjdpnooo"]
+
+[ext_resource type="SpriteFrames" uid="uid://chfnxa71xs3ww" path="res://sprites/tiles/floor/pressure_plate.tres" id="1_1wdq4"]
+[ext_resource type="Script" path="res://scripts/entities/PressurePlate.cs" id="1_httlb"]
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_1jim7"]
+size = Vector2(32, 32)
+
+[node name="pressure_plate" type="Area2D"]
+z_index = -1
+script = ExtResource("1_httlb")
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource("RectangleShape2D_1jim7")
+
+[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
+sprite_frames = ExtResource("1_1wdq4")
+
+[node name="Sprite2D" type="Sprite2D" parent="AnimatedSprite2D"]
+
+[connection signal="body_entered" from="." to="." method="_onPressed"]
+[connection signal="body_exited" from="." to="." method="_onUnpressed"]
diff --git a/scenes/main_scene.tscn b/scenes/main_scene.tscn
index af7f148..cf5d19b 100644
--- a/scenes/main_scene.tscn
+++ b/scenes/main_scene.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=20 format=3 uid="uid://dhn7yt46fyac8"]
+[gd_scene load_steps=21 format=3 uid="uid://dhn7yt46fyac8"]
 
 [ext_resource type="PackedScene" uid="uid://bhulqhxesd5gc" path="res://prefabs/player.tscn" id="1_65a7v"]
 [ext_resource type="AudioStream" uid="uid://bsy2d0bl3lgg0" path="res://sounds/crank.ogg" id="1_cweq4"]
@@ -11,6 +11,7 @@
 [ext_resource type="Script" path="res://scripts/PointLight2DWorkaround.cs" id="6_slohe"]
 [ext_resource type="PackedScene" uid="uid://ccg3n7sobsvdw" path="res://prefabs/enemies/watcher.tscn" id="10_fsiss"]
 [ext_resource type="PackedScene" uid="uid://bpusphyhhg074" path="res://prefabs/enemies/living_armor.tscn" id="11_x3ep3"]
+[ext_resource type="PackedScene" uid="uid://bj1ixwjdpnooo" path="res://prefabs/entities/pressure_plate.tscn" id="12_ynt5e"]
 
 [sub_resource type="Curve" id="Curve_o5byr"]
 _data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.0824742, 0.273684), -10.2105, 0.0, 0, 0, Vector2(0.242268, 0.494737), -5.10526, 0.0, 0, 0, Vector2(0.396907, 0.736842), -7.6579, 0.0, 0, 0, Vector2(0.737113, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
@@ -22,7 +23,7 @@ light_mode = 2
 [sub_resource type="ShaderMaterial" id="ShaderMaterial_m680d"]
 shader = ExtResource("5_64d71")
 
-[sub_resource type="ViewportTexture" id="ViewportTexture_0ld5q"]
+[sub_resource type="ViewportTexture" id="ViewportTexture_1exyl"]
 viewport_path = NodePath("FlashlightViewport")
 
 [sub_resource type="CircleShape2D" id="CircleShape2D_prnh4"]
@@ -105,7 +106,7 @@ CameraBounds = Vector2(30, 20)
 [node name="PointLight2D" type="PointLight2D" parent="PlayerCamera" node_paths=PackedStringArray("LightViewport")]
 blend_mode = 2
 range_item_cull_mask = 2
-texture = SubResource("ViewportTexture_0ld5q")
+texture = SubResource("ViewportTexture_1exyl")
 script = ExtResource("6_slohe")
 LightViewport = NodePath("../../FlashlightViewport")
 
@@ -168,3 +169,6 @@ Facing = 0
 [node name="LivingArmor4" parent="." instance=ExtResource("11_x3ep3")]
 position = Vector2(-70, -36)
 Facing = 1
+
+[node name="pressure_plate" parent="." instance=ExtResource("12_ynt5e")]
+position = Vector2(31, 51)
diff --git a/scripts/enemies/LivingArmor.cs b/scripts/enemies/LivingArmor.cs
index 551cc97..652f65f 100644
--- a/scripts/enemies/LivingArmor.cs
+++ b/scripts/enemies/LivingArmor.cs
@@ -131,7 +131,6 @@ public partial class LivingArmor : CharacterBody2D
 
 	private void _OnLightExited(Area2D area)
 	{
-		GD.Print("Unlighted");
 		if (area.GetParentOrNull<GameCamera>() is null)
 			return;
 
diff --git a/scripts/entities/PressurePlate.cs b/scripts/entities/PressurePlate.cs
new file mode 100644
index 0000000..bd4c8ca
--- /dev/null
+++ b/scripts/entities/PressurePlate.cs
@@ -0,0 +1,49 @@
+using Godot;
+using System;
+
+public partial class PressurePlate : Area2D
+{
+	private bool _pressed = false;
+	private int _onButton = 0;
+	
+	private AnimatedSprite2D _sprite;
+	// Called when the node enters the scene tree for the first time.
+	public override void _Ready()
+	{
+		_sprite = (AnimatedSprite2D)FindChild("AnimatedSprite2D");
+	}
+	
+	// Called every frame. 'delta' is the elapsed time since the previous frame.
+	public override void _Process(double delta)
+	{
+	}
+
+	public override void _PhysicsProcess(double delta)
+	{
+		if (_pressed)
+		{
+			_sprite.Play("pressed");
+		}
+		else
+		{
+			_sprite.Play("default");
+		}
+			
+	}
+	
+	private void _onPressed(Node2D body)
+	{
+		_onButton += 1;
+		_pressed = true;
+	}
+
+
+	private void _onUnpressed(Node2D body)
+	{
+		_onButton -= 1;
+		if (_onButton > 0)
+			return;
+		_pressed = false;
+	}
+	
+}
diff --git a/sprites/tiles/floor/pressure_plate.tres b/sprites/tiles/floor/pressure_plate.tres
new file mode 100644
index 0000000..92bba46
--- /dev/null
+++ b/sprites/tiles/floor/pressure_plate.tres
@@ -0,0 +1,30 @@
+[gd_resource type="SpriteFrames" load_steps=4 format=3 uid="uid://chfnxa71xs3ww"]
+
+[ext_resource type="Texture2D" uid="uid://duv3fbjw53vtw" path="res://sprites/tiles/floor/pressure_plate.png" id="1_j71no"]
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_aqux7"]
+atlas = ExtResource("1_j71no")
+region = Rect2(0, 0, 32, 32)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_vlwdt"]
+atlas = ExtResource("1_j71no")
+region = Rect2(32, 0, 32, 32)
+
+[resource]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_aqux7")
+}],
+"loop": true,
+"name": &"default",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_vlwdt")
+}],
+"loop": true,
+"name": &"pressed",
+"speed": 5.0
+}]