This helper contains all the custom stuff used in The Secret of Celeste Mountain, as well as a few other entities.
It add to the game many elements usefull for custom campaigns that want a metroidvania feel, as well as some other more generic entities.
Entities :
Break Block
A solid block that only break if the player meet the condition specified.
Current conditions include :
- Bomb : The block must be inside the explosion of a bomb from the Bomb ability
- Lightning Dash : The player must use the Lightning Dash ability and collide with the block
- Mega Bomb : The block must be inside the explosion of a mega bomb from the mega Bomb ability
- Red Booster : The player must be using a red booster and collide with the block
- Drone : The block must be shoot by the Remote Drone beam from the Remote Drone ability
- Screw Attack : The player must use the Screw Attack abilityand collide with the block
Bubble Door
Metroid-like doors that are intended to be placed at the edge of a room (both left/right and top/bottom) where the player will transition to an other room. They will open when the player come nearby, or close if the player go away. They can also only open once one or more flags are set. Comes with 5 colors (blue, red, green, yellow and grey).
Cell
An holdable entity that can be trowed in a Cell Lock Statue.
Cell Lock Statue
Act as a receptacle for a Cell. When a Cell is thrown inside, it can then be activated and will set a flag of your choice. Has an option to allow the player to leave the room before activating the Cell, and come back later with the Cell still sloted into the Cell Lock Statue. The flag can be saved in the player save file to stay active forever.
Collectable Door
A fully customisable door like the one at the start of the core chapter in vanilla. You can change almost everything : size, sprites, colors (including particles), edges animation, sounds, speeds and, of course, what the door actually check for it to open. It can currently check the following : Total Hearts, Current chapter Heart, Current chapter Heart in the current session, Total Cassettes, Current chapter Cassette, Current chapter Cassette in the current session, Total Strawberries, Current chapter Strawberries, Current chapter Strawberries in the current session, Player has Golden Strawberry and Flags from a list of your choice. The door can also be horizontal instead of vertical. You can also register this door as opened in the player save file to have it stay open forever.
Custom Badeline Boss
A badeline boss that act just as the vanilla one, except you can change the color of the particles it uses.
Custom Checkpoint
When the player touch this entity, it will play a sound, play a sprite and the player respawn point will be set to the closest Player Spawn.
Custom Collectable
A collectable that will set a flag when collected by the player. This collectable can appear on the In-Game map, can change the music played or can complete the chapter after it's collected. The flag can be saved in the player save file to stay active forever.
Custom Coverup Wall
Same as vanilla Coverup Wall, but this one can use a different tileset depending of the state of a flag.
Custom Dash Block
Same as vanilla Dash Block, but this one can use a different tileset depending of the state of a flag.
Custom End Screen Controller
Allows you to have multiple end screens in your map, based on various conditions. You can have as many end-screens as you want (use one controller per end screen). Conditions that can be checked currently include:
- Flags
- Time spend in the level
- Number of strawberries collected
- Percent of items (strawberries, hearts and cassettes) collected
- Percent of In-Game map explored
These condition can check for the current chapter values or the whole campaign values.
If none of the end-screen you have defined in these controllers have their conditions true, the normal end screen will be displayed instead.
These end screens can also display additionnal informations on the screen itself, including timen strawberries collected, items and map percents, as well as some custom text of your liking.
Custom Exit Block
Just as a vanilla Exit Block, except all the Custom Exit Blocks in the same room will turn solid when the player is not inside any of them.
Custom Torch
A torch-like entity that can have a custom sprite, light and particles color, and you can set a flag that must be true for the torch to activate on it's own.
Drone Gate
A small gate that will only open if the Remote Drone from the Remote Drone upgrade is nearby. You can use flags to activate/deactivate it.
Drone Switch
A small switch that can only be triggered by the Remote Drone from the Remote Drone upgrade. The Remote Drone must shoot at it for it to either set or unset a flag. These switches attach to any adjacent solids.
Elevator
Use this elevator to transport the player in an other room of the current chapter or even an other chapter! Elevators can be a bit tricky to set-up corectly. You can have a look at how it's done in SoCM to get an idea.
Elevator Barrier
Same as an invisible barrier, except the player can go trough it when ridding an elevator. Can be used to prevent the player to enter an elevator shaft for example.
Ethereal Block
A solid block that look like a normal wall, but can be dashed trough if the player has the Ethereal Dash ability.
Flag Block
A solid block that destroy itself when a specific flag is true. If the player enter the room while the flag is already true, the block will not appear.
Flag Dash Switch
A dash switch that set a flag when the player dash into it. The flag can be saved in the player save file to stay active forever.
Flag Swap Block
Just as a vanilla Swap Block, but you can customise it's speed and sprites, turn it into a Toogle Block (so the block doses not come back to it's original position on it's own), change the particles colors and set a flag that must be true for the block to react to the player dash.
Flag Temple Gate
Just as a vanilla Temple Gate, but this one open only if a specified flag is true.
Heat Controller
Place one in any room you want to set as 'heated'. The player will die after a set amount of time has passed once they enter a heated room. A thermometer-like visual will also show the player the time they have left before they die. If your map use upgrades, the player will be immune to that effect if they have collected the Vara Jacket upgrade. if your map use the In-Game map, heated rooms will apear in their own color (orange by default).
Laser Detector
As long as a laser from a Laser Emitter collide with one side of this detector (you can specify the sides the detector will check), it will set a flag.
Laser Emitter
Fire a laser in the direction of your choice. It can fire 3 types of lasers:
- Red : Kill the player on contact
- Blue : Kill the player if they try to dash trough it
- Yellow : Kill the player if they do not dash trough it
Lasers emitters can attach to solid entities, and the laser itself will dynamically collide with any solid entities or foreground tiles on it's path as well.
InGame Map Controller
Use this to add and customise an In-Game Map (Metroid Inspired) to your map. You can change most of the colours used to make it look like you want. The In-Game Map will track berries, hearts, cassettes, warps (see bellow) and upgrades collected by the player. Each time the player enter a new room, it will be added on the map. You only need one InGameMapController per chapter.
In Game Map Hint Controller
Use this controller to add hints on the In-Game map. Those hints can be used to help the player find the way forward, or point to important locations, based on flags states. Hints can either be a target, or an arrow. Targets are best used to indicate a location the player should head toward, while arrows can be used to indicate a transition to an other chapter trough an Elevator or an Teleport To Chapter Trigger for example. If there is at least one room in the current chapter with an In Game Map Hint Controller, a button will appear on the In-Game map to allow the player to toggle hints on or off.
In Game Map Room Controller
Use this in each room of your map to define where the entrances of the room are so they are shown correctly on the In-Game Map. You can also set if a room is visible even if the player hasn't entered it yet, or if it is a secret room.
In Game Map Room Adjust Controller
Use this to adjust the position, size and entrances of a room if the way the code auto-generated them doesn't look good. You can also use this in combination with a StopAdjustInGameMapTrigger to make nice secrets.
In Game Map Sub Area Controller
Use this controller to define custom parameters used by the In-Game map that will apply to a set of rooms. You can change the colors used to draw these rooms and the name of the Sub-Area that will be displayed at the top of the map when the player is in one of these rooms.
In Game Map Tiles Controller
Use this to customise wich tiles are drawn for your room on the In-Game Map. This allows you to have rooms that aren't necessarily rectangles on the map, or have some special tiles for specifics rooms such as elevator rooms! Rooms that use this controller will also allows the In-Game Map to show exactly wich tiles the player has visited when it enter them instead of considering the whole room visited upon entering.
Jump Block
A cassette-like block that switch from solid to air each time the player jump.
Jump Blocks Flip Sound Controller
Use this to specify the sounds that should play each time the jump blocks in the room switch from solid to air, or air to solid. If you do not use this, cassette blocks sounds will be used.
Linked Fake Wall
Just as a vanilla Fake Wall, but you can link more than one together so they all reveal when the player enter one of them.
Liquid
An entity that can either be Acid, Lava, Quicksand or Water. Acid will kill the player on contact, Lava will emit bubble sounds and kill the player on contact. Quicksand will sink the player into it, heavily slow them down, reduce their jump height and prevent them to dash or climb when they are inside it. Water will slow down the player when they are inside it. If your map use upgrades, the player will be immune to the slow effect if they have collected the Gravity Jacket upgrade. The liquids can be set to move up and down and use custom sprites and colors.
Magnetic Ceiling
A ceiling that the player can grab, just like any vertical wall, by holding the Grab button while under it. While grabbed to the ceiling, the player can move left and right, but cannot dash or jump (unless you allows it). Staying still cost stamina, and moving cost even more stamina. If the magnetic ceiling is attached to any solid entity, that entity will consider the player as on top of it when the player is grabbing the ceiling. This allows falling blocks to fall or zip mover to activate when the player grab the ceiling for example. If your map use upgrades, the player will need to collect the Spider Magnet upgrade to be able to grab these ceilings.
Merge Chapters Controller
Use this controller in the first chapter (or the prologue) of your campaign to create the illusion that all chapters from your campaign is only one big chapter. This will remove the chapter selection screen and replace it with a single panel displaying stats for all chapters combined (total strawberries, cassettes, hearts (A, B and C sides separated) and deaths (A, B and C sides separated). The player will start at the begining of the first chapter (or prologue) of your campaign the first time they start it, then they will be loaded in a specific room based on the mode you set in this controller:
- Rooms: The player will start in the last room they visited, at the spawnpoint they had when they left. (Similar to a save and quit)
- Warps: The player will start on the last Warp Station they stood on.
To progress to other chapters, you can use Elevators, Teleport to Chapter Triggers and Warp Stations.
To enter B and C sides, you can use Teleport to Other Side Portals.
This controller can also be used to do some things that are not normally possible, such as more than one heart/cassette in a chapter, or multiple B/C sides (by creating fake chapters and linking them to your real chapter)
Slope
Slopes allows you to move the player up or down nicely. You can also allow the player to slide on them! Please note that Celeste was never developped with slopes in mind, so this is kind of a workaround. It's likely to have issues, and only supports the following entities for now: Player (obviously), Theo Crystal, Jellyfish, Pufferfish and Seekers. Other entities will not collide with the slope.
Set Stats Flags Controller
Use this controller in the first chapter (or the prologue) of your campaign to automatically gain access to some flags based on the player progression in your campaign. The controller will enable the flags in every chapters of your campaign, even if the player is not in the ones they correspond. This allows you to use flags from the player progress of a different chapter than the one the player is currently in. You can also use these flags in combinaison with Achievement Helper to easily add some achievements to your campaign. The current conditions checked and the flags associed are:
- In-Game map of each chapter fully explored: XaphanHelper_StatFlag_MapCh[ChapterIndex]
- Entered a sub-area on the In-Game map for the first time: XaphanHelper_StatFlag_MapCh[ChapterIndex]-[SubArea]-Visited
- Sub- area on the In-Game map fully explored: XaphanHelper_StatFlag_MapCh[ChapterIndex]-[SubArea]
- All strawberries of each chapter collected: XaphanHelper_StatFlag_StrawberriesCh[ChapterIndex]
- All strawberries of each sub-area of each chapter collected: XaphanHelper_StatFlag_StrawberriesCh[ChapterIndex]-[SubArea]
- All blue crystal hearts collected: XaphanHelper_StatFlag_Hearts
- All cassettes collected: XaphanHelper_StatFlag_Cassettes
- B-Side crystal heart of each chapter collected: XaphanHelper_StatFlag_BSideCh[ChapterIndex]
- Golden strawberries collected: XaphanHelper_StatFlag_GoldenCh[ChapterIndex]-[Mode]
[ChapterIndex] is the number of the chapter displayed on the Chapter Panel. If your chapter is an interlude, [ChapterIndex] is 0.
[Mode] is 0 for A-Sides, 1 for B-Sides and 2 for C-Sides.
[SubArea] is the index of the sub-area specified in InGameMapSubAreaControllers.
Teleport to Other Side Portal
A portal that will teleport the player to the B or C side of the current chapter. If the destination side is not unlocked yet for that chapter, it will be unlocked after using the portal. This mean this portal can be used in place of a cassette for example. This also allows the player to enter the C side before unlocking the B side of a chapter. You can add some checks for the portal to appear :
- The cassette must be collected.
- The C Sides must be unlocked.
- One or more flags must be set.
You can also use this portal to teleport the player back to the A side of a chapter when in the B or C side.
Timed Dash Switch
A dash switch that set start a timer (duration of your choice) when the player dash into it. While the timer is ticking, if the player dash into an other Timed Dash Switch, it can either extend the timer or set it to a specified value. A ticking sound will also play while the timer is ticking. This sound can either be on top of the current music, replace it, or not be there at all. Timed entities (see bellow) will react differently while the timer is ticking.
Timed Block
A cassette-like block that switch from solid to air or air to solid when a timer is ticking.
Timed Strawberry
A strawberry that only appear if a timer is ticking. If the timer run out before the player collect the strawberry, it will disapear and return to it's original position. You can allow the player to collect the strawberry even if the timer run out, as long as the player grabbed it.
Timed Temple Gate
Just as a vanilla Temple Gate, but this one open only when a timer is ticking. You can set it to start opened, and it will close while the timer is ticking.
Timer Refill
A refill that appear only if a timer is ticking. If the player collect it, it can either extend the timer or set it to a specified value.
Upgrade Collectable
A collectable that will grant the player the ability of your choice when collected. Abilities names and sprites can be customised.
Current abilities include :
- Map : Allows the player to open the In-Game map and show the minimap
- Map Shard: Reveal all rooms set as 'Show Unexplored' in their respective In Game Map Room Controller on the In-Game map for the current chapter.
- Binoculars: Allows the player to spawn binoculars at will, allowing them to preview the room they are in.
- Bombs: Allows the player to spawn bombs that can destroy some walls.
- Climbing Kit: Allows the player to climb walls. (requires PowerGrip)
- Dash Boots: Allows the player to dash.
- Drone Teleport: Allows the player to instantly teleport to the location of the Remote Drone. (requires Remote Drone)
- Ethereal Dash: Allows the player to dash trough Ethereral Blocks.
- Golden Feather: Allows the player to summon a feather to glide and ride wind currents.
- Gravity Jacket: Allows the player to move freely in water. (Liquid entity only, not vanilla water)
- Hover Jet : Allows the Remote Drone to stop their fall speed for a short time and to move left or right while doing so. (requires Remote Drone)
- Ice Beam: Allows the Remote Drone beam to freeze some entities that can then be steped onto. (requires Remote Drone)
- Jump Boost : Allows the Remote Drone to jump higher.
- Lightning Dash: Allows the player to horizontally dash in the opposite direction of the wall they are grabbing until they hit a solid wall or entity.
- Long Beam: Allows the Remote Drone beam to reach futher targets. (requires Remote Drone)
- Mega Bombs: Allows the player to spawn a big bomb that destroy some walls and can bounce the player far away.
- Portable Station: Allows the player to teleport to any unlocked Warp Station from their current position.
- Power Grip: Allows the player to grab.
- Pulse Radar: Allows the player to reveal secret passages near their position.
- Remote Drone: Allows the player to spawn a remote drone that they can control. the drone can fit into small gaps (1 tile height), destroy certains blocks, activate Drone Switches and Drone Gates, and is immune to lava.
- Screw Attack: Allows the player to destroy certains blocks, increase its horizontal speed and protect it from some obstacles while jumping. (currently, lasers from Laser Emitters).
- Space Jump: Allows the player to jump again once in mid-air.
- Spider Magnet: Allows the player to grab onto magnetic ceilings.
- Varia Jacket: Allows the player to survive in heated rooms and lava. (Liquid entity only, not vanilla lava).
- Wave Beam: Allows the Remote Drone beam to go trough walls and solid entities. (requires Remote Drone)
Upgrade Controller
Use this controller to tell the game your map is using abilities. You can also set the abilities the player will be limited to, and the ones the player will start with when grabbing a golden berry. You only need one Upgrade Controller per chapter.
Warp Station
A station to add a fast travel system to your map. Each time the player activates a warp station (by standing on it), it is added to a list of possible destinations from all other warp stations. It is also possible to fast travel to another chapter of the same campaign. If your campaign uses the in-game map, it will be displayed when the player interacts with the warp station to show where the destination really is. The list of destinations is saved in the save file. If the player carries a golden strawberry, all warp stations will be temporarily inactive again and will have to be reactivated to prevent any cheese. You can customise the wipe that will play during the teleport process.
Triggers :
Flag On Interact Trigger
When the specified flags are set, the player will be able to interact with this trigger to set or uneset a flag of your choice.
Global Flag Trigger
When the player enter this trigger, it set or unset a flag that will be active for all chapters of the current campaign. Useful to set a flag in one chapter, that affect something in an other chapter. Flags set by this controller are automatically prefixed by 'Ch[chapterIndex]_' where [chapterIndex] is the chapter index of the chapter this trigger is in. If the chapter is set as an Interlude, [chapterIndex] will be 0.
Hide Mini Map Trigger
When the player is inside this trigger, the mini map will not be visible regardless of what the player has set in mods options.
Multi Music Trigger
When the player enter this trigger, it will change the music played based on the state of 2 flags :
- Play a specific music only if one of the flag is set
- Play a specific music only if the other flag is set
- Play a specific music only if both flags are set
- Play a specific music only if none of the flags are set
Reset Flags Trigger
When the player enter this trigger, it will set specified flags to true or false. Flags can also be added or removed from the player save file using this trigger (Note : This is different from the Global Flags Trigger above : flags set/unset by this trigger only affect the chapter of your campaign this trigger is in). You can set this trigger to remove itself if the player is not inside of it, allowing it to work only if the player spawn inside of it, or when the player enter a room from a specific entrance.
Start Countdown Trigger
When the player enter this trigger, it start a global countdown that will kill the player and sent him back to the room the countdown started if it reach 0 before the player reach a Stop Countdown Trigger. This countdown can display a message on screen before it start, set a flag, shake the screen continuously, display random explosions on screen and can continue from a chapter to another if using Elevators, Warp Stations or a Teleport to Chapter Trigger.
Stop Adjust In Game Map Trigger
When the player enter this trigger, the room he is in will no longer be adjusted on the map. Can be used to reveal some entrances, or change the size of the room on the map for example.
Stop Countdown Trigger
When the player enter this trigger, it will stop any current countdown.
Stop Entity Respawn Trigger
When the player enter this trigger, specific entities in the room of your choice will no longer spawn. This currently work only with Break Blocks.
Sub Area Name Trigger
When the player enter this trigger, a text will be displayed on screen for a short time (customisable). Used to display the name of a sub-area of your map. The game will remember witch sub-area the player is in, and won't display the name if the player is already in the area the trigger is supposed to show.
Teleport to chapter Trigger
When the player enter this trigger or interact with it, they will be teleported to the chapter of your choice, in the room of your choice. You can customise the wipe that will play during the teleport process.
Unlock Warp Trigger
When the player enter this trigger, it will activate the warp specified. The player can then use Warps Stations to warp to this new location even if they did not have it activated before.
Upgrade Trigger
When the player enter this trigger, it will get the specified upgrade immediately. Refer to the Upgrade Collectable section for a list of all upgrades avaiable. This trigger can also remove the specified upgrade from the player instead.
Effects:
Heat Particles
Same effect than the vanilla Heatwawe effect, but without the screen distortion and the Hot colorgrade. You can set the amount of particle, their colors and if you want the mist to show or not.
Glow
An effect intended to be used primarily for backgrounds, darkening and then lightening them repeatedly to give the illusion that they are glowing. The color can be changed to allow usages for others purposes.