Update:
I have added a new Puzzle & Pressure Plate Class to the game, as with other objects you declare them in the object layer (tiled editor), more work to do on these, animated doors, different types of activation for the plates and so on but this is a start:
iXMzGaSU_hc
Create a Door object that is locked and linked to a puzzle, create pressure pads that when activated solve a puzzle, I will implement other types of triggers and variants of the pressure plates(Ones that require a crate pushed on them etc). Also need to animate the plates
(This way the level editors have to know zero code just properties)
How they are implemented / Customizable
<object height="42" name="door" type="warp" width="31" x="736" y="30">
<properties>
<property name="locked" value="true"/>
<property name="warp" value="map2"/>
<property name="warp_x" value="755"/>
<property name="warp_y" value="40"/>
<property name="puzzle_id" value="2_pads"/>
</properties>
</object>
<object height="25" name="puzzle" type="door" width="25" x="737" y="180">
<properties>
<property name="puzzle_id" value="2_pads"/>
<property name="number_of_parts" value="2"/>
<property name="solved" value="false"/>
</properties>
</object>
<object height="25" name="pressure_plate" type="" width="25" x="737" y="180">
<properties>
<property name="puzzle_id" value="2_pads"/>
<property name="plate_id" value="pad_1"/>
<property name="activate_order" value="0"/>
<property name="activate_by" value="crate"/>
<property name="activate_weight" value="0"/>
</properties>
</object>
<object height="25" name="pressure_plate" type="" width="25" x="800" y="180">
<properties>
<property name="puzzle_id" value="2_pads"/>
<property name="plate_id" value="pad_2"/>
<property name="activate_order" value="0"/>
<property name="activate_by" value="crate"/>
<property name="activate_weight" value="0"/>
</properties>
</object>