diff --git a/assets/images/editors/charter/event-icons/Camera Bop.png b/assets/images/editors/charter/event-icons/Camera Bop.png new file mode 100644 index 00000000..81864449 Binary files /dev/null and b/assets/images/editors/charter/event-icons/Camera Bop.png differ diff --git a/source/funkin/backend/chart/EventsData.hx b/source/funkin/backend/chart/EventsData.hx index 9ef2e4f2..7c4f9aec 100644 --- a/source/funkin/backend/chart/EventsData.hx +++ b/source/funkin/backend/chart/EventsData.hx @@ -10,7 +10,7 @@ import openfl.Assets; using StringTools; class EventsData { - public static var defaultEventsList:Array = ["HScript Call", "Camera Movement", "Camera Position", "Add Camera Zoom", "Camera Zoom", "Camera Modulo Change", "Camera Flash", "BPM Change", "Continuous BPM Change", "Time Signature Change", "Scroll Speed Change", "Alt Animation Toggle", "Play Animation"]; + public static var defaultEventsList:Array = ["HScript Call", "Camera Movement", "Camera Position", "Add Camera Zoom", "Camera Bop", "Camera Zoom", "Camera Modulo Change", "Camera Flash", "BPM Change", "Continuous BPM Change", "Time Signature Change", "Scroll Speed Change", "Alt Animation Toggle", "Play Animation"]; public static var defaultEventsParams:Map> = [ "HScript Call" => [ {name: "Function Name", type: TString, defValue: "myFunc"}, @@ -56,6 +56,9 @@ class EventsData { {name: "Amount", type: TFloat(-10, 10, 0.01, 2), defValue: 0.05}, {name: "Camera", type: TDropDown(['camGame', 'camHUD']), defValue: "camGame"} ], + "Camera Bop" => [ + {name: "Amount", type: TFloat(-10, 10, 0.1, 2), defValue: 0.1} + ], "Camera Zoom" => [ {name: "Tween Zoom?", type: TBool, defValue: true}, {name: "New Zoom", type: TFloat(-10, 10, 0.01, 2), defValue: 1}, diff --git a/source/funkin/game/PlayState.hx b/source/funkin/game/PlayState.hx index 13143e83..6a12bd64 100644 --- a/source/funkin/game/PlayState.hx +++ b/source/funkin/game/PlayState.hx @@ -1569,6 +1569,8 @@ class PlayState extends MusicBeatState case "Add Camera Zoom": var camera:FlxCamera = event.params[1] == "camHUD" ? camHUD : camGame; camera.zoom += event.params[0]; + case "Camera Bop": + camZoomingMult += event.params[0]; case "Camera Zoom": var cam = event.params[2] == "camHUD" ? camHUD : camGame; var name = (event.params[2] == "camHUD" ? "camHUD" : "camGame") + ".zoom"; // avoiding having different values from these 2 - Nex