From a9fc9af26be72ba9d6a7ef111baf1c160f601765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Sat, 15 Feb 2025 18:34:40 +0100 Subject: [PATCH 1/2] Upgrade extensions that use properties as variables --- examples/3d-racing-game/3d-racing-game.json | 5314 +++++++++++++------ examples/bim-bam/bim-bam.json | 2069 +++----- examples/top-down-rpg/top-down-rpg.json | 2532 +++++---- 3 files changed, 5892 insertions(+), 4023 deletions(-) diff --git a/examples/3d-racing-game/3d-racing-game.json b/examples/3d-racing-game/3d-racing-game.json index 2d4f3c994..85b02f964 100644 --- a/examples/3d-racing-game/3d-racing-game.json +++ b/examples/3d-racing-game/3d-racing-game.json @@ -1,9 +1,9 @@ { "firstLayout": "LevelSelection", "gdVersion": { - "build": 99, - "major": 4, - "minor": 0, + "build": 224, + "major": 5, + "minor": 5, "revision": 0 }, "properties": { @@ -18,7 +18,6 @@ "scaleMode": "linear", "sizeOnStartupMode": "", "templateSlug": "", - "useExternalSourceFiles": false, "version": "1.0.0", "name": "Racing game", "description": "An arcade racing game inspired from Out Run.\n\nAsset sources\n- Plants and cars are from Kenney\n- The montains are from pzUH", @@ -105,7 +104,6 @@ "resources": { "resources": [ { - "alwaysLoaded": false, "file": "assets/Summer Background.png", "kind": "image", "metadata": "", @@ -118,7 +116,6 @@ } }, { - "alwaysLoaded": false, "file": "assets/Grass.png", "kind": "image", "metadata": "{\"extension\":\".png\",\"localFilePath\":\"assets/Grass.png\",\"pskl\":{}}", @@ -127,7 +124,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Tree.png", "kind": "image", "metadata": "", @@ -140,7 +136,6 @@ } }, { - "alwaysLoaded": false, "file": "assets/bush (4).png", "kind": "image", "metadata": "", @@ -202,7 +197,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Grey.png", "kind": "image", "metadata": "", @@ -211,7 +205,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/White.png", "kind": "image", "metadata": "", @@ -220,7 +213,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Black.png", "kind": "image", "metadata": "", @@ -229,7 +221,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/CarHitbox.png", "kind": "image", "metadata": "", @@ -238,7 +229,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Grey.png", "kind": "image", "metadata": "", @@ -247,7 +237,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "preview.png", "kind": "image", "metadata": "", @@ -256,7 +245,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Bend44.png", "kind": "image", "metadata": "", @@ -265,7 +253,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Line2.png", "kind": "image", "metadata": "", @@ -274,7 +261,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/ZigZag44R.png", "kind": "image", "metadata": "", @@ -283,7 +269,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/ZigZag44L.png", "kind": "image", "metadata": "", @@ -292,7 +277,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/ZigZag24R.png", "kind": "image", "metadata": "", @@ -301,7 +285,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/ZigZag24L.png", "kind": "image", "metadata": "", @@ -310,7 +293,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Bend33.png", "kind": "image", "metadata": "", @@ -319,7 +301,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/NewSprite.png", "kind": "image", "metadata": "{\"extension\":\".png\"}", @@ -328,7 +309,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Bend22.png", "kind": "image", "metadata": "", @@ -337,7 +317,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/ZigZag34R.png", "kind": "image", "metadata": "", @@ -346,7 +325,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/ZigZag34L.png", "kind": "image", "metadata": "", @@ -355,7 +333,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/ZigZag43R.png", "kind": "image", "metadata": "", @@ -364,7 +341,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/ZigZag43L.png", "kind": "image", "metadata": "", @@ -373,7 +349,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Bend23R.png", "kind": "image", "metadata": "", @@ -382,7 +357,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Bend23L.png", "kind": "image", "metadata": "", @@ -391,7 +365,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Bend34R.png", "kind": "image", "metadata": "", @@ -400,7 +373,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Bend34L.png", "kind": "image", "metadata": "", @@ -409,7 +381,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Grey Button_Hovered.png", "kind": "image", "metadata": "", @@ -422,7 +393,6 @@ } }, { - "alwaysLoaded": false, "file": "assets/Grey Button_Idle.png", "kind": "image", "metadata": "", @@ -435,7 +405,6 @@ } }, { - "alwaysLoaded": false, "file": "assets/Grey Button_Pressed.png", "kind": "image", "metadata": "", @@ -448,7 +417,6 @@ } }, { - "alwaysLoaded": false, "file": "assets/Grass.png", "kind": "image", "metadata": "", @@ -457,7 +425,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Tree.png", "kind": "image", "metadata": "", @@ -466,7 +433,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Grey Button_Idle.png", "kind": "image", "metadata": "", @@ -605,9 +571,6 @@ { "name": "RightZigZag24" }, - { - "name": "RightBend24" - }, { "name": "Bend33" }, @@ -617,9 +580,6 @@ { "name": "LeftZigZag24" }, - { - "name": "LeftBend24" - }, { "name": "Line2" }, @@ -1302,7 +1262,8 @@ "leftFaceVisible": false, "rightFaceVisible": false, "topFaceVisible": false, - "bottomFaceVisible": false + "bottomFaceVisible": false, + "frontFaceResourceRepeat": false } }, { @@ -1599,7 +1560,8 @@ "leftFaceVisible": false, "rightFaceVisible": false, "topFaceVisible": false, - "bottomFaceVisible": false + "bottomFaceVisible": false, + "enableTextureTransparency": false } }, { @@ -2080,6 +2042,7 @@ "text": "Press any key\nto start", "font": "", "textAlignment": "center", + "verticalTextAlignment": "top", "characterSize": 48, "color": "255;255;255" } @@ -4359,6 +4322,10 @@ "name": "Anchor", "type": "AnchorBehavior::AnchorBehavior" }, + { + "name": "Animation", + "type": "AnimatableCapability::AnimatableBehavior" + }, { "name": "Billboard", "type": "Billboard::Billboard" @@ -4367,10 +4334,34 @@ "name": "Car", "type": "Car::Car" }, + { + "name": "Effect", + "type": "EffectCapability::EffectBehavior" + }, + { + "name": "Flippable", + "type": "FlippableCapability::FlippableBehavior" + }, + { + "name": "Object3D", + "type": "Scene3D::Base3DBehavior" + }, + { + "name": "Opacity", + "type": "OpacityCapability::OpacityBehavior" + }, + { + "name": "Resizable", + "type": "ResizableCapability::ResizableBehavior" + }, { "name": "RoadTileBehavior", "type": "Level::RoadTileBehavior" }, + { + "name": "Scale", + "type": "ScalableCapability::ScalableBehavior" + }, { "name": "ShakeModel3D", "type": "ShakeObject3D::ShakeModel3D", @@ -4379,6 +4370,10 @@ { "name": "SpeedPathMovement", "type": "CurvedMovement::SpeedPathMovement" + }, + { + "name": "Text", + "type": "TextContainerCapability::TextContainerBehavior" } ] }, @@ -4701,6 +4696,7 @@ "text": "Level", "font": "", "textAlignment": "center", + "verticalTextAlignment": "top", "characterSize": 60, "color": "72;72;79" } @@ -4784,6 +4780,7 @@ "text": "???", "font": "", "textAlignment": "center", + "verticalTextAlignment": "top", "characterSize": 60, "color": "72;72;79" } @@ -5366,6 +5363,7 @@ "text": "Score", "font": "", "textAlignment": "", + "verticalTextAlignment": "top", "characterSize": 60, "color": "72;72;79" } @@ -5460,6 +5458,7 @@ "text": "🡲", "font": "", "textAlignment": "center", + "verticalTextAlignment": "top", "characterSize": 60, "color": "72;72;79" } @@ -5543,6 +5542,7 @@ "text": "Menu", "font": "", "textAlignment": "center", + "verticalTextAlignment": "top", "characterSize": 60, "color": "72;72;79" } @@ -5626,6 +5626,7 @@ "text": "Restart", "font": "", "textAlignment": "center", + "verticalTextAlignment": "top", "characterSize": 60, "color": "72;72;79" } @@ -6288,6 +6289,8 @@ "2OwwM8ToR9dx9RJ2sAKTcrLmCB92" ], "dependencies": [], + "globalVariables": [], + "sceneVariables": [], "eventsFunctions": [ { "description": "Format time in seconds to HH:MM:SS.", @@ -6381,7 +6384,7 @@ "name": "PanelSpriteButton", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Interface Elements/Interface Elements_interface_ui_button_ok_cta_clock_tap.svg", "shortDescription": "A button that can be customized.", - "version": "1.4.4", + "version": "1.4.6", "description": [ "The button can be customized with a background for each state and a label. It handles user interactions and a simple condition can be used to check if it is clicked.", "", @@ -6399,6 +6402,8 @@ "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" ], "dependencies": [], + "globalVariables": [], + "sceneVariables": [], "eventsFunctions": [], "eventsBasedBehaviors": [ { @@ -6440,11 +6445,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -6453,11 +6457,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -6491,12 +6494,12 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyMouseIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "MouseIsInside", + "False", + "" ] } ] @@ -6506,11 +6509,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyShouldCheckHovering" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldCheckHovering", + "True", + "" ] }, { @@ -6527,12 +6531,12 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyMouseIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "MouseIsInside", + "True", + "" ] } ] @@ -6555,12 +6559,12 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "TouchIsInside", + "False", + "" ] } ] @@ -6570,11 +6574,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyTouchId" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "!=", "0" ] @@ -6585,20 +6588,20 @@ }, "parameters": [ "Object", - "TouchX(Object.Behavior::PropertyTouchId(), Object.Layer(), 0)", - "TouchY(Object.Behavior::PropertyTouchId(), Object.Layer(), 0)" + "TouchX(TouchId, Object.Layer(), 0)", + "TouchY(TouchId, Object.Layer(), 0)" ] } ], "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "TouchIsInside", + "True", + "" ] } ] @@ -6630,11 +6633,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "=", "0" ] @@ -6656,31 +6658,30 @@ }, "parameters": [ "Object", - "TouchX(StartedTouchOrMouseId(Object.Behavior::PropertyIndex()), Object.Layer(), 0)", - "TouchY(StartedTouchOrMouseId(Object.Behavior::PropertyIndex()), Object.Layer(), 0)" + "TouchX(StartedTouchOrMouseId(Index), Object.Layer(), 0)", + "TouchY(StartedTouchOrMouseId(Index), Object.Layer(), 0)" ] } ], "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", - "StartedTouchOrMouseId(Object.Behavior::PropertyIndex())" + "StartedTouchOrMouseId(Index)" ] }, { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "TouchIsInside", + "True", + "" ] } ], @@ -6722,11 +6723,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -6741,11 +6741,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "+", "1" ] @@ -6774,20 +6773,20 @@ { "type": { "inverted": true, - "value": "PanelSpriteButton::ButtonFSM::PropertyMouseIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "MouseIsInside", + "True", + "" ] }, { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -6796,11 +6795,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -6812,20 +6810,20 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyMouseIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "MouseIsInside", + "True", + "" ] }, { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -6834,11 +6832,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -6851,20 +6848,20 @@ { "type": { "inverted": true, - "value": "PanelSpriteButton::ButtonFSM::PropertyTouchIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "TouchIsInside", + "True", + "" ] }, { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -6873,11 +6870,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -6889,20 +6885,20 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyTouchIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "TouchIsInside", + "True", + "" ] }, { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -6911,11 +6907,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -6943,18 +6938,17 @@ }, "parameters": [ "", - "Object.Behavior::PropertyTouchId()" + "TouchId" ] } ], "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -6966,11 +6960,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -6979,11 +6972,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -6996,11 +6988,10 @@ { "type": { "inverted": true, - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -7008,11 +6999,10 @@ { "type": { "inverted": true, - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -7021,11 +7011,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -7108,22 +7097,20 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] }, { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -7158,11 +7145,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -7207,11 +7193,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -7256,11 +7241,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -7305,11 +7289,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -7331,11 +7314,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -7380,11 +7362,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -7429,11 +7410,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -7482,7 +7462,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyTouchId()" + "TouchId" ] } ] @@ -7580,9 +7560,16 @@ ], "eventsBasedObjects": [ { + "areaMaxX": 64, + "areaMaxY": 64, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, "defaultName": "Button", "description": "A button that can be customized.", "fullName": "Button (panel sprite)", + "isUsingLegacyInstancesRenderer": true, "name": "PanelSpriteButton", "eventsFunctions": [ { @@ -7876,10 +7863,10 @@ }, { "type": { - "value": "PanelSpriteButton::PanelSpriteButton::PropertyHoveredFadeOutDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "HoveredFadeOutDuration", ">", "0" ] @@ -7907,10 +7894,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::PanelSpriteButton::PropertyHoveredFadeOutDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "HoveredFadeOutDuration", "=", "0" ] @@ -8211,66 +8198,83 @@ ] } ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Idle", - "Width", - "=", - "Object.Width()" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Idle", - "Height", - "=", - "Object.Height()" - ] - }, - { - "type": { - "value": "PanelSpriteButton::Scale" - }, - "parameters": [ - "Object", - "=", - "1" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Width" - }, - "parameters": [ - "Background", - "=", - "Idle.Variable(Width)" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Height" - }, - "parameters": [ - "Background", - "=", - "Idle.Variable(Height)" - ] - }, + "actions": [], + "events": [ { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::CenterLabel" - }, - "parameters": [ - "Object", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Width", + "=", + "Object.Width()" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Height", + "=", + "Object.Height()" + ] + }, + { + "type": { + "value": "PanelSpriteButton::Scale" + }, + "parameters": [ + "Object", + "=", + "1" + ] + }, + { + "type": { + "value": "PanelSpriteObject::Width" + }, + "parameters": [ + "Background", + "=", + "Width" + ] + }, + { + "type": { + "value": "PanelSpriteObject::Height" + }, + "parameters": [ + "Background", + "=", + "Height" + ] + }, + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::CenterLabel" + }, + "parameters": [ + "Object", + "" + ] + } + ], + "variables": [ + { + "name": "Width", + "type": "number", + "value": 0 + }, + { + "name": "Height", + "type": "number", + "value": 0 + } ] } ] @@ -8537,7 +8541,7 @@ "parameters": [ "Label", "=", - "GetArgumentAsString(\"LabelText\")" + "LabelText" ] }, { @@ -8766,10 +8770,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldActivate\"" + "ShouldActivate", + "True", + "" ] } ], @@ -8792,10 +8798,12 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldActivate\"" + "ShouldActivate", + "True", + "" ] } ], @@ -8973,6 +8981,7 @@ "text": "Text", "font": "", "textAlignment": "", + "verticalTextAlignment": "top", "characterSize": 20, "color": "0;0;0" } @@ -9060,7 +9069,39 @@ "objectName": "Pressed" } ] - } + }, + "objectsGroups": [], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "", + "renderingType": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + } + ], + "instances": [] } ] }, @@ -9074,7 +9115,7 @@ "name": "Gamepads", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/gamepad-variant-outline.svg", "shortDescription": "Add support for gamepads (or other controllers) to your game, giving access to information such as button presses, axis positions, trigger pressure, etc...", - "version": "0.6.1", + "version": "0.7.0", "description": [ "Add support for gamepads (or other controllers).", "", @@ -9109,155 +9150,219 @@ "mnImQKdn8nQxwzkS5D6a1JB27V23" ], "dependencies": [], + "globalVariables": [], + "sceneVariables": [], "eventsFunctions": [ { - "description": "Get the value of the pressure on a gamepad trigger.", - "fullName": "Pressure on a gamepad trigger", - "functionType": "Expression", - "name": "TriggerPressure", - "sentence": "Player _PARAM1_ push axis _PARAM2_ to _PARAM3_", + "fullName": "", + "functionType": "Action", + "name": "onFirstSceneLoaded", + "sentence": "", "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [] + }, { "type": "BuiltinCommonInstructions::JsCode", "inlineCode": [ - "/** @type {Gamepad[]} */\r", - "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "//Define an new private object javascript for the gamepad extension\r", + "gdjs._extensionController = {\r", + " players: {\r", + " 0: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r", + " 1: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r", + " 2: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r", + " 3: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r", + " },\r", + " lastActiveController: -1, // Last active controller\r", + " controllerButtonNames: { //Map associating controller button ids to button names\r", + " \"XBOX\": {\r", + " 0: \"A\",\r", + " 1: \"B\",\r", + " 2: \"X\",\r", + " 3: \"Y\",\r", + " 4: \"LB\",\r", + " 5: \"RB\",\r", + " 6: \"LT\",\r", + " 7: \"RT\",\r", + " 8: \"BACK\",\r", + " 9: \"START\",\r", + " 10: \"CLICK_STICK_LEFT\",\r", + " 11: \"CLICK_STICK_RIGHT\",\r", + " 12: \"UP\",\r", + " 13: \"DOWN\",\r", + " 14: \"LEFT\",\r", + " 15: \"RIGHT\",\r", + " 16: \"NONE\",\r", + " 17: \"NONE\"\r", + " },\r", + " \"PS4\": {\r", + " 0: \"CROSS\",\r", + " 1: \"CIRCLE\",\r", + " 2: \"SQUARE\",\r", + " 3: \"TRIANGLE\",\r", + " 4: \"L1\",\r", + " 5: \"R1\",\r", + " 6: \"L2\",\r", + " 7: \"R2\",\r", + " 8: \"SHARE\",\r", + " 9: \"OPTIONS\",\r", + " 10: \"CLICK_STICK_LEFT\",\r", + " 11: \"CLICK_STICK_RIGHT\",\r", + " 12: \"UP\",\r", + " 13: \"DOWN\",\r", + " 14: \"LEFT\",\r", + " 15: \"RIGHT\",\r", + " 16: \"PS_BUTTON\",\r", + " 17: \"CLICK_TOUCHPAD\"\r", + " }\r", + " }\r", + "};\r", "\r", - "//Get function parameters\r", - "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", - "const trigger = eventsFunctionContext.getArgument(\"trigger\").toUpperCase();\r", + "gdjs._extensionController.getInputString = function (type, buttonId) {\r", + " const controllerButtonNames = gdjs._extensionController.controllerButtonNames;\r", + " if (controllerButtonNames[type] !== undefined) {\r", + " return controllerButtonNames[type][buttonId];\r", + " }\r", "\r", - "if (playerId < 0 || playerId > 4) {\r", - " console.error('Parameter gamepad identifier in expression: \"Pressure on a gamepad trigger\", is not valid number, must be between 0 and 4.');\r", - " return;\r", + " return \"UNKNOWN_BUTTON\";\r", "}\r", - "if (trigger != \"LT\" && trigger != \"RT\" && trigger != \"L2\" && trigger != \"R2\") {\r", - " console.error('Parameter trigger is not valid in expression: \"Pressure on a gamepad trigger\"');\r", - " return;\r", + "\r", + "gdjs._extensionController.axisToAngle = function (deltaX, deltaY) {\r", + " const rad = Math.atan2(deltaY, deltaX);\r", + " const deg = rad * (180 / Math.PI);\r", + " return deg;\r", "}\r", "\r", - "const gamepad = gamepads[playerId];\r", + "gdjs._extensionController.isXbox = function (gamepad) {\r", + " return (gamepad ? (\r", + " gamepad.id.toUpperCase().indexOf(\"XBOX\") !== -1\r", + " // \"XINPUT\" cannot be used to check if it is a xbox controller is just a generic\r", + " // name reported in Firefox corresponding to the driver being used by the controller\r", + " // https://gamefaqs.gamespot.com/boards/916373-pc/73341312?page=1\r", + " ) : false);\r", + "}\r", "\r", - "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", - "if (gamepad == null) return;\r", + "//Returns the new value taking into account the dead zone for the player_ID given\r", + "gdjs._extensionController.getNormalizedAxisValue = function (v, player_ID) {\r", + " // gdjs._extensionController = gdjs._extensionController || { deadzone: 0.2 };\r", "\r", - "switch (trigger) {\r", - " case 'LT':\r", - " case 'L2':\r", - " eventsFunctionContext.returnValue = gamepad.buttons[6].value;\r", - " break;\r", + " // Anything smaller than this is assumed to be 0,0\r", + " const DEADZONE = gdjs._extensionController.players[player_ID].deadzone;\r", "\r", - " case 'RT':\r", - " case 'R2':\r", - " eventsFunctionContext.returnValue = gamepad.buttons[7].value;\r", - " break;\r", + " if (Math.abs(v) < DEADZONE) {\r", + " // In the dead zone, set to 0\r", + " v = 0;\r", "\r", - " default:\r", - " eventsFunctionContext.returnValue = -1;\r", - " break;\r", - "}" + " if (v == null) {\r", + " return 0;\r", + " } else {\r", + " return v;\r", + " }\r", + "\r", + " } else {\r", + " // We're outside the dead zone, but we'd like to smooth\r", + " // this value out so it still runs nicely between 0..1.\r", + " // That is, we don't want it to jump suddenly from 0 to\r", + " // DEADZONE.\r", + "\r", + " // Remap v from\r", + " // DEADZONE..1 to 0..(1-DEADZONE)\r", + " // or from\r", + " // -1..-DEADZONE to -(1-DEADZONE)..0\r", + "\r", + " v = v - Math.sign(v) * DEADZONE;\r", + "\r", + " // Remap v from\r", + " // 0..(1-DEADZONE) to 0..1\r", + " // or from\r", + " // -(1-DEADZONE)..0 to -1..0\r", + "\r", + " return v / (1 - DEADZONE);\r", + " }\r", + "};" ], "parameterObjects": "", "useStrict": true, "eventsSheetExpanded": true } ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "The gamepad identifier: 1, 2, 3 or 4", - "name": "player_ID", - "type": "expression" - }, - { - "description": "Trigger button", - "name": "trigger", - "supplementaryInformation": "[\"LT\",\"RT\",\"L2\",\"R2\"]", - "type": "stringWithSelector" - } - ], + "parameters": [], "objectGroups": [] }, { - "description": "the force of gamepad stick (from 0 to 1).", - "fullName": "Stick force", - "functionType": "ExpressionAndCondition", - "name": "StickForce", - "sentence": "the gamepad _PARAM1_ _PARAM2_ stick force", + "fullName": "", + "functionType": "Action", + "name": "onScenePostEvents", + "sentence": "", "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [] + }, { "type": "BuiltinCommonInstructions::JsCode", "inlineCode": [ - "/** @type {Gamepad[]} */\r", - "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", - "\r", - "//Get function parameters\r", - "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", - "const stick = eventsFunctionContext.getArgument(\"stick\").toUpperCase();\r", - "\r", - "\r", - "if (playerId < 0 || playerId > 4) {\r", - " console.error('Parameter gamepad identifier is not valid in expression: \"Value of a stick force\"');\r", - " return;\r", - "}\r", - "\r", - "if (stick !== \"LEFT\" && stick !== \"RIGHT\") {\r", - " console.error('Parameter stick is not valid in expression: \"Value of a stick force\"');\r", - " return;\r", - "}\r", - "\r", - "const gamepad = gamepads[playerId];\r", - "\r", - "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", - "if (gamepad == null) return;\r", - "\r", - "\r", - "switch (stick) {\r", - " case 'LEFT':\r", - " eventsFunctionContext.returnValue = gdjs.evtTools.common.clamp(Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId)) + Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId)), 0, 1);\r", - " break;\r", - "\r", - " case 'RIGHT':\r", - " eventsFunctionContext.returnValue = gdjs.evtTools.common.clamp(Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId)) + Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId)), 0, 1);\r", - " break;\r", - "\r", - " default:\r", - " eventsFunctionContext.returnValue = -1;\r", - " break;\r", - "}" + "//Each time a player press a button i save the last button pressed for the next frame", + "/** @type {Gamepad[]} */", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);", + "", + "//Get function parameter", + "let countPlayers = Object.keys(gdjs._extensionController.players).length;", + "", + "//Repeat for each players", + "for (let i = 0; i < countPlayers; i++) {", + " let gamepad = gamepads[i]; // Get the gamepad of the player", + "", + " //We have to keep this condition because if the user hasn't plugged in his controller yet, we can't get the controller in the gamepad variable.", + " if (gamepad == null) {", + " continue;", + " }", + "", + " for (let b = 0; b < Object.keys(gamepad.buttons).length; b++) { //For each buttons", + " if (gamepad.buttons[b].pressed) { //One of them is pressed", + " gdjs._extensionController.players[i].lastButtonUsed = b; //Save the button pressed", + "", + " //Save the state of the button for the next frame.", + " gdjs._extensionController.players[i].previousFrameStateButtons[b] = { pressed: true };", + "", + " // Update Last Active Controller", + " gdjs._extensionController.lastActiveController = i;", + " } else {", + " gdjs._extensionController.players[i].previousFrameStateButtons[b] = { pressed: false };", + " }", + " }", + "", + "", + " gdjs._extensionController.players[i].rumble.elapsedTime += runtimeScene.getElapsedTime(runtimeScene) / 1000;", + " if (", + " gdjs._extensionController.players[i].rumble.duration - gdjs._extensionController.players[i].rumble.elapsedTime <= 0 &&", + " (gdjs._extensionController.players[i].rumble.weakMagnitude || gdjs._extensionController.players[i].rumble.strongMagnitude)", + " ) {", + " gdjs._extensionController.players[i].rumble.weakMagnitude = 0;", + " gdjs._extensionController.players[i].rumble.strongMagnitude = 0;", + " }", + "", + "", + "}", + "" ], "parameterObjects": "", "useStrict": true, "eventsSheetExpanded": true } ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "The gamepad identifier: 1, 2, 3 or 4", - "name": "player_ID", - "type": "expression" - }, - { - "description": "Stick: \"Left\" or \"Right\"", - "name": "stick", - "supplementaryInformation": "[\"Left\",\"Right\"]", - "type": "stringWithSelector" - } - ], + "parameters": [], "objectGroups": [] }, { - "description": "Get the rotation value of a gamepad stick.\nIf the deadzone value is high, the angle value is rounded to main axes, left, left, up, down.\nAn zero deadzone value give a total freedom on the angle value.", - "fullName": "Value of a stick rotation (deprecated)", + "fullName": "Accelerated speed", "functionType": "Expression", - "name": "StickRotationValue", + "name": "AcceleratedSpeed", "private": true, - "sentence": "Player _PARAM1_ push axis _PARAM2_ to _PARAM3_", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -9265,23 +9370,582 @@ "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetNumberVariable" }, "parameters": [ - "Gamepads::StickAngle(GetArgumentAsNumber(\"player_ID\"), GetArgumentAsString(\"stick\"))" + "AcceleratedSpeed", + "=", + "CurrentSpeed" ] } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "The gamepad identifier: 1, 2, 3 or 4", - "name": "player_ID", - "type": "expression" + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "TargetedSpeed", + "<", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Reduce the speed to match the stick force." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CurrentSpeed", + "<", + "TargetedSpeed" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AcceleratedSpeed", + "=", + "min(TargetedSpeed, CurrentSpeed + Acceleration * TimeDelta())" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CurrentSpeed", + ">", + "TargetedSpeed" + ] + }, + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CurrentSpeed", + "<", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AcceleratedSpeed", + "-", + "Acceleration * TimeDelta()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Turn back at least as fast as it would stop." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CurrentSpeed", + ">=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AcceleratedSpeed", + "=", + "max(TargetedSpeed, CurrentSpeed - max(Acceleration , Deceleration) * TimeDelta())" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "TargetedSpeed", + ">", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Reduce the speed to match the stick force." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CurrentSpeed", + ">", + "TargetedSpeed" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AcceleratedSpeed", + "=", + "max(TargetedSpeed, CurrentSpeed - Acceleration * TimeDelta())" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CurrentSpeed", + "<", + "TargetedSpeed" + ] + }, + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CurrentSpeed", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AcceleratedSpeed", + "+", + "Acceleration * TimeDelta()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Turn back at least as fast as it would stop." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CurrentSpeed", + "<=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AcceleratedSpeed", + "=", + "min(TargetedSpeed, CurrentSpeed + max(Acceleration , Deceleration) * TimeDelta())" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "TargetedSpeed", + "=", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CurrentSpeed", + "<", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AcceleratedSpeed", + "=", + "min(0, CurrentSpeed + Acceleration * TimeDelta())" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CurrentSpeed", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AcceleratedSpeed", + "=", + "max(0, CurrentSpeed - Acceleration * TimeDelta())" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "clamp(AcceleratedSpeed, -SpeedMax, SpeedMax)" + ] + } + ] + } + ], + "variables": [ + { + "name": "AcceleratedSpeed", + "type": "number", + "value": 0 + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Current speed", + "name": "CurrentSpeed", + "type": "expression" + }, + { + "description": "Targeted speed", + "name": "TargetedSpeed", + "type": "expression" + }, + { + "description": "Max speed", + "name": "SpeedMax", + "type": "expression" + }, + { + "description": "Acceleration", + "name": "Acceleration", + "type": "expression" + }, + { + "description": "Deceleration", + "name": "Deceleration", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Get the value of the pressure on a gamepad trigger.", + "fullName": "Pressure on a gamepad trigger", + "functionType": "Expression", + "name": "TriggerPressure", + "sentence": "Player _PARAM1_ push axis _PARAM2_ to _PARAM3_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameters\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "const trigger = eventsFunctionContext.getArgument(\"trigger\").toUpperCase();\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier in expression: \"Pressure on a gamepad trigger\", is not valid number, must be between 0 and 4.');\r", + " return;\r", + "}\r", + "if (trigger != \"LT\" && trigger != \"RT\" && trigger != \"L2\" && trigger != \"R2\") {\r", + " console.error('Parameter trigger is not valid in expression: \"Pressure on a gamepad trigger\"');\r", + " return;\r", + "}\r", + "\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", + "if (gamepad == null) return;\r", + "\r", + "switch (trigger) {\r", + " case 'LT':\r", + " case 'L2':\r", + " eventsFunctionContext.returnValue = gamepad.buttons[6].value;\r", + " break;\r", + "\r", + " case 'RT':\r", + " case 'R2':\r", + " eventsFunctionContext.returnValue = gamepad.buttons[7].value;\r", + " break;\r", + "\r", + " default:\r", + " eventsFunctionContext.returnValue = -1;\r", + " break;\r", + "}" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + }, + { + "description": "Trigger button", + "name": "trigger", + "supplementaryInformation": "[\"LT\",\"RT\",\"L2\",\"R2\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "the force of gamepad stick (from 0 to 1).", + "fullName": "Stick force", + "functionType": "ExpressionAndCondition", + "name": "StickForce", + "sentence": "the gamepad _PARAM1_ _PARAM2_ stick force", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameters\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "const stick = eventsFunctionContext.getArgument(\"stick\").toUpperCase();\r", + "\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier is not valid in expression: \"Value of a stick force\"');\r", + " return;\r", + "}\r", + "\r", + "if (stick !== \"LEFT\" && stick !== \"RIGHT\") {\r", + " console.error('Parameter stick is not valid in expression: \"Value of a stick force\"');\r", + " return;\r", + "}\r", + "\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", + "if (gamepad == null) return;\r", + "\r", + "\r", + "switch (stick) {\r", + " case 'LEFT':\r", + " eventsFunctionContext.returnValue = gdjs.evtTools.common.clamp(Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId)) + Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId)), 0, 1);\r", + " break;\r", + "\r", + " case 'RIGHT':\r", + " eventsFunctionContext.returnValue = gdjs.evtTools.common.clamp(Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId)) + Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId)), 0, 1);\r", + " break;\r", + "\r", + " default:\r", + " eventsFunctionContext.returnValue = -1;\r", + " break;\r", + "}" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + }, + { + "description": "Stick: \"Left\" or \"Right\"", + "name": "stick", + "supplementaryInformation": "[\"Left\",\"Right\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Get the rotation value of a gamepad stick.\nIf the deadzone value is high, the angle value is rounded to main axes, left, left, up, down.\nAn zero deadzone value give a total freedom on the angle value.", + "fullName": "Value of a stick rotation (deprecated)", + "functionType": "Expression", + "name": "StickRotationValue", + "private": true, + "sentence": "Player _PARAM1_ push axis _PARAM2_ to _PARAM3_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Gamepads::StickAngle(player_ID, stick)" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" }, { "description": "Stick: \"Left\" or \"Right\"", @@ -10790,210 +11454,6 @@ ], "objectGroups": [] }, - { - "fullName": "", - "functionType": "Action", - "name": "onFirstSceneLoaded", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [] - }, - { - "type": "BuiltinCommonInstructions::JsCode", - "inlineCode": [ - "//Define an new private object javascript for the gamepad extension\r", - "gdjs._extensionController = {\r", - " players: {\r", - " 0: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r", - " 1: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r", - " 2: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r", - " 3: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r", - " },\r", - " lastActiveController: -1, // Last active controller\r", - " controllerButtonNames: { //Map associating controller button ids to button names\r", - " \"XBOX\": {\r", - " 0: \"A\",\r", - " 1: \"B\",\r", - " 2: \"X\",\r", - " 3: \"Y\",\r", - " 4: \"LB\",\r", - " 5: \"RB\",\r", - " 6: \"LT\",\r", - " 7: \"RT\",\r", - " 8: \"BACK\",\r", - " 9: \"START\",\r", - " 10: \"CLICK_STICK_LEFT\",\r", - " 11: \"CLICK_STICK_RIGHT\",\r", - " 12: \"UP\",\r", - " 13: \"DOWN\",\r", - " 14: \"LEFT\",\r", - " 15: \"RIGHT\",\r", - " 16: \"NONE\",\r", - " 17: \"NONE\"\r", - " },\r", - " \"PS4\": {\r", - " 0: \"CROSS\",\r", - " 1: \"CIRCLE\",\r", - " 2: \"SQUARE\",\r", - " 3: \"TRIANGLE\",\r", - " 4: \"L1\",\r", - " 5: \"R1\",\r", - " 6: \"L2\",\r", - " 7: \"R2\",\r", - " 8: \"SHARE\",\r", - " 9: \"OPTIONS\",\r", - " 10: \"CLICK_STICK_LEFT\",\r", - " 11: \"CLICK_STICK_RIGHT\",\r", - " 12: \"UP\",\r", - " 13: \"DOWN\",\r", - " 14: \"LEFT\",\r", - " 15: \"RIGHT\",\r", - " 16: \"PS_BUTTON\",\r", - " 17: \"CLICK_TOUCHPAD\"\r", - " }\r", - " }\r", - "};\r", - "\r", - "gdjs._extensionController.getInputString = function (type, buttonId) {\r", - " const controllerButtonNames = gdjs._extensionController.controllerButtonNames;\r", - " if (controllerButtonNames[type] !== undefined) {\r", - " return controllerButtonNames[type][buttonId];\r", - " }\r", - "\r", - " return \"UNKNOWN_BUTTON\";\r", - "}\r", - "\r", - "gdjs._extensionController.axisToAngle = function (deltaX, deltaY) {\r", - " const rad = Math.atan2(deltaY, deltaX);\r", - " const deg = rad * (180 / Math.PI);\r", - " return deg;\r", - "}\r", - "\r", - "gdjs._extensionController.isXbox = function (gamepad) {\r", - " return (gamepad ? (\r", - " gamepad.id.toUpperCase().indexOf(\"XBOX\") !== -1\r", - " // \"XINPUT\" cannot be used to check if it is a xbox controller is just a generic\r", - " // name reported in Firefox corresponding to the driver being used by the controller\r", - " // https://gamefaqs.gamespot.com/boards/916373-pc/73341312?page=1\r", - " ) : false);\r", - "}\r", - "\r", - "//Returns the new value taking into account the dead zone for the player_ID given\r", - "gdjs._extensionController.getNormalizedAxisValue = function (v, player_ID) {\r", - " // gdjs._extensionController = gdjs._extensionController || { deadzone: 0.2 };\r", - "\r", - " // Anything smaller than this is assumed to be 0,0\r", - " const DEADZONE = gdjs._extensionController.players[player_ID].deadzone;\r", - "\r", - " if (Math.abs(v) < DEADZONE) {\r", - " // In the dead zone, set to 0\r", - " v = 0;\r", - "\r", - " if (v == null) {\r", - " return 0;\r", - " } else {\r", - " return v;\r", - " }\r", - "\r", - " } else {\r", - " // We're outside the dead zone, but we'd like to smooth\r", - " // this value out so it still runs nicely between 0..1.\r", - " // That is, we don't want it to jump suddenly from 0 to\r", - " // DEADZONE.\r", - "\r", - " // Remap v from\r", - " // DEADZONE..1 to 0..(1-DEADZONE)\r", - " // or from\r", - " // -1..-DEADZONE to -(1-DEADZONE)..0\r", - "\r", - " v = v - Math.sign(v) * DEADZONE;\r", - "\r", - " // Remap v from\r", - " // 0..(1-DEADZONE) to 0..1\r", - " // or from\r", - " // -(1-DEADZONE)..0 to -1..0\r", - "\r", - " return v / (1 - DEADZONE);\r", - " }\r", - "};" - ], - "parameterObjects": "", - "useStrict": true, - "eventsSheetExpanded": true - } - ], - "parameters": [], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "onScenePostEvents", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [] - }, - { - "type": "BuiltinCommonInstructions::JsCode", - "inlineCode": [ - "//Each time a player press a button i save the last button pressed for the next frame", - "/** @type {Gamepad[]} */", - "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);", - "", - "//Get function parameter", - "let countPlayers = Object.keys(gdjs._extensionController.players).length;", - "", - "//Repeat for each players", - "for (let i = 0; i < countPlayers; i++) {", - " let gamepad = gamepads[i]; // Get the gamepad of the player", - "", - " //We have to keep this condition because if the user hasn't plugged in his controller yet, we can't get the controller in the gamepad variable.", - " if (gamepad == null) {", - " continue;", - " }", - "", - " for (let b = 0; b < Object.keys(gamepad.buttons).length; b++) { //For each buttons", - " if (gamepad.buttons[b].pressed) { //One of them is pressed", - " gdjs._extensionController.players[i].lastButtonUsed = b; //Save the button pressed", - "", - " //Save the state of the button for the next frame.", - " gdjs._extensionController.players[i].previousFrameStateButtons[b] = { pressed: true };", - "", - " // Update Last Active Controller", - " gdjs._extensionController.lastActiveController = i;", - " } else {", - " gdjs._extensionController.players[i].previousFrameStateButtons[b] = { pressed: false };", - " }", - " }", - "", - "", - " gdjs._extensionController.players[i].rumble.elapsedTime += runtimeScene.getElapsedTime(runtimeScene) / 1000;", - " if (", - " gdjs._extensionController.players[i].rumble.duration - gdjs._extensionController.players[i].rumble.elapsedTime <= 0 &&", - " (gdjs._extensionController.players[i].rumble.weakMagnitude || gdjs._extensionController.players[i].rumble.strongMagnitude)", - " ) {", - " gdjs._extensionController.players[i].rumble.weakMagnitude = 0;", - " gdjs._extensionController.players[i].rumble.strongMagnitude = 0;", - " }", - "", - "", - "}", - "" - ], - "parameterObjects": "", - "useStrict": true, - "eventsSheetExpanded": true - } - ], - "parameters": [], - "objectGroups": [] - }, { "description": "Check if any button is released on a gamepad.", "fullName": "Any gamepad button released", @@ -11155,7 +11615,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "" ] } @@ -11167,11 +11627,12 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyUseArrows" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UseArrows", + "True", + "" ] } ], @@ -11186,7 +11647,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Left\"", "\"Left\"" ] @@ -11213,7 +11674,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Right\"", "\"Left\"" ] @@ -11240,7 +11701,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Up\"", "\"Left\"" ] @@ -11276,7 +11737,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Down\"", "\"Left\"" ] @@ -11301,11 +11762,12 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyUseLeftStick" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UseLeftStick", + "True", + "" ] } ], @@ -11320,7 +11782,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Left\"", "\"Left\"", "" @@ -11348,7 +11810,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Left\"", "\"Right\"", "" @@ -11376,7 +11838,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Left\"", "\"Up\"", "" @@ -11413,7 +11875,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Left\"", "\"Down\"", "" @@ -11439,11 +11901,12 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyUseRightStick" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UseRightStick", + "True", + "" ] } ], @@ -11458,7 +11921,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Right\"", "\"Left\"", "" @@ -11486,7 +11949,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Right\"", "\"Right\"", "" @@ -11514,7 +11977,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Right\"", "\"Up\"", "" @@ -11551,7 +12014,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Right\"", "\"Down\"", "" @@ -11577,11 +12040,10 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"A or Cross\"" ] @@ -11592,7 +12054,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"A\"", "\"Left\"" ] @@ -11615,11 +12077,10 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"B or Circle\"" ] @@ -11630,7 +12091,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"B\"", "\"Left\"" ] @@ -11653,11 +12114,10 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"X or Square\"" ] @@ -11668,7 +12128,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"X\"", "\"Left\"" ] @@ -11691,11 +12151,10 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"Y or Triangle\"" ] @@ -11706,7 +12165,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Y\"", "\"Left\"" ] @@ -11729,11 +12188,10 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"LB or L1\"" ] @@ -11744,7 +12202,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"LB\"", "\"Left\"" ] @@ -11761,119 +12219,1984 @@ ] } ] - }, + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"RB or R1\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"RB\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"LT or L2\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"LT\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"RT or R2\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"RT\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::PlatformerGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Platformer character behavior", + "description": "", + "group": "", + "extraInformation": [ + "PlatformBehavior::PlatformerObjectBehavior" + ], + "name": "PlatformerCharacter" + }, + { + "value": "1", + "type": "Number", + "label": "Gamepad identifier (1, 2, 3 or 4)", + "description": "", + "group": "", + "extraInformation": [], + "name": "GamepadIdentifier" + }, + { + "value": "true", + "type": "Boolean", + "label": "Use directional pad", + "description": "", + "group": "Controls", + "extraInformation": [], + "name": "UseArrows" + }, + { + "value": "true", + "type": "Boolean", + "label": "Use left stick", + "description": "", + "group": "Controls", + "extraInformation": [], + "name": "UseLeftStick" + }, + { + "value": "", + "type": "Boolean", + "label": "Use right stick", + "description": "", + "group": "Controls", + "extraInformation": [], + "name": "UseRightStick" + }, + { + "value": "A or Cross", + "type": "Choice", + "label": "Jump button", + "description": "", + "group": "Controls", + "extraInformation": [ + "A or Cross", + "B or Circle", + "X or Square", + "Y or Triangle", + "LB or L1", + "RB or R1", + "LT or L2", + "RT or R2" + ], + "name": "JumpButton" + } + ], + "sharedPropertyDescriptors": [] + }, + { + "description": "Control a 3D physics character with a gamepad.", + "fullName": "3D platformer gamepad mapper", + "name": "Platformer3DGamepadMapper", + "objectType": "", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Controller_X_is_connected" + }, + "parameters": [ + "", + "GamepadIdentifier", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::StickForce" + }, + "parameters": [ + "", + ">", + "0", + "GamepadIdentifier", + "JoystickIdentifier", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SetForwardAngle" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D", + "=", + "Gamepads::StickAngle(GamepadIdentifier, JoystickIdentifier) + CameraAngle(Object.Layer())" + ] + }, + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateStick" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D", + "-90", + "Gamepads::StickForce(GamepadIdentifier, JoystickIdentifier)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"A or Cross\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"A\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"B or Circle\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"B\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"X or Square\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"X\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"Y or Triangle\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"Y\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"LB or L1\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"LB\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"RB or R1\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"RB\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"LT or L2\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"LT\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"RT or R2\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"RT\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::Platformer3DGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "3D physics character", + "description": "", + "group": "", + "extraInformation": [ + "Physics3D::PhysicsCharacter3D" + ], + "name": "PhysicsCharacter3D" + }, + { + "value": "1", + "type": "Number", + "label": "Gamepad identifier (1, 2, 3 or 4)", + "description": "", + "group": "", + "extraInformation": [], + "name": "GamepadIdentifier" + }, + { + "value": "Left", + "type": "Choice", + "label": "Walk joystick", + "description": "", + "group": "Controls", + "extraInformation": [ + "Left", + "Right" + ], + "name": "JoystickIdentifier" + }, + { + "value": "A or Cross", + "type": "Choice", + "label": "Jump button", + "description": "", + "group": "Controls", + "extraInformation": [ + "A or Cross", + "B or Circle", + "X or Square", + "Y or Triangle", + "LB or L1", + "RB or R1", + "LT or L2", + "RT or R2" + ], + "name": "JumpButton" + } + ], + "sharedPropertyDescriptors": [] + }, + { + "description": "Control a 3D physics character with a gamepad.", + "fullName": "3D shooter gamepad mapper", + "name": "Shooter3DGamepadMapper", + "objectType": "", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Controller_X_is_connected" + }, + "parameters": [ + "", + "GamepadIdentifier", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::StickForce" + }, + "parameters": [ + "", + ">", + "0", + "GamepadIdentifier", + "WalkStick", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateStick" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D", + "Gamepads::StickAngle(GamepadIdentifier, WalkStick)", + "Gamepads::StickForce(GamepadIdentifier, WalkStick)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"A or Cross\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"A\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"B or Circle\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"B\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"X or Square\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"X\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"Y or Triangle\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"Y\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"LB or L1\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"LB\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"RB or R1\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"RB\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"LT or L2\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"LT\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "JumpButton", + "=", + "\"RT or R2\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"RT\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCharacter3D::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PhysicsCharacter3D" + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::Shooter3DGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "3D physics character", + "description": "", + "group": "", + "extraInformation": [ + "Physics3D::PhysicsCharacter3D" + ], + "name": "PhysicsCharacter3D" + }, + { + "value": "1", + "type": "Number", + "label": "Gamepad identifier (1, 2, 3 or 4)", + "description": "", + "group": "", + "extraInformation": [], + "name": "GamepadIdentifier" + }, + { + "value": "Left", + "type": "Choice", + "label": "Walk joystick", + "description": "", + "group": "Controls", + "extraInformation": [ + "Left", + "Right" + ], + "name": "WalkStick" + }, + { + "value": "Right", + "type": "Choice", + "label": "Camera joystick", + "description": "", + "group": "Controls", + "extraInformation": [ + "Left", + "Right" + ], + "name": "CameraStick" + }, + { + "value": "A or Cross", + "type": "Choice", + "label": "Jump button", + "description": "", + "group": "Controls", + "extraInformation": [ + "A or Cross", + "B or Circle", + "X or Square", + "Y or Triangle", + "LB or L1", + "RB or R1", + "LT or L2", + "RT or R2" + ], + "name": "JumpButton" + } + ], + "sharedPropertyDescriptors": [] + }, + { + "description": "Control camera rotations with a gamepad.", + "fullName": "First person camera gamepad mapper", + "name": "FirstPersonGamepadMapper", + "objectType": "", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "TODO It's probably a bad idea to rotate the object around Y." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "CurrentRotationSpeedZ", + "=", + "Gamepads::AcceleratedSpeed(CurrentRotationSpeedZ, Gamepads::StickForceX(GamepadIdentifier, CameraStick) * HorizontalRotationSpeedMax, HorizontalRotationSpeedMax, HorizontalRotationAcceleration, HorizontalRotationDeceleration)" + ] + }, + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Object", + "+", + "CurrentRotationSpeedZ * TimeDelta()" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "CurrentRotationSpeedY", + "=", + "Gamepads::AcceleratedSpeed(CurrentRotationSpeedY, Gamepads::StickForceY(GamepadIdentifier, CameraStick) * VerticalRotationSpeedMax, VerticalRotationSpeedMax, VerticalRotationAcceleration, VerticalRotationDeceleration)" + ] + }, + { + "type": { + "value": "Scene3D::Base3DBehavior::SetRotationY" + }, + "parameters": [ + "Object", + "Object3D", + "+", + "CurrentRotationSpeedY * TimeDelta()" + ] + }, + { + "type": { + "value": "Scene3D::Base3DBehavior::SetRotationY" + }, + "parameters": [ + "Object", + "Object3D", + "=", + "clamp(Object.Object3D::RotationY(), VerticalAngleMin, VerticalAngleMax)" + ] + }, + { + "type": { + "value": "Gamepads::FirstPersonGamepadMapper::LookFromObjectEyes" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Move the camera to look though _PARAM1_ eyes. The object must look to the right when all its angles are 0 and the top of its head be toward Z+.", + "fullName": "Look through object eyes", + "functionType": "Action", + "group": "Layers and cameras", + "name": "LookFromObjectEyes", + "private": true, + "sentence": "Move the camera to look though _PARAM0_ eyes", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CentreCamera" + }, + "parameters": [ + "", + "Object", + "", + "Object.Layer()", + "" + ] + }, + { + "type": { + "value": "Scene3D::SetCameraZ" + }, + "parameters": [ + "", + "=", + "Object.Object3D::Z() + Object.Object3D::Depth() + OffsetZ", + "", + "" + ] + }, + { + "type": { + "value": "Scene3D::SetCameraRotationX" + }, + "parameters": [ + "", + "=", + "- Object.Object3D::RotationY() + 90", + "GetArgumentAsString(\"Layer\")", + "" + ] + }, + { + "type": { + "value": "Scene3D::SetCameraRotationY" + }, + "parameters": [ + "", + "=", + "Object.Object3D::RotationX()", + "GetArgumentAsString(\"Layer\")", + "" + ] + }, + { + "type": { + "value": "SetCameraAngle" + }, + "parameters": [ + "", + "=", + "Object.Angle() + 90", + "Object.Layer()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the maximum horizontal rotation speed of the object.", + "fullName": "Maximum horizontal rotation speed", + "functionType": "ExpressionAndCondition", + "group": "First person camera gamepad mapper horizontal rotation configuration", + "name": "HorizontalRotationSpeedMax", + "sentence": "the maximum horizontal rotation speed", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "HorizontalRotationSpeedMax" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "HorizontalRotationSpeedMax", + "name": "SetHorizontalRotationSpeedMax", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "HorizontalRotationSpeedMax", + "=", + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the horizontal rotation acceleration of the object.", + "fullName": "Horizontal rotation acceleration", + "functionType": "ExpressionAndCondition", + "group": "First person camera gamepad mapper horizontal rotation configuration", + "name": "HorizontalRotationAcceleration", + "sentence": "the horizontal rotation acceleration", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "HorizontalRotationAcceleration" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "HorizontalRotationAcceleration", + "name": "SetHorizontalRotationAcceleration", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "HorizontalRotationAcceleration", + "=", + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the horizontal rotation deceleration of the object.", + "fullName": "Horizontal rotation deceleration", + "functionType": "ExpressionAndCondition", + "group": "First person camera gamepad mapper horizontal rotation configuration", + "name": "HorizontalRotationDeceleration", + "sentence": "the horizontal rotation deceleration", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "HorizontalRotationDeceleration" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "HorizontalRotationDeceleration", + "name": "SetHorizontalRotationDeceleration", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "HorizontalRotationDeceleration", + "=", + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the maximum vertical rotation speed of the object.", + "fullName": "Maximum vertical rotation speed", + "functionType": "ExpressionAndCondition", + "group": "First person camera gamepad mapper vertical rotation configuration", + "name": "VerticalRotationSpeedMax", + "sentence": "the maximum vertical rotation speed", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "VerticalRotationSpeedMax" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "VerticalRotationSpeedMax", + "name": "SetVerticalRotationSpeedMax", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VerticalRotationSpeedMax", + "=", + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the vertical rotation acceleration of the object.", + "fullName": "Vertical rotation acceleration", + "functionType": "ExpressionAndCondition", + "group": "First person camera gamepad mapper vertical rotation configuration", + "name": "VerticalRotationAcceleration", + "sentence": "the vertical rotation acceleration", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "VerticalRotationAcceleration" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "VerticalRotationAcceleration", + "name": "SetVerticalRotationAcceleration", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VerticalRotationAcceleration", + "=", + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the vertical rotation deceleration of the object.", + "fullName": "Vertical rotation deceleration", + "functionType": "ExpressionAndCondition", + "group": "First person camera gamepad mapper vertical rotation configuration", + "name": "VerticalRotationDeceleration", + "sentence": "the vertical rotation deceleration", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "VerticalRotationDeceleration" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "VerticalRotationDeceleration", + "name": "SetVerticalRotationDeceleration", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VerticalRotationDeceleration", + "=", + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the minimum vertical camera angle of the object.", + "fullName": "Minimum vertical camera angle", + "functionType": "ExpressionAndCondition", + "group": "First person camera gamepad mapper vertical rotation configuration", + "name": "VerticalAngleMin", + "sentence": "the minimum vertical camera angle", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "VerticalAngleMin" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "VerticalAngleMin", + "name": "SetVerticalAngleMin", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VerticalAngleMin", + "=", + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the maximum vertical camera angle of the object.", + "fullName": "Maximum vertical camera angle", + "functionType": "ExpressionAndCondition", + "group": "First person camera gamepad mapper vertical rotation configuration", + "name": "VerticalAngleMax", + "sentence": "the maximum vertical camera angle", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "VerticalAngleMax" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "VerticalAngleMax", + "name": "SetVerticalAngleMax", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"RB or R1\"" - ] - }, - { - "type": { - "value": "Gamepads::C_Button_pressed" - }, - "parameters": [ - "", - "Object.Behavior::PropertyGamepadIdentifier()", - "\"RB\"", - "\"Left\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PlatformBehavior::SimulateJumpKey" - }, - "parameters": [ - "Object", - "PlatformerCharacter" - ] - } + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "VerticalAngleMax", + "=", + "Value" ] - }, + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the z position offset of the object.", + "fullName": "Z position offset", + "functionType": "ExpressionAndCondition", + "group": "First person camera gamepad mapper position configuration", + "name": "OffsetZ", + "sentence": "the z position offset", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"LT or L2\"" - ] - }, - { - "type": { - "value": "Gamepads::C_Button_pressed" - }, - "parameters": [ - "", - "Object.Behavior::PropertyGamepadIdentifier()", - "\"LT\"", - "\"Left\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PlatformBehavior::SimulateJumpKey" - }, - "parameters": [ - "Object", - "PlatformerCharacter" - ] - } + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "OffsetZ" ] - }, + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "OffsetZ", + "name": "SetOffsetZ", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"RT or R2\"" - ] - }, - { - "type": { - "value": "Gamepads::C_Button_pressed" - }, - "parameters": [ - "", - "Object.Behavior::PropertyGamepadIdentifier()", - "\"RT\"", - "\"Left\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PlatformBehavior::SimulateJumpKey" - }, - "parameters": [ - "Object", - "PlatformerCharacter" - ] - } + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "OffsetZ", + "=", + "Value" ] } ] @@ -11888,7 +14211,7 @@ { "description": "Behavior", "name": "Behavior", - "supplementaryInformation": "Gamepads::PlatformerGamepadMapper", + "supplementaryInformation": "Gamepads::FirstPersonGamepadMapper", "type": "behavior" } ], @@ -11899,13 +14222,13 @@ { "value": "", "type": "Behavior", - "label": "Platformer character behavior", + "label": "3D capability", "description": "", "group": "", "extraInformation": [ - "PlatformBehavior::PlatformerObjectBehavior" + "Scene3D::Base3DBehavior" ], - "name": "PlatformerCharacter" + "name": "Object3D" }, { "value": "1", @@ -11917,49 +14240,124 @@ "name": "GamepadIdentifier" }, { - "value": "true", - "type": "Boolean", - "label": "Use directional pad", + "value": "Right", + "type": "Choice", + "label": "Camera joystick", "description": "", - "group": "Controls", + "group": "", + "extraInformation": [ + "Left", + "Right" + ], + "name": "CameraStick" + }, + { + "value": "180", + "type": "Number", + "unit": "AngularSpeed", + "label": "Maximum rotation speed", + "description": "", + "group": "Horizontal rotation", "extraInformation": [], - "name": "UseArrows" + "name": "HorizontalRotationSpeedMax" }, { - "value": "true", - "type": "Boolean", - "label": "Use left stick", + "value": "360", + "type": "Number", + "label": "Rotation acceleration", "description": "", - "group": "Controls", + "group": "Horizontal rotation", "extraInformation": [], - "name": "UseLeftStick" + "name": "HorizontalRotationAcceleration" }, { - "value": "", - "type": "Boolean", - "label": "Use right stick", + "value": "720", + "type": "Number", + "label": "Rotation deceleration", "description": "", - "group": "Controls", + "group": "Horizontal rotation", "extraInformation": [], - "name": "UseRightStick" + "name": "HorizontalRotationDeceleration" }, { - "value": "A or Cross", - "type": "Choice", - "label": "Jump button", + "value": "120", + "type": "Number", + "unit": "AngularSpeed", + "label": "Maximum rotation speed", "description": "", - "group": "Controls", - "extraInformation": [ - "A or Cross", - "B or Circle", - "X or Square", - "Y or Triangle", - "LB or L1", - "RB or R1", - "LT or L2", - "RT or R2" - ], - "name": "JumpButton" + "group": "Vertical rotation", + "extraInformation": [], + "name": "VerticalRotationSpeedMax" + }, + { + "value": "240", + "type": "Number", + "label": "Rotation acceleration", + "description": "", + "group": "Vertical rotation", + "extraInformation": [], + "name": "VerticalRotationAcceleration" + }, + { + "value": "480", + "type": "Number", + "label": "Rotation deceleration", + "description": "", + "group": "Vertical rotation", + "extraInformation": [], + "name": "VerticalRotationDeceleration" + }, + { + "value": "-90", + "type": "Number", + "unit": "DegreeAngle", + "label": "Minimum angle", + "description": "", + "group": "Vertical rotation", + "extraInformation": [], + "name": "VerticalAngleMin" + }, + { + "value": "90", + "type": "Number", + "unit": "DegreeAngle", + "label": "Maximum angle", + "description": "", + "group": "Vertical rotation", + "extraInformation": [], + "name": "VerticalAngleMax" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Z position offset", + "description": "", + "group": "Position", + "extraInformation": [], + "name": "OffsetZ" + }, + { + "value": "0", + "type": "Number", + "unit": "AngularSpeed", + "label": "Current rotation speed Z", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "CurrentRotationSpeedZ" + }, + { + "value": "0", + "type": "Number", + "unit": "AngularSpeed", + "label": "Current rotation speed Y", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "CurrentRotationSpeedY" } ], "sharedPropertyDescriptors": [] @@ -11985,7 +14383,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "" ] } @@ -11997,11 +14395,12 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyUseArrows" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UseArrows", + "True", + "" ] } ], @@ -12016,7 +14415,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Left\"", "\"Left\"" ] @@ -12043,7 +14442,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Right\"", "\"Left\"" ] @@ -12070,7 +14469,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Up\"", "\"Left\"" ] @@ -12097,7 +14496,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Down\"", "\"Left\"" ] @@ -12122,11 +14521,12 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyUseLeftStick" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UseLeftStick", + "True", + "" ] } ], @@ -12137,11 +14537,10 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"Analog\"" ] @@ -12155,8 +14554,8 @@ "parameters": [ "Object", "TopDownMovement", - "Gamepads::StickRotationValue(Object.Behavior::PropertyGamepadIdentifier(), \"Left\")", - "Gamepads::StickForce(Object.Behavior::PropertyGamepadIdentifier(), \"Left\")" + "Gamepads::StickRotationValue(GamepadIdentifier, \"Left\")", + "Gamepads::StickForce(GamepadIdentifier, \"Left\")" ] } ] @@ -12166,11 +14565,10 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"360°\"" ] @@ -12184,8 +14582,8 @@ "parameters": [ "Object", "TopDownMovement", - "Gamepads::StickRotationValue(Object.Behavior::PropertyGamepadIdentifier(), \"Left\")", - "sign(Gamepads::StickForce(Object.Behavior::PropertyGamepadIdentifier(), \"Left\"))" + "Gamepads::StickRotationValue(GamepadIdentifier, \"Left\")", + "sign(Gamepads::StickForce(GamepadIdentifier, \"Left\"))" ] } ] @@ -12195,11 +14593,10 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"8 Directions\"" ] @@ -12216,7 +14613,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Left\"", "\"Left\"", "" @@ -12244,7 +14641,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Left\"", "\"Right\"", "" @@ -12272,7 +14669,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Left\"", "\"Up\"", "" @@ -12300,7 +14697,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Left\"", "\"Down\"", "" @@ -12328,11 +14725,12 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyUseRightStick" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UseRightStick", + "True", + "" ] } ], @@ -12343,11 +14741,10 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"Analog\"" ] @@ -12361,8 +14758,8 @@ "parameters": [ "Object", "TopDownMovement", - "Gamepads::StickRotationValue(Object.Behavior::PropertyGamepadIdentifier(), \"Right\")", - "Gamepads::StickForce(Object.Behavior::PropertyGamepadIdentifier(), \"Right\")" + "Gamepads::StickRotationValue(GamepadIdentifier, \"Right\")", + "Gamepads::StickForce(GamepadIdentifier, \"Right\")" ] } ] @@ -12372,11 +14769,10 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"360°\"" ] @@ -12390,7 +14786,7 @@ "parameters": [ "Object", "TopDownMovement", - "sign(Gamepads::StickForce(Object.Behavior::PropertyGamepadIdentifier(), \"Right\"))", + "sign(Gamepads::StickForce(GamepadIdentifier, \"Right\"))", "1" ] } @@ -12401,11 +14797,10 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"8 Directions\"" ] @@ -12422,7 +14817,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Right\"", "\"Left\"", "" @@ -12450,7 +14845,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Right\"", "\"Right\"", "" @@ -12478,7 +14873,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Right\"", "\"Up\"", "" @@ -12506,7 +14901,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyGamepadIdentifier()", + "GamepadIdentifier", "\"Right\"", "\"Down\"", "" @@ -12625,7 +15020,7 @@ "name": "ShakeObject3D", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/vector-difference-ab.svg", "shortDescription": "Shake 3D objects.", - "version": "2.0.1", + "version": "2.0.4", "description": [ "Shake 3D objects with translation and rotation.", "", @@ -12650,6 +15045,8 @@ "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" ], "dependencies": [], + "globalVariables": [], + "sceneVariables": [], "eventsFunctions": [ { "fullName": "", @@ -13943,6 +16340,7 @@ "fullName": "3D shake", "name": "ShakeModel3D", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -13955,11 +16353,12 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyIsStartingAtCreation" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsStartingAtCreation", + "True", + "" ] } ], @@ -14026,11 +16425,10 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Time", "+", "TimeDelta()" ] @@ -14054,11 +16452,10 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyNoiseTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "NoiseTime", "+", "TimeDelta() * Frequency" ] @@ -14093,11 +16490,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTranslationAmplitudeX" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TranslationAmplitudeX", "!=", "0" ] @@ -14106,11 +16502,10 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyDeltaX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DeltaX", "=", "ShakeObject3D::Noise2d(\"\", NoiseTime, 1000) * TranslationAmplitudeX * EasingFactor" ] @@ -14132,11 +16527,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTranslationAmplitudeY" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TranslationAmplitudeY", "!=", "0" ] @@ -14145,11 +16539,10 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyDeltaY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DeltaY", "=", "ShakeObject3D::Noise2d(\"\", NoiseTime, 2000) * TranslationAmplitudeY * EasingFactor" ] @@ -14171,11 +16564,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTranslationAmplitudeZ" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TranslationAmplitudeZ", "!=", "0" ] @@ -14184,11 +16576,10 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyDeltaZ" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DeltaZ", "=", "ShakeObject3D::Noise2d(\"\", NoiseTime, 3000) * TranslationAmplitudeZ * EasingFactor" ] @@ -14201,7 +16592,7 @@ "Object", "Object3D", "+", - "DeltaY" + "DeltaZ" ] } ] @@ -14211,11 +16602,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyRotationAmplitudeX" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RotationAmplitudeX", "!=", "0" ] @@ -14224,11 +16614,10 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyDeltaAngleX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DeltaAngleX", "=", "ShakeObject3D::Noise2d(\"\", NoiseTime, 4000) * RotationAmplitudeX * EasingFactor" ] @@ -14251,11 +16640,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyRotationAmplitudeY" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RotationAmplitudeY", "!=", "0" ] @@ -14264,11 +16652,10 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyDeltaAngleY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DeltaAngleY", "=", "ShakeObject3D::Noise2d(\"\", NoiseTime, 5000) * RotationAmplitudeY * EasingFactor" ] @@ -14291,11 +16678,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyRotationAmplitudeZ" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RotationAmplitudeZ", "!=", "0" ] @@ -14304,11 +16690,10 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyDeltaAngleZ" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DeltaAngleZ", "=", "ShakeObject3D::Noise2d(\"\", NoiseTime, 6000) * RotationAmplitudeZ * EasingFactor" ] @@ -14382,11 +16767,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTranslationAmplitudeX" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TranslationAmplitudeX", "!=", "0" ] @@ -14410,11 +16794,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTranslationAmplitudeY" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TranslationAmplitudeY", "!=", "0" ] @@ -14438,11 +16821,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTranslationAmplitudeZ" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TranslationAmplitudeZ", "!=", "0" ] @@ -14467,11 +16849,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyRotationAmplitudeX" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RotationAmplitudeX", "!=", "0" ] @@ -14496,11 +16877,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyRotationAmplitudeY" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RotationAmplitudeY", "!=", "0" ] @@ -14525,11 +16905,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyRotationAmplitudeZ" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RotationAmplitudeZ", "!=", "0" ] @@ -14579,55 +16958,50 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Time", "=", "0" ] }, { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyNoiseTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "NoiseTime", "=", "TimeFromStart() * Frequency" ] }, { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Duration", "=", - "Duration" + "NewDuration" ] }, { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyStartEasingDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StartEasingDuration", "=", "StartEaseDuration" ] }, { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyStopEasingDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StopEasingDuration", "=", "StopEaseDuration" ] @@ -14639,10 +17013,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"Duration\"", + "NewDuration", "<", "StartEaseDuration + StopEaseDuration" ] @@ -14651,24 +17025,22 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyStartEasingDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StartEasingDuration", "=", - "StartEaseDuration * Variable(__CameraShake.Duration) / (StartEaseDuration + StopEaseDuration)" + "StartEaseDuration * NewDuration / (StartEaseDuration + StopEaseDuration)" ] }, { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyStopEasingDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StopEasingDuration", "=", - "StopEaseDuration * Variable(__CameraShake.Duration) / (StartEaseDuration + StopEaseDuration)" + "StopEaseDuration * NewDuration / (StartEaseDuration + StopEaseDuration)" ] } ] @@ -14688,7 +17060,7 @@ }, { "description": "Duration (in seconds)", - "name": "Duration", + "name": "NewDuration", "type": "expression" }, { @@ -14717,44 +17089,40 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Time", "=", "0" ] }, { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyNoiseTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "NoiseTime", "=", "TimeFromStart() * Frequency" ] }, { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Duration", "=", "1234567890" ] }, { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyStartEasingDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StartEasingDuration", "=", "EaseDuration" ] @@ -14806,33 +17174,30 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Time", "=", "0" ] }, { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Duration", "=", "EaseDuration" ] }, { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyStopEasingDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StopEasingDuration", "=", "EaseDuration" ] @@ -14872,22 +17237,20 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTime" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Time", "<", "Duration" ] }, { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTime" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Time", ">", "0" ] @@ -14969,7 +17332,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Model3DObject", "type": "object" }, { @@ -15035,11 +17397,10 @@ "actions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::SetPropertyFrequency" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Frequency", "=", "Value" ] @@ -15075,11 +17436,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyStartEasingDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StartEasingDuration", "<=", "0" ] @@ -15101,11 +17461,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyStartEasingDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StartEasingDuration", ">", "0" ] @@ -15154,11 +17513,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyStopEasingDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StopEasingDuration", "<=", "0" ] @@ -15171,11 +17529,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTime" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Time", "<", "Duration" ] @@ -15197,11 +17554,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyTime" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Time", ">=", "Duration" ] @@ -15225,11 +17581,10 @@ "conditions": [ { "type": { - "value": "ShakeObject3D::ShakeModel3D::PropertyStopEasingDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StopEasingDuration", ">", "0" ] @@ -15254,7 +17609,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Model3DObject", "type": "object" }, { @@ -15494,7 +17848,7 @@ "name": "CurvedMovement", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Graphic Design/Graphic Design_bezier_curve.svg", "shortDescription": "Move objects on curved paths.", - "version": "1.1.0", + "version": "1.1.3", "description": [ "This extension allows to move objects on Bézier curve paths.", "- Paths can be built dynamically or from predetermined paths in SVG format.", @@ -15530,6 +17884,8 @@ "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" ], "dependencies": [], + "globalVariables": [], + "sceneVariables": [], "eventsFunctions": [ { "fullName": "", @@ -18064,7 +20420,7 @@ "description": "Move objects on curved paths in a given duration and tween easing function.", "fullName": "Movement on a curve (duration-based)", "name": "TweenPathMovement", - "objectType": "Sprite", + "objectType": "", "eventsFunctions": [ { "fullName": "", @@ -18096,11 +20452,12 @@ }, { "type": { - "value": "CurvedMovement::TweenPathMovement::PropertyShouldGoBack" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldGoBack", + "True", + "" ] } ], @@ -18120,11 +20477,10 @@ "conditions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::PropertyPauseDurationBeforeGoingBack" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PauseDurationBeforeGoingBack", ">", "0" ] @@ -18165,7 +20521,7 @@ "Object", "\"__CurvedMovement.Wait\"", ">=", - "Object.Behavior::PropertyPauseDurationBeforeGoingBack()" + "PauseDurationBeforeGoingBack" ] } ], @@ -18254,33 +20610,32 @@ { "type": { "inverted": true, - "value": "CurvedMovement::TweenPathMovement::PropertyIsGoingBack" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsGoingBack", + "True", + "" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyOrigin" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Origin", "=", "1" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyTarget" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Target", "=", "0" ] @@ -18292,33 +20647,32 @@ "conditions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::PropertyIsGoingBack" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsGoingBack", + "True", + "" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyOrigin" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Origin", "=", "0" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyTarget" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Target", "=", "1" ] @@ -18330,11 +20684,10 @@ "conditions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::PropertyTarget" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Target", "=", "1" ] @@ -18343,11 +20696,11 @@ "actions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyIsGoingBack" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", + "IsGoingBack", + "False", "" ] } @@ -18358,21 +20711,23 @@ "conditions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::PropertyFlipXToGoBack" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "FlipXToGoBack", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FlipX" + "value": "FlippableCapability::FlippableBehavior::FlipX" }, "parameters": [ "Object", + "Flippable", "no" ] } @@ -18383,21 +20738,23 @@ "conditions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::PropertyFlipYToGoBack" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "FlipYToGoBack", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FlipY" + "value": "FlippableCapability::FlippableBehavior::FlipY" }, "parameters": [ "Object", + "Flippable", "no" ] } @@ -18410,11 +20767,10 @@ "conditions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::PropertyTarget" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Target", "=", "0" ] @@ -18423,12 +20779,12 @@ "actions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyIsGoingBack" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsGoingBack", + "True", + "" ] } ], @@ -18438,21 +20794,23 @@ "conditions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::PropertyFlipXToGoBack" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "FlipXToGoBack", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FlipX" + "value": "FlippableCapability::FlippableBehavior::FlipX" }, "parameters": [ "Object", + "Flippable", "yes" ] } @@ -18463,21 +20821,23 @@ "conditions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::PropertyFlipYToGoBack" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "FlipYToGoBack", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FlipY" + "value": "FlippableCapability::FlippableBehavior::FlipY" }, "parameters": [ "Object", + "Flippable", "yes" ] } @@ -18542,11 +20902,12 @@ "conditions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::PropertyRotation" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "Rotation", + "True", + "" ] } ], @@ -18558,7 +20919,7 @@ "parameters": [ "Object", "=", - "Object.Behavior::PropertyPathAngle() + CurvedMovement::PathAngle(Object.Behavior::PropertyPathName(), Object.Behavior::RepeatedPathPosition()) + Object.Behavior::PropertyRotationOffset() + Object.Behavior::BackOrForthAngle()" + "PathAngle + CurvedMovement::PathAngle(PathName, Object.Behavior::RepeatedPathPosition()) + RotationOffset + Object.Behavior::BackOrForthAngle()" ] } ] @@ -18573,7 +20934,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -18638,7 +20998,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -18663,66 +21022,62 @@ "actions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyPathName" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PathName", "=", - "GetArgumentAsString(\"PathName\")" + "NewPathName" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Duration", "=", - "GetArgumentAsNumber(\"Duration\")" + "NewDuration" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyEasing" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "Easing", "=", - "GetArgumentAsString(\"Easing\")" + "NewEasing" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyRepetitionCount" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RepetitionCount", "=", - "GetArgumentAsNumber(\"RepetitionCount\")" + "NewRepetitionCount" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyShouldGoBack" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "ShouldGoBack", + "False", + "" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyShouldLoop" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "ShouldLoop", + "False", + "" ] } ] @@ -18733,35 +21088,32 @@ "actions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyPathOriginX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathOriginX", "=", "Object.X()" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyPathOriginY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathOriginY", "=", "Object.Y()" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyPathAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathAngle", "=", - "AngleBetweenPositions(Object.X(), Object.Y(), GetArgumentAsNumber(\"DestinationX\"), Object.Y() + (GetArgumentAsNumber(\"DestinationY\") - Object.Y()) / Object.Behavior::PathSpeedScaleY()) - AngleBetweenPositions(0, 0, Object.Behavior::PathEndX(), Object.Behavior::PathEndY() / Object.Behavior::PathSpeedScaleY())" + "AngleBetweenPositions(Object.X(), Object.Y(), DestinationX, Object.Y() + (DestinationY - Object.Y()) / Object.Behavior::PathSpeedScaleY()) - AngleBetweenPositions(0, 0, Object.Behavior::PathEndX(), Object.Behavior::PathEndY() / Object.Behavior::PathSpeedScaleY())" ] } ] @@ -18772,13 +21124,12 @@ "actions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyPathScale" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathScale", "=", - "DistanceBetweenPositions(Object.X(), Object.Y(), GetArgumentAsNumber(\"DestinationX\"), Object.Y() + (GetArgumentAsNumber(\"DestinationY\") - Object.Y()) / Object.Behavior::PathSpeedScaleY()) / DistanceBetweenPositions(0, 0, Object.Behavior::PathEndX(), Object.Behavior::PathEndY() / Object.Behavior::PathSpeedScaleY()) / GetArgumentAsNumber(\"RepetitionCount\")" + "DistanceBetweenPositions(Object.X(), Object.Y(), DestinationX, Object.Y() + (DestinationY - Object.Y()) / Object.Behavior::PathSpeedScaleY()) / DistanceBetweenPositions(0, 0, Object.Behavior::PathEndX(), Object.Behavior::PathEndY() / Object.Behavior::PathSpeedScaleY()) / NewRepetitionCount" ] } ] @@ -18804,7 +21155,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -18816,23 +21166,23 @@ { "description": "Path name", "longDescription": "The path can be define with the \"Append curve\" action.", - "name": "PathName", + "name": "NewPathName", "supplementaryInformation": "sceneBezierCurve", "type": "identifier" }, { "description": "Number of repetitions", - "name": "RepetitionCount", + "name": "NewRepetitionCount", "type": "expression" }, { "description": "Duration in seconds", - "name": "Duration", + "name": "NewDuration", "type": "expression" }, { "description": "Easing", - "name": "Easing", + "name": "NewEasing", "supplementaryInformation": "[\"linear\",\"easeInQuad\",\"easeOutQuad\",\"easeInOutQuad\",\"easeInCubic\",\"easeOutCubic\",\"easeInOutCubic\",\"easeInQuart\",\"easeOutQuart\",\"easeInOutQuart\",\"easeInQuint\",\"easeOutQuint\",\"easeInOutQuint\",\"easeInOutSine\",\"easeInExpo\",\"easeOutExpo\",\"easeInOutExpo\",\"easeInCirc\",\"easeOutCirc\",\"easeInOutCirc\",\"easeOutBounce\",\"easeInBack\",\"easeOutBack\",\"easeInOutBack\",\"elastic\",\"swingFromTo\",\"swingFrom\",\"swingTo\",\"bounce\",\"bouncePast\",\"easeFromTo\",\"easeFrom\",\"easeTo\"]", "type": "stringWithSelector" }, @@ -18867,34 +21217,33 @@ "parameters": [ "Object", "Behavior", - "GetArgumentAsString(\"PathName\")", - "GetArgumentAsNumber(\"RepetitionCount\")", - "GetArgumentAsNumber(\"Duration\")", - "GetArgumentAsString(\"Easing\")", - "GetArgumentAsNumber(\"DestinationX\")", - "GetArgumentAsNumber(\"DestinationY\")", + "NewPathName", + "NewRepetitionCount", + "NewDuration", + "NewEasing", + "DestinationX", + "DestinationY", "" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyShouldGoBack" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "ShouldGoBack", + "True", + "" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyPauseDurationBeforeGoingBack" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PauseDurationBeforeGoingBack", "=", - "GetArgumentAsNumber(\"WaitBeforeGoingBackDuration\")" + "WaitBeforeGoingBackDuration" ] } ] @@ -18905,22 +21254,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldLoop\"" + "NewShouldLoop", + "True", + "" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyShouldLoop" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "=" + "ShouldLoop", + "False", + "" ] } ] @@ -18930,22 +21281,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldLoop\"" + "NewShouldLoop", + "True", + "" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyShouldLoop" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "ShouldLoop", + "True", + "" ] } ] @@ -18955,7 +21308,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -18967,23 +21319,23 @@ { "description": "Path name", "longDescription": "The path can be define with the \"Append curve\" action.", - "name": "PathName", + "name": "NewPathName", "supplementaryInformation": "sceneBezierCurve", "type": "identifier" }, { "description": "Number of repetitions", - "name": "RepetitionCount", + "name": "NewRepetitionCount", "type": "expression" }, { "description": "Duration in seconds", - "name": "Duration", + "name": "NewDuration", "type": "expression" }, { "description": "Easing", - "name": "Easing", + "name": "NewEasing", "supplementaryInformation": "[\"linear\",\"easeInQuad\",\"easeOutQuad\",\"easeInOutQuad\",\"easeInCubic\",\"easeOutCubic\",\"easeInOutCubic\",\"easeInQuart\",\"easeOutQuart\",\"easeInOutQuart\",\"easeInQuint\",\"easeOutQuint\",\"easeInOutQuint\",\"easeInOutSine\",\"easeInExpo\",\"easeOutExpo\",\"easeInOutExpo\",\"easeInCirc\",\"easeOutCirc\",\"easeInOutCirc\",\"easeOutBounce\",\"easeInBack\",\"easeOutBack\",\"easeInOutBack\",\"elastic\",\"swingFromTo\",\"swingFrom\",\"swingTo\",\"bounce\",\"bouncePast\",\"easeFromTo\",\"easeFrom\",\"easeTo\"]", "type": "stringWithSelector" }, @@ -19004,7 +21356,7 @@ }, { "description": "Loop", - "name": "ShouldLoop", + "name": "NewShouldLoop", "type": "yesorno" } ], @@ -19023,66 +21375,62 @@ "actions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyPathName" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PathName", "=", - "GetArgumentAsString(\"PathName\")" + "NewPathName" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Duration", "=", - "GetArgumentAsNumber(\"Duration\")" + "NewDuration" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyEasing" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "Easing", "=", - "GetArgumentAsString(\"Easing\")" + "NewEasing" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyRepetitionCount" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RepetitionCount", "=", - "GetArgumentAsNumber(\"RepetitionCount\")" + "NewRepetitionCount" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyShouldGoBack" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "ShouldGoBack", + "False", + "" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyShouldLoop" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "ShouldLoop", + "False", + "" ] } ] @@ -19093,44 +21441,40 @@ "actions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyPathOriginX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathOriginX", "=", "Object.X()" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyPathOriginY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathOriginY", "=", "Object.Y()" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyPathAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathAngle", "=", "0" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyPathScale" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathScale", "=", "1" ] @@ -19158,7 +21502,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -19170,23 +21513,23 @@ { "description": "Path name", "longDescription": "The path can be define with the \"Append curve\" action.", - "name": "PathName", + "name": "NewPathName", "supplementaryInformation": "sceneBezierCurve", "type": "identifier" }, { "description": "Number of repetitions", - "name": "RepetitionCount", + "name": "NewRepetitionCount", "type": "expression" }, { "description": "Duration in seconds", - "name": "Duration", + "name": "NewDuration", "type": "expression" }, { "description": "Easing", - "name": "Easing", + "name": "NewEasing", "supplementaryInformation": "[\"linear\",\"easeInQuad\",\"easeOutQuad\",\"easeInOutQuad\",\"easeInCubic\",\"easeOutCubic\",\"easeInOutCubic\",\"easeInQuart\",\"easeOutQuart\",\"easeInOutQuart\",\"easeInQuint\",\"easeOutQuint\",\"easeInOutQuint\",\"easeInOutSine\",\"easeInExpo\",\"easeOutExpo\",\"easeInOutExpo\",\"easeInCirc\",\"easeOutCirc\",\"easeInOutCirc\",\"easeOutBounce\",\"easeInBack\",\"easeOutBack\",\"easeInOutBack\",\"elastic\",\"swingFromTo\",\"swingFrom\",\"swingTo\",\"bounce\",\"bouncePast\",\"easeFromTo\",\"easeFrom\",\"easeTo\"]", "type": "stringWithSelector" } @@ -19211,32 +21554,31 @@ "parameters": [ "Object", "Behavior", - "GetArgumentAsString(\"PathName\")", - "GetArgumentAsNumber(\"RepetitionCount\")", - "GetArgumentAsNumber(\"Duration\")", - "GetArgumentAsString(\"Easing\")", - "GetArgumentAsNumber(\"DestinationX\")" + "NewPathName", + "NewRepetitionCount", + "NewDuration", + "NewEasing", + "DestinationX" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyShouldGoBack" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "ShouldGoBack", + "True", + "" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyPauseDurationBeforeGoingBack" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PauseDurationBeforeGoingBack", "=", - "GetArgumentAsNumber(\"WaitBeforeGoingBackDuration\")" + "WaitBeforeGoingBackDuration" ] } ] @@ -19247,22 +21589,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldLoop\"" + "NewShouldLoop", + "True", + "" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyShouldLoop" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "=" + "ShouldLoop", + "False", + "" ] } ] @@ -19272,22 +21616,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldLoop\"" + "NewShouldLoop", + "True", + "" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyShouldLoop" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "ShouldLoop", + "True", + "" ] } ] @@ -19297,7 +21643,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -19309,23 +21654,23 @@ { "description": "Path name", "longDescription": "The path can be define with the \"Append curve\" action.", - "name": "PathName", + "name": "NewPathName", "supplementaryInformation": "sceneBezierCurve", "type": "identifier" }, { "description": "Number of repetitions", - "name": "RepetitionCount", + "name": "NewRepetitionCount", "type": "expression" }, { "description": "Duration in seconds", - "name": "Duration", + "name": "NewDuration", "type": "expression" }, { "description": "Easing", - "name": "Easing", + "name": "NewEasing", "supplementaryInformation": "[\"linear\",\"easeInQuad\",\"easeOutQuad\",\"easeInOutQuad\",\"easeInCubic\",\"easeOutCubic\",\"easeInOutCubic\",\"easeInQuart\",\"easeOutQuart\",\"easeInOutQuart\",\"easeInQuint\",\"easeOutQuint\",\"easeInOutQuint\",\"easeInOutSine\",\"easeInExpo\",\"easeOutExpo\",\"easeInOutExpo\",\"easeInCirc\",\"easeOutCirc\",\"easeInOutCirc\",\"easeOutBounce\",\"easeInBack\",\"easeOutBack\",\"easeInOutBack\",\"elastic\",\"swingFromTo\",\"swingFrom\",\"swingTo\",\"bounce\",\"bouncePast\",\"easeFromTo\",\"easeFrom\",\"easeTo\"]", "type": "stringWithSelector" }, @@ -19336,7 +21681,7 @@ }, { "description": "Loop", - "name": "ShouldLoop", + "name": "NewShouldLoop", "type": "yesorno" } ], @@ -19359,7 +21704,7 @@ "parameters": [ "Object.Behavior::Progress()", "=", - "Object.Behavior::PropertyTarget()" + "Target" ] } ], @@ -19379,7 +21724,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -19498,7 +21842,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -19526,7 +21869,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyPathAngle() + CurvedMovement::PathAngle(Object.Behavior::PropertyPathName(), Object.Behavior::RepeatedPathPosition()) + Object.Behavior::PropertyRotationOffset() + Object.Behavior::BackOrForthAngle()" + "PathAngle + CurvedMovement::PathAngle(PathName, Object.Behavior::RepeatedPathPosition()) + RotationOffset + Object.Behavior::BackOrForthAngle()" ] } ] @@ -19539,7 +21882,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -19675,7 +22017,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -19731,7 +22072,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -19793,7 +22133,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyPathName()", + "PathName", "1", "0.5" ] @@ -19822,7 +22162,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyPathName()", + "PathName", "0.5", "0.5" ] @@ -19842,8 +22182,8 @@ "Behavior", "Object.X()", "Object.Y()", - "Object.Behavior::PropertyPathScale()", - "Object.Behavior::PropertyPathAngle()", + "PathScale", + "PathAngle", "" ] } @@ -19864,32 +22204,30 @@ }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyIsGoingBack" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", + "IsGoingBack", + "False", "" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyOrigin" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Origin", "=", "0" ] }, { "type": { - "value": "CurvedMovement::TweenPathMovement::SetPropertyTarget" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Target", "=", "1" ] @@ -19901,21 +22239,23 @@ "conditions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::PropertyFlipXToGoBack" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "FlipXToGoBack", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FlipX" + "value": "FlippableCapability::FlippableBehavior::FlipX" }, "parameters": [ "Object", + "Flippable", "no" ] } @@ -19926,21 +22266,23 @@ "conditions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::PropertyFlipYToGoBack" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "FlipYToGoBack", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FlipY" + "value": "FlippableCapability::FlippableBehavior::FlipY" }, "parameters": [ "Object", + "Flippable", "no" ] } @@ -19951,7 +22293,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -19980,7 +22321,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "floor(Object.Behavior::Progress() * Object.Behavior::PropertyRepetitionCount())" + "floor(Object.Behavior::Progress() * RepetitionCount)" ] } ] @@ -19993,7 +22334,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -20022,7 +22362,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PathLength() * mod(Object.Behavior::Progress(), 1 / Object.Behavior::PropertyRepetitionCount()) * Object.Behavior::PropertyRepetitionCount()" + "Object.Behavior::PathLength() * mod(Object.Behavior::Progress(), 1 / RepetitionCount) * RepetitionCount" ] } ] @@ -20035,7 +22375,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -20064,7 +22403,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Tween::Ease(Object.Behavior::PropertyEasing(), Object.Behavior::PropertyOrigin(), Object.Behavior::PropertyTarget(), min(1, Object.ObjectTimerElapsedTime(\"__CurvedMovement.Time\") / Object.Behavior::PropertyDuration()))" + "Tween::Ease(Easing, Origin, Target, min(1, Object.ObjectTimerElapsedTime(\"__CurvedMovement.Time\") / Duration))" ] } ] @@ -20077,7 +22416,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -20106,7 +22444,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "CurvedMovement::PathLength(Object.Behavior::PropertyPathName())" + "CurvedMovement::PathLength(PathName)" ] } ] @@ -20119,7 +22457,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -20148,7 +22485,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "CurvedMovement::PathEndX(Object.Behavior::PropertyPathName())" + "CurvedMovement::PathEndX(PathName)" ] } ] @@ -20161,7 +22498,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -20190,7 +22526,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "CurvedMovement::PathEndY(Object.Behavior::PropertyPathName())" + "CurvedMovement::PathEndY(PathName)" ] } ] @@ -20203,7 +22539,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -20232,7 +22567,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "CurvedMovement::SpeedScaleY(Object.Behavior::PropertyPathName())" + "CurvedMovement::SpeedScaleY(PathName)" ] } ] @@ -20245,7 +22580,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -20270,11 +22604,12 @@ "conditions": [ { "type": { - "value": "CurvedMovement::TweenPathMovement::PropertyIsGoingBack" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsGoingBack", + "True", + "" ] } ], @@ -20297,7 +22632,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -20311,6 +22645,17 @@ } ], "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Flippable capability", + "description": "", + "group": "", + "extraInformation": [ + "FlippableCapability::FlippableBehavior" + ], + "name": "Flippable" + }, { "value": "true", "type": "Boolean", @@ -20621,13 +22966,12 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyPreviousSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousSpeed", "=", - "Object.Behavior::PropertySpeed()" + "Speed" ] } ], @@ -20649,26 +22993,24 @@ "conditions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertySpeed" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "!=", - "Object.Behavior::PropertyTargetedSpeed()" + "TargetedSpeed" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "+", - "Object.Behavior::PropertyAcceleration() * TimeDelta()" + "Acceleration * TimeDelta()" ] } ], @@ -20681,31 +23023,29 @@ "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "sign(Object.Behavior::PropertyAcceleration())", + "sign(Acceleration)", "!=", - "sign(Object.Behavior::PropertyTargetedSpeed() - Object.Behavior::PropertySpeed())" + "sign(TargetedSpeed - Speed)" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "=", - "Object.Behavior::PropertyTargetedSpeed()" + "TargetedSpeed" ] }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyAcceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Acceleration", "=", "0" ] @@ -20738,7 +23078,7 @@ "Object", "Behavior", "+", - "(Object.Behavior::PropertyPreviousSpeed() + Object.Behavior::PropertySpeed()) * TimeDelta() / 2", + "(PreviousSpeed + Speed) * TimeDelta() / 2", "" ] } @@ -20761,11 +23101,10 @@ "conditions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertySpeed" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "<", "0" ] @@ -20774,12 +23113,12 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyIsLookingBack" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsLookingBack", + "True", + "" ] } ] @@ -20789,11 +23128,10 @@ "conditions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertySpeed" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", ">", "0" ] @@ -20802,12 +23140,12 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyIsLookingBack" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsLookingBack", + "False", + "" ] } ] @@ -20846,24 +23184,22 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyPathName" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PathName", "=", - "GetArgumentAsString(\"PathName\")" + "NewPathName" ] }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyRepetitionCount" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RepetitionCount", "=", - "min(1, GetArgumentAsNumber(\"RepetitionCount\"))" + "min(1, NewRepetitionCount)" ] } ] @@ -20874,22 +23210,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldLoop\"" + "NewShouldLoop", + "True", + "" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyShouldLoop" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "ShouldLoop", + "False", + "" ] } ] @@ -20899,22 +23237,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldLoop\"" + "NewShouldLoop", + "True", + "" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyShouldLoop" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "ShouldLoop", + "True", + "" ] } ] @@ -20925,44 +23265,40 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyPathOriginX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathOriginX", "=", "Object.X()" ] }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyPathOriginY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathOriginY", "=", "Object.Y()" ] }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyPathAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathAngle", "=", "0" ] }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyPathScale" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathScale", "=", "1" ] @@ -21001,18 +23337,18 @@ { "description": "Path name", "longDescription": "The path can be define with the \"Append curve\" action.", - "name": "PathName", + "name": "NewPathName", "supplementaryInformation": "sceneBezierCurve", "type": "identifier" }, { "description": "Number of repetitions", - "name": "RepetitionCount", + "name": "NewRepetitionCount", "type": "expression" }, { "description": "Loop", - "name": "ShouldLoop", + "name": "NewShouldLoop", "type": "yesorno" } ], @@ -21047,7 +23383,7 @@ }, "parameters": [ "", - "GetArgumentAsString(\"PathName\")", + "NewPathName", "" ] } @@ -21060,24 +23396,22 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyPathName" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PathName", "=", - "GetArgumentAsString(\"PathName\")" + "NewPathName" ] }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyRepetitionCount" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RepetitionCount", "=", - "min(1, GetArgumentAsNumber(\"RepetitionCount\"))" + "min(1, NewRepetitionCount)" ] } ] @@ -21088,22 +23422,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldLoop\"" + "NewShouldLoop", + "True", + "" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyShouldLoop" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "ShouldLoop", + "False", + "" ] } ] @@ -21113,22 +23449,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldLoop\"" + "NewShouldLoop", + "True", + "" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyShouldLoop" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "ShouldLoop", + "True", + "" ] } ] @@ -21139,35 +23477,32 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyPathOriginX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathOriginX", "=", "Object.X()" ] }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyPathOriginY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathOriginY", "=", "Object.Y()" ] }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyPathAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathAngle", "=", - "AngleBetweenPositions(Object.X(), Object.Y(), GetArgumentAsNumber(\"DestinationX\"), Object.Y() + (GetArgumentAsNumber(\"DestinationY\") - Object.Y()) / Object.Behavior::PathSpeedScaleY()) - AngleBetweenPositions(0, 0, Object.Behavior::PathEndX(), Object.Behavior::PathEndY() / Object.Behavior::PathSpeedScaleY())" + "AngleBetweenPositions(Object.X(), Object.Y(), DestinationX, Object.Y() + (DestinationY - Object.Y()) / Object.Behavior::PathSpeedScaleY()) - AngleBetweenPositions(0, 0, Object.Behavior::PathEndX(), Object.Behavior::PathEndY() / Object.Behavior::PathSpeedScaleY())" ] } ] @@ -21178,13 +23513,12 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyPathScale" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PathScale", "=", - "DistanceBetweenPositions(Object.X(), Object.Y(), GetArgumentAsNumber(\"DestinationX\"), Object.Y() + (GetArgumentAsNumber(\"DestinationY\") - Object.Y()) / Object.Behavior::PathSpeedScaleY()) / DistanceBetweenPositions(0, 0, Object.Behavior::PathEndX(), Object.Behavior::PathEndY() / Object.Behavior::PathSpeedScaleY()) / GetArgumentAsNumber(\"RepetitionCount\")" + "DistanceBetweenPositions(Object.X(), Object.Y(), DestinationX, Object.Y() + (DestinationY - Object.Y()) / Object.Behavior::PathSpeedScaleY()) / DistanceBetweenPositions(0, 0, Object.Behavior::PathEndX(), Object.Behavior::PathEndY() / Object.Behavior::PathSpeedScaleY()) / NewRepetitionCount" ] } ] @@ -21223,18 +23557,18 @@ { "description": "Path name", "longDescription": "The path can be define with the \"Append curve\" action.", - "name": "PathName", + "name": "NewPathName", "supplementaryInformation": "sceneBezierCurve", "type": "identifier" }, { "description": "Number of repetitions", - "name": "RepetitionCount", + "name": "NewRepetitionCount", "type": "expression" }, { "description": "Loop", - "name": "ShouldLoop", + "name": "NewShouldLoop", "type": "yesorno" }, { @@ -21266,7 +23600,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "mod(Object.Behavior::PropertyCurrentLength(), Object.Behavior::TotalLength())" + "mod(CurrentLength, Object.Behavior::TotalLength())" ] } ] @@ -21306,7 +23640,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "ceil(Object.Behavior::PropertyCurrentLength() / Object.Behavior::TotalLength())" + "ceil(CurrentLength / Object.Behavior::TotalLength())" ] } ] @@ -21346,7 +23680,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyCurrentLength()" + "CurrentLength" ] } ] @@ -21384,24 +23718,24 @@ { "type": { "inverted": true, - "value": "CurvedMovement::SpeedPathMovement::PropertyShouldLoop" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldLoop", + "True", + "" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyCurrentLength" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentLength", "=", - "clamp(GetArgumentAsNumber(\"Value\"), 0, Object.Behavior::TotalLength())" + "clamp(Value, 0, Object.Behavior::TotalLength())" ] } ] @@ -21411,24 +23745,24 @@ "conditions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertyShouldLoop" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldLoop", + "True", + "" ] } ], "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyCurrentLength" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentLength", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -21454,11 +23788,12 @@ "conditions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertyRotation" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "Rotation", + "True", + "" ] } ], @@ -21470,7 +23805,7 @@ "parameters": [ "Object", "=", - "Object.Behavior::PropertyPathAngle() + CurvedMovement::PathAngle(Object.Behavior::PropertyPathName(), Object.Behavior::RepeatedPathPosition()) + Object.Behavior::PropertyRotationOffset() + Object.Behavior::BackOrForthAngle()" + "PathAngle + CurvedMovement::PathAngle(PathName, Object.Behavior::RepeatedPathPosition()) + RotationOffset + Object.Behavior::BackOrForthAngle()" ] } ] @@ -21578,7 +23913,7 @@ "parameters": [ "Object.Behavior::PositionOnLoop()", "<", - "GetArgumentAsNumber(\"Length\")" + "Length" ] } ], @@ -21626,22 +23961,20 @@ "conditions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertyCurrentLength" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentLength", "=", "0" ] }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertySpeed" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "<=", "0" ] @@ -21686,22 +24019,20 @@ "conditions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertyCurrentLength" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentLength", "=", "Object.Behavior::TotalLength()" ] }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertySpeed" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", ">=", "0" ] @@ -21999,7 +24330,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyPathAngle() + CurvedMovement::PathAngle(Object.Behavior::PropertyPathName(), Object.Behavior::RepeatedPathPosition()) + Object.Behavior::PropertyRotationOffset() + Object.Behavior::BackOrForthAngle()" + "PathAngle + CurvedMovement::PathAngle(PathName, Object.Behavior::RepeatedPathPosition()) + RotationOffset + Object.Behavior::BackOrForthAngle()" ] } ] @@ -22039,7 +24370,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertySpeed()" + "Speed" ] } ] @@ -22077,24 +24408,22 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyTargetedSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TargetedSpeed", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -22114,7 +24443,7 @@ }, { "description": "Speed (in pixels per second)", - "name": "Speed", + "name": "Value", "type": "expression" } ], @@ -22133,24 +24462,22 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyTargetedSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TargetedSpeed", "=", - "GetArgumentAsNumber(\"TargetedSpeed\")" + "NewTargetedSpeed" ] }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyAcceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Acceleration", "=", - "GetArgumentAsNumber(\"Acceleration\")" + "NewAcceleration" ] } ] @@ -22172,11 +24499,10 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "=", "0" ] @@ -22198,12 +24524,12 @@ }, { "description": "Targeted speed (in pixels per second)", - "name": "TargetedSpeed", + "name": "NewTargetedSpeed", "type": "expression" }, { "description": "Acceleration (in pixels per second per second)", - "name": "Acceleration", + "name": "NewAcceleration", "type": "expression" } ], @@ -22222,24 +24548,22 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyTargetedSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TargetedSpeed", "=", - "GetArgumentAsNumber(\"TargetedSpeed\")" + "NewTargetedSpeed" ] }, { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertyAcceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Acceleration", "=", - "(GetArgumentAsNumber(\"TargetedSpeed\") - Object.Behavior::PropertySpeed()) / GetArgumentAsNumber(\"Duration\")" + "(NewTargetedSpeed - Speed) / Duration" ] } ] @@ -22261,11 +24585,10 @@ "actions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "=", "0" ] @@ -22287,7 +24610,7 @@ }, { "description": "Targeted speed (in pixels per second)", - "name": "TargetedSpeed", + "name": "NewTargetedSpeed", "type": "expression" }, { @@ -22521,11 +24844,10 @@ "conditions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertyViewpoint" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Viewpoint", "=", "\"Top-down\"" ] @@ -22538,7 +24860,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyPathName()", + "PathName", "1", "0.5" ] @@ -22550,11 +24872,10 @@ "conditions": [ { "type": { - "value": "CurvedMovement::SpeedPathMovement::PropertyViewpoint" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Viewpoint", "=", "\"Isometry 2:1 (26.565°)\"" ] @@ -22567,7 +24888,7 @@ }, "parameters": [ "", - "Object.Behavior::PropertyPathName()", + "PathName", "0.5", "0.5" ] @@ -22587,8 +24908,8 @@ "Behavior", "Object.X()", "Object.Y()", - "Object.Behavior::PropertyPathScale()", - "Object.Behavior::PropertyPathAngle()", + "PathScale", + "PathAngle", "" ] }, @@ -22778,7 +25099,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyRepetitionCount() - 1" + "RepetitionCount - 1" ] } ] @@ -22860,7 +25181,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "CurvedMovement::PathLength(Object.Behavior::PropertyPathName())" + "CurvedMovement::PathLength(PathName)" ] } ] @@ -22901,7 +25222,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "CurvedMovement::PathLength(Object.Behavior::PropertyPathName()) * Object.Behavior::PropertyRepetitionCount()" + "CurvedMovement::PathLength(PathName) * RepetitionCount" ] } ] @@ -22942,7 +25263,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "CurvedMovement::PathEndX(Object.Behavior::PropertyPathName())" + "CurvedMovement::PathEndX(PathName)" ] } ] @@ -22983,7 +25304,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "CurvedMovement::PathEndY(Object.Behavior::PropertyPathName())" + "CurvedMovement::PathEndY(PathName)" ] } ] @@ -23024,7 +25345,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "CurvedMovement::SpeedScaleY(Object.Behavior::PropertyPathName())" + "CurvedMovement::SpeedScaleY(PathName)" ] } ] @@ -23135,7 +25456,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyPathOriginX()" + "PathOriginX" ] } ] @@ -23176,7 +25497,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyPathOriginY()" + "PathOriginY" ] } ] @@ -23439,7 +25760,7 @@ "name": "Billboard", "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/b46f9cf1fc6b0ef59a461c7831003d1fb091137cbedbae876774f40f8b7dea97_pine-tree.svg", "shortDescription": "Rotate 3D objects to appear like 2D sprites.", - "version": "1.0.0", + "version": "1.0.1", "description": [ "Rotate 3D objects to make them face the camera and appear like 2D sprite.", "", @@ -23456,13 +25777,15 @@ "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" ], "dependencies": [], + "globalVariables": [], + "sceneVariables": [], "eventsFunctions": [], "eventsBasedBehaviors": [ { "description": "Rotate to always face the camera (only the front face of the cube should be enabled).", "fullName": "Billboard", "name": "Billboard", - "objectType": "Scene3D::Cube3DObject", + "objectType": "", "eventsFunctions": [ { "fullName": "", @@ -23510,11 +25833,10 @@ "conditions": [ { "type": { - "value": "Billboard::Billboard::PropertyOffsetPositionMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "OffsetPositionMode", "=", "\"Standing on Z axis\"" ] @@ -23533,10 +25855,11 @@ }, { "type": { - "value": "Scene3D::Cube3DObject::SetZ" + "value": "Scene3D::Base3DBehavior::SetZ" }, "parameters": [ "Object", + "Object3D", "+", "Object.Height() / 2" ] @@ -23550,7 +25873,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { @@ -23589,7 +25911,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { @@ -23613,21 +25934,23 @@ "conditions": [ { "type": { - "value": "Billboard::Billboard::PropertyShouldRotateX" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldRotateX", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Scene3D::Cube3DObject::SetRotationX" + "value": "Scene3D::Base3DBehavior::SetRotationX" }, "parameters": [ "Object", + "Object3D", "=", "-Scene3D::CameraRotationX(Object.Layer())" ] @@ -23639,21 +25962,23 @@ "conditions": [ { "type": { - "value": "Billboard::Billboard::PropertyShouldRotateY" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldRotateY", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Scene3D::Cube3DObject::SetRotationY" + "value": "Scene3D::Base3DBehavior::SetRotationY" }, "parameters": [ "Object", + "Object3D", "=", "Scene3D::CameraRotationY(Object.Layer())" ] @@ -23665,11 +25990,12 @@ "conditions": [ { "type": { - "value": "Billboard::Billboard::PropertyShouldRotateZ" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldRotateZ", + "True", + "" ] } ], @@ -23691,7 +26017,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { @@ -23716,11 +26041,12 @@ "conditions": [ { "type": { - "value": "Billboard::Billboard::PropertyShouldRotateX" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldRotateX", + "True", + "" ] } ], @@ -23740,7 +26066,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { @@ -23766,22 +26091,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Billboard::Billboard::SetPropertyShouldRotateX" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "ShouldRotateX", + "False", + "" ] } ] @@ -23791,22 +26118,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Billboard::Billboard::SetPropertyShouldRotateX" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "ShouldRotateX", + "True", + "" ] } ] @@ -23816,7 +26145,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { @@ -23848,11 +26176,12 @@ "conditions": [ { "type": { - "value": "Billboard::Billboard::PropertyShouldRotateY" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldRotateY", + "True", + "" ] } ], @@ -23872,7 +26201,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { @@ -23898,22 +26226,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Billboard::Billboard::SetPropertyShouldRotateY" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "ShouldRotateY", + "False", + "" ] } ] @@ -23923,22 +26253,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Billboard::Billboard::SetPropertyShouldRotateY" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "ShouldRotateY", + "True", + "" ] } ] @@ -23948,7 +26280,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { @@ -23980,11 +26311,12 @@ "conditions": [ { "type": { - "value": "Billboard::Billboard::PropertyShouldRotateZ" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldRotateZ", + "True", + "" ] } ], @@ -24004,7 +26336,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { @@ -24030,22 +26361,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Billboard::Billboard::SetPropertyShouldRotateZ" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "ShouldRotateZ", + "False", + "" ] } ] @@ -24055,22 +26388,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Billboard::Billboard::SetPropertyShouldRotateZ" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "ShouldRotateZ", + "True", + "" ] } ] @@ -24080,7 +26415,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { @@ -24112,11 +26446,12 @@ "inlineCode": [ "/** @type {gdjs.Cube3DRuntimeObject} */", "const object = objects[0];", - "object._shouldUseTransparentTexture = true;", - "/** @type {gdjs.Cube3DRuntimeObjectRenderer} */", - "const renderer = object.getRenderer();", - "renderer.updateFace(0);", - "" + "if (gdjs.Cube3DRuntimeObject && object instanceof gdjs.Cube3DRuntimeObject) {", + " object._shouldUseTransparentTexture = true;", + " /** @type {gdjs.Cube3DRuntimeObjectRenderer} */", + " const renderer = object.getRenderer();", + " renderer.updateFace(0);", + "}" ], "parameterObjects": "Object", "useStrict": true, @@ -24127,7 +26462,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Scene3D::Cube3DObject", "type": "object" }, { @@ -24141,6 +26475,17 @@ } ], "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "3D capability", + "description": "", + "group": "", + "extraInformation": [ + "Scene3D::Base3DBehavior" + ], + "name": "Object3D" + }, { "value": "true", "type": "Boolean", @@ -24204,6 +26549,8 @@ "tags": [], "authorIds": [], "dependencies": [], + "globalVariables": [], + "sceneVariables": [], "eventsFunctions": [], "eventsBasedBehaviors": [ { @@ -25483,6 +27830,8 @@ "tags": [], "authorIds": [], "dependencies": [], + "globalVariables": [], + "sceneVariables": [], "eventsFunctions": [ { "fullName": "", @@ -25528,6 +27877,8 @@ "tags": [], "authorIds": [], "dependencies": [], + "globalVariables": [], + "sceneVariables": [], "eventsFunctions": [ { "fullName": "Build track", @@ -30427,7 +32778,7 @@ "gridColor": 0, "gridAlpha": 0.25, "snap": true, - "zoomFactor": 0.22336005893811542, + "zoomFactor": 0.35534345588170135, "windowMask": false } }, @@ -33238,7 +35589,7 @@ "gridColor": 0, "gridAlpha": 0.25, "snap": true, - "zoomFactor": 0.3010461197182489, + "zoomFactor": 0.301046119718249, "windowMask": false } }, @@ -36248,6 +38599,5 @@ "windowMask": false } } - ], - "externalSourceFiles": [] + ] } \ No newline at end of file diff --git a/examples/bim-bam/bim-bam.json b/examples/bim-bam/bim-bam.json index 4201204eb..0df788fc0 100644 --- a/examples/bim-bam/bim-bam.json +++ b/examples/bim-bam/bim-bam.json @@ -1,9 +1,9 @@ { "firstLayout": "", "gdVersion": { - "build": 99, - "major": 4, - "minor": 0, + "build": 224, + "major": 5, + "minor": 5, "revision": 0 }, "properties": { @@ -18,7 +18,6 @@ "scaleMode": "linear", "sizeOnStartupMode": "", "templateSlug": "", - "useExternalSourceFiles": false, "version": "1.0.1", "name": "BimBam", "description": "This is a game example to show how to use a graph extension to create match-3 games with GDevelop. The source can be found directly in GDevelop in the examples list.\n\nControls are arrows and left-shift or mouse.", @@ -101,7 +100,6 @@ "resources": { "resources": [ { - "alwaysLoaded": false, "file": "assets/BlueBubble.png", "kind": "image", "metadata": "", @@ -110,7 +108,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/GreenBubble.png", "kind": "image", "metadata": "", @@ -119,7 +116,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/PurpuleBubble.png", "kind": "image", "metadata": "", @@ -128,7 +124,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/RedBubble.png", "kind": "image", "metadata": "", @@ -137,7 +132,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/YellowBubble.png", "kind": "image", "metadata": "", @@ -146,7 +140,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Launcher.png", "kind": "image", "metadata": "", @@ -155,7 +148,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/SideBorder.png", "kind": "image", "metadata": "", @@ -164,7 +156,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/TopBorder.png", "kind": "image", "metadata": "", @@ -173,7 +164,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Cross.png", "kind": "image", "metadata": "", @@ -182,7 +172,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "square-icon.png", "kind": "image", "metadata": "", @@ -3736,7 +3725,6 @@ "externalEvents": [ { "associatedLayout": "Game", - "lastChangeTimeStamp": 0, "name": "CreateNeighborLinks", "events": [ { @@ -3852,7 +3840,6 @@ }, { "associatedLayout": "Game", - "lastChangeTimeStamp": 0, "name": "UpdateRemainingColors", "events": [ { @@ -3941,7 +3928,6 @@ }, { "associatedLayout": "Game", - "lastChangeTimeStamp": 0, "name": "NextLevel", "events": [ { @@ -3984,7 +3970,7 @@ "name": "HexagonalGrid", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/hexagon-multiple-outline.svg", "shortDescription": "Snap objects to an hexagonal grid.", - "version": "0.0.2", + "version": "0.0.3", "description": [ "It allows to snap objects on an hexagonal grid.", "", @@ -4274,10 +4260,10 @@ "parameters": [ "", "Object", - "GetArgumentAsNumber(\"CellWidth\")", - "GetArgumentAsNumber(\"CellHeight\") * 7/6", - "GetArgumentAsNumber(\"OffsetX\")", - "GetArgumentAsNumber(\"OffsetY\")", + "CellWidth", + "CellHeight * 7/6", + "OffsetX", + "OffsetY", "" ] } @@ -4329,7 +4315,7 @@ "name": "CursorMovement", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Computers and Hardware/Computers and Hardware_mouse_pc.svg", "shortDescription": "Conditions to check the cursor movement (still or moving).", - "version": "1.0.1", + "version": "1.0.2", "description": [ "Provides two conditions:", "* The cursor is moving", @@ -4384,7 +4370,7 @@ "", "\"__mousemovement_MouseStayStill\"", "<", - "GetArgumentAsNumber(\"Duration\")" + "Duration" ] } ], @@ -4544,7 +4530,7 @@ "name": "FireBullet", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/bullet.svg", "shortDescription": "Fire bullets, manage ammo, reloading and overheating.", - "version": "0.7.0", + "version": "0.8.1", "description": [ "This extension allows objects to fire bullets.", "", @@ -4613,24 +4599,22 @@ }, { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", - "Object.Behavior::PropertyStartingAmmo()" + "StartingAmmo" ] }, { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "=", - "Object.Behavior::PropertyShotsPerReload()" + "ShotsPerReload" ] } ] @@ -4683,114 +4667,93 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHasJustFired" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "HasJustFired", + "True", + "" ] } ], - "actions": [], - "events": [ + "actions": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Reset firing cooldown", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Object", - "\"__FireBullet.FiringCooldown\"" - ] - } - ] - } - ], - "parameters": [] + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "HasJustFired", + "False", + "" + ] + }, + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.FiringCooldown\"" + ] }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "TotalShotsFired", + "+", + "1" + ] + } + ], + "events": [ { "colorB": 228, "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Update ammo", + "name": "Ammo", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Subtract 1 from ammo (if not unlimited ammo)" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { "inverted": true, - "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UnlimitedAmmo", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", - "max(0,Object.Behavior::AmmoQuantity() - 1)" + "max(0, AmmoQuantity - 1)" ] } ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Update reloading counter", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyShotsPerReload" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsPerReload", ">", "0" ] @@ -4799,39 +4762,27 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "-", "1" ] } ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Automatically reload gun when needed", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "AutomaticReloading", + "True", + "" ] }, { @@ -4877,32 +4828,19 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Update Overheat", + "name": "Overheat", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Increase heat (if needed)" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHeatIncreasePerShot" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatIncreasePerShot", ">", "0" ] @@ -4911,39 +4849,25 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatLevel", "+", - "Object.Behavior::PropertyHeatIncreasePerShot()" + "HeatIncreasePerShot" ] } ], "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Check if this caused overheat" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyOverheatDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OverheatDuration", ">", "0" ] @@ -4975,63 +4899,6 @@ } ], "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Update statistics", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalShotsFired" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "1" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Reset firing detection", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyHasJustFired" - }, - "parameters": [ - "Object", - "Behavior", - "=" - ] - } - ] - } - ], - "parameters": [] } ] } @@ -5043,7 +4910,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Reload gun when needed", + "name": "Reload", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -5080,30 +4947,29 @@ "Object", "\"__FireBullet.ReloadingTimer\"", ">=", - "Object.Behavior::PropertyReloadDuration()" + "ReloadDuration" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalReloadsCompleted", "+", "1" ] }, { "type": { - "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "ReloadInProgress", + "False", + "" ] } ], @@ -5125,13 +4991,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "=", - "Object.Behavior::PropertyShotsPerReload()" + "ShotsPerReload" ] } ] @@ -5166,13 +5031,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "=", - "min(Object.Behavior::PropertyShotsPerReload(), Object.Behavior::PropertyAmmoQuantity())" + "min(ShotsPerReload, AmmoQuantity)" ] } ] @@ -5187,7 +5051,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Reduce heat level (based on cooling rate)", + "name": "Cooling", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -5199,7 +5063,7 @@ "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "Object.Behavior::HeatLevel()", + "HeatLevel", ">", "0" ] @@ -5212,11 +5076,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyExponentialCoolingRate" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ExponentialCoolingRate", ">", "0" ] @@ -5225,13 +5088,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatLevel", "=", - "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyExponentialCoolingRate() * Object.Behavior::PropertyHeatLevel())" + "max(0, HeatLevel - TimeDelta() * ExponentialCoolingRate * HeatLevel)" ] } ] @@ -5241,11 +5103,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyLinearCoolingRate" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LinearCoolingRate", ">", "0" ] @@ -5254,13 +5115,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatLevel", "=", - "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyLinearCoolingRate())" + "max(0, HeatLevel - TimeDelta() * LinearCoolingRate)" ] } ] @@ -5294,37 +5154,25 @@ "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, toward _PARAM5_ with speed _PARAM6_ px/s", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Calculate the trajectory angle and use the \"Fire bullets\" action", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::Fire" - }, - "parameters": [ - "Object", - "Behavior", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "Bullet", - "Object.AngleToObject(TargetObject)", - "GetArgumentAsNumber(\"Speed\")", - "" - ] - } + "type": { + "value": "FireBullet::FireBullet::Fire" + }, + "parameters": [ + "Object", + "Behavior", + "XPosition", + "YPosition", + "Bullet", + "Object.AngleToObject(TargetObject)", + "Speed", + "" ] } - ], - "parameters": [] + ] } ], "parameters": [ @@ -5375,37 +5223,25 @@ "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, toward position _PARAM5_;_PARAM6_ with speed _PARAM7_ px/s", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Calculate the trajectory angle and use the \"Fire bullets\" action", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::Fire" - }, - "parameters": [ - "Object", - "Behavior", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "Bullet", - "Object.AngleToPosition(GetArgumentAsNumber(\"TargetXPosition\"), GetArgumentAsNumber(\"TargetYPosition\"))", - "GetArgumentAsNumber(\"Speed\")", - "" - ] - } + "type": { + "value": "FireBullet::FireBullet::Fire" + }, + "parameters": [ + "Object", + "Behavior", + "XPosition", + "YPosition", + "Bullet", + "Object.AngleToPosition(TargetXPosition, TargetYPosition)", + "Speed", + "" ] } - ], - "parameters": [] + ] } ], "parameters": [ @@ -5461,242 +5297,188 @@ "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, toward angle _PARAM5_ and speed _PARAM6_ px/s", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Check if ready to shoot", - "source": "", - "type": "BuiltinCommonInstructions::Group", + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReadyToShoot" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "HasJustFired", + "True", + "" + ] + } + ], "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "FireBullet::FireBullet::IsReadyToShoot" + "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "Object", - "Behavior", - "" + "BulletQuantity", + "=", + "1" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHasJustFired" + "value": "FireBullet::FireBullet::FireSingleBullet" }, "parameters": [ "Object", "Behavior", - "yes" + "XPosition", + "YPosition", + "Bullet", + "Angle", + "Speed", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "BulletQuantity", + ">", + "1" ] } ], + "actions": [], "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Single bullet", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyBulletQuantity()", - "=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::FireSingleBullet" - }, - "parameters": [ - "Object", - "Behavior", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "Bullet", - "GetArgumentAsNumber(\"Angle\")", - "GetArgumentAsNumber(\"Speed\")", - "" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Multiple bullets", - "source": "", - "type": "BuiltinCommonInstructions::Group", + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyBulletQuantity()", - ">", - "1" - ] - } - ], - "actions": [ + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "BulletQuantity", + "conditions": [], + "actions": [], + "events": [ { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__FireBullet.BatchOrderID", - "=", - "0" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::FiringArc" + }, + "parameters": [ + "Object", + "Behavior", + "!=", + "360", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "MultiShotAngle", + "=", + "Angle + lerp(-FiringArc / 2, FiringArc / 2, BulletIndex / (BulletQuantity - 1)) " + ] + } ] }, { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__FireBullet.CurrentBulletAngle", - "=", - "GetArgumentAsNumber(\"Angle\") - Object.Behavior::PropertyFiringArc()/2" - ] - } - ], - "events": [ + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "When firing in a full circle, prevent first and last bullet from using the same angle" + }, { - "type": "BuiltinCommonInstructions::Repeat", - "repeatExpression": "Object.Behavior::PropertyBulletQuantity()", - "conditions": [], - "actions": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { "type": { - "value": "FireBullet::FireBullet::FireSingleBullet" + "value": "FireBullet::FireBullet::FiringArc" }, "parameters": [ "Object", "Behavior", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "Bullet", - "Object.Variable(__FireBullet.CurrentBulletAngle) + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", - "GetArgumentAsNumber(\"Speed\")", + "=", + "360", "" ] } ], - "events": [ + "actions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "SetNumberVariable" }, - "comment": "When firing in a full circle, prevent first and last bullet from using the same angle" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::FiringArc" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "360", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__FireBullet.CurrentBulletAngle", - "+", - "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity())" - ] - } + "parameters": [ + "MultiShotAngle", + "=", + "Angle + lerp(-FiringArc / 2, FiringArc / 2, BulletIndex / BulletQuantity) " ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::FiringArc" - }, - "parameters": [ - "Object", - "Behavior", - "!=", - "360", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__FireBullet.CurrentBulletAngle", - "+", - "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity() - 1)" - ] - } + "type": { + "value": "FireBullet::FireBullet::FireSingleBullet" + }, + "parameters": [ + "Object", + "Behavior", + "XPosition", + "YPosition", + "Bullet", + "MultiShotAngle", + "Speed", + "" ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__FireBullet.BatchOrderID", - "+", - "1" - ] - } + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BulletIndex", + "+", + "1" ] } ] @@ -5704,12 +5486,23 @@ ] } ], - "parameters": [] + "variables": [ + { + "folded": true, + "name": "MultiShotAngle", + "type": "number", + "value": 0 + }, + { + "name": "BulletIndex", + "type": "number", + "value": 0 + } + ] } ] } - ], - "parameters": [] + ] } ], "parameters": [ @@ -5793,9 +5586,9 @@ "parameters": [ "", "Bullet", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "Object.Behavior::PropertyBulletLayer()" + "XPosition", + "YPosition", + "BulletLayer" ] } ], @@ -5818,13 +5611,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyRandomizedAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RandomizedAngle", "=", - "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(), Object.Behavior::PropertyAngleVariance())" + "Angle + RandomInRange(-AngleVariance, AngleVariance)" ] }, { @@ -5833,64 +5625,13 @@ }, "parameters": [ "Bullet", - "Object.Behavior::PropertyRandomizedAngle()", - "GetArgumentAsNumber(\"Speed\") + RandomInRange(-Object.Behavior::PropertyBulletSpeedVariance(), Object.Behavior::PropertyBulletSpeedVariance())", + "RandomizedAngle", + "Speed + RandomInRange(-BulletSpeedVariance, BulletSpeedVariance)", "1" ] } ] }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Add identifier variables (to enable advanced picking by users)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Bullet", - "__FireBullet.BulletID", - "=", - "Object.Behavior::PropertyTotalBulletsCreated()" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Bullet", - "__FireBullet.BatchID", - "=", - "Object.Behavior::PropertyTotalShotsFired()" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Bullet", - "__FireBullet.BatchOrderID", - "=", - "0" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Comment", "color": { @@ -5908,11 +5649,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "RotateBullet", + "True", + "" ] } ], @@ -5924,7 +5666,7 @@ "parameters": [ "Bullet", "=", - "Object.Behavior::PropertyRandomizedAngle()" + "RandomizedAngle" ] } ] @@ -5949,11 +5691,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalBulletsCreated", "+", "1" ] @@ -6029,12 +5770,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "ReloadInProgress", + "True", + "" ] }, { @@ -6072,30 +5813,17 @@ "name": "HasJustFired", "sentence": "_PARAM0_ has just fired", "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "False" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHasJustFired" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "HasJustFired", + "True", + "" ] } ], @@ -6139,11 +5867,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "RotateBullet", + "True", + "" ] } ], @@ -6191,7 +5920,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyFiringArc()" + "FiringArc" ] } ] @@ -6228,13 +5957,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyFiringArc" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FiringArc", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -6281,7 +6009,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -6325,7 +6053,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyAngleVariance()" + "AngleVariance" ] } ] @@ -6362,13 +6090,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAngleVariance" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AngleVariance", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -6415,7 +6142,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -6459,7 +6186,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyBulletSpeedVariance()" + "BulletSpeedVariance" ] } ] @@ -6496,13 +6223,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletSpeedVariance" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "BulletSpeedVariance", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -6549,7 +6275,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -6593,7 +6319,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyBulletQuantity()" + "BulletQuantity" ] } ] @@ -6630,13 +6356,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "BulletQuantity", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -6683,7 +6408,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -6724,13 +6449,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletLayer" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "BulletLayer", "=", - "GetArgumentAsString(\"Value\")" + "Value" ] } ] @@ -6770,22 +6494,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"RotateBullet\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyRotateBullet" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "RotateBullet", + "False", + "" ] } ] @@ -6795,22 +6521,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"RotateBullet\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyRotateBullet" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "RotateBullet", + "True", + "" ] } ] @@ -6831,7 +6559,7 @@ { "defaultValue": "yes", "description": "Rotate bullet to match trajetory", - "name": "RotateBullet", + "name": "Value", "optional": true, "type": "yesorno" } @@ -6852,22 +6580,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"UnlimitedAmmo\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "UnlimitedAmmo", + "False", + "" ] } ] @@ -6877,22 +6607,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"UnlimitedAmmo\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "UnlimitedAmmo", + "True", + "" ] } ] @@ -6913,7 +6645,7 @@ { "defaultValue": "yes", "description": "Unlimited ammo", - "name": "UnlimitedAmmo", + "name": "Value", "optional": true, "type": "yesorno" } @@ -6937,7 +6669,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyFireCooldown()" + "FireCooldown" ] } ] @@ -6974,13 +6706,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyFireCooldown" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FireCooldown", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -7027,7 +6758,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"NewCooldown\")", + "Value", "" ] } @@ -7048,7 +6779,7 @@ }, { "description": "Cooldown in seconds", - "name": "NewCooldown", + "name": "Value", "type": "expression" } ], @@ -7071,7 +6802,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyReloadDuration()" + "ReloadDuration" ] } ] @@ -7108,13 +6839,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyReloadDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ReloadDuration", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -7161,7 +6891,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -7205,7 +6935,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyOverheatDuration()" + "OverheatDuration" ] } ] @@ -7242,13 +6972,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyOverheatDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OverheatDuration", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -7295,7 +7024,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -7339,7 +7068,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyAmmoQuantity()" + "AmmoQuantity" ] } ] @@ -7376,13 +7105,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", - "max(0,Value)" + "max(0, Value)" ] } ] @@ -7429,7 +7157,7 @@ "Object", "Behavior", "=", - "max(0,Value)", + "max(0, Value)", "" ] } @@ -7473,7 +7201,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHeatIncreasePerShot()" + "HeatIncreasePerShot" ] } ] @@ -7510,13 +7238,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatIncreasePerShot" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatIncreasePerShot", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -7563,7 +7290,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -7607,7 +7334,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMaxAmmo()" + "MaxAmmo" ] } ] @@ -7644,13 +7371,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyMaxAmmo" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxAmmo", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -7660,11 +7386,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyMaxAmmo" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxAmmo", ">", "0" ] @@ -7673,13 +7398,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", - "min(Object.Behavior::MaxAmmo(),Object.Behavior::AmmoQuantity())" + "min(MaxAmmo, AmmoQuantity)" ] } ] @@ -7726,7 +7450,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -7767,11 +7491,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalShotsFired" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalShotsFired", "=", "0" ] @@ -7808,11 +7531,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalBulletsCreated", "=", "0" ] @@ -7849,11 +7571,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalReloadsCompleted", "=", "0" ] @@ -7893,7 +7614,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShotsPerReload()" + "ShotsPerReload" ] } ] @@ -7930,13 +7651,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsPerReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsPerReload", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -7946,26 +7666,24 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyShotsBeforeNextReload" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", ">", - "Object.Behavior::PropertyShotsPerReload()" + "ShotsPerReload" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "=", - "Object.Behavior::PropertyShotsPerReload()" + "ShotsPerReload" ] } ] @@ -8012,7 +7730,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -8053,12 +7771,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAutomaticReloading" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "=" + "AutomaticReloading", + "False", + "" ] } ] @@ -8068,22 +7786,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAutomaticReloading" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "AutomaticReloading", + "True", + "" ] } ] @@ -8128,7 +7848,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyLinearCoolingRate()" + "LinearCoolingRate" ] } ] @@ -8165,13 +7885,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyLinearCoolingRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LinearCoolingRate", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -8218,7 +7937,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -8262,7 +7981,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyExponentialCoolingRate()" + "ExponentialCoolingRate" ] } ] @@ -8299,13 +8018,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyExponentialCoolingRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ExponentialCoolingRate", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -8353,7 +8071,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -8394,13 +8112,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "+", - "GetArgumentAsNumber(\"AmmoGained\")" + "AmmoGained" ] } ] @@ -8422,11 +8139,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyMaxAmmo" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxAmmo", ">", "0" ] @@ -8435,13 +8151,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", - "min(Object.Behavior::MaxAmmo(),Object.Behavior::AmmoQuantity())" + "min(MaxAmmo, AmmoQuantity)" ] } ] @@ -8461,11 +8176,12 @@ }, { "type": { - "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "AutomaticReloading", + "True", + "" ] } ], @@ -8520,7 +8236,7 @@ "value": "SetReturnString" }, "parameters": [ - "Object.Behavior::PropertyBulletLayer()" + "BulletLayer" ] } ] @@ -8561,7 +8277,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "min(1,Object.Behavior::PropertyHeatLevel())" + "min(1, HeatLevel)" ] } ] @@ -8602,7 +8318,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyTotalShotsFired()" + "TotalShotsFired" ] } ] @@ -8643,7 +8359,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyTotalBulletsCreated()" + "TotalBulletsCreated" ] } ] @@ -8684,7 +8400,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyTotalReloadsCompleted()" + "TotalReloadsCompleted" ] } ] @@ -8725,7 +8441,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShotsBeforeNextReload()" + "ShotsBeforeNextReload" ] } ] @@ -8766,7 +8482,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0,Object.Behavior::Cooldown() - Object.ObjectTimerElapsedTime(\"__FireBullet.FiringCooldown\"))" + "max(0, FireCooldown - Object.ObjectTimerElapsedTime(\"__FireBullet.FiringCooldown\"))" ] } ] @@ -8819,7 +8535,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0, Object.Behavior::PropertyOverheatDuration() - Object.ObjectTimerElapsedTime(\"__FireBullet.OverheatDuration\"))" + "max(0, OverheatDuration - Object.ObjectTimerElapsedTime(\"__FireBullet.OverheatDuration\"))" ] } ] @@ -8872,7 +8588,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0, Object.Behavior::PropertyReloadDuration() - Object.ObjectTimerElapsedTime(\"__FireBullet.ReloadingTimer\"))" + "max(0, ReloadDuration - Object.ObjectTimerElapsedTime(\"__FireBullet.ReloadingTimer\"))" ] } ] @@ -8923,11 +8639,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyReloadInProgress" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ReloadInProgress", + "True", + "" ] } ], @@ -9127,11 +8844,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "AutomaticReloading", + "True", + "" ] } ], @@ -9189,11 +8907,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UnlimitedAmmo", + "True", + "" ] } ], @@ -9262,11 +8981,10 @@ }, { "type": { - "value": "FireBullet::FireBullet::PropertyAmmoQuantity" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "<=", "0" ] @@ -9338,22 +9056,20 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyShotsPerReload" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsPerReload", ">", "0" ] }, { "type": { - "value": "FireBullet::FireBullet::PropertyShotsBeforeNextReload" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "=", "0" ] @@ -9814,7 +9530,7 @@ "name": "Bounce", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/volleyball.svg", "shortDescription": "Bounce the object off another object it just touched.", - "version": "0.2.1", + "version": "0.2.3", "description": [ "Provides an action to make the object bounce from another object it just touched.", "", @@ -9870,48 +9586,24 @@ "actions": [ { "type": { - "value": "Bounce::Bounce::SetPropertyOldX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OldX", "=", "Object.X()" ] }, { "type": { - "value": "Bounce::Bounce::SetPropertyOldY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OldY", "=", "Object.Y()" ] }, - { - "type": { - "value": "Bounce::Bounce::SetPropertyOldForceAngle" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.ForceAngle()" - ] - }, - { - "type": { - "value": "Bounce::Bounce::SetPropertyOldForceLength" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.ForceLength()" - ] - }, { "type": { "value": "SeparateFromObjects" @@ -9940,7 +9632,7 @@ "parameters": [ "Object", "!=", - "Object.Behavior::PropertyOldX()" + "OldX" ] }, { @@ -9950,7 +9642,7 @@ "parameters": [ "Object", "!=", - "Object.Behavior::PropertyOldY()" + "OldY" ] } ] @@ -9959,13 +9651,32 @@ "actions": [ { "type": { - "value": "Bounce::Bounce::SetPropertyNormalAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OldForceAngle", + "=", + "Object.ForceAngle()" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "OldForceLength", + "=", + "Object.ForceLength()" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "NormalAngle", "=", - "ToDeg(atan2(Object.Y() - Object.Behavior::PropertyOldY(), Object.X() - Object.Behavior::PropertyOldX()))" + "ToDeg(atan2(Object.Y() - OldY, Object.X() - OldX))" ] }, { @@ -9982,24 +9693,52 @@ }, "parameters": [ "Object", - "Object.Behavior::PropertyNormalAngle()+AngleDifference(Object.Behavior::PropertyNormalAngle(), Object.Behavior::PropertyOldForceAngle()+180)", - "Object.Behavior::PropertyOldForceLength()", + "NormalAngle + AngleDifference(NormalAngle, OldForceAngle + 180)", + "OldForceLength", "1" ] }, { "type": { - "value": "Bounce::Bounce::SetPropertyBounceCount" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "BounceCount", "+", "1" ] } + ], + "variables": [ + { + "name": "OldForceAngle", + "type": "number", + "value": 0 + }, + { + "name": "OldForceLength", + "type": "number", + "value": 0 + }, + { + "name": "NormalAngle", + "type": "number", + "value": 0 + } ] } + ], + "variables": [ + { + "name": "OldX", + "type": "number", + "value": 0 + }, + { + "name": "OldY", + "type": "number", + "value": 0 + } ] } ], @@ -10048,48 +9787,24 @@ "actions": [ { "type": { - "value": "Bounce::Bounce::SetPropertyOldX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OldX", "=", "Object.X()" ] }, { "type": { - "value": "Bounce::Bounce::SetPropertyOldY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OldY", "=", "Object.Y()" ] }, - { - "type": { - "value": "Bounce::Bounce::SetPropertyOldForceAngle" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.ForceAngle()" - ] - }, - { - "type": { - "value": "Bounce::Bounce::SetPropertyOldForceLength" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.ForceLength()" - ] - }, { "type": { "value": "SeparateFromObjects" @@ -10118,7 +9833,7 @@ "parameters": [ "Object", "!=", - "Object.Behavior::PropertyOldX()" + "OldX" ] }, { @@ -10128,7 +9843,7 @@ "parameters": [ "Object", "!=", - "Object.Behavior::PropertyOldY()" + "OldY" ] } ] @@ -10137,13 +9852,22 @@ "actions": [ { "type": { - "value": "Bounce::Bounce::SetPropertyNormalAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OldForceAngle", + "=", + "Object.ForceAngle()" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "OldForceLength", "=", - "GetArgumentAsNumber(\"NormalAngle\")" + "Object.ForceLength()" ] }, { @@ -10160,24 +9884,47 @@ }, "parameters": [ "Object", - "Object.Behavior::PropertyNormalAngle()+AngleDifference(Object.Behavior::PropertyNormalAngle(), Object.Behavior::PropertyOldForceAngle()+180)", - "Object.Behavior::PropertyOldForceLength()", + "NormalAngle + AngleDifference(NormalAngle, OldForceAngle + 180)", + "OldForceLength", "1" ] }, { "type": { - "value": "Bounce::Bounce::SetPropertyBounceCount" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "BounceCount", "+", "1" ] } + ], + "variables": [ + { + "name": "OldForceAngle", + "type": "number", + "value": 0 + }, + { + "name": "OldForceLength", + "type": "number", + "value": 0 + } ] } + ], + "variables": [ + { + "name": "OldX", + "type": "number", + "value": 0 + }, + { + "name": "OldY", + "type": "number", + "value": 0 + } ] } ], @@ -10315,7 +10062,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyBounceCount()" + "BounceCount" ] } ] @@ -10341,56 +10088,6 @@ } ], "propertyDescriptors": [ - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "OldX" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "OldY" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "OldForceAngle" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "OldForceLength" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "NormalAngle" - }, { "value": "0", "type": "Number", @@ -10418,7 +10115,7 @@ "name": "LinkTools", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/graph-outline.svg", "shortDescription": "Conditions to use Linked Objects as a graph and a path finding movement behavior.", - "version": "1.2.3", + "version": "1.2.4", "description": [ "This provides:", "* \"Can reach through links\" conditions, useful to check if an object is linked to another through one or more other linked objects.", @@ -10473,7 +10170,7 @@ }, "parameters": [ "Neighbor", - "Object.X() + GetArgumentAsNumber(\"CellWidth\")", + "Object.X() + CellWidth", "Object.Y()" ] } @@ -10501,7 +10198,7 @@ "parameters": [ "Neighbor", "Object.X()", - "Object.Y() + GetArgumentAsNumber(\"CellHeight\")" + "Object.Y() + CellHeight" ] } ], @@ -10527,7 +10224,7 @@ }, "parameters": [ "Neighbor", - "Object.X() - GetArgumentAsNumber(\"CellWidth\")", + "Object.X() - CellWidth", "Object.Y()" ] } @@ -10555,7 +10252,7 @@ "parameters": [ "Neighbor", "Object.X()", - "Object.Y() - GetArgumentAsNumber(\"CellHeight\")" + "Object.Y() - CellHeight" ] } ], @@ -10577,10 +10274,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"AllowsDiagonals\"" + "AllowsDiagonals", + "True", + "" ] } ], @@ -10595,8 +10294,8 @@ }, "parameters": [ "Neighbor", - "Object.X() + GetArgumentAsNumber(\"CellWidth\")", - "Object.Y() + GetArgumentAsNumber(\"CellHeight\")" + "Object.X() + CellWidth", + "Object.Y() + CellHeight" ] } ], @@ -10622,8 +10321,8 @@ }, "parameters": [ "Neighbor", - "Object.X() - GetArgumentAsNumber(\"CellWidth\")", - "Object.Y() + GetArgumentAsNumber(\"CellHeight\")" + "Object.X() - CellWidth", + "Object.Y() + CellHeight" ] } ], @@ -10649,8 +10348,8 @@ }, "parameters": [ "Neighbor", - "Object.X() - GetArgumentAsNumber(\"CellWidth\")", - "Object.Y() - GetArgumentAsNumber(\"CellHeight\")" + "Object.X() - CellWidth", + "Object.Y() - CellHeight" ] } ], @@ -10676,8 +10375,8 @@ }, "parameters": [ "Neighbor", - "Object.X() + GetArgumentAsNumber(\"CellWidth\")", - "Object.Y() - GetArgumentAsNumber(\"CellHeight\")" + "Object.X() + CellWidth", + "Object.Y() - CellHeight" ] } ], @@ -10752,7 +10451,7 @@ }, "parameters": [ "Neighbor", - "Object.X() + GetArgumentAsNumber(\"CellWidth\")", + "Object.X() + CellWidth", "Object.Y()" ] } @@ -10779,8 +10478,8 @@ }, "parameters": [ "Neighbor", - "Object.X() + GetArgumentAsNumber(\"CellWidth\") / 2", - "Object.Y() + GetArgumentAsNumber(\"CellHeight\") * 3/4" + "Object.X() + CellWidth / 2", + "Object.Y() + CellHeight * 3/4" ] } ], @@ -10806,8 +10505,8 @@ }, "parameters": [ "Neighbor", - "Object.X() - GetArgumentAsNumber(\"CellWidth\") / 2", - "Object.Y() + GetArgumentAsNumber(\"CellHeight\") * 3/4" + "Object.X() - CellWidth / 2", + "Object.Y() + CellHeight * 3/4" ] } ], @@ -10833,7 +10532,7 @@ }, "parameters": [ "Neighbor", - "Object.X() - GetArgumentAsNumber(\"CellWidth\")", + "Object.X() - CellWidth", "Object.Y()" ] } @@ -10860,8 +10559,8 @@ }, "parameters": [ "Neighbor", - "Object.X() - GetArgumentAsNumber(\"CellWidth\") / 2", - "Object.Y() - GetArgumentAsNumber(\"CellHeight\") * 3/4" + "Object.X() - CellWidth / 2", + "Object.Y() - CellHeight * 3/4" ] } ], @@ -10887,8 +10586,8 @@ }, "parameters": [ "Neighbor", - "Object.X() + GetArgumentAsNumber(\"CellWidth\") / 2", - "Object.Y() - GetArgumentAsNumber(\"CellHeight\") * 3/4" + "Object.X() + CellWidth / 2", + "Object.Y() - CellHeight * 3/4" ] } ], @@ -10956,8 +10655,8 @@ }, "parameters": [ "Neighbor", - "Object.X() + GetArgumentAsNumber(\"CellWidth\") / 2", - "Object.Y() + GetArgumentAsNumber(\"CellHeight\") / 2" + "Object.X() + CellWidth / 2", + "Object.Y() + CellHeight / 2" ] } ], @@ -10983,8 +10682,8 @@ }, "parameters": [ "Neighbor", - "Object.X() - GetArgumentAsNumber(\"CellWidth\") / 2", - "Object.Y() + GetArgumentAsNumber(\"CellHeight\") / 2" + "Object.X() - CellWidth / 2", + "Object.Y() + CellHeight / 2" ] } ], @@ -11010,8 +10709,8 @@ }, "parameters": [ "Neighbor", - "Object.X() - GetArgumentAsNumber(\"CellWidth\") / 2", - "Object.Y() - GetArgumentAsNumber(\"CellHeight\") / 2" + "Object.X() - CellWidth / 2", + "Object.Y() - CellHeight / 2" ] } ], @@ -11037,8 +10736,8 @@ }, "parameters": [ "Neighbor", - "Object.X() + GetArgumentAsNumber(\"CellWidth\") / 2", - "Object.Y() - GetArgumentAsNumber(\"CellHeight\") / 2" + "Object.X() + CellWidth / 2", + "Object.Y() - CellHeight / 2" ] } ], @@ -11060,10 +10759,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"AllowsDiagonals\"" + "AllowsDiagonals", + "True", + "" ] } ], @@ -11078,7 +10779,7 @@ }, "parameters": [ "Neighbor", - "Object.X() + GetArgumentAsNumber(\"CellWidth\")", + "Object.X() + CellWidth", "Object.Y()" ] } @@ -11106,7 +10807,7 @@ "parameters": [ "Neighbor", "Object.X()", - "Object.Y() + GetArgumentAsNumber(\"CellHeight\")" + "Object.Y() + CellHeight" ] } ], @@ -11132,7 +10833,7 @@ }, "parameters": [ "Neighbor", - "Object.X() - GetArgumentAsNumber(\"CellWidth\")", + "Object.X() - CellWidth", "Object.Y()" ] } @@ -11160,7 +10861,7 @@ "parameters": [ "Neighbor", "Object.X()", - "Object.Y() - GetArgumentAsNumber(\"CellHeight\")" + "Object.Y() - CellHeight" ] } ], @@ -11689,24 +11390,24 @@ "conditions": [ { "type": { - "value": "LinkTools::LinkPathFinding::PropertyisOnPath" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "isOnPath", + "True", + "" ] } ], "actions": [ { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "+", - "Object.Behavior::PropertyAcceleration() * TimeDelta()" + "Acceleration * TimeDelta()" ] } ], @@ -11716,26 +11417,24 @@ "conditions": [ { "type": { - "value": "LinkTools::LinkPathFinding::PropertySpeed" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", ">", - "Object.Behavior::PropertySpeedMax()" + "SpeedMax" ] } ], "actions": [ { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "=", - "Object.Behavior::PropertySpeedMax()" + "SpeedMax" ] } ] @@ -11746,12 +11445,12 @@ "actions": [ { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertyIsAtNode" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsAtNode", + "False", + "" ] } ] @@ -11764,9 +11463,9 @@ "value": "Egal" }, "parameters": [ - "Object.SqDistanceToPosition(Object.Behavior::PropertyNextNodeX(), Object.Behavior::PropertyNextNodeY())", + "Object.SqDistanceToPosition(NextNodeX, NextNodeY)", "<=", - "Object.Behavior::PropertySpeed() * TimeDelta() * Object.Behavior::PropertySpeed() * TimeDelta()" + "Speed * TimeDelta() * Speed * TimeDelta()" ] } ], @@ -11778,19 +11477,19 @@ "parameters": [ "Object", "=", - "Object.Behavior::PropertyNextNodeX()", + "NextNodeX", "=", - "Object.Behavior::PropertyNextNodeY()" + "NextNodeY" ] }, { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertyIsAtNode" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsAtNode", + "True", + "" ] }, { @@ -11800,7 +11499,7 @@ "parameters": [ "Object", "Behavior", - "Object.Behavior::PropertyNextNodeIndex() + 1", + "NextNodeIndex + 1", "" ] } @@ -11812,11 +11511,12 @@ { "type": { "inverted": true, - "value": "LinkTools::LinkPathFinding::PropertyIsAtNode" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsAtNode", + "True", + "" ] } ], @@ -11827,9 +11527,9 @@ }, "parameters": [ "Object", - "Object.Behavior::PropertyNextNodeX()", - "Object.Behavior::PropertyNextNodeY()", - "Object.Behavior::PropertySpeed()", + "NextNodeX", + "NextNodeY", + "Speed", "" ] } @@ -11840,11 +11540,12 @@ "conditions": [ { "type": { - "value": "LinkTools::LinkPathFinding::PropertyRotate" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "Rotate", + "True", + "" ] }, { @@ -11854,7 +11555,7 @@ "parameters": [ "Object", "!=", - "Object.Behavior::PropertyNextNodeAngle()" + "NextNodeAngle" ] } ], @@ -11865,8 +11566,8 @@ }, "parameters": [ "Object", - "Object.Behavior::PropertyNextNodeAngle()", - "Object.Behavior::PropertyRotationSpeed()", + "NextNodeAngle", + "RotationSpeed", "" ] } @@ -12064,21 +11765,20 @@ "actions": [ { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertyisOnPath" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "isOnPath", + "True", + "" ] }, { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "=", "0" ] @@ -12139,11 +11839,12 @@ "conditions": [ { "type": { - "value": "LinkTools::LinkPathFinding::PropertyIsAtNode" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsAtNode", + "True", + "" ] } ], @@ -12187,21 +11888,21 @@ "actions": [ { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertyisOnPath" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", + "isOnPath", + "False", "" ] }, { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertyIsAtNode" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", + "IsAtNode", + "False", "" ] }, @@ -12246,13 +11947,12 @@ "actions": [ { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertyNextNodeIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "NextNodeIndex", "=", - "GetArgumentAsNumber(\"Index\")" + "Index" ] } ] @@ -12274,11 +11974,10 @@ "conditions": [ { "type": { - "value": "LinkTools::LinkPathFinding::PropertyNextNodeIndex" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "NextNodeIndex", "=", "Object.VariableChildCount(__linktools_Path) " ] @@ -12287,21 +11986,20 @@ "actions": [ { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertyisOnPath" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", + "isOnPath", + "False", "" ] }, { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "=", "0" ] @@ -12325,11 +12023,10 @@ "conditions": [ { "type": { - "value": "LinkTools::LinkPathFinding::PropertyNextNodeIndex" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "NextNodeIndex", "<", "Object.VariableChildCount(__linktools_Path) " ] @@ -12338,35 +12035,32 @@ "actions": [ { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertyNextNodeX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "NextNodeX", "=", - "Object.Variable(__linktools_Path[Object.Behavior::PropertyNextNodeIndex()][\"x\"])" + "Object.Variable(__linktools_Path[NextNodeIndex][\"x\"])" ] }, { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertyNextNodeY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "NextNodeY", "=", - "Object.Variable(__linktools_Path[Object.Behavior::PropertyNextNodeIndex()][\"y\"])" + "Object.Variable(__linktools_Path[NextNodeIndex][\"y\"])" ] }, { "type": { - "value": "LinkTools::LinkPathFinding::SetPropertyNextNodeAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "NextNodeAngle", "=", - "mod(AngleBetweenPositions(Object.X(), Object.Y(), Object.Behavior::PropertyNextNodeX(), Object.Behavior::PropertyNextNodeY()) + Object.Behavior::PropertyAngleOffset(), 360)" + "mod(AngleBetweenPositions(Object.X(), Object.Y(), NextNodeX, NextNodeY) + AngleOffset, 360)" ] } ] @@ -12404,11 +12098,12 @@ "conditions": [ { "type": { - "value": "LinkTools::LinkPathFinding::PropertyisOnPath" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "isOnPath", + "True", + "" ] } ], @@ -12509,11 +12204,10 @@ }, { "type": { - "value": "LinkTools::LinkPathFinding::PropertyNextNodeIndex" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "NextNodeIndex", "=", "Object.VariableChildCount(__linktools_Path)" ] @@ -12562,7 +12256,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertySpeed()" + "Speed" ] } ] @@ -12642,7 +12336,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Variable(__linktools_Path[GetArgumentAsNumber(\"NodeIndex\")][\"x\"])" + "Object.Variable(__linktools_Path[NodeIndex][\"x\"])" ] } ] @@ -12687,7 +12381,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Variable(__linktools_Path[GetArgumentAsNumber(\"NodeIndex\")][\"y\"])" + "Object.Variable(__linktools_Path[NodeIndex][\"y\"])" ] } ] @@ -12732,7 +12426,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyNextNodeIndex()" + "NextNodeIndex" ] } ] @@ -12772,7 +12466,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyNextNodeX()" + "NextNodeX" ] } ] @@ -12812,7 +12506,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyNextNodeY()" + "NextNodeY" ] } ] @@ -13049,7 +12743,7 @@ "name": "Turret", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Cleaning/Cleaning_cleaning_clean_plunger.svg", "shortDescription": "A turret movement with customizable speed, acceleration and stop angles.", - "version": "1.1.0", + "version": "1.2.0", "description": [ "With this behavior, you can make an object rotate like a turret toward a position.", "It may be used with the **Bullet** extension to fire objects." @@ -13173,11 +12867,10 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertySpeed" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", ">", "0" ] @@ -13186,13 +12879,12 @@ "actions": [ { "type": { - "value": "Turret::Turret::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "-", - "Object.Behavior::PropertyDeceleration() * TimeDelta()" + "Deceleration * TimeDelta()" ] } ], @@ -13202,11 +12894,10 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertySpeed" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "<", "0" ] @@ -13215,11 +12906,10 @@ "actions": [ { "type": { - "value": "Turret::Turret::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "=", "0" ] @@ -13233,11 +12923,10 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertySpeed" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "<", "0" ] @@ -13246,13 +12935,12 @@ "actions": [ { "type": { - "value": "Turret::Turret::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "+", - "Object.Behavior::PropertyDeceleration() * TimeDelta()" + "Deceleration * TimeDelta()" ] } ], @@ -13262,11 +12950,10 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertySpeed" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", ">", "0" ] @@ -13275,11 +12962,10 @@ "actions": [ { "type": { - "value": "Turret::Turret::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "=", "0" ] @@ -13307,34 +12993,35 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertyMustMoveClockwise" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "MustMoveClockwise", + "True", + "" ] }, { "type": { "inverted": true, - "value": "Turret::Turret::PropertyMustMoveCounterClockwise" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "MustMoveCounterClockwise", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Turret::Turret::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "+", - "Object.Behavior::PropertyAcceleration() * TimeDelta()" + "Acceleration * TimeDelta()" ] } ], @@ -13344,26 +13031,24 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertySpeed" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", ">", - "Object.Behavior::PropertySpeedMax()" + "SpeedMax" ] } ], "actions": [ { "type": { - "value": "Turret::Turret::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "=", - "Object.Behavior::PropertySpeedMax()" + "SpeedMax" ] } ] @@ -13375,34 +13060,35 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertyMustMoveCounterClockwise" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "MustMoveCounterClockwise", + "True", + "" ] }, { "type": { "inverted": true, - "value": "Turret::Turret::PropertyMustMoveClockwise" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "MustMoveClockwise", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Turret::Turret::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "-", - "Object.Behavior::PropertyAcceleration() * TimeDelta()" + "Acceleration * TimeDelta()" ] } ], @@ -13412,26 +13098,24 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertySpeed" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "<", - "- Object.Behavior::PropertySpeedMax()" + "- SpeedMax" ] } ], "actions": [ { "type": { - "value": "Turret::Turret::SetPropertySpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "=", - "- Object.Behavior::PropertySpeedMax()" + "- SpeedMax" ] } ] @@ -13461,8 +13145,8 @@ "parameters": [ "Object", "Behavior", - "Object.Behavior::PropertyAimingAngle() + Object.Behavior::PropertySpeed() * TimeDelta()", - "Object.Variable(turret_Speed) * TimeDelta()" + "AimingAngle + Speed * TimeDelta()", + "" ] } ] @@ -13473,12 +13157,12 @@ "actions": [ { "type": { - "value": "Turret::Turret::SetPropertyHasMoved" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "False" + "HasMoved", + "False", + "" ] } ] @@ -13488,11 +13172,10 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertySpeed" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Speed", "!=", "0" ] @@ -13501,12 +13184,12 @@ "actions": [ { "type": { - "value": "Turret::Turret::SetPropertyHasMoved" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "HasMoved", + "True", + "" ] } ] @@ -13529,22 +13212,22 @@ "actions": [ { "type": { - "value": "Turret::Turret::SetPropertyMustMoveClockwise" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "False" + "MustMoveClockwise", + "False", + "" ] }, { "type": { - "value": "Turret::Turret::SetPropertyMustMoveCounterClockwise" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "False" + "MustMoveCounterClockwise", + "False", + "" ] } ] @@ -13580,11 +13263,12 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertyHasMoved" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "HasMoved", + "True", + "" ] } ], @@ -13628,12 +13312,12 @@ "actions": [ { "type": { - "value": "Turret::Turret::SetPropertyMustMoveClockwise" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "MustMoveClockwise", + "True", + "" ] } ] @@ -13667,12 +13351,12 @@ "actions": [ { "type": { - "value": "Turret::Turret::SetPropertyMustMoveCounterClockwise" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "MustMoveCounterClockwise", + "True", + "" ] } ] @@ -13710,8 +13394,7 @@ "parameters": [ "Object", "Behavior", - "(Object.Behavior::PropertyAngleMin() + Object.Behavior::PropertyAngleMax()) / 2", - "(mod(Object.Behavior::PropertyAngleMin(), 360) + mod(Object.Behavior::PropertyAngleMax(), 360)) / 2" + "(AngleMin + AngleMax) / 2" ] } ] @@ -13734,13 +13417,12 @@ "actions": [ { "type": { - "value": "Turret::Turret::SetPropertyOriginAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OriginAngle", "=", - "(Object.Behavior::PropertyAngleMin() + Object.Behavior::PropertyAngleMax()) / 2 - 180" + "(AngleMin + AngleMax) / 2 - 180" ] } ] @@ -13791,8 +13473,7 @@ "parameters": [ "Object", "Behavior", - "mod(ToDeg(atan2(GetArgumentAsNumber(\"TargetY\") - Object.Y(), GetArgumentAsNumber(\"TargetX\") - Object.X())) - Object.Behavior::PropertyOriginAngle(), 360) + Object.Behavior::PropertyOriginAngle()", - "mod(ToDeg(atan2(GetArgumentAsNumber(\"TargetY\") - Object.Y(), GetArgumentAsNumber(\"TargetX\") - Object.X())) - Object.Behavior::PropertyOriginAngle(), 360) + Object.Behavior::PropertyOriginAngle()" + "mod(ToDeg(atan2(TargetY - Object.Y(), TargetX - Object.X())) - OriginAngle, 360) + OriginAngle" ] } ] @@ -13848,13 +13529,12 @@ "actions": [ { "type": { - "value": "Turret::Turret::SetPropertyTargetAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TargetAngle", "=", - "mod(ToDeg(atan2(GetArgumentAsNumber(\"TargetY\") - Object.Y(), GetArgumentAsNumber(\"TargetX\") - Object.X())) - Object.Behavior::PropertyOriginAngle(), 360) + Object.Behavior::PropertyOriginAngle()" + "mod(ToDeg(atan2(TargetY - Object.Y(), TargetX - Object.X())) - OriginAngle, 360) + OriginAngle" ] } ] @@ -13876,12 +13556,12 @@ "conditions": [ { "type": { - "value": "Egal" + "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "Object.Behavior::PropertyAngleMin()", + "AngleMin", "<", - "Object.Behavior::PropertyAngleMax()" + "AngleMax" ] } ], @@ -13892,13 +13572,12 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertyAimingAngle" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AimingAngle", ">", - "Object.Behavior::PropertyTargetAngle() + GetArgumentAsNumber(\"AngleMargin\")" + "TargetAngle + AngleMargin" ] } ], @@ -13920,13 +13599,12 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertyAimingAngle" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AimingAngle", "<", - "Object.Behavior::PropertyTargetAngle() - GetArgumentAsNumber(\"AngleMargin\")" + "TargetAngle - AngleMargin" ] } ], @@ -13962,12 +13640,12 @@ "conditions": [ { "type": { - "value": "Egal" + "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "Object.Behavior::PropertyAngleMin()", + "AngleMin", "=", - "Object.Behavior::PropertyAngleMax()" + "AngleMax" ] } ], @@ -13978,12 +13656,12 @@ "conditions": [ { "type": { - "value": "Egal" + "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "mod(180 + Object.Behavior::PropertyTargetAngle() - Object.Behavior::PropertyAimingAngle(), 360)", + "mod(180 + TargetAngle - AimingAngle, 360)", "<", - "180 - GetArgumentAsNumber(\"AngleMargin\")" + "180 - AngleMargin" ] } ], @@ -14005,12 +13683,12 @@ "conditions": [ { "type": { - "value": "Egal" + "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "mod(180 + Object.Behavior::PropertyAimingAngle() - Object.Behavior::PropertyTargetAngle(), 360)", + "mod(180 + AimingAngle - TargetAngle, 360)", "<", - "180 - GetArgumentAsNumber(\"AngleMargin\")" + "180 - AngleMargin" ] } ], @@ -14073,13 +13751,12 @@ "actions": [ { "type": { - "value": "Turret::Turret::SetPropertyAimingAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AimingAngle", "=", - "GetArgumentAsNumber(\"AimingAngle\")" + "Value" ] } ] @@ -14101,25 +13778,24 @@ "conditions": [ { "type": { - "value": "Egal" + "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "Object.Behavior::PropertyAngleMin()", + "AngleMin", "=", - "Object.Behavior::PropertyAngleMax()" + "AngleMax" ] } ], "actions": [ { "type": { - "value": "Turret::Turret::SetPropertyAimingAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AimingAngle", "=", - "mod(Object.Behavior::PropertyAimingAngle(), 360)" + "mod(Value, 360)" ] } ] @@ -14141,12 +13817,12 @@ "conditions": [ { "type": { - "value": "Egal" + "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "Object.Behavior::PropertyAngleMin()", + "AngleMin", "<", - "Object.Behavior::PropertyAngleMax()" + "AngleMax" ] } ], @@ -14157,26 +13833,24 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertyAimingAngle" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AimingAngle", ">", - "Object.Behavior::PropertyAngleMax()" + "AngleMax" ] } ], "actions": [ { "type": { - "value": "Turret::Turret::SetPropertyAimingAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AimingAngle", "=", - "Object.Behavior::PropertyAngleMax()" + "AngleMax" ] } ] @@ -14186,26 +13860,24 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertyAimingAngle" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AimingAngle", "<", - "Object.Behavior::PropertyAngleMin()" + "AngleMin" ] } ], "actions": [ { "type": { - "value": "Turret::Turret::SetPropertyAimingAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AimingAngle", "=", - "Object.Behavior::PropertyAngleMin()" + "AngleMin" ] } ] @@ -14217,11 +13889,12 @@ "conditions": [ { "type": { - "value": "Turret::Turret::PropertyRotate" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "Rotate", + "True", + "" ] } ], @@ -14233,7 +13906,7 @@ "parameters": [ "Object", "=", - "Object.Behavior::PropertyAimingAngle()" + "AimingAngle" ] } ] @@ -14253,7 +13926,7 @@ }, { "description": "Aiming angle", - "name": "AimingAngle", + "name": "Value", "type": "expression" } ], @@ -14275,7 +13948,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyAimingAngle()" + "AimingAngle" ] } ] @@ -14304,6 +13977,7 @@ { "value": "360", "type": "Number", + "unit": "PixelSpeed", "label": "Maximum rotation speed (in degrees per second)", "description": "", "group": "", @@ -14313,6 +13987,7 @@ { "value": "1440", "type": "Number", + "unit": "PixelAcceleration", "label": "Acceleration", "description": "", "group": "", @@ -14322,6 +13997,7 @@ { "value": "36000", "type": "Number", + "unit": "PixelAcceleration", "label": "Deceleration", "description": "", "group": "", @@ -14340,6 +14016,7 @@ { "value": "0", "type": "Number", + "unit": "DegreeAngle", "label": "Maximum angle (use the same value for min and max to set no constraint)", "description": "", "group": "", @@ -14349,6 +14026,7 @@ { "value": "0", "type": "Number", + "unit": "DegreeAngle", "label": "Minimum angle (use the same value for min and max to set no constraint)", "description": "", "group": "", @@ -18623,6 +18301,5 @@ "zoomFactor": 1 } } - ], - "externalSourceFiles": [] + ] } \ No newline at end of file diff --git a/examples/top-down-rpg/top-down-rpg.json b/examples/top-down-rpg/top-down-rpg.json index 9dbb923a0..386adc0b4 100644 --- a/examples/top-down-rpg/top-down-rpg.json +++ b/examples/top-down-rpg/top-down-rpg.json @@ -1,7 +1,7 @@ { "firstLayout": "Overworld", "gdVersion": { - "build": 221, + "build": 224, "major": 5, "minor": 5, "revision": 0 @@ -3374,6 +3374,15 @@ } ], "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "Transition", + "" + ] + }, { "type": { "value": "FlashTransitionPainter::FlashTransitionPainter::PaintEffect" @@ -3452,6 +3461,29 @@ ] } ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneJustResumed" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Transition" + ] + } + ] } ], "parameters": [] @@ -4965,6 +4997,30 @@ ] } ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::IsClicked" + }, + "parameters": [ + "Run", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PopScene" + }, + "parameters": [ + "" + ] + } + ] } ] }, @@ -5637,11 +5693,10 @@ "conditions": [ { "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::PropertyDirectionCount" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DirectionCount", "=", "0" ] @@ -5665,11 +5720,10 @@ "actions": [ { "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::SetPropertyDirectionCount" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DirectionCount", "=", "8" ] @@ -5693,11 +5747,10 @@ "actions": [ { "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::SetPropertyDirectionCount" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DirectionCount", "=", "4" ] @@ -5826,11 +5879,12 @@ "conditions": [ { "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::PropertyIsScalingAnimation" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsScalingAnimation", + "True", + "" ] } ], @@ -5983,11 +6037,10 @@ "conditions": [ { "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::PropertyAnimationName" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "AnimationName", "!=", "Value" ] @@ -5996,11 +6049,10 @@ "actions": [ { "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::SetPropertyAnimationName" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "AnimationName", "=", "Value" ] @@ -6046,11 +6098,12 @@ "conditions": [ { "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::PropertyIsScalingAnimation" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsScalingAnimation", + "True", + "" ] } ], @@ -6094,22 +6147,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::SetPropertyIsScalingAnimation" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsScalingAnimation", + "False", + "" ] }, { @@ -6130,22 +6185,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::SetPropertyIsScalingAnimation" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsScalingAnimation", + "True", + "" ] }, { @@ -6342,11 +6399,10 @@ "actions": [ { "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::SetPropertyAnimationDirection" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AnimationDirection", "=", "mod(mod(round(Value), DirectionCount) + DirectionCount, DirectionCount)" ] @@ -6522,7 +6578,7 @@ "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjMiIHkxPSIxMSIgeDI9IjI5IiB5Mj0iMTEiLz4NCjxnPg0KCTxwYXRoIGQ9Ik03LDlDNi43LDksNi41LDguOSw2LjMsOC43QzYuMSw4LjUsNiw4LjMsNiw4YzAtMC4zLDAuMS0wLjUsMC4zLTAuN2MwLDAsMC4xLTAuMSwwLjEtMC4xYzAuMSwwLDAuMS0wLjEsMC4yLTAuMQ0KCQlDNi43LDcsNi43LDcsNi44LDdjMC4xLDAsMC4zLDAsMC40LDBjMC4xLDAsMC4xLDAsMC4yLDAuMWMwLjEsMCwwLjEsMC4xLDAuMiwwLjFjMCwwLDAuMSwwLjEsMC4xLDAuMWMwLjEsMC4xLDAuMiwwLjIsMC4yLDAuMw0KCQlDOCw3LjcsOCw3LjksOCw4YzAsMC4xLDAsMC4zLTAuMSwwLjRDNy45LDguNSw3LjgsOC42LDcuNyw4LjdDNy41LDguOSw3LjMsOSw3LDl6Ii8+DQo8L2c+DQo8Zz4NCgk8cGF0aCBkPSJNMTAsOUM5LjcsOSw5LjUsOC45LDkuMyw4LjdDOS4xLDguNSw5LDguMyw5LDhjMC0wLjEsMC0wLjMsMC4xLTAuNGMwLjEtMC4xLDAuMS0wLjIsMC4yLTAuM2MwLjEtMC4xLDAuMi0wLjIsMC4zLTAuMg0KCQlDMTAsNi45LDEwLjQsNywxMC43LDcuM2MwLjEsMC4xLDAuMiwwLjIsMC4yLDAuM0MxMSw3LjcsMTEsNy45LDExLDhjMCwwLjMtMC4xLDAuNS0wLjMsMC43QzEwLjUsOC45LDEwLjMsOSwxMCw5eiIvPg0KPC9nPg0KPGc+DQoJPHBhdGggZD0iTTEzLDljLTAuMSwwLTAuMywwLTAuNC0wLjFjLTAuMS0wLjEtMC4yLTAuMS0wLjMtMC4yYy0wLjEtMC4xLTAuMi0wLjItMC4yLTAuM0MxMiw4LjMsMTIsOC4xLDEyLDhjMC0wLjEsMC0wLjMsMC4xLTAuNA0KCQljMC4xLTAuMSwwLjEtMC4yLDAuMi0wLjNjMC40LTAuNCwxLTAuNCwxLjQsMGMwLjEsMC4xLDAuMiwwLjIsMC4yLDAuM0MxNCw3LjcsMTQsNy45LDE0LDhjMCwwLjEsMCwwLjMtMC4xLDAuNA0KCQljLTAuMSwwLjEtMC4xLDAuMi0wLjIsMC4zQzEzLjUsOC45LDEzLjMsOSwxMyw5eiIvPg0KPC9nPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI3LDVINUMzLjksNSwzLDUuOSwzLDd2MThjMCwxLjEsMC45LDIsMiwyaDIyYzEuMSwwLDItMC45LDItMlY3QzI5LDUuOSwyOC4xLDUsMjcsNXoiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMywyM0g5Yy0xLjEsMC0yLTAuOS0yLTJ2LTRjMC0xLjEsMC45LTIsMi0yaDE0YzEuMSwwLDIsMC45LDIsMnY0QzI1LDIyLjEsMjQuMSwyMywyMywyM3oiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjE1LDE5IDE2LDIwIDE4LDE4ICIvPg0KPC9zdmc+DQo=", "name": "TwoChoicesDialogBoxes", "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/Line Hero Pack/Master/SVG/Interface Elements/0842ffc478006e9b6687fca9a5761494c4efd1df873220637af5b4ac7253f850_Interface Elements_interface_ui_window_application_app_button_cta.svg", - "shortDescription": "A dialog box with two buttons.", + "shortDescription": "A dialog box with buttons to let users make a choice.", "version": "0.1.0", "description": [ "A dialog box showing multiple options (usually \"yes\" and \"no\") and a customizable text message.", @@ -6557,7 +6613,7 @@ "areaMinY": 0, "areaMinZ": 0, "defaultName": "", - "description": "A dialog box with two options.", + "description": "A dialog box showing two options.", "fullName": "Two choices dialog box ", "isInnerAreaFollowingParentSize": true, "isTextContainer": true, @@ -6905,10 +6961,12 @@ "conditions": [ { "type": { - "value": "TwoChoicesDialogBoxes::TwoChoicesDialogBox::PropertyEnableEscape" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "EnableEscape", + "True", + "" ] }, { @@ -7330,10 +7388,10 @@ "actions": [ { "type": { - "value": "TwoChoicesDialogBoxes::TwoChoicesDialogBox::SetPropertyActiveButtonById" + "value": "SetNumberVariable" }, "parameters": [ - "Object", + "ActiveButtonById", "=", "mod(Value, SceneInstancesCount(Buttons))" ] @@ -7460,10 +7518,10 @@ "actions": [ { "type": { - "value": "TwoChoicesDialogBoxes::TwoChoicesDialogBox::SetPropertyTextMessage" + "value": "SetStringVariable" }, "parameters": [ - "Object", + "TextMessage", "=", "Value" ] @@ -7977,7 +8035,7 @@ "name": "SpriteMultitouchJoystick", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Videogames/Videogames_controller_joystick_arrows_direction.svg", "shortDescription": "Joysticks or buttons for touchscreens.", - "version": "1.6.1", + "version": "1.7.0", "description": [ "Multitouch joysticks can be used the same way as physical gamepads:", "- 4 or 8 directions", @@ -8075,10 +8133,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"TargetedSpeed\"", + "TargetedSpeed", "<", "0" ] @@ -8103,10 +8161,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<", "TargetedSpeed" ] @@ -8130,20 +8188,20 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">", "TargetedSpeed" ] }, { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<", "0" ] @@ -8179,10 +8237,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">=", "0" ] @@ -8208,10 +8266,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"TargetedSpeed\"", + "TargetedSpeed", ">", "0" ] @@ -8236,10 +8294,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">", "TargetedSpeed" ] @@ -8263,20 +8321,20 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<", "TargetedSpeed" ] }, { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">", "0" ] @@ -8312,10 +8370,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<=", "0" ] @@ -8341,10 +8399,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"TargetedSpeed\"", + "TargetedSpeed", "=", "0" ] @@ -8357,10 +8415,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<", "0" ] @@ -8384,10 +8442,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">", "0" ] @@ -9774,10 +9832,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsString" + "value": "StringVariable" }, "parameters": [ - "\"Side\"", + "Side", "=", "\"Left\"" ] @@ -9812,10 +9870,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsString" + "value": "StringVariable" }, "parameters": [ - "\"Side\"", + "Side", "=", "\"Right\"" ] @@ -10016,11 +10074,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchIndex", "=", "0" ] @@ -10038,11 +10095,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyTouchId" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -10061,11 +10117,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "StartedTouchOrMouseId(TouchIndex)" ] @@ -10078,11 +10133,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchIndex", "+", "1" ] @@ -10148,11 +10202,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyTouchId" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "!=", "0" ] @@ -10257,11 +10310,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyJoystickForce" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "JoystickForce", "=", "Value" ] @@ -10355,11 +10407,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyJoystickAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "JoystickAngle", "=", "Value" ] @@ -10625,11 +10676,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyTouchId" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "!=", "0" ] @@ -10688,11 +10738,10 @@ }, { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -10769,11 +10818,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyControllerIdentifier" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ControllerIdentifier", "=", "Value" ] @@ -10850,11 +10898,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyJoystickIdentifier" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "JoystickIdentifier", "=", "Value" ] @@ -10931,11 +10978,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyDeadZoneRadius" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DeadZoneRadius", "=", "Value" ] @@ -10983,11 +11029,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "Value" ] @@ -11116,12 +11161,12 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyIsReleased" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsReleased", + "False", + "" ] }, { @@ -11163,11 +11208,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchIndex", "=", "0" ] @@ -11216,11 +11260,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "StartedTouchOrMouseId(TouchIndex)" ] @@ -11244,11 +11287,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchIndex", "+", "1" ] @@ -11296,21 +11338,20 @@ }, { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyIsReleased" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsReleased", + "True", + "" ] }, { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -11345,11 +11386,12 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::PropertyIsReleased" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsReleased", + "True", + "" ] } ], @@ -11392,11 +11434,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::PropertyTouchId" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "!=", "0" ] @@ -12066,11 +12107,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyCurrentRotationSpeedZ" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentRotationSpeedZ", "=", "SpriteMultitouchJoystick::AcceleratedSpeed(CurrentRotationSpeedZ, SpriteMultitouchJoystick::StickForceX(ControllerIdentifier, CameraStick) * HorizontalRotationSpeedMax, HorizontalRotationSpeedMax, HorizontalRotationAcceleration, HorizontalRotationDeceleration)" ] @@ -12087,11 +12127,10 @@ }, { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyCurrentRotationSpeedY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentRotationSpeedY", "=", "SpriteMultitouchJoystick::AcceleratedSpeed(CurrentRotationSpeedY, SpriteMultitouchJoystick::StickForceY(ControllerIdentifier, CameraStick) * VerticalRotationSpeedMax, VerticalRotationSpeedMax, VerticalRotationAcceleration, VerticalRotationDeceleration)" ] @@ -12291,11 +12330,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyHorizontalRotationSpeedMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HorizontalRotationSpeedMax", "=", "Value" ] @@ -12372,11 +12410,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyHorizontalRotationAcceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HorizontalRotationAcceleration", "=", "Value" ] @@ -12453,11 +12490,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyHorizontalRotationDeceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HorizontalRotationDeceleration", "=", "Value" ] @@ -12534,11 +12570,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyVerticalRotationSpeedMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalRotationSpeedMax", "=", "Value" ] @@ -12615,11 +12650,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyVerticalRotationAcceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalRotationAcceleration", "=", "Value" ] @@ -12696,11 +12730,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyVerticalRotationDeceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalRotationDeceleration", "=", "Value" ] @@ -12777,11 +12810,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyVerticalAngleMin" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalAngleMin", "=", "Value" ] @@ -12858,11 +12890,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyVerticalAngleMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalAngleMax", "=", "Value" ] @@ -12939,11 +12970,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyOffsetZ" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OffsetZ", "=", "Value" ] @@ -13128,11 +13158,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::TopDownMultitouchMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"Analog\"" ] @@ -13157,11 +13186,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::TopDownMultitouchMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"360°\"" ] @@ -13186,11 +13214,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::TopDownMultitouchMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"8 Directions\"" ] @@ -13825,10 +13852,12 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::PropertyShouldBeHiddenWhenReleased" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShouldBeHiddenWhenReleased", + "True", + "" ] }, { @@ -14020,11 +14049,12 @@ }, { "type": { - "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::SetPropertyShouldBeHiddenWhenReleased" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "yes" + "ShouldBeHiddenWhenReleased", + "False", + "" ] }, { @@ -14150,10 +14180,12 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldActivate\"" + "ShouldActivate", + "True", + "" ] } ], @@ -14175,10 +14207,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldActivate\"" + "ShouldActivate", + "True", + "" ] } ], @@ -15139,11 +15173,10 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Value", "=", "clamp(Value, 0, Object.Behavior::MaxValue())" ] @@ -15155,11 +15188,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Value", "<", "Object.Behavior::PreviousHighValue()" ] @@ -15182,11 +15214,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Value", ">=", "PreviousHighValue" ] @@ -15275,11 +15306,10 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyMaxValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxValue", "=", "Value" ] @@ -15314,11 +15344,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Value", "=", "0" ] @@ -15363,11 +15392,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Value", "=", "MaxValue" ] @@ -15453,11 +15481,10 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyPreviousHighValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousHighValue", "=", "Value" ] @@ -15534,11 +15561,10 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyPreviousHighValueDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousHighValueDuration", "=", "Value" ] @@ -15703,10 +15729,10 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyPreviousInitialValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", + "PreviousInitialValue", "=", "Object.PropertyInitialValue()" ] @@ -15780,10 +15806,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyPreviousHighValueDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "PreviousHighValueDuration", ">", "0" ] @@ -15878,10 +15904,12 @@ { "type": { "inverted": true, - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyShowLabel" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShowLabel", + "True", + "" ] } ], @@ -16015,10 +16043,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyInitialValue" + "value": "NumberVariable" }, "parameters": [ - "Object", + "InitialValue", "!=", "Object.PropertyPreviousInitialValue()" ] @@ -16027,10 +16055,10 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyPreviousInitialValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", + "PreviousInitialValue", "=", "Object.PropertyInitialValue()" ] @@ -16547,10 +16575,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyEasingDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "EasingDuration", ">", "0" ] @@ -16578,10 +16606,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyEasingDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "EasingDuration", "<=", "0" ] @@ -17100,10 +17128,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyShowLabel" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShowLabel", + "True", + "" ] } ], @@ -17143,21 +17173,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyShowLabel" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "no" + "ShowLabel", + "False", + "" ] }, { @@ -17175,21 +17208,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyShowLabel" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "yes" + "ShowLabel", + "True", + "" ] }, { @@ -17573,7 +17609,7 @@ "name": "Flash", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/flash-outline.svg", "shortDescription": "Make an object flash visibility (blink), color tint, object effect, or opacity (fade).", - "version": "1.3.0", + "version": "1.3.1", "description": [ "Make an object flash for a period of time so that it alternates between two different states.", "Includes the ability to flash visibility (blink), color tint, object effect, or opacity (fade).", @@ -17968,11 +18004,12 @@ "conditions": [ { "type": { - "value": "Flash::Flash::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -18041,11 +18078,10 @@ "conditions": [ { "type": { - "value": "Flash::Flash::PropertyFlashDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", ">", "0" ] @@ -18131,12 +18167,12 @@ }, { "type": { - "value": "Flash::Flash::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsFlashing", + "True", + "" ] }, { @@ -18165,13 +18201,12 @@ }, { "type": { - "value": "Flash::Flash::SetPropertyFlashDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", "=", - "FlashDuration" + "NewFlashDuration" ] } ] @@ -18192,7 +18227,7 @@ { "description": "Duration of the flashing, in seconds", "longDescription": "Use \"0\" to keep flashing until stopped.", - "name": "FlashDuration", + "name": "NewFlashDuration", "type": "expression" } ], @@ -18224,11 +18259,12 @@ "conditions": [ { "type": { - "value": "Flash::Flash::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -18309,11 +18345,12 @@ "conditions": [ { "type": { - "value": "Flash::Flash::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -18329,12 +18366,12 @@ }, { "type": { - "value": "Flash::Flash::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsFlashing", + "False", + "" ] }, { @@ -18427,11 +18464,10 @@ "actions": [ { "type": { - "value": "Flash::Flash::SetPropertyHalfPeriodTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HalfPeriodTime", "=", "Value" ] @@ -18507,11 +18543,12 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -18581,11 +18618,10 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyFlashDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", ">", "0" ] @@ -18650,11 +18686,12 @@ { "type": { "inverted": true, - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -18686,18 +18723,18 @@ "parameters": [ "", "Object", - "ColorTint", + "NewColorTint", "" ] }, { "type": { - "value": "Flash::FlashColor::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsFlashing", + "True", + "" ] } ] @@ -18717,24 +18754,22 @@ }, { "type": { - "value": "Flash::FlashColor::SetPropertyTintColor" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "TintColor", "=", - "ColorTint" + "NewColorTint" ] }, { "type": { - "value": "Flash::FlashColor::SetPropertyFlashDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", "=", - "FlashDuration" + "NewFlashDuration" ] } ] @@ -18756,12 +18791,12 @@ { "description": "Duration of the flashing, in seconds", "longDescription": "Use \"0\" to keep flashing until stopped.", - "name": "FlashDuration", + "name": "NewFlashDuration", "type": "expression" }, { "description": "Color tint", - "name": "ColorTint", + "name": "NewColorTint", "type": "color" } ], @@ -18793,11 +18828,12 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -18880,23 +18916,24 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Flash::FlashColor::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsFlashing", + "False", + "" ] }, { @@ -19000,11 +19037,10 @@ "actions": [ { "type": { - "value": "Flash::FlashColor::SetPropertyHalfPeriodTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HalfPeriodTime", "=", "Value" ] @@ -19210,11 +19246,10 @@ "conditions": [ { "type": { - "value": "Flash::FlashOpacity::PropertyFlashDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", ">", "0" ] @@ -19278,22 +19313,22 @@ { "type": { "inverted": true, - "value": "Flash::FlashOpacity::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Flash::FlashOpacity::SetPropertyStartingOpacity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StartingOpacity", "=", "Object.Opacity::Value()" ] @@ -19306,7 +19341,7 @@ "Object", "TweenBehavior", "\"__Flash.ToTargetOpacity\"", - "TargetOpacity", + "NewTargetOpacity", "\"easeInOutCubic\"", "1000 * HalfPeriodTime", "" @@ -19314,12 +19349,12 @@ }, { "type": { - "value": "Flash::FlashOpacity::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsFlashing", + "True", + "" ] } ] @@ -19339,24 +19374,22 @@ }, { "type": { - "value": "Flash::FlashOpacity::SetPropertyFlashDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", "=", - "FlashDuration" + "NewFlashDuration" ] }, { "type": { - "value": "Flash::FlashOpacity::SetPropertyTargetOpacity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TargetOpacity", "=", - "TargetOpacity" + "NewTargetOpacity" ] } ] @@ -19383,12 +19416,12 @@ { "description": "Duration of the flashing, in seconds", "longDescription": "Use \"0\" to keep flashing until stopped.", - "name": "FlashDuration", + "name": "NewFlashDuration", "type": "expression" }, { "description": "Target opacity", - "name": "TargetOpacity", + "name": "NewTargetOpacity", "type": "expression" } ], @@ -19420,11 +19453,12 @@ "conditions": [ { "type": { - "value": "Flash::FlashOpacity::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -19517,12 +19551,12 @@ "actions": [ { "type": { - "value": "Flash::FlashOpacity::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsFlashing", + "False", + "" ] }, { @@ -19637,11 +19671,10 @@ "actions": [ { "type": { - "value": "Flash::FlashOpacity::SetPropertyHalfPeriodTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HalfPeriodTime", "=", "Value" ] @@ -19836,11 +19869,10 @@ "conditions": [ { "type": { - "value": "Flash::FlashEffect::PropertyFlashDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", ">", "0" ] @@ -19925,13 +19957,12 @@ }, { "type": { - "value": "Flash::FlashEffect::PropertyEffectName" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "EffectName", "!=", - "EffectName" + "NewEffectName" ] } ], @@ -19975,7 +20006,7 @@ "parameters": [ "Object", "Effect", - "EffectName" + "NewEffectName" ] } ], @@ -20003,7 +20034,7 @@ "parameters": [ "Object", "Effect", - "EffectName" + "NewEffectName" ] } ], @@ -20031,7 +20062,7 @@ "parameters": [ "Object", "Behavior", - "EffectName", + "NewEffectName", "" ] }, @@ -20046,12 +20077,12 @@ }, { "type": { - "value": "Flash::FlashEffect::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsFlashing", + "True", + "" ] } ] @@ -20073,24 +20104,22 @@ }, { "type": { - "value": "Flash::FlashEffect::SetPropertyFlashDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", "=", - "FlashDuration" + "NewFlashDuration" ] }, { "type": { - "value": "Flash::FlashEffect::SetPropertyEffectName" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "EffectName", "=", - "EffectName" + "NewEffectName" ] } ] @@ -20111,12 +20140,12 @@ { "description": "Duration of the flashing, in seconds", "longDescription": "Use \"0\" to keep flashing until stopped.", - "name": "FlashDuration", + "name": "NewFlashDuration", "type": "expression" }, { "description": "Name of effect", - "name": "EffectName", + "name": "NewEffectName", "type": "objectEffectName" } ], @@ -20148,11 +20177,12 @@ "conditions": [ { "type": { - "value": "Flash::FlashEffect::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -20233,23 +20263,24 @@ "conditions": [ { "type": { - "value": "Flash::FlashEffect::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Flash::FlashEffect::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsFlashing", + "False", + "" ] }, { @@ -20400,11 +20431,10 @@ "actions": [ { "type": { - "value": "Flash::FlashEffect::SetPropertyHalfPeriodTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HalfPeriodTime", "=", "Value" ] @@ -20755,22 +20785,20 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyHealthRegenRate" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealthRegenRate", "!=", "0" ] }, { "type": { - "value": "Health::Health::PropertyCurrentHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "<", "Object.Behavior::MaxHealth()" ] @@ -20790,11 +20818,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "+", "HealthRegenRate * TimeDelta()" ] @@ -20818,11 +20845,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", ">", "Object.Behavior::MaxHealth()" ] @@ -20831,11 +20857,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", "MaxHealth" ] @@ -20862,32 +20887,32 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsHealthJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsHealthJustDamaged", + "False", + "" ] }, { "type": { - "value": "Health::Health::SetPropertyIsJustHealed" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsJustHealed", + "False", + "" ] }, { "type": { - "value": "Health::Health::SetPropertyIsJustDodged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsJustDodged", + "False", + "" ] } ] @@ -20933,22 +20958,20 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldRegenRate" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldRegenRate", "!=", "0" ] }, { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "<", "MaxShieldPoints" ] @@ -20972,11 +20995,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "0" ] @@ -21001,11 +21023,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "+", "ShieldRegenRate * TimeDelta()" ] @@ -21029,11 +21050,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", ">", "MaxShieldPoints" ] @@ -21042,11 +21062,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "MaxShieldPoints" ] @@ -21091,11 +21110,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "0" ] @@ -21120,12 +21138,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsShieldJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsShieldJustDamaged", + "False", + "" ] } ] @@ -21199,11 +21217,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "=", "DamageValue" ] @@ -21248,21 +21265,20 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsJustDodged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsJustDodged", + "True", + "" ] }, { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "=", "0" ] @@ -21286,19 +21302,20 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"UseArmor\"" + "UseArmor", + "True", + "" ] }, { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "0" ] @@ -21321,11 +21338,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "=", "max(0,DamageToBeApplied - FlatDamageReduction)" ] @@ -21349,22 +21365,20 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyPercentDamageReduction" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PercentDamageReduction", ">", "0" ] }, { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "0" ] @@ -21373,11 +21387,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "*", "1 - min(1, PercentDamageReduction)" ] @@ -21418,10 +21431,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"UseShield\"" + "UseShield", + "True", + "" ] }, { @@ -21436,11 +21451,10 @@ }, { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "0" ] @@ -21449,12 +21463,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsShieldJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsShieldJustDamaged", + "True", + "" ] }, { @@ -21486,11 +21500,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "<=", "CurrentShieldPoints" ] @@ -21499,33 +21512,30 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "-", "DamageToBeApplied" ] }, { "type": { - "value": "Health::Health::SetPropertyShieldDamageTaken" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDamageTaken", "=", "DamageToBeApplied" ] }, { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "=", "0" ] @@ -21549,11 +21559,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "CurrentShieldPoints" ] @@ -21562,11 +21571,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldDamageTaken" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDamageTaken", "=", "CurrentShieldPoints" ] @@ -21578,33 +21586,32 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyBlockExcessDamage" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "BlockExcessDamage", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "=", "0" ] }, { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "0" ] @@ -21629,33 +21636,32 @@ { "type": { "inverted": true, - "value": "Health::Health::PropertyBlockExcessDamage" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "BlockExcessDamage", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "-", "CurrentShieldPoints" ] }, { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "0" ] @@ -21683,11 +21689,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "0" ] @@ -21834,11 +21839,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", "Value" ] @@ -21862,11 +21866,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", ">", "0" ] @@ -21875,11 +21878,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", "min(CurrentHealth, MaxHealth)" ] @@ -21988,11 +21990,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", "=", "0" ] @@ -22001,11 +22002,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHealToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealToBeApplied", "=", "HealValue" ] @@ -22029,11 +22029,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", ">", "0" ] @@ -22041,22 +22040,22 @@ { "type": { "inverted": true, - "value": "Health::Health::PropertyAllowOverHealing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "AllowOverHealing", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyHealToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealToBeApplied", "=", "min(HealValue,MaxHealth - CurrentHealth)" ] @@ -22081,11 +22080,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "+", "HealToBeApplied" ] @@ -22110,12 +22108,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsJustHealed" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsJustHealed", + "True", + "" ] } ] @@ -22198,11 +22196,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyMaxHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", "=", "Value" ] @@ -22226,11 +22223,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", ">", "Object.Behavior::MaxHealth()" ] @@ -22239,11 +22235,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", "Object.Behavior::MaxHealth()" ] @@ -22373,11 +22368,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHealthRegenRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealthRegenRate", "=", "Value" ] @@ -22507,11 +22501,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageCooldown" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageCooldown", "=", "Value" ] @@ -22641,11 +22634,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHealthRegenDelay" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealthRegenDelay", "=", "Value" ] @@ -22775,11 +22767,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyChanceToDodge" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ChanceToDodge", "=", "Value" ] @@ -22909,11 +22900,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyFlatDamageReduction" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlatDamageReduction", "=", "Value" ] @@ -23043,11 +23033,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyPercentDamageReduction" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PercentDamageReduction", "=", "Value" ] @@ -23137,12 +23126,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyAllowOverHealing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "AllowOverHealing", + "False", + "" ] } ] @@ -23152,22 +23141,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyAllowOverHealing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "AllowOverHealing", + "True", + "" ] } ] @@ -23208,12 +23199,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHitAtLeastOnce" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "HitAtLeastOnce", + "False", + "" ] } ] @@ -23223,22 +23214,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyHitAtLeastOnce" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "HitAtLeastOnce", + "True", + "" ] } ] @@ -23279,12 +23272,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsHealthJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsHealthJustDamaged", + "False", + "" ] } ] @@ -23294,22 +23287,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsHealthJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsHealthJustDamaged", + "True", + "" ] } ] @@ -23455,11 +23450,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyHitAtLeastOnce" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "HitAtLeastOnce", + "True", + "" ] } ], @@ -23517,11 +23513,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsHealthJustDamaged" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsHealthJustDamaged", + "True", + "" ] } ], @@ -23579,11 +23576,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsJustHealed" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsJustHealed", + "True", + "" ] } ], @@ -23641,20 +23639,20 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyHitAtLeastOnce" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "HitAtLeastOnce", + "True", + "" ] }, { "type": { - "value": "Health::Health::PropertyDamageCooldown" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageCooldown", ">", "0" ] @@ -23791,11 +23789,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "<=", "0" ] @@ -23964,11 +23961,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyMaxShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxShieldPoints", "=", "Value" ] @@ -24146,11 +24142,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "Value" ] @@ -24280,11 +24275,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldRegenRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldRegenRate", "=", "Value" ] @@ -24414,11 +24408,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldRegenDelay" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldRegenDelay", "=", "Value" ] @@ -24548,11 +24541,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", "=", "Value" ] @@ -24681,11 +24673,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "ShieldPoints" ] @@ -24697,11 +24688,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxShieldPoints", ">", "0" ] @@ -24710,11 +24700,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "min(ShieldPoints,Object.Behavior::MaxShield())" ] @@ -24726,10 +24715,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"RenewShieldDuration\"" + "RenewShieldDuration", + "True", + "" ] } ], @@ -24788,12 +24779,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyBlockExcessDamage" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "BlockExcessDamage", + "False", + "" ] } ] @@ -24803,22 +24794,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyBlockExcessDamage" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "BlockExcessDamage", + "True", + "" ] } ] @@ -24871,11 +24864,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsShieldJustDamaged" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsShieldJustDamaged", + "True", + "" ] } ], @@ -24933,11 +24927,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsJustDodged" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsJustDodged", + "True", + "" ] } ], @@ -25007,11 +25002,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", ">", "0" ] @@ -25036,11 +25030,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", "<=", "0" ] @@ -25062,11 +25055,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", ">", "0" ] @@ -25139,11 +25131,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", ">", "0" ] @@ -25520,7 +25511,7 @@ "name": "FlashTransitionPainter", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/movie-filter.svg", "shortDescription": "Paint transition effects with a plain color.", - "version": "0.1.3", + "version": "0.1.4", "description": [ "Paint transition effects", "- Fade in, fade out", @@ -25528,7 +25519,7 @@ "- Top to bottom", "- Circular", "", - "A blur effect can be added to the painter layer to smooth the effect." + "A blur effect can be added to the painter layer to smooth the transition." ], "origin": { "identifier": "FlashTransitionPainter", @@ -25655,11 +25646,10 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyProgress" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Progress", "=", "min(1, Object.ObjectTimerElapsedTime(\"__FlashTransitionPainter_Time\") / Duration)" ] @@ -25679,11 +25669,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyProgress" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Progress", "=", "1" ] @@ -25716,11 +25705,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyDirection" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Direction", "=", "\"Backward\"" ] @@ -25729,11 +25717,10 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyProgress" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Progress", "=", "1 - Progress" ] @@ -25745,11 +25732,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyDirection" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Direction", "=", "\"Both\"" ] @@ -25758,11 +25744,10 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyProgress" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Progress", "=", "min(2 * Progress, 2 * (1 - Progress))" ] @@ -25774,11 +25759,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyProgress" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Progress", ">", "0" ] @@ -25811,11 +25795,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyType" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Type", "=", "\"Flash\"" ] @@ -25875,11 +25858,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyType" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Type", "=", "\"Horizontal\"" ] @@ -25929,11 +25911,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyType" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Type", "=", "\"Vertical\"" ] @@ -25983,11 +25964,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyType" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Type", "=", "\"Circular\"" ] @@ -26093,33 +26073,30 @@ }, { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Duration", "=", - "Duration" + "NewDuration" ] }, { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyDirection" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "Direction", "=", - "Direction" + "NewDirection" ] }, { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyProgress" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Progress", "=", "0" ] @@ -26132,11 +26109,10 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyType" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "Type", "=", "\"Flash\"" ] @@ -26148,10 +26124,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsString" + "value": "StringVariable" }, "parameters": [ - "\"Type\"", + "NewType", "!=", "\"\"" ] @@ -26160,13 +26136,12 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyType" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "Type", "=", - "Type" + "NewType" ] } ] @@ -26176,10 +26151,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsString" + "value": "StringVariable" }, "parameters": [ - "\"Color\"", + "Color", "!=", "\"\"" ] @@ -26203,11 +26178,10 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyMaxOpacity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxOpacity", "=", "255" ] @@ -26219,10 +26193,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"MaxOpacity\"", + "NewMaxOpacity", "!=", "0" ] @@ -26231,13 +26205,12 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyMaxOpacity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxOpacity", "=", - "MaxOpacity" + "NewMaxOpacity" ] } ] @@ -26265,24 +26238,24 @@ }, { "description": "Duration", - "name": "Duration", + "name": "NewDuration", "type": "expression" }, { "description": "Type of effect ", - "name": "Type", + "name": "NewType", "supplementaryInformation": "[\"Flash\",\"Horizontal\",\"Vertical\",\"Circular\"]", "type": "stringWithSelector" }, { "description": "Direction transition", - "name": "Direction", + "name": "NewDirection", "supplementaryInformation": "[\"Both\",\"Forward\",\"Backward\"]", "type": "stringWithSelector" }, { "description": "End opacity", - "name": "MaxOpacity", + "name": "NewMaxOpacity", "type": "expression" } ], @@ -26466,11 +26439,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -26479,11 +26451,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -26517,12 +26488,12 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyMouseIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "MouseIsInside", + "False", + "" ] } ] @@ -26532,11 +26503,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyShouldCheckHovering" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldCheckHovering", + "True", + "" ] }, { @@ -26553,12 +26525,12 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyMouseIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "MouseIsInside", + "True", + "" ] } ] @@ -26581,12 +26553,12 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "TouchIsInside", + "False", + "" ] } ] @@ -26596,11 +26568,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyTouchId" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "!=", "0" ] @@ -26619,12 +26590,12 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "TouchIsInside", + "True", + "" ] } ] @@ -26656,11 +26627,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "=", "0" ] @@ -26690,23 +26660,22 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "StartedTouchOrMouseId(Index)" ] }, { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "TouchIsInside", + "True", + "" ] } ], @@ -26748,11 +26717,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -26767,11 +26735,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "+", "1" ] @@ -26800,20 +26767,20 @@ { "type": { "inverted": true, - "value": "PanelSpriteButton::ButtonFSM::PropertyMouseIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "MouseIsInside", + "True", + "" ] }, { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -26822,11 +26789,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -26838,20 +26804,20 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyMouseIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "MouseIsInside", + "True", + "" ] }, { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -26860,11 +26826,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -26877,20 +26842,20 @@ { "type": { "inverted": true, - "value": "PanelSpriteButton::ButtonFSM::PropertyTouchIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "TouchIsInside", + "True", + "" ] }, { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -26899,11 +26864,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -26915,20 +26879,20 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyTouchIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "TouchIsInside", + "True", + "" ] }, { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -26937,11 +26901,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -26976,11 +26939,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -26992,11 +26954,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -27005,11 +26966,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -27022,11 +26982,10 @@ { "type": { "inverted": true, - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -27034,11 +26993,10 @@ { "type": { "inverted": true, - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -27047,11 +27005,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -27134,22 +27091,20 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] }, { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -27184,11 +27139,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -27233,11 +27187,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -27282,11 +27235,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -27331,11 +27283,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -27357,11 +27308,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -27406,11 +27356,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -27455,11 +27404,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -27909,10 +27857,10 @@ }, { "type": { - "value": "PanelSpriteButton::PanelSpriteButton::PropertyHoveredFadeOutDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "HoveredFadeOutDuration", ">", "0" ] @@ -27940,10 +27888,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::PanelSpriteButton::PropertyHoveredFadeOutDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "HoveredFadeOutDuration", "=", "0" ] @@ -28816,10 +28764,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldActivate\"" + "ShouldActivate", + "True", + "" ] } ], @@ -28842,10 +28792,12 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldActivate\"" + "ShouldActivate", + "True", + "" ] } ], @@ -29345,10 +29297,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShakeForever\"" + "ShakeForever", + "True", + "" ] } ], @@ -31342,10 +31296,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShakeForever\"" + "ShakeForever", + "True", + "" ] } ], @@ -33582,7 +33538,7 @@ "name": "SmoothCamera", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Computers and Hardware/Computers and Hardware_camcoder_gopro_go_pro_camera.svg", "shortDescription": "Smoothly scroll to follow an object.", - "version": "0.3.3", + "version": "0.4.0", "description": [ "The camera follows an object according to:", "- a frame rate independent catch-up speed to make the scrolling from smooth to strong", @@ -33776,11 +33732,10 @@ }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyCameraDelay" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CameraDelay", "=", "CameraDelay" ] @@ -33815,11 +33770,12 @@ { "type": { "inverted": true, - "value": "SmoothCamera::SmoothCamera::PropertyIsCalledManually" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsCalledManually", + "True", + "" ] } ], @@ -33877,12 +33833,12 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyIsCalledManually" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsCalledManually", + "True", + "" ] }, { @@ -33976,22 +33932,22 @@ "conditions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyFollowOnX" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "FollowOnX", + "True", + "" ] } ], "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyOldX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OldX", "=", "CameraX(Object.Layer(), 0)" ] @@ -34133,22 +34089,22 @@ "conditions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyFollowOnY" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "FollowOnY", + "True", + "" ] } ], "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyOldY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OldY", "=", "CameraY(Object.Layer(), 0)" ] @@ -34326,44 +34282,40 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyWaitingEnd" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "WaitingEnd", "=", "TimeFromStart() + NewWaitingDuration" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyWaitingSpeedXMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "WaitingSpeedXMax", "=", "NewWaitingSpeedXMax" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyWaitingSpeedYMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "WaitingSpeedYMax", "=", "NewWaitingSpeedYMax" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyCameraDelayCatchUpDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CameraDelayCatchUpDuration", "=", "NewCatchUpDuration" ] @@ -34472,11 +34424,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "=", "0" ] @@ -34519,11 +34470,10 @@ }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "+", "1" ] @@ -34772,11 +34722,11 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnX" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowOnX", + "False", "" ] } @@ -34787,22 +34737,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnX" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "FollowOnX", + "True", + "" ] } ] @@ -34842,11 +34794,11 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnY" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowOnY", + "False", "" ] } @@ -34857,22 +34809,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnY" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "FollowOnY", + "True", + "" ] } ] @@ -34912,11 +34866,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaTop" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowFreeAreaTop", "=", "max(0, Value)" ] @@ -34958,11 +34911,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaTop" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowFreeAreaTop", "=", "max(0, Value)" ] @@ -35004,11 +34956,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaTop" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowFreeAreaTop", "=", "max(0, Value)" ] @@ -35050,11 +35001,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaBottom" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowFreeAreaBottom", "=", "max(0, Value)" ] @@ -35096,11 +35046,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeedMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LeftwardSpeedMax", "=", "max(0, Value)" ] @@ -35142,11 +35091,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeedMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LeftwardSpeedMax", "=", "max(0, Value)" ] @@ -35188,11 +35136,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyUpwardSpeedMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "UpwardSpeedMax", "=", "max(0, Value)" ] @@ -35234,11 +35181,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyDownwardSpeedMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DownwardSpeedMax", "=", "max(0, Value)" ] @@ -35280,22 +35226,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LeftwardSpeed", "=", "clamp(0, 1, Value)" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyLogLeftwardSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LogLeftwardSpeed", "=", "log(1 - Value)" ] @@ -35337,22 +35281,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyRightwardSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RightwardSpeed", "=", "clamp(0, 1, Value)" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyLogRightwardSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LogRightwardSpeed", "=", "log(1 - Value)" ] @@ -35394,22 +35336,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyDownwardSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DownwardSpeed", "=", "clamp(0, 1, Value)" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyLogDownwardSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LogDownwardSpeed", "=", "log(1 - Value)" ] @@ -35451,22 +35391,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyUpwardSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "UpwardSpeed", "=", "clamp(0, 1, Value)" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyLogUpwardSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LogUpwardSpeed", "=", "log(1 - Value)" ] @@ -35548,11 +35486,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyCameraOffsetX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CameraOffsetX", "=", "Value" ] @@ -35701,11 +35638,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyCameraOffsetY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CameraOffsetY", "=", "Value" ] @@ -35790,11 +35726,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastTime", "=", "min(0, Value)" ] @@ -35836,11 +35771,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyCameraDelay" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CameraDelay", "=", "min(0, Value)" ] @@ -36132,22 +36066,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DelayedCenterX", "=", "Object.CenterX()" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DelayedCenterY", "=", "Object.CenterY()" ] @@ -36353,22 +36285,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DelayedCenterX", "=", "Object.Variable(__SmoothCamera.ObjectX[0])" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DelayedCenterY", "=", "Object.Variable(__SmoothCamera.ObjectY[0])" ] @@ -36431,11 +36361,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyCameraExtraDelay" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CameraExtraDelay", "+", "max(0, TimeDelta() * (1 - min(WaitingSpeedXMax * abs(Object.Variable(__SmoothCamera.ObjectX[1]) - Object.Variable(__SmoothCamera.ObjectX[0])), WaitingSpeedYMax * abs(Object.Variable(__SmoothCamera.ObjectY[1]) - Object.Variable(__SmoothCamera.ObjectY[0]))) / (Object.Variable(__SmoothCamera.ObjectTime[1]) - Object.Variable(__SmoothCamera.ObjectTime[0]))))" ] @@ -36479,22 +36408,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DelayedCenterX", "=", "lerp(Object.Variable(__SmoothCamera.ObjectX[1]), Object.Variable(__SmoothCamera.ObjectX[0]), ((TimeFromStart() - Object.Behavior::CurrentDelay()) - Object.Variable(__SmoothCamera.ObjectTime[1])) / (Object.Variable(__SmoothCamera.ObjectTime[0]) - Object.Variable(__SmoothCamera.ObjectTime[1])))" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DelayedCenterY", "=", "lerp(Object.Variable(__SmoothCamera.ObjectY[1]), Object.Variable(__SmoothCamera.ObjectY[0]), ((TimeFromStart() - Object.Behavior::CurrentDelay()) - Object.Variable(__SmoothCamera.ObjectTime[1])) / (Object.Variable(__SmoothCamera.ObjectTime[0]) - Object.Variable(__SmoothCamera.ObjectTime[1])))" ] @@ -36585,11 +36512,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyCameraDelayCatchUpSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CameraDelayCatchUpSpeed", "=", "CameraExtraDelay / CameraDelayCatchUpDuration" ] @@ -36631,11 +36557,10 @@ }, { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyCameraExtraDelay" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CameraExtraDelay", ">", "0" ] @@ -36644,11 +36569,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyCameraExtraDelay" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CameraExtraDelay", "=", "max(0, CameraExtraDelay -CameraDelayCatchUpSpeed * TimeDelta())" ] @@ -36793,11 +36717,10 @@ "conditions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyWaitingEnd" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "WaitingEnd", ">", "TimeFromStart()" ] @@ -37026,22 +36949,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastedX", "=", "DelayedCenterX" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastedY", "=", "DelayedCenterY" ] @@ -37121,22 +37042,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryMeanX", "=", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "=", "0" ] @@ -37150,22 +37069,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryMeanX", "+", "Object.Variable(__SmoothCamera.ForecastHistoryX[Index])" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "+", "1" ] @@ -37178,11 +37095,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryMeanX", "/", "Object.VariableChildCount(__SmoothCamera.ForecastHistoryX)" ] @@ -37207,22 +37123,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryMeanY", "=", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "=", "0" ] @@ -37236,22 +37150,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryMeanY", "+", "Object.Variable(__SmoothCamera.ForecastHistoryY[Index])" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "+", "1" ] @@ -37264,11 +37176,10 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryMeanY", "/", "Object.VariableChildCount(__SmoothCamera.ForecastHistoryY)" ] @@ -37322,44 +37233,40 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryVarianceX", "=", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryVarianceY", "=", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryCovariance" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryCovariance", "=", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "=", "0" ] @@ -37373,44 +37280,40 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryVarianceX", "+", "pow(Object.Variable(__SmoothCamera.ForecastHistoryX[Index]) - ForecastHistoryMeanX, 2)" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryVarianceY", "+", "pow(Object.Variable(__SmoothCamera.ForecastHistoryY[Index]) - ForecastHistoryMeanY, 2)" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryCovariance" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryCovariance", "+", "(Object.Variable(__SmoothCamera.ForecastHistoryX[Index]) - ForecastHistoryMeanX)\n*\n(Object.Variable(__SmoothCamera.ForecastHistoryY[Index]) - ForecastHistoryMeanY)" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "+", "1" ] @@ -37461,22 +37364,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastedX", "=", "DelayedCenterX" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastedY", "=", "DelayedCenterY" ] @@ -37555,22 +37456,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearA" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryLinearA", "=", "ForecastHistoryCovariance / ForecastHistoryVarianceX" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearB" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryLinearB", "=", "ForecastHistoryMeanY - ForecastHistoryLinearA * ForecastHistoryMeanX" ] @@ -37657,22 +37556,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearA" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryLinearA", "=", "ForecastHistoryCovariance / ForecastHistoryVarianceY" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearB" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryLinearB", "=", "ForecastHistoryMeanX - ForecastHistoryLinearA * ForecastHistoryMeanY" ] @@ -37743,33 +37640,30 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "=", "ProjectedOldestX" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedOldestX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ProjectedOldestX", "=", "ProjectedOldestY" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedOldestY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ProjectedOldestY", "=", "Index" ] @@ -37782,33 +37676,30 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "=", "ProjectedNewestX" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedNewestX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ProjectedNewestX", "=", "ProjectedNewestY" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedNewestY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ProjectedNewestY", "=", "Index" ] @@ -37869,22 +37760,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastedX", "=", "ProjectedNewestX + ( ProjectedNewestX - ProjectedOldestX) * Object.Behavior::ForecastTimeRatio()" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastedY", "=", "ProjectedNewestY + ( ProjectedNewestY - ProjectedOldestY) * Object.Behavior::ForecastTimeRatio()" ] @@ -37964,22 +37853,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedNewestX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ProjectedNewestX", "=", "(NewestX + (NewestY - ForecastHistoryLinearB) * ForecastHistoryLinearA) / (1 + pow(ForecastHistoryLinearA, 2))" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedNewestY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ProjectedNewestY", "=", "NewestY + (NewestX * ForecastHistoryLinearA - NewestY \n+ ForecastHistoryLinearB) / (1 + pow(ForecastHistoryLinearA, 2))" ] @@ -37992,22 +37879,20 @@ "actions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedOldestX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ProjectedOldestX", "=", "(OldestX + (OldestY - ForecastHistoryLinearB) * ForecastHistoryLinearA) / (1 + pow(ForecastHistoryLinearA, 2))" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedOldestY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ProjectedOldestY", "=", "OldestY + (OldestX * ForecastHistoryLinearA - OldestY \n+ ForecastHistoryLinearB) / (1 + pow(ForecastHistoryLinearA, 2))" ] @@ -39021,11 +38906,10 @@ "actions": [ { "type": { - "value": "AutoTyping::AutoTyping::SetPropertyFullText" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "FullText", "=", "Object.Text::Value()" ] @@ -39082,11 +38966,10 @@ "actions": [ { "type": { - "value": "AutoTyping::AutoTyping::SetPropertyFullText" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "FullText", "=", "Object.Text::Value()" ] @@ -39109,12 +38992,12 @@ "actions": [ { "type": { - "value": "AutoTyping::AutoTyping::SetPropertyCharacterJustAdded" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "CharacterJustAdded", + "False", + "" ] } ] @@ -39137,12 +39020,12 @@ "actions": [ { "type": { - "value": "AutoTyping::AutoTyping::SetPropertyCharacterJustAdded" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "CharacterJustAdded", + "True", + "" ] }, { @@ -39234,11 +39117,10 @@ "actions": [ { "type": { - "value": "AutoTyping::AutoTyping::SetPropertyTypedText" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "TypedText", "+", "NextCharacter" ] @@ -39292,11 +39174,10 @@ }, { "type": { - "value": "AutoTyping::AutoTyping::SetPropertyTypedText" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "TypedText", "=", "FullText" ] @@ -39459,11 +39340,10 @@ "actions": [ { "type": { - "value": "AutoTyping::AutoTyping::SetPropertyTypedText" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "TypedText", "=", "SubStr(FullText, 0, StrLength(TypedText))" ] @@ -39620,11 +39500,12 @@ "conditions": [ { "type": { - "value": "AutoTyping::AutoTyping::PropertyCharacterJustAdded" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "CharacterJustAdded", + "True", + "" ] } ], @@ -39668,11 +39549,10 @@ "actions": [ { "type": { - "value": "AutoTyping::AutoTyping::SetPropertyTypedText" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "TypedText", "=", "\"\"" ] @@ -39754,11 +39634,10 @@ "actions": [ { "type": { - "value": "AutoTyping::AutoTyping::SetPropertyTypedText" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "TypedText", "+", "SubStr(FullText, 0, CharacterIndex)" ] @@ -39810,11 +39689,10 @@ "actions": [ { "type": { - "value": "AutoTyping::AutoTyping::SetPropertyTypedText" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "TypedText", "+", "FullText" ] @@ -39910,11 +39788,10 @@ "actions": [ { "type": { - "value": "AutoTyping::AutoTyping::SetPropertyInterval" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Interval", "=", "Value" ] @@ -40006,7 +39883,7 @@ "name": "Gamepads", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/gamepad-variant-outline.svg", "shortDescription": "Add support for gamepads (or other controllers) to your game, giving access to information such as button presses, axis positions, trigger pressure, etc...", - "version": "0.6.3", + "version": "0.7.0", "description": [ "Add support for gamepads (or other controllers).", "", @@ -40276,10 +40153,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"TargetedSpeed\"", + "TargetedSpeed", "<", "0" ] @@ -40304,10 +40181,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<", "TargetedSpeed" ] @@ -40331,20 +40208,20 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">", "TargetedSpeed" ] }, { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<", "0" ] @@ -40380,10 +40257,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">=", "0" ] @@ -40409,10 +40286,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"TargetedSpeed\"", + "TargetedSpeed", ">", "0" ] @@ -40437,10 +40314,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">", "TargetedSpeed" ] @@ -40464,20 +40341,20 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<", "TargetedSpeed" ] }, { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">", "0" ] @@ -40513,10 +40390,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<=", "0" ] @@ -40542,10 +40419,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"TargetedSpeed\"", + "TargetedSpeed", "=", "0" ] @@ -40558,10 +40435,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<", "0" ] @@ -40585,10 +40462,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">", "0" ] @@ -42518,11 +42395,12 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyUseArrows" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UseArrows", + "True", + "" ] } ], @@ -42652,11 +42530,12 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyUseLeftStick" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UseLeftStick", + "True", + "" ] } ], @@ -42790,11 +42669,12 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyUseRightStick" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UseRightStick", + "True", + "" ] } ], @@ -42928,11 +42808,10 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"A or Cross\"" ] @@ -42966,11 +42845,10 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"B or Circle\"" ] @@ -43004,11 +42882,10 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"X or Square\"" ] @@ -43042,11 +42919,10 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"Y or Triangle\"" ] @@ -43080,11 +42956,10 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"LB or L1\"" ] @@ -43118,11 +42993,10 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"RB or R1\"" ] @@ -43156,11 +43030,10 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"LT or L2\"" ] @@ -43194,11 +43067,10 @@ "conditions": [ { "type": { - "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"RT or R2\"" ] @@ -43390,11 +43262,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Platformer3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"A or Cross\"" ] @@ -43428,11 +43299,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Platformer3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"B or Circle\"" ] @@ -43466,11 +43336,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Platformer3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"X or Square\"" ] @@ -43504,11 +43373,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Platformer3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"Y or Triangle\"" ] @@ -43542,11 +43410,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Platformer3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"LB or L1\"" ] @@ -43580,11 +43447,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Platformer3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"RB or R1\"" ] @@ -43618,11 +43484,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Platformer3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"LT or L2\"" ] @@ -43656,11 +43521,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Platformer3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"RT or R2\"" ] @@ -43826,11 +43690,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Shooter3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"A or Cross\"" ] @@ -43864,11 +43727,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Shooter3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"B or Circle\"" ] @@ -43902,11 +43764,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Shooter3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"X or Square\"" ] @@ -43940,11 +43801,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Shooter3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"Y or Triangle\"" ] @@ -43978,11 +43838,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Shooter3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"LB or L1\"" ] @@ -44016,11 +43875,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Shooter3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"RB or R1\"" ] @@ -44054,11 +43912,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Shooter3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"LT or L2\"" ] @@ -44092,11 +43949,10 @@ "conditions": [ { "type": { - "value": "Gamepads::Shooter3DGamepadMapper::PropertyJumpButton" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "JumpButton", "=", "\"RT or R2\"" ] @@ -44240,11 +44096,10 @@ "actions": [ { "type": { - "value": "Gamepads::FirstPersonGamepadMapper::SetPropertyCurrentRotationSpeedZ" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentRotationSpeedZ", "=", "Gamepads::AcceleratedSpeed(CurrentRotationSpeedZ, Gamepads::StickForceX(GamepadIdentifier, CameraStick) * HorizontalRotationSpeedMax, HorizontalRotationSpeedMax, HorizontalRotationAcceleration, HorizontalRotationDeceleration)" ] @@ -44261,11 +44116,10 @@ }, { "type": { - "value": "Gamepads::FirstPersonGamepadMapper::SetPropertyCurrentRotationSpeedY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentRotationSpeedY", "=", "Gamepads::AcceleratedSpeed(CurrentRotationSpeedY, Gamepads::StickForceY(GamepadIdentifier, CameraStick) * VerticalRotationSpeedMax, VerticalRotationSpeedMax, VerticalRotationAcceleration, VerticalRotationDeceleration)" ] @@ -44465,11 +44319,10 @@ "actions": [ { "type": { - "value": "Gamepads::FirstPersonGamepadMapper::SetPropertyHorizontalRotationSpeedMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HorizontalRotationSpeedMax", "=", "Value" ] @@ -44546,11 +44399,10 @@ "actions": [ { "type": { - "value": "Gamepads::FirstPersonGamepadMapper::SetPropertyHorizontalRotationAcceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HorizontalRotationAcceleration", "=", "Value" ] @@ -44627,11 +44479,10 @@ "actions": [ { "type": { - "value": "Gamepads::FirstPersonGamepadMapper::SetPropertyHorizontalRotationDeceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HorizontalRotationDeceleration", "=", "Value" ] @@ -44708,11 +44559,10 @@ "actions": [ { "type": { - "value": "Gamepads::FirstPersonGamepadMapper::SetPropertyVerticalRotationSpeedMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalRotationSpeedMax", "=", "Value" ] @@ -44789,11 +44639,10 @@ "actions": [ { "type": { - "value": "Gamepads::FirstPersonGamepadMapper::SetPropertyVerticalRotationAcceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalRotationAcceleration", "=", "Value" ] @@ -44870,11 +44719,10 @@ "actions": [ { "type": { - "value": "Gamepads::FirstPersonGamepadMapper::SetPropertyVerticalRotationDeceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalRotationDeceleration", "=", "Value" ] @@ -44951,11 +44799,10 @@ "actions": [ { "type": { - "value": "Gamepads::FirstPersonGamepadMapper::SetPropertyVerticalAngleMin" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalAngleMin", "=", "Value" ] @@ -45032,11 +44879,10 @@ "actions": [ { "type": { - "value": "Gamepads::FirstPersonGamepadMapper::SetPropertyVerticalAngleMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalAngleMax", "=", "Value" ] @@ -45113,11 +44959,10 @@ "actions": [ { "type": { - "value": "Gamepads::FirstPersonGamepadMapper::SetPropertyOffsetZ" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OffsetZ", "=", "Value" ] @@ -45318,11 +45163,12 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyUseArrows" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UseArrows", + "True", + "" ] } ], @@ -45443,11 +45289,12 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyUseLeftStick" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UseLeftStick", + "True", + "" ] } ], @@ -45458,11 +45305,10 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"Analog\"" ] @@ -45487,11 +45333,10 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"360°\"" ] @@ -45516,11 +45361,10 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"8 Directions\"" ] @@ -45649,11 +45493,12 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyUseRightStick" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UseRightStick", + "True", + "" ] } ], @@ -45664,11 +45509,10 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"Analog\"" ] @@ -45693,11 +45537,10 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"360°\"" ] @@ -45722,11 +45565,10 @@ "conditions": [ { "type": { - "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"8 Directions\"" ] From e1febfe6ae9a5a92360d3bba37c0616dfa60df77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Sat, 15 Feb 2025 18:52:44 +0100 Subject: [PATCH 2/2] Update extension versions --- examples/3d-racing-game/3d-racing-game.json | 6 +-- examples/bim-bam/bim-bam.json | 8 ++-- examples/top-down-rpg/top-down-rpg.json | 41 +++++++++++++++++---- 3 files changed, 41 insertions(+), 14 deletions(-) diff --git a/examples/3d-racing-game/3d-racing-game.json b/examples/3d-racing-game/3d-racing-game.json index 85b02f964..134609b99 100644 --- a/examples/3d-racing-game/3d-racing-game.json +++ b/examples/3d-racing-game/3d-racing-game.json @@ -6384,7 +6384,7 @@ "name": "PanelSpriteButton", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Interface Elements/Interface Elements_interface_ui_button_ok_cta_clock_tap.svg", "shortDescription": "A button that can be customized.", - "version": "1.4.6", + "version": "1.5.0", "description": [ "The button can be customized with a background for each state and a label. It handles user interactions and a simple condition can be used to check if it is clicked.", "", @@ -15020,7 +15020,7 @@ "name": "ShakeObject3D", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/vector-difference-ab.svg", "shortDescription": "Shake 3D objects.", - "version": "2.0.4", + "version": "2.1.0", "description": [ "Shake 3D objects with translation and rotation.", "", @@ -17848,7 +17848,7 @@ "name": "CurvedMovement", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Graphic Design/Graphic Design_bezier_curve.svg", "shortDescription": "Move objects on curved paths.", - "version": "1.1.3", + "version": "1.2.0", "description": [ "This extension allows to move objects on Bézier curve paths.", "- Paths can be built dynamically or from predetermined paths in SVG format.", diff --git a/examples/bim-bam/bim-bam.json b/examples/bim-bam/bim-bam.json index 0df788fc0..e2249fb83 100644 --- a/examples/bim-bam/bim-bam.json +++ b/examples/bim-bam/bim-bam.json @@ -4530,7 +4530,7 @@ "name": "FireBullet", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/bullet.svg", "shortDescription": "Fire bullets, manage ammo, reloading and overheating.", - "version": "0.8.1", + "version": "0.9.0", "description": [ "This extension allows objects to fire bullets.", "", @@ -9530,7 +9530,7 @@ "name": "Bounce", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/volleyball.svg", "shortDescription": "Bounce the object off another object it just touched.", - "version": "0.2.3", + "version": "0.3.0", "description": [ "Provides an action to make the object bounce from another object it just touched.", "", @@ -10115,7 +10115,7 @@ "name": "LinkTools", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/graph-outline.svg", "shortDescription": "Conditions to use Linked Objects as a graph and a path finding movement behavior.", - "version": "1.2.4", + "version": "1.3.0", "description": [ "This provides:", "* \"Can reach through links\" conditions, useful to check if an object is linked to another through one or more other linked objects.", @@ -12743,7 +12743,7 @@ "name": "Turret", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Cleaning/Cleaning_cleaning_clean_plunger.svg", "shortDescription": "A turret movement with customizable speed, acceleration and stop angles.", - "version": "1.2.0", + "version": "1.3.0", "description": [ "With this behavior, you can make an object rotate like a turret toward a position.", "It may be used with the **Bullet** extension to fire objects." diff --git a/examples/top-down-rpg/top-down-rpg.json b/examples/top-down-rpg/top-down-rpg.json index 386adc0b4..e0ba26a94 100644 --- a/examples/top-down-rpg/top-down-rpg.json +++ b/examples/top-down-rpg/top-down-rpg.json @@ -3482,6 +3482,33 @@ "parameters": [ "Transition" ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "DialogBox" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "E", + "" + ] + }, + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "Player", + "TopDownMovement", + "yes" + ] } ] } @@ -6579,7 +6606,7 @@ "name": "TwoChoicesDialogBoxes", "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/Line Hero Pack/Master/SVG/Interface Elements/0842ffc478006e9b6687fca9a5761494c4efd1df873220637af5b4ac7253f850_Interface Elements_interface_ui_window_application_app_button_cta.svg", "shortDescription": "A dialog box with buttons to let users make a choice.", - "version": "0.1.0", + "version": "0.2.0", "description": [ "A dialog box showing multiple options (usually \"yes\" and \"no\") and a customizable text message.", "It handles keyboard, gamepad and touch controls." @@ -15020,7 +15047,7 @@ "name": "PanelSpriteContinuousBar", "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/Glyphster Pack/Master/SVG/Interface Elements/ea06363a57846caab544f536b78a952234b68d4941d41c1577852a1d61aefec3_Interface Elements_interface_ui_loading_progress_bar.svg", "shortDescription": "A bar that represents a resource in the game (health, mana, ammo, etc).", - "version": "1.1.3", + "version": "1.2.0", "description": [ "A bar that represents a resource in the game (health, mana, ammo, etc).", "", @@ -17609,7 +17636,7 @@ "name": "Flash", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/flash-outline.svg", "shortDescription": "Make an object flash visibility (blink), color tint, object effect, or opacity (fade).", - "version": "1.3.1", + "version": "1.4.0", "description": [ "Make an object flash for a period of time so that it alternates between two different states.", "Includes the ability to flash visibility (blink), color tint, object effect, or opacity (fade).", @@ -20649,7 +20676,7 @@ "name": "Health", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/heart-half-full.svg", "shortDescription": "Manage health (life) points, shield and armor.", - "version": "0.3.2", + "version": "0.4.0", "description": [ "Manage health (life) points, shield and armor. ", "", @@ -25511,7 +25538,7 @@ "name": "FlashTransitionPainter", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/movie-filter.svg", "shortDescription": "Paint transition effects with a plain color.", - "version": "0.1.4", + "version": "0.2.0", "description": [ "Paint transition effects", "- Fade in, fade out", @@ -26378,7 +26405,7 @@ "name": "PanelSpriteButton", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Interface Elements/Interface Elements_interface_ui_button_ok_cta_clock_tap.svg", "shortDescription": "A button that can be customized.", - "version": "1.4.6", + "version": "1.5.0", "description": [ "The button can be customized with a background for each state and a label. It handles user interactions and a simple condition can be used to check if it is clicked.", "", @@ -29109,7 +29136,7 @@ "name": "ShakeObject", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/arrow-all.svg", "shortDescription": "Shake an object.", - "version": "1.5.7", + "version": "1.6.0", "description": [ "Shake an object (position, angle or scale).", "",