Since last week the puzzle API was implemented in the build and two puzzles work. This week was spent on making the other puzzles work in the API. The puzzle that worked were putting a painting on the wall and putting keys into a piano. The ones that weren't working were lighting a fire and turning on the radio. The radio worked as it stood but it wasn't in the API.
The piano and the paint ones are are simple check to see if an object is in a zone. If one of the puzzles worked the other one was most likely to work. The fireplace is checking to see if an actor is activated. In the API it was checking to see if the actor was activated. What it had to do was check to see if the specific blueprint's isActivated variable was true. T accomplice this and to have the API be generic for all cases. I made a base class to hold the variable isActivated, then the specific blueprint inherited from it.
The radio puzzle wasn't put into the API because it was in its own blueprint. So that code has to go into the API. This is a little tricky because the radio has to interact with the players hands. Right now it isn't registering as a collision. This is probably because the API isn't getting the player hands from the tag.