Skip to content

Commit

Permalink
Add Flag-Toggle Camera Catchup Speed Trigger
Browse files Browse the repository at this point in the history
  • Loading branch information
maddie480 committed Aug 21, 2024
1 parent 3952a4c commit c95563f
Show file tree
Hide file tree
Showing 5 changed files with 61 additions and 0 deletions.
6 changes: 6 additions & 0 deletions Ahorn/lang/en_gb.lang
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ placements.entities.MaxHelpingHand/TempleEyeTrackingMadeline.tooltips.spriteDire
placements.triggers.MaxHelpingHand/CameraCatchupSpeedTrigger.tooltips.catchupSpeed=Raise this value to have the camera scroll quicker to its target. Vanilla values are 8 during the temple fall cutscene, and 1 everywhere else.
placements.triggers.MaxHelpingHand/CameraCatchupSpeedTrigger.tooltips.revertOnLeave=Whether the camera catchup speed should go back to normal after leaving the trigger.

# Flag Toggle Camera Catchup Speed Trigger
placements.triggers.MaxHelpingHand/FlagToggleCameraCatchupSpeedTrigger.tooltips.catchupSpeed=Raise this value to have the camera scroll quicker to its target. Vanilla values are 8 during the temple fall cutscene, and 1 everywhere else.
placements.triggers.MaxHelpingHand/FlagToggleCameraCatchupSpeedTrigger.tooltips.revertOnLeave=Whether the camera catchup speed should go back to normal after leaving the trigger.
placements.triggers.MaxHelpingHand/FlagToggleCameraCatchupSpeedTrigger.tooltips.flag=The flag this trigger should react to.
placements.triggers.MaxHelpingHand/FlagToggleCameraCatchupSpeedTrigger.tooltips.inverted=If checked, the trigger will be disabled when the flag is active.\nIf unchecked, the trigger will be enabled when the flag is active.

# Flag Touch Switch
placements.entities.MaxHelpingHand/FlagTouchSwitch.tooltips.flag=The session flag this touch switch sets. Give the same to multiple touch switches and switch gates to group them.
placements.entities.MaxHelpingHand/FlagTouchSwitch.tooltips.icon=The name of the icon for the touch switch (relative to objects/MaxHelpingHand/flagTouchSwitch), or "vanilla" for the default one.
Expand Down
15 changes: 15 additions & 0 deletions Ahorn/triggers/maxHelpingHandCameraFlagToggleCatchupSpeed.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
module MaxHelpingHandFlagToggleCameraCatchupSpeedTrigger

using ..Ahorn, Maple

@mapdef Trigger "MaxHelpingHand/FlagToggleCameraCatchupSpeedTrigger" FlagToggleCameraCatchupSpeedTrigger(x::Integer, y::Integer, width::Integer=Maple.defaultTriggerWidth, height::Integer=Maple.defaultTriggerHeight,
catchupSpeed::Number=1.0, revertOnLeave::Bool=true, flag::String="flag_toggle_camera_catchup_speed", inverted::Bool=false)

const placements = Ahorn.PlacementDict(
"Camera Catchup Speed (Flag-Toggled) (Maddie's Helping Hand)" => Ahorn.EntityPlacement(
FlagToggleCameraCatchupSpeedTrigger,
"rectangle"
)
)

end
7 changes: 7 additions & 0 deletions Loenn/lang/en_gb.lang
Original file line number Diff line number Diff line change
Expand Up @@ -874,6 +874,13 @@ triggers.MaxHelpingHand/CameraCatchupSpeedTrigger.placements.name.trigger=Camera
triggers.MaxHelpingHand/CameraCatchupSpeedTrigger.attributes.description.catchupSpeed=Raise this value to have the camera scroll quicker to its target. Vanilla values are 8 during the temple fall cutscene, and 1 everywhere else.
triggers.MaxHelpingHand/CameraCatchupSpeedTrigger.attributes.description.revertOnLeave=Whether the camera catchup speed should go back to normal after leaving the trigger.

# Flag Toggle Camera Catchup Speed Trigger
triggers.MaxHelpingHand/FlagToggleCameraCatchupSpeedTrigger.placements.name.trigger=Camera Catchup Speed (Flag-Toggled)
triggers.MaxHelpingHand/FlagToggleCameraCatchupSpeedTrigger.attributes.description.catchupSpeed=Raise this value to have the camera scroll quicker to its target. Vanilla values are 8 during the temple fall cutscene, and 1 everywhere else.
triggers.MaxHelpingHand/FlagToggleCameraCatchupSpeedTrigger.attributes.description.revertOnLeave=Whether the camera catchup speed should go back to normal after leaving the trigger.
triggers.MaxHelpingHand/FlagToggleCameraCatchupSpeedTrigger.attributes.description.flag=The flag this trigger should react to.
triggers.MaxHelpingHand/FlagToggleCameraCatchupSpeedTrigger.attributes.description.inverted=If checked, the trigger will be disabled when the flag is active.\nIf unchecked, the trigger will be enabled when the flag is active.

# Camera Offset Border
triggers.MaxHelpingHand/CameraOffsetBorder.placements.name.trigger=Camera Offset Border
triggers.MaxHelpingHand/CameraOffsetBorder.attributes.description.topLeft=Whether this border should have an effect when the player is on the top-left of it.
Expand Down
19 changes: 19 additions & 0 deletions Loenn/triggers/flagToggleCameraCatchupSpeed.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
local mods = require("mods")
local generateTriggerName = mods.requireFromPlugin("libraries.triggerRenamer")

local trigger = {}

trigger.name = "MaxHelpingHand/FlagToggleCameraCatchupSpeedTrigger"
trigger.category = "camera"
trigger.triggerText = generateTriggerName
trigger.placements = {
name = "trigger",
data = {
catchupSpeed = 1.0,
revertOnLeave = true,
flag = "flag_toggle_camera_catchup_speed",
inverted = false
}
}

return trigger
14 changes: 14 additions & 0 deletions Triggers/FlagToggleCameraCatchupSpeedTrigger.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
using Celeste.Mod.Entities;
using Microsoft.Xna.Framework;
using Monocle;

namespace Celeste.Mod.MaxHelpingHand.Triggers {
[CustomEntity("MaxHelpingHand/FlagToggleCameraCatchupSpeedTrigger")]
public static class FlagToggleCameraCatchupSpeedTrigger {
public static Entity Load(Level level, LevelData levelData, Vector2 offset, EntityData entityData) {
Trigger trigger = new CameraCatchupSpeedTrigger(entityData, offset);
trigger.Add(new FlagToggleComponent(entityData.Attr("flag"), entityData.Bool("inverted")));
return trigger;
}
}
}

0 comments on commit c95563f

Please sign in to comment.