diff --git a/SneakySalamander.json b/SneakySalamander.json index cdb1bd5bcf20fa8b3f98af506b037c90025d58ef..3bf18f5f3821787d8b980f5a7555737db7616e06 100644 --- a/SneakySalamander.json +++ b/SneakySalamander.json @@ -77150,103 +77150,84 @@ { "angle": 0, "customSize": true, - "depth": 1, - "height": 512, - "layer": "", - "name": "Ladder", - "persistentUuid": "6eae3971-b2cb-42d6-809b-b57eea147086", - "width": 171, - "x": 1237, - "y": -256, - "zOrder": 92, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "depth": 1, - "height": 512, - "layer": "", - "name": "Ladder", - "persistentUuid": "d54e7147-b6ae-442d-94a0-26133cb07b59", - "width": 171, - "x": 1237, - "y": 256, - "zOrder": 92, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "depth": 4, - "height": 64, + "depth": 0, + "height": 192, "layer": "", - "name": "BoundaryJumpThrough", - "persistentUuid": "4b7ec248-3192-4172-9285-d163c81ebfd8", + "name": "LaserDemon_Base", + "persistentUuid": "c65b24a8-231e-4bc5-b84d-7a277b03b4a8", "width": 192, - "x": 1216, - "y": -256, - "zOrder": 93, + "x": 1120, + "y": 288, + "zOrder": 1017, "numberProperties": [], "stringProperties": [], - "initialVariables": [] + "initialVariables": [ + { + "folded": true, + "name": "OnOffTime", + "type": "number", + "value": 3 + }, + { + "folded": true, + "name": "FireOffsetTime", + "type": "number", + "value": 0 + } + ] }, { "angle": 0, "customSize": true, - "depth": 1, - "height": 448, - "layer": "", - "name": "StaticPlatform3", - "persistentUuid": "d54f81d2-3bd8-4102-9269-8da3da570711", - "width": 896, - "x": 832, - "y": 736, - "zOrder": 72, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 180, - "customSize": true, "depth": 0, "height": 192, "layer": "", - "name": "MiteDemon_Base", - "persistentUuid": "c09e9be1-d387-4241-86e5-fd9a3cd97beb", - "width": 256, - "x": 2080, + "name": "LaserDemon_Base", + "persistentUuid": "ed4645b7-1bd0-453d-8a8c-dc9130656fff", + "width": 192, + "x": 1120, "y": 640, - "zOrder": 155, + "zOrder": 1017, "numberProperties": [], "stringProperties": [], "initialVariables": [ { "folded": true, - "name": "FireOffsetTime", + "name": "OnOffTime", "type": "number", - "value": 0.75 + "value": 3 }, { "folded": true, - "name": "ProjectileLifetime", + "name": "FireOffsetTime", "type": "number", - "value": 3 - }, + "value": 0 + } + ] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "LaserDemon_Beam", + "persistentUuid": "1bb36d2f-096f-4ae1-af6b-f46090caaac8", + "width": 0, + "x": 1152, + "y": 448, + "zOrder": 1018, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [ { "folded": true, - "name": "MiteMaxSpeed", + "name": "FireOffsetTime", "type": "number", - "value": 600 + "value": 0 }, { "folded": true, - "name": "FireFrequencyTime", + "name": "OnOffTime", "type": "number", "value": 3 } @@ -77609,6 +77590,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Keyboard Player Controls", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -78659,6 +78641,64 @@ "60" ] } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "LaserDemon_Base", + "FireOffsetTime", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "NeedsOffsetReset", + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "LaserDemon_Base", + "FireOffsetTime", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "NeedsOffsetReset", + "True" + ] + } + ] + } ] }, { @@ -79061,6 +79101,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Set Positions for Killable Enemies and Moving Platforms To Reset To", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -79216,18 +79257,6 @@ "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Guys guys I think I got inheritance working" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -80018,7 +80047,6 @@ "colorG": 16, "colorR": 189, "creationTime": 0, - "folded": true, "name": "Laser Demon", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -80080,6 +80108,36 @@ "LaserDemon_BeamSingle.Y()" ] } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "LaserDemon_Base", + "FireOffsetTime", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "NeedsOffsetReset", + "False" + ] + } + ] + } ] }, { @@ -80138,18 +80196,6 @@ } ] }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure if beam is supposed to come on almost immediately, we still play a short charging up animation" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -80163,137 +80209,186 @@ "<", "1" ] - }, - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "LaserDemon_Base", - "CurrentlyChargingOrHasChargedUp", - "" - ] } ], - "actions": [ - { - "type": { - "value": "Tween::TweenBehavior::AddObjectOpacityTween2" - }, - "parameters": [ - "LaserDemon_Base", - "Tween", - "\"ChargeUp\"", - "255", - "\"linear\"", - "max(LaserDemon_Base.FireOffsetTime, 0.15)", - "" - ] - }, + "actions": [], + "events": [ { - "type": { - "value": "SetObjectVariableAsBoolean" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "LaserDemon_Base", - "CurrentlyChargingOrHasChargedUp", - "True" - ] + "comment": "Make sure if beam is supposed to come on almost immediately, we still play a short charging up animation" }, { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "LaserDemon_Base", - "NeedsOffsetReset", - "False" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reset timer if offset reached" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "LaserDemon_Base", - "FireOffsetTime", - "!=", - "0" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "CurrentlyChargingOrHasChargedUp", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Tween::TweenBehavior::AddObjectOpacityTween2" + }, + "parameters": [ + "LaserDemon_Base", + "Tween", + "\"ChargeUp\"", + "255", + "\"linear\"", + "max(LaserDemon_Base.FireOffsetTime, 0.15)", + "" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "CurrentlyChargingOrHasChargedUp", + "True" + ] + } ] }, { - "type": { - "value": "ObjectVariableAsBoolean" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "LaserDemon_Base", - "NeedsOffsetReset", - "True" - ] + "comment": "Reset timer if offset reached" }, { - "type": { - "value": "CompareObjectTimer" - }, - "parameters": [ - "LaserDemon_Base", - "\"FireTimer\"", - ">=", - "LaserDemon_Base.FireOffsetTime" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "LaserDemon_Base", - "NeedsOffsetReset", - "False" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "NeedsOffsetReset", + "True" + ] + }, + { + "type": { + "value": "CompareObjectTimer" + }, + "parameters": [ + "LaserDemon_Base", + "\"FireTimer\"", + ">=", + "LaserDemon_Base.FireOffsetTime" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "NeedsOffsetReset", + "False" + ] + }, + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "LaserDemon_Base", + "\"FireTimer\"" + ] + } ] }, { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "LaserDemon_Base", - "\"FireTimer\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "CurrentlyChargingOrHasChargedDown", + "True" + ] + }, + { + "type": { + "value": "CompareObjectTimer" + }, + "parameters": [ + "LaserDemon_Base", + "\"FireTimer\"", + ">=", + "2 * LaserDemon_Base.OnOffTime - LaserDemon_Base.FireOffsetTime - (1 - LaserDemon_Base.FireOffsetTime)" + ] + } + ], + "actions": [ + { + "type": { + "value": "Tween::TweenBehavior::AddObjectOpacityTween2" + }, + "parameters": [ + "LaserDemon_Base", + "Tween", + "\"ChargeUp\"", + "255", + "\"linear\"", + "1", + "" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "CurrentlyChargingOrHasChargedUp", + "True" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "CurrentlyChargingOrHasChargedDown", + "False" + ] + } ] } ] }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Charging up animation (glow) 1 sec before laser appears" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -80307,52 +80402,141 @@ ">=", "1" ] - }, + } + ], + "actions": [], + "events": [ { - "type": { - "value": "ObjectVariableAsBoolean" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "LaserDemon_Base", - "CurrentlyChargingOrHasChargedUp", - "" - ] + "comment": "Reset timer if offset reached" }, { - "type": { - "value": "CompareObjectTimer" - }, - "parameters": [ - "LaserDemon_Base", - "\"FireTimer\"", - ">=", - "LaserDemon_Base.FireOffsetTime - 1" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "NeedsOffsetReset", + "True" + ] + }, + { + "type": { + "value": "CompareObjectTimer" + }, + "parameters": [ + "LaserDemon_Base", + "\"FireTimer\"", + ">=", + "LaserDemon_Base.FireOffsetTime" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "NeedsOffsetReset", + "False" + ] + }, + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "LaserDemon_Base", + "\"FireTimer\"" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "Tween::TweenBehavior::AddObjectOpacityTween2" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "LaserDemon_Base", - "Tween", - "\"ChargeUp\"", - "255", - "\"linear\"", - "1", - "" - ] + "comment": "Charging up animation (glow) 1 sec before laser appears" }, { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "LaserDemon_Base", - "CurrentlyChargingOrHasChargedUp", - "True" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "CurrentlyChargingOrHasChargedUp", + "" + ] + }, + { + "type": { + "value": "CompareObjectTimer" + }, + "parameters": [ + "LaserDemon_Base", + "\"FireTimer\"", + ">=", + "LaserDemon_Base.FireOffsetTime - 1" + ] + } + ], + "actions": [ + { + "type": { + "value": "Tween::TweenBehavior::AddObjectOpacityTween2" + }, + "parameters": [ + "LaserDemon_Base", + "Tween", + "\"ChargeUp\"", + "255", + "\"linear\"", + "1", + "" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "CurrentlyChargingOrHasChargedUp", + "True" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "CurrentlyChargingOrHasChargedDown", + "False" + ] + } ] } ] @@ -80428,6 +80612,16 @@ "CurrentlyChargingOrHasChargedDown", "True" ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "CurrentlyChargingOrHasChargedUp", + "False" + ] } ] }, @@ -80477,35 +80671,35 @@ "LaserDemon_Base", "\"FireTimer\"" ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "LaserDemon_Base", - "CurrentlyChargingOrHasChargedUp", - "False" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "LaserDemon_Base", - "CurrentlyChargingOrHasChargedDown", - "False" - ] - }, + } + ], + "events": [ { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "LaserDemon_Base", - "NeedsOffsetReset", - "True" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "LaserDemon_Base", + "FireOffsetTime", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "LaserDemon_Base", + "NeedsOffsetReset", + "True" + ] + } ] } ] @@ -82287,6 +82481,7 @@ "colorG": 16, "colorR": 189, "creationTime": 0, + "folded": true, "name": "Shockwave Demon", "source": "", "type": "BuiltinCommonInstructions::Group",