I want to create gameplay similar to a game called Illbleed. The core mechanic involves avoiding and disarming traps using a specific device. If you trigger a trap, it plays a jumpscare. However, if you successfully disarm the trap, no jumpscare occurs, and you receive a reward.
This video at 12:59 explains the mechanics in more detail.
I want to implement a system where triggering a trap plays an animated cutscene. I also want this mechanic to be gated behind a specific item. Additionally, I’d like to include a feature where your senses alert you when you are near a trap, just like in Illbleed. Is there a plugin or workaround to achieve all of this?
I think you can get pretty close with just events, no plugin needed. Each trap is a Player Touch event with a tag in its note like <trap:sight> or <trap:smell>. Page 1 is the jumpscare, and Play Movie works great if you want a real animated one (a webm in the movies folder). Page 2 has Self Switch A as its condition and is left empty, so that’s the disarmed trap.
For the device, make a key item that runs a common event, so only someone holding it can mark traps. The common event takes your adrenaline cost, then checks the tile you’re facing and disarms whatever trap is there:
var d = $gamePlayer.direction();
var x = $gameMap.roundXWithDirection($gamePlayer.x, d);
var y = $gameMap.roundYWithDirection($gamePlayer.y, d);
var id = $gameMap.eventIdXy(x, y);
var e = $gameMap.event(id);
if (e && e.event().meta.trap) $gameSelfSwitches.setValue([$gameMap.mapId(), id, "A"], true);
The reward can go inside that if too. For the senses, a parallel common event can put the distance to the closest armed trap of each type into a variable with this script, swapping “sight” for each sense: