From bf2783ff100cd5ec824d4ef35f891c65de9c45da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Wed, 16 Jul 2025 12:10:15 +0200 Subject: [PATCH 01/11] Use variants --- examples/top-down-rpg/top-down-rpg.json | 4349 +++++++++++------------ 1 file changed, 2081 insertions(+), 2268 deletions(-) diff --git a/examples/top-down-rpg/top-down-rpg.json b/examples/top-down-rpg/top-down-rpg.json index e0ba26a94..51f208585 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": 224, + "build": 236, "major": 5, "minor": 5, "revision": 0 @@ -371,30 +371,6 @@ "name": "Target round button.png" } }, - { - "file": "assets/Flat Bar Red Fill Bar.png", - "kind": "image", - "metadata": "", - "name": "Flat Bar Red Fill Bar.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Resource bars/pixel art/212e9679eaae4753beaa5d595d7c80ea66df3235485c6a3963e88b0d936a1798_Flat Bar Red Fill Bar.png", - "name": "Flat Bar Red Fill Bar.png" - } - }, - { - "file": "assets/Flat Bar White Border.png", - "kind": "image", - "metadata": "", - "name": "Flat Bar White Border.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Resource bars/pixel art/c090d31cafed0c8ef7bb4d5af75a7dbf7149bcc03a7d5d63ae997d59100e362e_Flat Bar White Border.png", - "name": "Flat Bar White Border.png" - } - }, { "file": "assets/TilesetFloor.png", "kind": "image", @@ -426,6 +402,30 @@ "name": "assets\\Line dark joystick thumb.png", "smoothed": true, "userAdded": false + }, + { + "file": "assets/Flat Bar Red Fill Bar.png", + "kind": "image", + "metadata": "", + "name": "Flat Bar Red Fill Bar.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Resource bars/pixel art/212e9679eaae4753beaa5d595d7c80ea66df3235485c6a3963e88b0d936a1798_Flat Bar Red Fill Bar.png", + "name": "Flat Bar Red Fill Bar.png" + } + }, + { + "file": "assets/Flat Bar White Border.png", + "kind": "image", + "metadata": "", + "name": "Flat Bar White Border.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Resource bars/pixel art/c090d31cafed0c8ef7bb4d5af75a7dbf7149bcc03a7d5d63ae997d59100e362e_Flat Bar White Border.png", + "name": "Flat Bar White Border.png" + } } ], "resourceFolders": [] @@ -1806,6 +1806,7 @@ "assetStoreId": "", "name": "DialogBox", "type": "TwoChoicesDialogBoxes::TwoChoicesDialogBox", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -2863,7 +2864,8 @@ "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited.png", "align": "left", - "wordWrap": true + "wordWrap": true, + "verticalTextAlignment": "top" } }, { @@ -2900,13 +2902,15 @@ "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited.png", "align": "left", - "wordWrap": true + "wordWrap": true, + "verticalTextAlignment": "top" } }, { "assetStoreId": "9be1b0d0d5a1afad4537db989ea5e3a4a4564dfd123630a9bf61330a73803c63", "name": "ShadedDarkJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -4006,15 +4010,15 @@ { "angle": 0, "customSize": true, - "depth": 32, + "depth": 64, "height": 45, "layer": "", "name": "PlayerHealthBar", - "persistentUuid": "9cde94de-ddbf-4877-ae03-1b215c5b5386", + "persistentUuid": "b0fd4b2c-4d07-49aa-bbac-a92c04774ffc", "width": 300, "x": 207, "y": 88, - "zOrder": 12, + "zOrder": 14, "numberProperties": [], "stringProperties": [], "initialVariables": [] @@ -4022,15 +4026,15 @@ { "angle": 0, "customSize": true, - "depth": 32, + "depth": 85.71428571428571, "height": 45, "layer": "", "name": "EnemyHealthBar", - "persistentUuid": "53390a75-ebc1-4e35-88a2-0b8e656e3487", + "persistentUuid": "0da37aa3-3ba4-48c2-8cd2-a0e36f6f3b96", "width": 300, "x": 802, "y": 335, - "zOrder": 13, + "zOrder": 15, "numberProperties": [], "stringProperties": [], "initialVariables": [] @@ -4220,148 +4224,93 @@ ] }, { - "assetStoreId": "3d6c54e76a9a06cbd7629c1e78388d4ab808bbf36d644c61d6a14c9ad34d4f89", - "name": "PlayerHealthBar", - "type": "PanelSpriteContinuousBar::PanelSpriteContinuousBar", + "assetStoreId": "", + "name": "Dialogue", + "type": "BitmapText::BitmapTextObject", "variables": [], "effects": [], - "behaviors": [], - "content": { - "PreviousHighValueDuration": 0, - "ShowLabel": true, - "BarTopPadding": 4, - "BarBottomPadding": 6, - "BarLeftPadding": 4, - "BarRightPadding": 4, - "MaxValue": 100, - "InitialValue": 100 - }, - "childrenContent": { - "Background": { - "bottomMargin": 6, - "height": 34, - "leftMargin": 4, - "rightMargin": 4, - "texture": "Flat Bar White Border.png", - "tiled": true, - "topMargin": 6, - "width": 224 - }, - "Buffer": { - "bottomMargin": 0, - "height": 24, - "leftMargin": 0, - "rightMargin": 0, - "texture": "Flat Bar Red Fill Bar.png", - "tiled": true, - "topMargin": 0, - "width": 24 - }, - "FillBar": { - "bottomMargin": 0, - "height": 24, - "leftMargin": 0, - "rightMargin": 0, - "texture": "Flat Bar Red Fill Bar.png", - "tiled": true, - "topMargin": 0, - "width": 24 - }, - "Label": { - "bold": false, - "italic": false, - "smoothed": true, - "underlined": false, - "string": "100 / 100", - "font": "", - "textAlignment": "center", - "characterSize": 24, - "color": { - "b": 255, - "g": 255, - "r": 255 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "100 / 100", - "font": "", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 24, - "color": "255;255;255" - } + "behaviors": [ + { + "name": "AutoTyping", + "type": "AutoTyping::AutoTyping", + "Text": "Text", + "Interval": 0.05, + "CharacterJustAdded": false, + "FullText": "", + "TypedText": "" } + ], + "content": { + "text": "The battle begins.", + "opacity": 255, + "scale": 3, + "fontSize": 20, + "tint": "255;255;255", + "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", + "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited.png", + "align": "left", + "wordWrap": true, + "verticalTextAlignment": "top" } }, { - "assetStoreId": "3d6c54e76a9a06cbd7629c1e78388d4ab808bbf36d644c61d6a14c9ad34d4f89", - "name": "EnemyHealthBar", - "type": "PanelSpriteContinuousBar::PanelSpriteContinuousBar", + "assetStoreId": "", + "height": 32, + "name": "Grass", + "texture": "Grass1.png", + "type": "TiledSpriteObject::TiledSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "assetStoreId": "90d94b6e3a23c34948e59eaaef4679740f8ab588696d59b21e0c0c2ef106b94d", + "name": "Attack1", + "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "", "variables": [], "effects": [], "behaviors": [], "content": { - "PreviousHighValueDuration": 0, - "ShowLabel": true, - "BarTopPadding": 4, - "BarBottomPadding": 6, - "BarLeftPadding": 4, - "BarRightPadding": 4, - "MaxValue": 100, - "InitialValue": 100 + "LeftPadding": 8, + "RightPadding": 8, + "PressedLabelOffsetY": 0, + "IdleLabelOffsetY": -8, + "BottomPadding": 8, + "TopPadding": 8, + "MinimalWidth": 300 }, "childrenContent": { - "Background": { - "bottomMargin": 6, - "height": 34, - "leftMargin": 4, - "rightMargin": 4, - "texture": "Flat Bar White Border.png", - "tiled": true, - "topMargin": 6, - "width": 224 - }, - "Buffer": { - "bottomMargin": 0, - "height": 24, - "leftMargin": 0, - "rightMargin": 0, - "texture": "Flat Bar Red Fill Bar.png", + "Hovered": { + "bottomMargin": 8, + "height": 106, + "leftMargin": 8, + "rightMargin": 8, + "texture": "Border2.png", "tiled": true, - "topMargin": 0, - "width": 24 + "topMargin": 8, + "width": 256 }, - "FillBar": { - "bottomMargin": 0, - "height": 24, - "leftMargin": 0, - "rightMargin": 0, - "texture": "Flat Bar Red Fill Bar.png", + "Idle": { + "bottomMargin": 8, + "height": 106, + "leftMargin": 8, + "rightMargin": 8, + "texture": "Border.png", "tiled": true, - "topMargin": 0, - "width": 24 + "topMargin": 8, + "width": 256 }, "Label": { "bold": false, "italic": false, "smoothed": true, "underlined": false, - "string": "100 / 100", + "string": "Attack", "font": "", - "textAlignment": "center", - "characterSize": 24, + "textAlignment": "left", + "characterSize": 26, "color": { "b": 255, "g": 255, @@ -4381,60 +4330,31 @@ "shadowOpacity": 127, "smoothed": true, "underlined": false, - "text": "100 / 100", + "text": "Attack", "font": "", - "textAlignment": "center", + "textAlignment": "left", "verticalTextAlignment": "top", - "characterSize": 24, + "characterSize": 26, "color": "255;255;255" } + }, + "Pressed": { + "bottomMargin": 8, + "height": 106, + "leftMargin": 8, + "rightMargin": 8, + "texture": "Border2.png", + "tiled": true, + "topMargin": 8, + "width": 256 } } }, - { - "assetStoreId": "", - "name": "Dialogue", - "type": "BitmapText::BitmapTextObject", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "AutoTyping", - "type": "AutoTyping::AutoTyping", - "Text": "Text", - "Interval": 0.05, - "CharacterJustAdded": false, - "FullText": "", - "TypedText": "" - } - ], - "content": { - "text": "The battle begins.", - "opacity": 255, - "scale": 3, - "fontSize": 20, - "tint": "255;255;255", - "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", - "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited.png", - "align": "left", - "wordWrap": true - } - }, - { - "assetStoreId": "", - "height": 32, - "name": "Grass", - "texture": "Grass1.png", - "type": "TiledSpriteObject::TiledSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [] - }, { "assetStoreId": "90d94b6e3a23c34948e59eaaef4679740f8ab588696d59b21e0c0c2ef106b94d", - "name": "Attack1", + "name": "Attack2", "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -4473,7 +4393,7 @@ "italic": false, "smoothed": true, "underlined": false, - "string": "Attack", + "string": "Skill", "font": "", "textAlignment": "left", "characterSize": 26, @@ -4496,7 +4416,7 @@ "shadowOpacity": 127, "smoothed": true, "underlined": false, - "text": "Attack", + "text": "Skill", "font": "", "textAlignment": "left", "verticalTextAlignment": "top", @@ -4518,93 +4438,9 @@ }, { "assetStoreId": "90d94b6e3a23c34948e59eaaef4679740f8ab588696d59b21e0c0c2ef106b94d", - "name": "Attack2", - "type": "PanelSpriteButton::PanelSpriteButton", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "LeftPadding": 8, - "RightPadding": 8, - "PressedLabelOffsetY": 0, - "IdleLabelOffsetY": -8, - "BottomPadding": 8, - "TopPadding": 8, - "MinimalWidth": 300 - }, - "childrenContent": { - "Hovered": { - "bottomMargin": 8, - "height": 106, - "leftMargin": 8, - "rightMargin": 8, - "texture": "Border2.png", - "tiled": true, - "topMargin": 8, - "width": 256 - }, - "Idle": { - "bottomMargin": 8, - "height": 106, - "leftMargin": 8, - "rightMargin": 8, - "texture": "Border.png", - "tiled": true, - "topMargin": 8, - "width": 256 - }, - "Label": { - "bold": false, - "italic": false, - "smoothed": true, - "underlined": false, - "string": "Skill", - "font": "", - "textAlignment": "left", - "characterSize": 26, - "color": { - "b": 255, - "g": 255, - "r": 255 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Skill", - "font": "", - "textAlignment": "left", - "verticalTextAlignment": "top", - "characterSize": 26, - "color": "255;255;255" - } - }, - "Pressed": { - "bottomMargin": 8, - "height": 106, - "leftMargin": 8, - "rightMargin": 8, - "texture": "Border2.png", - "tiled": true, - "topMargin": 8, - "width": 256 - } - } - }, - { - "assetStoreId": "90d94b6e3a23c34948e59eaaef4679740f8ab588696d59b21e0c0c2ef106b94d", - "name": "Run", + "name": "Run", "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -4756,6 +4592,44 @@ "variables": [], "effects": [], "behaviors": [] + }, + { + "assetStoreId": "3d6c54e76a9a06cbd7629c1e78388d4ab808bbf36d644c61d6a14c9ad34d4f89", + "name": "PlayerHealthBar", + "type": "PanelSpriteContinuousBar::PanelSpriteContinuousBar", + "variant": "Big Red Flat Bar", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "PreviousHighValueDuration": 0, + "ShowLabel": true, + "BarTopPadding": 4, + "BarBottomPadding": 6, + "BarLeftPadding": 4, + "BarRightPadding": 4, + "MaxValue": 100, + "InitialValue": 100 + } + }, + { + "assetStoreId": "3d6c54e76a9a06cbd7629c1e78388d4ab808bbf36d644c61d6a14c9ad34d4f89", + "name": "EnemyHealthBar", + "type": "PanelSpriteContinuousBar::PanelSpriteContinuousBar", + "variant": "Big Red Flat Bar", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "PreviousHighValueDuration": 0, + "ShowLabel": true, + "BarTopPadding": 4, + "BarBottomPadding": 6, + "BarLeftPadding": 4, + "BarRightPadding": 4, + "MaxValue": 100, + "InitialValue": 100 + } } ], "objectsFolderStructure": { @@ -5679,6 +5553,7 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Top-down movement animator", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cGF0aCBkPSJNNiwyMS4xYy0wLjMsMC0wLjUtMC4xLTAuNy0wLjNsLTQtNC4xYy0wLjQtMC40LTAuNC0xLDAtMS40bDQtNC4xYzAuNC0wLjQsMS0wLjQsMS40LDBzMC40LDEsMCwxLjRMMy40LDE2bDMuMywzLjMNCgkJYzAuNCwwLjQsMC40LDEsMCwxLjRDNi42LDIxLDYuMywyMS4xLDYsMjEuMXoiLz4NCjwvZz4NCjxnPg0KCTxwYXRoIGQ9Ik0yNiwyMS4xYy0wLjMsMC0wLjUtMC4xLTAuNy0wLjNjLTAuNC0wLjQtMC40LTEsMC0xLjRsMy4zLTMuM2wtMy4zLTMuM2MtMC40LTAuNC0wLjQtMSwwLTEuNHMxLTAuNCwxLjQsMGw0LjEsNC4xDQoJCWMwLjIsMC4yLDAuMywwLjQsMC4zLDAuN3MtMC4xLDAuNS0wLjMsMC43bC00LjEsNC4xQzI2LjYsMjEsMjYuMywyMS4xLDI2LDIxLjF6Ii8+DQo8L2c+DQo8Zz4NCgk8cGF0aCBkPSJNMTYsMzEuMUwxNiwzMS4xYy0wLjMsMC0wLjUtMC4xLTAuNy0wLjNsLTQtNC4xYy0wLjQtMC40LTAuNC0xLDAtMS40czEtMC40LDEuNCwwbDMuMywzLjNsMy4zLTMuM2MwLjQtMC40LDEtMC40LDEuNCwwDQoJCXMwLjQsMSwwLDEuNGwtNC4xLDQuMUMxNi42LDMwLjksMTYuMywzMS4xLDE2LDMxLjF6Ii8+DQo8L2c+DQo8Zz4NCgk8cGF0aCBkPSJNMjAuMSw3Yy0wLjMsMC0wLjUtMC4xLTAuNy0wLjNMMTYsMy40bC0zLjMsMy4zYy0wLjQsMC40LTEsMC40LTEuNCwwcy0wLjQtMSwwLTEuNGw0LTQuMWMwLjQtMC40LDEtMC40LDEuNCwwbDQuMSw0LjENCgkJYzAuNCwwLjQsMC40LDEsMCwxLjRDMjAuNiw2LjksMjAuNCw3LDIwLjEsN3oiLz4NCjwvZz4NCjxnPg0KCTxwYXRoIGQ9Ik0xNiwzMGMtMC42LDAtMS0wLjQtMS0xVjNjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMXYyNkMxNywyOS42LDE2LjYsMzAsMTYsMzB6Ii8+DQo8L2c+DQo8Zz4NCgk8cGF0aCBkPSJNMjksMTdIMmMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMWgyN2MwLjYsMCwxLDAuNCwxLDFTMjkuNiwxNywyOSwxN3oiLz4NCjwvZz4NCjwvc3ZnPg0K", "name": "TopDownMovementAnimator", @@ -6503,8 +6378,6 @@ "value": "", "type": "Behavior", "label": "Animatable capability", - "description": "", - "group": "", "extraInformation": [ "AnimatableCapability::AnimatableBehavior" ], @@ -6514,8 +6387,6 @@ "value": "", "type": "Behavior", "label": "Top-down movement", - "description": "", - "group": "", "extraInformation": [ "TopDownMovementBehavior::TopDownMovementBehavior" ], @@ -6525,9 +6396,7 @@ "value": "true", "type": "Boolean", "label": "Scale animation according to speed", - "description": "", "group": "Animation", - "extraInformation": [], "name": "IsScalingAnimation" }, { @@ -6536,7 +6405,6 @@ "label": "Animation name", "description": "Animations must be called \"Walk0\", \"Walk1\"... for left, down...", "group": "Animation", - "extraInformation": [], "name": "AnimationName" }, { @@ -6546,7 +6414,6 @@ "label": "Number of directions", "description": "Leave to 0 to automatically use 8 when diagonals are allowed and 4 otherwise.", "group": "Direction", - "extraInformation": [], "name": "DirectionCount" }, { @@ -6556,16 +6423,12 @@ "label": "Angle offset", "description": "Set to 90°, \"Walk0\" becomes the animation for down.", "group": "Direction", - "extraInformation": [], "name": "AngleOffset" }, { "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "AnimationDirection" } @@ -6575,9 +6438,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "NewAnimationDirection" }, @@ -6585,9 +6445,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "AnimationFrame" } @@ -6601,6 +6458,7 @@ "category": "Input", "extensionNamespace": "", "fullName": "Two choices dialog boxes", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjMiIHkxPSIxMSIgeDI9IjI5IiB5Mj0iMTEiLz4NCjxnPg0KCTxwYXRoIGQ9Ik03LDlDNi43LDksNi41LDguOSw2LjMsOC43QzYuMSw4LjUsNiw4LjMsNiw4YzAtMC4zLDAuMS0wLjUsMC4zLTAuN2MwLDAsMC4xLTAuMSwwLjEtMC4xYzAuMSwwLDAuMS0wLjEsMC4yLTAuMQ0KCQlDNi43LDcsNi43LDcsNi44LDdjMC4xLDAsMC4zLDAsMC40LDBjMC4xLDAsMC4xLDAsMC4yLDAuMWMwLjEsMCwwLjEsMC4xLDAuMiwwLjFjMCwwLDAuMSwwLjEsMC4xLDAuMWMwLjEsMC4xLDAuMiwwLjIsMC4yLDAuMw0KCQlDOCw3LjcsOCw3LjksOCw4YzAsMC4xLDAsMC4zLTAuMSwwLjRDNy45LDguNSw3LjgsOC42LDcuNyw4LjdDNy41LDguOSw3LjMsOSw3LDl6Ii8+DQo8L2c+DQo8Zz4NCgk8cGF0aCBkPSJNMTAsOUM5LjcsOSw5LjUsOC45LDkuMyw4LjdDOS4xLDguNSw5LDguMyw5LDhjMC0wLjEsMC0wLjMsMC4xLTAuNGMwLjEtMC4xLDAuMS0wLjIsMC4yLTAuM2MwLjEtMC4xLDAuMi0wLjIsMC4zLTAuMg0KCQlDMTAsNi45LDEwLjQsNywxMC43LDcuM2MwLjEsMC4xLDAuMiwwLjIsMC4yLDAuM0MxMSw3LjcsMTEsNy45LDExLDhjMCwwLjMtMC4xLDAuNS0wLjMsMC43QzEwLjUsOC45LDEwLjMsOSwxMCw5eiIvPg0KPC9nPg0KPGc+DQoJPHBhdGggZD0iTTEzLDljLTAuMSwwLTAuMywwLTAuNC0wLjFjLTAuMS0wLjEtMC4yLTAuMS0wLjMtMC4yYy0wLjEtMC4xLTAuMi0wLjItMC4yLTAuM0MxMiw4LjMsMTIsOC4xLDEyLDhjMC0wLjEsMC0wLjMsMC4xLTAuNA0KCQljMC4xLTAuMSwwLjEtMC4yLDAuMi0wLjNjMC40LTAuNCwxLTAuNCwxLjQsMGMwLjEsMC4xLDAuMiwwLjIsMC4yLDAuM0MxNCw3LjcsMTQsNy45LDE0LDhjMCwwLjEsMCwwLjMtMC4xLDAuNA0KCQljLTAuMSwwLjEtMC4xLDAuMi0wLjIsMC4zQzEzLjUsOC45LDEzLjMsOSwxMyw5eiIvPg0KPC9nPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI3LDVINUMzLjksNSwzLDUuOSwzLDd2MThjMCwxLjEsMC45LDIsMiwyaDIyYzEuMSwwLDItMC45LDItMlY3QzI5LDUuOSwyOC4xLDUsMjcsNXoiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMywyM0g5Yy0xLjEsMC0yLTAuOS0yLTJ2LTRjMC0xLjEsMC45LTIsMi0yaDE0YzEuMSwwLDIsMC45LDIsMnY0QzI1LDIyLjEsMjQuMSwyMywyMywyM3oiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjE1LDE5IDE2LDIwIDE4LDE4ICIvPg0KPC9zdmc+DQo=", "name": "TwoChoicesDialogBoxes", @@ -6646,172 +6504,597 @@ "isTextContainer": true, "isUsingLegacyInstancesRenderer": false, "name": "TwoChoicesDialogBox", - "eventsFunctions": [ + "objects": [ { - "fullName": "", - "functionType": "Action", - "name": "onCreated", - "sentence": "", - "events": [ + "assetStoreId": "90d94b6e3a23c34948e59eaaef4679740f8ab588696d59b21e0c0c2ef106b94d", + "name": "NoButton", + "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "", + "variables": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "EffectCapability::EffectBehavior::EnableEffect" - }, - "parameters": [ - "Buttons", - "Effect", - "\"OutlineEffect\"", - "" - ] - }, - { - "type": { - "value": "TextContainerCapability::TextContainerBehavior::SetValue" - }, - "parameters": [ - "Object", - "Text", - "=", - "TextMessage" - ] - }, - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::SetLabelText" - }, - "parameters": [ - "YesButton", - "LabelButtonID0", - "" - ] - }, - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::SetLabelText" - }, - "parameters": [ - "NoButton", - "LabelButtonID1", - "" - ] - } - ] + "name": "ID", + "type": "number", + "value": 0 } ], - "parameters": [ + "effects": [ { - "description": "Object", - "name": "Object", - "supplementaryInformation": "TwoChoicesDialogBoxes::TwoChoicesDialogBox", - "type": "object" + "effectType": "Outline", + "name": "OutlineEffect", + "doubleParameters": { + "padding": 0, + "thickness": 2 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} } ], - "objectGroups": [] + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 0, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 0, + "useLegacyBottomAndRightAnchors": false + } + ], + "content": { + "LeftPadding": 8, + "RightPadding": 8, + "PressedLabelOffsetY": 0, + "IdleLabelOffsetY": -8, + "BottomPadding": 8, + "TopPadding": 8, + "MinimalWidth": 300 + }, + "childrenContent": { + "Hovered": { + "bottomMargin": 8, + "height": 106, + "leftMargin": 8, + "rightMargin": 8, + "texture": "Border2.png", + "tiled": true, + "topMargin": 8, + "width": 256 + }, + "Idle": { + "bottomMargin": 8, + "height": 106, + "leftMargin": 8, + "rightMargin": 8, + "texture": "Border.png", + "tiled": true, + "topMargin": 8, + "width": 256 + }, + "Label": { + "bold": false, + "italic": false, + "smoothed": true, + "underlined": false, + "string": "No", + "font": "", + "textAlignment": "center", + "characterSize": 26, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "No", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "top", + "characterSize": 26, + "color": "255;255;255" + } + }, + "Pressed": { + "bottomMargin": 8, + "height": 106, + "leftMargin": 8, + "rightMargin": 8, + "texture": "Border2.png", + "tiled": true, + "topMargin": 8, + "width": 256 + } + } }, { - "fullName": "", - "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", - "events": [ + "assetStoreId": "90d94b6e3a23c34948e59eaaef4679740f8ab588696d59b21e0c0c2ef106b94d", + "name": "YesButton", + "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "", + "variables": [ { - "type": "BuiltinCommonInstructions::Comment", + "name": "ID", + "type": "number", + "value": 0 + } + ], + "effects": [ + { + "effectType": "Outline", + "name": "OutlineEffect", + "doubleParameters": { + "padding": 0, + "thickness": 2 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 0, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 0, + "useLegacyBottomAndRightAnchors": false + } + ], + "content": { + "LeftPadding": 8, + "RightPadding": 8, + "PressedLabelOffsetY": 0, + "IdleLabelOffsetY": -8, + "BottomPadding": 8, + "TopPadding": 8, + "MinimalWidth": 300 + }, + "childrenContent": { + "Hovered": { + "bottomMargin": 8, + "height": 106, + "leftMargin": 8, + "rightMargin": 8, + "texture": "Border2.png", + "tiled": true, + "topMargin": 8, + "width": 256 + }, + "Idle": { + "bottomMargin": 8, + "height": 106, + "leftMargin": 8, + "rightMargin": 8, + "texture": "Border.png", + "tiled": true, + "topMargin": 8, + "width": 256 + }, + "Label": { + "bold": false, + "italic": false, + "smoothed": true, + "underlined": false, + "string": "Yes", + "font": "", + "textAlignment": "center", + "characterSize": 26, "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "b": 255, + "g": 255, + "r": 255 }, - "comment": "Gamepad, mouse, touch and keyboard are fully supported.\nEach action from a device increment or decrement an index that is used to focus the active button, make outlines and trigger a sound effect." + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Yes", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "top", + "characterSize": 26, + "color": "255;255;255" + } }, + "Pressed": { + "bottomMargin": 8, + "height": 106, + "leftMargin": 8, + "rightMargin": 8, + "texture": "Border2.png", + "tiled": true, + "topMargin": 8, + "width": 256 + } + } + }, + { + "assetStoreId": "", + "bottomMargin": 16, + "height": 48, + "leftMargin": 16, + "name": "TextBorder", + "rightMargin": 16, + "texture": "Border.png", + "tiled": true, + "topMargin": 16, + "type": "PanelSpriteObject::PanelSprite", + "width": 48, + "variables": [], + "effects": [], + "behaviors": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Visible" - }, - "parameters": [ - "Object" - ] - } - ], - "actions": [ - { - "type": { - "value": "TextContainerCapability::TextContainerBehavior::SetValue" - }, - "parameters": [ - "Dialogue", - "Text", - "=", - "Object.Text::Value()" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteButton::PanelSpriteButton::IsHovered" - }, - "parameters": [ - "Buttons", - "" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "PlaySound" - }, - "parameters": [ - "", - "HoverSound.wav", - "", - "20", - "RandomFloatInRange(0.8,0.9)" - ] - }, - { - "type": { - "value": "TwoChoicesDialogBoxes::TwoChoicesDialogBox::SetActiveButtonById" - }, - "parameters": [ - "Object", - "=", - "Buttons.ID", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + }, + { + "assetStoreId": "", + "name": "Dialogue", + "type": "BitmapText::BitmapTextObject", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ], + "content": { + "text": "Default message. Continue?", + "opacity": 255, + "scale": 2, + "fontSize": 20, + "tint": "255;255;255", + "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", + "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited.png", + "align": "left", + "wordWrap": true, + "verticalTextAlignment": "top" + } + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Dialogue" + }, + { + "objectName": "TextBorder" + }, + { + "objectName": "YesButton" + }, + { + "objectName": "NoButton" + } + ] + }, + "objectsGroups": [ + { + "name": "Buttons", + "objects": [ + { + "name": "NoButton" + }, + { + "name": "YesButton" + } + ] + } + ], + "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": [ + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 124, + "layer": "", + "name": "Dialogue", + "persistentUuid": "c7183394-9ca6-4c16-9d13-f0b7cfe803d8", + "width": 554, + "x": 19, + "y": 18, + "zOrder": 45, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 213, + "layer": "", + "name": "TextBorder", + "persistentUuid": "639d5661-817d-4faa-b33b-c0ff129c309a", + "width": 600, + "x": 0, + "y": 0, + "zOrder": 43, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 32, + "height": 36, + "layer": "", + "name": "YesButton", + "persistentUuid": "a0ca78d3-0a23-4bbe-89de-fb2d0a53996c", + "width": 105, + "x": 350, + "y": 160, + "zOrder": 510, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 32, + "height": 36, + "layer": "", + "name": "NoButton", + "persistentUuid": "6781aafa-3ae9-4820-bb97-682a524a0cf6", + "width": 103, + "x": 471, + "y": 160, + "zOrder": 510, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [ + { + "name": "ID", + "persistentUuid": "bb563dbe-93eb-4412-b843-f60016b9a893", + "type": "number", + "value": 1 + } + ] + } + ], + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "onCreated", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "EffectCapability::EffectBehavior::EnableEffect" + }, + "parameters": [ + "Buttons", + "Effect", + "\"OutlineEffect\"", + "" + ] + }, + { + "type": { + "value": "TextContainerCapability::TextContainerBehavior::SetValue" + }, + "parameters": [ + "Object", + "Text", + "=", + "TextMessage" + ] + }, + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::SetLabelText" + }, + "parameters": [ + "YesButton", + "LabelButtonID0", + "" + ] + }, + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::SetLabelText" + }, + "parameters": [ + "NoButton", + "LabelButtonID1", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "TwoChoicesDialogBoxes::TwoChoicesDialogBox", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Gamepad, mouse, touch and keyboard are fully supported.\nEach action from a device increment or decrement an index that is used to focus the active button, make outlines and trigger a sound effect." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Visible" + }, + "parameters": [ + "Object" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextContainerCapability::TextContainerBehavior::SetValue" + }, + "parameters": [ + "Dialogue", + "Text", + "=", + "Object.Text::Value()" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::IsHovered" + }, + "parameters": [ + "Buttons", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "HoverSound.wav", + "", + "20", + "RandomFloatInRange(0.8,0.9)" + ] + }, + { + "type": { + "value": "TwoChoicesDialogBoxes::TwoChoicesDialogBox::SetActiveButtonById" + }, + "parameters": [ + "Object", + "=", + "Buttons.ID", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { "value": "KeyPressed" }, "parameters": [ @@ -7583,9 +7866,6 @@ "value": "Default message. Continue?", "type": "String", "label": "Message", - "description": "", - "group": "", - "extraInformation": [], "name": "TextMessage" }, { @@ -7594,8 +7874,6 @@ "unit": "Dimensionless", "label": "Default highlighted button identifier", "description": "Default highlighted button identifier.", - "group": "", - "extraInformation": [], "deprecated": true, "name": "ActiveButtonById" }, @@ -7604,8 +7882,6 @@ "type": "Boolean", "label": "Cancel with Escape key", "description": "Enable or disable the escape key to close the dialog.", - "group": "", - "extraInformation": [], "name": "EnableEscape" }, { @@ -7613,8 +7889,6 @@ "type": "String", "label": "Label for the \"Yes\" button", "description": "This is the button with identifier 0.", - "group": "", - "extraInformation": [], "name": "LabelButtonID0" }, { @@ -7622,433 +7896,10 @@ "type": "String", "label": "Label for the \"No\" button", "description": "This is the button with identifier 1.", - "group": "", - "extraInformation": [], "name": "LabelButtonID1" } ], - "objects": [ - { - "assetStoreId": "90d94b6e3a23c34948e59eaaef4679740f8ab588696d59b21e0c0c2ef106b94d", - "name": "NoButton", - "type": "PanelSpriteButton::PanelSpriteButton", - "variables": [ - { - "name": "ID", - "type": "number", - "value": 0 - } - ], - "effects": [ - { - "effectType": "Outline", - "name": "OutlineEffect", - "doubleParameters": { - "padding": 0, - "thickness": 2 - }, - "stringParameters": { - "color": "255;255;255" - }, - "booleanParameters": {} - } - ], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 0, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 0, - "useLegacyBottomAndRightAnchors": false - } - ], - "content": { - "LeftPadding": 8, - "RightPadding": 8, - "PressedLabelOffsetY": 0, - "IdleLabelOffsetY": -8, - "BottomPadding": 8, - "TopPadding": 8, - "MinimalWidth": 300 - }, - "childrenContent": { - "Hovered": { - "bottomMargin": 8, - "height": 106, - "leftMargin": 8, - "rightMargin": 8, - "texture": "Border2.png", - "tiled": true, - "topMargin": 8, - "width": 256 - }, - "Idle": { - "bottomMargin": 8, - "height": 106, - "leftMargin": 8, - "rightMargin": 8, - "texture": "Border.png", - "tiled": true, - "topMargin": 8, - "width": 256 - }, - "Label": { - "bold": false, - "italic": false, - "smoothed": true, - "underlined": false, - "string": "No", - "font": "", - "textAlignment": "center", - "characterSize": 26, - "color": { - "b": 255, - "g": 255, - "r": 255 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "No", - "font": "", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 26, - "color": "255;255;255" - } - }, - "Pressed": { - "bottomMargin": 8, - "height": 106, - "leftMargin": 8, - "rightMargin": 8, - "texture": "Border2.png", - "tiled": true, - "topMargin": 8, - "width": 256 - } - } - }, - { - "assetStoreId": "90d94b6e3a23c34948e59eaaef4679740f8ab588696d59b21e0c0c2ef106b94d", - "name": "YesButton", - "type": "PanelSpriteButton::PanelSpriteButton", - "variables": [ - { - "name": "ID", - "type": "number", - "value": 0 - } - ], - "effects": [ - { - "effectType": "Outline", - "name": "OutlineEffect", - "doubleParameters": { - "padding": 0, - "thickness": 2 - }, - "stringParameters": { - "color": "255;255;255" - }, - "booleanParameters": {} - } - ], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 0, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 0, - "useLegacyBottomAndRightAnchors": false - } - ], - "content": { - "LeftPadding": 8, - "RightPadding": 8, - "PressedLabelOffsetY": 0, - "IdleLabelOffsetY": -8, - "BottomPadding": 8, - "TopPadding": 8, - "MinimalWidth": 300 - }, - "childrenContent": { - "Hovered": { - "bottomMargin": 8, - "height": 106, - "leftMargin": 8, - "rightMargin": 8, - "texture": "Border2.png", - "tiled": true, - "topMargin": 8, - "width": 256 - }, - "Idle": { - "bottomMargin": 8, - "height": 106, - "leftMargin": 8, - "rightMargin": 8, - "texture": "Border.png", - "tiled": true, - "topMargin": 8, - "width": 256 - }, - "Label": { - "bold": false, - "italic": false, - "smoothed": true, - "underlined": false, - "string": "Yes", - "font": "", - "textAlignment": "center", - "characterSize": 26, - "color": { - "b": 255, - "g": 255, - "r": 255 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Yes", - "font": "", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 26, - "color": "255;255;255" - } - }, - "Pressed": { - "bottomMargin": 8, - "height": 106, - "leftMargin": 8, - "rightMargin": 8, - "texture": "Border2.png", - "tiled": true, - "topMargin": 8, - "width": 256 - } - } - }, - { - "assetStoreId": "", - "bottomMargin": 16, - "height": 48, - "leftMargin": 16, - "name": "TextBorder", - "rightMargin": 16, - "texture": "Border.png", - "tiled": true, - "topMargin": 16, - "type": "PanelSpriteObject::PanelSprite", - "width": 48, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 1, - "useLegacyBottomAndRightAnchors": false - } - ] - }, - { - "assetStoreId": "", - "name": "Dialogue", - "type": "BitmapText::BitmapTextObject", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 2, - "leftEdgeAnchor": 1, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 2, - "topEdgeAnchor": 1, - "useLegacyBottomAndRightAnchors": false - } - ], - "content": { - "text": "Default message. Continue?", - "opacity": 255, - "scale": 2, - "fontSize": 20, - "tint": "255;255;255", - "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", - "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited.png", - "align": "left", - "wordWrap": true - } - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Dialogue" - }, - { - "objectName": "TextBorder" - }, - { - "objectName": "YesButton" - }, - { - "objectName": "NoButton" - } - ] - }, - "objectsGroups": [ - { - "name": "Buttons", - "objects": [ - { - "name": "NoButton" - }, - { - "name": "YesButton" - } - ] - } - ], - "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": [ - { - "angle": 0, - "customSize": true, - "depth": 1, - "height": 124, - "layer": "", - "name": "Dialogue", - "persistentUuid": "c7183394-9ca6-4c16-9d13-f0b7cfe803d8", - "width": 554, - "x": 19, - "y": 18, - "zOrder": 45, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "depth": 0, - "height": 213, - "layer": "", - "name": "TextBorder", - "persistentUuid": "639d5661-817d-4faa-b33b-c0ff129c309a", - "width": 600, - "x": 0, - "y": 0, - "zOrder": 43, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "depth": 32, - "height": 36, - "layer": "", - "name": "YesButton", - "persistentUuid": "a0ca78d3-0a23-4bbe-89de-fb2d0a53996c", - "width": 105, - "x": 350, - "y": 160, - "zOrder": 510, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "depth": 32, - "height": 36, - "layer": "", - "name": "NoButton", - "persistentUuid": "6781aafa-3ae9-4820-bb97-682a524a0cf6", - "width": 103, - "x": 471, - "y": 160, - "zOrder": 510, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [ - { - "name": "ID", - "persistentUuid": "bb563dbe-93eb-4412-b843-f60016b9a893", - "type": "number", - "value": 1 - } - ] - } - ] + "variants": [] } ] }, @@ -8057,6 +7908,7 @@ "category": "Input", "extensionNamespace": "", "fullName": "Multitouch joystick and buttons (sprite)", + "gdevelopVersion": "", "helpPath": "/objects/multitouch-joystick", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMTYiIGN5PSIxNiIgcj0iMTMiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjI4LjQsMTIgMjAsMTIgMjAsMy42ICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMjAsMjguNCAyMCwyMCAyOC40LDIwICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMy42LDIwIDEyLDIwIDEyLDI4LjQgIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIxMiwzLjYgMTIsMTIgMy42LDEyICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxNiw2IDE2LjcsNyAxNS4zLDcgIi8+DQo8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjE2LDI2IDE1LjMsMjUgMTYuNywyNSAiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iNiwxNiA3LDE1LjMgNywxNi43ICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyNiwxNiAyNSwxNi43IDI1LDE1LjMgIi8+DQo8L3N2Zz4NCg==", "name": "SpriteMultitouchJoystick", @@ -11093,18 +10945,12 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "String", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": [], "name": "JoystickIdentifier" }, { @@ -11112,17 +10958,12 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { "value": "0", "type": "Number", "label": "Joystick angle (range: -180 to 180)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickAngle" }, @@ -11130,9 +10971,6 @@ "value": "0", "type": "Number", "label": "Joystick force (range: 0 to 1)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickForce" }, @@ -11140,9 +10978,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -11150,9 +10985,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" } @@ -11550,27 +11382,18 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "A", "type": "String", "label": "Button identifier", - "description": "", - "group": "", - "extraInformation": [], "name": "ButtonIdentifier" }, { "value": "0", "type": "Number", "label": "TouchID", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -11578,9 +11401,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" }, @@ -11588,9 +11408,6 @@ "value": "", "type": "Boolean", "label": "Button released", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsReleased" }, @@ -11600,8 +11417,6 @@ "unit": "Pixel", "label": "Triggering circle radius", "description": "This circle adds up to the object collision mask.", - "group": "", - "extraInformation": [], "name": "Radius" } ], @@ -11789,8 +11604,6 @@ "value": "", "type": "Behavior", "label": "Platform character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], @@ -11800,16 +11613,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -11821,9 +11630,7 @@ "value": "A", "type": "String", "label": "Jump button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "JumpButton" } ], @@ -11932,8 +11739,6 @@ "value": "", "type": "Behavior", "label": "3D physics character", - "description": "", - "group": "", "extraInformation": [ "Physics3D::PhysicsCharacter3D" ], @@ -11943,16 +11748,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Walk joystick", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -11964,9 +11765,7 @@ "value": "A", "type": "String", "label": "Jump button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "JumpButton" } ], @@ -12064,8 +11863,6 @@ "value": "", "type": "Behavior", "label": "3D physics character", - "description": "", - "group": "", "extraInformation": [ "Physics3D::PhysicsCharacter3D" ], @@ -12075,16 +11872,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Walk joystick", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -12096,9 +11889,7 @@ "value": "A", "type": "String", "label": "Jump button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "JumpButton" } ], @@ -13029,8 +12820,6 @@ "value": "", "type": "Behavior", "label": "3D capability", - "description": "", - "group": "", "extraInformation": [ "Scene3D::Base3DBehavior" ], @@ -13040,16 +12829,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Secondary", "type": "Choice", "label": "Camera joystick", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -13062,27 +12847,21 @@ "type": "Number", "unit": "AngularSpeed", "label": "Maximum rotation speed", - "description": "", "group": "Horizontal rotation", - "extraInformation": [], "name": "HorizontalRotationSpeedMax" }, { "value": "360", "type": "Number", "label": "Rotation acceleration", - "description": "", "group": "Horizontal rotation", - "extraInformation": [], "name": "HorizontalRotationAcceleration" }, { "value": "720", "type": "Number", "label": "Rotation deceleration", - "description": "", "group": "Horizontal rotation", - "extraInformation": [], "name": "HorizontalRotationDeceleration" }, { @@ -13090,27 +12869,21 @@ "type": "Number", "unit": "AngularSpeed", "label": "Maximum rotation speed", - "description": "", "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" }, { @@ -13118,9 +12891,7 @@ "type": "Number", "unit": "DegreeAngle", "label": "Minimum angle", - "description": "", "group": "Vertical rotation", - "extraInformation": [], "name": "VerticalAngleMin" }, { @@ -13128,9 +12899,7 @@ "type": "Number", "unit": "DegreeAngle", "label": "Maximum angle", - "description": "", "group": "Vertical rotation", - "extraInformation": [], "name": "VerticalAngleMax" }, { @@ -13138,9 +12907,7 @@ "type": "Number", "unit": "Pixel", "label": "Z position offset", - "description": "", "group": "Position", - "extraInformation": [], "name": "OffsetZ" }, { @@ -13148,9 +12915,6 @@ "type": "Number", "unit": "AngularSpeed", "label": "Current rotation speed Z", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CurrentRotationSpeedZ" }, @@ -13159,9 +12923,6 @@ "type": "Number", "unit": "AngularSpeed", "label": "Current rotation speed Y", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CurrentRotationSpeedY" } @@ -13683,8 +13444,6 @@ "value": "", "type": "Behavior", "label": "Top-down movement behavior", - "description": "", - "group": "", "extraInformation": [ "TopDownMovementBehavior::TopDownMovementBehavior" ], @@ -13694,17 +13453,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", "extraInformation": [ "Primary", "Secondary" @@ -13715,7 +13469,6 @@ "value": "Analog", "type": "Choice", "label": "Stick mode", - "description": "", "group": "Controls", "extraInformation": [ "Analog", @@ -13741,6 +13494,110 @@ "fullName": "Multitouch Joystick", "isUsingLegacyInstancesRenderer": true, "name": "SpriteMultitouchJoystick", + "objects": [ + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Thumb", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [] + } + ] + } + ] + }, + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Border", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "MultitouchJoystick", + "type": "SpriteMultitouchJoystick::MultitouchJoystick", + "ControllerIdentifier": 1, + "JoystickIdentifier": "Primary", + "FloatingEnabled": false, + "DeadZoneRadius": 0.4, + "JoystickAngle": 0, + "JoystickForce": 0, + "TouchId": 0, + "TouchIndex": 0 + } + ], + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [] + } + ] + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Thumb" + }, + { + "objectName": "Border" + } + ] + }, + "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": [], "eventsFunctions": [ { "fullName": "", @@ -14849,17 +14706,12 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", "extraInformation": [ "Primary", "Secondary" @@ -14871,8 +14723,6 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { @@ -14880,7 +14730,6 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], @@ -14892,8 +14741,6 @@ "type": "Number", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ThumbAnchorTarget" }, @@ -14902,7 +14749,6 @@ "type": "Boolean", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], @@ -14914,8 +14760,6 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ParentOrigin" }, @@ -14923,117 +14767,11 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ShouldBeHiddenWhenReleased" } ], - "objects": [ - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Thumb", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [] - } - ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Border", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "MultitouchJoystick", - "type": "SpriteMultitouchJoystick::MultitouchJoystick", - "ControllerIdentifier": 1, - "JoystickIdentifier": "Primary", - "FloatingEnabled": false, - "DeadZoneRadius": 0.4, - "JoystickAngle": 0, - "JoystickForce": 0, - "TouchId": 0, - "TouchIndex": 0 - } - ], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [] - } - ] - } - ] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Thumb" - }, - { - "objectName": "Border" - } - ] - }, - "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": [] + "variants": [] } ] }, @@ -15042,12 +14780,13 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Resource bar (continuous)", + "gdevelopVersion": ">=5.5.230", "helpPath": "/objects/resource-bar", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBkPSJNMjgsMTJIMTRINGMtMi4yLDAtNCwxLjgtNCw0czEuOCw0LDQsNGgxMGgxNGMyLjIsMCw0LTEuOCw0LTRTMzAuMiwxMiwyOCwxMnogTTQsMThjLTEuMSwwLTItMC45LTItMnMwLjktMiwyLTJoMTANCgljMS4xLDAsMiwwLjksMiwycy0wLjksMi0yLDJINHoiLz4NCjwvc3ZnPg0K", "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.2.0", + "version": "2.0.0", "description": [ "A bar that represents a resource in the game (health, mana, ammo, etc).", "", @@ -15072,6 +14811,12 @@ "gqDaZjCfevOOxBYkK6zlhtZnXCg1", "q8ubdigLvIRXLxsJDDTaokO41mc2" ], + "changelog": [ + { + "version": "2.0.0", + "breaking": "- Resource bars now use \"variants\", allowing easy swapping of their visual aspect. You will have to make some adjustments to existing resource bars in your project. Follow this [migration documentation](https://wiki.gdevelop.io/gdevelop5/objects/custom-objects-prefab-template/migrate-to-variants/) to do these changes." + } + ], "dependencies": [], "globalVariables": [], "sceneVariables": [], @@ -15163,7 +14908,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Value" + "CurrentValue" ] } ] @@ -15203,7 +14948,7 @@ "value": "SetNumberVariable" }, "parameters": [ - "Value", + "CurrentValue", "=", "clamp(Value, 0, Object.Behavior::MaxValue())" ] @@ -15374,7 +15119,7 @@ "value": "NumberVariable" }, "parameters": [ - "Value", + "CurrentValue", "=", "0" ] @@ -15422,7 +15167,7 @@ "value": "NumberVariable" }, "parameters": [ - "Value", + "CurrentValue", "=", "MaxValue" ] @@ -15513,7 +15258,7 @@ "parameters": [ "PreviousHighValue", "=", - "Value" + "CurrentValue" ] } ] @@ -15626,14 +15371,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PreviousHighValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousHighValue", "!=", - "Value", - "" + "CurrentValue" ] }, { @@ -15681,27 +15424,18 @@ "value": "1", "type": "Number", "label": "Value", - "description": "", - "group": "", - "extraInformation": [], - "name": "Value" + "name": "CurrentValue" }, { "value": "3", "type": "Number", "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxValue" }, { "value": "", "type": "Number", "label": "Previous high value", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "PreviousHighValue" }, @@ -15709,9 +15443,7 @@ "value": "1", "type": "Number", "label": "Previous high value conservation duration (in seconds)", - "description": "", - "group": "", - "extraInformation": [], + "hidden": true, "name": "PreviousHighValueDuration" } ], @@ -15720,7 +15452,7 @@ ], "eventsBasedObjects": [ { - "areaMaxX": 64, + "areaMaxX": 256, "areaMaxY": 64, "areaMaxZ": 64, "areaMinX": 0, @@ -15729,8 +15461,275 @@ "defaultName": "ResourceBar", "description": "A bar that represents a resource in the game (health, mana, ammo, etc).", "fullName": "Resource bar (continuous)", - "isUsingLegacyInstancesRenderer": true, + "isInnerAreaFollowingParentSize": true, + "isUsingLegacyInstancesRenderer": false, "name": "PanelSpriteContinuousBar", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "leftEdgeAnchor": 4, + "rightEdgeAnchor": 4, + "topEdgeAnchor": 4, + "relativeToOriginalWindowSize": true, + "useLegacyBottomAndRightAnchors": false + } + ], + "string": "2 / 3", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "2 / 3", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 20, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ResourceBar", + "type": "PanelSpriteContinuousBar::ResourceBar", + "Value": 1, + "MaxValue": 3, + "PreviousValue": 0, + "CurrentValue": 1 + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Buffer", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Background", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Buffer" + }, + { + "objectName": "Background" + } + ] + }, + "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": [ + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 64, + "layer": "", + "name": "Background", + "persistentUuid": "fa2b0c42-1baa-489d-9c47-87ec233cbe8c", + "width": 256, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 44, + "layer": "", + "name": "Buffer", + "persistentUuid": "6e01eec9-ca43-4a5c-b4e1-4d9d384473e2", + "width": 236, + "x": 10, + "y": 10, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 44, + "layer": "", + "name": "FillBar", + "persistentUuid": "4833affb-a8d1-4a2b-9019-a20cf5fdc68e", + "width": 196, + "x": 10, + "y": 10, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 64, + "layer": "", + "name": "Label", + "persistentUuid": "0e63f21c-2071-4765-8254-e9021fa84ec4", + "width": 256, + "x": 0, + "y": 32, + "zOrder": 4, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], "eventsFunctions": [ { "fullName": "", @@ -15748,7 +15747,7 @@ "textG": 0, "textR": 0 }, - "comment": "This allows to detect a change of \"intial value\" on hot reload." + "comment": "Anchors won't work as there is an absolute margin and a proportional size at the same time" }, { "type": "BuiltinCommonInstructions::Standard", @@ -15756,12 +15755,100 @@ "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "ActivateBehavior" }, "parameters": [ - "PreviousInitialValue", - "=", - "Object.PropertyInitialValue()" + "FillBar", + "Anchor", + "" + ] + }, + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "Buffer", + "Anchor", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Buffer", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarLeftPlusRightMargin", + "=", + "Object.Width() - (max(FillBar.BoundingBoxRight(), Buffer.BoundingBoxRight()) - min(FillBar.BoundingBoxLeft(), Buffer.BoundingBoxLeft()))" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarTopPlusBottomMargin", + "=", + "Object.Height() - (max(FillBar.BoundingBoxBottom(), Buffer.BoundingBoxBottom()) - min(FillBar.BoundingBoxTop(), Buffer.BoundingBoxTop()))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Buffer", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarLeftPlusRightMargin", + "=", + "Object.Width() - (FillBar.BoundingBoxRight() - FillBar.BoundingBoxLeft())" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarTopPlusBottomMargin", + "=", + "Object.Height() - (FillBar.BoundingBoxBottom() - FillBar.BoundingBoxTop())" + ] + } ] } ] @@ -15776,7 +15863,7 @@ "textG": 0, "textR": 0 }, - "comment": "Create the child-object instances." + "comment": "This allows to detect a change of \"intial value\" on hot reload." }, { "type": "BuiltinCommonInstructions::Standard", @@ -15784,50 +15871,28 @@ "actions": [ { "type": { - "value": "Create" - }, - "parameters": [ - "", - "Background", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "FillBar", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Background", - "=", - "1" - ] - }, - { - "type": { - "value": "ChangePlan" + "value": "SetNumberVariable" }, "parameters": [ - "FillBar", + "PreviousInitialValue", "=", - "3" + "InitialValue" ] } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create the child-object instances." + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -15837,7 +15902,7 @@ }, "parameters": [ "PreviousHighValueDuration", - ">", + "=", "0" ] } @@ -15845,25 +15910,12 @@ "actions": [ { "type": { - "value": "Create" + "value": "Delete" }, "parameters": [ - "", "Buffer", - "0", - "0", "" ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Buffer", - "=", - "2" - ] } ] }, @@ -15879,52 +15931,6 @@ }, "comment": "Create the label over the bar." }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Label", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Label", - "=", - "4" - ] - }, - { - "type": { - "value": "TextObject::SetTextAlignment" - }, - "parameters": [ - "Label", - "\"center\"" - ] - }, - { - "type": { - "value": "TextObject::SetWrapping" - }, - "parameters": [ - "Label", - "yes" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -15974,50 +15980,62 @@ "parameters": [ "Object", "=", - "Object.PropertyMaxValue()", + "MaxValue", "Object.PropertyMaxValue()" ] }, { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetValue" + "value": "PanelSpriteContinuousBar::ResourceBar::SetValue" }, "parameters": [ - "Object", + "FillBar", + "ResourceBar", "=", - "Object.PropertyInitialValue()", - "Object.PropertyInitialValue()" + "InitialValue", + "" ] }, { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPreviousValueDuration" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ - "Object", + "FillBar", + "Resizable", "=", - "Object.PropertyPreviousHighValueDuration()", - "" + "Object.WidthForValue()" ] }, { "type": { - "value": "Tween::RemoveTween" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ - "FillBar", - "Tween", - "\"ChangeValue\"" + "Buffer", + "Resizable", + "=", + "FillBar.Width()" ] }, { "type": { - "value": "PanelSpriteObject::Width" + "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPreviousValueDuration" }, "parameters": [ - "FillBar", + "Object", "=", - "Object.WidthForValue()" + "PreviousHighValueDuration", + "" + ] + }, + { + "type": { + "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLabel" + }, + "parameters": [ + "Object", + "" ] } ] @@ -16059,7 +16077,7 @@ "parameters": [ "Object", "=", - "Object.PropertyMaxValue()", + "MaxValue", "Object.PropertyMaxValue()" ] } @@ -16075,7 +16093,7 @@ "parameters": [ "InitialValue", "!=", - "Object.PropertyPreviousInitialValue()" + "PreviousInitialValue" ] } ], @@ -16087,7 +16105,7 @@ "parameters": [ "PreviousInitialValue", "=", - "Object.PropertyInitialValue()" + "InitialValue" ] }, { @@ -16097,7 +16115,7 @@ "parameters": [ "Object", "=", - "Object.PropertyInitialValue()", + "InitialValue", "Object.PropertyInitialValue()" ] }, @@ -16108,7 +16126,7 @@ "parameters": [ "Object", "=", - "Object.PropertyPreviousHighValueDuration()", + "PreviousHighValueDuration", "" ] }, @@ -16130,10 +16148,11 @@ "actions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "FillBar", + "Resizable", "=", "Object.WidthForValue()" ] @@ -16158,141 +16177,101 @@ "sentence": "", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Resize", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "NumberVariable" }, - "comment": "Children instances must be resized when the parent size change:\n- background is resized to take the full dimensions of the parent\n- the bar size is refreshed according to the value\n- the label is put back at the center of the bar\n\nThe scale is set back to 1 because it means that the parent instance has the same dimensions as the union of its children instances." + "parameters": [ + "OldParentWidth", + "!=", + "Object.Width()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "OldParentWidth", + "=", + "Object.Width()" + ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Width()", - "!=", - "max(Background.BoundingBoxRight(), Label.BoundingBoxRight()) - min(Background.BoundingBoxLeft(), Label.BoundingBoxLeft())" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Height()", - "!=", - "max(Background.BoundingBoxBottom(), Label.BoundingBoxBottom()) - min(Background.BoundingBoxTop(), Label.BoundingBoxTop())" - ] - } - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "Width", - "=", - "Object.Width()" - ] - }, - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "Height", - "=", - "Object.Height()" - ] - }, - { - "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::Scale" - }, - "parameters": [ - "Object", - "=", - "1" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Width" - }, - "parameters": [ - "Background", - "=", - "Width" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Height" - }, - "parameters": [ - "Background", - "=", - "Height" - ] - }, - { - "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLayout" - }, - "parameters": [ - "Object", - "" - ] - } - ], - "variables": [ - { - "name": "Width", - "type": "number", - "value": 0 - }, - { - "name": "Height", - "type": "number", - "value": 0 - } - ] - } + "type": { + "value": "ResizableCapability::ResizableBehavior::SetWidth" + }, + "parameters": [ + "FillBar", + "Resizable", + "=", + "Object.WidthForValue()" + ] + }, + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetWidth" + }, + "parameters": [ + "Buffer", + "Resizable", + "=", + "FillBar.Width()" + ] + }, + { + "type": { + "value": "Tween::RemoveTween" + }, + "parameters": [ + "FillBar", + "Tween", + "\"ChangeValue\"" + ] + }, + { + "type": { + "value": "Tween::RemoveTween" + }, + "parameters": [ + "Buffer", + "Tween", + "\"ChangeValue\"" ] } - ], - "parameters": [] + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetHeight" + }, + "parameters": [ + "FillBar", + "Resizable", + "=", + "Object.Height() - BarTopPlusBottomMargin" + ] + }, + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetHeight" + }, + "parameters": [ + "Buffer", + "Resizable", + "=", + "FillBar.Height()" + ] + } + ] }, { "type": "BuiltinCommonInstructions::Standard", @@ -16317,7 +16296,7 @@ "actions": [ { "type": { - "value": "Tween::AddObjectWidthTween" + "value": "Tween::TweenBehavior::AddObjectWidthTween2" }, "parameters": [ "Buffer", @@ -16325,7 +16304,7 @@ "\"ChangeValue\"", "Object.WidthForValue()", "\"linear\"", - "Object.PropertyEasingDuration() * 1000", + "EasingDuration", "" ] } @@ -16336,10 +16315,11 @@ "conditions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::Width" }, "parameters": [ "FillBar", + "Resizable", "<", "Buffer.Width()" ] @@ -16362,10 +16342,11 @@ "conditions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::Width" }, "parameters": [ "FillBar", + "Resizable", ">=", "Buffer.Width()" ] @@ -16407,121 +16388,25 @@ "actions": [ { "type": { - "value": "MettreXY" - }, - "parameters": [ - "FillBar", - "=", - "Object.PropertyBarLeftPadding()", - "=", - "Object.PropertyBarTopPadding()" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "FillBar", + "Resizable", "=", "Object.WidthForValue()" ] }, { "type": { - "value": "PanelSpriteObject::Height" - }, - "parameters": [ - "FillBar", - "=", - "round(Background.Height() - Object.PropertyBarTopPadding() - Object.PropertyBarBottomPadding())" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "Buffer", - "=", - "FillBar.X()", - "=", - "FillBar.Y()" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "Buffer", + "Resizable", "=", "FillBar.Width()" ] - }, - { - "type": { - "value": "PanelSpriteObject::Height" - }, - "parameters": [ - "Buffer", - "=", - "FillBar.Height()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "Label", - "=", - "Object.PropertyBarLeftPadding()", - "=", - "Object.PropertyBarTopPadding()" - ] - }, - { - "type": { - "value": "TextObject::WrappingWidth" - }, - "parameters": [ - "Label", - "=", - "Object.FullBarWidth()" - ] - }, - { - "type": { - "value": "SetCenterY" - }, - "parameters": [ - "Label", - "=", - "FillBar.CenterY()" - ] - }, - { - "type": { - "value": "SetCenterX" - }, - "parameters": [ - "Label", - "=", - "Background.CenterX() + (Object.PropertyBarLeftPadding() - Object.PropertyBarRightPadding()) / 2" - ] } ] } @@ -16614,7 +16499,7 @@ "actions": [ { "type": { - "value": "Tween::AddObjectWidthTween" + "value": "Tween::TweenBehavior::AddObjectWidthTween2" }, "parameters": [ "FillBar", @@ -16622,7 +16507,7 @@ "\"ChangeValue\"", "Object.WidthForValue()", "\"linear\"", - "Object.PropertyEasingDuration() * 1000", + "EasingDuration", "" ] } @@ -16645,10 +16530,11 @@ "actions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "FillBar", + "Resizable", "=", "Object.WidthForValue()" ] @@ -16687,10 +16573,11 @@ "actions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "Buffer", + "Resizable", "=", "round(Object.FullBarWidth() * FillBar.ResourceBar::PreviousHighValue() / FillBar.ResourceBar::MaxValue())" ] @@ -16731,7 +16618,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "FillBar.ResourceBar::PropertyMaxValue()" + "FillBar.ResourceBar::MaxValue()" ] } ] @@ -16915,7 +16802,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "FillBar.ResourceBar::PropertyPreviousHighValueDuration()" + "FillBar.ResourceBar::PreviousHighValueDuration()" ] } ] @@ -17123,7 +17010,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Background.Width() - Object.PropertyBarLeftPadding() - Object.PropertyBarRightPadding()" + "Object.Width() - BarLeftPlusRightMargin" ] } ] @@ -17296,10 +17183,11 @@ "actions": [ { "type": { - "value": "TextObject::String" + "value": "TextContainerCapability::TextContainerBehavior::SetValue" }, "parameters": [ "Label", + "Text", "=", "ToString(round(Object.Value())) + \" / \" + ToString(Object.MaxValue())" ] @@ -17319,74 +17207,16 @@ } ], "propertyDescriptors": [ - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarLeftPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarTopPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarRightPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarBottomPadding" - }, { "value": "3", "type": "Number", "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxValue" }, { "value": "3", "type": "Number", "label": "Initial value", - "description": "", - "group": "", - "extraInformation": [], "name": "InitialValue" }, { @@ -17394,235 +17224,582 @@ "type": "Number", "label": "", "description": "It's used to detect a change at hot reload.", - "group": "", - "extraInformation": [], "hidden": true, "name": "PreviousInitialValue" }, { "value": "1", "type": "Number", + "unit": "Second", "label": "Previous high value conservation duration (in seconds)", - "description": "", "group": "Animation", - "extraInformation": [], "name": "PreviousHighValueDuration" }, { "value": "0.25", "type": "Number", + "unit": "Second", "label": "Easing duration", - "description": "", "group": "Animation", - "extraInformation": [], "name": "EasingDuration" }, { "value": "true", "type": "Boolean", "label": "Show the label", - "description": "", - "group": "", "extraInformation": [ "Label" ], "name": "ShowLabel" }, { - "value": "", - "type": "Boolean", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [ - "Buffer" - ], "hidden": true, - "name": "ShowBuffer" + "name": "BarLeftPlusRightMargin" }, { - "value": "Center", - "type": "String", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [ - "Label" - ], "hidden": true, - "name": "LabelVerticalAnchorOrigin" + "name": "BarTopPlusBottomMargin" }, { - "value": "Center", - "type": "String", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [ - "FillBar" - ], "hidden": true, - "name": "LabelVerticalAnchorTarget" + "name": "OldParentWidth" } ], - "objects": [ - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "Label", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "2 / 3", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "2 / 3", - "font": "", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 20, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "FillBar", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ + "variants": [ + { + "areaMaxX": 224, + "areaMaxY": 34, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "name": "Big Red Flat Bar", + "objects": [ { - "name": "ResourceBar", - "type": "PanelSpriteContinuousBar::ResourceBar", - "Value": 1, - "MaxValue": 3, - "PreviousValue": 0 + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ], + "string": "100 / 100", + "font": "", + "textAlignment": "center", + "characterSize": 24, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "100 / 100", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 24, + "color": "255;255;255" + } }, { - "name": "Tween", - "type": "Tween::TweenBehavior" + "assetStoreId": "", + "bottomMargin": 0, + "height": 24, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "Flat Bar Red Fill Bar.png", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 24, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ResourceBar", + "type": "PanelSpriteContinuousBar::ResourceBar", + "Value": 1, + "MaxValue": 3, + "PreviousValue": 0, + "CurrentValue": 1 + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 24, + "leftMargin": 0, + "name": "Buffer", + "rightMargin": 0, + "texture": "Flat Bar Red Fill Bar.png", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 24, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 6, + "height": 34, + "leftMargin": 4, + "name": "Background", + "rightMargin": 4, + "texture": "Flat Bar White Border.png", + "tiled": false, + "topMargin": 6, + "type": "PanelSpriteObject::PanelSprite", + "width": 224, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Buffer" + }, + { + "objectName": "Background" + } + ] + }, + "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": [] } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Buffer", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ + ], + "instances": [ { - "name": "Tween", - "type": "Tween::TweenBehavior" + "angle": 0, + "customSize": false, + "depth": 1, + "height": 64, + "layer": "", + "name": "Background", + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 64, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 24, + "keepRatio": true, + "layer": "", + "name": "FillBar", + "persistentUuid": "5a0d266a-f680-4580-8e30-0a8516815f9a", + "width": 216, + "x": 4, + "y": 4, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 24, + "keepRatio": true, + "layer": "", + "name": "Label", + "persistentUuid": "03472802-6b7f-42d1-bf9b-68bf9d0d399f", + "width": 216, + "x": 4, + "y": 16, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ] }, { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Background", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Label" - }, - { - "objectName": "FillBar" - }, - { - "objectName": "Buffer" - }, - { - "objectName": "Background" - } - ] - }, - "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": [ + "areaMaxX": 224, + "areaMaxY": 34, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "assetStoreAssetId": "3d6c54e76a9a06cbd7629c1e78388d4ab808bbf36d644c61d6a14c9ad34d4f89", + "assetStoreOriginalName": "Red Flat Bar", + "name": "Red Flat Bar", + "objects": [ { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ], + "string": "8 / 16", + "font": "", + "textAlignment": "center", + "characterSize": 16, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "8 / 16", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 16, + "color": "255;255;255" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 24, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "Flat Bar Red Fill Bar.png", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 24, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ResourceBar", + "type": "PanelSpriteContinuousBar::ResourceBar", + "Value": 1, + "MaxValue": 3, + "PreviousValue": 0, + "CurrentValue": 1 + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 24, + "leftMargin": 0, + "name": "Buffer", + "rightMargin": 0, + "texture": "Flat Bar Red Fill Bar.png", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 24, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 6, + "height": 34, + "leftMargin": 4, + "name": "Background", + "rightMargin": 4, + "texture": "Flat Bar White Border.png", + "tiled": false, + "topMargin": 6, + "type": "PanelSpriteObject::PanelSprite", + "width": 224, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Buffer" + }, + { + "objectName": "Background" + } + ] + }, + "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": [] } ], - "effects": [] + "instances": [ + { + "angle": 0, + "customSize": false, + "depth": 1, + "height": 64, + "layer": "", + "name": "Background", + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 64, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 24, + "keepRatio": true, + "layer": "", + "name": "FillBar", + "persistentUuid": "5a0d266a-f680-4580-8e30-0a8516815f9a", + "width": 216, + "x": 4, + "y": 4, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 24, + "keepRatio": true, + "layer": "", + "name": "Label", + "persistentUuid": "03472802-6b7f-42d1-bf9b-68bf9d0d399f", + "width": 216, + "x": 4, + "y": 16, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ] } - ], - "instances": [] + ] } ] }, @@ -17631,6 +17808,7 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Flash object", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWZsYXNoLW91dGxpbmUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNywySDE3TDEzLjUsOUgxN0wxMCwyMlYxNEg3VjJNOSw0VjEySDEyVjE0LjY2TDE0LDExSDEwLjI0TDEzLjc2LDRIOVoiIC8+PC9zdmc+", "name": "Flash", @@ -18525,17 +18703,12 @@ "unit": "Second", "label": "Half period ", "description": "Time that the object is invisible", - "group": "", - "extraInformation": [], "name": "HalfPeriodTime" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsFlashing" }, @@ -18545,8 +18718,6 @@ "unit": "Second", "label": "Flash duration", "description": "Use \"0\" to keep flashing until stopped", - "group": "", - "extraInformation": [], "hidden": true, "name": "FlashDuration" } @@ -19099,17 +19270,12 @@ "unit": "Second", "label": "Half period", "description": "Time between flashes", - "group": "", - "extraInformation": [], "name": "HalfPeriodTime" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsFlashing" }, @@ -19119,8 +19285,6 @@ "unit": "Second", "label": "Flash duration", "description": "Use \"0\" to keep flashing until stopped", - "group": "", - "extraInformation": [], "hidden": true, "name": "FlashDuration" }, @@ -19128,9 +19292,6 @@ "value": "\"255;255;255\"", "type": "String", "label": "Tint color", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TintColor" } @@ -19730,8 +19891,6 @@ "value": "", "type": "Behavior", "label": "Opacity capability", - "description": "", - "group": "", "extraInformation": [ "OpacityCapability::OpacityBehavior" ], @@ -19741,8 +19900,6 @@ "value": "", "type": "Behavior", "label": "Tween Behavior (required)", - "description": "", - "group": "", "extraInformation": [ "Tween::TweenBehavior" ], @@ -19754,17 +19911,12 @@ "unit": "Second", "label": "Half period", "description": "Time between flashes", - "group": "", - "extraInformation": [], "name": "HalfPeriodTime" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsFlashing" }, @@ -19774,8 +19926,6 @@ "unit": "Second", "label": "Flash duration", "description": "Use \"0\" to keep flashing until stopped", - "group": "", - "extraInformation": [], "hidden": true, "name": "FlashDuration" }, @@ -19785,8 +19935,6 @@ "unit": "Dimensionless", "label": "Target opacity (Range: 0 - 255)", "description": "Opacity will fade between the starting value and a target value", - "group": "", - "extraInformation": [], "hidden": true, "name": "TargetOpacity" }, @@ -19796,8 +19944,6 @@ "unit": "Dimensionless", "label": "Starting opacity", "description": "Opacity will fade between the starting value and a target value", - "group": "", - "extraInformation": [], "hidden": true, "name": "StartingOpacity" } @@ -20612,8 +20758,6 @@ "value": "", "type": "Behavior", "label": "Effect capability", - "description": "", - "group": "", "extraInformation": [ "EffectCapability::EffectBehavior" ], @@ -20625,17 +20769,12 @@ "unit": "Second", "label": "Half period", "description": "Time between flashes", - "group": "", - "extraInformation": [], "name": "HalfPeriodTime" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsFlashing" }, @@ -20645,8 +20784,6 @@ "unit": "Second", "label": "Flash duration", "description": "Use \"0\" to keep flashing until stopped", - "group": "", - "extraInformation": [], "hidden": true, "name": "FlashDuration" }, @@ -20654,9 +20791,6 @@ "value": "", "type": "String", "label": "Name of effect", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "EffectName" } @@ -20671,6 +20805,7 @@ "category": "Game mechanic", "extensionNamespace": "", "fullName": "Health points and damage", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWhlYXJ0LWhhbGYtZnVsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNi41LDVDMTUsNSAxMy41OCw1LjkxIDEzLDcuMlYxNy43NEMxNy4yNSwxMy44NyAyMCwxMS4yIDIwLDguNUMyMCw2LjUgMTguNSw1IDE2LjUsNU0xNi41LDNDMTkuNTgsMyAyMiw1LjQxIDIyLDguNUMyMiwxMi4yNyAxOC42LDE1LjM2IDEzLjQ1LDIwLjAzTDEyLDIxLjM1TDEwLjU1LDIwLjAzQzUuNCwxNS4zNiAyLDEyLjI3IDIsOC41QzIsNS40MSA0LjQyLDMgNy41LDNDOS4yNCwzIDEwLjkxLDMuODEgMTIsNS4wOEMxMy4wOSwzLjgxIDE0Ljc2LDMgMTYuNSwzWiIgLz48L3N2Zz4=", "name": "Health", @@ -25285,18 +25420,14 @@ "value": "100", "type": "Number", "label": "Starting health", - "description": "", "group": "Health", - "extraInformation": [], "name": "Health" }, { "value": "0", "type": "Number", "label": "Current health (life) points", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "CurrentHealth" }, @@ -25306,7 +25437,6 @@ "label": "Maximum health", "description": "Use 0 for no maximum.", "group": "Health", - "extraInformation": [], "name": "MaxHealth" }, { @@ -25314,18 +25444,14 @@ "type": "Number", "unit": "Second", "label": "Damage cooldown", - "description": "", "group": "Health", - "extraInformation": [], "name": "DamageCooldown" }, { "value": "", "type": "Boolean", "label": "Allow heals to increase health above max health (regen will never exceed max health)", - "description": "", "group": "Health", - "extraInformation": [], "advanced": true, "name": "AllowOverHealing" }, @@ -25333,9 +25459,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "IsHealthJustDamaged" }, @@ -25343,9 +25467,7 @@ "value": "0", "type": "Number", "label": "Damage to health from the previous incoming damage", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "DamageToBeApplied" }, @@ -25353,9 +25475,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "HitAtLeastOnce" }, @@ -25365,7 +25485,6 @@ "label": "Chance to dodge incoming damage (between 0 and 1)", "description": "When a damage is dodged, no damage is applied.", "group": "Health", - "extraInformation": [], "advanced": true, "name": "ChanceToDodge" }, @@ -25373,9 +25492,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "IsJustDodged" }, @@ -25383,9 +25500,7 @@ "value": "0", "type": "Number", "label": "Health points gained from the previous heal", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "HealToBeApplied" }, @@ -25393,9 +25508,7 @@ "value": "0", "type": "Number", "label": "Rate of health regeneration (points per second)", - "description": "", "group": "Health regeneration", - "extraInformation": [], "advanced": true, "name": "HealthRegenRate" }, @@ -25406,7 +25519,6 @@ "label": "Health regeneration delay ", "description": "Delay before health regeneration starts after a hit.", "group": "Health regeneration", - "extraInformation": [], "advanced": true, "name": "HealthRegenDelay" }, @@ -25414,9 +25526,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsJustHealed" }, @@ -25424,9 +25533,7 @@ "value": "", "type": "Number", "label": "Current shield points", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "CurrentShieldPoints" }, @@ -25436,7 +25543,6 @@ "label": "Maximum shield", "description": "Leave 0 for unlimited.", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "MaxShieldPoints" }, @@ -25447,7 +25553,6 @@ "label": "Duration of shield", "description": "Use 0 to make the shield permanent.", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "ShieldDuration" }, @@ -25455,9 +25560,7 @@ "value": "0", "type": "Number", "label": "Rate of shield regeneration (points per second)", - "description": "", "group": "Shield regeneration", - "extraInformation": [], "advanced": true, "name": "ShieldRegenRate" }, @@ -25465,9 +25568,7 @@ "value": "", "type": "Boolean", "label": "Block excess damage when shield is broken", - "description": "", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "BlockExcessDamage" }, @@ -25478,7 +25579,6 @@ "label": "Shield regeneration delay", "description": "Delay before shield regeneration starts after a hit.", "group": "Shield regeneration", - "extraInformation": [], "advanced": true, "name": "ShieldRegenDelay" }, @@ -25486,9 +25586,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "IsShieldJustDamaged" }, @@ -25496,9 +25594,7 @@ "value": "", "type": "Number", "label": "Damage to shield from the previous incoming damage", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "ShieldDamageTaken" }, @@ -25508,7 +25604,6 @@ "label": "Flat damage reduction from armor", "description": "Incoming damages are reduced by this value.", "group": "Armor", - "extraInformation": [], "advanced": true, "name": "FlatDamageReduction" }, @@ -25516,9 +25611,7 @@ "value": "0", "type": "Number", "label": "Percentage damage reduction from armor (between 0 and 1)", - "description": "", "group": "Armor", - "extraInformation": [], "advanced": true, "name": "PercentDamageReduction" } @@ -25533,6 +25626,7 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Flash and transition painter", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLW1vdmllLWZpbHRlciIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xOCA0TDIwIDdIMTdMMTUgNEgxM0wxNSA3SDEyTDEwIDRIOEwxMCA3SDdMNSA0SDRDMi45IDQgMiA0LjkgMiA2TDIgMThDMiAxOS4xIDIuOSAyMCA0IDIwSDIwQzIxLjEgMjAgMjIgMTkuMSAyMiAxOFY0SDE4TTExLjI1IDE1LjI1TDEwIDE4TDguNzUgMTUuMjVMNiAxNEw4Ljc1IDEyLjc1TDEwIDEwTDExLjI1IDEyLjc1TDE0IDE0TDExLjI1IDE1LjI1TTE2Ljk0IDExLjk0TDE2IDE0TDE1LjA2IDExLjk0TDEzIDExTDE1LjA2IDEwLjA2TDE2IDhMMTYuOTQgMTAuMDZMMTkgMTFMMTYuOTQgMTEuOTRaIiAvPjwvc3ZnPg==", "name": "FlashTransitionPainter", @@ -26343,9 +26437,6 @@ "type": "Number", "unit": "Dimensionless", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Progress" }, @@ -26353,9 +26444,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Duration" }, @@ -26363,9 +26451,6 @@ "value": "", "type": "String", "label": "Type of effect ", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Type" }, @@ -26373,9 +26458,6 @@ "value": "", "type": "String", "label": "Direction of transition", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Direction" }, @@ -26383,9 +26465,6 @@ "value": "255", "type": "Number", "label": "The maximum of the opacity only for flash", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "MaxOpacity" } @@ -26400,6 +26479,7 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Panel sprite button", + "gdevelopVersion": "", "helpPath": "/objects/button", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI5LDIzSDNjLTEuMSwwLTItMC45LTItMlYxMWMwLTEuMSwwLjktMiwyLTJoMjZjMS4xLDAsMiwwLjksMiwydjEwQzMxLDIyLjEsMzAuMSwyMywyOSwyM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMywxOUwxMywxOWMtMS4xLDAtMi0wLjktMi0ydi0yYzAtMS4xLDAuOS0yLDItMmgwYzEuMSwwLDIsMC45LDIsMnYyQzE1LDE4LjEsMTQuMSwxOSwxMywxOXoiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIxOCIgeTE9IjEzIiB4Mj0iMTgiIHkyPSIxOSIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjIxIiB5MT0iMTMiIHgyPSIxOCIgeTI9IjE3Ii8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMjEiIHkxPSIxOSIgeDI9IjE5IiB5Mj0iMTYiLz4NCjwvc3ZnPg0K", "name": "PanelSpriteButton", @@ -27514,8 +27594,6 @@ "type": "Boolean", "label": "", "description": "Should check hovering", - "group": "", - "extraInformation": [], "hidden": true, "name": "ShouldCheckHovering" }, @@ -27523,8 +27601,6 @@ "value": "Idle", "type": "Choice", "label": "State", - "description": "", - "group": "", "extraInformation": [ "Idle", "Hovered", @@ -27539,9 +27615,6 @@ "value": "0", "type": "Number", "label": "Touch id", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -27549,9 +27622,6 @@ "value": "", "type": "Boolean", "label": "Touch is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIsInside" }, @@ -27559,9 +27629,6 @@ "value": "", "type": "Boolean", "label": "Mouse is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "MouseIsInside" }, @@ -27569,9 +27636,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" } @@ -27592,6 +27656,165 @@ "fullName": "Button (panel sprite)", "isUsingLegacyInstancesRenderer": true, "name": "PanelSpriteButton", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Text", + "font": "", + "textAlignment": "", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Text", + "font": "", + "textAlignment": "", + "verticalTextAlignment": "top", + "characterSize": 20, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Idle", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [ + { + "folded": true, + "name": "State", + "type": "string", + "value": "Idle" + } + ], + "effects": [], + "behaviors": [ + { + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "ShouldCheckHovering": true + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Hovered", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Pressed", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "Idle" + }, + { + "objectName": "Hovered" + }, + { + "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": [], "eventsFunctions": [ { "fullName": "", @@ -28905,16 +29128,12 @@ "value": "0", "type": "Number", "label": "Label offset on Y axis when pressed", - "description": "", - "group": "", - "extraInformation": [], "name": "PressedLabelOffsetY" }, { "value": "0", "type": "Number", "label": "Left padding", - "description": "", "group": "Padding", "extraInformation": [ "Label" @@ -28925,7 +29144,6 @@ "value": "0", "type": "Number", "label": "Right padding", - "description": "", "group": "Padding", "extraInformation": [ "Label" @@ -28936,7 +29154,6 @@ "value": "0", "type": "Number", "label": "Top padding", - "description": "", "group": "Padding", "extraInformation": [ "Label" @@ -28947,7 +29164,6 @@ "value": "0", "type": "Number", "label": "Bottom padding", - "description": "", "group": "Padding", "extraInformation": [ "Label" @@ -28958,171 +29174,10 @@ "value": "0.25", "type": "Number", "label": "Hovered fade out duration (in seconds)", - "description": "", - "group": "", - "extraInformation": [], "name": "HoveredFadeOutDuration" } ], - "objects": [ - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "Label", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Text", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Text", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 20, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Idle", - "rightMargin": 0, - "texture": "", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [ - { - "folded": true, - "name": "State", - "type": "string", - "value": "Idle" - } - ], - "effects": [], - "behaviors": [ - { - "name": "ButtonFSM", - "type": "PanelSpriteButton::ButtonFSM", - "ShouldCheckHovering": true - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Hovered", - "rightMargin": 0, - "texture": "", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Tween", - "type": "Tween::TweenBehavior" - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Pressed", - "rightMargin": 0, - "texture": "", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Label" - }, - { - "objectName": "Idle" - }, - { - "objectName": "Hovered" - }, - { - "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": [] + "variants": [] } ] }, @@ -29131,6 +29186,7 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Shake object", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWFycm93LWFsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMywxMUgxOEwxNi41LDkuNUwxNy45Miw4LjA4TDIxLjg0LDEyTDE3LjkyLDE1LjkyTDE2LjUsMTQuNUwxOCwxM0gxM1YxOEwxNC41LDE2LjVMMTUuOTIsMTcuOTJMMTIsMjEuODRMOC4wOCwxNy45Mkw5LjUsMTYuNUwxMSwxOFYxM0g2TDcuNSwxNC41TDYuMDgsMTUuOTJMMi4xNiwxMkw2LjA4LDguMDhMNy41LDkuNUw2LDExSDExVjZMOS41LDcuNUw4LjA4LDYuMDhMMTIsMi4xNkwxNS45Miw2LjA4TDE0LjUsNy41TDEzLDZWMTFaIiAvPjwvc3ZnPg==", "name": "ShakeObject", @@ -33533,8 +33589,6 @@ "value": "", "type": "Behavior", "label": "Scalable capability", - "description": "", - "group": "", "extraInformation": [ "ScalableCapability::ScalableBehavior" ], @@ -33544,9 +33598,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "name": "Property" } ], @@ -33560,6 +33611,7 @@ "category": "Camera", "extensionNamespace": "", "fullName": "Smooth Camera", + "gdevelopVersion": "", "helpPath": "/tutorials/follow-player-with-camera/", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCjwvc3R5bGU+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjQsMTNoLTZjLTEuMSwwLTItMC45LTItMlY1YzAtMS4xLDAuOS0yLDItMmg2YzEuMSwwLDIsMC45LDIsMnY2QzI2LDEyLjEsMjUuMSwxMywyNCwxM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNiw4djEwYzAsMS4xLTAuOSwyLTIsMkg4Yy0xLjEsMC0yLTAuOS0yLTJWOGMwLTEuMSwwLjktMiwyLTJoOCIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjEiIGN5PSI4IiByPSIyIi8+DQo8Y2lyY2xlIGNsYXNzPSJzdDAiIGN4PSIxMSIgY3k9IjE2IiByPSIxIi8+DQo8cmVjdCB4PSI5IiB5PSI5IiBjbGFzcz0ic3QwIiB3aWR0aD0iNCIgaGVpZ2h0PSIzIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIyMSwyOSAyMSwyOSAxMSwyOSAxMSwyOSAiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjE4LDIwIDE4LDI5IDE0LDI5IDE0LDIwICIvPg0KPHJlY3QgeD0iNyIgeT0iMyIgY2xhc3M9InN0MCIgd2lkdGg9IjQiIGhlaWdodD0iMyIvPg0KPC9zdmc+DQo=", "name": "SmoothCamera", @@ -38010,54 +38062,40 @@ "value": "0.9", "type": "Number", "label": "Leftward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "LeftwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Rightward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "RightwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Upward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "UpwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Downward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "DownwardSpeed" }, { "value": "true", "type": "Boolean", "label": "Follow on X axis", - "description": "", - "group": "", - "extraInformation": [], "name": "FollowOnX" }, { "value": "true", "type": "Boolean", "label": "Follow on Y axis", - "description": "", - "group": "", - "extraInformation": [], "name": "FollowOnY" }, { @@ -38065,9 +38103,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area left border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaLeft" }, @@ -38076,9 +38112,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area right border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaRight" }, @@ -38087,9 +38121,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaTop" }, @@ -38098,9 +38130,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaBottom" }, @@ -38109,9 +38139,7 @@ "type": "Number", "unit": "Pixel", "label": "Camera offset X", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "CameraOffsetX" }, @@ -38120,9 +38148,7 @@ "type": "Number", "unit": "Pixel", "label": "Camera offset Y", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "CameraOffsetY" }, @@ -38131,9 +38157,7 @@ "type": "Number", "unit": "Second", "label": "Camera delay", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "CameraDelay" }, @@ -38142,9 +38166,7 @@ "type": "Number", "unit": "Second", "label": "Forecast time", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "ForecastTime" }, @@ -38153,9 +38175,7 @@ "type": "Number", "unit": "Second", "label": "Forecast history duration", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "ForecastHistoryDuration" }, @@ -38163,9 +38183,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogLeftwardSpeed" }, @@ -38173,9 +38190,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogRightwardSpeed" }, @@ -38183,9 +38197,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogDownwardSpeed" }, @@ -38193,9 +38204,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogUpwardSpeed" }, @@ -38203,9 +38211,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DelayedCenterX" }, @@ -38213,9 +38218,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DelayedCenterY" }, @@ -38223,9 +38225,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryMeanX" }, @@ -38233,9 +38232,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryMeanY" }, @@ -38243,9 +38239,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryVarianceX" }, @@ -38253,9 +38246,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryCovariance" }, @@ -38263,9 +38253,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryLinearA" }, @@ -38273,9 +38260,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryLinearB" }, @@ -38283,9 +38267,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastedX" }, @@ -38293,9 +38274,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastedY" }, @@ -38303,9 +38281,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedNewestX" }, @@ -38313,9 +38288,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedNewestY" }, @@ -38323,9 +38295,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedOldestX" }, @@ -38333,9 +38302,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedOldestY" }, @@ -38343,9 +38309,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryVarianceY" }, @@ -38353,9 +38316,6 @@ "value": "", "type": "Number", "label": "Index (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" }, @@ -38363,9 +38323,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraDelayCatchUpSpeed" }, @@ -38373,9 +38330,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraExtraDelay" }, @@ -38383,9 +38337,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingSpeedXMax" }, @@ -38393,9 +38344,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingSpeedYMax" }, @@ -38403,9 +38351,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingEnd" }, @@ -38413,9 +38358,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraDelayCatchUpDuration" }, @@ -38424,9 +38366,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Leftward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "LeftwardSpeedMax" }, @@ -38435,9 +38375,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Rightward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "RightwardSpeedMax" }, @@ -38446,9 +38384,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "UpwardSpeedMax" }, @@ -38457,9 +38393,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "DownwardSpeedMax" }, @@ -38467,9 +38401,6 @@ "value": "", "type": "Number", "label": "OldX (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldX" }, @@ -38477,9 +38408,6 @@ "value": "", "type": "Number", "label": "OldY (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldY" }, @@ -38487,9 +38415,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsCalledManually" } @@ -38722,8 +38647,6 @@ "value": "", "type": "Behavior", "label": "Platformer character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], @@ -38733,8 +38656,6 @@ "value": "", "type": "Behavior", "label": "Smooth camera behavior", - "description": "", - "group": "", "extraInformation": [ "SmoothCamera::SmoothCamera" ], @@ -38744,9 +38665,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JumpOriginY" }, @@ -38755,9 +38673,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top in the air", - "description": "", "group": "Position", - "extraInformation": [], "name": "AirFollowFreeAreaTop" }, { @@ -38765,9 +38681,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom in the air", - "description": "", "group": "Position", - "extraInformation": [], "name": "AirFollowFreeAreaBottom" }, { @@ -38775,9 +38689,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top on the floor", - "description": "", "group": "Position", - "extraInformation": [], "name": "FloorFollowFreeAreaTop" }, { @@ -38785,45 +38697,35 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom on the floor", - "description": "", "group": "Position", - "extraInformation": [], "name": "FloorFollowFreeAreaBottom" }, { "value": "0.95", "type": "Number", "label": "Upward speed in the air (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "AirUpwardSpeed" }, { "value": "0.95", "type": "Number", "label": "Downward speed in the air (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "AirDownwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Upward speed on the floor (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "FloorUpwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Downward speed on the floor (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "FloorDownwardSpeed" }, { @@ -38831,9 +38733,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed in the air", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "AirUpwardSpeedMax" }, { @@ -38841,9 +38741,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed in the air", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "AirDownwardSpeedMax" }, { @@ -38851,9 +38749,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed on the floor", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "FloorUpwardSpeedMax" }, { @@ -38861,9 +38757,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed on the floor", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "FloorDownwardSpeedMax" } ], @@ -38877,6 +38771,7 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Auto typing animation for text (\"typewriter\" effect)", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXR5cGV3cml0ZXIiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMjAgMTNIMTZDMTYgMTQuMSAxNS4xIDE1IDE0IDE1SDEwQzguOSAxNSA4IDE0LjEgOCAxM0g0TDIgMThWMjBDMiAyMS4xIDIuOSAyMiA0IDIySDIwQzIxLjEgMjIgMjIgMjEuMSAyMiAyMFYxOE02IDIwQzUuMTEgMjAgNC42NiAxOC45MiA1LjI5IDE4LjI5QzUuOTIgMTcuNjYgNyAxOC4xMSA3IDE5QzcgMTkuNTUgNi41NSAyMCA2IDIwTTEwIDIwQzkuMTEgMjAgOC42NiAxOC45MiA5LjI5IDE4LjI5QzkuOTIgMTcuNjYgMTEgMTguMTEgMTEgMTlDMTEgMTkuNTUgMTAuNTUgMjAgMTAgMjBNMTQgMjBDMTMuMTEgMjAgMTIuNjYgMTguOTIgMTMuMjkgMTguMjlDMTMuOTIgMTcuNjYgMTUgMTguMTEgMTUgMTlDMTUgMTkuNTUgMTQuNTUgMjAgMTQgMjBNMTggMjBDMTcuMTEgMjAgMTYuNjYgMTguOTIgMTcuMjkgMTguMjlDMTcuOTIgMTcuNjYgMTkgMTguMTEgMTkgMTlDMTkgMTkuNTUgMTguNTUgMjAgMTggMjBNMTggMTBWM0g2VjEwSDNWMTJIMjFWMTBNOCA1SDE2VjZIOE04IDdIMTRWOEg4IiAvPjwvc3ZnPg==", "name": "AutoTyping", @@ -39847,8 +39742,6 @@ "value": "", "type": "Behavior", "label": "Text capability", - "description": "", - "group": "", "extraInformation": [ "TextContainerCapability::TextContainerBehavior" ], @@ -39859,18 +39752,12 @@ "type": "Number", "unit": "Second", "label": "Time between characters", - "description": "", - "group": "", - "extraInformation": [], "name": "Interval" }, { "value": "", "type": "Boolean", "label": "Detect if a new text character was just displayed", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CharacterJustAdded" }, @@ -39878,9 +39765,6 @@ "value": "", "type": "String", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "FullText" }, @@ -39888,9 +39772,6 @@ "value": "", "type": "String", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TypedText" } @@ -39905,6 +39786,7 @@ "category": "Input", "extensionNamespace": "", "fullName": "Gamepads (controllers)", + "gdevelopVersion": "", "helpPath": "/all-features/gamepad", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWdhbWVwYWQtdmFyaWFudC1vdXRsaW5lIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTYsOUg4VjExSDEwVjEzSDhWMTVINlYxM0g0VjExSDZWOU0xOC41LDlBMS41LDEuNSAwIDAsMSAyMCwxMC41QTEuNSwxLjUgMCAwLDEgMTguNSwxMkExLjUsMS41IDAgMCwxIDE3LDEwLjVBMS41LDEuNSAwIDAsMSAxOC41LDlNMTUuNSwxMkExLjUsMS41IDAgMCwxIDE3LDEzLjVBMS41LDEuNSAwIDAsMSAxNS41LDE1QTEuNSwxLjUgMCAwLDEgMTQsMTMuNUExLjUsMS41IDAgMCwxIDE1LjUsMTJNMTcsNUE3LDcgMCAwLDEgMjQsMTJBNyw3IDAgMCwxIDE3LDE5QzE1LjA0LDE5IDEzLjI3LDE4LjIgMTIsMTYuOUMxMC43MywxOC4yIDguOTYsMTkgNywxOUE3LDcgMCAwLDEgMCwxMkE3LDcgMCAwLDEgNyw1SDE3TTcsN0E1LDUgMCAwLDAgMiwxMkE1LDUgMCAwLDAgNywxN0M4LjY0LDE3IDEwLjA5LDE2LjIxIDExLDE1SDEzQzEzLjkxLDE2LjIxIDE1LjM2LDE3IDE3LDE3QTUsNSAwIDAsMCAyMiwxMkE1LDUgMCAwLDAgMTcsN0g3WiIgLz48L3N2Zz4=", "name": "Gamepads", @@ -43150,8 +43032,6 @@ "value": "", "type": "Behavior", "label": "Platformer character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], @@ -43161,43 +43041,33 @@ "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", @@ -43604,8 +43474,6 @@ "value": "", "type": "Behavior", "label": "3D physics character", - "description": "", - "group": "", "extraInformation": [ "Physics3D::PhysicsCharacter3D" ], @@ -43615,16 +43483,12 @@ "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", @@ -43636,7 +43500,6 @@ "value": "A or Cross", "type": "Choice", "label": "Jump button", - "description": "", "group": "Controls", "extraInformation": [ "A or Cross", @@ -44032,8 +43895,6 @@ "value": "", "type": "Behavior", "label": "3D physics character", - "description": "", - "group": "", "extraInformation": [ "Physics3D::PhysicsCharacter3D" ], @@ -44043,16 +43904,12 @@ "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", @@ -44064,7 +43921,6 @@ "value": "Right", "type": "Choice", "label": "Camera joystick", - "description": "", "group": "Controls", "extraInformation": [ "Left", @@ -44076,7 +43932,6 @@ "value": "A or Cross", "type": "Choice", "label": "Jump button", - "description": "", "group": "Controls", "extraInformation": [ "A or Cross", @@ -45018,8 +44873,6 @@ "value": "", "type": "Behavior", "label": "3D capability", - "description": "", - "group": "", "extraInformation": [ "Scene3D::Base3DBehavior" ], @@ -45029,17 +44882,12 @@ "value": "1", "type": "Number", "label": "Gamepad identifier (1, 2, 3 or 4)", - "description": "", - "group": "", - "extraInformation": [], "name": "GamepadIdentifier" }, { "value": "Right", "type": "Choice", "label": "Camera joystick", - "description": "", - "group": "", "extraInformation": [ "Left", "Right" @@ -45051,27 +44899,21 @@ "type": "Number", "unit": "AngularSpeed", "label": "Maximum rotation speed", - "description": "", "group": "Horizontal rotation", - "extraInformation": [], "name": "HorizontalRotationSpeedMax" }, { "value": "360", "type": "Number", "label": "Rotation acceleration", - "description": "", "group": "Horizontal rotation", - "extraInformation": [], "name": "HorizontalRotationAcceleration" }, { "value": "720", "type": "Number", "label": "Rotation deceleration", - "description": "", "group": "Horizontal rotation", - "extraInformation": [], "name": "HorizontalRotationDeceleration" }, { @@ -45079,27 +44921,21 @@ "type": "Number", "unit": "AngularSpeed", "label": "Maximum rotation speed", - "description": "", "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" }, { @@ -45107,9 +44943,7 @@ "type": "Number", "unit": "DegreeAngle", "label": "Minimum angle", - "description": "", "group": "Vertical rotation", - "extraInformation": [], "name": "VerticalAngleMin" }, { @@ -45117,9 +44951,7 @@ "type": "Number", "unit": "DegreeAngle", "label": "Maximum angle", - "description": "", "group": "Vertical rotation", - "extraInformation": [], "name": "VerticalAngleMax" }, { @@ -45127,9 +44959,7 @@ "type": "Number", "unit": "Pixel", "label": "Z position offset", - "description": "", "group": "Position", - "extraInformation": [], "name": "OffsetZ" }, { @@ -45137,9 +44967,6 @@ "type": "Number", "unit": "AngularSpeed", "label": "Current rotation speed Z", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CurrentRotationSpeedZ" }, @@ -45148,9 +44975,6 @@ "type": "Number", "unit": "AngularSpeed", "label": "Current rotation speed Y", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CurrentRotationSpeedY" } @@ -45743,8 +45567,6 @@ "value": "", "type": "Behavior", "label": "Top-down movement behavior", - "description": "", - "group": "", "extraInformation": [ "TopDownMovementBehavior::TopDownMovementBehavior" ], @@ -45754,43 +45576,33 @@ "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": "Analog", "type": "Choice", "label": "Stick mode", - "description": "", "group": "Controls", "extraInformation": [ "Analog", @@ -45810,6 +45622,7 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "YSort", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNvcnQtYXNjZW5kaW5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5IDE3SDIyTDE4IDIxTDE0IDE3SDE3VjNIMTlNMiAxN0gxMlYxOUgyTTYgNVY3SDJWNU0yIDExSDlWMTNIMlYxMVoiIC8+PC9zdmc+", "name": "YSort", From bd29931c68ecbdf8c6c06ded90f96e270fe98e10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Wed, 16 Jul 2025 12:44:25 +0200 Subject: [PATCH 02/11] Update extensions --- examples/top-down-rpg/top-down-rpg.json | 2288 ++++++++++++----------- 1 file changed, 1229 insertions(+), 1059 deletions(-) diff --git a/examples/top-down-rpg/top-down-rpg.json b/examples/top-down-rpg/top-down-rpg.json index 51f208585..7a26ce311 100644 --- a/examples/top-down-rpg/top-down-rpg.json +++ b/examples/top-down-rpg/top-down-rpg.json @@ -5553,13 +5553,13 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Top-down movement animator", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cGF0aCBkPSJNNiwyMS4xYy0wLjMsMC0wLjUtMC4xLTAuNy0wLjNsLTQtNC4xYy0wLjQtMC40LTAuNC0xLDAtMS40bDQtNC4xYzAuNC0wLjQsMS0wLjQsMS40LDBzMC40LDEsMCwxLjRMMy40LDE2bDMuMywzLjMNCgkJYzAuNCwwLjQsMC40LDEsMCwxLjRDNi42LDIxLDYuMywyMS4xLDYsMjEuMXoiLz4NCjwvZz4NCjxnPg0KCTxwYXRoIGQ9Ik0yNiwyMS4xYy0wLjMsMC0wLjUtMC4xLTAuNy0wLjNjLTAuNC0wLjQtMC40LTEsMC0xLjRsMy4zLTMuM2wtMy4zLTMuM2MtMC40LTAuNC0wLjQtMSwwLTEuNHMxLTAuNCwxLjQsMGw0LjEsNC4xDQoJCWMwLjIsMC4yLDAuMywwLjQsMC4zLDAuN3MtMC4xLDAuNS0wLjMsMC43bC00LjEsNC4xQzI2LjYsMjEsMjYuMywyMS4xLDI2LDIxLjF6Ii8+DQo8L2c+DQo8Zz4NCgk8cGF0aCBkPSJNMTYsMzEuMUwxNiwzMS4xYy0wLjMsMC0wLjUtMC4xLTAuNy0wLjNsLTQtNC4xYy0wLjQtMC40LTAuNC0xLDAtMS40czEtMC40LDEuNCwwbDMuMywzLjNsMy4zLTMuM2MwLjQtMC40LDEtMC40LDEuNCwwDQoJCXMwLjQsMSwwLDEuNGwtNC4xLDQuMUMxNi42LDMwLjksMTYuMywzMS4xLDE2LDMxLjF6Ii8+DQo8L2c+DQo8Zz4NCgk8cGF0aCBkPSJNMjAuMSw3Yy0wLjMsMC0wLjUtMC4xLTAuNy0wLjNMMTYsMy40bC0zLjMsMy4zYy0wLjQsMC40LTEsMC40LTEuNCwwcy0wLjQtMSwwLTEuNGw0LTQuMWMwLjQtMC40LDEtMC40LDEuNCwwbDQuMSw0LjENCgkJYzAuNCwwLjQsMC40LDEsMCwxLjRDMjAuNiw2LjksMjAuNCw3LDIwLjEsN3oiLz4NCjwvZz4NCjxnPg0KCTxwYXRoIGQ9Ik0xNiwzMGMtMC42LDAtMS0wLjQtMS0xVjNjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMXYyNkMxNywyOS42LDE2LjYsMzAsMTYsMzB6Ii8+DQo8L2c+DQo8Zz4NCgk8cGF0aCBkPSJNMjksMTdIMmMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMWgyN2MwLjYsMCwxLDAuNCwxLDFTMjkuNiwxNywyOSwxN3oiLz4NCjwvZz4NCjwvc3ZnPg0K", "name": "TopDownMovementAnimator", "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/Glyphster Pack/Master/SVG/Arrows/a6026156355ae5f03613b03971e4ddb50d0c95b8901e7a21edc57f33f0032e42_Arrows_thin_arrows_all_directions_cross.svg", "shortDescription": "Change the animation according to the movement direction.", - "version": "0.1.3", + "version": "0.2.3", "description": "Change the animation according to the movement direction.", "origin": { "identifier": "TopDownMovementAnimator", @@ -5660,6 +5660,22 @@ ] } ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TopDownMovementAnimator::TopDownMovementAnimator::UpdateAnimation" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] } ], "parameters": [ @@ -5689,12 +5705,11 @@ "actions": [ { "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::SetAnimationDirection" + "value": "TopDownMovementAnimator::TopDownMovementAnimator::UpdateAnimation" }, "parameters": [ "Object", "Behavior", - "Object.Behavior::Direction()", "" ] } @@ -5724,27 +5739,57 @@ "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "TopDownMovementBehavior::Speed" + "value": "TopDownMovementAnimator::TopDownMovementAnimator::UpdateAnimation" }, "parameters": [ "Object", - "TopDownMovement", - "=", - "0" + "Behavior", + "" ] } - ], + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "TopDownMovementAnimator::TopDownMovementAnimator", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Update the animation according to the object direction.", + "fullName": "Update animation", + "functionType": "Action", + "name": "UpdateAnimation", + "private": true, + "sentence": "Update the animation of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], "actions": [ { "type": { - "value": "AnimatableCapability::AnimatableBehavior::PauseAnimation" + "value": "TopDownMovementAnimator::TopDownMovementAnimator::UpdateAnimationDirection" }, "parameters": [ "Object", - "Animation" + "Behavior", + "NewAnimationDirection", + "" ] } ] @@ -5754,121 +5799,53 @@ "conditions": [ { "type": { - "value": "TopDownMovementBehavior::Speed" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "TopDownMovement", - ">", - "0" + "IsScalingAnimation", + "True", + "" ] } ], "actions": [ { "type": { - "value": "AnimatableCapability::AnimatableBehavior::PlayAnimation" + "value": "TopDownMovementAnimator::TopDownMovementAnimator::UpdateAnimationSpeedScale" }, "parameters": [ "Object", - "Animation" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BooleanVariable" - }, - "parameters": [ - "IsScalingAnimation", - "True", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::SetAnimationSpeedScale" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } + "Behavior", + "" ] } ] }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "SetNumberVariable" + "value": "BooleanVariable" }, "parameters": [ - "NewAnimationDirection", - "=", - "Object.Behavior::Direction()" + "IsPausingAnimation", + "True", + "" ] } ], - "events": [ + "actions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "TopDownMovementAnimator::TopDownMovementAnimator::UpdateAnimationPause" }, - "comment": "Use a small margin is used to avoid to flicker between 2 directions." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "abs(Object.Behavior::DirectionDifference(NewAnimationDirection, AnimationDirection))", - ">", - "0.5 + 0.03125" - ] - } - ], - "actions": [ - { - "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::SetAnimationDirection" - }, - "parameters": [ - "Object", - "Behavior", - "NewAnimationDirection", - "" - ] - } + "parameters": [ + "Object", + "Behavior", + "" ] } - ], - "variables": [ - { - "folded": true, - "name": "NewAnimationDirection", - "type": "number", - "value": 0 - } ] } ], @@ -5934,6 +5911,18 @@ "name": "SetAnimationName", "sentence": "", "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Also update the animation direction to avoid to play the animation in an old direction for 1 frame." + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -5961,13 +5950,167 @@ }, { "type": { - "value": "AnimatableCapability::AnimatableBehavior::SetName" + "value": "TopDownMovementAnimator::TopDownMovementAnimator::UpdateAnimationName" }, "parameters": [ "Object", - "Animation", - "=", - "AnimationName + ToString(AnimationDirection)" + "Behavior", + "" + ] + }, + { + "type": { + "value": "TopDownMovementAnimator::TopDownMovementAnimator::UpdateAnimationDirection" + }, + "parameters": [ + "Object", + "Behavior", + "NewAnimationDirection", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "TopDownMovementAnimator::TopDownMovementAnimator", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if animations are paused when objects stop.", + "fullName": "Pause animations when objects stop", + "functionType": "Condition", + "name": "IsPausingAnimation", + "sentence": "_PARAM0_ animations are paused when objects stop", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "IsPausingAnimation", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "TopDownMovementAnimator::TopDownMovementAnimator", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change whether animations are paused when objects stop.", + "fullName": "Pause animations when objects stop", + "functionType": "Action", + "name": "SetIsPausingAnimation", + "sentence": "Pause animations of _PARAM0_ when stopped: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "Value", + "False", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "IsPausingAnimation", + "False", + "" + ] + }, + { + "type": { + "value": "AnimatableCapability::AnimatableBehavior::PlayAnimation" + }, + "parameters": [ + "Object", + "Animation" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "Value", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "IsPausingAnimation", + "True", + "" + ] + }, + { + "type": { + "value": "TopDownMovementAnimator::TopDownMovementAnimator::UpdateAnimationPause" + }, + "parameters": [ + "Object", + "Behavior", + "" ] } ] @@ -5984,16 +6127,23 @@ "name": "Behavior", "supplementaryInformation": "TopDownMovementAnimator::TopDownMovementAnimator", "type": "behavior" + }, + { + "defaultValue": "yes", + "description": "IsPausingAnimation", + "name": "Value", + "optional": true, + "type": "yesorno" } ], "objectGroups": [] }, { - "description": "Check if the animation is scaled according to speed.", - "fullName": "Scale animation according to speed", + "description": "Check if animations are scaled according to speed.", + "fullName": "Scale animations according to speed", "functionType": "Condition", "name": "IsScalingAnimation", - "sentence": "_PARAM0_ animation is scaled according to speed", + "sentence": "_PARAM0_ animations are scaled according to speed", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -6037,11 +6187,11 @@ "objectGroups": [] }, { - "description": "Change whether the animation is scaled according to speed or not.", - "fullName": "Scale animation according to speed", + "description": "Change whether animations are scaled according to speed or not.", + "fullName": "Scale animations according to speed", "functionType": "Action", "name": "SetIsScalingAnimation", - "sentence": "Scale the animation of _PARAM0_ according to speed: _PARAM2_", + "sentence": "Scale animations of _PARAM0_ according to speed: _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -6109,7 +6259,7 @@ }, { "type": { - "value": "TopDownMovementAnimator::TopDownMovementAnimator::SetAnimationSpeedScale" + "value": "TopDownMovementAnimator::TopDownMovementAnimator::UpdateAnimationSpeedScale" }, "parameters": [ "Object", @@ -6146,13 +6296,25 @@ "description": "Change the animation speed scale according to the object speed.", "fullName": "Animation speed scale", "functionType": "Action", - "name": "SetAnimationSpeedScale", + "name": "UpdateAnimationSpeedScale", "private": true, "sentence": "Change the animation speed scale according to _PARAM0_ speed", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "TopDownMovementBehavior::MaxSpeed" + }, + "parameters": [ + "Object", + "TopDownMovement", + ">", + "0" + ] + } + ], "actions": [ { "type": { @@ -6166,6 +6328,113 @@ ] } ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "TopDownMovementBehavior::MaxSpeed" + }, + "parameters": [ + "Object", + "TopDownMovement", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "AnimatableCapability::AnimatableBehavior::SetSpeedScale" + }, + "parameters": [ + "Object", + "Animation", + "=", + "0" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "TopDownMovementAnimator::TopDownMovementAnimator", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Pause the animation according to the object speed.", + "fullName": "Animation pause", + "functionType": "Action", + "name": "UpdateAnimationPause", + "private": true, + "sentence": "Pause the animation according to _PARAM0_ speed", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "TopDownMovementBehavior::Speed" + }, + "parameters": [ + "Object", + "TopDownMovement", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "AnimatableCapability::AnimatableBehavior::PlayAnimation" + }, + "parameters": [ + "Object", + "Animation" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "TopDownMovementBehavior::Speed" + }, + "parameters": [ + "Object", + "TopDownMovement", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "AnimatableCapability::AnimatableBehavior::PauseAnimation" + }, + "parameters": [ + "Object", + "Animation" + ] + } + ] } ], "parameters": [ @@ -6276,12 +6545,12 @@ "objectGroups": [] }, { - "description": "Change the animation direction of the object.", - "fullName": "Animation direction", + "description": "Update the animation direction of the object.", + "fullName": "Update animation direction", "functionType": "Action", - "name": "SetAnimationDirection", + "name": "UpdateAnimationDirection", "private": true, - "sentence": "Change the animation direction of _PARAM0_ to _PARAM2_", + "sentence": "Update the animation direction of _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Comment", @@ -6304,85 +6573,219 @@ "value": "SetNumberVariable" }, "parameters": [ - "AnimationDirection", - "=", - "mod(mod(round(Value), DirectionCount) + DirectionCount, DirectionCount)" - ] - }, - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "AnimationElapsedTime", + "NewAnimationDirection", "=", - "Object.Animation::ElapsedTime()" + "Object.Behavior::Direction()" ] - }, + } + ], + "events": [ { - "type": { - "value": "AnimatableCapability::AnimatableBehavior::SetName" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "Object", - "Animation", - "=", - "AnimationName + ToString(AnimationDirection)" - ] + "comment": "Use a small margin is used to avoid to flicker between 2 directions." }, { - "type": { - "value": "AnimatableCapability::AnimatableBehavior::SetElapsedTime" - }, - "parameters": [ - "Object", - "Animation", - "=", - "AnimationElapsedTime" - ] - } - ], - "variables": [ - { - "folded": true, - "name": "AnimationElapsedTime", - "type": "number", - "value": 0 - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "TopDownMovementAnimator::TopDownMovementAnimator", - "type": "behavior" - }, - { - "description": "Value", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "", - "type": "Behavior", - "label": "Animatable capability", - "extraInformation": [ - "AnimatableCapability::AnimatableBehavior" - ], - "name": "Animation" - }, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "abs(Object.Behavior::DirectionDifference(NewAnimationDirection, AnimationDirection))", + ">", + "0.5 + 0.03125" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AnimationDirection", + "=", + "mod(mod(round(NewAnimationDirection), DirectionCount) + DirectionCount, DirectionCount)" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AnimationElapsedTime", + "=", + "Object.Animation::ElapsedTime()" + ] + }, + { + "type": { + "value": "TopDownMovementAnimator::TopDownMovementAnimator::UpdateAnimationName" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "AnimatableCapability::AnimatableBehavior::SetElapsedTime" + }, + "parameters": [ + "Object", + "Animation", + "=", + "AnimationElapsedTime" + ] + } + ], + "variables": [ + { + "folded": true, + "name": "AnimationElapsedTime", + "type": "number", + "value": 0 + } + ] + } + ] + } + ], + "variables": [ + { + "folded": true, + "name": "NewAnimationDirection", + "type": "number", + "value": 0 + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "TopDownMovementAnimator::TopDownMovementAnimator", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Update the animation name.", + "fullName": "Update animation name", + "functionType": "Action", + "name": "UpdateAnimationName", + "private": true, + "sentence": "Update the animation name of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "AnimatableCapability::AnimatableBehavior::SetName" + }, + "parameters": [ + "Object", + "Animation", + "=", + "AnimationName + AnimationDirection" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Allow to use the same animation for any direction." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "AnimatableCapability::AnimatableBehavior::Name" + }, + "parameters": [ + "Object", + "Animation", + "!=", + "AnimationName + AnimationDirection" + ] + } + ], + "actions": [ + { + "type": { + "value": "AnimatableCapability::AnimatableBehavior::SetName" + }, + "parameters": [ + "Object", + "Animation", + "=", + "AnimationName" + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "TopDownMovementAnimator::TopDownMovementAnimator", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Animatable capability", + "extraInformation": [ + "AnimatableCapability::AnimatableBehavior" + ], + "name": "Animation" + }, { "value": "", "type": "Behavior", @@ -6395,10 +6798,17 @@ { "value": "true", "type": "Boolean", - "label": "Scale animation according to speed", + "label": "Scale animations according to speed", "group": "Animation", "name": "IsScalingAnimation" }, + { + "value": "true", + "type": "Boolean", + "label": "Pause animations when objects stop", + "group": "Animation", + "name": "IsPausingAnimation" + }, { "value": "Walk", "type": "String", @@ -7908,13 +8318,13 @@ "category": "Input", "extensionNamespace": "", "fullName": "Multitouch joystick and buttons (sprite)", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "/objects/multitouch-joystick", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMTYiIGN5PSIxNiIgcj0iMTMiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjI4LjQsMTIgMjAsMTIgMjAsMy42ICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMjAsMjguNCAyMCwyMCAyOC40LDIwICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMy42LDIwIDEyLDIwIDEyLDI4LjQgIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIxMiwzLjYgMTIsMTIgMy42LDEyICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxNiw2IDE2LjcsNyAxNS4zLDcgIi8+DQo8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjE2LDI2IDE1LjMsMjUgMTYuNywyNSAiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iNiwxNiA3LDE1LjMgNywxNi43ICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyNiwxNiAyNSwxNi43IDI1LDE1LjMgIi8+DQo8L3N2Zz4NCg==", "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.7.0", + "version": "1.8.3", "description": [ "Multitouch joysticks can be used the same way as physical gamepads:", "- 4 or 8 directions", @@ -11104,11 +11514,10 @@ }, { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::PropertyRadius" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Radius", ">", "DistanceBetweenPositions(Object.CenterX(), Object.CenterY(), TouchX(StartedTouchOrMouseId(TouchIndex), Object.Layer()), TouchY(StartedTouchOrMouseId(TouchIndex), Object.Layer()))" ] @@ -11427,6 +11836,7 @@ "fullName": "Platformer multitouch controller mapper", "name": "PlatformerMultitouchMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -11641,6 +12051,7 @@ "fullName": "3D platformer multitouch controller mapper", "name": "Platformer3DMultitouchMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -11776,6 +12187,7 @@ "fullName": "3D shooter multitouch controller mapper", "name": "Shooter3DMultitouchMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -11900,6 +12312,7 @@ "fullName": "First person camera multitouch controller mapper", "name": "FirstPersonMultitouchMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -12929,11 +13342,177 @@ ], "sharedPropertyDescriptors": [] }, + { + "description": "Control a 3D physics car with a multitouch controller.", + "fullName": "3D car multitouch controller mapper", + "name": "PhysicsCar3DMultitouchMapper", + "objectType": "", + "quickCustomizationVisibility": "hidden", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SpriteMultitouchJoystick::StickForce" + }, + "parameters": [ + "", + ">", + "0", + "ControllerIdentifier", + "SteerJoystickIdentifier", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCar3D::SimulateSteeringStick" + }, + "parameters": [ + "Object", + "PhysicsCar3D", + "SpriteMultitouchJoystick::StickForceX(ControllerIdentifier, \"Primary\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SpriteMultitouchJoystick::StickForce" + }, + "parameters": [ + "", + ">", + "0", + "ControllerIdentifier", + "SpeedJoystickIdentifier", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCar3D::SimulateAcceleratorStick" + }, + "parameters": [ + "Object", + "PhysicsCar3D", + "-SpriteMultitouchJoystick::StickForceY(ControllerIdentifier, \"Secondary\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SpriteMultitouchJoystick::IsButtonPressed" + }, + "parameters": [ + "", + "ControllerIdentifier", + "HandBrakeButton", + "\"Down\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCar3D::SimulateHandBrakeKey" + }, + "parameters": [ + "Object", + "PhysicsCar3D" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SpriteMultitouchJoystick::PhysicsCar3DMultitouchMapper", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "3D physics car", + "extraInformation": [ + "Physics3D::PhysicsCar3D" + ], + "name": "PhysicsCar3D" + }, + { + "value": "1", + "type": "Number", + "label": "Controller identifier (1, 2, 3, 4...)", + "name": "ControllerIdentifier" + }, + { + "value": "Primary", + "type": "Choice", + "label": "Steer joystick", + "group": "Controls", + "extraInformation": [ + "Primary", + "Secondary" + ], + "name": "SteerJoystickIdentifier" + }, + { + "value": "Secondary", + "type": "Choice", + "label": "Speed joystick", + "group": "Controls", + "extraInformation": [ + "Primary", + "Secondary" + ], + "name": "SpeedJoystickIdentifier" + }, + { + "value": "B", + "type": "String", + "label": "Hand brake button name", + "group": "Controls", + "name": "HandBrakeButton" + } + ], + "sharedPropertyDescriptors": [] + }, { "description": "Control a top-down character with a multitouch controller.", "fullName": "Top-down multitouch controller mapper", "name": "TopDownMultitouchMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -13773,6 +14352,16 @@ "no", "" ] + }, + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "ShouldBeHiddenWhenReleased", + "False", + "" + ] } ] } @@ -13937,7 +14526,7 @@ }, "parameters": [ "ShouldBeHiddenWhenReleased", - "False", + "True", "" ] }, @@ -33611,13 +34200,13 @@ "category": "Camera", "extensionNamespace": "", "fullName": "Smooth Camera", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "/tutorials/follow-player-with-camera/", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCjwvc3R5bGU+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjQsMTNoLTZjLTEuMSwwLTItMC45LTItMlY1YzAtMS4xLDAuOS0yLDItMmg2YzEuMSwwLDIsMC45LDIsMnY2QzI2LDEyLjEsMjUuMSwxMywyNCwxM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNiw4djEwYzAsMS4xLTAuOSwyLTIsMkg4Yy0xLjEsMC0yLTAuOS0yLTJWOGMwLTEuMSwwLjktMiwyLTJoOCIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjEiIGN5PSI4IiByPSIyIi8+DQo8Y2lyY2xlIGNsYXNzPSJzdDAiIGN4PSIxMSIgY3k9IjE2IiByPSIxIi8+DQo8cmVjdCB4PSI5IiB5PSI5IiBjbGFzcz0ic3QwIiB3aWR0aD0iNCIgaGVpZ2h0PSIzIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIyMSwyOSAyMSwyOSAxMSwyOSAxMSwyOSAiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjE4LDIwIDE4LDI5IDE0LDI5IDE0LDIwICIvPg0KPHJlY3QgeD0iNyIgeT0iMyIgY2xhc3M9InN0MCIgd2lkdGg9IjQiIGhlaWdodD0iMyIvPg0KPC9zdmc+DQo=", "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.4.0", + "version": "0.4.4", "description": [ "The camera follows an object according to:", "- a frame rate independent catch-up speed to make the scrolling from smooth to strong", @@ -33654,6 +34243,7 @@ "fullName": "Smooth Camera", "name": "SmoothCamera", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -34598,44 +35188,40 @@ "subInstructions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaLeft" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowFreeAreaLeft", "!=", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaRight" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowFreeAreaRight", "!=", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaTop" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowFreeAreaTop", "!=", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaBottom" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowFreeAreaBottom", "!=", "0" ] @@ -34948,7 +35534,7 @@ "value": "SetNumberVariable" }, "parameters": [ - "FollowFreeAreaTop", + "FollowFreeAreaRight", "=", "max(0, Value)" ] @@ -34993,7 +35579,7 @@ "value": "SetNumberVariable" }, "parameters": [ - "FollowFreeAreaTop", + "FollowFreeAreaLeft", "=", "max(0, Value)" ] @@ -35149,7 +35735,7 @@ "type": "behavior" }, { - "description": "Leftward maximum speed (in ratio per second)", + "description": "Leftward maximum speed (in pixels per second)", "name": "Value", "type": "expression" } @@ -35173,7 +35759,7 @@ "value": "SetNumberVariable" }, "parameters": [ - "LeftwardSpeedMax", + "RightwardSpeedMax", "=", "max(0, Value)" ] @@ -35699,18 +36285,6 @@ "name": "SetOffsetYOp", "sentence": "", "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Deprecated use SetOffsetYOp instead." - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -35752,6 +36326,18 @@ "private": true, "sentence": "Change the camera offset on Y axis of _PARAM0_: _PARAM2_", "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Deprecated use SetOffsetYOp instead." + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -35855,7 +36441,7 @@ "parameters": [ "CameraDelay", "=", - "min(0, Value)" + "max(0, Value)" ] } ] @@ -36852,22 +37438,20 @@ "subInstructions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyForecastHistoryDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryDuration", ">", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyForecastTime" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastTime", ">", "0" ] @@ -37081,22 +37665,20 @@ "subInstructions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyForecastHistoryDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryDuration", ">", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyForecastTime" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastTime", ">", "0" ] @@ -38426,6 +39008,7 @@ "fullName": "Smooth platformer camera", "name": "SmoothPlatformerCamera", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -38771,22 +39354,19 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Auto typing animation for text (\"typewriter\" effect)", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXR5cGV3cml0ZXIiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMjAgMTNIMTZDMTYgMTQuMSAxNS4xIDE1IDE0IDE1SDEwQzguOSAxNSA4IDE0LjEgOCAxM0g0TDIgMThWMjBDMiAyMS4xIDIuOSAyMiA0IDIySDIwQzIxLjEgMjIgMjIgMjEuMSAyMiAyMFYxOE02IDIwQzUuMTEgMjAgNC42NiAxOC45MiA1LjI5IDE4LjI5QzUuOTIgMTcuNjYgNyAxOC4xMSA3IDE5QzcgMTkuNTUgNi41NSAyMCA2IDIwTTEwIDIwQzkuMTEgMjAgOC42NiAxOC45MiA5LjI5IDE4LjI5QzkuOTIgMTcuNjYgMTEgMTguMTEgMTEgMTlDMTEgMTkuNTUgMTAuNTUgMjAgMTAgMjBNMTQgMjBDMTMuMTEgMjAgMTIuNjYgMTguOTIgMTMuMjkgMTguMjlDMTMuOTIgMTcuNjYgMTUgMTguMTEgMTUgMTlDMTUgMTkuNTUgMTQuNTUgMjAgMTQgMjBNMTggMjBDMTcuMTEgMjAgMTYuNjYgMTguOTIgMTcuMjkgMTguMjlDMTcuOTIgMTcuNjYgMTkgMTguMTEgMTkgMTlDMTkgMTkuNTUgMTguNTUgMjAgMTggMjBNMTggMTBWM0g2VjEwSDNWMTJIMjFWMTBNOCA1SDE2VjZIOE04IDdIMTRWOEg4IiAvPjwvc3ZnPg==", "name": "AutoTyping", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/typewriter.svg", "shortDescription": "Reveal a text one letter after the other.", - "version": "2.1.0", + "version": "2.2.0", "description": [ "Reveal a text one letter after the other (a \"typewriter\" effect).", "", - "It can be used for dialogue scenes or visual novels.", + "It can be used for dialogue scenes or visual novels on Text and Bitmap Text objects.", "", - "The top-down RPG example uses this extension ([open the project online](https://editor.gdevelop.io/?project=example://top-down-rpg)).", - "", - "Breaking changes from 2.0.0:", - "- The 3 behaviors has been merged into a unique one." + "The top-down RPG example uses this extension ([open the project online](https://editor.gdevelop.io/?project=example://top-down-rpg))." ], "origin": { "identifier": "AutoTyping", @@ -39786,13 +40366,13 @@ "category": "Input", "extensionNamespace": "", "fullName": "Gamepads (controllers)", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "/all-features/gamepad", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWdhbWVwYWQtdmFyaWFudC1vdXRsaW5lIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTYsOUg4VjExSDEwVjEzSDhWMTVINlYxM0g0VjExSDZWOU0xOC41LDlBMS41LDEuNSAwIDAsMSAyMCwxMC41QTEuNSwxLjUgMCAwLDEgMTguNSwxMkExLjUsMS41IDAgMCwxIDE3LDEwLjVBMS41LDEuNSAwIDAsMSAxOC41LDlNMTUuNSwxMkExLjUsMS41IDAgMCwxIDE3LDEzLjVBMS41LDEuNSAwIDAsMSAxNS41LDE1QTEuNSwxLjUgMCAwLDEgMTQsMTMuNUExLjUsMS41IDAgMCwxIDE1LjUsMTJNMTcsNUE3LDcgMCAwLDEgMjQsMTJBNyw3IDAgMCwxIDE3LDE5QzE1LjA0LDE5IDEzLjI3LDE4LjIgMTIsMTYuOUMxMC43MywxOC4yIDguOTYsMTkgNywxOUE3LDcgMCAwLDEgMCwxMkE3LDcgMCAwLDEgNyw1SDE3TTcsN0E1LDUgMCAwLDAgMiwxMkE1LDUgMCAwLDAgNywxN0M4LjY0LDE3IDEwLjA5LDE2LjIxIDExLDE1SDEzQzEzLjkxLDE2LjIxIDE1LjM2LDE3IDE3LDE3QTUsNSAwIDAsMCAyMiwxMkE1LDUgMCAwLDAgMTcsN0g3WiIgLz48L3N2Zz4=", "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.7.0", + "version": "0.8.1", "description": [ "Add support for gamepads (or other controllers).", "", @@ -39828,7 +40408,54 @@ ], "dependencies": [], "globalVariables": [], - "sceneVariables": [], + "sceneVariables": [ + { + "name": "Buttons", + "type": "structure", + "children": [ + { + "name": "A or Cross", + "type": "string", + "value": "A" + }, + { + "name": "B or Circle", + "type": "string", + "value": "B" + }, + { + "name": "LB or L1", + "type": "string", + "value": "LB" + }, + { + "name": "LT or L2", + "type": "string", + "value": "LT" + }, + { + "name": "RB or R1", + "type": "string", + "value": "RB" + }, + { + "name": "RT or R2", + "type": "string", + "value": "RT" + }, + { + "name": "X or Square", + "type": "string", + "value": "X" + }, + { + "name": "Y or Triangle", + "type": "string", + "value": "Y" + } + ] + } + ], "eventsFunctions": [ { "fullName": "", @@ -42276,6 +42903,7 @@ "fullName": "Platformer gamepad mapper", "name": "PlatformerGamepadMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -42715,275 +43343,6 @@ { "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": "PlatformBehavior::SimulateJumpKey" - }, - "parameters": [ - "Object", - "PlatformerCharacter" - ] - } - ] - }, - { - "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": "PlatformBehavior::SimulateJumpKey" - }, - "parameters": [ - "Object", - "PlatformerCharacter" - ] - } - ] - }, - { - "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": "PlatformBehavior::SimulateJumpKey" - }, - "parameters": [ - "Object", - "PlatformerCharacter" - ] - } - ] - }, - { - "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": "PlatformBehavior::SimulateJumpKey" - }, - "parameters": [ - "Object", - "PlatformerCharacter" - ] - } - ] - }, - { - "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": "PlatformBehavior::SimulateJumpKey" - }, - "parameters": [ - "Object", - "PlatformerCharacter" - ] - } - ] - }, - { - "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" @@ -42991,7 +43350,7 @@ "parameters": [ "", "GamepadIdentifier", - "\"RT\"", + "Buttons[JumpButton]", "\"Left\"" ] } @@ -43089,6 +43448,7 @@ "fullName": "3D platformer gamepad mapper", "name": "Platformer3DGamepadMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -43157,275 +43517,6 @@ { "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" @@ -43433,7 +43524,7 @@ "parameters": [ "", "GamepadIdentifier", - "\"RT\"", + "Buttons[JumpButton]", "\"Left\"" ] } @@ -43521,6 +43612,7 @@ "fullName": "3D shooter gamepad mapper", "name": "Shooter3DGamepadMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -43578,275 +43670,6 @@ { "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" @@ -43854,7 +43677,7 @@ "parameters": [ "", "GamepadIdentifier", - "\"RT\"", + "Buttons[JumpButton]", "\"Left\"" ] } @@ -43953,6 +43776,7 @@ "fullName": "First person camera gamepad mapper", "name": "FirstPersonGamepadMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -44981,11 +44805,357 @@ ], "sharedPropertyDescriptors": [] }, + { + "description": "Control a 3D physics car with a gamepad.", + "fullName": "3D car gamepad mapper", + "name": "PhysicsCar3DGamepadMapper", + "objectType": "", + "quickCustomizationVisibility": "hidden", + "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": "BooleanVariable" + }, + "parameters": [ + "UseArrows", + "True", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"Left\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCar3D::SimulateLeftKey" + }, + "parameters": [ + "Object", + "PhysicsCar3D" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "\"Right\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCar3D::SimulateRightKey" + }, + "parameters": [ + "Object", + "PhysicsCar3D" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "UseLeftStick", + "True", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "1", + "\"Left\"", + "\"Any\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCar3D::SimulateSteeringStick" + }, + "parameters": [ + "Object", + "PhysicsCar3D", + "Gamepads::StickForceX(GamepadIdentifier, \"Left\")" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "UseRightStick", + "True", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "1", + "\"Right\"", + "\"Any\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCar3D::SimulateSteeringStick" + }, + "parameters": [ + "Object", + "PhysicsCar3D", + "Gamepads::StickForceX(GamepadIdentifier, \"Right\")" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "1", + "\"LT\"", + "\"Up\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "1", + "\"RT\"", + "\"Up\"" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCar3D::SimulateAcceleratorStick" + }, + "parameters": [ + "Object", + "PhysicsCar3D", + "Gamepads::TriggerPressure(GamepadIdentifier, \"RT\") - Gamepads::TriggerPressure(GamepadIdentifier, \"LT\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "GamepadIdentifier", + "Buttons[HandBrakeButton]", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCar3D::SimulateHandBrakeKey" + }, + "parameters": [ + "Object", + "PhysicsCar3D" + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::PhysicsCar3DGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "3D physics car", + "extraInformation": [ + "Physics3D::PhysicsCar3D" + ], + "name": "PhysicsCar3D" + }, + { + "value": "1", + "type": "Number", + "label": "Gamepad identifier (1, 2, 3 or 4)", + "name": "GamepadIdentifier" + }, + { + "value": "true", + "type": "Boolean", + "label": "Use directional pad", + "group": "Controls", + "name": "UseArrows" + }, + { + "value": "true", + "type": "Boolean", + "label": "Use left stick", + "group": "Controls", + "name": "UseLeftStick" + }, + { + "value": "", + "type": "Boolean", + "label": "Use right stick", + "group": "Controls", + "name": "UseRightStick" + }, + { + "value": "B or Circle", + "type": "Choice", + "label": "Hand brake button", + "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": "HandBrakeButton" + } + ], + "sharedPropertyDescriptors": [] + }, { "description": "Control a top-down character with a gamepad.", "fullName": "Top-down gamepad mapper", "name": "TopDownGamepadMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", From b54999da9997f1a93104467c610093a6a8cd8a3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Wed, 16 Jul 2025 13:03:26 +0200 Subject: [PATCH 03/11] Update extensions --- examples/3d-shark-frenzy/3d-shark-frenzy.json | 1071 +++++------------ 1 file changed, 304 insertions(+), 767 deletions(-) diff --git a/examples/3d-shark-frenzy/3d-shark-frenzy.json b/examples/3d-shark-frenzy/3d-shark-frenzy.json index 3db462c03..c68224d1a 100644 --- a/examples/3d-shark-frenzy/3d-shark-frenzy.json +++ b/examples/3d-shark-frenzy/3d-shark-frenzy.json @@ -1,7 +1,7 @@ { "firstLayout": "Menu", "gdVersion": { - "build": 231, + "build": 236, "major": 5, "minor": 5, "revision": 0 @@ -925,6 +925,8 @@ "crossfadeDuration": 0, "depth": 252, "height": 252, + "isCastingShadow": false, + "isReceivingShadow": false, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", "modelResourceName": "Shark.glb", @@ -2540,6 +2542,8 @@ "crossfadeDuration": 0, "depth": 252, "height": 252, + "isCastingShadow": false, + "isReceivingShadow": false, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", "modelResourceName": "Shark.glb", @@ -2579,6 +2583,8 @@ "crossfadeDuration": 0, "depth": 169, "height": 169, + "isCastingShadow": false, + "isReceivingShadow": false, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", "modelResourceName": "Cliff 1.glb", @@ -2602,6 +2608,8 @@ "crossfadeDuration": 0, "depth": 206, "height": 206, + "isCastingShadow": false, + "isReceivingShadow": false, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", "modelResourceName": "Cliff 3.glb", @@ -2903,6 +2911,8 @@ "crossfadeDuration": 0, "depth": 30, "height": 30, + "isCastingShadow": false, + "isReceivingShadow": false, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", "modelResourceName": "Red Snapper.glb", @@ -2988,6 +2998,8 @@ "crossfadeDuration": 0, "depth": 30, "height": 30, + "isCastingShadow": false, + "isReceivingShadow": false, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", "modelResourceName": "Clownfish.glb", @@ -3073,6 +3085,8 @@ "crossfadeDuration": 0, "depth": 30, "height": 30, + "isCastingShadow": false, + "isReceivingShadow": false, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", "modelResourceName": "Parrot Fish.glb", @@ -3158,6 +3172,8 @@ "crossfadeDuration": 0, "depth": 30, "height": 30, + "isCastingShadow": false, + "isReceivingShadow": false, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", "modelResourceName": "Yellow Tang.glb", @@ -3660,6 +3676,8 @@ "crossfadeDuration": 0, "depth": 45, "height": 45, + "isCastingShadow": false, + "isReceivingShadow": false, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", "modelResourceName": "Lionfish.glb", @@ -3745,6 +3763,8 @@ "crossfadeDuration": 0, "depth": 40, "height": 40, + "isCastingShadow": false, + "isReceivingShadow": false, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", "modelResourceName": "Anglerfish.glb", @@ -4247,6 +4267,8 @@ "crossfadeDuration": 0, "depth": 50, "height": 50, + "isCastingShadow": false, + "isReceivingShadow": false, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", "modelResourceName": "Spiky Ball.glb", @@ -4332,6 +4354,8 @@ "crossfadeDuration": 0, "depth": 91, "height": 91, + "isCastingShadow": false, + "isReceivingShadow": false, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", "modelResourceName": "Grass.glb", @@ -4380,6 +4404,8 @@ "crossfadeDuration": 0, "depth": 108, "height": 108, + "isCastingShadow": false, + "isReceivingShadow": false, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", "modelResourceName": "Grass 2.glb", @@ -7702,7 +7728,7 @@ "name": "ScreenOrientationChecker", "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/0126888931a4a4f82bb2824df9f096347ace1c47f510c44df42aa8dc9e49e24a_screen-rotation.svg", "shortDescription": "Display a customizable screen asking the user to rotate their phone/tablet if not in the right orientation.", - "version": "0.1.0", + "version": "0.1.1", "description": "Display a customizable screen asking the user to rotate their phone/tablet if not in the right orientation.", "origin": { "identifier": "ScreenOrientationChecker", @@ -8242,18 +8268,22 @@ "subInstructions": [ { "type": { - "value": "ScreenOrientationChecker::ScreenOrientationChecker::PropertyIsShown" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "IsShown", + "True", + "" ] }, { "type": { - "value": "ScreenOrientationChecker::ScreenOrientationChecker::PropertyIsForceShown" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "IsForceShown", + "True", + "" ] } ] @@ -8625,9 +8655,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsShown" }, @@ -8636,8 +8663,6 @@ "type": "Boolean", "label": "Force show the screen", "description": "Use this to test the screen in your game", - "group": "", - "extraInformation": [], "name": "IsForceShown" }, { @@ -8645,9 +8670,7 @@ "type": "Number", "unit": "Pixel", "label": "Padding", - "description": "", "group": "Appearance", - "extraInformation": [], "name": "Padding" }, { @@ -8657,16 +8680,13 @@ "label": "Corner radius", "description": "Corner radius for the background", "group": "Appearance", - "extraInformation": [], "name": "CornerRadius" }, { "value": "0;0;0", "type": "Color", "label": "Background color", - "description": "", "group": "Appearance", - "extraInformation": [], "name": "BackgroundColor" } ], @@ -12493,8 +12513,6 @@ "value": "", "type": "Behavior", "label": "3D capability", - "description": "", - "group": "", "extraInformation": [ "Scene3D::Base3DBehavior" ], @@ -12504,8 +12522,6 @@ "value": "", "type": "Behavior", "label": "Scalable capacity", - "description": "", - "group": "", "extraInformation": [ "ScalableCapability::ScalableBehavior" ], @@ -12515,8 +12531,6 @@ "value": "", "type": "Behavior", "label": "Tween", - "description": "", - "group": "", "extraInformation": [ "Tween::TweenBehavior" ], @@ -13721,9 +13735,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Minimum scale volume", - "description": "", "group": "Scale", - "extraInformation": [], "name": "ScaleMin" }, { @@ -13731,9 +13743,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Maximum scale volume", - "description": "", "group": "Scale", - "extraInformation": [], "name": "ScaleMax" }, { @@ -13741,9 +13751,6 @@ "type": "Number", "unit": "Second", "label": "Cycle duration", - "description": "", - "group": "", - "extraInformation": [], "name": "PeriodDuration" }, { @@ -13751,9 +13758,7 @@ "type": "Number", "unit": "Second", "label": "Scale cycle offset", - "description": "", "group": "Scale", - "extraInformation": [], "name": "ScalePeriodOffset" }, { @@ -13761,9 +13766,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Minimum stretch", - "description": "", "group": "Stretch", - "extraInformation": [], "name": "StretchMin" }, { @@ -13771,9 +13774,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Maximum stretch", - "description": "", "group": "Stretch", - "extraInformation": [], "name": "StretchMax" }, { @@ -13781,9 +13782,7 @@ "type": "Number", "unit": "Second", "label": "Stretch cycle offset", - "description": "", "group": "Stretch", - "extraInformation": [], "name": "StretchPeriodOffset" }, { @@ -13791,9 +13790,6 @@ "type": "Number", "unit": "DegreeAngle", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Angle" }, @@ -13802,9 +13798,6 @@ "type": "Number", "unit": "Dimensionless", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ScaleMinTweenTarget" }, @@ -13813,9 +13806,6 @@ "type": "Number", "unit": "Second", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ScaleMinTweenDuration" }, @@ -13823,9 +13813,6 @@ "value": "", "type": "String", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ScaleMinTweenEasing" }, @@ -13834,9 +13821,6 @@ "type": "Number", "unit": "Dimensionless", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ScaleMaxTweenTarget" }, @@ -13845,9 +13829,6 @@ "type": "Number", "unit": "Second", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ScaleMaxTweenDuration" }, @@ -13855,9 +13836,6 @@ "value": "", "type": "String", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ScaleMaxTweenEasing" }, @@ -13866,9 +13844,6 @@ "type": "Number", "unit": "Second", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ScaleMinTweenTime" }, @@ -13877,9 +13852,6 @@ "type": "Number", "unit": "Second", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ScaleMaxTweenTime" }, @@ -13887,9 +13859,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ScaleMinTweenInitialValue" }, @@ -13897,9 +13866,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ScaleMaxTweenInitialValue" }, @@ -13907,8 +13873,6 @@ "value": "Z+", "type": "Choice", "label": "Top orientation", - "description": "", - "group": "", "extraInformation": [ "Z+", "Y-" @@ -13919,8 +13883,6 @@ "value": "", "type": "Behavior", "label": "3D tween", - "description": "", - "group": "", "extraInformation": [ "Tween3D::Tween3D" ], @@ -14560,18 +14522,12 @@ "value": "", "type": "Boolean", "label": "Only follow the position", - "description": "", - "group": "", - "extraInformation": [], "name": "OnlyFollowPosition" }, { "value": "", "type": "Boolean", "label": "Destroy when the object it's stuck on is destroyed", - "description": "", - "group": "", - "extraInformation": [], "name": "IsDestroyedWithParent" } ], @@ -17198,9 +17154,6 @@ "type": "Number", "unit": "Pixel", "label": "Translation amplitude on X axis", - "description": "", - "group": "", - "extraInformation": [], "name": "TranslationAmplitudeX" }, { @@ -17208,9 +17161,6 @@ "type": "Number", "unit": "Pixel", "label": "Translation amplitude on Y axis", - "description": "", - "group": "", - "extraInformation": [], "name": "TranslationAmplitudeY" }, { @@ -17218,9 +17168,6 @@ "type": "Number", "unit": "Pixel", "label": "Translation amplitude on Z axis", - "description": "", - "group": "", - "extraInformation": [], "name": "TranslationAmplitudeZ" }, { @@ -17228,9 +17175,6 @@ "type": "Number", "unit": "DegreeAngle", "label": "Rotation amplitude around X axis", - "description": "", - "group": "", - "extraInformation": [], "name": "RotationAmplitudeX" }, { @@ -17238,9 +17182,6 @@ "type": "Number", "unit": "DegreeAngle", "label": "Rotation amplitude around Y axis", - "description": "", - "group": "", - "extraInformation": [], "name": "RotationAmplitudeY" }, { @@ -17248,18 +17189,12 @@ "type": "Number", "unit": "DegreeAngle", "label": "Rotation amplitude around Z axis", - "description": "", - "group": "", - "extraInformation": [], "name": "RotationAmplitudeZ" }, { "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Time" }, @@ -17267,9 +17202,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Duration" }, @@ -17277,9 +17209,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "StartEasingDuration" }, @@ -17287,9 +17216,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "StopEasingDuration" }, @@ -17297,18 +17223,12 @@ "value": "", "type": "Number", "label": "Frequency", - "description": "", - "group": "", - "extraInformation": [], "name": "Frequency" }, { "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DeltaX" }, @@ -17316,9 +17236,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DeltaY" }, @@ -17326,9 +17243,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DeltaZ" }, @@ -17336,9 +17250,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DeltaAngleX" }, @@ -17346,9 +17257,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DeltaAngleY" }, @@ -17356,9 +17264,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DeltaAngleZ" }, @@ -17366,9 +17271,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "NoiseTime" }, @@ -17376,8 +17278,6 @@ "value": "", "type": "Behavior", "label": "3D capability", - "description": "", - "group": "", "extraInformation": [ "Scene3D::Base3DBehavior" ], @@ -17387,9 +17287,6 @@ "value": "", "type": "Boolean", "label": "Start to shake at the object creation", - "description": "", - "group": "", - "extraInformation": [], "name": "IsStartingAtCreation" } ], @@ -17398,9 +17295,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "EasingFactor" } @@ -21605,36 +21499,24 @@ "value": "0", "type": "Number", "label": "Value", - "description": "", - "group": "", - "extraInformation": [], "name": "CurrentValue" }, { "value": "0", "type": "Number", "label": "Minimum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MinValue" }, { "value": "1", "type": "Number", "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxValue" }, { "value": "0", "type": "Number", "label": "Step size", - "description": "", - "group": "", - "extraInformation": [], "name": "StepSize" } ], @@ -22687,8 +22569,6 @@ "type": "Boolean", "label": "", "description": "Should check hovering", - "group": "", - "extraInformation": [], "hidden": true, "name": "ShouldCheckHovering" }, @@ -22696,8 +22576,6 @@ "value": "Idle", "type": "Choice", "label": "State", - "description": "", - "group": "", "extraInformation": [ "Idle", "Hovered", @@ -22712,9 +22590,6 @@ "value": "0", "type": "Number", "label": "Touch id", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -22722,9 +22597,6 @@ "value": "", "type": "Boolean", "label": "Touch is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIsInside" }, @@ -22732,9 +22604,6 @@ "value": "", "type": "Boolean", "label": "Mouse is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "MouseIsInside" }, @@ -22742,9 +22611,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" } @@ -24834,7 +24700,6 @@ "value": "0", "type": "Number", "label": "Bar left margin", - "description": "", "group": "Bar", "extraInformation": [ "Label", @@ -24846,7 +24711,6 @@ "value": "0", "type": "Number", "label": "Bar top margin", - "description": "", "group": "Bar", "extraInformation": [ "Label", @@ -24858,7 +24722,6 @@ "value": "0", "type": "Number", "label": "Bar right margin", - "description": "", "group": "Bar", "extraInformation": [ "Label", @@ -24870,7 +24733,6 @@ "value": "0", "type": "Number", "label": "Bar bottom margin", - "description": "", "group": "Bar", "extraInformation": [ "Label", @@ -24882,54 +24744,42 @@ "value": "true", "type": "Boolean", "label": "Show the label when the value is changed", - "description": "", "group": "Label", - "extraInformation": [], "name": "ShowLabelAtChanges" }, { "value": "8", "type": "Number", "label": "Label margin", - "description": "", "group": "Label", - "extraInformation": [], "name": "LabelMargin" }, { "value": "0", "type": "Number", "label": "Minimum value", - "description": "", "group": "Value", - "extraInformation": [], "name": "MinValue" }, { "value": "100", "type": "Number", "label": "Maximum value", - "description": "", "group": "Value", - "extraInformation": [], "name": "MaxValue" }, { "value": "1", "type": "Number", "label": "Step size", - "description": "", "group": "Value", - "extraInformation": [], "name": "StepSize" }, { "value": "50", "type": "Number", "label": "Initial value", - "description": "", "group": "Value", - "extraInformation": [], "name": "InitialValue" }, { @@ -24937,8 +24787,6 @@ "type": "Number", "label": "", "description": "It's used to detect a change at hot reload.", - "group": "", - "extraInformation": [], "hidden": true, "name": "PreviousInitialValue" }, @@ -24947,7 +24795,6 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], @@ -24959,7 +24806,6 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "FillBar" ], @@ -24971,7 +24817,6 @@ "type": "Boolean", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Label" ], @@ -26103,8 +25948,6 @@ "type": "Boolean", "label": "", "description": "Should check hovering", - "group": "", - "extraInformation": [], "hidden": true, "name": "ShouldCheckHovering" }, @@ -26112,8 +25955,6 @@ "value": "Idle", "type": "Choice", "label": "State", - "description": "", - "group": "", "extraInformation": [ "Idle", "Hovered", @@ -26128,9 +25969,6 @@ "value": "0", "type": "Number", "label": "Touch id", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -26138,9 +25976,6 @@ "value": "", "type": "Boolean", "label": "Touch is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIsInside" }, @@ -26148,9 +25983,6 @@ "value": "", "type": "Boolean", "label": "Mouse is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "MouseIsInside" }, @@ -26158,9 +25990,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" } @@ -27653,16 +27482,12 @@ "value": "0", "type": "Number", "label": "Label offset on Y axis when pressed", - "description": "", - "group": "", - "extraInformation": [], "name": "PressedLabelOffsetY" }, { "value": "0", "type": "Number", "label": "Left padding", - "description": "", "group": "Padding", "extraInformation": [ "Label" @@ -27673,7 +27498,6 @@ "value": "0", "type": "Number", "label": "Right padding", - "description": "", "group": "Padding", "extraInformation": [ "Label" @@ -27684,7 +27508,6 @@ "value": "0", "type": "Number", "label": "Top padding", - "description": "", "group": "Padding", "extraInformation": [ "Label" @@ -27695,7 +27518,6 @@ "value": "0", "type": "Number", "label": "Bottom padding", - "description": "", "group": "Padding", "extraInformation": [ "Label" @@ -27706,9 +27528,6 @@ "value": "0.25", "type": "Number", "label": "Hovered fade out duration (in seconds)", - "description": "", - "group": "", - "extraInformation": [], "name": "HoveredFadeOutDuration" } ], @@ -32336,18 +32155,14 @@ "value": "100", "type": "Number", "label": "Starting health", - "description": "", "group": "Health", - "extraInformation": [], "name": "Health" }, { "value": "0", "type": "Number", "label": "Current health (life) points", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "CurrentHealth" }, @@ -32357,7 +32172,6 @@ "label": "Maximum health", "description": "Use 0 for no maximum.", "group": "Health", - "extraInformation": [], "name": "MaxHealth" }, { @@ -32365,18 +32179,14 @@ "type": "Number", "unit": "Second", "label": "Damage cooldown", - "description": "", "group": "Health", - "extraInformation": [], "name": "DamageCooldown" }, { "value": "", "type": "Boolean", "label": "Allow heals to increase health above max health (regen will never exceed max health)", - "description": "", "group": "Health", - "extraInformation": [], "advanced": true, "name": "AllowOverHealing" }, @@ -32384,9 +32194,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "IsHealthJustDamaged" }, @@ -32394,9 +32202,7 @@ "value": "0", "type": "Number", "label": "Damage to health from the previous incoming damage", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "DamageToBeApplied" }, @@ -32404,9 +32210,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "HitAtLeastOnce" }, @@ -32416,7 +32220,6 @@ "label": "Chance to dodge incoming damage (between 0 and 1)", "description": "When a damage is dodged, no damage is applied.", "group": "Health", - "extraInformation": [], "advanced": true, "name": "ChanceToDodge" }, @@ -32424,9 +32227,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "IsJustDodged" }, @@ -32434,9 +32235,7 @@ "value": "0", "type": "Number", "label": "Health points gained from the previous heal", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "HealToBeApplied" }, @@ -32444,9 +32243,7 @@ "value": "0", "type": "Number", "label": "Rate of health regeneration (points per second)", - "description": "", "group": "Health regeneration", - "extraInformation": [], "advanced": true, "name": "HealthRegenRate" }, @@ -32457,7 +32254,6 @@ "label": "Health regeneration delay ", "description": "Delay before health regeneration starts after a hit.", "group": "Health regeneration", - "extraInformation": [], "advanced": true, "name": "HealthRegenDelay" }, @@ -32465,9 +32261,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsJustHealed" }, @@ -32475,9 +32268,7 @@ "value": "", "type": "Number", "label": "Current shield points", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "CurrentShieldPoints" }, @@ -32487,7 +32278,6 @@ "label": "Maximum shield", "description": "Leave 0 for unlimited.", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "MaxShieldPoints" }, @@ -32498,7 +32288,6 @@ "label": "Duration of shield", "description": "Use 0 to make the shield permanent.", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "ShieldDuration" }, @@ -32506,9 +32295,7 @@ "value": "0", "type": "Number", "label": "Rate of shield regeneration (points per second)", - "description": "", "group": "Shield regeneration", - "extraInformation": [], "advanced": true, "name": "ShieldRegenRate" }, @@ -32516,9 +32303,7 @@ "value": "", "type": "Boolean", "label": "Block excess damage when shield is broken", - "description": "", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "BlockExcessDamage" }, @@ -32529,7 +32314,6 @@ "label": "Shield regeneration delay", "description": "Delay before shield regeneration starts after a hit.", "group": "Shield regeneration", - "extraInformation": [], "advanced": true, "name": "ShieldRegenDelay" }, @@ -32537,9 +32321,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "IsShieldJustDamaged" }, @@ -32547,9 +32329,7 @@ "value": "", "type": "Number", "label": "Damage to shield from the previous incoming damage", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "ShieldDamageTaken" }, @@ -32559,7 +32339,6 @@ "label": "Flat damage reduction from armor", "description": "Incoming damages are reduced by this value.", "group": "Armor", - "extraInformation": [], "advanced": true, "name": "FlatDamageReduction" }, @@ -32567,9 +32346,7 @@ "value": "0", "type": "Number", "label": "Percentage damage reduction from armor (between 0 and 1)", - "description": "", "group": "Armor", - "extraInformation": [], "advanced": true, "name": "PercentDamageReduction" } @@ -33222,27 +32999,18 @@ "value": "1", "type": "Number", "label": "Value", - "description": "", - "group": "", - "extraInformation": [], "name": "CurrentValue" }, { "value": "3", "type": "Number", "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxValue" }, { "value": "", "type": "Number", "label": "Previous high value", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "PreviousHighValue" }, @@ -33250,9 +33018,6 @@ "value": "1", "type": "Number", "label": "Previous high value conservation duration (in seconds)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "PreviousHighValueDuration" } @@ -35038,7 +34803,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", "group": "Bar", "extraInformation": [ "Label", @@ -35051,7 +34815,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", "group": "Bar", "extraInformation": [ "Label", @@ -35064,7 +34827,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", "group": "Bar", "extraInformation": [ "Label", @@ -35077,7 +34839,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", "group": "Bar", "extraInformation": [ "Label", @@ -35090,18 +34851,12 @@ "value": "3", "type": "Number", "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxValue" }, { "value": "3", "type": "Number", "label": "Initial value", - "description": "", - "group": "", - "extraInformation": [], "name": "InitialValue" }, { @@ -35109,8 +34864,6 @@ "type": "Number", "label": "", "description": "It's used to detect a change at hot reload.", - "group": "", - "extraInformation": [], "hidden": true, "name": "PreviousInitialValue" }, @@ -35118,26 +34871,20 @@ "value": "1", "type": "Number", "label": "Previous high value conservation duration (in seconds)", - "description": "", "group": "Animation", - "extraInformation": [], "name": "PreviousHighValueDuration" }, { "value": "0.25", "type": "Number", "label": "Easing duration", - "description": "", "group": "Animation", - "extraInformation": [], "name": "EasingDuration" }, { "value": "true", "type": "Boolean", "label": "Show the label", - "description": "", - "group": "", "extraInformation": [ "Label" ], @@ -35148,7 +34895,6 @@ "type": "Boolean", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Buffer" ], @@ -35160,7 +34906,6 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Label" ], @@ -35172,7 +34917,6 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "FillBar" ], @@ -35195,7 +34939,7 @@ "name": "RepeatEveryXSeconds", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/repeat.svg", "shortDescription": "Trigger an event every X seconds.", - "version": "0.2.0", + "version": "0.2.1", "description": "Convenience conditions, actions and behaviors for timers to trigger a condition every X seconds.", "origin": { "identifier": "RepeatEveryXSeconds", @@ -35894,22 +35638,20 @@ "subInstructions": [ { "type": { - "value": "RepeatEveryXSeconds::RepeatTimer::PropertyLimit" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Limit", "=", "-1" ] }, { "type": { - "value": "RepeatEveryXSeconds::RepeatTimer::PropertyCounter" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Counter", "<", "Limit" ] @@ -36087,9 +35829,6 @@ "value": "MyTimer", "type": "String", "label": "The name of the timer to repeat", - "description": "", - "group": "", - "extraInformation": [], "deprecated": true, "name": "TimerName" }, @@ -36097,9 +35836,6 @@ "value": "1", "type": "Number", "label": "The time between each trigger (in seconds)", - "description": "", - "group": "", - "extraInformation": [], "deprecated": true, "name": "TimerLength" }, @@ -36107,9 +35843,6 @@ "value": "-1", "type": "Number", "label": "How many times should the timer trigger? -1 for forever.", - "description": "", - "group": "", - "extraInformation": [], "deprecated": true, "name": "Limit" }, @@ -36117,9 +35850,6 @@ "value": "0", "type": "Number", "label": "An internal counter", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Counter" } @@ -36140,7 +35870,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.8.2", + "version": "1.8.3", "description": [ "Multitouch joysticks can be used the same way as physical gamepads:", "- 4 or 8 directions", @@ -39171,18 +38901,12 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "String", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": [], "name": "JoystickIdentifier" }, { @@ -39190,17 +38914,12 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { "value": "0", "type": "Number", "label": "Joystick angle (range: -180 to 180)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickAngle" }, @@ -39208,9 +38927,6 @@ "value": "0", "type": "Number", "label": "Joystick force (range: 0 to 1)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickForce" }, @@ -39218,9 +38934,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -39228,9 +38941,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" } @@ -39350,11 +39060,10 @@ }, { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::PropertyRadius" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Radius", ">", "DistanceBetweenPositions(Object.CenterX(), Object.CenterY(), TouchX(StartedTouchOrMouseId(TouchIndex), Object.Layer()), TouchY(StartedTouchOrMouseId(TouchIndex), Object.Layer()))" ] @@ -39628,27 +39337,18 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "A", "type": "String", "label": "Button identifier", - "description": "", - "group": "", - "extraInformation": [], "name": "ButtonIdentifier" }, { "value": "0", "type": "Number", "label": "TouchID", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -39656,9 +39356,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" }, @@ -39666,9 +39363,6 @@ "value": "", "type": "Boolean", "label": "Button released", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsReleased" }, @@ -39678,8 +39372,6 @@ "unit": "Pixel", "label": "Triggering circle radius", "description": "This circle adds up to the object collision mask.", - "group": "", - "extraInformation": [], "name": "Radius" } ], @@ -39868,8 +39560,6 @@ "value": "", "type": "Behavior", "label": "Platform character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], @@ -39879,16 +39569,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -39900,9 +39586,7 @@ "value": "A", "type": "String", "label": "Jump button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "JumpButton" } ], @@ -40012,8 +39696,6 @@ "value": "", "type": "Behavior", "label": "3D physics character", - "description": "", - "group": "", "extraInformation": [ "Physics3D::PhysicsCharacter3D" ], @@ -40023,16 +39705,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Walk joystick", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -40044,9 +39722,7 @@ "value": "A", "type": "String", "label": "Jump button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "JumpButton" } ], @@ -40145,8 +39821,6 @@ "value": "", "type": "Behavior", "label": "3D physics character", - "description": "", - "group": "", "extraInformation": [ "Physics3D::PhysicsCharacter3D" ], @@ -40156,16 +39830,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Walk joystick", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -40177,9 +39847,7 @@ "value": "A", "type": "String", "label": "Jump button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "JumpButton" } ], @@ -41111,8 +40779,6 @@ "value": "", "type": "Behavior", "label": "3D capability", - "description": "", - "group": "", "extraInformation": [ "Scene3D::Base3DBehavior" ], @@ -41122,16 +40788,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Secondary", "type": "Choice", "label": "Camera joystick", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -41144,27 +40806,21 @@ "type": "Number", "unit": "AngularSpeed", "label": "Maximum rotation speed", - "description": "", "group": "Horizontal rotation", - "extraInformation": [], "name": "HorizontalRotationSpeedMax" }, { "value": "360", "type": "Number", "label": "Rotation acceleration", - "description": "", "group": "Horizontal rotation", - "extraInformation": [], "name": "HorizontalRotationAcceleration" }, { "value": "720", "type": "Number", "label": "Rotation deceleration", - "description": "", "group": "Horizontal rotation", - "extraInformation": [], "name": "HorizontalRotationDeceleration" }, { @@ -41172,27 +40828,21 @@ "type": "Number", "unit": "AngularSpeed", "label": "Maximum rotation speed", - "description": "", "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" }, { @@ -41200,9 +40850,7 @@ "type": "Number", "unit": "DegreeAngle", "label": "Minimum angle", - "description": "", "group": "Vertical rotation", - "extraInformation": [], "name": "VerticalAngleMin" }, { @@ -41210,9 +40858,7 @@ "type": "Number", "unit": "DegreeAngle", "label": "Maximum angle", - "description": "", "group": "Vertical rotation", - "extraInformation": [], "name": "VerticalAngleMax" }, { @@ -41220,9 +40866,7 @@ "type": "Number", "unit": "Pixel", "label": "Z position offset", - "description": "", "group": "Position", - "extraInformation": [], "name": "OffsetZ" }, { @@ -41230,9 +40874,6 @@ "type": "Number", "unit": "AngularSpeed", "label": "Current rotation speed Z", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CurrentRotationSpeedZ" }, @@ -41241,9 +40882,6 @@ "type": "Number", "unit": "AngularSpeed", "label": "Current rotation speed Y", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CurrentRotationSpeedY" } @@ -41372,8 +41010,6 @@ "value": "", "type": "Behavior", "label": "3D physics car", - "description": "", - "group": "", "extraInformation": [ "Physics3D::PhysicsCar3D" ], @@ -41383,16 +41019,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Steer joystick", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -41404,7 +41036,6 @@ "value": "Secondary", "type": "Choice", "label": "Speed joystick", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -41416,9 +41047,7 @@ "value": "B", "type": "String", "label": "Hand brake button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "HandBrakeButton" } ], @@ -41940,8 +41569,6 @@ "value": "", "type": "Behavior", "label": "Top-down movement behavior", - "description": "", - "group": "", "extraInformation": [ "TopDownMovementBehavior::TopDownMovementBehavior" ], @@ -41951,17 +41578,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", "extraInformation": [ "Primary", "Secondary" @@ -41972,7 +41594,6 @@ "value": "Analog", "type": "Choice", "label": "Stick mode", - "description": "", "group": "Controls", "extraInformation": [ "Analog", @@ -43220,17 +42841,12 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", "extraInformation": [ "Primary", "Secondary" @@ -43242,8 +42858,6 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { @@ -43251,7 +42865,6 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], @@ -43263,8 +42876,6 @@ "type": "Number", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ThumbAnchorTarget" }, @@ -43273,7 +42884,6 @@ "type": "Boolean", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], @@ -43285,8 +42895,6 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ParentOrigin" }, @@ -43294,9 +42902,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ShouldBeHiddenWhenReleased" } @@ -43315,20 +42920,14 @@ "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWZpcmUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTcuNjYgMTEuMkMxNy40MyAxMC45IDE3LjE1IDEwLjY0IDE2Ljg5IDEwLjM4QzE2LjIyIDkuNzggMTUuNDYgOS4zNSAxNC44MiA4LjcyQzEzLjMzIDcuMjYgMTMgNC44NSAxMy45NSAzQzEzIDMuMjMgMTIuMTcgMy43NSAxMS40NiA0LjMyQzguODcgNi40IDcuODUgMTAuMDcgOS4wNyAxMy4yMkM5LjExIDEzLjMyIDkuMTUgMTMuNDIgOS4xNSAxMy41NUM5LjE1IDEzLjc3IDkgMTMuOTcgOC44IDE0LjA1QzguNTcgMTQuMTUgOC4zMyAxNC4wOSA4LjE0IDEzLjkzQzguMDggMTMuODggOC4wNCAxMy44MyA4IDEzLjc2QzYuODcgMTIuMzMgNi42OSAxMC4yOCA3LjQ1IDguNjRDNS43OCAxMCA0Ljg3IDEyLjMgNSAxNC40N0M1LjA2IDE0Ljk3IDUuMTIgMTUuNDcgNS4yOSAxNS45N0M1LjQzIDE2LjU3IDUuNyAxNy4xNyA2IDE3LjdDNy4wOCAxOS40MyA4Ljk1IDIwLjY3IDEwLjk2IDIwLjkyQzEzLjEgMjEuMTkgMTUuMzkgMjAuOCAxNy4wMyAxOS4zMkMxOC44NiAxNy42NiAxOS41IDE1IDE4LjU2IDEyLjcyTDE4LjQzIDEyLjQ2QzE4LjIyIDEyIDE3LjY2IDExLjIgMTcuNjYgMTEuMk0xNC41IDE3LjVDMTQuMjIgMTcuNzQgMTMuNzYgMTggMTMuNCAxOC4xQzEyLjI4IDE4LjUgMTEuMTYgMTcuOTQgMTAuNSAxNy4yOEMxMS42OSAxNyAxMi40IDE2LjEyIDEyLjYxIDE1LjIzQzEyLjc4IDE0LjQzIDEyLjQ2IDEzLjc3IDEyLjMzIDEzQzEyLjIxIDEyLjI2IDEyLjIzIDExLjYzIDEyLjUgMTAuOTRDMTIuNjkgMTEuMzIgMTIuODkgMTEuNyAxMy4xMyAxMkMxMy45IDEzIDE1LjExIDEzLjQ0IDE1LjM3IDE0LjhDMTUuNDEgMTQuOTQgMTUuNDMgMTUuMDggMTUuNDMgMTUuMjNDMTUuNDYgMTYuMDUgMTUuMSAxNi45NSAxNC41IDE3LjVIMTQuNVoiIC8+PC9zdmc+", "name": "ParticleEmitter3D", "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/f2e5a34bf465f781866677762d385d6c8e9e8d203383f2df9a3b7e0fad6a2cb5_fire.svg", - "shortDescription": "Display a large number of particles to create visual effects.", - "version": "2.1.1", + "shortDescription": "Display a large number of particles in 3D to create visual effects in a 3D game.", + "version": "2.2.0", "description": [ - "Particle emitters can be used to display:", - "- Fire", - "- Smoke", - "- Splashes", - "- Lights", + "3D particle emitters let you create and display many small particles to simulate visual effects in your game — like fire, explosions, smoke, or dust.", "", - "Breaking change", - "- 2.0.0", - " - Object properties for position and rotation have been removed. They must be set with the instance editor or the action.", - "- 1.0.0", - " - Particles were 3 times too small" + "The parameters of the object can be configured in multiple different ways to create a specific desired effect. GDevelop will give a set of a pre-configured 3D particle emitters that you should try first.", + "", + "Use these 3D particle emitters in 3D games. For 2D games or particles that appear on a game's 2D user interface, use the 2D particle emitter object instead." ], "origin": { "identifier": "ParticleEmitter3D", @@ -43346,6 +42945,16 @@ "authorIds": [ "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" ], + "changelog": [ + { + "version": "2.0.0", + "breaking": "- Object properties for position and rotation have been removed. They must be set with the instance editor or the action." + }, + { + "version": "1.0.0", + "breaking": "- Particles were 3 times too small." + } + ], "dependencies": [], "globalVariables": [], "sceneVariables": [], @@ -43365,6 +42974,8 @@ " return;", "}", "", + "const game = runtimeScene.getGame();", + "", "class ParticleEmitter3DRenderer extends gdjs.CustomRuntimeObject3DRenderer {", " constructor(", " object,", @@ -43391,6 +43002,7 @@ " this._object.getZ()", " );", "", + " // Force the scale to 1 because the particle emitter doesn't really has a size.", " threeObject3D.scale.set(", " this._object.isFlippedX() ? -1 : 1,", " this._object.isFlippedY() ? -1 : 1,", @@ -43403,6 +43015,89 @@ " }", "}", "", + "const coneLength = 64;", + "", + "class ParticleEmitterHelper extends THREE.Object3D {", + " /** @type {gdjs.CustomRuntimeObject3D} */", + " object;", + " /** @type {THREE.LineSegments} */", + " cone;", + " /** @type {THREE.LineSegments} */", + " centerLine;", + " /** @type {THREE.Mesh} */", + " originBox;", + "", + "\t/**", + " * @param gdjs.CustomRuntimeObject3D object", + "\t */", + " constructor(object) {", + " super();", + " this.object = object;", + " this.type = 'ParticleEmitterHelper';", + "", + " const coneGeometry = new THREE.BufferGeometry();", + " const conePositions = [", + " 0, 0, 0, 0, 0, 1,", + " 0, 0, 0, 1, 0, 1,", + " 0, 0, 0, - 1, 0, 1,", + " 0, 0, 0, 0, 1, 1,", + " 0, 0, 0, 0, - 1, 1", + " ];", + " for (let i = 0, j = 1, l = 32; i < l; i++ , j++) {", + " const p1 = (i / l) * Math.PI * 2;", + " const p2 = (j / l) * Math.PI * 2;", + " conePositions.push(", + " Math.cos(p1), Math.sin(p1), 1,", + " Math.cos(p2), Math.sin(p2), 1", + " );", + " }", + " coneGeometry.setAttribute('position', new THREE.Float32BufferAttribute(conePositions, 3));", + " this.cone = new THREE.LineSegments(", + " coneGeometry,", + " new THREE.LineBasicMaterial({ fog: false, toneMapped: false })", + " );", + " this.add(this.cone);", + " const centerLineGeometry = new THREE.BufferGeometry();", + " centerLineGeometry.setAttribute('position', new THREE.Float32BufferAttribute([", + " 0, 0, 0, 0, 0, coneLength", + " ], 3));", + " this.centerLine = new THREE.LineSegments(", + " centerLineGeometry,", + " new THREE.LineBasicMaterial({ fog: false, toneMapped: false })", + " );", + " this.add(this.centerLine);", + "", + " this.originBox = new THREE.Mesh(", + " new THREE.BoxGeometry(16, 16, 16),", + " new THREE.MeshBasicMaterial({ fog: false, toneMapped: false })", + " );", + " this.add(this.originBox);", + " this.update();", + "", + " this.originBox.gdjsRuntimeObject = object;", + " }", + "", + " dispose() {", + " this.cone.geometry.dispose();", + " this.cone.material.dispose();", + " this.centerLine.geometry.dispose();", + " this.centerLine.material.dispose();", + " this.originBox.geometry.dispose();", + " this.originBox.material.dispose();", + " }", + "", + " update() {", + " const coneWidth = coneLength * Math.sin(gdjs.toRad(this.object._getSpayConeAngle()));", + " const coneHeight = coneLength * Math.cos(gdjs.toRad(this.object._getSpayConeAngle()));", + " this.cone.scale.set(coneWidth, coneWidth, coneHeight);", + " const startColor = gdjs.rgbOrHexStringToNumber(this.object._getStartColor())", + " const endColor = gdjs.rgbOrHexStringToNumber(this.object._getEndColor());", + " this.cone.material.color.set(endColor);", + " this.centerLine.material.color.set(startColor);", + " this.originBox.material.color.set(startColor);", + " }", + "}", + "", "/**", " * @param {string} colorString", " * @param {THREE.Vector4} threeColor", @@ -43593,6 +43288,11 @@ " break;", " }", " }", + "", + " setImage(resourceName) {", + " const texture = game.getImageManager().getThreeTexture(resourceName);", + " this.particleSystem.texture = texture;", + " }", "}", "", "", @@ -49969,6 +49669,7 @@ "gdjs.__particleEmmiter3DExtension = {", " ParticleEmitter3DRenderer,", " ParticleEmitterAdapter,", + " ParticleEmitterHelper,", "", " ApplyCollision,", " ApplyForce,", @@ -50182,37 +49883,34 @@ { "type": "BuiltinCommonInstructions::JsCode", "inlineCode": [ - "const BatchedRenderer = gdjs.__particleEmmiter3DExtension.BatchedRenderer;", - "const ParticleSystem = gdjs.__particleEmmiter3DExtension.ParticleSystem;", - "const TextureLoader = gdjs.__particleEmmiter3DExtension.TextureLoader;", - "const IntervalValue = gdjs.__particleEmmiter3DExtension.IntervalValue;", - "const ConstantValue = gdjs.__particleEmmiter3DExtension.ConstantValue;", - "const ConstantColor = gdjs.__particleEmmiter3DExtension.ConstantColor;", - "const ColorOverLife = gdjs.__particleEmmiter3DExtension.ColorOverLife;", - "const SizeOverLife = gdjs.__particleEmmiter3DExtension.SizeOverLife;", - "const ApplyForce = gdjs.__particleEmmiter3DExtension.ApplyForce;", - "const Gradient = gdjs.__particleEmmiter3DExtension.Gradient;", - "const PiecewiseBezier = gdjs.__particleEmmiter3DExtension.PiecewiseBezier;", - "const Bezier = gdjs.__particleEmmiter3DExtension.Bezier;", - "const PointEmitter = gdjs.__particleEmmiter3DExtension.PointEmitter;", - "const ConeEmitter = gdjs.__particleEmmiter3DExtension.ConeEmitter;", - "const RenderMode = gdjs.__particleEmmiter3DExtension.RenderMode;", + "const {", + " ParticleEmitterAdapter,", + " ParticleEmitter3DRenderer,", + " ParticleEmitterHelper,", "", - "const { ParticleEmitterAdapter, ParticleEmitter3DRenderer } = gdjs.__particleEmmiter3DExtension;", + " ParticleSystem,", + " IntervalValue,", + " ConstantValue,", + " ConstantColor,", + " ColorOverLife,", + " SizeOverLife,", + " ApplyForce,", + " Gradient,", + " PiecewiseBezier,", + " Bezier,", + " PointEmitter,", + " ConeEmitter,", + " RenderMode", + "} = gdjs.__particleEmmiter3DExtension;", "", "/** @type {gdjs.CustomRuntimeObject} */", "const object = objects[0];", "", "// Here runtimeScene is the gdjs.CustomRuntimeObjectInstanceContainer inside the custom object.", "const gameScene = object.getRuntimeScene();", + "const game = runtimeScene.getGame();", "", - "/** @type {SpriteObjectDataType} */", - "const particleSpriteData = object._instanceContainer._objects.get(\"Particle\");", - "const resourceName = particleSpriteData.animations[0].directions[0].sprites[0].image;", - "const texture = object", - " .getInstanceContainer()", - " .getGame()", - " .getImageManager().getThreeTexture(resourceName);", + "const texture = game.getImageManager().getThreeTexture('');", "", "// Set the blending here because changes are not applied after the emitter creation.", "const blendingString = object._getBlending();", @@ -50294,8 +49992,15 @@ "", "const particleEmitter3DRenderer = new ParticleEmitter3DRenderer(object, object._instanceContainer, object.getInstanceContainer());", "object._renderer = particleEmitter3DRenderer;", - "particleEmitter3DRenderer._threeGroup = particleSystem.emitter;", - "layer.getRenderer().add3DRendererObject(particleSystem.emitter);", + "if (game.isInGameEdition && game.isInGameEdition()) {", + " const particleEmitterHelper = new ParticleEmitterHelper(object);", + " particleEmitter3DRenderer._threeGroup = particleEmitterHelper;", + " layer.getRenderer().add3DRendererObject(particleEmitterHelper);", + "}", + "else {", + " particleEmitter3DRenderer._threeGroup = particleSystem.emitter;", + " layer.getRenderer().add3DRendererObject(particleSystem.emitter);", + "}", "", "particleSystem.emitter.updateMatrixWorld(true);", "", @@ -50647,6 +50352,15 @@ "Object.GravityTop()", "" ] + }, + { + "type": { + "value": "ParticleEmitter3D::ParticleEmitter3D::UpdateImage" + }, + "parameters": [ + "Object", + "" + ] } ], "events": [ @@ -50736,6 +50450,87 @@ ] } ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ParticleEmitter3D::ParticleEmitter3D::UpdateHelper" + }, + "parameters": [ + "Object", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "ParticleEmitter3D::ParticleEmitter3D", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "fullName": "Update helper", + "functionType": "Action", + "name": "UpdateHelper", + "private": true, + "sentence": "Update graphical helper of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const game = runtimeScene.getGame();", + "if (game.isInGameEdition && game.isInGameEdition()) {", + " const particleEmitterHelper = objects[0].get3DRendererObject();", + " particleEmitterHelper.update();", + "}" + ], + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "ParticleEmitter3D::ParticleEmitter3D", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "fullName": "Update particle image", + "functionType": "Action", + "name": "UpdateImage", + "private": true, + "sentence": "Update particle image of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {gdjs.CustomRuntimeObject3D} */\r", + "const object = objects[0];\r", + "/** @type {SpriteObjectDataType} */\r", + "const particleSpriteData = object._instanceContainer._objects.get(\"Particle\");\r", + "/** @type {gdjs.SpriteAnimationData} */\r", + "const animation = particleSpriteData.animations[0];\r", + "const animationFrame = animation ? animation.directions[0].sprites[0] : null;\r", + "const resourceName = animationFrame ? animationFrame.image : '';\r", + "object.__particleEmitterAdapter.setImage(resourceName);" + ], + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": true } ], "parameters": [ @@ -52907,18 +52702,14 @@ "value": "255;0;0", "type": "Color", "label": "Start color", - "description": "", "group": "Color", - "extraInformation": [], "name": "StartColor" }, { "value": "255;255;0", "type": "Color", "label": "End color", - "description": "", "group": "Color", - "extraInformation": [], "name": "EndColor" }, { @@ -52926,9 +52717,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Start opacity", - "description": "", "group": "Color", - "extraInformation": [], "name": "StartOpacity" }, { @@ -52936,18 +52725,13 @@ "type": "Number", "unit": "Dimensionless", "label": "End opacity", - "description": "", "group": "Color", - "extraInformation": [], "name": "EndOpacity" }, { "value": "50", "type": "Number", "label": "Flow of particles (particles per second)", - "description": "", - "group": "", - "extraInformation": [], "name": "Flow" }, { @@ -52955,9 +52739,7 @@ "type": "Number", "unit": "Pixel", "label": "Start min size", - "description": "", "group": "Size", - "extraInformation": [], "name": "StartSizeMin" }, { @@ -52965,9 +52747,7 @@ "type": "Number", "unit": "Pixel", "label": "Start max size", - "description": "", "group": "Size", - "extraInformation": [], "name": "StartSizeMax" }, { @@ -52975,9 +52755,7 @@ "type": "Number", "unit": "Dimensionless", "label": "End scale", - "description": "", "group": "Size", - "extraInformation": [], "name": "EndScale" }, { @@ -52985,9 +52763,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Start min speed", - "description": "", "group": "Speed", - "extraInformation": [], "name": "StartSpeedMin" }, { @@ -52995,9 +52771,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Start max speed", - "description": "", "group": "Speed", - "extraInformation": [], "name": "StartSpeedMax" }, { @@ -53005,9 +52779,6 @@ "type": "Number", "unit": "Second", "label": "Min lifespan", - "description": "", - "group": "", - "extraInformation": [], "name": "LifespanMin" }, { @@ -53015,9 +52786,6 @@ "type": "Number", "unit": "Second", "label": "Max lifespan", - "description": "", - "group": "", - "extraInformation": [], "name": "LifespanMax" }, { @@ -53025,18 +52793,13 @@ "type": "Number", "unit": "Second", "label": "Emission duration", - "description": "", - "group": "", - "extraInformation": [], "name": "Duration" }, { "value": "", "type": "Boolean", "label": "Particles move with the emitter", - "description": "", "group": "Speed", - "extraInformation": [], "name": "AreParticlesRelative" }, { @@ -53044,16 +52807,13 @@ "type": "Number", "unit": "DegreeAngle", "label": "Spay cone angle", - "description": "", "group": "Position", - "extraInformation": [], "name": "SpayConeAngle" }, { "value": "Additive", "type": "Choice", "label": "Blending", - "description": "", "group": "Color", "extraInformation": [ "Normal", @@ -53068,7 +52828,6 @@ "value": "Y-", "type": "Choice", "label": "Gravity top", - "description": "", "group": "Speed", "extraInformation": [ "Y-", @@ -53081,18 +52840,13 @@ "type": "Number", "unit": "PixelAcceleration", "label": "Gravity", - "description": "", "group": "Speed", - "extraInformation": [], "name": "Gravity" }, { "value": "true", "type": "Boolean", "label": "Delete when emission ends", - "description": "", - "group": "", - "extraInformation": [], "name": "ShouldAutodestruct" }, { @@ -53100,8 +52854,6 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ParentOrigin" }, @@ -53112,7 +52864,6 @@ "label": "Z (elevation)", "description": "Deprecated", "group": "Position", - "extraInformation": [], "hidden": true, "name": "Z" }, @@ -53121,9 +52872,7 @@ "type": "Number", "unit": "DegreeAngle", "label": "Rotation on X axis", - "description": "", "group": "Position", - "extraInformation": [], "hidden": true, "name": "RotationX" }, @@ -53132,9 +52881,7 @@ "type": "Number", "unit": "DegreeAngle", "label": "Rotation on Y axis", - "description": "", "group": "Position", - "extraInformation": [], "hidden": true, "name": "RotationY" } @@ -53154,7 +52901,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.4.2", + "version": "0.4.4", "description": [ "The camera follows an object according to:", "- a frame rate independent catch-up speed to make the scrolling from smooth to strong", @@ -54136,44 +53883,40 @@ "subInstructions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaLeft" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowFreeAreaLeft", "!=", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaRight" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowFreeAreaRight", "!=", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaTop" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowFreeAreaTop", "!=", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaBottom" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FollowFreeAreaBottom", "!=", "0" ] @@ -54486,7 +54229,7 @@ "value": "SetNumberVariable" }, "parameters": [ - "FollowFreeAreaTop", + "FollowFreeAreaRight", "=", "max(0, Value)" ] @@ -54531,7 +54274,7 @@ "value": "SetNumberVariable" }, "parameters": [ - "FollowFreeAreaTop", + "FollowFreeAreaLeft", "=", "max(0, Value)" ] @@ -54687,7 +54430,7 @@ "type": "behavior" }, { - "description": "Leftward maximum speed (in ratio per second)", + "description": "Leftward maximum speed (in pixels per second)", "name": "Value", "type": "expression" } @@ -54711,7 +54454,7 @@ "value": "SetNumberVariable" }, "parameters": [ - "LeftwardSpeedMax", + "RightwardSpeedMax", "=", "max(0, Value)" ] @@ -55237,18 +54980,6 @@ "name": "SetOffsetYOp", "sentence": "", "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Deprecated use SetOffsetYOp instead." - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -55290,6 +55021,18 @@ "private": true, "sentence": "Change the camera offset on Y axis of _PARAM0_: _PARAM2_", "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Deprecated use SetOffsetYOp instead." + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -56390,22 +56133,20 @@ "subInstructions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyForecastHistoryDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryDuration", ">", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyForecastTime" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastTime", ">", "0" ] @@ -56619,22 +56360,20 @@ "subInstructions": [ { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyForecastHistoryDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastHistoryDuration", ">", "0" ] }, { "type": { - "value": "SmoothCamera::SmoothCamera::PropertyForecastTime" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ForecastTime", ">", "0" ] @@ -57600,54 +57339,40 @@ "value": "0.9", "type": "Number", "label": "Leftward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "LeftwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Rightward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "RightwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Upward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "UpwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Downward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "DownwardSpeed" }, { "value": "true", "type": "Boolean", "label": "Follow on X axis", - "description": "", - "group": "", - "extraInformation": [], "name": "FollowOnX" }, { "value": "true", "type": "Boolean", "label": "Follow on Y axis", - "description": "", - "group": "", - "extraInformation": [], "name": "FollowOnY" }, { @@ -57655,9 +57380,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area left border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaLeft" }, @@ -57666,9 +57389,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area right border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaRight" }, @@ -57677,9 +57398,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaTop" }, @@ -57688,9 +57407,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaBottom" }, @@ -57699,9 +57416,7 @@ "type": "Number", "unit": "Pixel", "label": "Camera offset X", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "CameraOffsetX" }, @@ -57710,9 +57425,7 @@ "type": "Number", "unit": "Pixel", "label": "Camera offset Y", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "CameraOffsetY" }, @@ -57721,9 +57434,7 @@ "type": "Number", "unit": "Second", "label": "Camera delay", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "CameraDelay" }, @@ -57732,9 +57443,7 @@ "type": "Number", "unit": "Second", "label": "Forecast time", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "ForecastTime" }, @@ -57743,9 +57452,7 @@ "type": "Number", "unit": "Second", "label": "Forecast history duration", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "ForecastHistoryDuration" }, @@ -57753,9 +57460,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogLeftwardSpeed" }, @@ -57763,9 +57467,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogRightwardSpeed" }, @@ -57773,9 +57474,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogDownwardSpeed" }, @@ -57783,9 +57481,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogUpwardSpeed" }, @@ -57793,9 +57488,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DelayedCenterX" }, @@ -57803,9 +57495,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DelayedCenterY" }, @@ -57813,9 +57502,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryMeanX" }, @@ -57823,9 +57509,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryMeanY" }, @@ -57833,9 +57516,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryVarianceX" }, @@ -57843,9 +57523,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryCovariance" }, @@ -57853,9 +57530,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryLinearA" }, @@ -57863,9 +57537,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryLinearB" }, @@ -57873,9 +57544,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastedX" }, @@ -57883,9 +57551,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastedY" }, @@ -57893,9 +57558,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedNewestX" }, @@ -57903,9 +57565,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedNewestY" }, @@ -57913,9 +57572,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedOldestX" }, @@ -57923,9 +57579,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedOldestY" }, @@ -57933,9 +57586,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryVarianceY" }, @@ -57943,9 +57593,6 @@ "value": "", "type": "Number", "label": "Index (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" }, @@ -57953,9 +57600,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraDelayCatchUpSpeed" }, @@ -57963,9 +57607,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraExtraDelay" }, @@ -57973,9 +57614,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingSpeedXMax" }, @@ -57983,9 +57621,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingSpeedYMax" }, @@ -57993,9 +57628,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingEnd" }, @@ -58003,9 +57635,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraDelayCatchUpDuration" }, @@ -58014,9 +57643,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Leftward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "LeftwardSpeedMax" }, @@ -58025,9 +57652,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Rightward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "RightwardSpeedMax" }, @@ -58036,9 +57661,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "UpwardSpeedMax" }, @@ -58047,9 +57670,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "DownwardSpeedMax" }, @@ -58057,9 +57678,6 @@ "value": "", "type": "Number", "label": "OldX (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldX" }, @@ -58067,9 +57685,6 @@ "value": "", "type": "Number", "label": "OldY (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldY" }, @@ -58077,9 +57692,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsCalledManually" } @@ -58313,8 +57925,6 @@ "value": "", "type": "Behavior", "label": "Platformer character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], @@ -58324,8 +57934,6 @@ "value": "", "type": "Behavior", "label": "Smooth camera behavior", - "description": "", - "group": "", "extraInformation": [ "SmoothCamera::SmoothCamera" ], @@ -58335,9 +57943,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JumpOriginY" }, @@ -58346,9 +57951,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top in the air", - "description": "", "group": "Position", - "extraInformation": [], "name": "AirFollowFreeAreaTop" }, { @@ -58356,9 +57959,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom in the air", - "description": "", "group": "Position", - "extraInformation": [], "name": "AirFollowFreeAreaBottom" }, { @@ -58366,9 +57967,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top on the floor", - "description": "", "group": "Position", - "extraInformation": [], "name": "FloorFollowFreeAreaTop" }, { @@ -58376,45 +57975,35 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom on the floor", - "description": "", "group": "Position", - "extraInformation": [], "name": "FloorFollowFreeAreaBottom" }, { "value": "0.95", "type": "Number", "label": "Upward speed in the air (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "AirUpwardSpeed" }, { "value": "0.95", "type": "Number", "label": "Downward speed in the air (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "AirDownwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Upward speed on the floor (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "FloorUpwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Downward speed on the floor (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "FloorDownwardSpeed" }, { @@ -58422,9 +58011,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed in the air", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "AirUpwardSpeedMax" }, { @@ -58432,9 +58019,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed in the air", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "AirDownwardSpeedMax" }, { @@ -58442,9 +58027,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed on the floor", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "FloorUpwardSpeedMax" }, { @@ -58452,9 +58035,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed on the floor", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "FloorDownwardSpeedMax" } ], @@ -60588,9 +60169,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Maximum speed", - "description": "", "group": "Movement", - "extraInformation": [], "name": "MaxSpeed" }, { @@ -60598,18 +60177,14 @@ "type": "Number", "unit": "PixelAcceleration", "label": "Maximum acceleration", - "description": "", "group": "Movement", - "extraInformation": [], "name": "MaxAcceleration" }, { "value": "true", "type": "Boolean", "label": "Rotate object", - "description": "", "group": "Movement", - "extraInformation": [], "quickCustomizationVisibility": "hidden", "name": "ShouldRotate" }, @@ -60618,9 +60193,7 @@ "type": "Number", "unit": "Pixel", "label": "Cohesion sight radius", - "description": "", "group": "Sight", - "extraInformation": [], "quickCustomizationVisibility": "hidden", "name": "CohesionRadius" }, @@ -60629,9 +60202,7 @@ "type": "Number", "unit": "Pixel", "label": "Alignement sight radius", - "description": "", "group": "Sight", - "extraInformation": [], "quickCustomizationVisibility": "hidden", "name": "AlignmentRadius" }, @@ -60640,9 +60211,7 @@ "type": "Number", "unit": "Pixel", "label": "Separation sight radius", - "description": "", "group": "Sight", - "extraInformation": [], "quickCustomizationVisibility": "hidden", "name": "SeparationRadius" }, @@ -60651,9 +60220,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Cohesion decision weight", - "description": "", "group": "Decision", - "extraInformation": [], "quickCustomizationVisibility": "hidden", "name": "CohesionWeight" }, @@ -60662,9 +60229,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Alignment decision weight", - "description": "", "group": "Decision", - "extraInformation": [], "quickCustomizationVisibility": "hidden", "name": "AlignmentWeight" }, @@ -60673,9 +60238,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Separation decision weight", - "description": "", "group": "Decision", - "extraInformation": [], "quickCustomizationVisibility": "hidden", "name": "SeparationWeight" }, @@ -60684,9 +60247,6 @@ "type": "Number", "unit": "Dimensionless", "label": "Collision layer", - "description": "", - "group": "", - "extraInformation": [], "advanced": true, "quickCustomizationVisibility": "hidden", "name": "CollisionLayer" @@ -60960,8 +60520,6 @@ "value": "", "type": "Behavior", "label": "Text capability", - "description": "", - "group": "", "extraInformation": [ "TextContainerCapability::TextContainerBehavior" ], @@ -60971,18 +60529,12 @@ "value": "Score: ", "type": "String", "label": "Prefix", - "description": "", - "group": "", - "extraInformation": [], "name": "Prefix" }, { "value": "", "type": "String", "label": "Suffix", - "description": "", - "group": "", - "extraInformation": [], "name": "Suffix" }, { @@ -60990,9 +60542,6 @@ "type": "Number", "unit": "Second", "label": "Animation duration", - "description": "", - "group": "", - "extraInformation": [], "name": "Duration" }, { @@ -61000,18 +60549,12 @@ "type": "Number", "unit": "Dimensionless", "label": "Increment", - "description": "", - "group": "", - "extraInformation": [], "name": "Increment" }, { "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CounterValue" }, @@ -61019,9 +60562,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DisplayedValue" }, @@ -61029,9 +60569,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Speed" } From 39bafc6867c2fa42491a37492a50f1d34b7bfebc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Wed, 16 Jul 2025 13:20:14 +0200 Subject: [PATCH 04/11] Use variants --- examples/3d-shark-frenzy/3d-shark-frenzy.json | 1320 +++++++++++------ 1 file changed, 884 insertions(+), 436 deletions(-) diff --git a/examples/3d-shark-frenzy/3d-shark-frenzy.json b/examples/3d-shark-frenzy/3d-shark-frenzy.json index c68224d1a..ce8432639 100644 --- a/examples/3d-shark-frenzy/3d-shark-frenzy.json +++ b/examples/3d-shark-frenzy/3d-shark-frenzy.json @@ -2051,7 +2051,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 0.6364557169127479, + "zoomFactor": 0.8578190964847674, "windowMask": false }, "objectsGroups": [ @@ -3220,7 +3220,7 @@ "assetStoreId": "17a00ca25428306c8db067b2dd8379e9fe1cb562c10443ae2f65f3d561e54f1e", "name": "HealthBar", "type": "PanelSpriteContinuousBar::PanelSpriteContinuousBar", - "variant": "", + "variant": "Health bar", "variables": [], "effects": [], "behaviors": [ @@ -3498,7 +3498,7 @@ "assetStoreId": "17a00ca25428306c8db067b2dd8379e9fe1cb562c10443ae2f65f3d561e54f1e", "name": "StaminaBar", "type": "PanelSpriteContinuousBar::PanelSpriteContinuousBar", - "variant": "", + "variant": "Stamina bar", "variables": [], "effects": [], "behaviors": [ @@ -32361,13 +32361,13 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Resource bar (continuous)", - "gdevelopVersion": ">=5.5.222", + "gdevelopVersion": ">=5.5.230", "helpPath": "/objects/resource-bar", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBkPSJNMjgsMTJIMTRINGMtMi4yLDAtNCwxLjgtNCw0czEuOCw0LDQsNGgxMGgxNGMyLjIsMCw0LTEuOCw0LTRTMzAuMiwxMiwyOCwxMnogTTQsMThjLTEuMSwwLTItMC45LTItMnMwLjktMiwyLTJoMTANCgljMS4xLDAsMiwwLjksMiwycy0wLjksMi0yLDJINHoiLz4NCjwvc3ZnPg0K", "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.2.1", + "version": "2.0.0", "description": [ "A bar that represents a resource in the game (health, mana, ammo, etc).", "", @@ -32392,6 +32392,12 @@ "gqDaZjCfevOOxBYkK6zlhtZnXCg1", "q8ubdigLvIRXLxsJDDTaokO41mc2" ], + "changelog": [ + { + "version": "2.0.0", + "breaking": "- Resource bars now use \"variants\", allowing easy swapping of their visual aspect. You will have to make some adjustments to existing resource bars in your project. Follow this [migration documentation](https://wiki.gdevelop.io/gdevelop5/objects/custom-objects-prefab-template/migrate-to-variants/) to do these changes." + } + ], "dependencies": [], "globalVariables": [], "sceneVariables": [], @@ -33027,7 +33033,7 @@ ], "eventsBasedObjects": [ { - "areaMaxX": 64, + "areaMaxX": 256, "areaMaxY": 64, "areaMaxZ": 64, "areaMinX": 0, @@ -33036,7 +33042,8 @@ "defaultName": "ResourceBar", "description": "A bar that represents a resource in the game (health, mana, ammo, etc).", "fullName": "Resource bar (continuous)", - "isUsingLegacyInstancesRenderer": true, + "isInnerAreaFollowingParentSize": true, + "isUsingLegacyInstancesRenderer": false, "name": "PanelSpriteContinuousBar", "objects": [ { @@ -33049,7 +33056,18 @@ "underlined": false, "variables": [], "effects": [], - "behaviors": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "leftEdgeAnchor": 4, + "rightEdgeAnchor": 4, + "topEdgeAnchor": 4, + "relativeToOriginalWindowSize": true, + "useLegacyBottomAndRightAnchors": false + } + ], "string": "2 / 3", "font": "", "textAlignment": "center", @@ -33076,7 +33094,7 @@ "text": "2 / 3", "font": "", "textAlignment": "center", - "verticalTextAlignment": "top", + "verticalTextAlignment": "center", "characterSize": 20, "color": "0;0;0" } @@ -33089,13 +33107,23 @@ "name": "FillBar", "rightMargin": 0, "texture": "", - "tiled": true, + "tiled": false, "topMargin": 0, "type": "PanelSpriteObject::PanelSprite", "width": 32, "variables": [], "effects": [], "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, { "name": "ResourceBar", "type": "PanelSpriteContinuousBar::ResourceBar", @@ -33118,13 +33146,23 @@ "name": "Buffer", "rightMargin": 0, "texture": "", - "tiled": true, + "tiled": false, "topMargin": 0, "type": "PanelSpriteObject::PanelSprite", "width": 32, "variables": [], "effects": [], "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, { "name": "Tween", "type": "Tween::TweenBehavior" @@ -33139,13 +33177,24 @@ "name": "Background", "rightMargin": 0, "texture": "", - "tiled": true, + "tiled": false, "topMargin": 0, "type": "PanelSpriteObject::PanelSprite", "width": 32, "variables": [], "effects": [], - "behaviors": [] + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] } ], "objectsFolderStructure": { @@ -33196,7 +33245,72 @@ "effects": [] } ], - "instances": [], + "instances": [ + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 64, + "layer": "", + "name": "Background", + "persistentUuid": "fa2b0c42-1baa-489d-9c47-87ec233cbe8c", + "width": 256, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 44, + "layer": "", + "name": "Buffer", + "persistentUuid": "6e01eec9-ca43-4a5c-b4e1-4d9d384473e2", + "width": 236, + "x": 10, + "y": 10, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 44, + "layer": "", + "name": "FillBar", + "persistentUuid": "4833affb-a8d1-4a2b-9019-a20cf5fdc68e", + "width": 196, + "x": 10, + "y": 10, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 64, + "layer": "", + "name": "Label", + "persistentUuid": "0e63f21c-2071-4765-8254-e9021fa84ec4", + "width": 256, + "x": 0, + "y": 32, + "zOrder": 4, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], "eventsFunctions": [ { "fullName": "", @@ -33214,7 +33328,7 @@ "textG": 0, "textR": 0 }, - "comment": "This allows to detect a change of \"intial value\" on hot reload." + "comment": "Anchors won't work as there is an absolute margin and a proportional size at the same time" }, { "type": "BuiltinCommonInstructions::Standard", @@ -33222,12 +33336,100 @@ "actions": [ { "type": { - "value": "SetNumberVariable" + "value": "ActivateBehavior" }, "parameters": [ - "PreviousInitialValue", - "=", - "InitialValue" + "FillBar", + "Anchor", + "" + ] + }, + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "Buffer", + "Anchor", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Buffer", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarLeftPlusRightMargin", + "=", + "Object.Width() - (max(FillBar.BoundingBoxRight(), Buffer.BoundingBoxRight()) - min(FillBar.BoundingBoxLeft(), Buffer.BoundingBoxLeft()))" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarTopPlusBottomMargin", + "=", + "Object.Height() - (max(FillBar.BoundingBoxBottom(), Buffer.BoundingBoxBottom()) - min(FillBar.BoundingBoxTop(), Buffer.BoundingBoxTop()))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Buffer", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarLeftPlusRightMargin", + "=", + "Object.Width() - (FillBar.BoundingBoxRight() - FillBar.BoundingBoxLeft())" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarTopPlusBottomMargin", + "=", + "Object.Height() - (FillBar.BoundingBoxBottom() - FillBar.BoundingBoxTop())" + ] + } ] } ] @@ -33242,7 +33444,7 @@ "textG": 0, "textR": 0 }, - "comment": "Create the child-object instances." + "comment": "This allows to detect a change of \"intial value\" on hot reload." }, { "type": "BuiltinCommonInstructions::Standard", @@ -33250,50 +33452,28 @@ "actions": [ { "type": { - "value": "Create" - }, - "parameters": [ - "", - "Background", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "FillBar", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Background", - "=", - "1" - ] - }, - { - "type": { - "value": "ChangePlan" + "value": "SetNumberVariable" }, "parameters": [ - "FillBar", + "PreviousInitialValue", "=", - "3" + "InitialValue" ] } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create the child-object instances." + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -33303,7 +33483,7 @@ }, "parameters": [ "PreviousHighValueDuration", - ">", + "=", "0" ] } @@ -33311,25 +33491,12 @@ "actions": [ { "type": { - "value": "Create" + "value": "Delete" }, "parameters": [ - "", "Buffer", - "0", - "0", "" ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Buffer", - "=", - "2" - ] } ] }, @@ -33345,52 +33512,6 @@ }, "comment": "Create the label over the bar." }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Label", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Label", - "=", - "4" - ] - }, - { - "type": { - "value": "TextObject::SetTextAlignment" - }, - "parameters": [ - "Label", - "\"center\"" - ] - }, - { - "type": { - "value": "TextObject::SetWrapping" - }, - "parameters": [ - "Label", - "yes" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -33446,45 +33567,56 @@ }, { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetValue" + "value": "PanelSpriteContinuousBar::ResourceBar::SetValue" }, "parameters": [ - "Object", + "FillBar", + "ResourceBar", "=", "InitialValue", - "Object.PropertyInitialValue()" + "" ] }, { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPreviousValueDuration" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ - "Object", + "FillBar", + "Resizable", "=", - "PreviousHighValueDuration", - "" + "Object.WidthForValue()" ] }, { "type": { - "value": "Tween::RemoveTween" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ - "FillBar", - "Tween", - "\"ChangeValue\"" + "Buffer", + "Resizable", + "=", + "FillBar.Width()" ] }, { "type": { - "value": "ResizableCapability::ResizableBehavior::SetWidth" + "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPreviousValueDuration" }, "parameters": [ - "FillBar", - "Resizable", + "Object", "=", - "Object.WidthForValue()" + "PreviousHighValueDuration", + "" + ] + }, + { + "type": { + "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLabel" + }, + "parameters": [ + "Object", + "" ] } ] @@ -33626,144 +33758,101 @@ "sentence": "", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Resize", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "NumberVariable" }, - "comment": "Children instances must be resized when the parent size change:\n- background is resized to take the full dimensions of the parent\n- the bar size is refreshed according to the value\n- the label is put back at the center of the bar\n\nThe scale is set back to 1 because it means that the parent instance has the same dimensions as the union of its children instances." + "parameters": [ + "OldParentWidth", + "!=", + "Object.Width()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "OldParentWidth", + "=", + "Object.Width()" + ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Width()", - "!=", - "max(Background.BoundingBoxRight(), Label.BoundingBoxRight()) - min(Background.BoundingBoxLeft(), Label.BoundingBoxLeft())" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Height()", - "!=", - "max(Background.BoundingBoxBottom(), Label.BoundingBoxBottom()) - min(Background.BoundingBoxTop(), Label.BoundingBoxTop())" - ] - } - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "Width", - "=", - "Object.Width()" - ] - }, - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "Height", - "=", - "Object.Height()" - ] - }, - { - "type": { - "value": "ScalableCapability::ScalableBehavior::SetValue" - }, - "parameters": [ - "Object", - "Scale", - "=", - "1" - ] - }, - { - "type": { - "value": "ResizableCapability::ResizableBehavior::SetWidth" - }, - "parameters": [ - "Background", - "Resizable", - "=", - "Width" - ] - }, - { - "type": { - "value": "ResizableCapability::ResizableBehavior::SetHeight" - }, - "parameters": [ - "Background", - "Resizable", - "=", - "Height" - ] - }, - { - "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLayout" - }, - "parameters": [ - "Object", - "" - ] - } - ], - "variables": [ - { - "name": "Width", - "type": "number", - "value": 0 - }, - { - "name": "Height", - "type": "number", - "value": 0 - } - ] - } + "type": { + "value": "ResizableCapability::ResizableBehavior::SetWidth" + }, + "parameters": [ + "FillBar", + "Resizable", + "=", + "Object.WidthForValue()" + ] + }, + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetWidth" + }, + "parameters": [ + "Buffer", + "Resizable", + "=", + "FillBar.Width()" + ] + }, + { + "type": { + "value": "Tween::RemoveTween" + }, + "parameters": [ + "FillBar", + "Tween", + "\"ChangeValue\"" + ] + }, + { + "type": { + "value": "Tween::RemoveTween" + }, + "parameters": [ + "Buffer", + "Tween", + "\"ChangeValue\"" ] } - ], - "parameters": [] + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetHeight" + }, + "parameters": [ + "FillBar", + "Resizable", + "=", + "Object.Height() - BarTopPlusBottomMargin" + ] + }, + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetHeight" + }, + "parameters": [ + "Buffer", + "Resizable", + "=", + "FillBar.Height()" + ] + } + ] }, { "type": "BuiltinCommonInstructions::Standard", @@ -33878,18 +33967,6 @@ "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "FillBar", - "=", - "BarLeftPadding", - "=", - "BarTopPadding" - ] - }, { "type": { "value": "ResizableCapability::ResizableBehavior::SetWidth" @@ -33901,35 +33978,6 @@ "Object.WidthForValue()" ] }, - { - "type": { - "value": "ResizableCapability::ResizableBehavior::SetHeight" - }, - "parameters": [ - "FillBar", - "Resizable", - "=", - "round(Background.Height() - BarTopPadding - BarBottomPadding)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "Buffer", - "=", - "FillBar.X()", - "=", - "FillBar.Y()" - ] - }, { "type": { "value": "ResizableCapability::ResizableBehavior::SetWidth" @@ -33940,65 +33988,6 @@ "=", "FillBar.Width()" ] - }, - { - "type": { - "value": "ResizableCapability::ResizableBehavior::SetHeight" - }, - "parameters": [ - "Buffer", - "Resizable", - "=", - "FillBar.Height()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "Label", - "=", - "BarLeftPadding", - "=", - "BarTopPadding" - ] - }, - { - "type": { - "value": "TextObject::WrappingWidth" - }, - "parameters": [ - "Label", - "=", - "Object.FullBarWidth()" - ] - }, - { - "type": { - "value": "SetCenterY" - }, - "parameters": [ - "Label", - "=", - "FillBar.CenterY()" - ] - }, - { - "type": { - "value": "SetCenterX" - }, - "parameters": [ - "Label", - "=", - "Background.CenterX() + (BarLeftPadding - BarRightPadding) / 2" - ] } ] } @@ -34602,7 +34591,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Background.Width() - BarLeftPadding - BarRightPadding" + "Object.Width() - BarLeftPlusRightMargin" ] } ] @@ -34799,54 +34788,6 @@ } ], "propertyDescriptors": [ - { - "value": "0", - "type": "Number", - "label": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarLeftPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarTopPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarRightPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarBottomPadding" - }, { "value": "3", "type": "Number", @@ -34870,6 +34811,7 @@ { "value": "1", "type": "Number", + "unit": "Second", "label": "Previous high value conservation duration (in seconds)", "group": "Animation", "name": "PreviousHighValueDuration" @@ -34877,6 +34819,7 @@ { "value": "0.25", "type": "Number", + "unit": "Second", "label": "Easing duration", "group": "Animation", "name": "EasingDuration" @@ -34891,40 +34834,545 @@ "name": "ShowLabel" }, { - "value": "", - "type": "Boolean", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "extraInformation": [ - "Buffer" - ], "hidden": true, - "name": "ShowBuffer" + "name": "BarLeftPlusRightMargin" }, { - "value": "Center", - "type": "String", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "extraInformation": [ - "Label" - ], "hidden": true, - "name": "LabelVerticalAnchorOrigin" + "name": "BarTopPlusBottomMargin" }, { - "value": "Center", - "type": "String", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "extraInformation": [ - "FillBar" - ], "hidden": true, - "name": "LabelVerticalAnchorTarget" + "name": "OldParentWidth" } ], - "variants": [] + "variants": [ + { + "areaMaxX": 98, + "areaMaxY": 32, + "areaMaxZ": 1, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "name": "Stamina bar", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "leftEdgeAnchor": 4, + "rightEdgeAnchor": 4, + "topEdgeAnchor": 4, + "relativeToOriginalWindowSize": true, + "useLegacyBottomAndRightAnchors": false + } + ], + "string": "100 / 100", + "font": "CantoraOne-Regular.ttf", + "textAlignment": "center", + "characterSize": 14, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "100 / 100", + "font": "CantoraOne-Regular.ttf", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 14, + "color": "255;255;255" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 18, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "efb17aade7ab227ae611ea6c681413bedfaecd4b661b793675b1dd59ca941d2e_Shaded Blue Fill Bar.png", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 18, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ResourceBar", + "type": "PanelSpriteContinuousBar::ResourceBar", + "Value": 1, + "MaxValue": 3, + "PreviousValue": 0, + "CurrentValue": 1 + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Buffer", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 7, + "height": 32, + "leftMargin": 9, + "name": "Background", + "rightMargin": 9, + "texture": "Metal Bar Border.png", + "tiled": false, + "topMargin": 7, + "type": "PanelSpriteObject::PanelSprite", + "width": 98, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Buffer" + }, + { + "objectName": "Background" + } + ] + }, + "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": [ + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Background", + "persistentUuid": "fa2b0c42-1baa-489d-9c47-87ec233cbe8c", + "width": 256, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 18, + "layer": "", + "name": "FillBar", + "persistentUuid": "4833affb-a8d1-4a2b-9019-a20cf5fdc68e", + "width": 80, + "x": 9, + "y": 7, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 32, + "layer": "", + "name": "Label", + "persistentUuid": "0e63f21c-2071-4765-8254-e9021fa84ec4", + "width": 98, + "x": 0, + "y": 16, + "zOrder": 4, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ] + }, + { + "areaMaxX": 98, + "areaMaxY": 32, + "areaMaxZ": 1, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "name": "Health bar", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "leftEdgeAnchor": 4, + "rightEdgeAnchor": 4, + "topEdgeAnchor": 4, + "relativeToOriginalWindowSize": true, + "useLegacyBottomAndRightAnchors": false + } + ], + "string": "100 / 100", + "font": "CantoraOne-Regular.ttf", + "textAlignment": "center", + "characterSize": 14, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "100 / 100", + "font": "CantoraOne-Regular.ttf", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 14, + "color": "255;255;255" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 18, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "Pixel Red Fill Bar.png", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 18, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ResourceBar", + "type": "PanelSpriteContinuousBar::ResourceBar", + "Value": 1, + "MaxValue": 3, + "PreviousValue": 0, + "CurrentValue": 1 + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Buffer", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 7, + "height": 32, + "leftMargin": 9, + "name": "Background", + "rightMargin": 9, + "texture": "Metal Bar Border.png", + "tiled": false, + "topMargin": 7, + "type": "PanelSpriteObject::PanelSprite", + "width": 98, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Buffer" + }, + { + "objectName": "Background" + } + ] + }, + "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": [ + { + "angle": 0, + "customSize": false, + "height": 64, + "layer": "", + "name": "Background", + "persistentUuid": "fa2b0c42-1baa-489d-9c47-87ec233cbe8c", + "width": 256, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 18, + "layer": "", + "name": "FillBar", + "persistentUuid": "4833affb-a8d1-4a2b-9019-a20cf5fdc68e", + "width": 80, + "x": 9, + "y": 7, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 32, + "layer": "", + "name": "Label", + "persistentUuid": "0e63f21c-2071-4765-8254-e9021fa84ec4", + "width": 98, + "x": 0, + "y": 16, + "zOrder": 4, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ] + } + ] } ] }, From f7d7a18cc6a5055e3553a6c17b3fdb6c7f7361b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Wed, 16 Jul 2025 13:57:32 +0200 Subject: [PATCH 05/11] Use variants --- .../assets/Flat Bar Red Fill Bar.png | Bin 0 -> 157 bytes .../assets/Flat Bar White Border.png | Bin 0 -> 204 bytes .../assets/Healthbar.png | Bin 153 -> 0 bytes .../assets/HealthbarBorder.png | Bin 226 -> 0 bytes .../conviction-of-gun-dude-desktop.json | 2273 ++++++++++------- 5 files changed, 1289 insertions(+), 984 deletions(-) create mode 100644 examples/conviction-of-gun-dude-desktop/assets/Flat Bar Red Fill Bar.png create mode 100644 examples/conviction-of-gun-dude-desktop/assets/Flat Bar White Border.png delete mode 100644 examples/conviction-of-gun-dude-desktop/assets/Healthbar.png delete mode 100644 examples/conviction-of-gun-dude-desktop/assets/HealthbarBorder.png diff --git a/examples/conviction-of-gun-dude-desktop/assets/Flat Bar Red Fill Bar.png b/examples/conviction-of-gun-dude-desktop/assets/Flat Bar Red Fill Bar.png new file mode 100644 index 0000000000000000000000000000000000000000..ed4af9e9afa17cfb65708b65f96041f6a45e7fbc GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^H-K1zgAGW|IAI(Kq&N#aB8wRqxP?HN@zUM8KR`i$ zPZ!6Kid%0l8}c$R@EqRIBwg<%+g$s*W`@I(B{P}qm6#-Wc-TOgjTwZS8G*R*AOjE| mNN51!1Oq`30m23n1(7w%h<%=*ucaBq*ytCl$8jF01F2$e1|0?%`SO1&u6{1-oD!MsUCLSQxnkfRu;=hX9L)g8-01 z$0s;0oLT16kT#c@zopr E05E$=5.5.230", "helpPath": "/objects/resource-bar", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBkPSJNMjgsMTJIMTRINGMtMi4yLDAtNCwxLjgtNCw0czEuOCw0LDQsNGgxMGgxNGMyLjIsMCw0LTEuOCw0LTRTMzAuMiwxMiwyOCwxMnogTTQsMThjLTEuMSwwLTItMC45LTItMnMwLjktMiwyLTJoMTANCgljMS4xLDAsMiwwLjksMiwycy0wLjksMi0yLDJINHoiLz4NCjwvc3ZnPg0K", "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.1", + "version": "2.0.0", "description": [ "A bar that represents a resource in the game (health, mana, ammo, etc).", "", @@ -24467,6 +24392,12 @@ "gqDaZjCfevOOxBYkK6zlhtZnXCg1", "q8ubdigLvIRXLxsJDDTaokO41mc2" ], + "changelog": [ + { + "version": "2.0.0", + "breaking": "- Resource bars now use \"variants\", allowing easy swapping of their visual aspect. You will have to make some adjustments to existing resource bars in your project. Follow this [migration documentation](https://wiki.gdevelop.io/gdevelop5/objects/custom-objects-prefab-template/migrate-to-variants/) to do these changes." + } + ], "dependencies": [], "globalVariables": [], "sceneVariables": [], @@ -24509,7 +24440,7 @@ "Object", "\"__ResourceBar.LastValueChange\"", "<=", - "Object.Behavior::PropertyPreviousHighValueDuration()" + "PreviousHighValueDuration" ] } ], @@ -24558,7 +24489,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyValue()" + "CurrentValue" ] } ] @@ -24595,13 +24526,12 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentValue", "=", - "clamp(GetArgumentAsNumber(\"Value\"), 0, Object.Behavior::MaxValue())" + "clamp(Value, 0, Object.Behavior::MaxValue())" ] } ] @@ -24611,11 +24541,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Value", "<", "Object.Behavior::PreviousHighValue()" ] @@ -24638,13 +24567,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Value", ">=", - "Object.Behavior::PropertyPreviousHighValue()" + "PreviousHighValue" ] } ], @@ -24694,7 +24622,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMaxValue()" + "MaxValue" ] } ] @@ -24731,13 +24659,12 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyMaxValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxValue", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -24770,11 +24697,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentValue", "=", "0" ] @@ -24819,13 +24745,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentValue", "=", - "Object.Behavior::PropertyMaxValue()" + "MaxValue" ] } ], @@ -24872,7 +24797,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyPreviousHighValue()" + "PreviousHighValue" ] } ] @@ -24909,13 +24834,12 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyPreviousHighValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousHighValue", "=", - "Object.Behavior::PropertyValue()" + "CurrentValue" ] } ] @@ -24953,7 +24877,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyPreviousHighValueDuration()" + "PreviousHighValueDuration" ] } ] @@ -24990,13 +24914,12 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyPreviousHighValueDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousHighValueDuration", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -25029,14 +24952,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PreviousHighValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousHighValue", "!=", - "Object.Behavior::PropertyValue()", - "" + "CurrentValue" ] }, { @@ -25047,7 +24968,7 @@ "Object", "\"__ResourceBar.LastValueChange\"", "<=", - "Object.Behavior::PropertyPreviousHighValueDuration()" + "PreviousHighValueDuration" ] } ], @@ -25084,27 +25005,18 @@ "value": "1", "type": "Number", "label": "Value", - "description": "", - "group": "", - "extraInformation": [], - "name": "Value" + "name": "CurrentValue" }, { "value": "3", "type": "Number", "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxValue" }, { "value": "", "type": "Number", "label": "Previous high value", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "PreviousHighValue" }, @@ -25112,9 +25024,7 @@ "value": "1", "type": "Number", "label": "Previous high value conservation duration (in seconds)", - "description": "", - "group": "", - "extraInformation": [], + "hidden": true, "name": "PreviousHighValueDuration" } ], @@ -25123,7 +25033,7 @@ ], "eventsBasedObjects": [ { - "areaMaxX": 64, + "areaMaxX": 256, "areaMaxY": 64, "areaMaxZ": 64, "areaMinX": 0, @@ -25132,8 +25042,275 @@ "defaultName": "ResourceBar", "description": "A bar that represents a resource in the game (health, mana, ammo, etc).", "fullName": "Resource bar (continuous)", - "isUsingLegacyInstancesRenderer": true, + "isInnerAreaFollowingParentSize": true, + "isUsingLegacyInstancesRenderer": false, "name": "PanelSpriteContinuousBar", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "leftEdgeAnchor": 4, + "rightEdgeAnchor": 4, + "topEdgeAnchor": 4, + "relativeToOriginalWindowSize": true, + "useLegacyBottomAndRightAnchors": false + } + ], + "string": "2 / 3", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "2 / 3", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 20, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ResourceBar", + "type": "PanelSpriteContinuousBar::ResourceBar", + "Value": 1, + "MaxValue": 3, + "PreviousValue": 0, + "CurrentValue": 1 + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Buffer", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Background", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Buffer" + }, + { + "objectName": "Background" + } + ] + }, + "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": [ + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 64, + "layer": "", + "name": "Background", + "persistentUuid": "fa2b0c42-1baa-489d-9c47-87ec233cbe8c", + "width": 256, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 44, + "layer": "", + "name": "Buffer", + "persistentUuid": "6e01eec9-ca43-4a5c-b4e1-4d9d384473e2", + "width": 236, + "x": 10, + "y": 10, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 44, + "layer": "", + "name": "FillBar", + "persistentUuid": "4833affb-a8d1-4a2b-9019-a20cf5fdc68e", + "width": 196, + "x": 10, + "y": 10, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 64, + "layer": "", + "name": "Label", + "persistentUuid": "0e63f21c-2071-4765-8254-e9021fa84ec4", + "width": 256, + "x": 0, + "y": 32, + "zOrder": 4, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], "eventsFunctions": [ { "fullName": "", @@ -25151,7 +25328,7 @@ "textG": 0, "textR": 0 }, - "comment": "This allows to detect a change of \"intial value\" on hot reload." + "comment": "Anchors won't work as there is an absolute margin and a proportional size at the same time" }, { "type": "BuiltinCommonInstructions::Standard", @@ -25159,12 +25336,100 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyPreviousInitialValue" + "value": "ActivateBehavior" }, "parameters": [ - "Object", - "=", - "Object.PropertyInitialValue()" + "FillBar", + "Anchor", + "" + ] + }, + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "Buffer", + "Anchor", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Buffer", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarLeftPlusRightMargin", + "=", + "Object.Width() - (max(FillBar.BoundingBoxRight(), Buffer.BoundingBoxRight()) - min(FillBar.BoundingBoxLeft(), Buffer.BoundingBoxLeft()))" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarTopPlusBottomMargin", + "=", + "Object.Height() - (max(FillBar.BoundingBoxBottom(), Buffer.BoundingBoxBottom()) - min(FillBar.BoundingBoxTop(), Buffer.BoundingBoxTop()))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Buffer", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarLeftPlusRightMargin", + "=", + "Object.Width() - (FillBar.BoundingBoxRight() - FillBar.BoundingBoxLeft())" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarTopPlusBottomMargin", + "=", + "Object.Height() - (FillBar.BoundingBoxBottom() - FillBar.BoundingBoxTop())" + ] + } ] } ] @@ -25179,7 +25444,7 @@ "textG": 0, "textR": 0 }, - "comment": "Create the child-object instances." + "comment": "This allows to detect a change of \"intial value\" on hot reload." }, { "type": "BuiltinCommonInstructions::Standard", @@ -25187,60 +25452,38 @@ "actions": [ { "type": { - "value": "Create" - }, - "parameters": [ - "", - "Background", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "FillBar", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Background", - "=", - "1" - ] - }, - { - "type": { - "value": "ChangePlan" + "value": "SetNumberVariable" }, "parameters": [ - "FillBar", + "PreviousInitialValue", "=", - "3" + "InitialValue" ] } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create the child-object instances." + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyPreviousHighValueDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - ">", + "PreviousHighValueDuration", + "=", "0" ] } @@ -25248,25 +25491,12 @@ "actions": [ { "type": { - "value": "Create" + "value": "Delete" }, "parameters": [ - "", "Buffer", - "0", - "0", "" ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Buffer", - "=", - "2" - ] } ] }, @@ -25282,62 +25512,18 @@ }, "comment": "Create the label over the bar." }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Label", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Label", - "=", - "4" - ] - }, - { - "type": { - "value": "TextObject::SetTextAlignment" - }, - "parameters": [ - "Label", - "\"center\"" - ] - }, - { - "type": { - "value": "TextObject::SetWrapping" - }, - "parameters": [ - "Label", - "yes" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { "inverted": true, - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyShowLabel" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShowLabel", + "True", + "" ] } ], @@ -25375,50 +25561,62 @@ "parameters": [ "Object", "=", - "Object.PropertyMaxValue()", + "MaxValue", "Object.PropertyMaxValue()" ] }, { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetValue" + "value": "PanelSpriteContinuousBar::ResourceBar::SetValue" }, "parameters": [ - "Object", + "FillBar", + "ResourceBar", "=", - "Object.PropertyInitialValue()", - "Object.PropertyInitialValue()" + "InitialValue", + "" ] }, { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPreviousValueDuration" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ - "Object", + "FillBar", + "Resizable", "=", - "Object.PropertyPreviousHighValueDuration()", - "" + "Object.WidthForValue()" ] }, { "type": { - "value": "Tween::RemoveTween" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ - "FillBar", - "Tween", - "\"ChangeValue\"" + "Buffer", + "Resizable", + "=", + "FillBar.Width()" ] }, { "type": { - "value": "PanelSpriteObject::Width" + "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPreviousValueDuration" }, "parameters": [ - "FillBar", + "Object", "=", - "Object.WidthForValue()" + "PreviousHighValueDuration", + "" + ] + }, + { + "type": { + "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLabel" + }, + "parameters": [ + "Object", + "" ] } ] @@ -25460,7 +25658,7 @@ "parameters": [ "Object", "=", - "Object.PropertyMaxValue()", + "MaxValue", "Object.PropertyMaxValue()" ] } @@ -25471,24 +25669,24 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyInitialValue" + "value": "NumberVariable" }, "parameters": [ - "Object", + "InitialValue", "!=", - "Object.PropertyPreviousInitialValue()" + "PreviousInitialValue" ] } ], "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyPreviousInitialValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", + "PreviousInitialValue", "=", - "Object.PropertyInitialValue()" + "InitialValue" ] }, { @@ -25498,7 +25696,7 @@ "parameters": [ "Object", "=", - "Object.PropertyInitialValue()", + "InitialValue", "Object.PropertyInitialValue()" ] }, @@ -25509,7 +25707,7 @@ "parameters": [ "Object", "=", - "Object.PropertyPreviousHighValueDuration()", + "PreviousHighValueDuration", "" ] }, @@ -25531,10 +25729,11 @@ "actions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "FillBar", + "Resizable", "=", "Object.WidthForValue()" ] @@ -25559,124 +25758,101 @@ "sentence": "", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Resize", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "OldParentWidth", + "!=", + "Object.Width()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" }, - "comment": "Children instances must be resized when the parent size change:\n- background is resized to take the full dimensions of the parent\n- the bar size is refreshed according to the value\n- the label is put back at the center of the bar\n\nThe scale is set back to 1 because it means that the parent instance has the same dimensions as the union of its children instances." + "parameters": [ + "OldParentWidth", + "=", + "Object.Width()" + ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Width()", - "!=", - "max(Background.BoundingBoxRight(), Label.BoundingBoxRight()) - min(Background.BoundingBoxLeft(), Label.BoundingBoxLeft())" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Height()", - "!=", - "max(Background.BoundingBoxBottom(), Label.BoundingBoxBottom()) - min(Background.BoundingBoxTop(), Label.BoundingBoxTop())" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Background", - "Width", - "=", - "Object.Width()" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Background", - "Height", - "=", - "Object.Height()" - ] - }, - { - "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::Scale" - }, - "parameters": [ - "Object", - "=", - "1" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Width" - }, - "parameters": [ - "Background", - "=", - "Background.Variable(Width)" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Height" - }, - "parameters": [ - "Background", - "=", - "Background.Variable(Height)" - ] - }, - { - "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLayout" - }, - "parameters": [ - "Object", - "" - ] - } + "type": { + "value": "ResizableCapability::ResizableBehavior::SetWidth" + }, + "parameters": [ + "FillBar", + "Resizable", + "=", + "Object.WidthForValue()" + ] + }, + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetWidth" + }, + "parameters": [ + "Buffer", + "Resizable", + "=", + "FillBar.Width()" + ] + }, + { + "type": { + "value": "Tween::RemoveTween" + }, + "parameters": [ + "FillBar", + "Tween", + "\"ChangeValue\"" + ] + }, + { + "type": { + "value": "Tween::RemoveTween" + }, + "parameters": [ + "Buffer", + "Tween", + "\"ChangeValue\"" ] } - ], - "parameters": [] + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetHeight" + }, + "parameters": [ + "FillBar", + "Resizable", + "=", + "Object.Height() - BarTopPlusBottomMargin" + ] + }, + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetHeight" + }, + "parameters": [ + "Buffer", + "Resizable", + "=", + "FillBar.Height()" + ] + } + ] }, { "type": "BuiltinCommonInstructions::Standard", @@ -25701,7 +25877,7 @@ "actions": [ { "type": { - "value": "Tween::AddObjectWidthTween" + "value": "Tween::TweenBehavior::AddObjectWidthTween2" }, "parameters": [ "Buffer", @@ -25709,7 +25885,7 @@ "\"ChangeValue\"", "Object.WidthForValue()", "\"linear\"", - "Object.PropertyEasingDuration() * 1000", + "EasingDuration", "" ] } @@ -25720,10 +25896,11 @@ "conditions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::Width" }, "parameters": [ "FillBar", + "Resizable", "<", "Buffer.Width()" ] @@ -25746,10 +25923,11 @@ "conditions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::Width" }, "parameters": [ "FillBar", + "Resizable", ">=", "Buffer.Width()" ] @@ -25791,121 +25969,25 @@ "actions": [ { "type": { - "value": "MettreXY" - }, - "parameters": [ - "FillBar", - "=", - "Object.PropertyBarLeftPadding()", - "=", - "Object.PropertyBarTopPadding()" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "FillBar", + "Resizable", "=", "Object.WidthForValue()" ] }, { "type": { - "value": "PanelSpriteObject::Height" - }, - "parameters": [ - "FillBar", - "=", - "round(Background.Height() - Object.PropertyBarTopPadding() - Object.PropertyBarBottomPadding())" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "Buffer", - "=", - "FillBar.X()", - "=", - "FillBar.Y()" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "Buffer", + "Resizable", "=", "FillBar.Width()" ] - }, - { - "type": { - "value": "PanelSpriteObject::Height" - }, - "parameters": [ - "Buffer", - "=", - "FillBar.Height()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "Label", - "=", - "Object.PropertyBarLeftPadding()", - "=", - "Object.PropertyBarTopPadding()" - ] - }, - { - "type": { - "value": "TextObject::WrappingWidth" - }, - "parameters": [ - "Label", - "=", - "Object.FullBarWidth()" - ] - }, - { - "type": { - "value": "SetCenterY" - }, - "parameters": [ - "Label", - "=", - "FillBar.CenterY()" - ] - }, - { - "type": { - "value": "SetCenterX" - }, - "parameters": [ - "Label", - "=", - "Background.CenterX() + (Object.PropertyBarLeftPadding() - Object.PropertyBarRightPadding()) / 2" - ] } ] } @@ -25975,7 +26057,7 @@ "FillBar", "ResourceBar", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -25986,10 +26068,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyEasingDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "EasingDuration", ">", "0" ] @@ -25998,7 +26080,7 @@ "actions": [ { "type": { - "value": "Tween::AddObjectWidthTween" + "value": "Tween::TweenBehavior::AddObjectWidthTween2" }, "parameters": [ "FillBar", @@ -26006,7 +26088,7 @@ "\"ChangeValue\"", "Object.WidthForValue()", "\"linear\"", - "Object.PropertyEasingDuration() * 1000", + "EasingDuration", "" ] } @@ -26017,10 +26099,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyEasingDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "EasingDuration", "<=", "0" ] @@ -26029,10 +26111,11 @@ "actions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "FillBar", + "Resizable", "=", "Object.WidthForValue()" ] @@ -26071,10 +26154,11 @@ "actions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "Buffer", + "Resizable", "=", "round(Object.FullBarWidth() * FillBar.ResourceBar::PreviousHighValue() / FillBar.ResourceBar::MaxValue())" ] @@ -26115,7 +26199,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "FillBar.ResourceBar::PropertyMaxValue()" + "FillBar.ResourceBar::MaxValue()" ] } ] @@ -26153,7 +26237,7 @@ "FillBar", "ResourceBar", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] }, @@ -26299,7 +26383,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "FillBar.ResourceBar::PropertyPreviousHighValueDuration()" + "FillBar.ResourceBar::PreviousHighValueDuration()" ] } ] @@ -26337,7 +26421,7 @@ "FillBar", "ResourceBar", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -26507,7 +26591,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Background.Width() - Object.PropertyBarLeftPadding() - Object.PropertyBarRightPadding()" + "Object.Width() - BarLeftPlusRightMargin" ] } ] @@ -26539,10 +26623,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyShowLabel" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShowLabel", + "True", + "" ] } ], @@ -26582,21 +26668,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", + "" ] }, { @@ -26614,21 +26703,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyShowLabel" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "yes" + "ShowLabel", + "True", + "" ] }, { @@ -26672,10 +26764,11 @@ "actions": [ { "type": { - "value": "TextObject::String" + "value": "TextContainerCapability::TextContainerBehavior::SetValue" }, "parameters": [ "Label", + "Text", "=", "ToString(round(Object.Value())) + \" / \" + ToString(Object.MaxValue())" ] @@ -26695,74 +26788,16 @@ } ], "propertyDescriptors": [ - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarLeftPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarTopPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarRightPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarBottomPadding" - }, { "value": "3", "type": "Number", "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxValue" }, { "value": "3", "type": "Number", "label": "Initial value", - "description": "", - "group": "", - "extraInformation": [], "name": "InitialValue" }, { @@ -26770,235 +26805,582 @@ "type": "Number", "label": "", "description": "It's used to detect a change at hot reload.", - "group": "", - "extraInformation": [], "hidden": true, "name": "PreviousInitialValue" }, { "value": "1", "type": "Number", + "unit": "Second", "label": "Previous high value conservation duration (in seconds)", - "description": "", "group": "Animation", - "extraInformation": [], "name": "PreviousHighValueDuration" }, { "value": "0.25", "type": "Number", + "unit": "Second", "label": "Easing duration", - "description": "", "group": "Animation", - "extraInformation": [], "name": "EasingDuration" }, { "value": "true", "type": "Boolean", "label": "Show the label", - "description": "", - "group": "", "extraInformation": [ "Label" ], "name": "ShowLabel" }, { - "value": "", - "type": "Boolean", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [ - "Buffer" - ], "hidden": true, - "name": "ShowBuffer" + "name": "BarLeftPlusRightMargin" }, { - "value": "Center", - "type": "String", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [ - "Label" - ], "hidden": true, - "name": "LabelVerticalAnchorOrigin" + "name": "BarTopPlusBottomMargin" }, { - "value": "Center", - "type": "String", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [ - "FillBar" - ], "hidden": true, - "name": "LabelVerticalAnchorTarget" + "name": "OldParentWidth" } ], - "objects": [ - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "Label", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "2 / 3", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 + "variants": [ + { + "areaMaxX": 224, + "areaMaxY": 34, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "name": "Health bar", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ], + "string": "4 / 4", + "font": "PTSans-Bold.ttf", + "textAlignment": "center", + "characterSize": 22, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "4 / 4", + "font": "PTSans-Bold.ttf", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 22, + "color": "255;255;255" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 24, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "Flat Bar Red Fill Bar.png", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 24, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ResourceBar", + "type": "PanelSpriteContinuousBar::ResourceBar", + "Value": 1, + "MaxValue": 3, + "PreviousValue": 0, + "CurrentValue": 1 + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 24, + "leftMargin": 0, + "name": "Buffer", + "rightMargin": 0, + "texture": "Flat Bar Red Fill Bar.png", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 24, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 6, + "height": 34, + "leftMargin": 4, + "name": "Background", + "rightMargin": 4, + "texture": "Flat Bar White Border.png", + "tiled": false, + "topMargin": 6, + "type": "PanelSpriteObject::PanelSprite", + "width": 224, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Buffer" + }, + { + "objectName": "Background" + } + ] }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "2 / 3", - "font": "", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 20, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "FillBar", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "ResourceBar", - "type": "PanelSpriteContinuousBar::ResourceBar", - "Value": 1, - "MaxValue": 3, - "PreviousValue": 0 - }, - { - "name": "Tween", - "type": "Tween::TweenBehavior" - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Buffer", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Tween", - "type": "Tween::TweenBehavior" + "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": [ + { + "angle": 0, + "customSize": false, + "depth": 1, + "height": 64, + "layer": "", + "name": "Background", + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 64, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 24, + "keepRatio": true, + "layer": "", + "name": "FillBar", + "persistentUuid": "5a0d266a-f680-4580-8e30-0a8516815f9a", + "width": 216, + "x": 4, + "y": 4, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 24, + "keepRatio": true, + "layer": "", + "name": "Label", + "persistentUuid": "03472802-6b7f-42d1-bf9b-68bf9d0d399f", + "width": 216, + "x": 4, + "y": 16, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ] }, { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Background", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Label" - }, - { - "objectName": "FillBar" - }, - { - "objectName": "Buffer" + "areaMaxX": 224, + "areaMaxY": 34, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "assetStoreAssetId": "3d6c54e76a9a06cbd7629c1e78388d4ab808bbf36d644c61d6a14c9ad34d4f89", + "assetStoreOriginalName": "Red Flat Bar", + "name": "Red Flat Bar", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ], + "string": "8 / 16", + "font": "", + "textAlignment": "center", + "characterSize": 16, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "8 / 16", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 16, + "color": "255;255;255" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 24, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "Flat Bar Red Fill Bar.png", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 24, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ResourceBar", + "type": "PanelSpriteContinuousBar::ResourceBar", + "Value": 1, + "MaxValue": 3, + "PreviousValue": 0, + "CurrentValue": 1 + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 24, + "leftMargin": 0, + "name": "Buffer", + "rightMargin": 0, + "texture": "Flat Bar Red Fill Bar.png", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 24, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 6, + "height": 34, + "leftMargin": 4, + "name": "Background", + "rightMargin": 4, + "texture": "Flat Bar White Border.png", + "tiled": false, + "topMargin": 6, + "type": "PanelSpriteObject::PanelSprite", + "width": 224, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Buffer" + }, + { + "objectName": "Background" + } + ] }, - { - "objectName": "Background" - } - ] - }, - "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 + "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": [ + { + "angle": 0, + "customSize": false, + "depth": 1, + "height": 64, + "layer": "", + "name": "Background", + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 64, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 24, + "keepRatio": true, + "layer": "", + "name": "FillBar", + "persistentUuid": "5a0d266a-f680-4580-8e30-0a8516815f9a", + "width": 216, + "x": 4, + "y": 4, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 24, + "keepRatio": true, + "layer": "", + "name": "Label", + "persistentUuid": "03472802-6b7f-42d1-bf9b-68bf9d0d399f", + "width": 216, + "x": 4, + "y": 16, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } - ], - "effects": [] + ] } - ], - "instances": [] + ] } ] }, @@ -27007,6 +27389,7 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Flash layer", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWZsYXNoLW91dGxpbmUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNywySDE3TDEzLjUsOUgxN0wxMCwyMlYxNEg3VjJNOSw0VjEySDEyVjE0LjY2TDE0LDExSDEwLjI0TDEzLjc2LDRIOVoiIC8+PC9zdmc+", "name": "FlashLayer", @@ -27268,6 +27651,7 @@ "category": "Game mechanic", "extensionNamespace": "", "fullName": "Health points and damage", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWhlYXJ0LWhhbGYtZnVsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNi41LDVDMTUsNSAxMy41OCw1LjkxIDEzLDcuMlYxNy43NEMxNy4yNSwxMy44NyAyMCwxMS4yIDIwLDguNUMyMCw2LjUgMTguNSw1IDE2LjUsNU0xNi41LDNDMTkuNTgsMyAyMiw1LjQxIDIyLDguNUMyMiwxMi4yNyAxOC42LDE1LjM2IDEzLjQ1LDIwLjAzTDEyLDIxLjM1TDEwLjU1LDIwLjAzQzUuNCwxNS4zNiAyLDEyLjI3IDIsOC41QzIsNS40MSA0LjQyLDMgNy41LDNDOS4yNCwzIDEwLjkxLDMuODEgMTIsNS4wOEMxMy4wOSwzLjgxIDE0Ljc2LDMgMTYuNSwzWiIgLz48L3N2Zz4=", "name": "Health", @@ -31921,18 +32305,14 @@ "value": "100", "type": "Number", "label": "Starting health", - "description": "", "group": "Health", - "extraInformation": [], "name": "Health" }, { "value": "0", "type": "Number", "label": "Current health (life) points", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "CurrentHealth" }, @@ -31942,7 +32322,6 @@ "label": "Maximum health", "description": "Use 0 for no maximum.", "group": "Health", - "extraInformation": [], "name": "MaxHealth" }, { @@ -31950,18 +32329,14 @@ "type": "Number", "unit": "Second", "label": "Damage cooldown", - "description": "", "group": "Health", - "extraInformation": [], "name": "DamageCooldown" }, { "value": "", "type": "Boolean", "label": "Allow heals to increase health above max health (regen will never exceed max health)", - "description": "", "group": "Health", - "extraInformation": [], "advanced": true, "name": "AllowOverHealing" }, @@ -31969,9 +32344,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "IsHealthJustDamaged" }, @@ -31979,9 +32352,7 @@ "value": "0", "type": "Number", "label": "Damage to health from the previous incoming damage", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "DamageToBeApplied" }, @@ -31989,9 +32360,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "HitAtLeastOnce" }, @@ -32001,7 +32370,6 @@ "label": "Chance to dodge incoming damage (between 0 and 1)", "description": "When a damage is dodged, no damage is applied.", "group": "Health", - "extraInformation": [], "advanced": true, "name": "ChanceToDodge" }, @@ -32009,9 +32377,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "IsJustDodged" }, @@ -32019,9 +32385,7 @@ "value": "0", "type": "Number", "label": "Health points gained from the previous heal", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "HealToBeApplied" }, @@ -32029,9 +32393,7 @@ "value": "0", "type": "Number", "label": "Rate of health regeneration (points per second)", - "description": "", "group": "Health regeneration", - "extraInformation": [], "advanced": true, "name": "HealthRegenRate" }, @@ -32042,7 +32404,6 @@ "label": "Health regeneration delay ", "description": "Delay before health regeneration starts after a hit.", "group": "Health regeneration", - "extraInformation": [], "advanced": true, "name": "HealthRegenDelay" }, @@ -32050,9 +32411,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsJustHealed" }, @@ -32060,9 +32418,7 @@ "value": "", "type": "Number", "label": "Current shield points", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "CurrentShieldPoints" }, @@ -32072,7 +32428,6 @@ "label": "Maximum shield", "description": "Leave 0 for unlimited.", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "MaxShieldPoints" }, @@ -32083,7 +32438,6 @@ "label": "Duration of shield", "description": "Use 0 to make the shield permanent.", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "ShieldDuration" }, @@ -32091,9 +32445,7 @@ "value": "0", "type": "Number", "label": "Rate of shield regeneration (points per second)", - "description": "", "group": "Shield regeneration", - "extraInformation": [], "advanced": true, "name": "ShieldRegenRate" }, @@ -32101,9 +32453,7 @@ "value": "", "type": "Boolean", "label": "Block excess damage when shield is broken", - "description": "", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "BlockExcessDamage" }, @@ -32114,7 +32464,6 @@ "label": "Shield regeneration delay", "description": "Delay before shield regeneration starts after a hit.", "group": "Shield regeneration", - "extraInformation": [], "advanced": true, "name": "ShieldRegenDelay" }, @@ -32122,9 +32471,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "IsShieldJustDamaged" }, @@ -32132,9 +32479,7 @@ "value": "", "type": "Number", "label": "Damage to shield from the previous incoming damage", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "ShieldDamageTaken" }, @@ -32144,7 +32489,6 @@ "label": "Flat damage reduction from armor", "description": "Incoming damages are reduced by this value.", "group": "Armor", - "extraInformation": [], "advanced": true, "name": "FlatDamageReduction" }, @@ -32152,9 +32496,7 @@ "value": "0", "type": "Number", "label": "Percentage damage reduction from armor (between 0 and 1)", - "description": "", "group": "Armor", - "extraInformation": [], "advanced": true, "name": "PercentDamageReduction" } @@ -32169,6 +32511,7 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Flash object", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWZsYXNoLW91dGxpbmUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNywySDE3TDEzLjUsOUgxN0wxMCwyMlYxNEg3VjJNOSw0VjEySDEyVjE0LjY2TDE0LDExSDEwLjI0TDEzLjc2LDRIOVoiIC8+PC9zdmc+", "name": "Flash", @@ -33171,17 +33514,12 @@ "unit": "Second", "label": "Half period ", "description": "Time that the object is invisible", - "group": "", - "extraInformation": [], "name": "HalfPeriodTime" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsFlashing" }, @@ -33191,8 +33529,6 @@ "unit": "Second", "label": "Flash duration", "description": "Use \"0\" to keep flashing until stopped", - "group": "", - "extraInformation": [], "hidden": true, "name": "FlashDuration" } @@ -33745,17 +34081,12 @@ "unit": "Second", "label": "Half period", "description": "Time between flashes", - "group": "", - "extraInformation": [], "name": "HalfPeriodTime" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsFlashing" }, @@ -33765,8 +34096,6 @@ "unit": "Second", "label": "Flash duration", "description": "Use \"0\" to keep flashing until stopped", - "group": "", - "extraInformation": [], "hidden": true, "name": "FlashDuration" }, @@ -33774,9 +34103,6 @@ "value": "\"255;255;255\"", "type": "String", "label": "Tint color", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TintColor" } @@ -34385,8 +34711,6 @@ "value": "", "type": "Behavior", "label": "Tween Behavior (required)", - "description": "", - "group": "", "extraInformation": [ "Tween::TweenBehavior" ], @@ -34398,17 +34722,12 @@ "unit": "Second", "label": "Half period", "description": "Time between flashes", - "group": "", - "extraInformation": [], "name": "HalfPeriodTime" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsFlashing" }, @@ -34418,8 +34737,6 @@ "unit": "Second", "label": "Flash duration", "description": "Use \"0\" to keep flashing until stopped", - "group": "", - "extraInformation": [], "hidden": true, "name": "FlashDuration" }, @@ -34429,8 +34746,6 @@ "unit": "Dimensionless", "label": "Target opacity (Range: 0 - 255)", "description": "Opacity will fade between the starting value and a target value", - "group": "", - "extraInformation": [], "hidden": true, "name": "TargetOpacity" }, @@ -34440,8 +34755,6 @@ "unit": "Dimensionless", "label": "Starting opacity", "description": "Opacity will fade between the starting value and a target value", - "group": "", - "extraInformation": [], "hidden": true, "name": "StartingOpacity" } @@ -35142,17 +35455,12 @@ "unit": "Second", "label": "Half period", "description": "Time between flashes", - "group": "", - "extraInformation": [], "name": "HalfPeriodTime" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsFlashing" }, @@ -35162,8 +35470,6 @@ "unit": "Second", "label": "Flash duration", "description": "Use \"0\" to keep flashing until stopped", - "group": "", - "extraInformation": [], "hidden": true, "name": "FlashDuration" }, @@ -35171,9 +35477,6 @@ "value": "", "type": "String", "label": "Name of effect", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "EffectName" } @@ -35188,6 +35491,7 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Shake object", + "gdevelopVersion": "", "helpPath": "https://victrisgames.itch.io/gdevelop-camera-shake-example", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWFycm93LWFsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMywxMUgxOEwxNi41LDkuNUwxNy45Miw4LjA4TDIxLjg0LDEyTDE3LjkyLDE1LjkyTDE2LjUsMTQuNUwxOCwxM0gxM1YxOEwxNC41LDE2LjVMMTUuOTIsMTcuOTJMMTIsMjEuODRMOC4wOCwxNy45Mkw5LjUsMTYuNUwxMSwxOFYxM0g2TDcuNSwxNC41TDYuMDgsMTUuOTJMMi4xNiwxMkw2LjA4LDguMDhMNy41LDkuNUw2LDExSDExVjZMOS41LDcuNUw4LjA4LDYuMDhMMTIsMi4xNkwxNS45Miw2LjA4TDE0LjUsNy41TDEzLDZWMTFaIiAvPjwvc3ZnPg==", "name": "ShakeObject", @@ -39592,6 +39896,7 @@ "category": "Camera", "extensionNamespace": "", "fullName": "Camera shake", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXZlY3Rvci1kaWZmZXJlbmNlLWFiIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTMsMUMxLjg5LDEgMSwxLjg5IDEsM1Y1SDNWM0g1VjFIM003LDFWM0gxMFYxSDdNMTIsMVYzSDE0VjVIMTZWM0MxNiwxLjg5IDE1LjExLDEgMTQsMUgxMk0xLDdWMTBIM1Y3SDFNMTQsN0MxNCw3IDE0LDExLjY3IDE0LDE0QzExLjY3LDE0IDcsMTQgNywxNEM3LDE0IDcsMTggNywyMEM3LDIxLjExIDcuODksMjIgOSwyMkgyMEMyMS4xMSwyMiAyMiwyMS4xMSAyMiwyMFY5QzIyLDcuODkgMjEuMTEsNyAyMCw3QzE4LDcgMTQsNyAxNCw3TTE2LDlIMjBWMjBIOVYxNkgxNEMxNS4xMSwxNiAxNiwxNS4xMSAxNiwxNFY5TTEsMTJWMTRDMSwxNS4xMSAxLjg5LDE2IDMsMTZINVYxNEgzVjEySDFaIiAvPjwvc3ZnPg==", "name": "CameraShake", From 92240953ac7152bcb54c8429cb4696182f233238 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Wed, 16 Jul 2025 14:08:36 +0200 Subject: [PATCH 06/11] Update extensions --- .../conviction-of-gun-dude-desktop.json | 4571 ++++++++--------- 1 file changed, 2190 insertions(+), 2381 deletions(-) diff --git a/examples/conviction-of-gun-dude-desktop/conviction-of-gun-dude-desktop.json b/examples/conviction-of-gun-dude-desktop/conviction-of-gun-dude-desktop.json index 02dd60a3b..a27406b2f 100644 --- a/examples/conviction-of-gun-dude-desktop/conviction-of-gun-dude-desktop.json +++ b/examples/conviction-of-gun-dude-desktop/conviction-of-gun-dude-desktop.json @@ -19140,17 +19140,17 @@ "category": "Game mechanic", "extensionNamespace": "", "fullName": "Fire bullets", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "/extensions/fire-bullet/details", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWJ1bGxldCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNCwyMkgxMFYyMUgxNFYyMk0xMywxMFY3SDExVjEwTDEwLDExLjVWMjBIMTRWMTEuNUwxMywxME0xMiwyQzEyLDIgMTEsMyAxMSw1VjZIMTNWNUMxMyw1IDEzLDMgMTIsMloiIC8+PC9zdmc+", "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.9.1", "description": [ - "This extension allows objects to fire bullets.", + "This extension allows objects to fire bullets. To use it, add the behavior to the object that will shoot, then use the provided action to launch another object as the bullet.", "", - "It handles:", + "The properties of the behavior can be used to customize:", "- Cooldown between shots", "- Firing multiple bullets at a time ([open the project online](https://editor.gdevelop.io/?project=example://fire-bullet))", "- Ammo management", @@ -19189,7 +19189,7 @@ "eventsFunctions": [], "eventsBasedBehaviors": [ { - "description": "Fire bullets, manage ammo, reloading, and overheating.", + "description": "Fire bullets, manage ammo, reloading, and overheating. Once added to your object that must shoot, use the behavior action in your events to fire another object as a bullet.", "fullName": "Fire bullets", "name": "FireBullet", "objectType": "", @@ -19215,24 +19215,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" ] } ] @@ -19285,114 +19283,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" ] @@ -19401,39 +19378,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", + "" ] }, { @@ -19479,32 +19444,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" ] @@ -19513,39 +19465,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" ] @@ -19577,63 +19515,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": [] } ] } @@ -19645,7 +19526,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Reload gun when needed", + "name": "Reload", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -19682,30 +19563,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", + "" ] } ], @@ -19727,13 +19607,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "=", - "Object.Behavior::PropertyShotsPerReload()" + "ShotsPerReload" ] } ] @@ -19768,13 +19647,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "=", - "min(Object.Behavior::PropertyShotsPerReload(), Object.Behavior::PropertyAmmoQuantity())" + "min(ShotsPerReload, AmmoQuantity)" ] } ] @@ -19789,7 +19667,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Reduce heat level (based on cooling rate)", + "name": "Cooling", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -19801,7 +19679,7 @@ "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "Object.Behavior::HeatLevel()", + "HeatLevel", ">", "0" ] @@ -19814,11 +19692,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyExponentialCoolingRate" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ExponentialCoolingRate", ">", "0" ] @@ -19827,13 +19704,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)" ] } ] @@ -19843,11 +19719,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyLinearCoolingRate" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LinearCoolingRate", ">", "0" ] @@ -19856,13 +19731,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)" ] } ] @@ -19896,37 +19770,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": [ @@ -19977,37 +19839,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": [ @@ -20063,136 +19913,163 @@ "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": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "BulletQuantity", + "conditions": [], + "actions": [], + "events": [ { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyBulletQuantity()", - ">", - "1" + "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)) " + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "ModVarObjet" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "Object", - "__FireBullet.BatchOrderID", - "=", - "0" - ] + "comment": "When firing in a full circle, prevent first and last bullet from using the same angle" }, { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__FireBullet.CurrentBulletAngle", - "=", - "GetArgumentAsNumber(\"Angle\") - Object.Behavior::PropertyFiringArc()/2" + "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) " + ] + } ] - } - ], - "events": [ + }, { - "type": "BuiltinCommonInstructions::Repeat", - "repeatExpression": "Object.Behavior::PropertyBulletQuantity()", + "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { @@ -20202,103 +20079,22 @@ "parameters": [ "Object", "Behavior", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", + "XPosition", + "YPosition", "Bullet", - "Object.Variable(__FireBullet.CurrentBulletAngle) + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", - "GetArgumentAsNumber(\"Speed\")", + "MultiShotAngle", + "Speed", "" ] - } - ], - "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::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())" - ] - } - ] - }, - { - "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": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__FireBullet.BatchOrderID", - "+", - "1" - ] - } + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BulletIndex", + "+", + "1" ] } ] @@ -20306,12 +20102,23 @@ ] } ], - "parameters": [] + "variables": [ + { + "folded": true, + "name": "MultiShotAngle", + "type": "number", + "value": 0 + }, + { + "name": "BulletIndex", + "type": "number", + "value": 0 + } + ] } ] } - ], - "parameters": [] + ] } ], "parameters": [ @@ -20395,9 +20202,9 @@ "parameters": [ "", "Bullet", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "Object.Behavior::PropertyBulletLayer()" + "XPosition", + "YPosition", + "BulletLayer" ] } ], @@ -20420,13 +20227,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)" ] }, { @@ -20435,64 +20241,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": { @@ -20510,11 +20265,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "RotateBullet", + "True", + "" ] } ], @@ -20526,7 +20282,7 @@ "parameters": [ "Bullet", "=", - "Object.Behavior::PropertyRandomizedAngle()" + "RandomizedAngle" ] } ] @@ -20551,11 +20307,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalBulletsCreated", "+", "1" ] @@ -20631,12 +20386,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "ReloadInProgress", + "True", + "" ] }, { @@ -20674,30 +20429,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", + "" ] } ], @@ -20741,11 +20483,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "RotateBullet", + "True", + "" ] } ], @@ -20793,7 +20536,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyFiringArc()" + "FiringArc" ] } ] @@ -20830,13 +20573,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyFiringArc" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FiringArc", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -20883,7 +20625,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -20927,7 +20669,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyAngleVariance()" + "AngleVariance" ] } ] @@ -20964,13 +20706,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAngleVariance" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AngleVariance", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -21017,7 +20758,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -21061,7 +20802,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyBulletSpeedVariance()" + "BulletSpeedVariance" ] } ] @@ -21098,13 +20839,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletSpeedVariance" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "BulletSpeedVariance", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -21151,7 +20891,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -21195,7 +20935,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyBulletQuantity()" + "BulletQuantity" ] } ] @@ -21232,13 +20972,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "BulletQuantity", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -21285,7 +21024,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -21326,13 +21065,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletLayer" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "BulletLayer", "=", - "GetArgumentAsString(\"Value\")" + "Value" ] } ] @@ -21372,22 +21110,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", + "" ] } ] @@ -21397,22 +21137,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", + "" ] } ] @@ -21433,7 +21175,7 @@ { "defaultValue": "yes", "description": "Rotate bullet to match trajetory", - "name": "RotateBullet", + "name": "Value", "optional": true, "type": "yesorno" } @@ -21454,22 +21196,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", + "" ] } ] @@ -21479,22 +21223,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", + "" ] } ] @@ -21515,7 +21261,7 @@ { "defaultValue": "yes", "description": "Unlimited ammo", - "name": "UnlimitedAmmo", + "name": "Value", "optional": true, "type": "yesorno" } @@ -21539,7 +21285,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyFireCooldown()" + "FireCooldown" ] } ] @@ -21576,13 +21322,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyFireCooldown" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FireCooldown", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -21629,7 +21374,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"NewCooldown\")", + "Value", "" ] } @@ -21650,7 +21395,7 @@ }, { "description": "Cooldown in seconds", - "name": "NewCooldown", + "name": "Value", "type": "expression" } ], @@ -21673,7 +21418,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyReloadDuration()" + "ReloadDuration" ] } ] @@ -21710,13 +21455,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyReloadDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ReloadDuration", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -21763,7 +21507,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -21807,7 +21551,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyOverheatDuration()" + "OverheatDuration" ] } ] @@ -21844,13 +21588,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyOverheatDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OverheatDuration", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -21897,7 +21640,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -21941,7 +21684,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyAmmoQuantity()" + "AmmoQuantity" ] } ] @@ -21978,13 +21721,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", - "max(0,Value)" + "max(0, Value)" ] } ] @@ -22031,7 +21773,7 @@ "Object", "Behavior", "=", - "max(0,Value)", + "max(0, Value)", "" ] } @@ -22075,7 +21817,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHeatIncreasePerShot()" + "HeatIncreasePerShot" ] } ] @@ -22112,13 +21854,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatIncreasePerShot" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatIncreasePerShot", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -22165,7 +21906,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -22209,7 +21950,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMaxAmmo()" + "MaxAmmo" ] } ] @@ -22246,13 +21987,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyMaxAmmo" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxAmmo", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -22262,11 +22002,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyMaxAmmo" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxAmmo", ">", "0" ] @@ -22275,13 +22014,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", - "min(Object.Behavior::MaxAmmo(),Object.Behavior::AmmoQuantity())" + "min(MaxAmmo, AmmoQuantity)" ] } ] @@ -22328,7 +22066,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -22369,11 +22107,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalShotsFired" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalShotsFired", "=", "0" ] @@ -22410,11 +22147,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalBulletsCreated", "=", "0" ] @@ -22451,11 +22187,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalReloadsCompleted", "=", "0" ] @@ -22495,7 +22230,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShotsPerReload()" + "ShotsPerReload" ] } ] @@ -22532,13 +22267,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsPerReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsPerReload", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -22548,26 +22282,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" ] } ] @@ -22614,7 +22346,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -22655,12 +22387,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAutomaticReloading" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "=" + "AutomaticReloading", + "False", + "" ] } ] @@ -22670,22 +22402,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", + "" ] } ] @@ -22730,7 +22464,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyLinearCoolingRate()" + "LinearCoolingRate" ] } ] @@ -22767,13 +22501,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyLinearCoolingRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LinearCoolingRate", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -22820,7 +22553,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -22864,7 +22597,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyExponentialCoolingRate()" + "ExponentialCoolingRate" ] } ] @@ -22901,13 +22634,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyExponentialCoolingRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ExponentialCoolingRate", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -22955,7 +22687,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -22996,13 +22728,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "+", - "GetArgumentAsNumber(\"AmmoGained\")" + "AmmoGained" ] } ] @@ -23024,11 +22755,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyMaxAmmo" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxAmmo", ">", "0" ] @@ -23037,13 +22767,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", - "min(Object.Behavior::MaxAmmo(),Object.Behavior::AmmoQuantity())" + "min(MaxAmmo, AmmoQuantity)" ] } ] @@ -23063,11 +22792,12 @@ }, { "type": { - "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "AutomaticReloading", + "True", + "" ] } ], @@ -23122,7 +22852,7 @@ "value": "SetReturnString" }, "parameters": [ - "Object.Behavior::PropertyBulletLayer()" + "BulletLayer" ] } ] @@ -23163,7 +22893,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "min(1,Object.Behavior::PropertyHeatLevel())" + "min(1, HeatLevel)" ] } ] @@ -23204,7 +22934,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyTotalShotsFired()" + "TotalShotsFired" ] } ] @@ -23245,7 +22975,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyTotalBulletsCreated()" + "TotalBulletsCreated" ] } ] @@ -23286,7 +23016,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyTotalReloadsCompleted()" + "TotalReloadsCompleted" ] } ] @@ -23327,7 +23057,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShotsBeforeNextReload()" + "ShotsBeforeNextReload" ] } ] @@ -23368,7 +23098,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0,Object.Behavior::Cooldown() - Object.ObjectTimerElapsedTime(\"__FireBullet.FiringCooldown\"))" + "max(0, FireCooldown - Object.ObjectTimerElapsedTime(\"__FireBullet.FiringCooldown\"))" ] } ] @@ -23421,7 +23151,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0, Object.Behavior::PropertyOverheatDuration() - Object.ObjectTimerElapsedTime(\"__FireBullet.OverheatDuration\"))" + "max(0, OverheatDuration - Object.ObjectTimerElapsedTime(\"__FireBullet.OverheatDuration\"))" ] } ] @@ -23474,7 +23204,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0, Object.Behavior::PropertyReloadDuration() - Object.ObjectTimerElapsedTime(\"__FireBullet.ReloadingTimer\"))" + "max(0, ReloadDuration - Object.ObjectTimerElapsedTime(\"__FireBullet.ReloadingTimer\"))" ] } ] @@ -23525,11 +23255,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyReloadInProgress" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ReloadInProgress", + "True", + "" ] } ], @@ -23593,11 +23324,12 @@ "subInstructions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHasJustFired" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "HasJustFired", + "True", + "" ] }, { @@ -23729,11 +23461,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "AutomaticReloading", + "True", + "" ] } ], @@ -23791,11 +23524,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UnlimitedAmmo", + "True", + "" ] } ], @@ -23864,11 +23598,10 @@ }, { "type": { - "value": "FireBullet::FireBullet::PropertyAmmoQuantity" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "<=", "0" ] @@ -23940,22 +23673,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" ] @@ -24021,11 +23752,10 @@ "subInstructions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHeatLevel" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatLevel", ">=", "1" ] @@ -27389,13 +27119,13 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Flash layer", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWZsYXNoLW91dGxpbmUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNywySDE3TDEzLjUsOUgxN0wxMCwyMlYxNEg3VjJNOSw0VjEySDEyVjE0LjY2TDE0LDExSDEwLjI0TDEzLjc2LDRIOVoiIC8+PC9zdmc+", "name": "FlashLayer", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/flash-outline.svg", "shortDescription": "Make a layer visible for a specified duration, and then hide the layer.", - "version": "0.2.0", + "version": "0.3.0", "description": [ "Useful to make a temporary effect (flash on hit, flickering lights, lightning flash, show text like Batman and Robin \"Bam!\", etc)", "", @@ -27409,9 +27139,7 @@ "effect", "vfx", "layer", - "flash", - "visible", - "hide" + "flash" ], "authorIds": [ "gqDaZjCfevOOxBYkK6zlhtZnXCg1" @@ -27427,125 +27155,45 @@ "name": "FlashLayer", "sentence": "Make layer _PARAM1_ visible for _PARAM2_ seconds", "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save input parameters" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarSceneTxt" - }, - "parameters": [ - "__FlashLayer_Layer", - "=", - "GetArgumentAsString(\"LayerToFlash\")" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__FlashLayer_Duration", - "=", - "GetArgumentAsNumber(\"Duration\")" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set default values" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "VarScene" + "inverted": true, + "value": "LayerVisible" }, "parameters": [ - "__FlashLayer_Duration", - "=", - "0" + "", + "Layer" ] } ], "actions": [ { "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__FlashLayer_Duration", - "=", - "0.1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Start timer and show layer" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ResetTimer" + "value": "ShowLayer" }, "parameters": [ "", - "\"__FlashLayer_Timer\"" + "Layer" ] }, { "type": { - "value": "ShowLayer" + "value": "Wait" }, "parameters": [ - "", - "VariableString(__FlashLayer_Layer)" + "Duration" ] }, { "type": { - "value": "ModVarScene" + "value": "HideLayer" }, "parameters": [ - "__FlashLayer_InProgress", - "=", - "1" + "", + "Layer" ] } ] @@ -27553,94 +27201,17 @@ ], "parameters": [ { - "description": "Layer (Default: \"\")", - "name": "LayerToFlash", + "description": "Layer", + "name": "Layer", "type": "layer" }, { - "description": "Duration (seconds) (Default: 0.1) ", + "description": "Duration (in seconds)", "name": "Duration", "type": "expression" } ], "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "onScenePostEvents", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Hide layer, reset time-scale to initial value, and delete timer" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__FlashLayer_InProgress", - "=", - "1" - ] - }, - { - "type": { - "value": "Timer" - }, - "parameters": [ - "", - "Variable(__FlashLayer_Duration)", - "\"__FlashLayer_Timer\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "HideLayer" - }, - "parameters": [ - "", - "VariableString(__FlashLayer_Layer)" - ] - }, - { - "type": { - "value": "RemoveTimer" - }, - "parameters": [ - "", - "\"__FlashLayer_Timer\"" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__FlashLayer_InProgress", - "=", - "0" - ] - } - ] - } - ], - "parameters": [], - "objectGroups": [] } ], "eventsBasedBehaviors": [], @@ -27651,13 +27222,13 @@ "category": "Game mechanic", "extensionNamespace": "", "fullName": "Health points and damage", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWhlYXJ0LWhhbGYtZnVsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNi41LDVDMTUsNSAxMy41OCw1LjkxIDEzLDcuMlYxNy43NEMxNy4yNSwxMy44NyAyMCwxMS4yIDIwLDguNUMyMCw2LjUgMTguNSw1IDE2LjUsNU0xNi41LDNDMTkuNTgsMyAyMiw1LjQxIDIyLDguNUMyMiwxMi4yNyAxOC42LDE1LjM2IDEzLjQ1LDIwLjAzTDEyLDIxLjM1TDEwLjU1LDIwLjAzQzUuNCwxNS4zNiAyLDEyLjI3IDIsOC41QzIsNS40MSA0LjQyLDMgNy41LDNDOS4yNCwzIDEwLjkxLDMuODEgMTIsNS4wOEMxMy4wOSwzLjgxIDE0Ljc2LDMgMTYuNSwzWiIgLz48L3N2Zz4=", "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.1", + "version": "0.4.0", "description": [ "Manage health (life) points, shield and armor. ", "", @@ -27730,7 +27301,7 @@ "parameters": [ "Object", "Behavior", - "Object.Behavior::PropertyHealth()", + "Health", "" ] } @@ -27793,22 +27364,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()" ] @@ -27821,20 +27390,19 @@ "Object", "\"__Health.TimeSinceLastHit\"", ">", - "Object.Behavior::PropertyHealthRegenDelay()" + "HealthRegenDelay" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "+", - "Object.Behavior::PropertyHealthRegenRate() * TimeDelta()" + "HealthRegenRate * TimeDelta()" ] } ], @@ -27856,11 +27424,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", ">", "Object.Behavior::MaxHealth()" ] @@ -27869,13 +27436,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", - "Object.Behavior::PropertyMaxHealth()" + "MaxHealth" ] } ] @@ -27900,32 +27466,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", + "" ] } ] @@ -27971,24 +27537,22 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldRegenRate" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldRegenRate", "!=", "0" ] }, { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "<", - "Object.Behavior::PropertyMaxShieldPoints()" + "MaxShieldPoints" ] }, { @@ -27999,7 +27563,7 @@ "Object", "\"__Health.TimeSinceLastHit\"", ">", - "Object.Behavior::PropertyShieldRegenDelay()" + "ShieldRegenDelay" ] } ], @@ -28010,11 +27574,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "0" ] @@ -28039,13 +27602,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "+", - "Object.Behavior::PropertyShieldRegenRate() * TimeDelta()" + "ShieldRegenRate * TimeDelta()" ] } ] @@ -28067,26 +27629,24 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", ">", - "Object.Behavior::PropertyMaxShieldPoints()" + "MaxShieldPoints" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", - "Object.Behavior::PropertyMaxShieldPoints()" + "MaxShieldPoints" ] } ] @@ -28129,11 +27689,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "0" ] @@ -28158,12 +27717,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsShieldJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsShieldJustDamaged", + "False", + "" ] } ] @@ -28237,13 +27796,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "=", - "GetArgumentAsNumber(\"DamageValue\")" + "DamageValue" ] } ], @@ -28279,28 +27837,27 @@ "parameters": [ "RandomFloatInRange(0,1)", "<", - "Object.Behavior::PropertyChanceToDodge()" + "ChanceToDodge" ] } ], "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" ] @@ -28324,19 +27881,20 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"UseArmor\"" + "UseArmor", + "True", + "" ] }, { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "0" ] @@ -28359,13 +27917,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "=", - "max(0,Object.Behavior::PropertyDamageToBeApplied() - Object.Behavior::PropertyFlatDamageReduction())" + "max(0,DamageToBeApplied - FlatDamageReduction)" ] } ] @@ -28387,22 +27944,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" ] @@ -28411,13 +27966,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "*", - "1 - min(1, Object.Behavior::PropertyPercentDamageReduction())" + "1 - min(1, PercentDamageReduction)" ] } ] @@ -28456,10 +28010,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"UseShield\"" + "UseShield", + "True", + "" ] }, { @@ -28474,11 +28030,10 @@ }, { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "0" ] @@ -28487,12 +28042,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsShieldJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsShieldJustDamaged", + "True", + "" ] }, { @@ -28524,46 +28079,42 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "<=", - "Object.Behavior::PropertyCurrentShieldPoints()" + "CurrentShieldPoints" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "-", - "Object.Behavior::PropertyDamageToBeApplied()" + "DamageToBeApplied" ] }, { "type": { - "value": "Health::Health::SetPropertyShieldDamageTaken" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDamageTaken", "=", - "Object.Behavior::PropertyDamageToBeApplied()" + "DamageToBeApplied" ] }, { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "=", "0" ] @@ -28587,26 +28138,24 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", - "Object.Behavior::PropertyCurrentShieldPoints()" + "CurrentShieldPoints" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldDamageTaken" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDamageTaken", "=", - "Object.Behavior::PropertyCurrentShieldPoints()" + "CurrentShieldPoints" ] } ], @@ -28616,33 +28165,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" ] @@ -28667,33 +28215,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", "-", - "Object.Behavior::PropertyCurrentShieldPoints()" + "CurrentShieldPoints" ] }, { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "0" ] @@ -28721,11 +28268,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "0" ] @@ -28766,7 +28312,7 @@ "parameters": [ "Object", "Behavior", - "Object.Behavior::PropertyCurrentHealth() - Object.Behavior::PropertyDamageToBeApplied()", + "CurrentHealth - DamageToBeApplied", "" ] } @@ -28834,7 +28380,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyCurrentHealth()" + "CurrentHealth" ] } ] @@ -28872,13 +28418,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -28900,11 +28445,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", ">", "0" ] @@ -28913,13 +28457,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", - "min(Object.Behavior::PropertyCurrentHealth(), Object.Behavior::PropertyMaxHealth())" + "min(CurrentHealth, MaxHealth)" ] } ] @@ -28965,7 +28508,7 @@ "parameters": [ "Object", "Behavior", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -29026,11 +28569,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", "=", "0" ] @@ -29039,13 +28581,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHealToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealToBeApplied", "=", - "GetArgumentAsNumber(\"HealValue\")" + "HealValue" ] } ] @@ -29067,11 +28608,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", ">", "0" ] @@ -29079,24 +28619,24 @@ { "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(GetArgumentAsNumber(\"HealValue\"),Object.Behavior::PropertyMaxHealth() - Object.Behavior::PropertyCurrentHealth())" + "min(HealValue,MaxHealth - CurrentHealth)" ] } ] @@ -29119,13 +28659,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "+", - "Object.Behavior::PropertyHealToBeApplied()" + "HealToBeApplied" ] } ] @@ -29148,12 +28687,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsJustHealed" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsJustHealed", + "True", + "" ] } ] @@ -29199,7 +28738,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMaxHealth()" + "MaxHealth" ] } ] @@ -29236,13 +28775,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyMaxHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -29264,11 +28802,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", ">", "Object.Behavior::MaxHealth()" ] @@ -29277,11 +28814,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", "Object.Behavior::MaxHealth()" ] @@ -29330,7 +28866,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -29374,7 +28910,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHealthRegenRate()" + "HealthRegenRate" ] } ] @@ -29411,13 +28947,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHealthRegenRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealthRegenRate", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -29464,7 +28999,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -29508,7 +29043,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyDamageCooldown()" + "DamageCooldown" ] } ] @@ -29545,13 +29080,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageCooldown" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageCooldown", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -29598,7 +29132,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -29642,7 +29176,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHealthRegenDelay()" + "HealthRegenDelay" ] } ] @@ -29679,13 +29213,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHealthRegenDelay" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealthRegenDelay", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -29732,7 +29265,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -29776,7 +29309,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyChanceToDodge()" + "ChanceToDodge" ] } ] @@ -29813,13 +29346,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyChanceToDodge" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ChanceToDodge", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -29866,7 +29398,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -29910,7 +29442,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyFlatDamageReduction()" + "FlatDamageReduction" ] } ] @@ -29947,13 +29479,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyFlatDamageReduction" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlatDamageReduction", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -30000,7 +29531,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -30044,7 +29575,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyPercentDamageReduction()" + "PercentDamageReduction" ] } ] @@ -30081,13 +29612,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyPercentDamageReduction" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PercentDamageReduction", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -30134,7 +29664,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -30175,12 +29705,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyAllowOverHealing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "AllowOverHealing", + "False", + "" ] } ] @@ -30190,22 +29720,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", + "" ] } ] @@ -30246,12 +29778,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHitAtLeastOnce" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "HitAtLeastOnce", + "False", + "" ] } ] @@ -30261,22 +29793,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", + "" ] } ] @@ -30317,12 +29851,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsHealthJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsHealthJustDamaged", + "False", + "" ] } ] @@ -30332,22 +29866,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", + "" ] } ] @@ -30493,11 +30029,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyHitAtLeastOnce" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "HitAtLeastOnce", + "True", + "" ] } ], @@ -30555,11 +30092,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsHealthJustDamaged" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsHealthJustDamaged", + "True", + "" ] } ], @@ -30617,11 +30155,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsJustHealed" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsJustHealed", + "True", + "" ] } ], @@ -30679,20 +30218,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" ] @@ -30705,7 +30244,7 @@ "Object", "\"__Health.TimeSinceLastHit\"", "<", - "Object.Behavior::PropertyDamageCooldown()" + "DamageCooldown" ] } ], @@ -30778,7 +30317,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0,Object.Behavior::PropertyDamageCooldown() - Object.ObjectTimerElapsedTime(\"__Health.TimeSinceLastHit\"))" + "max(0,DamageCooldown - Object.ObjectTimerElapsedTime(\"__Health.TimeSinceLastHit\"))" ] } ] @@ -30829,11 +30368,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "<=", "0" ] @@ -30924,7 +30462,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyDamageToBeApplied()" + "DamageToBeApplied" ] } ] @@ -30965,7 +30503,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMaxShieldPoints()" + "MaxShieldPoints" ] } ] @@ -31002,13 +30540,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyMaxShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxShieldPoints", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -31055,7 +30592,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -31103,7 +30640,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -31147,7 +30684,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyCurrentShieldPoints()" + "CurrentShieldPoints" ] } ] @@ -31184,13 +30721,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -31237,7 +30773,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -31281,7 +30817,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShieldRegenRate()" + "ShieldRegenRate" ] } ] @@ -31318,13 +30854,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldRegenRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldRegenRate", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -31371,7 +30906,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -31415,7 +30950,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShieldRegenDelay()" + "ShieldRegenDelay" ] } ] @@ -31452,13 +30987,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldRegenDelay" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldRegenDelay", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -31505,7 +31039,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -31549,7 +31083,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShieldDuration()" + "ShieldDuration" ] } ] @@ -31586,13 +31120,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -31639,7 +31172,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -31719,13 +31252,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", - "GetArgumentAsNumber(\"ShieldPoints\")" + "ShieldPoints" ] } ] @@ -31735,11 +31267,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxShieldPoints", ">", "0" ] @@ -31748,13 +31279,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", - "min(GetArgumentAsNumber(\"ShieldPoints\"),Object.Behavior::MaxShield())" + "min(ShieldPoints,Object.Behavior::MaxShield())" ] } ] @@ -31764,10 +31294,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"RenewShieldDuration\"" + "RenewShieldDuration", + "True", + "" ] } ], @@ -31826,12 +31358,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyBlockExcessDamage" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "BlockExcessDamage", + "False", + "" ] } ] @@ -31841,22 +31373,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", + "" ] } ] @@ -31909,11 +31443,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsShieldJustDamaged" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsShieldJustDamaged", + "True", + "" ] } ], @@ -31971,11 +31506,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsJustDodged" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsJustDodged", + "True", + "" ] } ], @@ -32045,11 +31581,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", ">", "0" ] @@ -32074,11 +31609,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", "<=", "0" ] @@ -32100,11 +31634,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", ">", "0" ] @@ -32117,7 +31650,7 @@ "Object", "\"__Health.ShieldDuration\"", "<", - "Object.Behavior::PropertyShieldDuration()" + "ShieldDuration" ] } ], @@ -32177,11 +31710,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", ">", "0" ] @@ -32193,7 +31725,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0,Object.Behavior::PropertyShieldDuration() - Object.ObjectTimerElapsedTime(\"__Health.ShieldDuration\"))" + "max(0,ShieldDuration - Object.ObjectTimerElapsedTime(\"__Health.ShieldDuration\"))" ] } ] @@ -32234,7 +31766,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShieldDamageTaken()" + "ShieldDamageTaken" ] } ] @@ -32275,7 +31807,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHealToBeApplied()" + "HealToBeApplied" ] } ] @@ -32511,13 +32043,13 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Flash object", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWZsYXNoLW91dGxpbmUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNywySDE3TDEzLjUsOUgxN0wxMCwyMlYxNEg3VjJNOSw0VjEySDEyVjE0LjY2TDE0LDExSDEwLjI0TDEzLjc2LDRIOVoiIC8+PC9zdmc+", "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.2.0", + "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).", @@ -32560,6 +32092,7 @@ "fullName": "Color tint applied to an object", "functionType": "ExpressionAndCondition", "name": "ColorTint", + "private": true, "sentence": "Color tint applied to _PARAM1_", "events": [ { @@ -32605,6 +32138,7 @@ "fullName": "Is a color tint applied to an object", "functionType": "StringExpression", "name": "IsTinted", + "private": true, "sentence": "_PARAM1_ is color tinted", "events": [ { @@ -32649,117 +32183,6 @@ ], "objectGroups": [] }, - { - "description": "Toggle an object effect.", - "fullName": "Toggle an object effect", - "functionType": "Action", - "name": "ToggleEffect", - "sentence": "Toggle effect _PARAM2_ on _PARAM1_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "Object", - "__Flash_EffectToggled", - "False" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "IsEffectEnabled" - }, - "parameters": [ - "Object", - "GetArgumentAsString(\"EffectName\")" - ] - } - ], - "actions": [ - { - "type": { - "value": "EnableEffect" - }, - "parameters": [ - "Object", - "GetArgumentAsString(\"EffectName\")", - "" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "Object", - "__Flash_EffectToggled", - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "Object", - "__Flash_EffectToggled", - "False" - ] - }, - { - "type": { - "inverted": true, - "value": "IsEffectEnabled" - }, - "parameters": [ - "Object", - "GetArgumentAsString(\"EffectName\")" - ] - } - ], - "actions": [ - { - "type": { - "value": "EnableEffect" - }, - "parameters": [ - "Object", - "GetArgumentAsString(\"EffectName\")", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "objectList" - }, - { - "description": "Effect name to toggle", - "name": "EffectName", - "type": "objectEffectName" - } - ], - "objectGroups": [] - }, { "description": "Toggle color tint between the starting tint and a given value.", "fullName": "Toggle a color tint", @@ -32827,7 +32250,7 @@ }, "parameters": [ "Object", - "GetArgumentAsString(\"ColorTint\")" + "ColorTint" ] }, { @@ -32905,6 +32328,7 @@ "fullName": "Toggle object visibility", "functionType": "Action", "name": "ToggleVisibility", + "private": true, "sentence": "Toggle visibility of _PARAM1_", "events": [ { @@ -33020,11 +32444,12 @@ "conditions": [ { "type": { - "value": "Flash::Flash::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -33050,7 +32475,7 @@ "Object", "\"Flash_Visibility_Timer\"", ">", - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ], @@ -33093,11 +32518,10 @@ "conditions": [ { "type": { - "value": "Flash::Flash::PropertyFlashDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", ">", "0" ] @@ -33110,7 +32534,7 @@ "Object", "\"Flash_Visibility_Duration_Timer\"", ">", - "Object.Behavior::PropertyFlashDuration()" + "FlashDuration" ] } ], @@ -33183,12 +32607,12 @@ }, { "type": { - "value": "Flash::Flash::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsFlashing", + "True", + "" ] }, { @@ -33217,13 +32641,12 @@ }, { "type": { - "value": "Flash::Flash::SetPropertyFlashDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", "=", - "GetArgumentAsNumber(\"FlashDuration\")" + "NewFlashDuration" ] } ] @@ -33244,7 +32667,7 @@ { "description": "Duration of the flashing, in seconds", "longDescription": "Use \"0\" to keep flashing until stopped.", - "name": "FlashDuration", + "name": "NewFlashDuration", "type": "expression" } ], @@ -33276,11 +32699,12 @@ "conditions": [ { "type": { - "value": "Flash::Flash::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -33361,11 +32785,12 @@ "conditions": [ { "type": { - "value": "Flash::Flash::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -33381,12 +32806,12 @@ }, { "type": { - "value": "Flash::Flash::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsFlashing", + "False", + "" ] }, { @@ -33442,7 +32867,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ] @@ -33479,13 +32904,12 @@ "actions": [ { "type": { - "value": "Flash::Flash::SetPropertyHalfPeriodTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HalfPeriodTime", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -33552,11 +32976,12 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -33582,7 +33007,7 @@ "Object", "\"Flash_Color_Timer\"", ">", - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ], @@ -33603,7 +33028,7 @@ "parameters": [ "", "Object", - "Object.Behavior::PropertyTintColor()", + "TintColor", "" ] } @@ -33626,11 +33051,10 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyFlashDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", ">", "0" ] @@ -33643,7 +33067,7 @@ "Object", "\"Flash_Color_Duration_Timer\"", ">", - "Object.Behavior::PropertyFlashDuration()" + "FlashDuration" ] } ], @@ -33695,11 +33119,12 @@ { "type": { "inverted": true, - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -33731,18 +33156,18 @@ "parameters": [ "", "Object", - "GetArgumentAsString(\"ColorTint\")", + "NewColorTint", "" ] }, { "type": { - "value": "Flash::FlashColor::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsFlashing", + "True", + "" ] } ] @@ -33762,24 +33187,22 @@ }, { "type": { - "value": "Flash::FlashColor::SetPropertyTintColor" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "TintColor", "=", - "GetArgumentAsString(\"ColorTint\")" + "NewColorTint" ] }, { "type": { - "value": "Flash::FlashColor::SetPropertyFlashDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", "=", - "GetArgumentAsNumber(\"FlashDuration\")" + "NewFlashDuration" ] } ] @@ -33801,12 +33224,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" } ], @@ -33838,11 +33261,12 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -33925,23 +33349,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", + "" ] }, { @@ -34007,7 +33432,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ] @@ -34045,13 +33470,12 @@ "actions": [ { "type": { - "value": "Flash::FlashColor::SetPropertyHalfPeriodTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HalfPeriodTime", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -34113,7 +33537,7 @@ "description": "Flash opacity smoothly (fade) in a repeating loop.", "fullName": "Flash opacity smothly (fade)", "name": "FlashOpacity", - "objectType": "Sprite", + "objectType": "", "eventsFunctions": [ { "fullName": "", @@ -34169,9 +33593,9 @@ "Object", "TweenBehavior", "\"__Flash.ToStartingOpacity\"", - "Object.Behavior::PropertyStartingOpacity()", + "StartingOpacity", "\"easeInOutCubic\"", - "1000 * Object.Behavior::PropertyHalfPeriodTime()", + "1000 * HalfPeriodTime", "" ] }, @@ -34210,9 +33634,9 @@ "Object", "TweenBehavior", "\"__Flash.ToTargetOpacity\"", - "Object.Behavior::PropertyTargetOpacity()", + "TargetOpacity", "\"easeInOutCubic\"", - "1000 * Object.Behavior::PropertyHalfPeriodTime()", + "1000 * HalfPeriodTime", "" ] }, @@ -34245,11 +33669,10 @@ "conditions": [ { "type": { - "value": "Flash::FlashOpacity::PropertyFlashDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", ">", "0" ] @@ -34262,7 +33685,7 @@ "Object", "\"Flash_Opacity_Duration_Timer\"", ">", - "Object.Behavior::PropertyFlashDuration()" + "FlashDuration" ] } ], @@ -34289,7 +33712,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -34314,24 +33736,24 @@ { "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()" + "Object.Opacity::Value()" ] }, { @@ -34342,20 +33764,20 @@ "Object", "TweenBehavior", "\"__Flash.ToTargetOpacity\"", - "GetArgumentAsNumber(\"TargetOpacity\")", + "NewTargetOpacity", "\"easeInOutCubic\"", - "1000 * Object.Behavior::PropertyHalfPeriodTime()", + "1000 * HalfPeriodTime", "" ] }, { "type": { - "value": "Flash::FlashOpacity::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsFlashing", + "True", + "" ] } ] @@ -34375,24 +33797,22 @@ }, { "type": { - "value": "Flash::FlashOpacity::SetPropertyFlashDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", "=", - "GetArgumentAsNumber(\"FlashDuration\")" + "NewFlashDuration" ] }, { "type": { - "value": "Flash::FlashOpacity::SetPropertyTargetOpacity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TargetOpacity", "=", - "GetArgumentAsNumber(\"TargetOpacity\")" + "NewTargetOpacity" ] } ] @@ -34402,7 +33822,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -34420,12 +33839,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" } ], @@ -34457,11 +33876,12 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -34481,7 +33901,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -34520,7 +33939,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -34556,12 +33974,12 @@ "actions": [ { "type": { - "value": "Flash::FlashOpacity::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsFlashing", + "False", + "" ] }, { @@ -34595,12 +34013,13 @@ }, { "type": { - "value": "Opacity" + "value": "OpacityCapability::OpacityBehavior::SetValue" }, "parameters": [ "Object", + "Opacity", "=", - "Object.Behavior::PropertyStartingOpacity()" + "StartingOpacity" ] } ] @@ -34610,7 +34029,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -34639,7 +34057,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ] @@ -34652,7 +34070,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -34677,13 +34094,12 @@ "actions": [ { "type": { - "value": "Flash::FlashOpacity::SetPropertyHalfPeriodTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HalfPeriodTime", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -34693,7 +34109,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -34707,6 +34122,15 @@ } ], "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Opacity capability", + "extraInformation": [ + "OpacityCapability::OpacityBehavior" + ], + "name": "Opacity" + }, { "value": "", "type": "Behavior", @@ -34765,7 +34189,7 @@ "description": "Make the object flash an effect for a period of time.", "fullName": "Flash effect", "name": "FlashEffect", - "objectType": "Sprite", + "objectType": "", "eventsFunctions": [ { "fullName": "", @@ -34809,7 +34233,7 @@ "Object", "\"Flash_Effect_Timer\"", ">", - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ], @@ -34825,12 +34249,12 @@ }, { "type": { - "value": "Flash::ToggleEffect" + "value": "Flash::FlashEffect::ToggleEffect" }, "parameters": [ - "", "Object", - "Object.Behavior::PropertyEffectName()", + "Behavior", + "EffectName", "" ] } @@ -34853,11 +34277,10 @@ "conditions": [ { "type": { - "value": "Flash::FlashEffect::PropertyFlashDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", ">", "0" ] @@ -34870,7 +34293,7 @@ "Object", "\"Flash_Effect_Duration_Timer\"", ">", - "Object.Behavior::PropertyFlashDuration()" + "FlashDuration" ] } ], @@ -34897,7 +34320,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -34943,13 +34365,12 @@ }, { "type": { - "value": "Flash::FlashEffect::PropertyEffectName" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "EffectName", "!=", - "GetArgumentAsString(\"EffectName\")" + "NewEffectName" ] } ], @@ -34988,11 +34409,12 @@ "conditions": [ { "type": { - "value": "IsEffectEnabled" + "value": "EffectCapability::EffectBehavior::IsEffectEnabled" }, "parameters": [ "Object", - "GetArgumentAsString(\"EffectName\")" + "Effect", + "NewEffectName" ] } ], @@ -35015,11 +34437,12 @@ { "type": { "inverted": true, - "value": "IsEffectEnabled" + "value": "EffectCapability::EffectBehavior::IsEffectEnabled" }, "parameters": [ "Object", - "GetArgumentAsString(\"EffectName\")" + "Effect", + "NewEffectName" ] } ], @@ -35042,12 +34465,12 @@ "actions": [ { "type": { - "value": "Flash::ToggleEffect" + "value": "Flash::FlashEffect::ToggleEffect" }, "parameters": [ - "", "Object", - "GetArgumentAsString(\"EffectName\")", + "Behavior", + "NewEffectName", "" ] }, @@ -35062,12 +34485,12 @@ }, { "type": { - "value": "Flash::FlashEffect::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsFlashing", + "True", + "" ] } ] @@ -35089,24 +34512,22 @@ }, { "type": { - "value": "Flash::FlashEffect::SetPropertyFlashDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", "=", - "GetArgumentAsNumber(\"FlashDuration\")" + "NewFlashDuration" ] }, { "type": { - "value": "Flash::FlashEffect::SetPropertyEffectName" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "EffectName", "=", - "GetArgumentAsString(\"EffectName\")" + "NewEffectName" ] } ] @@ -35116,7 +34537,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -35128,12 +34548,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" } ], @@ -35165,11 +34585,12 @@ "conditions": [ { "type": { - "value": "Flash::FlashEffect::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -35189,7 +34610,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -35228,7 +34648,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -35252,23 +34671,24 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Flash::FlashEffect::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsFlashing", + "False", + "" ] }, { @@ -35308,11 +34728,12 @@ "actions": [ { "type": { - "value": "EnableEffect" + "value": "EffectCapability::EffectBehavior::EnableEffect" }, "parameters": [ "Object", - "Object.Behavior::PropertyEffectName()", + "Effect", + "EffectName", "yes" ] } @@ -35335,11 +34756,12 @@ "actions": [ { "type": { - "value": "EnableEffect" + "value": "EffectCapability::EffectBehavior::EnableEffect" }, "parameters": [ "Object", - "Object.Behavior::PropertyEffectName()", + "Effect", + "EffectName", "" ] } @@ -35352,7 +34774,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -35381,7 +34802,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ] @@ -35394,7 +34815,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -35419,13 +34839,129 @@ "actions": [ { "type": { - "value": "Flash::FlashEffect::SetPropertyHalfPeriodTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HalfPeriodTime", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Flash::FlashEffect", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Toggle an object effect.", + "fullName": "Toggle an object effect", + "functionType": "Action", + "name": "ToggleEffect", + "private": true, + "sentence": "Toggle effect _PARAM2_ on _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Object", + "__Flash_EffectToggled", + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EffectCapability::EffectBehavior::IsEffectEnabled" + }, + "parameters": [ + "Object", + "Effect", + "EffectName" + ] + } + ], + "actions": [ + { + "type": { + "value": "EffectCapability::EffectBehavior::EnableEffect" + }, + "parameters": [ + "Object", + "Effect", + "EffectName", + "" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Object", + "__Flash_EffectToggled", + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Object", + "__Flash_EffectToggled", + "False" + ] + }, + { + "type": { + "inverted": true, + "value": "EffectCapability::EffectBehavior::IsEffectEnabled" + }, + "parameters": [ + "Object", + "Effect", + "EffectName" + ] + } + ], + "actions": [ + { + "type": { + "value": "EffectCapability::EffectBehavior::EnableEffect" + }, + "parameters": [ + "Object", + "Effect", + "EffectName", + "yes" ] } ] @@ -35435,7 +34971,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -35443,12 +34978,26 @@ "name": "Behavior", "supplementaryInformation": "Flash::FlashEffect", "type": "behavior" + }, + { + "description": "Effect name to toggle", + "name": "EffectName", + "type": "objectEffectName" } ], "objectGroups": [] } ], "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Effect capability", + "extraInformation": [ + "EffectCapability::EffectBehavior" + ], + "name": "Effect" + }, { "value": "0.1", "type": "Number", @@ -35491,13 +35040,13 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Shake object", - "gdevelopVersion": "", - "helpPath": "https://victrisgames.itch.io/gdevelop-camera-shake-example", + "gdevelopVersion": ">=5.5.222", + "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWFycm93LWFsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMywxMUgxOEwxNi41LDkuNUwxNy45Miw4LjA4TDIxLjg0LDEyTDE3LjkyLDE1LjkyTDE2LjUsMTQuNUwxOCwxM0gxM1YxOEwxNC41LDE2LjVMMTUuOTIsMTcuOTJMMTIsMjEuODRMOC4wOCwxNy45Mkw5LjUsMTYuNUwxMSwxOFYxM0g2TDcuNSwxNC41TDYuMDgsMTUuOTJMMi4xNiwxMkw2LjA4LDguMDhMNy41LDkuNUw2LDExSDExVjZMOS41LDcuNUw4LjA4LDYuMDhMMTIsMi4xNkwxNS45Miw2LjA4TDE0LjUsNy41TDEzLDZWMTFaIiAvPjwvc3ZnPg==", "name": "ShakeObject", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/arrow-all.svg", "shortDescription": "Shake an object.", - "version": "1.5.6", + "version": "1.6.0", "description": [ "Shake an object (position, angle or scale).", "", @@ -35531,7 +35080,7 @@ "eventsFunctions": [], "eventsBasedBehaviors": [ { - "description": "Shake an object, using one or more ways to shake (position, angle).\nThis behavior can be used on any type of object.", + "description": "Shake objects with translation and rotation.", "fullName": "Shake object (position, angle)", "name": "ShakeObject_PositionAngle", "objectType": "", @@ -35603,7 +35152,7 @@ "Object", "__ShakeObject_Duration", "=", - "GetArgumentAsNumber(\"Duration\")" + "Duration" ] }, { @@ -35614,7 +35163,7 @@ "Object", "__ShakeObject_PowerX", "=", - "GetArgumentAsNumber(\"PowerX\")" + "PowerX" ] }, { @@ -35625,7 +35174,7 @@ "Object", "__ShakeObject_PowerY", "=", - "GetArgumentAsNumber(\"PowerY\")" + "PowerY" ] }, { @@ -35636,7 +35185,7 @@ "Object", "__ShakeObject_PowerAngle", "=", - "GetArgumentAsNumber(\"PowerAngle\")" + "PowerAngle" ] }, { @@ -35647,7 +35196,7 @@ "Object", "__ShakeObject_TimeBetweenShakes", "=", - "GetArgumentAsNumber(\"TimeBetweenShakes\")" + "TimeBetweenShakes" ] } ] @@ -35685,10 +35234,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShakeForever\"" + "ShakeForever", + "True", + "" ] } ], @@ -37517,10 +37068,10 @@ "sharedPropertyDescriptors": [] }, { - "description": "Shake an object, using one or more ways to shake (position, angle, scale)\nThis behavior can only be used on sprite objects.", + "description": "Shake objects with translation, rotation and scale.", "fullName": "Shake object (position, angle, scale)", "name": "ShakeObject_PositionAngleScale", - "objectType": "Sprite", + "objectType": "", "eventsFunctions": [ { "description": "Shake an object, using one or more ways to shake (position, angle, scale). Make sure to \"Stop shaking\" before starting a new shake if it uses different parameters.", @@ -37589,7 +37140,7 @@ "Object", "__ShakeObject_Duration", "=", - "GetArgumentAsNumber(\"Duration\")" + "Duration" ] }, { @@ -37600,7 +37151,7 @@ "Object", "__ShakeObject_PowerX", "=", - "GetArgumentAsNumber(\"PowerX\")" + "PowerX" ] }, { @@ -37611,7 +37162,7 @@ "Object", "__ShakeObject_PowerY", "=", - "GetArgumentAsNumber(\"PowerY\")" + "PowerY" ] }, { @@ -37622,7 +37173,7 @@ "Object", "__ShakeObject_PowerAngle", "=", - "GetArgumentAsNumber(\"PowerAngle\")" + "PowerAngle" ] }, { @@ -37633,7 +37184,7 @@ "Object", "__ShakeObject_PowerScale", "=", - "GetArgumentAsNumber(\"PowerScale\")" + "PowerScale" ] }, { @@ -37644,7 +37195,7 @@ "Object", "__ShakeObject_TimeBetweenShakes", "=", - "GetArgumentAsNumber(\"TimeBetweenShakes\")" + "TimeBetweenShakes" ] } ] @@ -37682,10 +37233,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShakeForever\"" + "ShakeForever", + "True", + "" ] } ], @@ -37891,7 +37444,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -38233,10 +37785,11 @@ "actions": [ { "type": { - "value": "ChangeScale" + "value": "ScalableCapability::ScalableBehavior::SetValue" }, "parameters": [ "Object", + "Scale", "-", "Object.Variable(__ShakeObject_ScaleTravelled)" ] @@ -39141,10 +38694,11 @@ "actions": [ { "type": { - "value": "ChangeScale" + "value": "ScalableCapability::ScalableBehavior::SetValue" }, "parameters": [ "Object", + "Scale", "+", "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" ] @@ -39422,10 +38976,11 @@ "actions": [ { "type": { - "value": "ChangeScale" + "value": "ScalableCapability::ScalableBehavior::SetValue" }, "parameters": [ "Object", + "Scale", "-", "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" ] @@ -39682,10 +39237,11 @@ "actions": [ { "type": { - "value": "ChangeScale" + "value": "ScalableCapability::ScalableBehavior::SetValue" }, "parameters": [ "Object", + "Scale", "-", "Object.Variable(__ShakeObject_ScaleTravelled)" ] @@ -39770,7 +39326,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -39822,7 +39377,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -39872,7 +39426,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -39885,7 +39438,23 @@ "objectGroups": [] } ], - "propertyDescriptors": [], + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Scalable capability", + "extraInformation": [ + "ScalableCapability::ScalableBehavior" + ], + "name": "Scale" + }, + { + "value": "", + "type": "Number", + "label": "", + "name": "Property" + } + ], "sharedPropertyDescriptors": [] } ], @@ -39896,13 +39465,13 @@ "category": "Camera", "extensionNamespace": "", "fullName": "Camera shake", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXZlY3Rvci1kaWZmZXJlbmNlLWFiIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTMsMUMxLjg5LDEgMSwxLjg5IDEsM1Y1SDNWM0g1VjFIM003LDFWM0gxMFYxSDdNMTIsMVYzSDE0VjVIMTZWM0MxNiwxLjg5IDE1LjExLDEgMTQsMUgxMk0xLDdWMTBIM1Y3SDFNMTQsN0MxNCw3IDE0LDExLjY3IDE0LDE0QzExLjY3LDE0IDcsMTQgNywxNEM3LDE0IDcsMTggNywyMEM3LDIxLjExIDcuODksMjIgOSwyMkgyMEMyMS4xMSwyMiAyMiwyMS4xMSAyMiwyMFY5QzIyLDcuODkgMjEuMTEsNyAyMCw3QzE4LDcgMTQsNyAxNCw3TTE2LDlIMjBWMjBIOVYxNkgxNEMxNS4xMSwxNiAxNiwxNS4xMSAxNiwxNFY5TTEsMTJWMTRDMSwxNS4xMSAxLjg5LDE2IDMsMTZINVYxNEgzVjEySDFaIiAvPjwvc3ZnPg==", "name": "CameraShake", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/vector-difference-ab.svg", "shortDescription": "Shake layer cameras.", - "version": "3.0.3", + "version": "3.2.0", "description": [ "Shake layer cameras with translation, rotation and zoom.", "", @@ -39935,7 +39504,128 @@ ], "dependencies": [], "globalVariables": [], - "sceneVariables": [], + "sceneVariables": [ + { + "folded": true, + "name": "DefaultFrequency", + "type": "number", + "value": 12 + }, + { + "folded": true, + "name": "DefaultAmplitudeX", + "type": "number", + "value": 4 + }, + { + "folded": true, + "name": "DefaultAmplitudeY", + "type": "number", + "value": 4 + }, + { + "folded": true, + "name": "DefaultAmplitudeAngle", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "DefaultAmplitudeZoom", + "type": "number", + "value": 1 + }, + { + "folded": true, + "name": "Duration", + "type": "number", + "value": 0 + }, + { + "name": "Layers", + "type": "structure", + "children": [] + }, + { + "name": "Layer", + "type": "structure", + "children": [ + { + "name": "AmplitudeAngle", + "type": "number", + "value": 0 + }, + { + "name": "AmplitudeX", + "type": "number", + "value": 0 + }, + { + "name": "AmplitudeY", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "AmplitudeZoom", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "CameraDeltaAngle", + "type": "number", + "value": 0 + }, + { + "name": "CameraDeltaX", + "type": "number", + "value": 0 + }, + { + "name": "CameraDeltaY", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "CameraDeltaZoom", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "Frequency", + "type": "number", + "value": 0 + } + ] + }, + { + "folded": true, + "name": "LayerName", + "type": "string", + "value": "" + }, + { + "folded": true, + "name": "Time", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "StartEaseDuration", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "StopEaseDuration", + "type": "number", + "value": 0 + } + ], "eventsFunctions": [ { "fullName": "", @@ -39957,47 +39647,6 @@ "\"\"", "" ] - }, - { - "type": { - "value": "CameraShake::SetDefaultShakingFrequency" - }, - "parameters": [ - "", - "12", - "" - ] - }, - { - "type": { - "value": "CameraShake::SetDefaultTranslationAmplitude" - }, - "parameters": [ - "", - "4", - "4", - "" - ] - }, - { - "type": { - "value": "CameraShake::SetDefaultRotationAmplitude" - }, - "parameters": [ - "", - "0", - "" - ] - }, - { - "type": { - "value": "CameraShake::SetDefaultZoomAmplitude" - }, - "parameters": [ - "", - "1", - "" - ] } ] } @@ -40029,10 +39678,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Time", + "Time", "+", "TimeDelta()" ] @@ -40052,237 +39701,47 @@ ] } ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.EaseFactor", - "=", - "1" - ] - } - ], + "actions": [], "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.Time", - "<", - "Variable(__CameraShake.StartEaseDuration)" - ] - }, - { - "type": { - "inverted": true, - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.Time", - ">", - "Variable(__CameraShake.Duration) - Variable(__CameraShake.StopEaseDuration)" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.EaseFactor", - "=", - "clamp(0, 1, Variable(__CameraShake.Time) / Variable(__CameraShake.StartEaseDuration))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.Time", - ">", - "Variable(__CameraShake.Duration) - Variable(__CameraShake.StopEaseDuration)" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.EaseFactor", - "=", - "clamp(0, 1, (Variable(__CameraShake.Duration) - Variable(__CameraShake.Time)) / Variable(__CameraShake.StopEaseDuration))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::ForEachChildVariable", - "iterableVariableName": "__CameraShake.Layers", - "valueIteratorVariableName": "__CameraShake.Layer", - "keyIteratorVariableName": "__CameraShake.LayerName", - "conditions": [ - { - "type": { - "value": "SceneVariableAsBoolean" - }, - "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].Shakable", - "True" - ] - } - ], + "conditions": [], "actions": [], "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarSceneTxt" - }, - "parameters": [ - "__CameraShake.ActualLayerName", - "=", - "VariableString(__CameraShake.LayerName)" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "VarSceneTxt" - }, - "parameters": [ - "__CameraShake.LayerName", - "=", - "\"__BaseLayer\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarSceneTxt" - }, - "parameters": [ - "__CameraShake.ActualLayerName", - "=", - "\"\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Use user defined default values when there is no layer specific value set." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "CameraShake::SetFrequency" - }, - "parameters": [ - "", - "Variable(__CameraShake.DefaultFrequency)", - "\"\"", - "" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeX", - "=", - "Variable(__CameraShake.DefaultAmplitudeX)" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeY", - "=", - "Variable(__CameraShake.DefaultAmplitudeY)" - ] - }, - { - "type": { - "value": "ModVarScene" + "value": "NumberVariable" }, "parameters": [ - "__CameraShake.AmplitudeAngle", - "=", - "Variable(__CameraShake.DefaultAmplitudeAngle)" + "Time", + "<", + "StartEaseDuration" ] }, { "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeZoom", - "=", - "Variable(__CameraShake.DefaultAmplitudeZoom)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VariableChildExists" + "inverted": true, + "value": "NumberVariable" }, "parameters": [ - "__CameraShake.Layer", - "\"Frequency\"" + "Time", + ">", + "Duration - StopEaseDuration" ] } ], "actions": [ { "type": { - "value": "CameraShake::SetFrequency" + "value": "SetNumberVariable" }, "parameters": [ - "", - "Variable(__CameraShake.Layer.Frequency)", - "\"\"", - "" + "EaseFactor", + "=", + "clamp(Time / StartEaseDuration, 0, 1)" ] } ] @@ -40292,271 +39751,538 @@ "conditions": [ { "type": { - "value": "VariableChildExists" + "value": "NumberVariable" }, "parameters": [ - "__CameraShake.Layer", - "\"AmplitudeX\"" + "Time", + ">", + "Duration - StopEaseDuration" ] } ], "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.AmplitudeX", + "EaseFactor", "=", - "Variable(__CameraShake.Layer.AmplitudeX)" + "clamp((Duration - Time) / StopEaseDuration, 0, 1)" ] } ] }, { - "type": "BuiltinCommonInstructions::Standard", + "type": "BuiltinCommonInstructions::ForEachChildVariable", + "iterableVariableName": "Layers", + "valueIteratorVariableName": "Layer", + "keyIteratorVariableName": "LayerName", "conditions": [ { "type": { - "value": "VariableChildExists" + "value": "BooleanVariable" }, "parameters": [ - "__CameraShake.Layer", - "\"AmplitudeY\"" + "Layer.Shakable", + "True", + "" ] } ], - "actions": [ + "actions": [], + "events": [ { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeY", - "=", - "Variable(__CameraShake.Layer.AmplitudeY)" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "ActualLayerName", + "=", + "LayerName" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "value": "VariableChildExists" - }, - "parameters": [ - "__CameraShake.Layer", - "\"AmplitudeAngle\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "LayerName", + "=", + "\"__BaseLayer\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "ActualLayerName", + "=", + "\"\"" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "ModVarScene" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "__CameraShake.AmplitudeAngle", - "=", - "Variable(__CameraShake.Layer.AmplitudeAngle)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "comment": "Use user defined default values when there is no layer specific value set." + }, { - "type": { - "value": "VariableChildExists" - }, - "parameters": [ - "__CameraShake.Layer", - "\"AmplitudeZoom\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeZoom", - "=", - "Variable(__CameraShake.Layer.AmplitudeZoom)" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CameraShake::SetFrequency" + }, + "parameters": [ + "", + "DefaultFrequency", + "\"\"", + "" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeX", + "=", + "DefaultAmplitudeX" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeY", + "=", + "DefaultAmplitudeY" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeAngle", + "=", + "DefaultAmplitudeAngle" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeZoom", + "=", + "DefaultAmplitudeZoom" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaX", + "=", + "0" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaY", + "=", + "0" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaAngle", + "=", + "0" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaZoom", + "=", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VariableChildExists2" + }, + "parameters": [ + "Layer", + "\"Frequency\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "CameraShake::SetFrequency" + }, + "parameters": [ + "", + "Layer.Frequency", + "\"\"", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VariableChildExists2" + }, + "parameters": [ + "Layer", + "\"AmplitudeX\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeX", + "=", + "Layer.AmplitudeX" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VariableChildExists2" + }, + "parameters": [ + "Layer", + "\"AmplitudeY\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeY", + "=", + "Layer.AmplitudeY" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VariableChildExists2" + }, + "parameters": [ + "Layer", + "\"AmplitudeAngle\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeAngle", + "=", + "Layer.AmplitudeAngle" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VariableChildExists2" + }, + "parameters": [ + "Layer", + "\"AmplitudeZoom\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeZoom", + "=", + "Layer.AmplitudeZoom" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Shake the layer camera.\nSave the camera displacement to revert it in onScenePostEvents." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "AmplitudeX", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaX", + "=", + "CameraShake::Noise2d(\"\", TimeFromStart(), 1000) * AmplitudeX * EaseFactor" + ] + }, + { + "type": { + "value": "SetCameraCenterX" + }, + "parameters": [ + "", + "+", + "Layers[LayerName].CameraDeltaX", + "ActualLayerName", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "AmplitudeY", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaY", + "=", + "CameraShake::Noise2d(\"\", TimeFromStart(), 2000) * AmplitudeY * EaseFactor" + ] + }, + { + "type": { + "value": "SetCameraCenterY" + }, + "parameters": [ + "", + "+", + "Layers[LayerName].CameraDeltaY", + "ActualLayerName", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "AmplitudeAngle", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaAngle", + "=", + "CameraShake::Noise2d(\"\", TimeFromStart(), 3000) * AmplitudeAngle * EaseFactor" + ] + }, + { + "type": { + "value": "SetCameraAngle" + }, + "parameters": [ + "", + "+", + "Layers[LayerName].CameraDeltaAngle", + "ActualLayerName", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "AmplitudeZoom", + "!=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaZoom", + "=", + "pow(AmplitudeZoom, CameraShake::Noise2d(\"\", TimeFromStart(), 4000) * EaseFactor)" + ] + }, + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "CameraZoom(ActualLayerName, 0) * Layers[LayerName].CameraDeltaZoom", + "ActualLayerName", + "0" + ] + } + ] + } ] } ] + } + ], + "variables": [ + { + "folded": true, + "name": "AmplitudeX", + "type": "number", + "value": 0 }, { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Shake the layer camera.\nSave the camera displacement to revert it in onScenePostEvents." + "folded": true, + "name": "AmplitudeY", + "type": "number", + "value": 0 }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeX", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaX", - "=", - "CameraShake::Noise2d(\"\", TimeFromStart(), 1000) * Variable(__CameraShake.AmplitudeX) * Variable(__CameraShake.EaseFactor)" - ] - }, - { - "type": { - "value": "SetCameraCenterX" - }, - "parameters": [ - "", - "+", - "Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaX)", - "VariableString(__CameraShake.ActualLayerName)", - "0" - ] - } - ] + "folded": true, + "name": "AmplitudeAngle", + "type": "number", + "value": 0 }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeY", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaY", - "=", - "CameraShake::Noise2d(\"\", TimeFromStart(), 2000) * Variable(__CameraShake.AmplitudeY) * Variable(__CameraShake.EaseFactor)" - ] - }, - { - "type": { - "value": "SetCameraCenterY" - }, - "parameters": [ - "", - "+", - "Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaY)", - "VariableString(__CameraShake.ActualLayerName)", - "0" - ] - } - ] + "folded": true, + "name": "AmplitudeZoom", + "type": "number", + "value": 0 }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeAngle", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaAngle", - "=", - "CameraShake::Noise2d(\"\", TimeFromStart(), 3000) * Variable(__CameraShake.AmplitudeAngle) * Variable(__CameraShake.EaseFactor)" - ] - }, - { - "type": { - "value": "SetCameraAngle" - }, - "parameters": [ - "", - "+", - "Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaAngle)", - "VariableString(__CameraShake.ActualLayerName)", - "0" - ] - } - ] + "folded": true, + "name": "EaseFactor", + "type": "number", + "value": 1 }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeZoom", - "!=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaZoom", - "=", - "pow(Variable(__CameraShake.AmplitudeZoom), CameraShake::Noise2d(\"\", TimeFromStart(), 4000) * Variable(__CameraShake.EaseFactor))" - ] - }, - { - "type": { - "value": "ZoomCamera" - }, - "parameters": [ - "", - "CameraZoom(VariableString(__CameraShake.ActualLayerName), 0) * Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaZoom)", - "VariableString(__CameraShake.ActualLayerName)", - "0" - ] - } - ] + "folded": true, + "name": "ActualLayerName", + "type": "string", + "value": "" } ] } @@ -40597,184 +40323,259 @@ ] } ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::ForEachChildVariable", - "iterableVariableName": "__CameraShake.Layers", - "valueIteratorVariableName": "__CameraShake.Layer", - "keyIteratorVariableName": "__CameraShake.LayerName", - "conditions": [ - { - "type": { - "value": "SceneVariableAsBoolean" - }, - "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].Shakable", - "True" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarSceneTxt" - }, - "parameters": [ - "__CameraShake.ActualLayerName", - "=", - "VariableString(__CameraShake.LayerName)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarSceneTxt" - }, - "parameters": [ - "__CameraShake.LayerName", - "=", - "\"__BaseLayer\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarSceneTxt" - }, - "parameters": [ - "__CameraShake.ActualLayerName", - "=", - "\"\"" - ] - } - ] - }, + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [], + "events": [ { - "type": "BuiltinCommonInstructions::Standard", + "type": "BuiltinCommonInstructions::ForEachChildVariable", + "iterableVariableName": "Layers", + "valueIteratorVariableName": "Layer", + "keyIteratorVariableName": "LayerName", "conditions": [ { "type": { - "value": "VarScene" + "value": "BooleanVariable" }, "parameters": [ - "__CameraShake.AmplitudeX", - "!=", - "0" + "Layer.Shakable", + "True", + "" ] } ], "actions": [ { "type": { - "value": "SetCameraCenterX" + "value": "SetNumberVariable" }, "parameters": [ - "", - "-", - "Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaX)", - "VariableString(__CameraShake.ActualLayerName)", - "0" + "CameraDeltaX", + "=", + "Layer.CameraDeltaX" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { "type": { - "value": "VarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.AmplitudeY", - "!=", - "0" + "CameraDeltaY", + "=", + "Layer.CameraDeltaY" ] - } - ], - "actions": [ + }, { "type": { - "value": "SetCameraCenterY" + "value": "SetNumberVariable" }, "parameters": [ - "", - "-", - "Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaY)", - "VariableString(__CameraShake.ActualLayerName)", - "0" + "CameraDeltaAngle", + "=", + "Layer.CameraDeltaAngle" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { "type": { - "value": "VarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.AmplitudeAngle", - "!=", - "0" + "CameraDeltaZoom", + "=", + "Layer.CameraDeltaZoom" ] - } - ], - "actions": [ + }, { "type": { - "value": "SetCameraAngle" + "value": "SetStringVariable" }, "parameters": [ - "", - "-", - "Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaAngle)", - "VariableString(__CameraShake.ActualLayerName)", - "0" + "ActualLayerName", + "=", + "LayerName" ] } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + ], + "events": [ { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeZoom", - "!=", - "1" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "LayerName", + "=", + "\"__BaseLayer\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "ActualLayerName", + "=", + "\"\"" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "ZoomCamera" - }, - "parameters": [ - "", - "CameraZoom(VariableString(__CameraShake.ActualLayerName), 0) / Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaZoom)", - "VariableString(__CameraShake.ActualLayerName)", - "0" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CameraDeltaX", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraCenterX" + }, + "parameters": [ + "", + "-", + "CameraDeltaX", + "ActualLayerName", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CameraDeltaY", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraCenterY" + }, + "parameters": [ + "", + "-", + "CameraDeltaY", + "ActualLayerName", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CameraDeltaAngle", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraAngle" + }, + "parameters": [ + "", + "-", + "CameraDeltaAngle", + "ActualLayerName", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CameraDeltaZoom", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "CameraZoom(ActualLayerName) / CameraDeltaZoom", + "ActualLayerName", + "0" + ] + } ] } ] } + ], + "variables": [ + { + "folded": true, + "name": "ActualLayerName", + "type": "string", + "value": "" + }, + { + "folded": true, + "name": "CameraDeltaX", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "CameraDeltaY", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "CameraDeltaAngle", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "CameraDeltaZoom", + "type": "number", + "value": 0 + } ] } ] @@ -40796,42 +40597,42 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Time", + "Time", "=", "0" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "=", - "Duration" + "NewDuration" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StartEaseDuration", + "StartEaseDuration", "=", - "StartEaseDuration" + "NewStartEaseDuration" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StopEaseDuration", + "StopEaseDuration", "=", - "StopEaseDuration" + "NewStopEaseDuration" ] } ] @@ -40841,34 +40642,34 @@ "conditions": [ { "type": { - "value": "VarScene" + "value": "NumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "<", - "Variable(__CameraShake.StartEaseDuration) + Variable(__CameraShake.StopEaseDuration)" + "StartEaseDuration + StopEaseDuration" ] } ], "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StartEaseDuration", + "StartEaseDuration", "=", - "StartEaseDuration * Variable(__CameraShake.Duration) / (StartEaseDuration + StopEaseDuration)" + "StartEaseDuration * Duration / (StartEaseDuration + StopEaseDuration)" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StopEaseDuration", + "StopEaseDuration", "=", - "StopEaseDuration * Variable(__CameraShake.Duration) / (StartEaseDuration + StopEaseDuration)" + "StopEaseDuration * Duration / (StartEaseDuration + StopEaseDuration)" ] } ] @@ -40877,17 +40678,17 @@ "parameters": [ { "description": "Duration (in seconds)", - "name": "Duration", + "name": "NewDuration", "type": "expression" }, { "description": "Ease duration to start (in seconds)", - "name": "StartEaseDuration", + "name": "NewStartEaseDuration", "type": "expression" }, { "description": "Ease duration to stop (in seconds)", - "name": "StopEaseDuration", + "name": "NewStopEaseDuration", "type": "expression" } ], @@ -40916,10 +40717,10 @@ "actions": [ { "type": { - "value": "VariableClearChildren" + "value": "ClearVariableChildren" }, "parameters": [ - "__CameraShake.Layers" + "Layers" ] }, { @@ -40929,7 +40730,7 @@ "parameters": [ "", "", - "GetArgumentAsString(\"Layer\")", + "NewLayer", "" ] } @@ -40941,92 +40742,92 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Time", + "Time", "=", "0" ] }, { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.Layer", + "Layer", "=", - "GetArgumentAsString(\"Layer\")" + "NewLayer" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "=", - "GetArgumentAsNumber(\"Duration\")" + "NewDuration" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StartEaseDuration", + "StartEaseDuration", "=", "0" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StopEaseDuration", + "StopEaseDuration", "=", - "GetArgumentAsNumber(\"Duration\")" + "NewDuration" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeX", + "DefaultAmplitudeX", "=", - "abs(GetArgumentAsNumber(\"AmplitudeX\"))" + "abs(AmplitudeX)" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeY", + "DefaultAmplitudeY", "=", - "abs(GetArgumentAsNumber(\"AmplitudeY\"))" + "abs(AmplitudeY)" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeAngle", + "DefaultAmplitudeAngle", "=", - "GetArgumentAsNumber(\"AmplitudeAngle\")" + "AmplitudeAngle" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeZoom", + "DefaultAmplitudeZoom", "=", - "1 + GetArgumentAsNumber(\"AmplitudeZoom\") / 100" + "1 + AmplitudeZoom / 100" ] } ], @@ -41039,7 +40840,7 @@ "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "GetArgumentAsNumber(\"ShakePeriod\")", + "ShakePeriod", "!=", "0" ] @@ -41048,12 +40849,12 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultFrequency", + "DefaultFrequency", "=", - "1 / GetArgumentAsNumber(\"ShakePeriod\")" + "1 / ShakePeriod" ] } ] @@ -41066,7 +40867,7 @@ "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "GetArgumentAsNumber(\"ShakePeriod\")", + "ShakePeriod", "=", "0" ] @@ -41075,10 +40876,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultFrequency", + "DefaultFrequency", "=", "1 / 0.08" ] @@ -41104,20 +40905,22 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShakeForever\"" + "ShakeForever", + "True", + "" ] } ], "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "=", "1234567890" ] @@ -41141,10 +40944,10 @@ "conditions": [ { "type": { - "value": "VarScene" + "value": "NumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "NewDuration", "=", "0" ] @@ -41153,10 +40956,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "=", "0.5" ] @@ -41180,7 +40983,7 @@ }, { "description": "Layer (base layer if empty)", - "name": "Layer", + "name": "NewLayer", "type": "layer" }, { @@ -41190,7 +40993,7 @@ }, { "description": "Duration (in seconds) (Default: 0.5)", - "name": "Duration", + "name": "NewDuration", "type": "expression" }, { @@ -41230,30 +41033,30 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Time", + "Time", "=", "0" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "=", "1234567890" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StartEaseDuration", + "StartEaseDuration", "=", "EaseDuration" ] @@ -41283,30 +41086,30 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Time", + "Time", "=", "0" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "=", "EaseDuration" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StopEaseDuration", + "StopEaseDuration", "=", "EaseDuration" ] @@ -41337,12 +41140,12 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", - "Layer" + "NewLayerName" ] } ] @@ -41355,7 +41158,7 @@ "value": "BuiltinCommonInstructions::CompareStrings" }, "parameters": [ - "Layer", + "NewLayerName", "=", "\"\"" ] @@ -41364,10 +41167,10 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", "\"__BaseLayer\"" ] @@ -41380,21 +41183,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Shakable\"" + "Shakable", + "True", + "" ] } ], "actions": [ { "type": { - "value": "SetSceneVariableAsBoolean" + "value": "SetBooleanVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].Shakable", - "=" + "Layers[LayerName].Shakable", + "False", + "" ] } ] @@ -41404,21 +41210,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Shakable\"" + "Shakable", + "True", + "" ] } ], "actions": [ { "type": { - "value": "SetSceneVariableAsBoolean" + "value": "SetBooleanVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].Shakable", - "True" + "Layers[LayerName].Shakable", + "True", + "" ] } ] @@ -41434,7 +41243,7 @@ }, { "description": "Layer", - "name": "Layer", + "name": "NewLayerName", "type": "layer" } ], @@ -41452,12 +41261,12 @@ "conditions": [ { "type": { - "value": "VarScene" + "value": "NumberVariable" }, "parameters": [ - "__CameraShake.Time", + "Time", "<", - "Variable(__CameraShake.Duration)" + "Duration" ] } ], @@ -41490,12 +41299,12 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", - "Layer" + "NewLayerName" ] } ] @@ -41508,7 +41317,7 @@ "value": "BuiltinCommonInstructions::CompareStrings" }, "parameters": [ - "Layer", + "NewLayerName", "=", "\"\"" ] @@ -41517,10 +41326,10 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", "\"__BaseLayer\"" ] @@ -41533,20 +41342,20 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].AmplitudeX", + "Layers[LayerName].AmplitudeX", "=", "AmplitudeX" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].AmplitudeY", + "Layers[LayerName].AmplitudeY", "=", "AmplitudeY" ] @@ -41567,7 +41376,7 @@ }, { "description": "Layer", - "name": "Layer", + "name": "NewLayerName", "type": "layer" } ], @@ -41587,12 +41396,12 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", - "Layer" + "NewLayerName" ] } ] @@ -41605,7 +41414,7 @@ "value": "BuiltinCommonInstructions::CompareStrings" }, "parameters": [ - "Layer", + "NewLayerName", "=", "\"\"" ] @@ -41614,10 +41423,10 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", "\"__BaseLayer\"" ] @@ -41630,10 +41439,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].AmplitudeAngle", + "Layers[LayerName].AmplitudeAngle", "=", "AmplitudeAngle" ] @@ -41648,8 +41457,8 @@ "type": "expression" }, { - "description": "Layer", - "name": "Layer", + "description": "NewLayerName", + "name": "NewLayerName", "type": "layer" } ], @@ -41669,12 +41478,12 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", - "GetArgumentAsString(\"Layer\")" + "NewLayerName" ] } ] @@ -41687,7 +41496,7 @@ "value": "BuiltinCommonInstructions::CompareStrings" }, "parameters": [ - "Layer", + "NewLayerName", "=", "\"\"" ] @@ -41696,10 +41505,10 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", "\"__BaseLayer\"" ] @@ -41712,12 +41521,12 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].AmplitudeZoom", + "Layers[LayerName].AmplitudeZoom", "=", - "GetArgumentAsNumber(\"AmplitudeZoom\")" + "AmplitudeZoom" ] } ] @@ -41730,8 +41539,8 @@ "type": "expression" }, { - "description": "Layer", - "name": "Layer", + "description": "NewLayerName", + "name": "NewLayerName", "type": "layer" } ], @@ -41751,12 +41560,12 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", - "GetArgumentAsString(\"Layer\")" + "NewLayerName" ] } ] @@ -41769,7 +41578,7 @@ "value": "BuiltinCommonInstructions::CompareStrings" }, "parameters": [ - "Layer", + "NewLayerName", "=", "\"\"" ] @@ -41778,10 +41587,10 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", "\"__BaseLayer\"" ] @@ -41794,12 +41603,12 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].Frequency", + "Layers[LayerName].Frequency", "=", - "GetArgumentAsNumber(\"Frequency\")" + "Frequency" ] } ] @@ -41812,8 +41621,8 @@ "type": "expression" }, { - "description": "Layer", - "name": "Layer", + "description": "NewLayerName", + "name": "NewLayerName", "type": "layer" } ], @@ -41833,20 +41642,20 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeX", + "DefaultAmplitudeX", "=", "AmplitudeX" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeY", + "DefaultAmplitudeY", "=", "AmplitudeY" ] @@ -41882,10 +41691,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeAngle", + "DefaultAmplitudeAngle", "=", "AmplitudeAngle" ] @@ -41916,10 +41725,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeZoom", + "DefaultAmplitudeZoom", "=", "AmplitudeZoom" ] @@ -41950,10 +41759,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultFrequency", + "DefaultFrequency", "=", "Frequency" ] From 9e87b183e288159ee47c486a48500a52b5091f70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Wed, 16 Jul 2025 14:51:42 +0200 Subject: [PATCH 07/11] Use variant --- examples/space-shooter/space-shooter.json | 1877 ++++++++++----------- 1 file changed, 918 insertions(+), 959 deletions(-) diff --git a/examples/space-shooter/space-shooter.json b/examples/space-shooter/space-shooter.json index 264738bcb..6d91fe58a 100644 --- a/examples/space-shooter/space-shooter.json +++ b/examples/space-shooter/space-shooter.json @@ -1,9 +1,9 @@ { "firstLayout": "", "gdVersion": { - "build": 99, - "major": 4, - "minor": 0, + "build": 236, + "major": 5, + "minor": 5, "revision": 0 }, "properties": { @@ -18,7 +18,6 @@ "scaleMode": "nearest", "sizeOnStartupMode": "", "templateSlug": "", - "useExternalSourceFiles": false, "version": "1.0.0", "name": "Space Shooter", "description": "In this retro space shooter, kill enemies and boss to complete the level.", @@ -67,7 +66,6 @@ "resources": { "resources": [ { - "alwaysLoaded": false, "file": "assets/player Ship/idle1.png", "kind": "image", "metadata": "", @@ -76,7 +74,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/player Ship/idle2.png", "kind": "image", "metadata": "", @@ -85,7 +82,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/player Ship/up1.png", "kind": "image", "metadata": "", @@ -94,7 +90,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/player Ship/up2.png", "kind": "image", "metadata": "", @@ -103,7 +98,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/player Ship/down1.png", "kind": "image", "metadata": "", @@ -112,7 +106,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/player Ship/down2.png", "kind": "image", "metadata": "", @@ -121,7 +114,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/background/space bg.png", "kind": "image", "metadata": "", @@ -130,7 +122,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/background/corridor.png", "kind": "image", "metadata": "", @@ -139,7 +130,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/asteroid/asteroid1.png", "kind": "image", "metadata": "", @@ -148,7 +138,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/asteroid/asteroid2.png", "kind": "image", "metadata": "", @@ -157,7 +146,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/asteroid/asteroid3.png", "kind": "image", "metadata": "", @@ -166,7 +154,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy2/enemy200.png", "kind": "image", "metadata": "", @@ -175,7 +162,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/enemy2/enemy201.png", "kind": "image", "metadata": "", @@ -184,7 +170,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/enemy2/enemy202.png", "kind": "image", "metadata": "", @@ -193,7 +178,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/enemy2/enemy203.png", "kind": "image", "metadata": "", @@ -202,7 +186,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy2/enemy204.png", "kind": "image", "metadata": "", @@ -211,7 +194,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy2/enemy205.png", "kind": "image", "metadata": "", @@ -220,7 +202,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy2/enemy206.png", "kind": "image", "metadata": "", @@ -229,7 +210,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy2/enemy207.png", "kind": "image", "metadata": "", @@ -238,7 +218,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/enemy2/enemy208.png", "kind": "image", "metadata": "", @@ -247,7 +226,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy2/enemy209.png", "kind": "image", "metadata": "", @@ -256,7 +234,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy2/enemy210.png", "kind": "image", "metadata": "", @@ -265,7 +242,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy2/enemy211.png", "kind": "image", "metadata": "", @@ -274,7 +250,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/player Ship/bullet.png", "kind": "image", "metadata": "", @@ -283,7 +258,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/powerUp/powerUp00.png", "kind": "image", "metadata": "", @@ -292,7 +266,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/powerUp/powerUp01.png", "kind": "image", "metadata": "", @@ -301,7 +274,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/powerUp/powerUp02.png", "kind": "image", "metadata": "", @@ -310,7 +282,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/powerUp/powerUp03.png", "kind": "image", "metadata": "", @@ -319,7 +290,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/powerUp/powerUp04.png", "kind": "image", "metadata": "", @@ -328,7 +298,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/explosion/explosion00.png", "kind": "image", "metadata": "", @@ -337,7 +306,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/explosion/explosion01.png", "kind": "image", "metadata": "", @@ -346,7 +314,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/explosion/explosion02.png", "kind": "image", "metadata": "", @@ -355,7 +322,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/explosion/explosion03.png", "kind": "image", "metadata": "", @@ -364,7 +330,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/explosion/explosion04.png", "kind": "image", "metadata": "", @@ -373,7 +338,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/explosion/explosion05.png", "kind": "image", "metadata": "", @@ -382,7 +346,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy3/enemy3.png", "kind": "image", "metadata": "", @@ -391,7 +354,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy bullet/enemyBullet00.png", "kind": "image", "metadata": "", @@ -400,7 +362,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy bullet/enemyBullet01.png", "kind": "image", "metadata": "", @@ -409,7 +370,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy bullet/enemyBullet02.png", "kind": "image", "metadata": "", @@ -418,7 +378,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/enemy1/idle Left.png", "kind": "image", "metadata": "", @@ -427,7 +386,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/enemy1/turn left (1).png", "kind": "image", "metadata": "", @@ -436,7 +394,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy1/turn left (2).png", "kind": "image", "metadata": "", @@ -445,7 +402,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy1/turn left (3).png", "kind": "image", "metadata": "", @@ -454,7 +410,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/enemy1/turn left (4).png", "kind": "image", "metadata": "", @@ -463,7 +418,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/enemy1/turn left (5).png", "kind": "image", "metadata": "", @@ -502,7 +456,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/player Ship/attack flame00.png", "kind": "image", "metadata": "", @@ -511,7 +464,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/player Ship/attack flame01.png", "kind": "image", "metadata": "", @@ -530,7 +482,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/life counter.png", "kind": "image", "metadata": "", @@ -539,7 +490,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/life bar.png", "kind": "image", "metadata": "", @@ -548,7 +498,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/playerMech/idle1.png", "kind": "image", "metadata": "", @@ -557,7 +506,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/playerMech/idle2.png", "kind": "image", "metadata": "", @@ -566,7 +514,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/playerMech/up (1).png", "kind": "image", "metadata": "", @@ -575,7 +522,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/playerMech/up (2).png", "kind": "image", "metadata": "", @@ -584,7 +530,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/playerMech/down (1).png", "kind": "image", "metadata": "", @@ -593,7 +538,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/playerMech/down (2).png", "kind": "image", "metadata": "", @@ -602,7 +546,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/robo change00.png", "kind": "image", "metadata": "", @@ -611,7 +554,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/robo change01.png", "kind": "image", "metadata": "", @@ -620,7 +562,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/robo change02.png", "kind": "image", "metadata": "", @@ -629,7 +570,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/robo change03.png", "kind": "image", "metadata": "", @@ -638,7 +578,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/playerMech/mech_attack00.png", "kind": "image", "metadata": "", @@ -647,7 +586,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/playerMech/mech_attack01.png", "kind": "image", "metadata": "", @@ -656,7 +594,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/playerMech/mech_attack02.png", "kind": "image", "metadata": "", @@ -665,7 +602,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/playerMech/mech_attack03.png", "kind": "image", "metadata": "", @@ -674,7 +610,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/playerMech/mech_attack04.png", "kind": "image", "metadata": "", @@ -683,7 +618,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/playerMech/mech_attack05.png", "kind": "image", "metadata": "", @@ -692,7 +626,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/playerMech/mech_attack06.png", "kind": "image", "metadata": "", @@ -701,7 +634,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/playerMech/mech_attack_area.png", "kind": "image", "metadata": "", @@ -710,7 +642,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/tiles mechanical/tiles mechanical 1.png", "kind": "image", "metadata": "", @@ -719,7 +650,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/tiles mechanical/tiles mechanical 2.png", "kind": "image", "metadata": "", @@ -728,7 +658,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/change button.png", "kind": "image", "metadata": "", @@ -737,7 +666,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/body/idle.png", "kind": "image", "metadata": "", @@ -746,7 +674,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/body/attack preparation (1).png", "kind": "image", "metadata": "", @@ -755,7 +682,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/body/attack preparation (2).png", "kind": "image", "metadata": "", @@ -764,7 +690,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/body/attack preparation (3).png", "kind": "image", "metadata": "", @@ -773,7 +698,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/body/attack preparation (4).png", "kind": "image", "metadata": "", @@ -782,7 +706,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/body/attack preparation (5).png", "kind": "image", "metadata": "", @@ -791,7 +714,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/top/deploy (6).png", "kind": "image", "metadata": "", @@ -800,7 +722,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/top/deploy (1).png", "kind": "image", "metadata": "", @@ -809,7 +730,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/top/deploy (2).png", "kind": "image", "metadata": "", @@ -818,7 +738,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/top/deploy (3).png", "kind": "image", "metadata": "", @@ -827,7 +746,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/top/deploy (4).png", "kind": "image", "metadata": "", @@ -836,7 +754,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/top/deploy (5).png", "kind": "image", "metadata": "", @@ -845,7 +762,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/top/broken (1).png", "kind": "image", "metadata": "", @@ -854,7 +770,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/top/broken (2).png", "kind": "image", "metadata": "", @@ -863,7 +778,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/top/broken (3).png", "kind": "image", "metadata": "", @@ -872,7 +786,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/top/broken (4).png", "kind": "image", "metadata": "", @@ -881,7 +794,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/top/broken (5).png", "kind": "image", "metadata": "", @@ -890,7 +802,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/top/broken (6).png", "kind": "image", "metadata": "", @@ -899,7 +810,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/bottom/deploy (6).png", "kind": "image", "metadata": "", @@ -908,7 +818,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/bottom/deploy (1).png", "kind": "image", "metadata": "", @@ -917,7 +826,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/bottom/deploy (2).png", "kind": "image", "metadata": "", @@ -926,7 +834,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/bottom/deploy (3).png", "kind": "image", "metadata": "", @@ -935,7 +842,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/bottom/deploy (4).png", "kind": "image", "metadata": "", @@ -944,7 +850,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/bottom/deploy (5).png", "kind": "image", "metadata": "", @@ -953,7 +858,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/bottom/broken (1).png", "kind": "image", "metadata": "", @@ -962,7 +866,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/bottom/broken (2).png", "kind": "image", "metadata": "", @@ -971,7 +874,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/bottom/broken (3).png", "kind": "image", "metadata": "", @@ -980,7 +882,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/bottom/broken (4).png", "kind": "image", "metadata": "", @@ -989,7 +890,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/bottom/broken (5).png", "kind": "image", "metadata": "", @@ -998,7 +898,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/arms/bottom/broken (6).png", "kind": "image", "metadata": "", @@ -1007,7 +906,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/laser/super_laser00.png", "kind": "image", "metadata": "", @@ -1016,7 +914,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/laser/super_laser01.png", "kind": "image", "metadata": "", @@ -1025,7 +922,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/background/boss background.png", "kind": "image", "metadata": "", @@ -1034,7 +930,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/Boss/body/attack preparation (6).png", "kind": "image", "metadata": "", @@ -1043,7 +938,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Boss/body/boss body broken.png", "kind": "image", "metadata": "", @@ -1052,7 +946,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/black rectangle.png", "kind": "image", "metadata": "", @@ -1061,7 +954,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/gameover.png", "kind": "image", "metadata": "", @@ -1070,7 +962,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/life counter.png", "kind": "image", "metadata": "", @@ -1079,7 +970,6 @@ "userAdded": true }, { - "alwaysLoaded": false, "file": "assets/life bar.png", "kind": "image", "metadata": "", @@ -4221,6 +4111,7 @@ "assetStoreId": "", "name": "LifeBar", "type": "PanelSpriteContinuousBar::PanelSpriteContinuousBar", + "variant": "Life bar", "variables": [], "effects": [], "behaviors": [], @@ -4297,6 +4188,7 @@ "text": "2 / 3", "font": "", "textAlignment": "center", + "verticalTextAlignment": "top", "characterSize": 20, "color": "0;0;0" } @@ -7443,6 +7335,17 @@ "" ] }, + { + "type": { + "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetValue" + }, + "parameters": [ + "LifeBar", + "=", + "Player.Health::Health()", + "" + ] + }, { "type": { "value": "Delete" @@ -8971,6 +8874,14 @@ "name": "AnimatedBackAndForthMirroredMovement", "type": "AnimatedBackAndForthMovement::AnimatedBackAndForthMirroredMovement" }, + { + "name": "Animation", + "type": "AnimatableCapability::AnimatableBehavior" + }, + { + "name": "Effect", + "type": "EffectCapability::EffectBehavior" + }, { "name": "EllipseMovement", "type": "EllipseMovement::EllipseMovement" @@ -8987,6 +8898,10 @@ "name": "Flash", "type": "Flash::Flash" }, + { + "name": "Flippable", + "type": "FlippableCapability::FlippableBehavior" + }, { "name": "Health", "type": "Health::Health" @@ -8995,10 +8910,22 @@ "name": "LinearMovement", "type": "LinearMovement::LinearMovement" }, + { + "name": "Opacity", + "type": "OpacityCapability::OpacityBehavior" + }, { "name": "PlayerAnimator", "type": "SpaceShooterPlayer::PlayerAnimator" }, + { + "name": "Resizable", + "type": "ResizableCapability::ResizableBehavior" + }, + { + "name": "Scale", + "type": "ScalableCapability::ScalableBehavior" + }, { "name": "StayOnScreen", "type": "StayOnScreen::StayOnScreen" @@ -9021,12 +8948,13 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Resource bar (continuous)", + "gdevelopVersion": ">=5.5.230", "helpPath": "/objects/resource-bar", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBkPSJNMjgsMTJIMTRINGMtMi4yLDAtNCwxLjgtNCw0czEuOCw0LDQsNGgxMGgxNGMyLjIsMCw0LTEuOCw0LTRTMzAuMiwxMiwyOCwxMnogTTQsMThjLTEuMSwwLTItMC45LTItMnMwLjktMiwyLTJoMTANCgljMS4xLDAsMiwwLjksMiwycy0wLjksMi0yLDJINHoiLz4NCjwvc3ZnPg0K", "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.1", + "version": "2.0.0", "description": [ "A bar that represents a resource in the game (health, mana, ammo, etc).", "", @@ -9051,6 +8979,12 @@ "gqDaZjCfevOOxBYkK6zlhtZnXCg1", "q8ubdigLvIRXLxsJDDTaokO41mc2" ], + "changelog": [ + { + "version": "2.0.0", + "breaking": "- Resource bars now use \"variants\", allowing easy swapping of their visual aspect. You will have to make some adjustments to existing resource bars in your project. Follow this [migration documentation](https://wiki.gdevelop.io/gdevelop5/objects/custom-objects-prefab-template/migrate-to-variants/) to do these changes." + } + ], "dependencies": [], "globalVariables": [], "sceneVariables": [], @@ -9093,7 +9027,7 @@ "Object", "\"__ResourceBar.LastValueChange\"", "<=", - "Object.Behavior::PropertyPreviousHighValueDuration()" + "PreviousHighValueDuration" ] } ], @@ -9142,7 +9076,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyValue()" + "CurrentValue" ] } ] @@ -9179,13 +9113,12 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentValue", "=", - "clamp(GetArgumentAsNumber(\"Value\"), 0, Object.Behavior::MaxValue())" + "clamp(Value, 0, Object.Behavior::MaxValue())" ] } ] @@ -9195,11 +9128,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Value", "<", "Object.Behavior::PreviousHighValue()" ] @@ -9222,13 +9154,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Value", ">=", - "Object.Behavior::PropertyPreviousHighValue()" + "PreviousHighValue" ] } ], @@ -9278,7 +9209,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMaxValue()" + "MaxValue" ] } ] @@ -9315,13 +9246,12 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyMaxValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxValue", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -9354,11 +9284,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentValue", "=", "0" ] @@ -9403,13 +9332,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentValue", "=", - "Object.Behavior::PropertyMaxValue()" + "MaxValue" ] } ], @@ -9456,7 +9384,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyPreviousHighValue()" + "PreviousHighValue" ] } ] @@ -9493,13 +9421,12 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyPreviousHighValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousHighValue", "=", - "Object.Behavior::PropertyValue()" + "CurrentValue" ] } ] @@ -9537,7 +9464,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyPreviousHighValueDuration()" + "PreviousHighValueDuration" ] } ] @@ -9574,13 +9501,12 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyPreviousHighValueDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousHighValueDuration", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -9613,14 +9539,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PreviousHighValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousHighValue", "!=", - "Object.Behavior::PropertyValue()", - "" + "CurrentValue" ] }, { @@ -9631,7 +9555,7 @@ "Object", "\"__ResourceBar.LastValueChange\"", "<=", - "Object.Behavior::PropertyPreviousHighValueDuration()" + "PreviousHighValueDuration" ] } ], @@ -9668,27 +9592,18 @@ "value": "1", "type": "Number", "label": "Value", - "description": "", - "group": "", - "extraInformation": [], - "name": "Value" + "name": "CurrentValue" }, { "value": "3", "type": "Number", "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxValue" }, { "value": "", "type": "Number", "label": "Previous high value", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "PreviousHighValue" }, @@ -9696,9 +9611,7 @@ "value": "1", "type": "Number", "label": "Previous high value conservation duration (in seconds)", - "description": "", - "group": "", - "extraInformation": [], + "hidden": true, "name": "PreviousHighValueDuration" } ], @@ -9707,10 +9620,284 @@ ], "eventsBasedObjects": [ { + "areaMaxX": 256, + "areaMaxY": 64, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, "defaultName": "ResourceBar", "description": "A bar that represents a resource in the game (health, mana, ammo, etc).", "fullName": "Resource bar (continuous)", + "isInnerAreaFollowingParentSize": true, + "isUsingLegacyInstancesRenderer": false, "name": "PanelSpriteContinuousBar", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "leftEdgeAnchor": 4, + "rightEdgeAnchor": 4, + "topEdgeAnchor": 4, + "relativeToOriginalWindowSize": true, + "useLegacyBottomAndRightAnchors": false + } + ], + "string": "2 / 3", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "2 / 3", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 20, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ResourceBar", + "type": "PanelSpriteContinuousBar::ResourceBar", + "Value": 1, + "MaxValue": 3, + "PreviousValue": 0, + "CurrentValue": 1 + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Buffer", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Background", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Buffer" + }, + { + "objectName": "Background" + } + ] + }, + "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": [ + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 64, + "layer": "", + "name": "Background", + "persistentUuid": "fa2b0c42-1baa-489d-9c47-87ec233cbe8c", + "width": 256, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 44, + "layer": "", + "name": "Buffer", + "persistentUuid": "6e01eec9-ca43-4a5c-b4e1-4d9d384473e2", + "width": 236, + "x": 10, + "y": 10, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 44, + "layer": "", + "name": "FillBar", + "persistentUuid": "4833affb-a8d1-4a2b-9019-a20cf5fdc68e", + "width": 196, + "x": 10, + "y": 10, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 64, + "layer": "", + "name": "Label", + "persistentUuid": "0e63f21c-2071-4765-8254-e9021fa84ec4", + "width": 256, + "x": 0, + "y": 32, + "zOrder": 4, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], "eventsFunctions": [ { "fullName": "", @@ -9728,35 +9915,7 @@ "textG": 0, "textR": 0 }, - "comment": "This allows to detect a change of \"intial value\" on hot reload." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyPreviousInitialValue" - }, - "parameters": [ - "Object", - "=", - "Object.PropertyInitialValue()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Create the child-object instances." + "comment": "Anchors won't work as there is an absolute margin and a proportional size at the same time" }, { "type": "BuiltinCommonInstructions::Standard", @@ -9764,85 +9923,100 @@ "actions": [ { "type": { - "value": "Create" - }, - "parameters": [ - "", - "Background", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "Create" + "value": "ActivateBehavior" }, "parameters": [ - "", "FillBar", - "0", - "0", + "Anchor", "" ] }, { "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Background", - "=", - "1" - ] - }, - { - "type": { - "value": "ChangePlan" + "value": "ActivateBehavior" }, "parameters": [ - "FillBar", - "=", - "3" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyPreviousHighValueDuration" - }, - "parameters": [ - "Object", - ">", - "0" + "Buffer", + "Anchor", + "" ] } ], - "actions": [ + "events": [ { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Buffer", - "0", - "0", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Buffer", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarLeftPlusRightMargin", + "=", + "Object.Width() - (max(FillBar.BoundingBoxRight(), Buffer.BoundingBoxRight()) - min(FillBar.BoundingBoxLeft(), Buffer.BoundingBoxLeft()))" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarTopPlusBottomMargin", + "=", + "Object.Height() - (max(FillBar.BoundingBoxBottom(), Buffer.BoundingBoxBottom()) - min(FillBar.BoundingBoxTop(), Buffer.BoundingBoxTop()))" + ] + } ] }, { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Buffer", - "=", - "2" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Buffer", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarLeftPlusRightMargin", + "=", + "Object.Width() - (FillBar.BoundingBoxRight() - FillBar.BoundingBoxLeft())" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarTopPlusBottomMargin", + "=", + "Object.Height() - (FillBar.BoundingBoxBottom() - FillBar.BoundingBoxTop())" + ] + } ] } ] @@ -9857,7 +10031,7 @@ "textG": 0, "textR": 0 }, - "comment": "Create the label over the bar." + "comment": "This allows to detect a change of \"intial value\" on hot reload." }, { "type": "BuiltinCommonInstructions::Standard", @@ -9865,56 +10039,78 @@ "actions": [ { "type": { - "value": "Create" + "value": "SetNumberVariable" }, "parameters": [ - "", - "Label", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Label", + "PreviousInitialValue", "=", - "4" + "InitialValue" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create the child-object instances." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { "type": { - "value": "TextObject::SetTextAlignment" + "value": "NumberVariable" }, "parameters": [ - "Label", - "\"center\"" + "PreviousHighValueDuration", + "=", + "0" ] - }, + } + ], + "actions": [ { "type": { - "value": "TextObject::SetWrapping" + "value": "Delete" }, "parameters": [ - "Label", - "yes" + "Buffer", + "" ] } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create the label over the bar." + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { "inverted": true, - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyShowLabel" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShowLabel", + "True", + "" ] } ], @@ -9952,50 +10148,62 @@ "parameters": [ "Object", "=", - "Object.PropertyMaxValue()", + "MaxValue", "Object.PropertyMaxValue()" ] }, { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetValue" + "value": "PanelSpriteContinuousBar::ResourceBar::SetValue" }, "parameters": [ - "Object", + "FillBar", + "ResourceBar", "=", - "Object.PropertyInitialValue()", - "Object.PropertyInitialValue()" + "InitialValue", + "" ] }, { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPreviousValueDuration" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ - "Object", + "FillBar", + "Resizable", "=", - "Object.PropertyPreviousHighValueDuration()", - "" + "Object.WidthForValue()" ] }, { "type": { - "value": "Tween::RemoveTween" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ - "FillBar", - "Tween", - "\"ChangeValue\"" + "Buffer", + "Resizable", + "=", + "FillBar.Width()" ] }, { "type": { - "value": "PanelSpriteObject::Width" + "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPreviousValueDuration" }, "parameters": [ - "FillBar", + "Object", "=", - "Object.WidthForValue()" + "PreviousHighValueDuration", + "" + ] + }, + { + "type": { + "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLabel" + }, + "parameters": [ + "Object", + "" ] } ] @@ -10037,7 +10245,7 @@ "parameters": [ "Object", "=", - "Object.PropertyMaxValue()", + "MaxValue", "Object.PropertyMaxValue()" ] } @@ -10048,24 +10256,24 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyInitialValue" + "value": "NumberVariable" }, "parameters": [ - "Object", + "InitialValue", "!=", - "Object.PropertyPreviousInitialValue()" + "PreviousInitialValue" ] } ], "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyPreviousInitialValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", + "PreviousInitialValue", "=", - "Object.PropertyInitialValue()" + "InitialValue" ] }, { @@ -10075,7 +10283,7 @@ "parameters": [ "Object", "=", - "Object.PropertyInitialValue()", + "InitialValue", "Object.PropertyInitialValue()" ] }, @@ -10086,7 +10294,7 @@ "parameters": [ "Object", "=", - "Object.PropertyPreviousHighValueDuration()", + "PreviousHighValueDuration", "" ] }, @@ -10108,10 +10316,11 @@ "actions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "FillBar", + "Resizable", "=", "Object.WidthForValue()" ] @@ -10136,124 +10345,101 @@ "sentence": "", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Resize", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "NumberVariable" }, - "comment": "Children instances must be resized when the parent size change:\n- background is resized to take the full dimensions of the parent\n- the bar size is refreshed according to the value\n- the label is put back at the center of the bar\n\nThe scale is set back to 1 because it means that the parent instance has the same dimensions as the union of its children instances." + "parameters": [ + "OldParentWidth", + "!=", + "Object.Width()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "OldParentWidth", + "=", + "Object.Width()" + ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Width()", - "!=", - "max(Background.BoundingBoxRight(), Label.BoundingBoxRight()) - min(Background.BoundingBoxLeft(), Label.BoundingBoxLeft())" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Height()", - "!=", - "max(Background.BoundingBoxBottom(), Label.BoundingBoxBottom()) - min(Background.BoundingBoxTop(), Label.BoundingBoxTop())" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Background", - "Width", - "=", - "Object.Width()" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Background", - "Height", - "=", - "Object.Height()" - ] - }, - { - "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::Scale" - }, - "parameters": [ - "Object", - "=", - "1" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Width" - }, - "parameters": [ - "Background", - "=", - "Background.Variable(Width)" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Height" - }, - "parameters": [ - "Background", - "=", - "Background.Variable(Height)" - ] - }, - { - "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLayout" - }, - "parameters": [ - "Object", - "" - ] - } + "type": { + "value": "ResizableCapability::ResizableBehavior::SetWidth" + }, + "parameters": [ + "FillBar", + "Resizable", + "=", + "Object.WidthForValue()" + ] + }, + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetWidth" + }, + "parameters": [ + "Buffer", + "Resizable", + "=", + "FillBar.Width()" + ] + }, + { + "type": { + "value": "Tween::RemoveTween" + }, + "parameters": [ + "FillBar", + "Tween", + "\"ChangeValue\"" + ] + }, + { + "type": { + "value": "Tween::RemoveTween" + }, + "parameters": [ + "Buffer", + "Tween", + "\"ChangeValue\"" ] } - ], - "parameters": [] + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetHeight" + }, + "parameters": [ + "FillBar", + "Resizable", + "=", + "Object.Height() - BarTopPlusBottomMargin" + ] + }, + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetHeight" + }, + "parameters": [ + "Buffer", + "Resizable", + "=", + "FillBar.Height()" + ] + } + ] }, { "type": "BuiltinCommonInstructions::Standard", @@ -10278,7 +10464,7 @@ "actions": [ { "type": { - "value": "Tween::AddObjectWidthTween" + "value": "Tween::TweenBehavior::AddObjectWidthTween2" }, "parameters": [ "Buffer", @@ -10286,7 +10472,7 @@ "\"ChangeValue\"", "Object.WidthForValue()", "\"linear\"", - "Object.PropertyEasingDuration() * 1000", + "EasingDuration", "" ] } @@ -10297,10 +10483,11 @@ "conditions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::Width" }, "parameters": [ "FillBar", + "Resizable", "<", "Buffer.Width()" ] @@ -10323,10 +10510,11 @@ "conditions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::Width" }, "parameters": [ "FillBar", + "Resizable", ">=", "Buffer.Width()" ] @@ -10368,121 +10556,25 @@ "actions": [ { "type": { - "value": "MettreXY" - }, - "parameters": [ - "FillBar", - "=", - "Object.PropertyBarLeftPadding()", - "=", - "Object.PropertyBarTopPadding()" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "FillBar", + "Resizable", "=", "Object.WidthForValue()" ] }, { "type": { - "value": "PanelSpriteObject::Height" - }, - "parameters": [ - "FillBar", - "=", - "round(Background.Height() - Object.PropertyBarTopPadding() - Object.PropertyBarBottomPadding())" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "Buffer", - "=", - "FillBar.X()", - "=", - "FillBar.Y()" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "Buffer", + "Resizable", "=", "FillBar.Width()" ] - }, - { - "type": { - "value": "PanelSpriteObject::Height" - }, - "parameters": [ - "Buffer", - "=", - "FillBar.Height()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "Label", - "=", - "Object.PropertyBarLeftPadding()", - "=", - "Object.PropertyBarTopPadding()" - ] - }, - { - "type": { - "value": "TextObject::WrappingWidth" - }, - "parameters": [ - "Label", - "=", - "Object.FullBarWidth()" - ] - }, - { - "type": { - "value": "SetCenterY" - }, - "parameters": [ - "Label", - "=", - "FillBar.CenterY()" - ] - }, - { - "type": { - "value": "SetCenterX" - }, - "parameters": [ - "Label", - "=", - "Background.CenterX() + (Object.PropertyBarLeftPadding() - Object.PropertyBarRightPadding()) / 2" - ] } ] } @@ -10552,7 +10644,7 @@ "FillBar", "ResourceBar", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -10563,10 +10655,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyEasingDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "EasingDuration", ">", "0" ] @@ -10575,7 +10667,7 @@ "actions": [ { "type": { - "value": "Tween::AddObjectWidthTween" + "value": "Tween::TweenBehavior::AddObjectWidthTween2" }, "parameters": [ "FillBar", @@ -10583,7 +10675,7 @@ "\"ChangeValue\"", "Object.WidthForValue()", "\"linear\"", - "Object.PropertyEasingDuration() * 1000", + "EasingDuration", "" ] } @@ -10594,10 +10686,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyEasingDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "EasingDuration", "<=", "0" ] @@ -10606,10 +10698,11 @@ "actions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "FillBar", + "Resizable", "=", "Object.WidthForValue()" ] @@ -10648,10 +10741,11 @@ "actions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "Buffer", + "Resizable", "=", "round(Object.FullBarWidth() * FillBar.ResourceBar::PreviousHighValue() / FillBar.ResourceBar::MaxValue())" ] @@ -10692,7 +10786,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "FillBar.ResourceBar::PropertyMaxValue()" + "FillBar.ResourceBar::MaxValue()" ] } ] @@ -10730,7 +10824,7 @@ "FillBar", "ResourceBar", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] }, @@ -10876,7 +10970,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "FillBar.ResourceBar::PropertyPreviousHighValueDuration()" + "FillBar.ResourceBar::PreviousHighValueDuration()" ] } ] @@ -10914,7 +11008,7 @@ "FillBar", "ResourceBar", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -11084,7 +11178,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Background.Width() - Object.PropertyBarLeftPadding() - Object.PropertyBarRightPadding()" + "Object.Width() - BarLeftPlusRightMargin" ] } ] @@ -11116,10 +11210,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyShowLabel" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShowLabel", + "True", + "" ] } ], @@ -11159,21 +11255,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", + "" ] }, { @@ -11191,21 +11290,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyShowLabel" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "yes" + "ShowLabel", + "True", + "" ] }, { @@ -11249,10 +11351,11 @@ "actions": [ { "type": { - "value": "TextObject::String" + "value": "TextContainerCapability::TextContainerBehavior::SetValue" }, "parameters": [ "Label", + "Text", "=", "ToString(round(Object.Value())) + \" / \" + ToString(Object.MaxValue())" ] @@ -11272,74 +11375,16 @@ } ], "propertyDescriptors": [ - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarLeftPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarTopPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarRightPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarBottomPadding" - }, { "value": "3", "type": "Number", "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxValue" }, { "value": "3", "type": "Number", "label": "Initial value", - "description": "", - "group": "", - "extraInformation": [], "name": "InitialValue" }, { @@ -11347,202 +11392,299 @@ "type": "Number", "label": "", "description": "It's used to detect a change at hot reload.", - "group": "", - "extraInformation": [], "hidden": true, "name": "PreviousInitialValue" }, { "value": "1", "type": "Number", + "unit": "Second", "label": "Previous high value conservation duration (in seconds)", - "description": "", "group": "Animation", - "extraInformation": [], "name": "PreviousHighValueDuration" }, { "value": "0.25", "type": "Number", + "unit": "Second", "label": "Easing duration", - "description": "", "group": "Animation", - "extraInformation": [], "name": "EasingDuration" }, { "value": "true", "type": "Boolean", "label": "Show the label", - "description": "", - "group": "", "extraInformation": [ "Label" ], "name": "ShowLabel" }, { - "value": "", - "type": "Boolean", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [ - "Buffer" - ], "hidden": true, - "name": "ShowBuffer" + "name": "BarLeftPlusRightMargin" }, { - "value": "Center", - "type": "String", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [ - "Label" - ], "hidden": true, - "name": "LabelVerticalAnchorOrigin" + "name": "BarTopPlusBottomMargin" }, { - "value": "Center", - "type": "String", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [ - "FillBar" - ], "hidden": true, - "name": "LabelVerticalAnchorTarget" + "name": "OldParentWidth" } ], - "objects": [ - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "Label", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "2 / 3", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 + "variants": [ + { + "areaMaxX": 49, + "areaMaxY": 8, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "name": "Life bar", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "leftEdgeAnchor": 4, + "rightEdgeAnchor": 4, + "topEdgeAnchor": 4, + "relativeToOriginalWindowSize": true, + "useLegacyBottomAndRightAnchors": false + } + ], + "string": "2 / 3", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "2 / 3", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 20, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 2, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "assets\\life bar.png", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 27, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ResourceBar", + "type": "PanelSpriteContinuousBar::ResourceBar", + "Value": 1, + "MaxValue": 3, + "PreviousValue": 0, + "CurrentValue": 1 + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Buffer", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 2, + "height": 8, + "leftMargin": 18, + "name": "Background", + "rightMargin": 2, + "texture": "assets\\life counter.png", + "tiled": false, + "topMargin": 2, + "type": "PanelSpriteObject::PanelSprite", + "width": 49, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Buffer" + }, + { + "objectName": "Background" + } + ] }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "2 / 3", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "FillBar", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "ResourceBar", - "type": "PanelSpriteContinuousBar::ResourceBar", - "Value": 1, - "MaxValue": 3, - "PreviousValue": 0 - }, - { - "name": "Tween", - "type": "Tween::TweenBehavior" - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Buffer", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Tween", - "type": "Tween::TweenBehavior" + "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": [ + { + "angle": 0, + "customSize": false, + "height": 8, + "layer": "", + "name": "Background", + "persistentUuid": "fa2b0c42-1baa-489d-9c47-87ec233cbe8c", + "width": 18, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 2, + "layer": "", + "name": "FillBar", + "persistentUuid": "4833affb-a8d1-4a2b-9019-a20cf5fdc68e", + "width": 27, + "x": 19, + "y": 3, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Background", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [] } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Label" - }, - { - "objectName": "FillBar" - }, - { - "objectName": "Buffer" - }, - { - "objectName": "Background" - } - ] - } + ] } ] }, @@ -11551,6 +11693,7 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Flash object", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWZsYXNoLW91dGxpbmUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNywySDE3TDEzLjUsOUgxN0wxMCwyMlYxNEg3VjJNOSw0VjEySDEyVjE0LjY2TDE0LDExSDEwLjI0TDEzLjc2LDRIOVoiIC8+PC9zdmc+", "name": "Flash", @@ -12553,17 +12696,12 @@ "unit": "Second", "label": "Half period ", "description": "Time that the object is invisible", - "group": "", - "extraInformation": [], "name": "HalfPeriodTime" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsFlashing" }, @@ -12573,8 +12711,6 @@ "unit": "Second", "label": "Flash duration", "description": "Use \"0\" to keep flashing until stopped", - "group": "", - "extraInformation": [], "hidden": true, "name": "FlashDuration" } @@ -13127,17 +13263,12 @@ "unit": "Second", "label": "Half period", "description": "Time between flashes", - "group": "", - "extraInformation": [], "name": "HalfPeriodTime" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsFlashing" }, @@ -13147,8 +13278,6 @@ "unit": "Second", "label": "Flash duration", "description": "Use \"0\" to keep flashing until stopped", - "group": "", - "extraInformation": [], "hidden": true, "name": "FlashDuration" }, @@ -13156,9 +13285,6 @@ "value": "\"255;255;255\"", "type": "String", "label": "Tint color", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TintColor" } @@ -13767,8 +13893,6 @@ "value": "", "type": "Behavior", "label": "Tween Behavior (required)", - "description": "", - "group": "", "extraInformation": [ "Tween::TweenBehavior" ], @@ -13780,17 +13904,12 @@ "unit": "Second", "label": "Half period", "description": "Time between flashes", - "group": "", - "extraInformation": [], "name": "HalfPeriodTime" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsFlashing" }, @@ -13800,8 +13919,6 @@ "unit": "Second", "label": "Flash duration", "description": "Use \"0\" to keep flashing until stopped", - "group": "", - "extraInformation": [], "hidden": true, "name": "FlashDuration" }, @@ -13811,8 +13928,6 @@ "unit": "Dimensionless", "label": "Target opacity (Range: 0 - 255)", "description": "Opacity will fade between the starting value and a target value", - "group": "", - "extraInformation": [], "hidden": true, "name": "TargetOpacity" }, @@ -13822,8 +13937,6 @@ "unit": "Dimensionless", "label": "Starting opacity", "description": "Opacity will fade between the starting value and a target value", - "group": "", - "extraInformation": [], "hidden": true, "name": "StartingOpacity" } @@ -14524,17 +14637,12 @@ "unit": "Second", "label": "Half period", "description": "Time between flashes", - "group": "", - "extraInformation": [], "name": "HalfPeriodTime" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsFlashing" }, @@ -14544,8 +14652,6 @@ "unit": "Second", "label": "Flash duration", "description": "Use \"0\" to keep flashing until stopped", - "group": "", - "extraInformation": [], "hidden": true, "name": "FlashDuration" }, @@ -14553,9 +14659,6 @@ "value": "", "type": "String", "label": "Name of effect", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "EffectName" } @@ -14570,6 +14673,7 @@ "category": "Game mechanic", "extensionNamespace": "", "fullName": "Fire bullets", + "gdevelopVersion": "", "helpPath": "/extensions/fire-bullet/details", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWJ1bGxldCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNCwyMkgxMFYyMUgxNFYyMk0xMywxMFY3SDExVjEwTDEwLDExLjVWMjBIMTRWMTEuNUwxMywxME0xMiwyQzEyLDIgMTEsMyAxMSw1VjZIMTNWNUMxMyw1IDEzLDMgMTIsMloiIC8+PC9zdmc+", "name": "FireBullet", @@ -19570,17 +19674,12 @@ "unit": "Second", "label": "Firing cooldown", "description": "Objects cannot shoot while firing cooldown is active.", - "group": "", - "extraInformation": [], "name": "FireCooldown" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "HasJustFired" }, @@ -19588,9 +19687,6 @@ "value": "true", "type": "Boolean", "label": "Rotate bullets to match their trajectory", - "description": "", - "group": "", - "extraInformation": [], "name": "RotateBullet" }, { @@ -19600,7 +19696,6 @@ "label": "Firing arc", "description": "Multi-Fire bullets will be evenly spaced inside the firing arc", "group": "Multi-Fire", - "extraInformation": [], "name": "FiringArc" }, { @@ -19609,7 +19704,6 @@ "label": "Number of bullets created at once", "description": "Multi-Fire bullets will be evenly spaced inside the firing arc", "group": "Multi-Fire", - "extraInformation": [], "name": "BulletQuantity" }, { @@ -19619,7 +19713,6 @@ "label": "Angle variance", "description": "Make imperfect aim (between 0 and 180 degrees).", "group": "Firing variance", - "extraInformation": [], "advanced": true, "name": "AngleVariance" }, @@ -19630,7 +19723,6 @@ "label": "Bullet speed variance", "description": "Bullet speed will be adjusted by a random value within this range.", "group": "Firing variance", - "extraInformation": [], "advanced": true, "name": "BulletSpeedVariance" }, @@ -19638,9 +19730,6 @@ "value": "0", "type": "Number", "label": "Ammo quantity (current)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "AmmoQuantity" }, @@ -19650,7 +19739,6 @@ "label": "Shots per reload ", "description": "Use 0 to disable reloading.", "group": "Reload", - "extraInformation": [], "advanced": true, "name": "ShotsPerReload" }, @@ -19661,7 +19749,6 @@ "label": "Reloading duration", "description": "Objects cannot shoot while reloading is in progress.", "group": "Reload", - "extraInformation": [], "advanced": true, "name": "ReloadDuration" }, @@ -19669,9 +19756,7 @@ "value": "0", "type": "Number", "label": "Max ammo ", - "description": "", "group": "Ammo", - "extraInformation": [], "advanced": true, "name": "MaxAmmo" }, @@ -19679,9 +19764,6 @@ "value": "0", "type": "Number", "label": "Shots before next reload", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ShotsBeforeNextReload" }, @@ -19690,8 +19772,6 @@ "type": "Number", "label": "Total shots fired", "description": "Regardless of how many bullets are created, only 1 shot will be counted per frame", - "group": "", - "extraInformation": [], "hidden": true, "name": "TotalShotsFired" }, @@ -19699,9 +19779,6 @@ "value": "0", "type": "Number", "label": "Total bullets created", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TotalBulletsCreated" }, @@ -19709,9 +19786,7 @@ "value": "0", "type": "Number", "label": "Starting ammo", - "description": "", "group": "Ammo", - "extraInformation": [], "advanced": true, "name": "StartingAmmo" }, @@ -19719,9 +19794,6 @@ "value": "0", "type": "Number", "label": "Total reloads completed", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TotalReloadsCompleted" }, @@ -19729,9 +19801,7 @@ "value": "true", "type": "Boolean", "label": "Unlimited ammo", - "description": "", "group": "Ammo", - "extraInformation": [], "advanced": true, "name": "UnlimitedAmmo" }, @@ -19739,9 +19809,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ReloadInProgress" }, @@ -19751,7 +19818,6 @@ "label": "Heat increase per shot (between 0 and 1)", "description": " Object is overheated when Heat reaches 1.", "group": "Overheat", - "extraInformation": [], "advanced": true, "name": "HeatIncreasePerShot" }, @@ -19759,9 +19825,6 @@ "value": "0", "type": "Number", "label": "Heat level (Range: 0 to 1)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "HeatLevel" }, @@ -19769,9 +19832,7 @@ "value": "true", "type": "Boolean", "label": "Reload automatically", - "description": "", "group": "Reload", - "extraInformation": [], "advanced": true, "name": "AutomaticReloading" }, @@ -19782,7 +19843,6 @@ "label": "Overheat duration", "description": "Object cannot shoot while overheat duration is active.", "group": "Overheat", - "extraInformation": [], "advanced": true, "name": "OverheatDuration" }, @@ -19790,9 +19850,7 @@ "value": "0.1", "type": "Number", "label": "Linear cooling rate (per second)", - "description": "", "group": "Overheat", - "extraInformation": [], "advanced": true, "name": "LinearCoolingRate" }, @@ -19815,7 +19873,6 @@ "label": "Layer the bullets are created on", "description": "Base layer by default.", "group": "Shooting configuration", - "extraInformation": [], "hidden": true, "name": "BulletLayer" }, @@ -19823,9 +19880,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "RandomizedAngle" } @@ -19840,6 +19894,7 @@ "category": "Game mechanic", "extensionNamespace": "", "fullName": "Health points and damage", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWhlYXJ0LWhhbGYtZnVsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNi41LDVDMTUsNSAxMy41OCw1LjkxIDEzLDcuMlYxNy43NEMxNy4yNSwxMy44NyAyMCwxMS4yIDIwLDguNUMyMCw2LjUgMTguNSw1IDE2LjUsNU0xNi41LDNDMTkuNTgsMyAyMiw1LjQxIDIyLDguNUMyMiwxMi4yNyAxOC42LDE1LjM2IDEzLjQ1LDIwLjAzTDEyLDIxLjM1TDEwLjU1LDIwLjAzQzUuNCwxNS4zNiAyLDEyLjI3IDIsOC41QzIsNS40MSA0LjQyLDMgNy41LDNDOS4yNCwzIDEwLjkxLDMuODEgMTIsNS4wOEMxMy4wOSwzLjgxIDE0Ljc2LDMgMTYuNSwzWiIgLz48L3N2Zz4=", "name": "Health", @@ -24493,18 +24548,14 @@ "value": "100", "type": "Number", "label": "Starting health", - "description": "", "group": "Health", - "extraInformation": [], "name": "Health" }, { "value": "0", "type": "Number", "label": "Current health (life) points", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "CurrentHealth" }, @@ -24514,7 +24565,6 @@ "label": "Maximum health", "description": "Use 0 for no maximum.", "group": "Health", - "extraInformation": [], "name": "MaxHealth" }, { @@ -24522,18 +24572,14 @@ "type": "Number", "unit": "Second", "label": "Damage cooldown", - "description": "", "group": "Health", - "extraInformation": [], "name": "DamageCooldown" }, { "value": "", "type": "Boolean", "label": "Allow heals to increase health above max health (regen will never exceed max health)", - "description": "", "group": "Health", - "extraInformation": [], "advanced": true, "name": "AllowOverHealing" }, @@ -24541,9 +24587,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "IsHealthJustDamaged" }, @@ -24551,9 +24595,7 @@ "value": "0", "type": "Number", "label": "Damage to health from the previous incoming damage", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "DamageToBeApplied" }, @@ -24561,9 +24603,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "HitAtLeastOnce" }, @@ -24573,7 +24613,6 @@ "label": "Chance to dodge incoming damage (between 0 and 1)", "description": "When a damage is dodged, no damage is applied.", "group": "Health", - "extraInformation": [], "advanced": true, "name": "ChanceToDodge" }, @@ -24581,9 +24620,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "IsJustDodged" }, @@ -24591,9 +24628,7 @@ "value": "0", "type": "Number", "label": "Health points gained from the previous heal", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "HealToBeApplied" }, @@ -24601,9 +24636,7 @@ "value": "0", "type": "Number", "label": "Rate of health regeneration (points per second)", - "description": "", "group": "Health regeneration", - "extraInformation": [], "advanced": true, "name": "HealthRegenRate" }, @@ -24614,7 +24647,6 @@ "label": "Health regeneration delay ", "description": "Delay before health regeneration starts after a hit.", "group": "Health regeneration", - "extraInformation": [], "advanced": true, "name": "HealthRegenDelay" }, @@ -24622,9 +24654,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsJustHealed" }, @@ -24632,9 +24661,7 @@ "value": "", "type": "Number", "label": "Current shield points", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "CurrentShieldPoints" }, @@ -24644,7 +24671,6 @@ "label": "Maximum shield", "description": "Leave 0 for unlimited.", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "MaxShieldPoints" }, @@ -24655,7 +24681,6 @@ "label": "Duration of shield", "description": "Use 0 to make the shield permanent.", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "ShieldDuration" }, @@ -24663,9 +24688,7 @@ "value": "0", "type": "Number", "label": "Rate of shield regeneration (points per second)", - "description": "", "group": "Shield regeneration", - "extraInformation": [], "advanced": true, "name": "ShieldRegenRate" }, @@ -24673,9 +24696,7 @@ "value": "", "type": "Boolean", "label": "Block excess damage when shield is broken", - "description": "", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "BlockExcessDamage" }, @@ -24686,7 +24707,6 @@ "label": "Shield regeneration delay", "description": "Delay before shield regeneration starts after a hit.", "group": "Shield regeneration", - "extraInformation": [], "advanced": true, "name": "ShieldRegenDelay" }, @@ -24694,9 +24714,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "IsShieldJustDamaged" }, @@ -24704,9 +24722,7 @@ "value": "", "type": "Number", "label": "Damage to shield from the previous incoming damage", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "ShieldDamageTaken" }, @@ -24716,7 +24732,6 @@ "label": "Flat damage reduction from armor", "description": "Incoming damages are reduced by this value.", "group": "Armor", - "extraInformation": [], "advanced": true, "name": "FlatDamageReduction" }, @@ -24724,9 +24739,7 @@ "value": "0", "type": "Number", "label": "Percentage damage reduction from armor (between 0 and 1)", - "description": "", "group": "Armor", - "extraInformation": [], "advanced": true, "name": "PercentDamageReduction" } @@ -24741,6 +24754,7 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Stay On Screen", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLW1vbml0b3Itc2NyZWVuc2hvdCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik05LDZINVYxMEg3VjhIOU0xOSwxMEgxN1YxMkgxNVYxNEgxOU0yMSwxNkgzVjRIMjFNMjEsMkgzQzEuODksMiAxLDIuODkgMSw0VjE2QTIsMiAwIDAsMCAzLDE4SDEwVjIwSDhWMjJIMTZWMjBIMTRWMThIMjFBMiwyIDAgMCwwIDIzLDE2VjRDMjMsMi44OSAyMi4xLDIgMjEsMiIgLz48L3N2Zz4=", "name": "StayOnScreen", @@ -25176,9 +25190,6 @@ "type": "Number", "unit": "Pixel", "label": "Top margin", - "description": "", - "group": "", - "extraInformation": [], "name": "MarginTop" }, { @@ -25186,9 +25197,6 @@ "type": "Number", "unit": "Pixel", "label": "Bottom margin", - "description": "", - "group": "", - "extraInformation": [], "name": "MarginBottom" }, { @@ -25196,9 +25204,6 @@ "type": "Number", "unit": "Pixel", "label": "Left margin", - "description": "", - "group": "", - "extraInformation": [], "name": "MarginLeft" }, { @@ -25206,9 +25211,6 @@ "type": "Number", "unit": "Pixel", "label": "Right margin", - "description": "", - "group": "", - "extraInformation": [], "name": "MarginRight" } ], @@ -25222,6 +25224,7 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Linear Movement", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXJheS1zdGFydC1hcnJvdyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0yMywxMkwxOSwxNlYxM0g2LjgzQzYuNDIsMTQuMTcgNS4zMSwxNSA0LDE1QTMsMyAwIDAsMSAxLDEyQTMsMyAwIDAsMSA0LDlDNS4zMSw5IDYuNDIsOS44MyA2LjgzLDExSDE5VjhMMjMsMTJaIiAvPjwvc3ZnPg==", "name": "LinearMovement", @@ -25298,9 +25301,6 @@ "type": "Number", "unit": "PixelSpeed", "label": "Speed on X axis", - "description": "", - "group": "", - "extraInformation": [], "name": "SpeedX" }, { @@ -25308,9 +25308,6 @@ "type": "Number", "unit": "PixelSpeed", "label": "Speed on Y axis", - "description": "", - "group": "", - "extraInformation": [], "name": "SpeedY" } ], @@ -25324,6 +25321,7 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Animated Back and Forth Movement", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXJlcGVhdCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNywxN0g3VjE0TDMsMThMNywyMlYxOUgxOVYxM0gxN003LDdIMTdWMTBMMjEsNkwxNywyVjVINVYxMUg3VjdaIiAvPjwvc3ZnPg==", "name": "AnimatedBackAndForthMovement", @@ -25643,9 +25641,6 @@ "type": "Number", "unit": "PixelSpeed", "label": "Speed on X axis, in pixels per second", - "description": "", - "group": "", - "extraInformation": [], "name": "SpeedX" }, { @@ -25653,18 +25648,12 @@ "type": "Number", "unit": "Pixel", "label": "Distance traveled on X axis, in pixels", - "description": "", - "group": "", - "extraInformation": [], "name": "DistanceX" }, { "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "InitialX" } @@ -25679,6 +25668,7 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Ellipse movement", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNpbmUtd2F2ZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNi41LDIxQzEzLjUsMjEgMTIuMzEsMTYuNzYgMTEuMDUsMTIuMjhDMTAuMTQsOS4wNCA5LDUgNy41LDVDNC4xMSw1IDQsMTEuOTMgNCwxMkgyQzIsMTEuNjMgMi4wNiwzIDcuNSwzQzEwLjUsMyAxMS43MSw3LjI1IDEyLjk3LDExLjc0QzEzLjgzLDE0LjggMTUsMTkgMTYuNSwxOUMxOS45NCwxOSAyMC4wMywxMi4wNyAyMC4wMywxMkgyMi4wM0MyMi4wMywxMi4zNyAyMS45NywyMSAxNi41LDIxWiIgLz48L3N2Zz4=", "name": "EllipseMovement", @@ -27012,9 +27002,7 @@ "type": "Number", "unit": "Pixel", "label": "Radius of the movement on X axis", - "description": "", "group": "Ellipse", - "extraInformation": [], "name": "RadiusX" }, { @@ -27022,9 +27010,7 @@ "type": "Number", "unit": "Pixel", "label": "Radius of the movement on Y axis", - "description": "", "group": "Ellipse", - "extraInformation": [], "name": "RadiusY" }, { @@ -27032,18 +27018,14 @@ "type": "Number", "unit": "Second", "label": "Loop duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "LoopDuration" }, { "value": "", "type": "Boolean", "label": "Turn left", - "description": "", "group": "Speed", - "extraInformation": [], "name": "InitialTurningLeft" }, { @@ -27051,18 +27033,14 @@ "type": "Number", "unit": "DegreeAngle", "label": "Initial direction", - "description": "", "group": "Speed", - "extraInformation": [], "name": "InitialDirectionAngle" }, { "value": "", "type": "Boolean", "label": "Rotate", - "description": "", "group": "Rotation", - "extraInformation": [], "name": "ShouldRotate" }, { @@ -27070,18 +27048,13 @@ "type": "Number", "unit": "DegreeAngle", "label": "Rotation offset", - "description": "", "group": "Rotation", - "extraInformation": [], "name": "RotationOffset" }, { "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CenterX" }, @@ -27089,9 +27062,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CenterY" }, @@ -27099,9 +27069,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "MovementAngle" }, @@ -27109,9 +27076,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldX" }, @@ -27119,9 +27083,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldY" } @@ -27136,6 +27097,7 @@ "category": "Camera", "extensionNamespace": "", "fullName": "Camera shake", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXZlY3Rvci1kaWZmZXJlbmNlLWFiIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTMsMUMxLjg5LDEgMSwxLjg5IDEsM1Y1SDNWM0g1VjFIM003LDFWM0gxMFYxSDdNMTIsMVYzSDE0VjVIMTZWM0MxNiwxLjg5IDE1LjExLDEgMTQsMUgxMk0xLDdWMTBIM1Y3SDFNMTQsN0MxNCw3IDE0LDExLjY3IDE0LDE0QzExLjY3LDE0IDcsMTQgNywxNEM3LDE0IDcsMTggNywyMEM3LDIxLjExIDcuODksMjIgOSwyMkgyMEMyMS4xMSwyMiAyMiwyMS4xMSAyMiwyMFY5QzIyLDcuODkgMjEuMTEsNyAyMCw3QzE4LDcgMTQsNyAxNCw3TTE2LDlIMjBWMjBIOVYxNkgxNEMxNS4xMSwxNiAxNiwxNS4xMSAxNiwxNFY5TTEsMTJWMTRDMSwxNS4xMSAxLjg5LDE2IDMsMTZINVYxNEgzVjEySDFaIiAvPjwvc3ZnPg==", "name": "CameraShake", @@ -30476,6 +30438,7 @@ "category": "", "extensionNamespace": "", "fullName": "", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "", "name": "SpaceShooterPlayer", @@ -31908,8 +31871,6 @@ "value": "SpaceShip", "type": "Choice", "label": "Form", - "description": "", - "group": "", "extraInformation": [ "SpaceShip", "Mech" @@ -31921,8 +31882,6 @@ "value": "", "type": "Behavior", "label": "Stay on screen behavior", - "description": "", - "group": "", "extraInformation": [ "StayOnScreen::StayOnScreen" ], @@ -31939,6 +31898,7 @@ "category": "", "extensionNamespace": "", "fullName": "", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "", "name": "Explosion", @@ -32054,6 +32014,5 @@ "eventsBasedObjects": [] } ], - "externalLayouts": [], - "externalSourceFiles": [] + "externalLayouts": [] } \ No newline at end of file From a7eb77924cc7187f26259e183b50c20d9937de5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Wed, 16 Jul 2025 14:53:47 +0200 Subject: [PATCH 08/11] Update extensions --- examples/space-shooter/space-shooter.json | 4983 +++++++++++---------- 1 file changed, 2619 insertions(+), 2364 deletions(-) diff --git a/examples/space-shooter/space-shooter.json b/examples/space-shooter/space-shooter.json index 6d91fe58a..0756d893a 100644 --- a/examples/space-shooter/space-shooter.json +++ b/examples/space-shooter/space-shooter.json @@ -11693,13 +11693,13 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Flash object", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWZsYXNoLW91dGxpbmUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNywySDE3TDEzLjUsOUgxN0wxMCwyMlYxNEg3VjJNOSw0VjEySDEyVjE0LjY2TDE0LDExSDEwLjI0TDEzLjc2LDRIOVoiIC8+PC9zdmc+", "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.2.0", + "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).", @@ -11742,6 +11742,7 @@ "fullName": "Color tint applied to an object", "functionType": "ExpressionAndCondition", "name": "ColorTint", + "private": true, "sentence": "Color tint applied to _PARAM1_", "events": [ { @@ -11787,6 +11788,7 @@ "fullName": "Is a color tint applied to an object", "functionType": "StringExpression", "name": "IsTinted", + "private": true, "sentence": "_PARAM1_ is color tinted", "events": [ { @@ -11831,117 +11833,6 @@ ], "objectGroups": [] }, - { - "description": "Toggle an object effect.", - "fullName": "Toggle an object effect", - "functionType": "Action", - "name": "ToggleEffect", - "sentence": "Toggle effect _PARAM2_ on _PARAM1_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "Object", - "__Flash_EffectToggled", - "False" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "IsEffectEnabled" - }, - "parameters": [ - "Object", - "GetArgumentAsString(\"EffectName\")" - ] - } - ], - "actions": [ - { - "type": { - "value": "EnableEffect" - }, - "parameters": [ - "Object", - "GetArgumentAsString(\"EffectName\")", - "" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "Object", - "__Flash_EffectToggled", - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "Object", - "__Flash_EffectToggled", - "False" - ] - }, - { - "type": { - "inverted": true, - "value": "IsEffectEnabled" - }, - "parameters": [ - "Object", - "GetArgumentAsString(\"EffectName\")" - ] - } - ], - "actions": [ - { - "type": { - "value": "EnableEffect" - }, - "parameters": [ - "Object", - "GetArgumentAsString(\"EffectName\")", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "objectList" - }, - { - "description": "Effect name to toggle", - "name": "EffectName", - "type": "objectEffectName" - } - ], - "objectGroups": [] - }, { "description": "Toggle color tint between the starting tint and a given value.", "fullName": "Toggle a color tint", @@ -12009,7 +11900,7 @@ }, "parameters": [ "Object", - "GetArgumentAsString(\"ColorTint\")" + "ColorTint" ] }, { @@ -12087,6 +11978,7 @@ "fullName": "Toggle object visibility", "functionType": "Action", "name": "ToggleVisibility", + "private": true, "sentence": "Toggle visibility of _PARAM1_", "events": [ { @@ -12202,11 +12094,12 @@ "conditions": [ { "type": { - "value": "Flash::Flash::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -12232,7 +12125,7 @@ "Object", "\"Flash_Visibility_Timer\"", ">", - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ], @@ -12275,11 +12168,10 @@ "conditions": [ { "type": { - "value": "Flash::Flash::PropertyFlashDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", ">", "0" ] @@ -12292,7 +12184,7 @@ "Object", "\"Flash_Visibility_Duration_Timer\"", ">", - "Object.Behavior::PropertyFlashDuration()" + "FlashDuration" ] } ], @@ -12365,12 +12257,12 @@ }, { "type": { - "value": "Flash::Flash::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsFlashing", + "True", + "" ] }, { @@ -12399,13 +12291,12 @@ }, { "type": { - "value": "Flash::Flash::SetPropertyFlashDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", "=", - "GetArgumentAsNumber(\"FlashDuration\")" + "NewFlashDuration" ] } ] @@ -12426,7 +12317,7 @@ { "description": "Duration of the flashing, in seconds", "longDescription": "Use \"0\" to keep flashing until stopped.", - "name": "FlashDuration", + "name": "NewFlashDuration", "type": "expression" } ], @@ -12458,11 +12349,12 @@ "conditions": [ { "type": { - "value": "Flash::Flash::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -12543,11 +12435,12 @@ "conditions": [ { "type": { - "value": "Flash::Flash::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -12563,12 +12456,12 @@ }, { "type": { - "value": "Flash::Flash::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsFlashing", + "False", + "" ] }, { @@ -12624,7 +12517,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ] @@ -12661,13 +12554,12 @@ "actions": [ { "type": { - "value": "Flash::Flash::SetPropertyHalfPeriodTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HalfPeriodTime", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -12734,11 +12626,12 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -12764,7 +12657,7 @@ "Object", "\"Flash_Color_Timer\"", ">", - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ], @@ -12785,7 +12678,7 @@ "parameters": [ "", "Object", - "Object.Behavior::PropertyTintColor()", + "TintColor", "" ] } @@ -12808,11 +12701,10 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyFlashDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", ">", "0" ] @@ -12825,7 +12717,7 @@ "Object", "\"Flash_Color_Duration_Timer\"", ">", - "Object.Behavior::PropertyFlashDuration()" + "FlashDuration" ] } ], @@ -12877,11 +12769,12 @@ { "type": { "inverted": true, - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -12913,18 +12806,18 @@ "parameters": [ "", "Object", - "GetArgumentAsString(\"ColorTint\")", + "NewColorTint", "" ] }, { "type": { - "value": "Flash::FlashColor::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsFlashing", + "True", + "" ] } ] @@ -12944,24 +12837,22 @@ }, { "type": { - "value": "Flash::FlashColor::SetPropertyTintColor" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "TintColor", "=", - "GetArgumentAsString(\"ColorTint\")" + "NewColorTint" ] }, { "type": { - "value": "Flash::FlashColor::SetPropertyFlashDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", "=", - "GetArgumentAsNumber(\"FlashDuration\")" + "NewFlashDuration" ] } ] @@ -12983,12 +12874,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" } ], @@ -13020,11 +12911,12 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -13107,23 +12999,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", + "" ] }, { @@ -13189,7 +13082,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ] @@ -13227,13 +13120,12 @@ "actions": [ { "type": { - "value": "Flash::FlashColor::SetPropertyHalfPeriodTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HalfPeriodTime", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -13295,7 +13187,7 @@ "description": "Flash opacity smoothly (fade) in a repeating loop.", "fullName": "Flash opacity smothly (fade)", "name": "FlashOpacity", - "objectType": "Sprite", + "objectType": "", "eventsFunctions": [ { "fullName": "", @@ -13351,9 +13243,9 @@ "Object", "TweenBehavior", "\"__Flash.ToStartingOpacity\"", - "Object.Behavior::PropertyStartingOpacity()", + "StartingOpacity", "\"easeInOutCubic\"", - "1000 * Object.Behavior::PropertyHalfPeriodTime()", + "1000 * HalfPeriodTime", "" ] }, @@ -13392,9 +13284,9 @@ "Object", "TweenBehavior", "\"__Flash.ToTargetOpacity\"", - "Object.Behavior::PropertyTargetOpacity()", + "TargetOpacity", "\"easeInOutCubic\"", - "1000 * Object.Behavior::PropertyHalfPeriodTime()", + "1000 * HalfPeriodTime", "" ] }, @@ -13427,11 +13319,10 @@ "conditions": [ { "type": { - "value": "Flash::FlashOpacity::PropertyFlashDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", ">", "0" ] @@ -13444,7 +13335,7 @@ "Object", "\"Flash_Opacity_Duration_Timer\"", ">", - "Object.Behavior::PropertyFlashDuration()" + "FlashDuration" ] } ], @@ -13471,7 +13362,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -13496,24 +13386,24 @@ { "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()" + "Object.Opacity::Value()" ] }, { @@ -13524,20 +13414,20 @@ "Object", "TweenBehavior", "\"__Flash.ToTargetOpacity\"", - "GetArgumentAsNumber(\"TargetOpacity\")", + "NewTargetOpacity", "\"easeInOutCubic\"", - "1000 * Object.Behavior::PropertyHalfPeriodTime()", + "1000 * HalfPeriodTime", "" ] }, { "type": { - "value": "Flash::FlashOpacity::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsFlashing", + "True", + "" ] } ] @@ -13557,24 +13447,22 @@ }, { "type": { - "value": "Flash::FlashOpacity::SetPropertyFlashDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", "=", - "GetArgumentAsNumber(\"FlashDuration\")" + "NewFlashDuration" ] }, { "type": { - "value": "Flash::FlashOpacity::SetPropertyTargetOpacity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TargetOpacity", "=", - "GetArgumentAsNumber(\"TargetOpacity\")" + "NewTargetOpacity" ] } ] @@ -13584,7 +13472,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -13602,12 +13489,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" } ], @@ -13639,11 +13526,12 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -13663,7 +13551,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -13702,7 +13589,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -13738,12 +13624,12 @@ "actions": [ { "type": { - "value": "Flash::FlashOpacity::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsFlashing", + "False", + "" ] }, { @@ -13777,12 +13663,13 @@ }, { "type": { - "value": "Opacity" + "value": "OpacityCapability::OpacityBehavior::SetValue" }, "parameters": [ "Object", + "Opacity", "=", - "Object.Behavior::PropertyStartingOpacity()" + "StartingOpacity" ] } ] @@ -13792,7 +13679,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -13821,7 +13707,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ] @@ -13834,7 +13720,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -13859,13 +13744,12 @@ "actions": [ { "type": { - "value": "Flash::FlashOpacity::SetPropertyHalfPeriodTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HalfPeriodTime", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -13875,7 +13759,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -13889,6 +13772,15 @@ } ], "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Opacity capability", + "extraInformation": [ + "OpacityCapability::OpacityBehavior" + ], + "name": "Opacity" + }, { "value": "", "type": "Behavior", @@ -13947,7 +13839,7 @@ "description": "Make the object flash an effect for a period of time.", "fullName": "Flash effect", "name": "FlashEffect", - "objectType": "Sprite", + "objectType": "", "eventsFunctions": [ { "fullName": "", @@ -13991,7 +13883,7 @@ "Object", "\"Flash_Effect_Timer\"", ">", - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ], @@ -14007,12 +13899,12 @@ }, { "type": { - "value": "Flash::ToggleEffect" + "value": "Flash::FlashEffect::ToggleEffect" }, "parameters": [ - "", "Object", - "Object.Behavior::PropertyEffectName()", + "Behavior", + "EffectName", "" ] } @@ -14035,11 +13927,10 @@ "conditions": [ { "type": { - "value": "Flash::FlashEffect::PropertyFlashDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", ">", "0" ] @@ -14052,7 +13943,7 @@ "Object", "\"Flash_Effect_Duration_Timer\"", ">", - "Object.Behavior::PropertyFlashDuration()" + "FlashDuration" ] } ], @@ -14079,7 +13970,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -14125,13 +14015,12 @@ }, { "type": { - "value": "Flash::FlashEffect::PropertyEffectName" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "EffectName", "!=", - "GetArgumentAsString(\"EffectName\")" + "NewEffectName" ] } ], @@ -14170,11 +14059,12 @@ "conditions": [ { "type": { - "value": "IsEffectEnabled" + "value": "EffectCapability::EffectBehavior::IsEffectEnabled" }, "parameters": [ "Object", - "GetArgumentAsString(\"EffectName\")" + "Effect", + "NewEffectName" ] } ], @@ -14197,11 +14087,12 @@ { "type": { "inverted": true, - "value": "IsEffectEnabled" + "value": "EffectCapability::EffectBehavior::IsEffectEnabled" }, "parameters": [ "Object", - "GetArgumentAsString(\"EffectName\")" + "Effect", + "NewEffectName" ] } ], @@ -14224,12 +14115,12 @@ "actions": [ { "type": { - "value": "Flash::ToggleEffect" + "value": "Flash::FlashEffect::ToggleEffect" }, "parameters": [ - "", "Object", - "GetArgumentAsString(\"EffectName\")", + "Behavior", + "NewEffectName", "" ] }, @@ -14244,12 +14135,12 @@ }, { "type": { - "value": "Flash::FlashEffect::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsFlashing", + "True", + "" ] } ] @@ -14271,24 +14162,22 @@ }, { "type": { - "value": "Flash::FlashEffect::SetPropertyFlashDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlashDuration", "=", - "GetArgumentAsNumber(\"FlashDuration\")" + "NewFlashDuration" ] }, { "type": { - "value": "Flash::FlashEffect::SetPropertyEffectName" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "EffectName", "=", - "GetArgumentAsString(\"EffectName\")" + "NewEffectName" ] } ] @@ -14298,7 +14187,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -14310,12 +14198,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" } ], @@ -14347,11 +14235,12 @@ "conditions": [ { "type": { - "value": "Flash::FlashEffect::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], @@ -14371,7 +14260,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -14410,7 +14298,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -14434,23 +14321,24 @@ "conditions": [ { "type": { - "value": "Flash::FlashColor::PropertyIsFlashing" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsFlashing", + "True", + "" ] } ], "actions": [ { "type": { - "value": "Flash::FlashEffect::SetPropertyIsFlashing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsFlashing", + "False", + "" ] }, { @@ -14490,11 +14378,12 @@ "actions": [ { "type": { - "value": "EnableEffect" + "value": "EffectCapability::EffectBehavior::EnableEffect" }, "parameters": [ "Object", - "Object.Behavior::PropertyEffectName()", + "Effect", + "EffectName", "yes" ] } @@ -14517,11 +14406,12 @@ "actions": [ { "type": { - "value": "EnableEffect" + "value": "EffectCapability::EffectBehavior::EnableEffect" }, "parameters": [ "Object", - "Object.Behavior::PropertyEffectName()", + "Effect", + "EffectName", "" ] } @@ -14534,7 +14424,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -14563,7 +14452,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHalfPeriodTime()" + "HalfPeriodTime" ] } ] @@ -14576,7 +14465,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -14601,13 +14489,129 @@ "actions": [ { "type": { - "value": "Flash::FlashEffect::SetPropertyHalfPeriodTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HalfPeriodTime", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Flash::FlashEffect", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Toggle an object effect.", + "fullName": "Toggle an object effect", + "functionType": "Action", + "name": "ToggleEffect", + "private": true, + "sentence": "Toggle effect _PARAM2_ on _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Object", + "__Flash_EffectToggled", + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EffectCapability::EffectBehavior::IsEffectEnabled" + }, + "parameters": [ + "Object", + "Effect", + "EffectName" + ] + } + ], + "actions": [ + { + "type": { + "value": "EffectCapability::EffectBehavior::EnableEffect" + }, + "parameters": [ + "Object", + "Effect", + "EffectName", + "" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Object", + "__Flash_EffectToggled", + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Object", + "__Flash_EffectToggled", + "False" + ] + }, + { + "type": { + "inverted": true, + "value": "EffectCapability::EffectBehavior::IsEffectEnabled" + }, + "parameters": [ + "Object", + "Effect", + "EffectName" + ] + } + ], + "actions": [ + { + "type": { + "value": "EffectCapability::EffectBehavior::EnableEffect" + }, + "parameters": [ + "Object", + "Effect", + "EffectName", + "yes" ] } ] @@ -14617,7 +14621,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -14625,12 +14628,26 @@ "name": "Behavior", "supplementaryInformation": "Flash::FlashEffect", "type": "behavior" + }, + { + "description": "Effect name to toggle", + "name": "EffectName", + "type": "objectEffectName" } ], "objectGroups": [] } ], "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Effect capability", + "extraInformation": [ + "EffectCapability::EffectBehavior" + ], + "name": "Effect" + }, { "value": "0.1", "type": "Number", @@ -14673,17 +14690,17 @@ "category": "Game mechanic", "extensionNamespace": "", "fullName": "Fire bullets", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "/extensions/fire-bullet/details", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWJ1bGxldCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNCwyMkgxMFYyMUgxNFYyMk0xMywxMFY3SDExVjEwTDEwLDExLjVWMjBIMTRWMTEuNUwxMywxME0xMiwyQzEyLDIgMTEsMyAxMSw1VjZIMTNWNUMxMyw1IDEzLDMgMTIsMloiIC8+PC9zdmc+", "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.9.1", "description": [ - "This extension allows objects to fire bullets.", + "This extension allows objects to fire bullets. To use it, add the behavior to the object that will shoot, then use the provided action to launch another object as the bullet.", "", - "It handles:", + "The properties of the behavior can be used to customize:", "- Cooldown between shots", "- Firing multiple bullets at a time ([open the project online](https://editor.gdevelop.io/?project=example://fire-bullet))", "- Ammo management", @@ -14722,7 +14739,7 @@ "eventsFunctions": [], "eventsBasedBehaviors": [ { - "description": "Fire bullets, manage ammo, reloading, and overheating.", + "description": "Fire bullets, manage ammo, reloading, and overheating. Once added to your object that must shoot, use the behavior action in your events to fire another object as a bullet.", "fullName": "Fire bullets", "name": "FireBullet", "objectType": "", @@ -14748,24 +14765,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" ] } ] @@ -14818,114 +14833,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" ] @@ -14934,39 +14928,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", + "" ] }, { @@ -15012,32 +14994,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" ] @@ -15046,39 +15015,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" ] @@ -15110,63 +15065,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": [] } ] } @@ -15178,7 +15076,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Reload gun when needed", + "name": "Reload", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -15215,30 +15113,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", + "" ] } ], @@ -15260,13 +15157,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "=", - "Object.Behavior::PropertyShotsPerReload()" + "ShotsPerReload" ] } ] @@ -15301,13 +15197,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "=", - "min(Object.Behavior::PropertyShotsPerReload(), Object.Behavior::PropertyAmmoQuantity())" + "min(ShotsPerReload, AmmoQuantity)" ] } ] @@ -15322,7 +15217,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Reduce heat level (based on cooling rate)", + "name": "Cooling", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -15334,7 +15229,7 @@ "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "Object.Behavior::HeatLevel()", + "HeatLevel", ">", "0" ] @@ -15347,11 +15242,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyExponentialCoolingRate" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ExponentialCoolingRate", ">", "0" ] @@ -15360,13 +15254,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)" ] } ] @@ -15376,11 +15269,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyLinearCoolingRate" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LinearCoolingRate", ">", "0" ] @@ -15389,13 +15281,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)" ] } ] @@ -15429,37 +15320,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": [ @@ -15510,37 +15389,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": [ @@ -15596,242 +15463,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", + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "BulletQuantity", + "conditions": [], + "actions": [], + "events": [ { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyBulletQuantity()", - "=", - "1" + "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)) " + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "FireBullet::FireBullet::FireSingleBullet" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "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", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyBulletQuantity()", - ">", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__FireBullet.BatchOrderID", - "=", - "0" - ] + "comment": "When firing in a full circle, prevent first and last bullet from using the same angle" }, { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__FireBullet.CurrentBulletAngle", - "=", - "GetArgumentAsNumber(\"Angle\") - Object.Behavior::PropertyFiringArc()/2" - ] - } - ], - "events": [ - { - "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" ] } ] @@ -15839,12 +15652,23 @@ ] } ], - "parameters": [] + "variables": [ + { + "folded": true, + "name": "MultiShotAngle", + "type": "number", + "value": 0 + }, + { + "name": "BulletIndex", + "type": "number", + "value": 0 + } + ] } ] } - ], - "parameters": [] + ] } ], "parameters": [ @@ -15928,9 +15752,9 @@ "parameters": [ "", "Bullet", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "Object.Behavior::PropertyBulletLayer()" + "XPosition", + "YPosition", + "BulletLayer" ] } ], @@ -15953,13 +15777,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)" ] }, { @@ -15968,64 +15791,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": { @@ -16043,11 +15815,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "RotateBullet", + "True", + "" ] } ], @@ -16059,7 +15832,7 @@ "parameters": [ "Bullet", "=", - "Object.Behavior::PropertyRandomizedAngle()" + "RandomizedAngle" ] } ] @@ -16084,11 +15857,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalBulletsCreated", "+", "1" ] @@ -16164,12 +15936,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "ReloadInProgress", + "True", + "" ] }, { @@ -16207,30 +15979,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", + "" ] } ], @@ -16274,11 +16033,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "RotateBullet", + "True", + "" ] } ], @@ -16326,7 +16086,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyFiringArc()" + "FiringArc" ] } ] @@ -16363,13 +16123,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyFiringArc" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FiringArc", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -16416,7 +16175,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -16460,7 +16219,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyAngleVariance()" + "AngleVariance" ] } ] @@ -16497,13 +16256,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAngleVariance" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AngleVariance", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -16550,7 +16308,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -16594,7 +16352,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyBulletSpeedVariance()" + "BulletSpeedVariance" ] } ] @@ -16631,13 +16389,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletSpeedVariance" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "BulletSpeedVariance", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -16684,7 +16441,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -16728,7 +16485,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyBulletQuantity()" + "BulletQuantity" ] } ] @@ -16765,13 +16522,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "BulletQuantity", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -16818,7 +16574,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -16859,13 +16615,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletLayer" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "BulletLayer", "=", - "GetArgumentAsString(\"Value\")" + "Value" ] } ] @@ -16905,22 +16660,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", + "" ] } ] @@ -16930,22 +16687,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", + "" ] } ] @@ -16966,7 +16725,7 @@ { "defaultValue": "yes", "description": "Rotate bullet to match trajetory", - "name": "RotateBullet", + "name": "Value", "optional": true, "type": "yesorno" } @@ -16987,22 +16746,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", + "" ] } ] @@ -17012,22 +16773,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", + "" ] } ] @@ -17048,7 +16811,7 @@ { "defaultValue": "yes", "description": "Unlimited ammo", - "name": "UnlimitedAmmo", + "name": "Value", "optional": true, "type": "yesorno" } @@ -17072,7 +16835,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyFireCooldown()" + "FireCooldown" ] } ] @@ -17109,13 +16872,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyFireCooldown" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FireCooldown", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -17162,7 +16924,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"NewCooldown\")", + "Value", "" ] } @@ -17183,7 +16945,7 @@ }, { "description": "Cooldown in seconds", - "name": "NewCooldown", + "name": "Value", "type": "expression" } ], @@ -17206,7 +16968,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyReloadDuration()" + "ReloadDuration" ] } ] @@ -17243,13 +17005,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyReloadDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ReloadDuration", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -17296,7 +17057,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -17340,7 +17101,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyOverheatDuration()" + "OverheatDuration" ] } ] @@ -17377,13 +17138,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyOverheatDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OverheatDuration", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -17430,7 +17190,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -17474,7 +17234,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyAmmoQuantity()" + "AmmoQuantity" ] } ] @@ -17511,13 +17271,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", - "max(0,Value)" + "max(0, Value)" ] } ] @@ -17564,7 +17323,7 @@ "Object", "Behavior", "=", - "max(0,Value)", + "max(0, Value)", "" ] } @@ -17608,7 +17367,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHeatIncreasePerShot()" + "HeatIncreasePerShot" ] } ] @@ -17645,13 +17404,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatIncreasePerShot" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatIncreasePerShot", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -17698,7 +17456,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -17742,7 +17500,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMaxAmmo()" + "MaxAmmo" ] } ] @@ -17779,13 +17537,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyMaxAmmo" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxAmmo", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -17795,11 +17552,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyMaxAmmo" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxAmmo", ">", "0" ] @@ -17808,13 +17564,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", - "min(Object.Behavior::MaxAmmo(),Object.Behavior::AmmoQuantity())" + "min(MaxAmmo, AmmoQuantity)" ] } ] @@ -17861,7 +17616,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -17902,11 +17657,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalShotsFired" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalShotsFired", "=", "0" ] @@ -17943,11 +17697,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalBulletsCreated", "=", "0" ] @@ -17984,11 +17737,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalReloadsCompleted", "=", "0" ] @@ -18028,7 +17780,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShotsPerReload()" + "ShotsPerReload" ] } ] @@ -18065,13 +17817,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsPerReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsPerReload", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -18081,26 +17832,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" ] } ] @@ -18147,7 +17896,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -18188,12 +17937,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAutomaticReloading" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "=" + "AutomaticReloading", + "False", + "" ] } ] @@ -18203,22 +17952,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", + "" ] } ] @@ -18263,7 +18014,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyLinearCoolingRate()" + "LinearCoolingRate" ] } ] @@ -18300,13 +18051,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyLinearCoolingRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LinearCoolingRate", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -18353,7 +18103,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -18397,7 +18147,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyExponentialCoolingRate()" + "ExponentialCoolingRate" ] } ] @@ -18434,13 +18184,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyExponentialCoolingRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ExponentialCoolingRate", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -18488,7 +18237,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -18529,13 +18278,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "+", - "GetArgumentAsNumber(\"AmmoGained\")" + "AmmoGained" ] } ] @@ -18557,11 +18305,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyMaxAmmo" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxAmmo", ">", "0" ] @@ -18570,13 +18317,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", - "min(Object.Behavior::MaxAmmo(),Object.Behavior::AmmoQuantity())" + "min(MaxAmmo, AmmoQuantity)" ] } ] @@ -18596,11 +18342,12 @@ }, { "type": { - "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "AutomaticReloading", + "True", + "" ] } ], @@ -18655,7 +18402,7 @@ "value": "SetReturnString" }, "parameters": [ - "Object.Behavior::PropertyBulletLayer()" + "BulletLayer" ] } ] @@ -18696,7 +18443,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "min(1,Object.Behavior::PropertyHeatLevel())" + "min(1, HeatLevel)" ] } ] @@ -18737,7 +18484,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyTotalShotsFired()" + "TotalShotsFired" ] } ] @@ -18778,7 +18525,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyTotalBulletsCreated()" + "TotalBulletsCreated" ] } ] @@ -18819,7 +18566,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyTotalReloadsCompleted()" + "TotalReloadsCompleted" ] } ] @@ -18860,7 +18607,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShotsBeforeNextReload()" + "ShotsBeforeNextReload" ] } ] @@ -18901,7 +18648,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0,Object.Behavior::Cooldown() - Object.ObjectTimerElapsedTime(\"__FireBullet.FiringCooldown\"))" + "max(0, FireCooldown - Object.ObjectTimerElapsedTime(\"__FireBullet.FiringCooldown\"))" ] } ] @@ -18954,7 +18701,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0, Object.Behavior::PropertyOverheatDuration() - Object.ObjectTimerElapsedTime(\"__FireBullet.OverheatDuration\"))" + "max(0, OverheatDuration - Object.ObjectTimerElapsedTime(\"__FireBullet.OverheatDuration\"))" ] } ] @@ -19007,7 +18754,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0, Object.Behavior::PropertyReloadDuration() - Object.ObjectTimerElapsedTime(\"__FireBullet.ReloadingTimer\"))" + "max(0, ReloadDuration - Object.ObjectTimerElapsedTime(\"__FireBullet.ReloadingTimer\"))" ] } ] @@ -19058,11 +18805,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyReloadInProgress" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ReloadInProgress", + "True", + "" ] } ], @@ -19126,11 +18874,12 @@ "subInstructions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHasJustFired" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "HasJustFired", + "True", + "" ] }, { @@ -19262,11 +19011,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "AutomaticReloading", + "True", + "" ] } ], @@ -19324,11 +19074,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UnlimitedAmmo", + "True", + "" ] } ], @@ -19397,11 +19148,10 @@ }, { "type": { - "value": "FireBullet::FireBullet::PropertyAmmoQuantity" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "<=", "0" ] @@ -19473,22 +19223,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" ] @@ -19554,11 +19302,10 @@ "subInstructions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHeatLevel" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatLevel", ">=", "1" ] @@ -19894,13 +19641,13 @@ "category": "Game mechanic", "extensionNamespace": "", "fullName": "Health points and damage", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWhlYXJ0LWhhbGYtZnVsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNi41LDVDMTUsNSAxMy41OCw1LjkxIDEzLDcuMlYxNy43NEMxNy4yNSwxMy44NyAyMCwxMS4yIDIwLDguNUMyMCw2LjUgMTguNSw1IDE2LjUsNU0xNi41LDNDMTkuNTgsMyAyMiw1LjQxIDIyLDguNUMyMiwxMi4yNyAxOC42LDE1LjM2IDEzLjQ1LDIwLjAzTDEyLDIxLjM1TDEwLjU1LDIwLjAzQzUuNCwxNS4zNiAyLDEyLjI3IDIsOC41QzIsNS40MSA0LjQyLDMgNy41LDNDOS4yNCwzIDEwLjkxLDMuODEgMTIsNS4wOEMxMy4wOSwzLjgxIDE0Ljc2LDMgMTYuNSwzWiIgLz48L3N2Zz4=", "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.1", + "version": "0.4.0", "description": [ "Manage health (life) points, shield and armor. ", "", @@ -19973,7 +19720,7 @@ "parameters": [ "Object", "Behavior", - "Object.Behavior::PropertyHealth()", + "Health", "" ] } @@ -20036,22 +19783,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()" ] @@ -20064,20 +19809,19 @@ "Object", "\"__Health.TimeSinceLastHit\"", ">", - "Object.Behavior::PropertyHealthRegenDelay()" + "HealthRegenDelay" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "+", - "Object.Behavior::PropertyHealthRegenRate() * TimeDelta()" + "HealthRegenRate * TimeDelta()" ] } ], @@ -20099,11 +19843,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", ">", "Object.Behavior::MaxHealth()" ] @@ -20112,13 +19855,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", - "Object.Behavior::PropertyMaxHealth()" + "MaxHealth" ] } ] @@ -20143,32 +19885,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", + "" ] } ] @@ -20214,24 +19956,22 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldRegenRate" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldRegenRate", "!=", "0" ] }, { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "<", - "Object.Behavior::PropertyMaxShieldPoints()" + "MaxShieldPoints" ] }, { @@ -20242,7 +19982,7 @@ "Object", "\"__Health.TimeSinceLastHit\"", ">", - "Object.Behavior::PropertyShieldRegenDelay()" + "ShieldRegenDelay" ] } ], @@ -20253,11 +19993,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "0" ] @@ -20282,13 +20021,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "+", - "Object.Behavior::PropertyShieldRegenRate() * TimeDelta()" + "ShieldRegenRate * TimeDelta()" ] } ] @@ -20310,26 +20048,24 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", ">", - "Object.Behavior::PropertyMaxShieldPoints()" + "MaxShieldPoints" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", - "Object.Behavior::PropertyMaxShieldPoints()" + "MaxShieldPoints" ] } ] @@ -20372,11 +20108,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "0" ] @@ -20401,12 +20136,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsShieldJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsShieldJustDamaged", + "False", + "" ] } ] @@ -20480,13 +20215,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "=", - "GetArgumentAsNumber(\"DamageValue\")" + "DamageValue" ] } ], @@ -20522,28 +20256,27 @@ "parameters": [ "RandomFloatInRange(0,1)", "<", - "Object.Behavior::PropertyChanceToDodge()" + "ChanceToDodge" ] } ], "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" ] @@ -20567,19 +20300,20 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"UseArmor\"" + "UseArmor", + "True", + "" ] }, { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "0" ] @@ -20602,13 +20336,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "=", - "max(0,Object.Behavior::PropertyDamageToBeApplied() - Object.Behavior::PropertyFlatDamageReduction())" + "max(0,DamageToBeApplied - FlatDamageReduction)" ] } ] @@ -20630,22 +20363,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" ] @@ -20654,13 +20385,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "*", - "1 - min(1, Object.Behavior::PropertyPercentDamageReduction())" + "1 - min(1, PercentDamageReduction)" ] } ] @@ -20699,10 +20429,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"UseShield\"" + "UseShield", + "True", + "" ] }, { @@ -20717,11 +20449,10 @@ }, { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "0" ] @@ -20730,12 +20461,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsShieldJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsShieldJustDamaged", + "True", + "" ] }, { @@ -20767,46 +20498,42 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "<=", - "Object.Behavior::PropertyCurrentShieldPoints()" + "CurrentShieldPoints" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "-", - "Object.Behavior::PropertyDamageToBeApplied()" + "DamageToBeApplied" ] }, { "type": { - "value": "Health::Health::SetPropertyShieldDamageTaken" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDamageTaken", "=", - "Object.Behavior::PropertyDamageToBeApplied()" + "DamageToBeApplied" ] }, { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "=", "0" ] @@ -20830,26 +20557,24 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", - "Object.Behavior::PropertyCurrentShieldPoints()" + "CurrentShieldPoints" ] } ], "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldDamageTaken" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDamageTaken", "=", - "Object.Behavior::PropertyCurrentShieldPoints()" + "CurrentShieldPoints" ] } ], @@ -20859,33 +20584,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" ] @@ -20910,33 +20634,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", "-", - "Object.Behavior::PropertyCurrentShieldPoints()" + "CurrentShieldPoints" ] }, { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "0" ] @@ -20964,11 +20687,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "0" ] @@ -21009,7 +20731,7 @@ "parameters": [ "Object", "Behavior", - "Object.Behavior::PropertyCurrentHealth() - Object.Behavior::PropertyDamageToBeApplied()", + "CurrentHealth - DamageToBeApplied", "" ] } @@ -21077,7 +20799,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyCurrentHealth()" + "CurrentHealth" ] } ] @@ -21115,13 +20837,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -21143,11 +20864,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", ">", "0" ] @@ -21156,13 +20876,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", - "min(Object.Behavior::PropertyCurrentHealth(), Object.Behavior::PropertyMaxHealth())" + "min(CurrentHealth, MaxHealth)" ] } ] @@ -21208,7 +20927,7 @@ "parameters": [ "Object", "Behavior", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -21269,11 +20988,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", "=", "0" ] @@ -21282,13 +21000,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHealToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealToBeApplied", "=", - "GetArgumentAsNumber(\"HealValue\")" + "HealValue" ] } ] @@ -21310,11 +21027,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", ">", "0" ] @@ -21322,24 +21038,24 @@ { "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(GetArgumentAsNumber(\"HealValue\"),Object.Behavior::PropertyMaxHealth() - Object.Behavior::PropertyCurrentHealth())" + "min(HealValue,MaxHealth - CurrentHealth)" ] } ] @@ -21362,13 +21078,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "+", - "Object.Behavior::PropertyHealToBeApplied()" + "HealToBeApplied" ] } ] @@ -21391,12 +21106,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsJustHealed" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsJustHealed", + "True", + "" ] } ] @@ -21442,7 +21157,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMaxHealth()" + "MaxHealth" ] } ] @@ -21479,13 +21194,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyMaxHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -21507,11 +21221,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", ">", "Object.Behavior::MaxHealth()" ] @@ -21520,11 +21233,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", "Object.Behavior::MaxHealth()" ] @@ -21573,7 +21285,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -21617,7 +21329,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHealthRegenRate()" + "HealthRegenRate" ] } ] @@ -21654,13 +21366,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHealthRegenRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealthRegenRate", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -21707,7 +21418,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -21751,7 +21462,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyDamageCooldown()" + "DamageCooldown" ] } ] @@ -21788,13 +21499,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageCooldown" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageCooldown", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -21841,7 +21551,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -21885,7 +21595,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHealthRegenDelay()" + "HealthRegenDelay" ] } ] @@ -21922,13 +21632,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHealthRegenDelay" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealthRegenDelay", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -21975,7 +21684,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -22019,7 +21728,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyChanceToDodge()" + "ChanceToDodge" ] } ] @@ -22056,13 +21765,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyChanceToDodge" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ChanceToDodge", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -22109,7 +21817,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -22153,7 +21861,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyFlatDamageReduction()" + "FlatDamageReduction" ] } ] @@ -22190,13 +21898,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyFlatDamageReduction" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlatDamageReduction", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -22243,7 +21950,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -22287,7 +21994,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyPercentDamageReduction()" + "PercentDamageReduction" ] } ] @@ -22324,13 +22031,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyPercentDamageReduction" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PercentDamageReduction", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -22377,7 +22083,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -22418,12 +22124,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyAllowOverHealing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "AllowOverHealing", + "False", + "" ] } ] @@ -22433,22 +22139,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", + "" ] } ] @@ -22489,12 +22197,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHitAtLeastOnce" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "HitAtLeastOnce", + "False", + "" ] } ] @@ -22504,22 +22212,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", + "" ] } ] @@ -22560,12 +22270,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsHealthJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsHealthJustDamaged", + "False", + "" ] } ] @@ -22575,22 +22285,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", + "" ] } ] @@ -22736,11 +22448,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyHitAtLeastOnce" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "HitAtLeastOnce", + "True", + "" ] } ], @@ -22798,11 +22511,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsHealthJustDamaged" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsHealthJustDamaged", + "True", + "" ] } ], @@ -22860,11 +22574,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsJustHealed" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsJustHealed", + "True", + "" ] } ], @@ -22922,20 +22637,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" ] @@ -22948,7 +22663,7 @@ "Object", "\"__Health.TimeSinceLastHit\"", "<", - "Object.Behavior::PropertyDamageCooldown()" + "DamageCooldown" ] } ], @@ -23021,7 +22736,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0,Object.Behavior::PropertyDamageCooldown() - Object.ObjectTimerElapsedTime(\"__Health.TimeSinceLastHit\"))" + "max(0,DamageCooldown - Object.ObjectTimerElapsedTime(\"__Health.TimeSinceLastHit\"))" ] } ] @@ -23072,11 +22787,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "<=", "0" ] @@ -23167,7 +22881,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyDamageToBeApplied()" + "DamageToBeApplied" ] } ] @@ -23208,7 +22922,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMaxShieldPoints()" + "MaxShieldPoints" ] } ] @@ -23245,13 +22959,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyMaxShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxShieldPoints", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -23298,7 +23011,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -23346,7 +23059,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -23390,7 +23103,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyCurrentShieldPoints()" + "CurrentShieldPoints" ] } ] @@ -23427,13 +23140,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -23480,7 +23192,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -23524,7 +23236,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShieldRegenRate()" + "ShieldRegenRate" ] } ] @@ -23561,13 +23273,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldRegenRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldRegenRate", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -23614,7 +23325,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -23658,7 +23369,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShieldRegenDelay()" + "ShieldRegenDelay" ] } ] @@ -23695,13 +23406,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldRegenDelay" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldRegenDelay", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -23748,7 +23458,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -23792,7 +23502,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShieldDuration()" + "ShieldDuration" ] } ] @@ -23829,13 +23539,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -23882,7 +23591,7 @@ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")", + "Value", "" ] } @@ -23962,13 +23671,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", - "GetArgumentAsNumber(\"ShieldPoints\")" + "ShieldPoints" ] } ] @@ -23978,11 +23686,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxShieldPoints", ">", "0" ] @@ -23991,13 +23698,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", - "min(GetArgumentAsNumber(\"ShieldPoints\"),Object.Behavior::MaxShield())" + "min(ShieldPoints,Object.Behavior::MaxShield())" ] } ] @@ -24007,10 +23713,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"RenewShieldDuration\"" + "RenewShieldDuration", + "True", + "" ] } ], @@ -24069,12 +23777,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyBlockExcessDamage" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "BlockExcessDamage", + "False", + "" ] } ] @@ -24084,22 +23792,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", + "" ] } ] @@ -24152,11 +23862,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsShieldJustDamaged" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsShieldJustDamaged", + "True", + "" ] } ], @@ -24214,11 +23925,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsJustDodged" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsJustDodged", + "True", + "" ] } ], @@ -24288,11 +24000,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", ">", "0" ] @@ -24317,11 +24028,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", "<=", "0" ] @@ -24343,11 +24053,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", ">", "0" ] @@ -24360,7 +24069,7 @@ "Object", "\"__Health.ShieldDuration\"", "<", - "Object.Behavior::PropertyShieldDuration()" + "ShieldDuration" ] } ], @@ -24420,11 +24129,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", ">", "0" ] @@ -24436,7 +24144,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0,Object.Behavior::PropertyShieldDuration() - Object.ObjectTimerElapsedTime(\"__Health.ShieldDuration\"))" + "max(0,ShieldDuration - Object.ObjectTimerElapsedTime(\"__Health.ShieldDuration\"))" ] } ] @@ -24477,7 +24185,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShieldDamageTaken()" + "ShieldDamageTaken" ] } ] @@ -24518,7 +24226,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHealToBeApplied()" + "HealToBeApplied" ] } ] @@ -24754,13 +24462,13 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Stay On Screen", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLW1vbml0b3Itc2NyZWVuc2hvdCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik05LDZINVYxMEg3VjhIOU0xOSwxMEgxN1YxMkgxNVYxNEgxOU0yMSwxNkgzVjRIMjFNMjEsMkgzQzEuODksMiAxLDIuODkgMSw0VjE2QTIsMiAwIDAsMCAzLDE4SDEwVjIwSDhWMjJIMTZWMjBIMTRWMThIMjFBMiwyIDAgMCwwIDIzLDE2VjRDMjMsMi44OSAyMi4xLDIgMjEsMiIgLz48L3N2Zz4=", "name": "StayOnScreen", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/monitor-screenshot.svg", "shortDescription": "Move the object to keep it visible on the screen.", - "version": "1.0.1", + "version": "1.1.0", "description": [ "Force the object to stay visible on the screen by setting back its position inside the viewport of the camera.", "", @@ -24808,7 +24516,7 @@ "parameters": [ "Object", "+", - "max(0, CameraBorderLeft(Object.Layer()) + Object.Behavior::PropertyMarginLeft() - Object.BoundingBoxLeft())\n" + "max(0, CameraBorderLeft(Object.Layer()) + MarginLeft - Object.BoundingBoxLeft())\n" ] }, { @@ -24818,7 +24526,7 @@ "parameters": [ "Object", "+", - "min(0, CameraBorderRight(Object.Layer()) - Object.Behavior::PropertyMarginRight() - Object.BoundingBoxRight())\n" + "min(0, CameraBorderRight(Object.Layer()) - MarginRight - Object.BoundingBoxRight())\n" ] }, { @@ -24828,7 +24536,7 @@ "parameters": [ "Object", "+", - "max(0, CameraBorderTop(Object.Layer()) + Object.Behavior::PropertyMarginTop() - Object.BoundingBoxTop())\n" + "max(0, CameraBorderTop(Object.Layer()) + MarginTop - Object.BoundingBoxTop())\n" ] }, { @@ -24838,7 +24546,7 @@ "parameters": [ "Object", "+", - "min(0, CameraBorderBottom(Object.Layer()) - Object.Behavior::PropertyMarginBottom() - Object.BoundingBoxBottom())\n" + "min(0, CameraBorderBottom(Object.Layer()) - MarginBottom - Object.BoundingBoxBottom())\n" ] } ] @@ -24876,7 +24584,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMarginTop()" + "MarginTop" ] } ] @@ -24913,13 +24621,12 @@ "actions": [ { "type": { - "value": "StayOnScreen::StayOnScreen::SetPropertyMarginTop" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MarginTop", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -24957,7 +24664,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMarginBottom()" + "MarginBottom" ] } ] @@ -24994,13 +24701,12 @@ "actions": [ { "type": { - "value": "StayOnScreen::StayOnScreen::SetPropertyMarginBottom" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MarginBottom", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -25038,7 +24744,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMarginLeft()" + "MarginLeft" ] } ] @@ -25075,13 +24781,12 @@ "actions": [ { "type": { - "value": "StayOnScreen::StayOnScreen::SetPropertyMarginLeft" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MarginLeft", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -25119,7 +24824,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMarginRight()" + "MarginRight" ] } ] @@ -25156,13 +24861,12 @@ "actions": [ { "type": { - "value": "StayOnScreen::StayOnScreen::SetPropertyMarginRight" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MarginRight", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -25224,14 +24928,18 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Linear Movement", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXJheS1zdGFydC1hcnJvdyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0yMywxMkwxOSwxNlYxM0g2LjgzQzYuNDIsMTQuMTcgNS4zMSwxNSA0LDE1QTMsMyAwIDAsMSAxLDEyQTMsMyAwIDAsMSA0LDlDNS4zMSw5IDYuNDIsOS44MyA2LjgzLDExSDE5VjhMMjMsMTJaIiAvPjwvc3ZnPg==", "name": "LinearMovement", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/ray-start-arrow.svg", - "shortDescription": "Move the object linearly, according to the speed configured on X and Y axis. Useful for simple enemies, bullets or objects following a straight line on the screen.", - "version": "0.0.2", - "description": "Move the object linearly, according to the speed configured on X and Y axis. Useful for simple enemies, bullets or objects following a straight line on the screen.", + "shortDescription": "Move objects on a straight line.", + "version": "0.1.1", + "description": [ + "Move objects on a straight line or according to their angle.", + "", + "It can be used for simple enemies or bullets. It's usually not adapted for players (other behaviors are a better choice) or bullets fired with the actions provided by the \"Fire Bullet\" behavior (these bullets are already moved using a force)." + ], "origin": { "identifier": "LinearMovement", "name": "gdevelop-extension-store" @@ -25242,7 +24950,8 @@ "linear" ], "authorIds": [ - "wWP8BSlAW0UP4NeaHa2LcmmDzmH2" + "wWP8BSlAW0UP4NeaHa2LcmmDzmH2", + "dt0tRnf2kHWJnjkrpnzTzNj9Yc63" ], "dependencies": [], "globalVariables": [], @@ -25250,7 +24959,7 @@ "eventsFunctions": [], "eventsBasedBehaviors": [ { - "description": "Move the object linearly, according to the speed configured on X and Y axis. Useful for simple enemies, bullets or objects following a straight line on the screen.", + "description": "Move objects on a straight line.", "fullName": "Linear movement", "name": "LinearMovement", "objectType": "", @@ -25271,8 +24980,8 @@ }, "parameters": [ "Object", - "Object.Behavior::PropertySpeedX()", - "Object.Behavior::PropertySpeedY()", + "SpeedX", + "SpeedY", "" ] } @@ -25293,25 +25002,322 @@ } ], "objectGroups": [] - } - ], - "propertyDescriptors": [ + }, { - "value": "0", - "type": "Number", - "unit": "PixelSpeed", - "label": "Speed on X axis", - "name": "SpeedX" + "description": "the speed on X axis of the object.", + "fullName": "Speed on X axis", + "functionType": "ExpressionAndCondition", + "group": "Linear movement", + "name": "SpeedX", + "sentence": "the speed on X axis", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "SpeedX" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "LinearMovement::LinearMovement", + "type": "behavior" + } + ], + "objectGroups": [] }, { - "value": "0", - "type": "Number", - "unit": "PixelSpeed", - "label": "Speed on Y axis", - "name": "SpeedY" - } - ], - "sharedPropertyDescriptors": [] + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "SpeedX", + "name": "SetSpeedX", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "SpeedX", + "=", + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "LinearMovement::LinearMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the speed on Y axis of the object.", + "fullName": "Speed on Y axis", + "functionType": "ExpressionAndCondition", + "group": "Linear movement", + "name": "SpeedY", + "sentence": "the speed on Y axis", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "SpeedY" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "LinearMovement::LinearMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "SpeedY", + "name": "SetSpeedY", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "SpeedY", + "=", + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "LinearMovement::LinearMovement", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "0", + "type": "Number", + "unit": "PixelSpeed", + "label": "Speed on X axis", + "name": "SpeedX" + }, + { + "value": "0", + "type": "Number", + "unit": "PixelSpeed", + "label": "Speed on Y axis", + "name": "SpeedY" + } + ], + "sharedPropertyDescriptors": [] + }, + { + "description": "Move objects ahead according to their angle.", + "fullName": "Linear movement by angle", + "name": "LinearMovementByAngle", + "objectType": "", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Object", + "Object.Angle()", + "Speed", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "LinearMovement::LinearMovementByAngle", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the speed of the object.", + "fullName": "Speed", + "functionType": "ExpressionAndCondition", + "group": "Linear movement by angle configuration", + "name": "Speed", + "sentence": "the speed", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Speed" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "LinearMovement::LinearMovementByAngle", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "Speed", + "name": "SetSpeed", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Speed", + "=", + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "LinearMovement::LinearMovementByAngle", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "200", + "type": "Number", + "unit": "PixelSpeed", + "label": "Speed", + "name": "Speed" + } + ], + "sharedPropertyDescriptors": [] } ], "eventsBasedObjects": [] @@ -25321,13 +25327,13 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Animated Back and Forth Movement", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXJlcGVhdCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNywxN0g3VjE0TDMsMThMNywyMlYxOUgxOVYxM0gxN003LDdIMTdWMTBMMjEsNkwxNywyVjVINVYxMUg3VjdaIiAvPjwvc3ZnPg==", "name": "AnimatedBackAndForthMovement", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/repeat.svg", "shortDescription": "Make the object go on the left, then when some distance is reached, flip and go back to the right. Make sure that your object has two animations called \"GoLeft\" and \"TurnLeft\".", - "version": "0.0.2", + "version": "0.1.0", "description": "Make the object go on the left, then when some distance is reached, flip and go back to the right. **Make sure** that your object has **two animations called \"GoLeft\" and \"TurnLeft\"**.", "origin": { "identifier": "AnimatedBackAndForthMovement", @@ -25350,7 +25356,7 @@ "description": "Make the object go on the left, then when some distance is reached, flip and go back to the right. Make sure that your object has two animations called \"GoLeft\" and \"TurnLeft\".", "fullName": "Animated Back and Forth (mirrored) Movement", "name": "AnimatedBackAndForthMirroredMovement", - "objectType": "Sprite", + "objectType": "", "eventsFunctions": [ { "fullName": "", @@ -25363,11 +25369,10 @@ "conditions": [ { "type": { - "value": "AnimatedBackAndForthMovement::AnimatedBackAndForthMirroredMovement::PropertyInitialX" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "InitialX", "=", "0" ] @@ -25376,11 +25381,10 @@ "actions": [ { "type": { - "value": "AnimatedBackAndForthMovement::AnimatedBackAndForthMirroredMovement::SetPropertyInitialX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "InitialX", "=", "Object.X()" ] @@ -25404,20 +25408,23 @@ "conditions": [ { "type": { - "value": "AnimationName" + "value": "AnimatableCapability::AnimatableBehavior::Name" }, "parameters": [ "Object", + "Animation", + "=", "\"GoLeft\"" ] }, { "type": { "inverted": true, - "value": "FlippedX" + "value": "FlippableCapability::FlippableBehavior::FlippedX" }, "parameters": [ - "Object" + "Object", + "Flippable" ] } ], @@ -25428,7 +25435,7 @@ }, "parameters": [ "Object", - "-Object.Behavior::PropertySpeedX()", + "-SpeedX", "0", "" ] @@ -25440,19 +25447,22 @@ "conditions": [ { "type": { - "value": "AnimationName" + "value": "AnimatableCapability::AnimatableBehavior::Name" }, "parameters": [ "Object", - "\"GoLeft\"" + "Animation", + "=", + "\"GoLeft\"" ] }, { "type": { - "value": "FlippedX" + "value": "FlippableCapability::FlippableBehavior::FlippedX" }, "parameters": [ - "Object" + "Object", + "Flippable" ] } ], @@ -25463,7 +25473,7 @@ }, "parameters": [ "Object", - "+Object.Behavior::PropertySpeedX()", + "SpeedX", "0", "" ] @@ -25492,7 +25502,7 @@ "parameters": [ "Object", ">", - "Object.Behavior::PropertyInitialX()" + "InitialX" ] } ], @@ -25504,24 +25514,27 @@ "parameters": [ "Object", "=", - "Object.Behavior::PropertyInitialX()" + "InitialX" ] }, { "type": { - "value": "SetAnimationName" + "value": "AnimatableCapability::AnimatableBehavior::SetName" }, "parameters": [ "Object", + "Animation", + "=", "\"TurnLeft\"" ] }, { "type": { - "value": "FlipX" + "value": "FlippableCapability::FlippableBehavior::FlipX" }, "parameters": [ "Object", + "Flippable", "no" ] } @@ -25537,7 +25550,7 @@ "parameters": [ "Object", "<", - "Object.Behavior::PropertyInitialX() - Object.Behavior::PropertyDistanceX()" + "InitialX - DistanceX" ] } ], @@ -25549,24 +25562,27 @@ "parameters": [ "Object", "=", - "Object.Behavior::PropertyInitialX() - Object.Behavior::PropertyDistanceX()" + "InitialX - DistanceX" ] }, { "type": { - "value": "SetAnimationName" + "value": "AnimatableCapability::AnimatableBehavior::SetName" }, "parameters": [ "Object", + "Animation", + "=", "\"TurnLeft\"" ] }, { "type": { - "value": "FlipX" + "value": "FlippableCapability::FlippableBehavior::FlipX" }, "parameters": [ "Object", + "Flippable", "yes" ] } @@ -25589,29 +25605,34 @@ "conditions": [ { "type": { - "value": "AnimationName" + "value": "AnimatableCapability::AnimatableBehavior::Name" }, "parameters": [ "Object", + "Animation", + "=", "\"TurnLeft\"" ] }, { "type": { - "value": "AnimationEnded" + "value": "AnimatableCapability::AnimatableBehavior::HasAnimationEnded" }, "parameters": [ - "Object" + "Object", + "Animation" ] } ], "actions": [ { "type": { - "value": "SetAnimationName" + "value": "AnimatableCapability::AnimatableBehavior::SetName" }, "parameters": [ "Object", + "Animation", + "=", "\"GoLeft\"" ] } @@ -25622,7 +25643,6 @@ { "description": "Object", "name": "Object", - "supplementaryInformation": "Sprite", "type": "object" }, { @@ -25636,6 +25656,24 @@ } ], "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Animatable capability", + "extraInformation": [ + "AnimatableCapability::AnimatableBehavior" + ], + "name": "Animation" + }, + { + "value": "", + "type": "Behavior", + "label": "Flippable capability", + "extraInformation": [ + "FlippableCapability::FlippableBehavior" + ], + "name": "Flippable" + }, { "value": "200", "type": "Number", @@ -25668,19 +25706,22 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Ellipse movement", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNpbmUtd2F2ZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNi41LDIxQzEzLjUsMjEgMTIuMzEsMTYuNzYgMTEuMDUsMTIuMjhDMTAuMTQsOS4wNCA5LDUgNy41LDVDNC4xMSw1IDQsMTEuOTMgNCwxMkgyQzIsMTEuNjMgMi4wNiwzIDcuNSwzQzEwLjUsMyAxMS43MSw3LjI1IDEyLjk3LDExLjc0QzEzLjgzLDE0LjggMTUsMTkgMTYuNSwxOUMxOS45NCwxOSAyMC4wMywxMi4wNyAyMC4wMywxMkgyMi4wM0MyMi4wMywxMi4zNyAyMS45NywyMSAxNi41LDIxWiIgLz48L3N2Zz4=", "name": "EllipseMovement", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/sine-wave.svg", "shortDescription": "Move objects on ellipses or smoothly back and forth in one direction.", - "version": "1.0.2", + "version": "1.1.0", "description": [ "It allows objects to move:", "- on an ellipsis or arcs", "- smoothly vertically or horizontally (by setting one radius to 0)", "- on a sine wave (by adding a force)", "", + "Instances will start their movement from their initial position on the scene.", + "The center position will be decided according to the \"initial direction\" angle and the radius.", + "", "It can be used for:", "- Making objects float, such as powerups or coins", "- Moving platforms", @@ -25729,22 +25770,20 @@ "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyOldX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OldX", "=", "Object.X()" ] }, { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyOldY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OldY", "=", "Object.Y()" ] @@ -25768,22 +25807,22 @@ "conditions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::PropertyInitialTurningLeft" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "InitialTurningLeft", + "True", + "" ] } ], "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyLoopDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LoopDuration", "*", "-1" ] @@ -25795,11 +25834,10 @@ "conditions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LoopDuration", "<", "0" ] @@ -25808,13 +25846,12 @@ "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MovementAngle", "=", - "Object.Behavior::PropertyInitialDirectionAngle() + 90" + "InitialDirectionAngle + 90" ] } ] @@ -25824,11 +25861,10 @@ "conditions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LoopDuration", ">=", "0" ] @@ -25837,13 +25873,12 @@ "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MovementAngle", "=", - "Object.Behavior::PropertyInitialDirectionAngle() - 90" + "InitialDirectionAngle - 90" ] } ] @@ -25854,22 +25889,20 @@ "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyCenterX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CenterX", "=", "Object.X() - Object.Behavior::DeltaX()" ] }, { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyCenterY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CenterY", "=", "Object.Y() - Object.Behavior::DeltaY()" ] @@ -25916,24 +25949,22 @@ "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyCenterX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CenterX", "+", - "Object.X() - Object.Behavior::PropertyOldX()" + "Object.X() - OldX" ] }, { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyCenterY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CenterY", "+", - "Object.Y() - Object.Behavior::PropertyOldY()" + "Object.Y() - OldY" ] } ] @@ -25955,11 +25986,10 @@ "conditions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::PropertyRadiusX" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RadiusX", "!=", "0" ] @@ -25973,7 +26003,7 @@ "parameters": [ "Object", "=", - "Object.Behavior::PropertyCenterX() + Object.Behavior::DeltaX()" + "CenterX + Object.Behavior::DeltaX()" ] } ] @@ -25983,11 +26013,10 @@ "conditions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::PropertyRadiusY" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RadiusY", "!=", "0" ] @@ -26001,7 +26030,7 @@ "parameters": [ "Object", "=", - "Object.Behavior::PropertyCenterY() + Object.Behavior::DeltaY()" + "CenterY + Object.Behavior::DeltaY()" ] } ] @@ -26011,11 +26040,12 @@ "conditions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::PropertyShouldRotate" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldRotate", + "True", + "" ] } ], @@ -26027,7 +26057,7 @@ "parameters": [ "Object", "=", - "Object.Behavior::DirectionAngle() + Object.Behavior::PropertyRotationOffset()" + "Object.Behavior::DirectionAngle() + RotationOffset" ] } ] @@ -26050,22 +26080,20 @@ "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyOldX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OldX", "=", "Object.X()" ] }, { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyOldY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OldY", "=", "Object.Y()" ] @@ -26112,13 +26140,12 @@ "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MovementAngle", "+", - "360 * TimeDelta() / Object.Behavior::PropertyLoopDuration()" + "360 * TimeDelta() / LoopDuration" ] } ] @@ -26152,44 +26179,40 @@ "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyCenterX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CenterX", "=", "2 * Object.X() - Object.Behavior::CenterX()" ] }, { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyCenterY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CenterY", "=", "2 * Object.Y() - Object.Behavior::CenterY()" ] }, { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MovementAngle", "+", "180" ] }, { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyLoopDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LoopDuration", "*", "-1" ] @@ -26332,11 +26355,10 @@ "conditions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LoopDuration", "<", "0" ] @@ -26385,7 +26407,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMovementAngle()" + "MovementAngle" ] } ] @@ -26426,7 +26448,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "abs(Object.Behavior::PropertyLoopDuration())" + "abs(LoopDuration)" ] } ] @@ -26467,7 +26489,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyRadiusX()" + "RadiusX" ] } ] @@ -26508,7 +26530,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyRadiusY()" + "RadiusY" ] } ] @@ -26549,7 +26571,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyCenterX()" + "CenterX" ] } ] @@ -26590,7 +26612,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyCenterY()" + "CenterY" ] } ] @@ -26628,13 +26650,12 @@ "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyRadiusX" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RadiusX", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -26674,13 +26695,12 @@ "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyRadiusY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RadiusY", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -26731,13 +26751,12 @@ "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyLoopDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LoopDuration", "=", - "-GetArgumentAsNumber(\"Value\")" + "-Value" ] } ] @@ -26760,13 +26779,12 @@ "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyLoopDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LoopDuration", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -26805,13 +26823,12 @@ "actions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MovementAngle", "=", - "GetArgumentAsNumber(\"Value\")" + "Value" ] } ] @@ -26853,7 +26870,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "cos(ToRad(Object.Behavior::PropertyMovementAngle())) * Object.Behavior::PropertyRadiusX()" + "cos(ToRad(MovementAngle)) * RadiusX" ] } ] @@ -26893,7 +26910,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "sin(ToRad(Object.Behavior::PropertyMovementAngle())) * Object.Behavior::PropertyRadiusY()" + "sin(ToRad(MovementAngle)) * RadiusY" ] } ] @@ -26929,11 +26946,10 @@ "conditions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LoopDuration", "<", "0" ] @@ -26945,7 +26961,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMovementAngle() + 90" + "MovementAngle + 90" ] } ] @@ -26955,11 +26971,10 @@ "conditions": [ { "type": { - "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LoopDuration", ">=", "0" ] @@ -26971,7 +26986,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyMovementAngle() - 90" + "MovementAngle - 90" ] } ] @@ -27097,13 +27112,13 @@ "category": "Camera", "extensionNamespace": "", "fullName": "Camera shake", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXZlY3Rvci1kaWZmZXJlbmNlLWFiIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTMsMUMxLjg5LDEgMSwxLjg5IDEsM1Y1SDNWM0g1VjFIM003LDFWM0gxMFYxSDdNMTIsMVYzSDE0VjVIMTZWM0MxNiwxLjg5IDE1LjExLDEgMTQsMUgxMk0xLDdWMTBIM1Y3SDFNMTQsN0MxNCw3IDE0LDExLjY3IDE0LDE0QzExLjY3LDE0IDcsMTQgNywxNEM3LDE0IDcsMTggNywyMEM3LDIxLjExIDcuODksMjIgOSwyMkgyMEMyMS4xMSwyMiAyMiwyMS4xMSAyMiwyMFY5QzIyLDcuODkgMjEuMTEsNyAyMCw3QzE4LDcgMTQsNyAxNCw3TTE2LDlIMjBWMjBIOVYxNkgxNEMxNS4xMSwxNiAxNiwxNS4xMSAxNiwxNFY5TTEsMTJWMTRDMSwxNS4xMSAxLjg5LDE2IDMsMTZINVYxNEgzVjEySDFaIiAvPjwvc3ZnPg==", "name": "CameraShake", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/vector-difference-ab.svg", "shortDescription": "Shake layer cameras.", - "version": "3.0.3", + "version": "3.2.0", "description": [ "Shake layer cameras with translation, rotation and zoom.", "", @@ -27136,7 +27151,128 @@ ], "dependencies": [], "globalVariables": [], - "sceneVariables": [], + "sceneVariables": [ + { + "folded": true, + "name": "DefaultFrequency", + "type": "number", + "value": 12 + }, + { + "folded": true, + "name": "DefaultAmplitudeX", + "type": "number", + "value": 4 + }, + { + "folded": true, + "name": "DefaultAmplitudeY", + "type": "number", + "value": 4 + }, + { + "folded": true, + "name": "DefaultAmplitudeAngle", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "DefaultAmplitudeZoom", + "type": "number", + "value": 1 + }, + { + "folded": true, + "name": "Duration", + "type": "number", + "value": 0 + }, + { + "name": "Layers", + "type": "structure", + "children": [] + }, + { + "name": "Layer", + "type": "structure", + "children": [ + { + "name": "AmplitudeAngle", + "type": "number", + "value": 0 + }, + { + "name": "AmplitudeX", + "type": "number", + "value": 0 + }, + { + "name": "AmplitudeY", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "AmplitudeZoom", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "CameraDeltaAngle", + "type": "number", + "value": 0 + }, + { + "name": "CameraDeltaX", + "type": "number", + "value": 0 + }, + { + "name": "CameraDeltaY", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "CameraDeltaZoom", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "Frequency", + "type": "number", + "value": 0 + } + ] + }, + { + "folded": true, + "name": "LayerName", + "type": "string", + "value": "" + }, + { + "folded": true, + "name": "Time", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "StartEaseDuration", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "StopEaseDuration", + "type": "number", + "value": 0 + } + ], "eventsFunctions": [ { "fullName": "", @@ -27158,47 +27294,6 @@ "\"\"", "" ] - }, - { - "type": { - "value": "CameraShake::SetDefaultShakingFrequency" - }, - "parameters": [ - "", - "12", - "" - ] - }, - { - "type": { - "value": "CameraShake::SetDefaultTranslationAmplitude" - }, - "parameters": [ - "", - "4", - "4", - "" - ] - }, - { - "type": { - "value": "CameraShake::SetDefaultRotationAmplitude" - }, - "parameters": [ - "", - "0", - "" - ] - }, - { - "type": { - "value": "CameraShake::SetDefaultZoomAmplitude" - }, - "parameters": [ - "", - "1", - "" - ] } ] } @@ -27230,10 +27325,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Time", + "Time", "+", "TimeDelta()" ] @@ -27253,263 +27348,47 @@ ] } ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.EaseFactor", - "=", - "1" - ] - } - ], + "actions": [], "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.Time", - "<", - "Variable(__CameraShake.StartEaseDuration)" - ] - }, - { - "type": { - "inverted": true, - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.Time", - ">", - "Variable(__CameraShake.Duration) - Variable(__CameraShake.StopEaseDuration)" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.EaseFactor", - "=", - "clamp(0, 1, Variable(__CameraShake.Time) / Variable(__CameraShake.StartEaseDuration))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.Time", - ">", - "Variable(__CameraShake.Duration) - Variable(__CameraShake.StopEaseDuration)" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.EaseFactor", - "=", - "clamp(0, 1, (Variable(__CameraShake.Duration) - Variable(__CameraShake.Time)) / Variable(__CameraShake.StopEaseDuration))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::ForEachChildVariable", - "iterableVariableName": "__CameraShake.Layers", - "valueIteratorVariableName": "__CameraShake.Layer", - "keyIteratorVariableName": "__CameraShake.LayerName", - "conditions": [ - { - "type": { - "value": "SceneVariableAsBoolean" - }, - "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].Shakable", - "True" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarSceneTxt" - }, - "parameters": [ - "__CameraShake.ActualLayerName", - "=", - "VariableString(__CameraShake.LayerName)" - ] - } - ] - }, + "conditions": [], + "actions": [], + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "VarSceneTxt" - }, - "parameters": [ - "__CameraShake.LayerName", - "=", - "\"__BaseLayer\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarSceneTxt" - }, - "parameters": [ - "__CameraShake.ActualLayerName", - "=", - "\"\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Use user defined default values when there is no layer specific value set." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "CameraShake::SetFrequency" - }, - "parameters": [ - "", - "Variable(__CameraShake.DefaultFrequency)", - "\"\"", - "" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeX", - "=", - "Variable(__CameraShake.DefaultAmplitudeX)" - ] - }, - { - "type": { - "value": "ModVarScene" + "value": "NumberVariable" }, "parameters": [ - "__CameraShake.AmplitudeY", - "=", - "Variable(__CameraShake.DefaultAmplitudeY)" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeAngle", - "=", - "Variable(__CameraShake.DefaultAmplitudeAngle)" + "Time", + "<", + "StartEaseDuration" ] }, { "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeZoom", - "=", - "Variable(__CameraShake.DefaultAmplitudeZoom)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VariableChildExists" - }, - "parameters": [ - "__CameraShake.Layer", - "\"Frequency\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "CameraShake::SetFrequency" - }, - "parameters": [ - "", - "Variable(__CameraShake.Layer.Frequency)", - "\"\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VariableChildExists" + "inverted": true, + "value": "NumberVariable" }, "parameters": [ - "__CameraShake.Layer", - "\"AmplitudeX\"" + "Time", + ">", + "Duration - StopEaseDuration" ] } ], "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.AmplitudeX", + "EaseFactor", "=", - "Variable(__CameraShake.Layer.AmplitudeX)" + "clamp(Time / StartEaseDuration, 0, 1)" ] } ] @@ -27519,245 +27398,538 @@ "conditions": [ { "type": { - "value": "VariableChildExists" + "value": "NumberVariable" }, "parameters": [ - "__CameraShake.Layer", - "\"AmplitudeY\"" + "Time", + ">", + "Duration - StopEaseDuration" ] } ], "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.AmplitudeY", + "EaseFactor", "=", - "Variable(__CameraShake.Layer.AmplitudeY)" + "clamp((Duration - Time) / StopEaseDuration, 0, 1)" ] } ] }, { - "type": "BuiltinCommonInstructions::Standard", + "type": "BuiltinCommonInstructions::ForEachChildVariable", + "iterableVariableName": "Layers", + "valueIteratorVariableName": "Layer", + "keyIteratorVariableName": "LayerName", "conditions": [ { "type": { - "value": "VariableChildExists" + "value": "BooleanVariable" }, "parameters": [ - "__CameraShake.Layer", - "\"AmplitudeAngle\"" + "Layer.Shakable", + "True", + "" ] } ], - "actions": [ + "actions": [], + "events": [ { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeAngle", - "=", - "Variable(__CameraShake.Layer.AmplitudeAngle)" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "ActualLayerName", + "=", + "LayerName" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "value": "VariableChildExists" - }, - "parameters": [ - "__CameraShake.Layer", - "\"AmplitudeZoom\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "LayerName", + "=", + "\"__BaseLayer\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "ActualLayerName", + "=", + "\"\"" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "ModVarScene" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "__CameraShake.AmplitudeZoom", - "=", - "Variable(__CameraShake.Layer.AmplitudeZoom)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Shake the layer camera.\nSave the camera displacement to revert it in onScenePostEvents." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "comment": "Use user defined default values when there is no layer specific value set." + }, { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeX", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaX", - "=", - "CameraShake::Noise2d(\"\", TimeFromStart(), 1000) * Variable(__CameraShake.AmplitudeX) * Variable(__CameraShake.EaseFactor)" - ] - }, - { - "type": { - "value": "SetCameraCenterX" - }, - "parameters": [ - "", - "+", - "Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaX)", - "VariableString(__CameraShake.ActualLayerName)", - "0" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "CameraShake::SetFrequency" + }, + "parameters": [ + "", + "DefaultFrequency", + "\"\"", + "" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeX", + "=", + "DefaultAmplitudeX" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeY", + "=", + "DefaultAmplitudeY" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeAngle", + "=", + "DefaultAmplitudeAngle" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeZoom", + "=", + "DefaultAmplitudeZoom" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaX", + "=", + "0" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaY", + "=", + "0" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaAngle", + "=", + "0" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaZoom", + "=", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VariableChildExists2" + }, + "parameters": [ + "Layer", + "\"Frequency\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "CameraShake::SetFrequency" + }, + "parameters": [ + "", + "Layer.Frequency", + "\"\"", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VariableChildExists2" + }, + "parameters": [ + "Layer", + "\"AmplitudeX\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeX", + "=", + "Layer.AmplitudeX" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VariableChildExists2" + }, + "parameters": [ + "Layer", + "\"AmplitudeY\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeY", + "=", + "Layer.AmplitudeY" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VariableChildExists2" + }, + "parameters": [ + "Layer", + "\"AmplitudeAngle\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeAngle", + "=", + "Layer.AmplitudeAngle" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VariableChildExists2" + }, + "parameters": [ + "Layer", + "\"AmplitudeZoom\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "AmplitudeZoom", + "=", + "Layer.AmplitudeZoom" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Shake the layer camera.\nSave the camera displacement to revert it in onScenePostEvents." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "AmplitudeX", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaX", + "=", + "CameraShake::Noise2d(\"\", TimeFromStart(), 1000) * AmplitudeX * EaseFactor" + ] + }, + { + "type": { + "value": "SetCameraCenterX" + }, + "parameters": [ + "", + "+", + "Layers[LayerName].CameraDeltaX", + "ActualLayerName", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "AmplitudeY", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaY", + "=", + "CameraShake::Noise2d(\"\", TimeFromStart(), 2000) * AmplitudeY * EaseFactor" + ] + }, + { + "type": { + "value": "SetCameraCenterY" + }, + "parameters": [ + "", + "+", + "Layers[LayerName].CameraDeltaY", + "ActualLayerName", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "AmplitudeAngle", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaAngle", + "=", + "CameraShake::Noise2d(\"\", TimeFromStart(), 3000) * AmplitudeAngle * EaseFactor" + ] + }, + { + "type": { + "value": "SetCameraAngle" + }, + "parameters": [ + "", + "+", + "Layers[LayerName].CameraDeltaAngle", + "ActualLayerName", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "AmplitudeZoom", + "!=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Layers[LayerName].CameraDeltaZoom", + "=", + "pow(AmplitudeZoom, CameraShake::Noise2d(\"\", TimeFromStart(), 4000) * EaseFactor)" + ] + }, + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "CameraZoom(ActualLayerName, 0) * Layers[LayerName].CameraDeltaZoom", + "ActualLayerName", + "0" + ] + } + ] + } ] } ] + } + ], + "variables": [ + { + "folded": true, + "name": "AmplitudeX", + "type": "number", + "value": 0 }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeY", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaY", - "=", - "CameraShake::Noise2d(\"\", TimeFromStart(), 2000) * Variable(__CameraShake.AmplitudeY) * Variable(__CameraShake.EaseFactor)" - ] - }, - { - "type": { - "value": "SetCameraCenterY" - }, - "parameters": [ - "", - "+", - "Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaY)", - "VariableString(__CameraShake.ActualLayerName)", - "0" - ] - } - ] + "folded": true, + "name": "AmplitudeY", + "type": "number", + "value": 0 }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeAngle", - "!=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaAngle", - "=", - "CameraShake::Noise2d(\"\", TimeFromStart(), 3000) * Variable(__CameraShake.AmplitudeAngle) * Variable(__CameraShake.EaseFactor)" - ] - }, - { - "type": { - "value": "SetCameraAngle" - }, - "parameters": [ - "", - "+", - "Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaAngle)", - "VariableString(__CameraShake.ActualLayerName)", - "0" - ] - } - ] + "folded": true, + "name": "AmplitudeAngle", + "type": "number", + "value": 0 }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeZoom", - "!=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaZoom", - "=", - "pow(Variable(__CameraShake.AmplitudeZoom), CameraShake::Noise2d(\"\", TimeFromStart(), 4000) * Variable(__CameraShake.EaseFactor))" - ] - }, - { - "type": { - "value": "ZoomCamera" - }, - "parameters": [ - "", - "CameraZoom(VariableString(__CameraShake.ActualLayerName), 0) * Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaZoom)", - "VariableString(__CameraShake.ActualLayerName)", - "0" - ] - } - ] + "folded": true, + "name": "AmplitudeZoom", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "EaseFactor", + "type": "number", + "value": 1 + }, + { + "folded": true, + "name": "ActualLayerName", + "type": "string", + "value": "" } ] } @@ -27801,181 +27973,256 @@ "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::ForEachChildVariable", - "iterableVariableName": "__CameraShake.Layers", - "valueIteratorVariableName": "__CameraShake.Layer", - "keyIteratorVariableName": "__CameraShake.LayerName", - "conditions": [ - { - "type": { - "value": "SceneVariableAsBoolean" - }, - "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].Shakable", - "True" - ] - } - ], + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "type": "BuiltinCommonInstructions::ForEachChildVariable", + "iterableVariableName": "Layers", + "valueIteratorVariableName": "Layer", + "keyIteratorVariableName": "LayerName", + "conditions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "BooleanVariable" }, "parameters": [ - "__CameraShake.ActualLayerName", - "=", - "VariableString(__CameraShake.LayerName)" + "Layer.Shakable", + "True", + "" ] } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + ], + "actions": [ { "type": { - "value": "VarSceneTxt" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.LayerName", + "CameraDeltaX", "=", - "\"__BaseLayer\"" + "Layer.CameraDeltaX" ] - } - ], - "actions": [ + }, { "type": { - "value": "ModVarSceneTxt" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.ActualLayerName", + "CameraDeltaY", "=", - "\"\"" + "Layer.CameraDeltaY" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { "type": { - "value": "VarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.AmplitudeX", - "!=", - "0" + "CameraDeltaAngle", + "=", + "Layer.CameraDeltaAngle" ] - } - ], - "actions": [ + }, { "type": { - "value": "SetCameraCenterX" + "value": "SetNumberVariable" }, "parameters": [ - "", - "-", - "Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaX)", - "VariableString(__CameraShake.ActualLayerName)", - "0" + "CameraDeltaZoom", + "=", + "Layer.CameraDeltaZoom" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { "type": { - "value": "VarScene" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.AmplitudeY", - "!=", - "0" + "ActualLayerName", + "=", + "LayerName" ] } ], - "actions": [ + "events": [ { - "type": { - "value": "SetCameraCenterY" - }, - "parameters": [ - "", - "-", - "Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaY)", - "VariableString(__CameraShake.ActualLayerName)", - "0" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "LayerName", + "=", + "\"__BaseLayer\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "ActualLayerName", + "=", + "\"\"" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeAngle", - "!=", - "0" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CameraDeltaX", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraCenterX" + }, + "parameters": [ + "", + "-", + "CameraDeltaX", + "ActualLayerName", + "0" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "SetCameraAngle" - }, - "parameters": [ - "", - "-", - "Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaAngle)", - "VariableString(__CameraShake.ActualLayerName)", - "0" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CameraDeltaY", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraCenterY" + }, + "parameters": [ + "", + "-", + "CameraDeltaY", + "ActualLayerName", + "0" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "value": "VarScene" - }, - "parameters": [ - "__CameraShake.AmplitudeZoom", - "!=", - "1" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CameraDeltaAngle", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraAngle" + }, + "parameters": [ + "", + "-", + "CameraDeltaAngle", + "ActualLayerName", + "0" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "ZoomCamera" - }, - "parameters": [ - "", - "CameraZoom(VariableString(__CameraShake.ActualLayerName), 0) / Variable(__CameraShake.Layers[VariableString(__CameraShake.LayerName)].CameraDeltaZoom)", - "VariableString(__CameraShake.ActualLayerName)", - "0" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "CameraDeltaZoom", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "CameraZoom(ActualLayerName) / CameraDeltaZoom", + "ActualLayerName", + "0" + ] + } ] } ] } + ], + "variables": [ + { + "folded": true, + "name": "ActualLayerName", + "type": "string", + "value": "" + }, + { + "folded": true, + "name": "CameraDeltaX", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "CameraDeltaY", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "CameraDeltaAngle", + "type": "number", + "value": 0 + }, + { + "folded": true, + "name": "CameraDeltaZoom", + "type": "number", + "value": 0 + } ] } ] @@ -27997,42 +28244,42 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Time", + "Time", "=", "0" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "=", - "Duration" + "NewDuration" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StartEaseDuration", + "StartEaseDuration", "=", - "StartEaseDuration" + "NewStartEaseDuration" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StopEaseDuration", + "StopEaseDuration", "=", - "StopEaseDuration" + "NewStopEaseDuration" ] } ] @@ -28042,34 +28289,34 @@ "conditions": [ { "type": { - "value": "VarScene" + "value": "NumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "<", - "Variable(__CameraShake.StartEaseDuration) + Variable(__CameraShake.StopEaseDuration)" + "StartEaseDuration + StopEaseDuration" ] } ], "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StartEaseDuration", + "StartEaseDuration", "=", - "StartEaseDuration * Variable(__CameraShake.Duration) / (StartEaseDuration + StopEaseDuration)" + "StartEaseDuration * Duration / (StartEaseDuration + StopEaseDuration)" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StopEaseDuration", + "StopEaseDuration", "=", - "StopEaseDuration * Variable(__CameraShake.Duration) / (StartEaseDuration + StopEaseDuration)" + "StopEaseDuration * Duration / (StartEaseDuration + StopEaseDuration)" ] } ] @@ -28078,17 +28325,17 @@ "parameters": [ { "description": "Duration (in seconds)", - "name": "Duration", + "name": "NewDuration", "type": "expression" }, { "description": "Ease duration to start (in seconds)", - "name": "StartEaseDuration", + "name": "NewStartEaseDuration", "type": "expression" }, { "description": "Ease duration to stop (in seconds)", - "name": "StopEaseDuration", + "name": "NewStopEaseDuration", "type": "expression" } ], @@ -28117,10 +28364,10 @@ "actions": [ { "type": { - "value": "VariableClearChildren" + "value": "ClearVariableChildren" }, "parameters": [ - "__CameraShake.Layers" + "Layers" ] }, { @@ -28130,7 +28377,7 @@ "parameters": [ "", "", - "GetArgumentAsString(\"Layer\")", + "NewLayer", "" ] } @@ -28142,92 +28389,92 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Time", + "Time", "=", "0" ] }, { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.Layer", + "Layer", "=", - "GetArgumentAsString(\"Layer\")" + "NewLayer" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "=", - "GetArgumentAsNumber(\"Duration\")" + "NewDuration" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StartEaseDuration", + "StartEaseDuration", "=", "0" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StopEaseDuration", + "StopEaseDuration", "=", - "GetArgumentAsNumber(\"Duration\")" + "NewDuration" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeX", + "DefaultAmplitudeX", "=", - "abs(GetArgumentAsNumber(\"AmplitudeX\"))" + "abs(AmplitudeX)" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeY", + "DefaultAmplitudeY", "=", - "abs(GetArgumentAsNumber(\"AmplitudeY\"))" + "abs(AmplitudeY)" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeAngle", + "DefaultAmplitudeAngle", "=", - "GetArgumentAsNumber(\"AmplitudeAngle\")" + "AmplitudeAngle" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeZoom", + "DefaultAmplitudeZoom", "=", - "1 + GetArgumentAsNumber(\"AmplitudeZoom\") / 100" + "1 + AmplitudeZoom / 100" ] } ], @@ -28240,7 +28487,7 @@ "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "GetArgumentAsNumber(\"ShakePeriod\")", + "ShakePeriod", "!=", "0" ] @@ -28249,12 +28496,12 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultFrequency", + "DefaultFrequency", "=", - "1 / GetArgumentAsNumber(\"ShakePeriod\")" + "1 / ShakePeriod" ] } ] @@ -28267,7 +28514,7 @@ "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "GetArgumentAsNumber(\"ShakePeriod\")", + "ShakePeriod", "=", "0" ] @@ -28276,10 +28523,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultFrequency", + "DefaultFrequency", "=", "1 / 0.08" ] @@ -28305,20 +28552,22 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShakeForever\"" + "ShakeForever", + "True", + "" ] } ], "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "=", "1234567890" ] @@ -28342,10 +28591,10 @@ "conditions": [ { "type": { - "value": "VarScene" + "value": "NumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "NewDuration", "=", "0" ] @@ -28354,10 +28603,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "=", "0.5" ] @@ -28381,7 +28630,7 @@ }, { "description": "Layer (base layer if empty)", - "name": "Layer", + "name": "NewLayer", "type": "layer" }, { @@ -28391,7 +28640,7 @@ }, { "description": "Duration (in seconds) (Default: 0.5)", - "name": "Duration", + "name": "NewDuration", "type": "expression" }, { @@ -28431,30 +28680,30 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Time", + "Time", "=", "0" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "=", "1234567890" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StartEaseDuration", + "StartEaseDuration", "=", "EaseDuration" ] @@ -28484,30 +28733,30 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Time", + "Time", "=", "0" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Duration", + "Duration", "=", "EaseDuration" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.StopEaseDuration", + "StopEaseDuration", "=", "EaseDuration" ] @@ -28538,12 +28787,12 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", - "Layer" + "NewLayerName" ] } ] @@ -28556,7 +28805,7 @@ "value": "BuiltinCommonInstructions::CompareStrings" }, "parameters": [ - "Layer", + "NewLayerName", "=", "\"\"" ] @@ -28565,10 +28814,10 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", "\"__BaseLayer\"" ] @@ -28581,21 +28830,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Shakable\"" + "Shakable", + "True", + "" ] } ], "actions": [ { "type": { - "value": "SetSceneVariableAsBoolean" + "value": "SetBooleanVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].Shakable", - "=" + "Layers[LayerName].Shakable", + "False", + "" ] } ] @@ -28605,21 +28857,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Shakable\"" + "Shakable", + "True", + "" ] } ], "actions": [ { "type": { - "value": "SetSceneVariableAsBoolean" + "value": "SetBooleanVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].Shakable", - "True" + "Layers[LayerName].Shakable", + "True", + "" ] } ] @@ -28635,7 +28890,7 @@ }, { "description": "Layer", - "name": "Layer", + "name": "NewLayerName", "type": "layer" } ], @@ -28653,12 +28908,12 @@ "conditions": [ { "type": { - "value": "VarScene" + "value": "NumberVariable" }, "parameters": [ - "__CameraShake.Time", + "Time", "<", - "Variable(__CameraShake.Duration)" + "Duration" ] } ], @@ -28691,12 +28946,12 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", - "Layer" + "NewLayerName" ] } ] @@ -28709,7 +28964,7 @@ "value": "BuiltinCommonInstructions::CompareStrings" }, "parameters": [ - "Layer", + "NewLayerName", "=", "\"\"" ] @@ -28718,10 +28973,10 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", "\"__BaseLayer\"" ] @@ -28734,20 +28989,20 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].AmplitudeX", + "Layers[LayerName].AmplitudeX", "=", "AmplitudeX" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].AmplitudeY", + "Layers[LayerName].AmplitudeY", "=", "AmplitudeY" ] @@ -28768,7 +29023,7 @@ }, { "description": "Layer", - "name": "Layer", + "name": "NewLayerName", "type": "layer" } ], @@ -28788,12 +29043,12 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", - "Layer" + "NewLayerName" ] } ] @@ -28806,7 +29061,7 @@ "value": "BuiltinCommonInstructions::CompareStrings" }, "parameters": [ - "Layer", + "NewLayerName", "=", "\"\"" ] @@ -28815,10 +29070,10 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", "\"__BaseLayer\"" ] @@ -28831,10 +29086,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].AmplitudeAngle", + "Layers[LayerName].AmplitudeAngle", "=", "AmplitudeAngle" ] @@ -28849,8 +29104,8 @@ "type": "expression" }, { - "description": "Layer", - "name": "Layer", + "description": "NewLayerName", + "name": "NewLayerName", "type": "layer" } ], @@ -28870,12 +29125,12 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", - "GetArgumentAsString(\"Layer\")" + "NewLayerName" ] } ] @@ -28888,7 +29143,7 @@ "value": "BuiltinCommonInstructions::CompareStrings" }, "parameters": [ - "Layer", + "NewLayerName", "=", "\"\"" ] @@ -28897,10 +29152,10 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", "\"__BaseLayer\"" ] @@ -28913,12 +29168,12 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].AmplitudeZoom", + "Layers[LayerName].AmplitudeZoom", "=", - "GetArgumentAsNumber(\"AmplitudeZoom\")" + "AmplitudeZoom" ] } ] @@ -28931,8 +29186,8 @@ "type": "expression" }, { - "description": "Layer", - "name": "Layer", + "description": "NewLayerName", + "name": "NewLayerName", "type": "layer" } ], @@ -28952,12 +29207,12 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", - "GetArgumentAsString(\"Layer\")" + "NewLayerName" ] } ] @@ -28970,7 +29225,7 @@ "value": "BuiltinCommonInstructions::CompareStrings" }, "parameters": [ - "Layer", + "NewLayerName", "=", "\"\"" ] @@ -28979,10 +29234,10 @@ "actions": [ { "type": { - "value": "ModVarSceneTxt" + "value": "SetStringVariable" }, "parameters": [ - "__CameraShake.LayerName", + "LayerName", "=", "\"__BaseLayer\"" ] @@ -28995,12 +29250,12 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.Layers[VariableString(__CameraShake.LayerName)].Frequency", + "Layers[LayerName].Frequency", "=", - "GetArgumentAsNumber(\"Frequency\")" + "Frequency" ] } ] @@ -29013,8 +29268,8 @@ "type": "expression" }, { - "description": "Layer", - "name": "Layer", + "description": "NewLayerName", + "name": "NewLayerName", "type": "layer" } ], @@ -29034,20 +29289,20 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeX", + "DefaultAmplitudeX", "=", "AmplitudeX" ] }, { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeY", + "DefaultAmplitudeY", "=", "AmplitudeY" ] @@ -29083,10 +29338,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeAngle", + "DefaultAmplitudeAngle", "=", "AmplitudeAngle" ] @@ -29117,10 +29372,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultAmplitudeZoom", + "DefaultAmplitudeZoom", "=", "AmplitudeZoom" ] @@ -29151,10 +29406,10 @@ "actions": [ { "type": { - "value": "ModVarScene" + "value": "SetNumberVariable" }, "parameters": [ - "__CameraShake.DefaultFrequency", + "DefaultFrequency", "=", "Frequency" ] From 3c428df0461863f9744cb4af45325b49b5ea2ba0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Wed, 16 Jul 2025 14:59:26 +0200 Subject: [PATCH 09/11] Add object folders --- examples/space-shooter/space-shooter.json | 101 +++++++++++++--------- 1 file changed, 58 insertions(+), 43 deletions(-) diff --git a/examples/space-shooter/space-shooter.json b/examples/space-shooter/space-shooter.json index 0756d893a..d60e5fac8 100644 --- a/examples/space-shooter/space-shooter.json +++ b/examples/space-shooter/space-shooter.json @@ -1007,7 +1007,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": true, - "zoomFactor": 3.5674189520723494, + "zoomFactor": 1.8377776410723985, "windowMask": false }, "objectsGroups": [ @@ -6192,76 +6192,91 @@ "folderName": "__ROOT", "children": [ { - "objectName": "Player" - }, - { - "objectName": "SpaceBackground" + "folderName": "Boss", + "children": [ + { + "objectName": "BossBody" + }, + { + "objectName": "BossTopArm" + }, + { + "objectName": "BossBottomArm" + }, + { + "objectName": "BossSuperLaser" + } + ] }, { - "objectName": "CorridorBackground" + "folderName": "Background", + "children": [ + { + "objectName": "BossBackground" + }, + { + "objectName": "SpaceBackground" + }, + { + "objectName": "CorridorBackground" + }, + { + "objectName": "TilesMechanical1" + }, + { + "objectName": "TilesMechanical2" + } + ] }, { - "objectName": "Asteroid" + "folderName": "UI", + "children": [ + { + "objectName": "Fade" + }, + { + "objectName": "GameOver" + }, + { + "objectName": "LifeBar" + }, + { + "objectName": "ChangeButton" + } + ] }, { - "objectName": "Enemy2" + "objectName": "Player" }, { "objectName": "PlayerBullet" }, - { - "objectName": "HealthPack" - }, - { - "objectName": "Explosion" - }, - { - "objectName": "Enemy3" - }, - { - "objectName": "EnemyBullet" - }, - { - "objectName": "Enemy1" - }, - { - "objectName": "AttackFlame" - }, { "objectName": "PlayerAttackArea" }, { - "objectName": "TilesMechanical2" - }, - { - "objectName": "TilesMechanical1" - }, - { - "objectName": "LifeBar" - }, - { - "objectName": "ChangeButton" + "objectName": "Asteroid" }, { - "objectName": "BossBody" + "objectName": "Enemy1" }, { - "objectName": "BossTopArm" + "objectName": "Enemy2" }, { - "objectName": "BossBottomArm" + "objectName": "Enemy3" }, { - "objectName": "BossSuperLaser" + "objectName": "EnemyBullet" }, { - "objectName": "BossBackground" + "objectName": "AttackFlame" }, { - "objectName": "Fade" + "objectName": "HealthPack" }, { - "objectName": "GameOver" + "objectName": "Explosion" } ] }, From 54af2e9d830bb9892dab1c9bd4a9d5251c0f9a1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Wed, 16 Jul 2025 15:06:41 +0200 Subject: [PATCH 10/11] Use variants --- .../wave-defense-shooter.json | 3444 ++++++++--------- 1 file changed, 1610 insertions(+), 1834 deletions(-) diff --git a/examples/wave-defense-shooter/wave-defense-shooter.json b/examples/wave-defense-shooter/wave-defense-shooter.json index 816f6751c..7da77581d 100644 --- a/examples/wave-defense-shooter/wave-defense-shooter.json +++ b/examples/wave-defense-shooter/wave-defense-shooter.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 221, + "build": 236, "major": 5, "minor": 5, "revision": 0 @@ -313,30 +313,6 @@ "name": "Square White Slider Thumb.png" } }, - { - "file": "assets/Flat Bar Red Fill Bar.png", - "kind": "image", - "metadata": "", - "name": "Flat Bar Red Fill Bar.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Resource bars/pixel art/212e9679eaae4753beaa5d595d7c80ea66df3235485c6a3963e88b0d936a1798_Flat Bar Red Fill Bar.png", - "name": "Flat Bar Red Fill Bar.png" - } - }, - { - "file": "assets/Flat Bar White Border.png", - "kind": "image", - "metadata": "", - "name": "Flat Bar White Border.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Resource bars/pixel art/c090d31cafed0c8ef7bb4d5af75a7dbf7149bcc03a7d5d63ae997d59100e362e_Flat Bar White Border.png", - "name": "Flat Bar White Border.png" - } - }, { "file": "assets/EXPPoint2.png", "kind": "image", @@ -787,6 +763,30 @@ "identifier": "https://asset-resources.gdevelop.io/public-resources/Mobile Layouts/assets/6a8102ce3340bf9f62300ee1a81ef0b2327b2c6e8d62d7dda68d547f5e2b5969_rotate-screen-icon.png", "name": "rotate-screen-icon.png" } + }, + { + "file": "assets/Flat Bar Red Fill Bar.png", + "kind": "image", + "metadata": "", + "name": "Flat Bar Red Fill Bar.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Resource bars/pixel art/212e9679eaae4753beaa5d595d7c80ea66df3235485c6a3963e88b0d936a1798_Flat Bar Red Fill Bar.png", + "name": "Flat Bar Red Fill Bar.png" + } + }, + { + "file": "assets/Flat Bar White Border.png", + "kind": "image", + "metadata": "", + "name": "Flat Bar White Border.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Resource bars/pixel art/c090d31cafed0c8ef7bb4d5af75a7dbf7149bcc03a7d5d63ae997d59100e362e_Flat Bar White Border.png", + "name": "Flat Bar White Border.png" + } } ], "resourceFolders": [] @@ -1202,7 +1202,8 @@ "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited3.png", "align": "left", - "wordWrap": true + "wordWrap": true, + "verticalTextAlignment": "top" } }, { @@ -1245,7 +1246,8 @@ "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited3.png", "align": "left", - "wordWrap": true + "wordWrap": true, + "verticalTextAlignment": "top" } }, { @@ -1288,7 +1290,8 @@ "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited3.png", "align": "left", - "wordWrap": true + "wordWrap": true, + "verticalTextAlignment": "top" } }, { @@ -1318,7 +1321,8 @@ "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited3.png", "align": "left", - "wordWrap": true + "wordWrap": true, + "verticalTextAlignment": "top" } }, { @@ -1348,7 +1352,8 @@ "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited3.png", "align": "left", - "wordWrap": true + "wordWrap": true, + "verticalTextAlignment": "top" } }, { @@ -1391,7 +1396,8 @@ "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited3.png", "align": "left", - "wordWrap": true + "wordWrap": true, + "verticalTextAlignment": "top" } }, { @@ -1434,7 +1440,8 @@ "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited3.png", "align": "left", - "wordWrap": true + "wordWrap": true, + "verticalTextAlignment": "top" } }, { @@ -1523,6 +1530,7 @@ "assetStoreId": "bfeeb465a4a164b560a2215e3ff9e78e66123af43cbf7ef1f22d56fca4271c80", "name": "SoundSlider", "type": "PanelSpriteSlider::PanelSpriteSlider", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -1606,6 +1614,7 @@ "assetStoreId": "bfeeb465a4a164b560a2215e3ff9e78e66123af43cbf7ef1f22d56fca4271c80", "name": "MusicSlider", "type": "PanelSpriteSlider::PanelSpriteSlider", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -1689,6 +1698,7 @@ "assetStoreId": "e5919fb86a559b00001678c710efe55f4e9f2e032a9ff9610087370f998d57de", "name": "ScreenOrientationChecker", "type": "ScreenOrientationChecker::ScreenOrientationChecker", + "variant": "", "variables": [], "effects": [], "behaviors": [ @@ -2462,7 +2472,7 @@ "gridColor": 10401023, "gridAlpha": 0.2, "snap": true, - "zoomFactor": 0.7370816317994106, + "zoomFactor": 1.0615714305220083, "windowMask": false }, "objectsGroups": [ @@ -4989,6 +4999,7 @@ "assetStoreId": "3d6c54e76a9a06cbd7629c1e78388d4ab808bbf36d644c61d6a14c9ad34d4f89", "name": "RedFlatBar", "type": "PanelSpriteContinuousBar::PanelSpriteContinuousBar", + "variant": "Red Flat Bar", "variables": [], "effects": [], "behaviors": [ @@ -5140,13 +5151,15 @@ "bitmapFontResourceName": "8BitOperatorPlus8Regular_Edited.fnt", "textureAtlasResourceName": "8BitOperatorPlus8Regular_Edited3.png", "align": "left", - "wordWrap": true + "wordWrap": true, + "verticalTextAlignment": "top" } }, { "assetStoreId": "f0c3d7ae6099e3b9b8beed4e30b555107550b4fb2a5879e984a014b1e06865bf", "name": "PowerButton", "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -5231,6 +5244,7 @@ "assetStoreId": "f0c3d7ae6099e3b9b8beed4e30b555107550b4fb2a5879e984a014b1e06865bf", "name": "FireRateButton", "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -5315,6 +5329,7 @@ "assetStoreId": "f0c3d7ae6099e3b9b8beed4e30b555107550b4fb2a5879e984a014b1e06865bf", "name": "AccuracyButton", "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -5667,6 +5682,7 @@ "assetStoreId": "112c69f62e03fa6df7716cc6b8f174c17857fbf71c8d3fffd16fa8fdbfa49bf1", "name": "Movement", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -5748,6 +5764,7 @@ "assetStoreId": "112c69f62e03fa6df7716cc6b8f174c17857fbf71c8d3fffd16fa8fdbfa49bf1", "name": "Aiming", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -5832,6 +5849,7 @@ "assetStoreId": "e5919fb86a559b00001678c710efe55f4e9f2e032a9ff9610087370f998d57de", "name": "ScreenOrientationChecker", "type": "ScreenOrientationChecker::ScreenOrientationChecker", + "variant": "", "variables": [], "effects": [], "behaviors": [ @@ -8615,6 +8633,7 @@ "category": "Input", "extensionNamespace": "", "fullName": "Multitouch joystick and buttons (sprite)", + "gdevelopVersion": "", "helpPath": "/objects/multitouch-joystick", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMTYiIGN5PSIxNiIgcj0iMTMiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjI4LjQsMTIgMjAsMTIgMjAsMy42ICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMjAsMjguNCAyMCwyMCAyOC40LDIwICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMy42LDIwIDEyLDIwIDEyLDI4LjQgIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIxMiwzLjYgMTIsMTIgMy42LDEyICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxNiw2IDE2LjcsNyAxNS4zLDcgIi8+DQo8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjE2LDI2IDE1LjMsMjUgMTYuNywyNSAiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iNiwxNiA3LDE1LjMgNywxNi43ICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyNiwxNiAyNSwxNi43IDI1LDE1LjMgIi8+DQo8L3N2Zz4NCg==", "name": "SpriteMultitouchJoystick", @@ -11664,18 +11683,12 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "String", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": [], "name": "JoystickIdentifier" }, { @@ -11683,17 +11696,12 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { "value": "0", "type": "Number", "label": "Joystick angle (range: -180 to 180)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickAngle" }, @@ -11701,9 +11709,6 @@ "value": "0", "type": "Number", "label": "Joystick force (range: 0 to 1)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickForce" }, @@ -11711,9 +11716,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -11721,9 +11723,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" } @@ -12125,27 +12124,18 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "A", "type": "String", "label": "Button identifier", - "description": "", - "group": "", - "extraInformation": [], "name": "ButtonIdentifier" }, { "value": "0", "type": "Number", "label": "TouchID", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -12153,9 +12143,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" }, @@ -12163,9 +12150,6 @@ "value": "", "type": "Boolean", "label": "Button released", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsReleased" }, @@ -12175,8 +12159,6 @@ "unit": "Pixel", "label": "Triggering circle radius", "description": "This circle adds up to the object collision mask.", - "group": "", - "extraInformation": [], "name": "Radius" } ], @@ -12364,8 +12346,6 @@ "value": "", "type": "Behavior", "label": "Platform character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], @@ -12375,16 +12355,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -12396,9 +12372,7 @@ "value": "A", "type": "String", "label": "Jump button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "JumpButton" } ], @@ -12507,8 +12481,6 @@ "value": "", "type": "Behavior", "label": "3D physics character", - "description": "", - "group": "", "extraInformation": [ "Physics3D::PhysicsCharacter3D" ], @@ -12518,16 +12490,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Walk joystick", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -12539,9 +12507,7 @@ "value": "A", "type": "String", "label": "Jump button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "JumpButton" } ], @@ -12639,8 +12605,6 @@ "value": "", "type": "Behavior", "label": "3D physics character", - "description": "", - "group": "", "extraInformation": [ "Physics3D::PhysicsCharacter3D" ], @@ -12650,16 +12614,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Walk joystick", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -12671,9 +12631,7 @@ "value": "A", "type": "String", "label": "Jump button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "JumpButton" } ], @@ -13615,8 +13573,6 @@ "value": "", "type": "Behavior", "label": "3D capability", - "description": "", - "group": "", "extraInformation": [ "Scene3D::Base3DBehavior" ], @@ -13626,16 +13582,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Secondary", "type": "Choice", "label": "Camera joystick", - "description": "", "group": "Controls", "extraInformation": [ "Primary", @@ -13648,27 +13600,21 @@ "type": "Number", "unit": "AngularSpeed", "label": "Maximum rotation speed", - "description": "", "group": "Horizontal rotation", - "extraInformation": [], "name": "HorizontalRotationSpeedMax" }, { "value": "360", "type": "Number", "label": "Rotation acceleration", - "description": "", "group": "Horizontal rotation", - "extraInformation": [], "name": "HorizontalRotationAcceleration" }, { "value": "720", "type": "Number", "label": "Rotation deceleration", - "description": "", "group": "Horizontal rotation", - "extraInformation": [], "name": "HorizontalRotationDeceleration" }, { @@ -13676,27 +13622,21 @@ "type": "Number", "unit": "AngularSpeed", "label": "Maximum rotation speed", - "description": "", "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" }, { @@ -13704,9 +13644,7 @@ "type": "Number", "unit": "DegreeAngle", "label": "Minimum angle", - "description": "", "group": "Vertical rotation", - "extraInformation": [], "name": "VerticalAngleMin" }, { @@ -13714,9 +13652,7 @@ "type": "Number", "unit": "DegreeAngle", "label": "Maximum angle", - "description": "", "group": "Vertical rotation", - "extraInformation": [], "name": "VerticalAngleMax" }, { @@ -13724,9 +13660,7 @@ "type": "Number", "unit": "Pixel", "label": "Z position offset", - "description": "", "group": "Position", - "extraInformation": [], "name": "OffsetZ" }, { @@ -13734,9 +13668,6 @@ "type": "Number", "unit": "AngularSpeed", "label": "Current rotation speed Z", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CurrentRotationSpeedZ" }, @@ -13745,9 +13676,6 @@ "type": "Number", "unit": "AngularSpeed", "label": "Current rotation speed Y", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CurrentRotationSpeedY" } @@ -14272,8 +14200,6 @@ "value": "", "type": "Behavior", "label": "Top-down movement behavior", - "description": "", - "group": "", "extraInformation": [ "TopDownMovementBehavior::TopDownMovementBehavior" ], @@ -14283,17 +14209,12 @@ "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", "extraInformation": [ "Primary", "Secondary" @@ -14304,7 +14225,6 @@ "value": "Analog", "type": "Choice", "label": "Stick mode", - "description": "", "group": "Controls", "extraInformation": [ "Analog", @@ -14330,6 +14250,110 @@ "fullName": "Multitouch Joystick", "isUsingLegacyInstancesRenderer": true, "name": "SpriteMultitouchJoystick", + "objects": [ + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Thumb", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [] + } + ] + } + ] + }, + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Border", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "MultitouchJoystick", + "type": "SpriteMultitouchJoystick::MultitouchJoystick", + "ControllerIdentifier": 1, + "JoystickIdentifier": "Primary", + "FloatingEnabled": false, + "DeadZoneRadius": 0.4, + "JoystickAngle": 0, + "JoystickForce": 0, + "TouchId": 0, + "TouchIndex": 0 + } + ], + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [] + } + ] + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Thumb" + }, + { + "objectName": "Border" + } + ] + }, + "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": [], "eventsFunctions": [ { "fullName": "", @@ -15431,17 +15455,12 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", "extraInformation": [ "Primary", "Secondary" @@ -15453,8 +15472,6 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { @@ -15462,7 +15479,6 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], @@ -15474,8 +15490,6 @@ "type": "Number", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ThumbAnchorTarget" }, @@ -15484,7 +15498,6 @@ "type": "Boolean", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], @@ -15496,8 +15509,6 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ParentOrigin" }, @@ -15505,117 +15516,11 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ShouldBeHiddenWhenReleased" } ], - "objects": [ - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Thumb", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [] - } - ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Border", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "MultitouchJoystick", - "type": "SpriteMultitouchJoystick::MultitouchJoystick", - "ControllerIdentifier": 1, - "JoystickIdentifier": "Primary", - "FloatingEnabled": false, - "DeadZoneRadius": 0.4, - "JoystickAngle": 0, - "JoystickForce": 0, - "TouchId": 0, - "TouchIndex": 0 - } - ], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [] - } - ] - } - ] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Thumb" - }, - { - "objectName": "Border" - } - ] - }, - "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": [] + "variants": [] } ] }, @@ -15624,6 +15529,7 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Boids movement", + "gdevelopVersion": "", "helpPath": "/extensions/boids-movement/details/", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cGF0aCBkPSJNMjkuMywxMC4xYy0wLjQtMC4xLTAuOCwwLTEuMSwwLjNsLTMuMiw0Yy0xLjctMi01LjktNi40LTExLTYuNGMtMC4yLDAtMC4zLDAtMC41LDBjMS40LDIuNCwyLjEsNS4xLDIuMSw4DQoJCWMwLDIuOC0wLjcsNS42LTIuMSw4YzAuMiwwLDAuMywwLDAuNSwwYzUuMSwwLDkuMy00LjMsMTEtNi40bDMuMiw0YzAuMiwwLjIsMC41LDAuNCwwLjgsMC40YzAuMSwwLDAuMiwwLDAuMy0wLjENCgkJYzAuNC0wLjEsMC43LTAuNSwwLjctMC45VjExQzMwLDEwLjYsMjkuNywxMC4yLDI5LjMsMTAuMXoiLz4NCgk8cGF0aCBkPSJNMTEuNCw4LjRjLTUuMiwxLjUtOSw2LjgtOS4yLDdjLTAuMiwwLjMtMC4yLDAuOCwwLDEuMmMwLjIsMC4zLDQsNS42LDkuMiw3YzEuNS0yLjMsMi4yLTQuOSwyLjItNy42DQoJCUMxMy42LDEzLjMsMTIuOCwxMC42LDExLjQsOC40eiBNMTAsMTZjMCwwLjYtMC40LDEtMSwxcy0xLTAuNC0xLTF2LTJjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMVYxNnoiLz4NCjwvZz4NCjwvc3ZnPg0K", "name": "BoidsMovement", @@ -17750,9 +17656,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Maximum speed", - "description": "", "group": "Movement", - "extraInformation": [], "name": "MaxSpeed" }, { @@ -17760,18 +17664,14 @@ "type": "Number", "unit": "PixelAcceleration", "label": "Maximum acceleration", - "description": "", "group": "Movement", - "extraInformation": [], "name": "MaxAcceleration" }, { "value": "true", "type": "Boolean", "label": "Rotate object", - "description": "", "group": "Movement", - "extraInformation": [], "name": "ShouldRotate" }, { @@ -17779,9 +17679,7 @@ "type": "Number", "unit": "Pixel", "label": "Cohesion sight radius", - "description": "", "group": "Sight", - "extraInformation": [], "name": "CohesionRadius" }, { @@ -17789,9 +17687,7 @@ "type": "Number", "unit": "Pixel", "label": "Alignement sight radius", - "description": "", "group": "Sight", - "extraInformation": [], "name": "AlignmentRadius" }, { @@ -17799,9 +17695,7 @@ "type": "Number", "unit": "Pixel", "label": "Separation sight radius", - "description": "", "group": "Sight", - "extraInformation": [], "name": "SeparationRadius" }, { @@ -17809,9 +17703,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Cohesion decision weight", - "description": "", "group": "Decision", - "extraInformation": [], "name": "CohesionWeight" }, { @@ -17819,9 +17711,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Alignment decision weight", - "description": "", "group": "Decision", - "extraInformation": [], "name": "AlignmentWeight" }, { @@ -17829,9 +17719,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Separation decision weight", - "description": "", "group": "Decision", - "extraInformation": [], "name": "SeparationWeight" }, { @@ -17839,9 +17727,6 @@ "type": "Number", "unit": "Dimensionless", "label": "Collision layer", - "description": "", - "group": "", - "extraInformation": [], "advanced": true, "name": "CollisionLayer" } @@ -17856,6 +17741,7 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Panel sprite button", + "gdevelopVersion": "", "helpPath": "/objects/button", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI5LDIzSDNjLTEuMSwwLTItMC45LTItMlYxMWMwLTEuMSwwLjktMiwyLTJoMjZjMS4xLDAsMiwwLjksMiwydjEwQzMxLDIyLjEsMzAuMSwyMywyOSwyM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMywxOUwxMywxOWMtMS4xLDAtMi0wLjktMi0ydi0yYzAtMS4xLDAuOS0yLDItMmgwYzEuMSwwLDIsMC45LDIsMnYyQzE1LDE4LjEsMTQuMSwxOSwxMywxOXoiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIxOCIgeTE9IjEzIiB4Mj0iMTgiIHkyPSIxOSIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjIxIiB5MT0iMTMiIHgyPSIxOCIgeTI9IjE3Ii8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMjEiIHkxPSIxOSIgeDI9IjE5IiB5Mj0iMTYiLz4NCjwvc3ZnPg0K", "name": "PanelSpriteButton", @@ -18995,8 +18881,6 @@ "type": "Boolean", "label": "", "description": "Should check hovering", - "group": "", - "extraInformation": [], "hidden": true, "name": "ShouldCheckHovering" }, @@ -19004,8 +18888,6 @@ "value": "Idle", "type": "Choice", "label": "State", - "description": "", - "group": "", "extraInformation": [ "Idle", "Hovered", @@ -19020,9 +18902,6 @@ "value": "0", "type": "Number", "label": "Touch id", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -19030,9 +18909,6 @@ "value": "", "type": "Boolean", "label": "Touch is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIsInside" }, @@ -19040,9 +18916,6 @@ "value": "", "type": "Boolean", "label": "Mouse is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "MouseIsInside" }, @@ -19050,9 +18923,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" } @@ -19073,6 +18943,165 @@ "fullName": "Button (panel sprite)", "isUsingLegacyInstancesRenderer": true, "name": "PanelSpriteButton", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Text", + "font": "", + "textAlignment": "", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Text", + "font": "", + "textAlignment": "", + "verticalTextAlignment": "top", + "characterSize": 20, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Idle", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [ + { + "folded": true, + "name": "State", + "type": "string", + "value": "Idle" + } + ], + "effects": [], + "behaviors": [ + { + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "ShouldCheckHovering": true + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Hovered", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Pressed", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "Idle" + }, + { + "objectName": "Hovered" + }, + { + "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": [], "eventsFunctions": [ { "fullName": "", @@ -20382,16 +20411,12 @@ "value": "0", "type": "Number", "label": "Label offset on Y axis when pressed", - "description": "", - "group": "", - "extraInformation": [], "name": "PressedLabelOffsetY" }, { "value": "0", "type": "Number", "label": "Left padding", - "description": "", "group": "Padding", "extraInformation": [ "Label" @@ -20402,7 +20427,6 @@ "value": "0", "type": "Number", "label": "Right padding", - "description": "", "group": "Padding", "extraInformation": [ "Label" @@ -20413,7 +20437,6 @@ "value": "0", "type": "Number", "label": "Top padding", - "description": "", "group": "Padding", "extraInformation": [ "Label" @@ -20424,7 +20447,6 @@ "value": "0", "type": "Number", "label": "Bottom padding", - "description": "", "group": "Padding", "extraInformation": [ "Label" @@ -20435,171 +20457,10 @@ "value": "0.25", "type": "Number", "label": "Hovered fade out duration (in seconds)", - "description": "", - "group": "", - "extraInformation": [], "name": "HoveredFadeOutDuration" } ], - "objects": [ - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "Label", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Text", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Text", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 20, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Idle", - "rightMargin": 0, - "texture": "", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [ - { - "folded": true, - "name": "State", - "type": "string", - "value": "Idle" - } - ], - "effects": [], - "behaviors": [ - { - "name": "ButtonFSM", - "type": "PanelSpriteButton::ButtonFSM", - "ShouldCheckHovering": true - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Hovered", - "rightMargin": 0, - "texture": "", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Tween", - "type": "Tween::TweenBehavior" - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Pressed", - "rightMargin": 0, - "texture": "", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Label" - }, - { - "objectName": "Idle" - }, - { - "objectName": "Hovered" - }, - { - "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": [] + "variants": [] } ] }, @@ -20608,12 +20469,13 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Resource bar (continuous)", + "gdevelopVersion": ">=5.5.230", "helpPath": "/objects/resource-bar", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBkPSJNMjgsMTJIMTRINGMtMi4yLDAtNCwxLjgtNCw0czEuOCw0LDQsNGgxMGgxNGMyLjIsMCw0LTEuOCw0LTRTMzAuMiwxMiwyOCwxMnogTTQsMThjLTEuMSwwLTItMC45LTItMnMwLjktMiwyLTJoMTANCgljMS4xLDAsMiwwLjksMiwycy0wLjksMi0yLDJINHoiLz4NCjwvc3ZnPg0K", "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": "2.0.0", "description": [ "A bar that represents a resource in the game (health, mana, ammo, etc).", "", @@ -20638,6 +20500,12 @@ "gqDaZjCfevOOxBYkK6zlhtZnXCg1", "q8ubdigLvIRXLxsJDDTaokO41mc2" ], + "changelog": [ + { + "version": "2.0.0", + "breaking": "- Resource bars now use \"variants\", allowing easy swapping of their visual aspect. You will have to make some adjustments to existing resource bars in your project. Follow this [migration documentation](https://wiki.gdevelop.io/gdevelop5/objects/custom-objects-prefab-template/migrate-to-variants/) to do these changes." + } + ], "dependencies": [], "globalVariables": [], "sceneVariables": [], @@ -20729,7 +20597,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Value" + "CurrentValue" ] } ] @@ -20766,11 +20634,10 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentValue", "=", "clamp(Value, 0, Object.Behavior::MaxValue())" ] @@ -20782,11 +20649,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Value", "<", "Object.Behavior::PreviousHighValue()" ] @@ -20809,11 +20675,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Value", ">=", "PreviousHighValue" ] @@ -20902,11 +20767,10 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyMaxValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxValue", "=", "Value" ] @@ -20941,11 +20805,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentValue", "=", "0" ] @@ -20990,11 +20853,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentValue", "=", "MaxValue" ] @@ -21080,13 +20942,12 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyPreviousHighValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousHighValue", "=", - "Value" + "CurrentValue" ] } ] @@ -21161,11 +21022,10 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyPreviousHighValueDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousHighValueDuration", "=", "Value" ] @@ -21200,14 +21060,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::ResourceBar::PreviousHighValue" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousHighValue", "!=", - "Value", - "" + "CurrentValue" ] }, { @@ -21255,27 +21113,18 @@ "value": "1", "type": "Number", "label": "Value", - "description": "", - "group": "", - "extraInformation": [], - "name": "Value" + "name": "CurrentValue" }, { "value": "3", "type": "Number", "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxValue" }, { "value": "", "type": "Number", "label": "Previous high value", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "PreviousHighValue" }, @@ -21283,9 +21132,7 @@ "value": "1", "type": "Number", "label": "Previous high value conservation duration (in seconds)", - "description": "", - "group": "", - "extraInformation": [], + "hidden": true, "name": "PreviousHighValueDuration" } ], @@ -21294,7 +21141,7 @@ ], "eventsBasedObjects": [ { - "areaMaxX": 64, + "areaMaxX": 256, "areaMaxY": 64, "areaMaxZ": 64, "areaMinX": 0, @@ -21303,8 +21150,275 @@ "defaultName": "ResourceBar", "description": "A bar that represents a resource in the game (health, mana, ammo, etc).", "fullName": "Resource bar (continuous)", - "isUsingLegacyInstancesRenderer": true, + "isInnerAreaFollowingParentSize": true, + "isUsingLegacyInstancesRenderer": false, "name": "PanelSpriteContinuousBar", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "leftEdgeAnchor": 4, + "rightEdgeAnchor": 4, + "topEdgeAnchor": 4, + "relativeToOriginalWindowSize": true, + "useLegacyBottomAndRightAnchors": false + } + ], + "string": "2 / 3", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "2 / 3", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 20, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ResourceBar", + "type": "PanelSpriteContinuousBar::ResourceBar", + "Value": 1, + "MaxValue": 3, + "PreviousValue": 0, + "CurrentValue": 1 + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Buffer", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Background", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Buffer" + }, + { + "objectName": "Background" + } + ] + }, + "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": [ + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 64, + "layer": "", + "name": "Background", + "persistentUuid": "fa2b0c42-1baa-489d-9c47-87ec233cbe8c", + "width": 256, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 44, + "layer": "", + "name": "Buffer", + "persistentUuid": "6e01eec9-ca43-4a5c-b4e1-4d9d384473e2", + "width": 236, + "x": 10, + "y": 10, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 44, + "layer": "", + "name": "FillBar", + "persistentUuid": "4833affb-a8d1-4a2b-9019-a20cf5fdc68e", + "width": 196, + "x": 10, + "y": 10, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 64, + "layer": "", + "name": "Label", + "persistentUuid": "0e63f21c-2071-4765-8254-e9021fa84ec4", + "width": 256, + "x": 0, + "y": 32, + "zOrder": 4, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], "eventsFunctions": [ { "fullName": "", @@ -21322,7 +21436,7 @@ "textG": 0, "textR": 0 }, - "comment": "This allows to detect a change of \"intial value\" on hot reload." + "comment": "Anchors won't work as there is an absolute margin and a proportional size at the same time" }, { "type": "BuiltinCommonInstructions::Standard", @@ -21330,12 +21444,100 @@ "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyPreviousInitialValue" + "value": "ActivateBehavior" }, "parameters": [ - "Object", - "=", - "Object.PropertyInitialValue()" + "FillBar", + "Anchor", + "" + ] + }, + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "Buffer", + "Anchor", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Buffer", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarLeftPlusRightMargin", + "=", + "Object.Width() - (max(FillBar.BoundingBoxRight(), Buffer.BoundingBoxRight()) - min(FillBar.BoundingBoxLeft(), Buffer.BoundingBoxLeft()))" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarTopPlusBottomMargin", + "=", + "Object.Height() - (max(FillBar.BoundingBoxBottom(), Buffer.BoundingBoxBottom()) - min(FillBar.BoundingBoxTop(), Buffer.BoundingBoxTop()))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "Buffer", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarLeftPlusRightMargin", + "=", + "Object.Width() - (FillBar.BoundingBoxRight() - FillBar.BoundingBoxLeft())" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "BarTopPlusBottomMargin", + "=", + "Object.Height() - (FillBar.BoundingBoxBottom() - FillBar.BoundingBoxTop())" + ] + } ] } ] @@ -21350,7 +21552,7 @@ "textG": 0, "textR": 0 }, - "comment": "Create the child-object instances." + "comment": "This allows to detect a change of \"intial value\" on hot reload." }, { "type": "BuiltinCommonInstructions::Standard", @@ -21358,60 +21560,38 @@ "actions": [ { "type": { - "value": "Create" - }, - "parameters": [ - "", - "Background", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "FillBar", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Background", - "=", - "1" - ] - }, - { - "type": { - "value": "ChangePlan" + "value": "SetNumberVariable" }, "parameters": [ - "FillBar", + "PreviousInitialValue", "=", - "3" + "InitialValue" ] } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create the child-object instances." + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyPreviousHighValueDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - ">", + "PreviousHighValueDuration", + "=", "0" ] } @@ -21419,25 +21599,12 @@ "actions": [ { "type": { - "value": "Create" + "value": "Delete" }, "parameters": [ - "", "Buffer", - "0", - "0", "" ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Buffer", - "=", - "2" - ] } ] }, @@ -21453,62 +21620,18 @@ }, "comment": "Create the label over the bar." }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Label", - "0", - "0", - "" - ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Label", - "=", - "4" - ] - }, - { - "type": { - "value": "TextObject::SetTextAlignment" - }, - "parameters": [ - "Label", - "\"center\"" - ] - }, - { - "type": { - "value": "TextObject::SetWrapping" - }, - "parameters": [ - "Label", - "yes" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { "inverted": true, - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyShowLabel" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShowLabel", + "True", + "" ] } ], @@ -21546,50 +21669,62 @@ "parameters": [ "Object", "=", - "Object.PropertyMaxValue()", + "MaxValue", "Object.PropertyMaxValue()" ] }, { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetValue" + "value": "PanelSpriteContinuousBar::ResourceBar::SetValue" }, "parameters": [ - "Object", + "FillBar", + "ResourceBar", "=", - "Object.PropertyInitialValue()", - "Object.PropertyInitialValue()" + "InitialValue", + "" ] }, { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPreviousValueDuration" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ - "Object", + "FillBar", + "Resizable", "=", - "Object.PropertyPreviousHighValueDuration()", - "" + "Object.WidthForValue()" ] }, { "type": { - "value": "Tween::RemoveTween" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ - "FillBar", - "Tween", - "\"ChangeValue\"" + "Buffer", + "Resizable", + "=", + "FillBar.Width()" ] }, { "type": { - "value": "PanelSpriteObject::Width" + "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPreviousValueDuration" }, "parameters": [ - "FillBar", + "Object", "=", - "Object.WidthForValue()" + "PreviousHighValueDuration", + "" + ] + }, + { + "type": { + "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLabel" + }, + "parameters": [ + "Object", + "" ] } ] @@ -21631,7 +21766,7 @@ "parameters": [ "Object", "=", - "Object.PropertyMaxValue()", + "MaxValue", "Object.PropertyMaxValue()" ] } @@ -21642,24 +21777,24 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyInitialValue" + "value": "NumberVariable" }, "parameters": [ - "Object", + "InitialValue", "!=", - "Object.PropertyPreviousInitialValue()" + "PreviousInitialValue" ] } ], "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyPreviousInitialValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", + "PreviousInitialValue", "=", - "Object.PropertyInitialValue()" + "InitialValue" ] }, { @@ -21669,7 +21804,7 @@ "parameters": [ "Object", "=", - "Object.PropertyInitialValue()", + "InitialValue", "Object.PropertyInitialValue()" ] }, @@ -21680,7 +21815,7 @@ "parameters": [ "Object", "=", - "Object.PropertyPreviousHighValueDuration()", + "PreviousHighValueDuration", "" ] }, @@ -21702,10 +21837,11 @@ "actions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "FillBar", + "Resizable", "=", "Object.WidthForValue()" ] @@ -21730,141 +21866,101 @@ "sentence": "", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Resize", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "NumberVariable" }, - "comment": "Children instances must be resized when the parent size change:\n- background is resized to take the full dimensions of the parent\n- the bar size is refreshed according to the value\n- the label is put back at the center of the bar\n\nThe scale is set back to 1 because it means that the parent instance has the same dimensions as the union of its children instances." + "parameters": [ + "OldParentWidth", + "!=", + "Object.Width()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "OldParentWidth", + "=", + "Object.Width()" + ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Width()", - "!=", - "max(Background.BoundingBoxRight(), Label.BoundingBoxRight()) - min(Background.BoundingBoxLeft(), Label.BoundingBoxLeft())" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Height()", - "!=", - "max(Background.BoundingBoxBottom(), Label.BoundingBoxBottom()) - min(Background.BoundingBoxTop(), Label.BoundingBoxTop())" - ] - } - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "Width", - "=", - "Object.Width()" - ] - }, - { - "type": { - "value": "SetNumberVariable" - }, - "parameters": [ - "Height", - "=", - "Object.Height()" - ] - }, - { - "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::Scale" - }, - "parameters": [ - "Object", - "=", - "1" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Width" - }, - "parameters": [ - "Background", - "=", - "Width" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Height" - }, - "parameters": [ - "Background", - "=", - "Height" - ] - }, - { - "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLayout" - }, - "parameters": [ - "Object", - "" - ] - } - ], - "variables": [ - { - "name": "Width", - "type": "number", - "value": 0 - }, - { - "name": "Height", - "type": "number", - "value": 0 - } - ] - } + "type": { + "value": "ResizableCapability::ResizableBehavior::SetWidth" + }, + "parameters": [ + "FillBar", + "Resizable", + "=", + "Object.WidthForValue()" + ] + }, + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetWidth" + }, + "parameters": [ + "Buffer", + "Resizable", + "=", + "FillBar.Width()" + ] + }, + { + "type": { + "value": "Tween::RemoveTween" + }, + "parameters": [ + "FillBar", + "Tween", + "\"ChangeValue\"" + ] + }, + { + "type": { + "value": "Tween::RemoveTween" + }, + "parameters": [ + "Buffer", + "Tween", + "\"ChangeValue\"" ] } - ], - "parameters": [] + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetHeight" + }, + "parameters": [ + "FillBar", + "Resizable", + "=", + "Object.Height() - BarTopPlusBottomMargin" + ] + }, + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetHeight" + }, + "parameters": [ + "Buffer", + "Resizable", + "=", + "FillBar.Height()" + ] + } + ] }, { "type": "BuiltinCommonInstructions::Standard", @@ -21889,7 +21985,7 @@ "actions": [ { "type": { - "value": "Tween::AddObjectWidthTween" + "value": "Tween::TweenBehavior::AddObjectWidthTween2" }, "parameters": [ "Buffer", @@ -21897,7 +21993,7 @@ "\"ChangeValue\"", "Object.WidthForValue()", "\"linear\"", - "Object.PropertyEasingDuration() * 1000", + "EasingDuration", "" ] } @@ -21908,10 +22004,11 @@ "conditions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::Width" }, "parameters": [ "FillBar", + "Resizable", "<", "Buffer.Width()" ] @@ -21934,10 +22031,11 @@ "conditions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::Width" }, "parameters": [ "FillBar", + "Resizable", ">=", "Buffer.Width()" ] @@ -21979,121 +22077,25 @@ "actions": [ { "type": { - "value": "MettreXY" - }, - "parameters": [ - "FillBar", - "=", - "Object.PropertyBarLeftPadding()", - "=", - "Object.PropertyBarTopPadding()" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "FillBar", + "Resizable", "=", "Object.WidthForValue()" ] }, { "type": { - "value": "PanelSpriteObject::Height" - }, - "parameters": [ - "FillBar", - "=", - "round(Background.Height() - Object.PropertyBarTopPadding() - Object.PropertyBarBottomPadding())" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "Buffer", - "=", - "FillBar.X()", - "=", - "FillBar.Y()" - ] - }, - { - "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "Buffer", + "Resizable", "=", "FillBar.Width()" ] - }, - { - "type": { - "value": "PanelSpriteObject::Height" - }, - "parameters": [ - "Buffer", - "=", - "FillBar.Height()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "Label", - "=", - "Object.PropertyBarLeftPadding()", - "=", - "Object.PropertyBarTopPadding()" - ] - }, - { - "type": { - "value": "TextObject::WrappingWidth" - }, - "parameters": [ - "Label", - "=", - "Object.FullBarWidth()" - ] - }, - { - "type": { - "value": "SetCenterY" - }, - "parameters": [ - "Label", - "=", - "FillBar.CenterY()" - ] - }, - { - "type": { - "value": "SetCenterX" - }, - "parameters": [ - "Label", - "=", - "Background.CenterX() + (Object.PropertyBarLeftPadding() - Object.PropertyBarRightPadding()) / 2" - ] } ] } @@ -22174,10 +22176,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyEasingDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "EasingDuration", ">", "0" ] @@ -22186,7 +22188,7 @@ "actions": [ { "type": { - "value": "Tween::AddObjectWidthTween" + "value": "Tween::TweenBehavior::AddObjectWidthTween2" }, "parameters": [ "FillBar", @@ -22194,7 +22196,7 @@ "\"ChangeValue\"", "Object.WidthForValue()", "\"linear\"", - "Object.PropertyEasingDuration() * 1000", + "EasingDuration", "" ] } @@ -22205,10 +22207,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyEasingDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "EasingDuration", "<=", "0" ] @@ -22217,10 +22219,11 @@ "actions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "FillBar", + "Resizable", "=", "Object.WidthForValue()" ] @@ -22259,10 +22262,11 @@ "actions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "Buffer", + "Resizable", "=", "round(Object.FullBarWidth() * FillBar.ResourceBar::PreviousHighValue() / FillBar.ResourceBar::MaxValue())" ] @@ -22303,7 +22307,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "FillBar.ResourceBar::PropertyMaxValue()" + "FillBar.ResourceBar::MaxValue()" ] } ] @@ -22487,7 +22491,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "FillBar.ResourceBar::PropertyPreviousHighValueDuration()" + "FillBar.ResourceBar::PreviousHighValueDuration()" ] } ] @@ -22695,7 +22699,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Background.Width() - Object.PropertyBarLeftPadding() - Object.PropertyBarRightPadding()" + "Object.Width() - BarLeftPlusRightMargin" ] } ] @@ -22727,10 +22731,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyShowLabel" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShowLabel", + "True", + "" ] } ], @@ -22770,21 +22776,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", + "" ] }, { @@ -22802,21 +22811,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyShowLabel" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "yes" + "ShowLabel", + "True", + "" ] }, { @@ -22860,10 +22872,11 @@ "actions": [ { "type": { - "value": "TextObject::String" + "value": "TextContainerCapability::TextContainerBehavior::SetValue" }, "parameters": [ "Label", + "Text", "=", "ToString(round(Object.Value())) + \" / \" + ToString(Object.MaxValue())" ] @@ -22883,74 +22896,16 @@ } ], "propertyDescriptors": [ - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarLeftPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarTopPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarRightPadding" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "Bar", - "extraInformation": [ - "Label", - "FillBar", - "Buffer" - ], - "name": "BarBottomPadding" - }, { "value": "3", "type": "Number", "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxValue" }, { "value": "3", "type": "Number", "label": "Initial value", - "description": "", - "group": "", - "extraInformation": [], "name": "InitialValue" }, { @@ -22958,235 +22913,321 @@ "type": "Number", "label": "", "description": "It's used to detect a change at hot reload.", - "group": "", - "extraInformation": [], "hidden": true, "name": "PreviousInitialValue" }, { "value": "1", "type": "Number", + "unit": "Second", "label": "Previous high value conservation duration (in seconds)", - "description": "", "group": "Animation", - "extraInformation": [], "name": "PreviousHighValueDuration" }, { "value": "0.25", "type": "Number", + "unit": "Second", "label": "Easing duration", - "description": "", "group": "Animation", - "extraInformation": [], "name": "EasingDuration" }, { "value": "true", "type": "Boolean", "label": "Show the label", - "description": "", - "group": "", "extraInformation": [ "Label" ], "name": "ShowLabel" }, { - "value": "", - "type": "Boolean", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [ - "Buffer" - ], "hidden": true, - "name": "ShowBuffer" + "name": "BarLeftPlusRightMargin" }, { - "value": "Center", - "type": "String", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [ - "Label" - ], "hidden": true, - "name": "LabelVerticalAnchorOrigin" + "name": "BarTopPlusBottomMargin" }, { - "value": "Center", - "type": "String", + "value": "0", + "type": "Number", "label": "", - "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [ - "FillBar" - ], "hidden": true, - "name": "LabelVerticalAnchorTarget" + "name": "OldParentWidth" } ], - "objects": [ - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "Label", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "2 / 3", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "2 / 3", - "font": "", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 20, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "FillBar", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "ResourceBar", - "type": "PanelSpriteContinuousBar::ResourceBar", - "Value": 1, - "MaxValue": 3, - "PreviousValue": 0 + "variants": [ + { + "areaMaxX": 224, + "areaMaxY": 34, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "assetStoreAssetId": "3d6c54e76a9a06cbd7629c1e78388d4ab808bbf36d644c61d6a14c9ad34d4f89", + "assetStoreOriginalName": "Red Flat Bar", + "name": "Red Flat Bar", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ], + "string": "8 / 16", + "font": "", + "textAlignment": "center", + "characterSize": 16, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "8 / 16", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 16, + "color": "255;255;255" + } }, { - "name": "Tween", - "type": "Tween::TweenBehavior" + "assetStoreId": "", + "bottomMargin": 0, + "height": 24, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "Flat Bar Red Fill Bar.png", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 24, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ResourceBar", + "type": "PanelSpriteContinuousBar::ResourceBar", + "Value": 1, + "MaxValue": 3, + "PreviousValue": 0, + "CurrentValue": 1 + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 24, + "leftMargin": 0, + "name": "Buffer", + "rightMargin": 0, + "texture": "Flat Bar Red Fill Bar.png", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 24, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 6, + "height": 34, + "leftMargin": 4, + "name": "Background", + "rightMargin": 4, + "texture": "Flat Bar White Border.png", + "tiled": false, + "topMargin": 6, + "type": "PanelSpriteObject::PanelSprite", + "width": 224, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Buffer" + }, + { + "objectName": "Background" + } + ] + }, + "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": [] } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Buffer", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ + ], + "instances": [ { - "name": "Tween", - "type": "Tween::TweenBehavior" + "angle": 0, + "customSize": false, + "depth": 1, + "height": 64, + "layer": "", + "name": "Background", + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 64, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 24, + "keepRatio": true, + "layer": "", + "name": "FillBar", + "persistentUuid": "5a0d266a-f680-4580-8e30-0a8516815f9a", + "width": 216, + "x": 4, + "y": 4, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 24, + "keepRatio": true, + "layer": "", + "name": "Label", + "persistentUuid": "03472802-6b7f-42d1-bf9b-68bf9d0d399f", + "width": 216, + "x": 4, + "y": 16, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Background", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [] } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Label" - }, - { - "objectName": "FillBar" - }, - { - "objectName": "Buffer" - }, - { - "objectName": "Background" - } - ] - }, - "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": [] + ] } ] }, @@ -23195,6 +23236,7 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Flash and transition painter", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLW1vdmllLWZpbHRlciIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xOCA0TDIwIDdIMTdMMTUgNEgxM0wxNSA3SDEyTDEwIDRIOEwxMCA3SDdMNSA0SDRDMi45IDQgMiA0LjkgMiA2TDIgMThDMiAxOS4xIDIuOSAyMCA0IDIwSDIwQzIxLjEgMjAgMjIgMTkuMSAyMiAxOFY0SDE4TTExLjI1IDE1LjI1TDEwIDE4TDguNzUgMTUuMjVMNiAxNEw4Ljc1IDEyLjc1TDEwIDEwTDExLjI1IDEyLjc1TDE0IDE0TDExLjI1IDE1LjI1TTE2Ljk0IDExLjk0TDE2IDE0TDE1LjA2IDExLjk0TDEzIDExTDE1LjA2IDEwLjA2TDE2IDhMMTYuOTQgMTAuMDZMMTkgMTFMMTYuOTQgMTEuOTRaIiAvPjwvc3ZnPg==", "name": "FlashTransitionPainter", @@ -24023,9 +24065,6 @@ "type": "Number", "unit": "Dimensionless", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Progress" }, @@ -24033,9 +24072,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Duration" }, @@ -24043,9 +24079,6 @@ "value": "", "type": "String", "label": "Type of effect ", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Type" }, @@ -24053,9 +24086,6 @@ "value": "", "type": "String", "label": "Direction of transition", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Direction" }, @@ -24063,9 +24093,6 @@ "value": "255", "type": "Number", "label": "The maximum of the opacity only for flash", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "MaxOpacity" } @@ -24080,6 +24107,7 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Slider", + "gdevelopVersion": "", "helpPath": "/objects/slider", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSI3IiByPSIzIi8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMyIgeTE9IjciIHgyPSIyMCIgeTI9IjciLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjciIHgyPSIyNiIgeTI9IjciLz4NCjxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjEyIiBjeT0iMTYiIHI9IjMiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIzIiB5MT0iMTYiIHgyPSI5IiB5Mj0iMTYiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjE2IiB4Mj0iMTUiIHkyPSIxNiIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSIyNSIgcj0iMyIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjMiIHkxPSIyNSIgeDI9IjIwIiB5Mj0iMjUiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjI1IiB4Mj0iMjYiIHkyPSIyNSIvPg0KPC9zdmc+DQo=", "name": "PanelSpriteSlider", @@ -24563,36 +24591,24 @@ "value": "0", "type": "Number", "label": "Value", - "description": "", - "group": "", - "extraInformation": [], "name": "Value" }, { "value": "0", "type": "Number", "label": "Minimum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MinValue" }, { "value": "1", "type": "Number", "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], "name": "MaxValue" }, { "value": "0", "type": "Number", "label": "Step size", - "description": "", - "group": "", - "extraInformation": [], "name": "StepSize" } ], @@ -25670,8 +25686,6 @@ "type": "Boolean", "label": "", "description": "Should check hovering", - "group": "", - "extraInformation": [], "hidden": true, "name": "ShouldCheckHovering" }, @@ -25679,8 +25693,6 @@ "value": "Idle", "type": "Choice", "label": "State", - "description": "", - "group": "", "extraInformation": [ "Idle", "Hovered", @@ -25695,9 +25707,6 @@ "value": "0", "type": "Number", "label": "Touch id", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -25705,9 +25714,6 @@ "value": "", "type": "Boolean", "label": "Touch is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIsInside" }, @@ -25715,9 +25721,6 @@ "value": "", "type": "Boolean", "label": "Mouse is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "MouseIsInside" }, @@ -25725,9 +25728,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" } @@ -25748,6 +25748,173 @@ "fullName": "Slider", "isUsingLegacyInstancesRenderer": true, "name": "PanelSpriteSlider", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "It displays the value when it changes.", + "font": "", + "textAlignment": "", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "It displays the value when it changes.", + "font": "", + "textAlignment": "", + "verticalTextAlignment": "top", + "characterSize": 20, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Thumb", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Draggable", + "type": "DraggableBehavior::Draggable", + "checkCollisionMask": false + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "FillBar", + "rightMargin": 0, + "texture": "", + "tiled": true, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Slider", + "type": "PanelSpriteSlider::Slider", + "Value": 0, + "MinValue": 0, + "MaxValue": 1, + "StepSize": 1 + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Background", + "rightMargin": 0, + "texture": "", + "tiled": true, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "ButtonFSM", + "type": "PanelSpriteSlider::ButtonFSM", + "ShouldCheckHovering": true, + "State": "Idle", + "TouchId": 0, + "TouchIsInside": false, + "MouseIsInside": false, + "Index": 0 + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "Thumb" + }, + { + "objectName": "FillBar" + }, + { + "objectName": "Background" + } + ] + }, + "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": [], "eventsFunctions": [ { "fullName": "", @@ -27627,7 +27794,6 @@ "value": "0", "type": "Number", "label": "Bar left margin", - "description": "", "group": "Bar", "extraInformation": [ "Label", @@ -27639,7 +27805,6 @@ "value": "0", "type": "Number", "label": "Bar top margin", - "description": "", "group": "Bar", "extraInformation": [ "Label", @@ -27651,7 +27816,6 @@ "value": "0", "type": "Number", "label": "Bar right margin", - "description": "", "group": "Bar", "extraInformation": [ "Label", @@ -27663,7 +27827,6 @@ "value": "0", "type": "Number", "label": "Bar bottom margin", - "description": "", "group": "Bar", "extraInformation": [ "Label", @@ -27675,54 +27838,42 @@ "value": "true", "type": "Boolean", "label": "Show the label when the value is changed", - "description": "", "group": "Label", - "extraInformation": [], "name": "ShowLabelAtChanges" }, { "value": "8", "type": "Number", "label": "Label margin", - "description": "", "group": "Label", - "extraInformation": [], "name": "LabelMargin" }, { "value": "0", "type": "Number", "label": "Minimum value", - "description": "", "group": "Value", - "extraInformation": [], "name": "MinValue" }, { "value": "100", "type": "Number", "label": "Maximum value", - "description": "", "group": "Value", - "extraInformation": [], "name": "MaxValue" }, { "value": "1", "type": "Number", "label": "Step size", - "description": "", "group": "Value", - "extraInformation": [], "name": "StepSize" }, { "value": "50", "type": "Number", "label": "Initial value", - "description": "", "group": "Value", - "extraInformation": [], "name": "InitialValue" }, { @@ -27730,8 +27881,6 @@ "type": "Number", "label": "", "description": "It's used to detect a change at hot reload.", - "group": "", - "extraInformation": [], "hidden": true, "name": "PreviousInitialValue" }, @@ -27740,7 +27889,6 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], @@ -27752,7 +27900,6 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "FillBar" ], @@ -27764,7 +27911,6 @@ "type": "Boolean", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Label" ], @@ -27772,173 +27918,7 @@ "name": "ShowLabel" } ], - "objects": [ - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "Label", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "It displays the value when it changes.", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 0, - "g": 0, - "r": 0 - }, - "content": { - "bold": false, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "It displays the value when it changes.", - "font": "", - "textAlignment": "", - "verticalTextAlignment": "top", - "characterSize": 20, - "color": "0;0;0" - } - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Thumb", - "rightMargin": 0, - "texture": "", - "tiled": false, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Draggable", - "type": "DraggableBehavior::Draggable", - "checkCollisionMask": false - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "FillBar", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Slider", - "type": "PanelSpriteSlider::Slider", - "Value": 0, - "MinValue": 0, - "MaxValue": 1, - "StepSize": 1 - } - ] - }, - { - "assetStoreId": "", - "bottomMargin": 0, - "height": 32, - "leftMargin": 0, - "name": "Background", - "rightMargin": 0, - "texture": "", - "tiled": true, - "topMargin": 0, - "type": "PanelSpriteObject::PanelSprite", - "width": 32, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "ButtonFSM", - "type": "PanelSpriteSlider::ButtonFSM", - "ShouldCheckHovering": true, - "State": "Idle", - "TouchId": 0, - "TouchIsInside": false, - "MouseIsInside": false, - "Index": 0 - } - ] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Label" - }, - { - "objectName": "Thumb" - }, - { - "objectName": "FillBar" - }, - { - "objectName": "Background" - } - ] - }, - "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": [] + "variants": [] } ] }, @@ -27947,6 +27927,7 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Button states and effects", + "gdevelopVersion": "", "helpPath": "/objects/button", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWdlc3R1cmUtdGFwLWJ1dHRvbiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMyA1QzE1LjIxIDUgMTcgNi43OSAxNyA5QzE3IDEwLjUgMTYuMiAxMS43NyAxNSAxMi40NlYxMS4yNEMxNS42MSAxMC42OSAxNiA5Ljg5IDE2IDlDMTYgNy4zNCAxNC42NiA2IDEzIDZTMTAgNy4zNCAxMCA5QzEwIDkuODkgMTAuMzkgMTAuNjkgMTEgMTEuMjRWMTIuNDZDOS44IDExLjc3IDkgMTAuNSA5IDlDOSA2Ljc5IDEwLjc5IDUgMTMgNU0yMCAyMC41QzE5Ljk3IDIxLjMyIDE5LjMyIDIxLjk3IDE4LjUgMjJIMTNDMTIuNjIgMjIgMTIuMjYgMjEuODUgMTIgMjEuNTdMOCAxNy4zN0w4Ljc0IDE2LjZDOC45MyAxNi4zOSA5LjIgMTYuMjggOS41IDE2LjI4SDkuN0wxMiAxOFY5QzEyIDguNDUgMTIuNDUgOCAxMyA4UzE0IDguNDUgMTQgOVYxMy40N0wxNS4yMSAxMy42TDE5LjE1IDE1Ljc5QzE5LjY4IDE2LjAzIDIwIDE2LjU2IDIwIDE3LjE0VjIwLjVNMjAgMkg0QzIuOSAyIDIgMi45IDIgNFYxMkMyIDEzLjExIDIuOSAxNCA0IDE0SDhWMTJMNCAxMkw0IDRIMjBMMjAgMTJIMThWMTRIMjBWMTMuOTZMMjAuMDQgMTRDMjEuMTMgMTQgMjIgMTMuMDkgMjIgMTJWNEMyMiAyLjkgMjEuMTEgMiAyMCAyWiIgLz48L3N2Zz4=", "name": "ButtonStates", @@ -29096,8 +29077,6 @@ "type": "Boolean", "label": "", "description": "Should check hovering", - "group": "", - "extraInformation": [], "hidden": true, "name": "ShouldCheckHovering" }, @@ -29105,8 +29084,6 @@ "value": "Idle", "type": "Choice", "label": "State", - "description": "", - "group": "", "extraInformation": [ "Idle", "Hovered", @@ -29121,9 +29098,6 @@ "value": "0", "type": "Number", "label": "Touch id", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -29131,9 +29105,6 @@ "value": "", "type": "Boolean", "label": "Touch is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIsInside" }, @@ -29141,9 +29112,6 @@ "value": "", "type": "Boolean", "label": "Mouse is inside", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "MouseIsInside" }, @@ -29151,9 +29119,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" } @@ -29666,8 +29631,6 @@ "value": "", "type": "Behavior", "label": "Button states", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], @@ -29677,8 +29640,6 @@ "value": "", "type": "Behavior", "label": "Effect capability", - "description": "", - "group": "", "extraInformation": [ "EffectCapability::EffectBehavior" ], @@ -29688,9 +29649,7 @@ "value": "", "type": "String", "label": "Idle state effect", - "description": "", "group": "Effects", - "extraInformation": [], "name": "IdleEffect" }, { @@ -29699,16 +29658,13 @@ "label": "Focused state effect", "description": "The state is Focused when the button is hovered or held outside.", "group": "Effects", - "extraInformation": [], "name": "FocusedEffect" }, { "value": "", "type": "String", "label": "Pressed state effect", - "description": "", "group": "Effects", - "extraInformation": [], "name": "PressedEffect" } ], @@ -30126,8 +30082,6 @@ "value": "", "type": "Behavior", "label": "Animatable capability", - "description": "", - "group": "", "extraInformation": [ "AnimatableCapability::AnimatableBehavior" ], @@ -30137,8 +30091,6 @@ "value": "", "type": "Behavior", "label": "Button states", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], @@ -30148,9 +30100,7 @@ "value": "Idle", "type": "String", "label": "Idle state animation name", - "description": "", "group": "Animation", - "extraInformation": [], "name": "IdleAnimationName" }, { @@ -30159,16 +30109,13 @@ "label": "Focused state animation name", "description": "The state is Focused when the button is hovered or held outside.", "group": "Animation", - "extraInformation": [], "name": "FocusedAnimationName" }, { "value": "Pressed", "type": "String", "label": "Pressed state animation name", - "description": "", "group": "Animation", - "extraInformation": [], "name": "PressedAnimationName" } ], @@ -31571,8 +31518,6 @@ "value": "", "type": "Behavior", "label": "Button states", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], @@ -31582,8 +31527,6 @@ "value": "", "type": "Behavior", "label": "Effect capability", - "description": "", - "group": "", "extraInformation": [ "EffectCapability::EffectBehavior" ], @@ -31593,9 +31536,7 @@ "value": "Effect", "type": "String", "label": "Effect name", - "description": "", "group": "Effect", - "extraInformation": [], "name": "EffectName" }, { @@ -31604,16 +31545,13 @@ "label": "Effect parameter", "description": "The effect parameter names can be found in the effects tab with the \"Show parameter names\" action of the drop down menu.", "group": "Effect", - "extraInformation": [], "name": "EffectProperty" }, { "value": "0", "type": "Number", "label": "Idle effect parameter value", - "description": "", "group": "Value", - "extraInformation": [], "name": "IdleValue" }, { @@ -31622,23 +31560,19 @@ "label": "Focused effect parameter value", "description": "The state is Focused when the button is hovered or held outside.", "group": "Value", - "extraInformation": [], "name": "FocusedValue" }, { "value": "0", "type": "Number", "label": "Pressed effect parameter value", - "description": "", "group": "Value", - "extraInformation": [], "name": "PressedValue" }, { "value": "easeInOutQuad", "type": "Choice", "label": "Fade-in easing", - "description": "", "group": "Speed", "extraInformation": [ "linear", @@ -31681,7 +31615,6 @@ "value": "easeInOutQuad", "type": "Choice", "label": "Fade-out easing", - "description": "", "group": "Speed", "extraInformation": [ "linear", @@ -31725,9 +31658,7 @@ "type": "Number", "unit": "Second", "label": "Fade-in duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeInDuration" }, { @@ -31735,17 +31666,13 @@ "type": "Number", "unit": "Second", "label": "Fade-out duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeOutDuration" }, { "value": "Idle", "type": "Choice", "label": "", - "description": "", - "group": "", "extraInformation": [ "Idle", "Focused", @@ -31758,9 +31685,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TweenInitialValue" }, @@ -31768,9 +31692,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TweenTargetedValue" }, @@ -31778,9 +31699,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TweenTime" }, @@ -31788,8 +31706,6 @@ "value": "NoTween", "type": "Choice", "label": "", - "description": "", - "group": "", "extraInformation": [ "NoTween", "FadeIn", @@ -31802,9 +31718,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "EffectValue" } @@ -32763,8 +32676,6 @@ "value": "", "type": "Behavior", "label": "Scalable capability", - "description": "", - "group": "", "extraInformation": [ "ScalableCapability::ScalableBehavior" ], @@ -32774,8 +32685,6 @@ "value": "", "type": "Behavior", "label": "Button states behavior (required)", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], @@ -32785,8 +32694,6 @@ "value": "", "type": "Behavior", "label": "Tween behavior (required)", - "description": "", - "group": "", "extraInformation": [ "Tween::TweenBehavior" ], @@ -32797,9 +32704,7 @@ "type": "Number", "unit": "Dimensionless", "label": "Idle state size scale", - "description": "", "group": "Size", - "extraInformation": [], "name": "IdleScale" }, { @@ -32809,7 +32714,6 @@ "label": "Focused state size scale", "description": "The state is Focused when the button is hovered or held outside.", "group": "Size", - "extraInformation": [], "name": "FocusedScale" }, { @@ -32817,9 +32721,7 @@ "type": "Number", "unit": "Second", "label": "Fade-in duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeInDuration" }, { @@ -32827,9 +32729,7 @@ "type": "Number", "unit": "Second", "label": "Fade-out duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeOutDuration" }, { @@ -32837,16 +32737,13 @@ "type": "Number", "unit": "Dimensionless", "label": "Pressed state size scale", - "description": "", "group": "Size", - "extraInformation": [], "name": "PressedScale" }, { "value": "easeInOutQuad", "type": "Choice", "label": "Fade-in easing", - "description": "", "group": "Speed", "extraInformation": [ "linear", @@ -32889,7 +32786,6 @@ "value": "easeInOutQuad", "type": "Choice", "label": "Fade-out easing", - "description": "", "group": "Speed", "extraInformation": [ "linear", @@ -32932,8 +32828,6 @@ "value": "Idle", "type": "Choice", "label": "", - "description": "", - "group": "", "extraInformation": [ "Idle", "Focused", @@ -33911,8 +33805,6 @@ "value": "", "type": "Behavior", "label": "Button states", - "description": "", - "group": "", "extraInformation": [ "ButtonStates::ButtonFSM" ], @@ -33922,8 +33814,6 @@ "value": "", "type": "Behavior", "label": "Tween", - "description": "", - "group": "", "extraInformation": [ "Tween::TweenBehavior" ], @@ -33933,9 +33823,7 @@ "value": "255;255;255", "type": "Color", "label": "Idle state color tint", - "description": "", "group": "Color", - "extraInformation": [], "name": "IdleColorTint" }, { @@ -33944,16 +33832,13 @@ "label": "Focused state color tint", "description": "The state is Focused when the button is hovered or held outside.", "group": "Color", - "extraInformation": [], "name": "FocusedColorTint" }, { "value": "64;64;64", "type": "Color", "label": "Pressed state color tint", - "description": "", "group": "Color", - "extraInformation": [], "name": "PressedColorTint" }, { @@ -33961,9 +33846,7 @@ "type": "Number", "unit": "Second", "label": "Fade-in duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeInDuration" }, { @@ -33971,16 +33854,13 @@ "type": "Number", "unit": "Second", "label": "Fade-out duration", - "description": "", "group": "Speed", - "extraInformation": [], "name": "FadeOutDuration" }, { "value": "easeInOutQuad", "type": "Choice", "label": "Fade-in easing", - "description": "", "group": "Speed", "extraInformation": [ "linear", @@ -34023,7 +33903,6 @@ "value": "easeInOutQuad", "type": "Choice", "label": "Fade-out easing", - "description": "", "group": "Speed", "extraInformation": [ "linear", @@ -34066,8 +33945,6 @@ "value": "Idle", "type": "Choice", "label": "", - "description": "", - "group": "", "extraInformation": [ "Idle", "Focused", @@ -34087,6 +33964,7 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Shake object", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWFycm93LWFsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMywxMUgxOEwxNi41LDkuNUwxNy45Miw4LjA4TDIxLjg0LDEyTDE3LjkyLDE1LjkyTDE2LjUsMTQuNUwxOCwxM0gxM1YxOEwxNC41LDE2LjVMMTUuOTIsMTcuOTJMMTIsMjEuODRMOC4wOCwxNy45Mkw5LjUsMTYuNUwxMSwxOFYxM0g2TDcuNSwxNC41TDYuMDgsMTUuOTJMMi4xNiwxMkw2LjA4LDguMDhMNy41LDkuNUw2LDExSDExVjZMOS41LDcuNUw4LjA4LDYuMDhMMTIsMi4xNkwxNS45Miw2LjA4TDE0LjUsNy41TDEzLDZWMTFaIiAvPjwvc3ZnPg==", "name": "ShakeObject", @@ -38485,8 +38363,6 @@ "value": "", "type": "Behavior", "label": "Scalable capability", - "description": "", - "group": "", "extraInformation": [ "ScalableCapability::ScalableBehavior" ], @@ -38496,9 +38372,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "name": "Property" } ], @@ -38512,6 +38385,7 @@ "category": "Camera", "extensionNamespace": "", "fullName": "Camera shake", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXZlY3Rvci1kaWZmZXJlbmNlLWFiIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTMsMUMxLjg5LDEgMSwxLjg5IDEsM1Y1SDNWM0g1VjFIM003LDFWM0gxMFYxSDdNMTIsMVYzSDE0VjVIMTZWM0MxNiwxLjg5IDE1LjExLDEgMTQsMUgxMk0xLDdWMTBIM1Y3SDFNMTQsN0MxNCw3IDE0LDExLjY3IDE0LDE0QzExLjY3LDE0IDcsMTQgNywxNEM3LDE0IDcsMTggNywyMEM3LDIxLjExIDcuODksMjIgOSwyMkgyMEMyMS4xMSwyMiAyMiwyMS4xMSAyMiwyMFY5QzIyLDcuODkgMjEuMTEsNyAyMCw3QzE4LDcgMTQsNyAxNCw3TTE2LDlIMjBWMjBIOVYxNkgxNEMxNS4xMSwxNiAxNiwxNS4xMSAxNiwxNFY5TTEsMTJWMTRDMSwxNS4xMSAxLjg5LDE2IDMsMTZINVYxNEgzVjEySDFaIiAvPjwvc3ZnPg==", "name": "CameraShake", @@ -42086,6 +41960,7 @@ "category": "Game mechanic", "extensionNamespace": "", "fullName": "Health points and damage", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWhlYXJ0LWhhbGYtZnVsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNi41LDVDMTUsNSAxMy41OCw1LjkxIDEzLDcuMlYxNy43NEMxNy4yNSwxMy44NyAyMCwxMS4yIDIwLDguNUMyMCw2LjUgMTguNSw1IDE2LjUsNU0xNi41LDNDMTkuNTgsMyAyMiw1LjQxIDIyLDguNUMyMiwxMi4yNyAxOC42LDE1LjM2IDEzLjQ1LDIwLjAzTDEyLDIxLjM1TDEwLjU1LDIwLjAzQzUuNCwxNS4zNiAyLDEyLjI3IDIsOC41QzIsNS40MSA0LjQyLDMgNy41LDNDOS4yNCwzIDEwLjkxLDMuODEgMTIsNS4wOEMxMy4wOSwzLjgxIDE0Ljc2LDMgMTYuNSwzWiIgLz48L3N2Zz4=", "name": "Health", @@ -46739,18 +46614,14 @@ "value": "100", "type": "Number", "label": "Starting health", - "description": "", "group": "Health", - "extraInformation": [], "name": "Health" }, { "value": "0", "type": "Number", "label": "Current health (life) points", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "CurrentHealth" }, @@ -46760,7 +46631,6 @@ "label": "Maximum health", "description": "Use 0 for no maximum.", "group": "Health", - "extraInformation": [], "name": "MaxHealth" }, { @@ -46768,18 +46638,14 @@ "type": "Number", "unit": "Second", "label": "Damage cooldown", - "description": "", "group": "Health", - "extraInformation": [], "name": "DamageCooldown" }, { "value": "", "type": "Boolean", "label": "Allow heals to increase health above max health (regen will never exceed max health)", - "description": "", "group": "Health", - "extraInformation": [], "advanced": true, "name": "AllowOverHealing" }, @@ -46787,9 +46653,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "IsHealthJustDamaged" }, @@ -46797,9 +46661,7 @@ "value": "0", "type": "Number", "label": "Damage to health from the previous incoming damage", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "DamageToBeApplied" }, @@ -46807,9 +46669,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "HitAtLeastOnce" }, @@ -46819,7 +46679,6 @@ "label": "Chance to dodge incoming damage (between 0 and 1)", "description": "When a damage is dodged, no damage is applied.", "group": "Health", - "extraInformation": [], "advanced": true, "name": "ChanceToDodge" }, @@ -46827,9 +46686,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "IsJustDodged" }, @@ -46837,9 +46694,7 @@ "value": "0", "type": "Number", "label": "Health points gained from the previous heal", - "description": "", "group": "Health", - "extraInformation": [], "hidden": true, "name": "HealToBeApplied" }, @@ -46847,9 +46702,7 @@ "value": "0", "type": "Number", "label": "Rate of health regeneration (points per second)", - "description": "", "group": "Health regeneration", - "extraInformation": [], "advanced": true, "name": "HealthRegenRate" }, @@ -46860,7 +46713,6 @@ "label": "Health regeneration delay ", "description": "Delay before health regeneration starts after a hit.", "group": "Health regeneration", - "extraInformation": [], "advanced": true, "name": "HealthRegenDelay" }, @@ -46868,9 +46720,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsJustHealed" }, @@ -46878,9 +46727,7 @@ "value": "", "type": "Number", "label": "Current shield points", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "CurrentShieldPoints" }, @@ -46890,7 +46737,6 @@ "label": "Maximum shield", "description": "Leave 0 for unlimited.", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "MaxShieldPoints" }, @@ -46901,7 +46747,6 @@ "label": "Duration of shield", "description": "Use 0 to make the shield permanent.", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "ShieldDuration" }, @@ -46909,9 +46754,7 @@ "value": "0", "type": "Number", "label": "Rate of shield regeneration (points per second)", - "description": "", "group": "Shield regeneration", - "extraInformation": [], "advanced": true, "name": "ShieldRegenRate" }, @@ -46919,9 +46762,7 @@ "value": "", "type": "Boolean", "label": "Block excess damage when shield is broken", - "description": "", "group": "Shield", - "extraInformation": [], "advanced": true, "name": "BlockExcessDamage" }, @@ -46932,7 +46773,6 @@ "label": "Shield regeneration delay", "description": "Delay before shield regeneration starts after a hit.", "group": "Shield regeneration", - "extraInformation": [], "advanced": true, "name": "ShieldRegenDelay" }, @@ -46940,9 +46780,7 @@ "value": "", "type": "Boolean", "label": "", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "IsShieldJustDamaged" }, @@ -46950,9 +46788,7 @@ "value": "", "type": "Number", "label": "Damage to shield from the previous incoming damage", - "description": "", "group": "Shield", - "extraInformation": [], "hidden": true, "name": "ShieldDamageTaken" }, @@ -46962,7 +46798,6 @@ "label": "Flat damage reduction from armor", "description": "Incoming damages are reduced by this value.", "group": "Armor", - "extraInformation": [], "advanced": true, "name": "FlatDamageReduction" }, @@ -46970,9 +46805,7 @@ "value": "0", "type": "Number", "label": "Percentage damage reduction from armor (between 0 and 1)", - "description": "", "group": "Armor", - "extraInformation": [], "advanced": true, "name": "PercentDamageReduction" } @@ -46987,6 +46820,7 @@ "category": "Game mechanic", "extensionNamespace": "", "fullName": "Fire bullets", + "gdevelopVersion": "", "helpPath": "/extensions/fire-bullet/details", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWJ1bGxldCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNCwyMkgxMFYyMUgxNFYyMk0xMywxMFY3SDExVjEwTDEwLDExLjVWMjBIMTRWMTEuNUwxMywxME0xMiwyQzEyLDIgMTEsMyAxMSw1VjZIMTNWNUMxMyw1IDEzLDMgMTIsMloiIC8+PC9zdmc+", "name": "FireBullet", @@ -51742,17 +51576,12 @@ "unit": "Second", "label": "Firing cooldown", "description": "Objects cannot shoot while firing cooldown is active.", - "group": "", - "extraInformation": [], "name": "FireCooldown" }, { "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "HasJustFired" }, @@ -51760,9 +51589,6 @@ "value": "true", "type": "Boolean", "label": "Rotate bullets to match their trajectory", - "description": "", - "group": "", - "extraInformation": [], "name": "RotateBullet" }, { @@ -51772,7 +51598,6 @@ "label": "Firing arc", "description": "Multi-Fire bullets will be evenly spaced inside the firing arc", "group": "Multi-Fire", - "extraInformation": [], "name": "FiringArc" }, { @@ -51781,7 +51606,6 @@ "label": "Number of bullets created at once", "description": "Multi-Fire bullets will be evenly spaced inside the firing arc", "group": "Multi-Fire", - "extraInformation": [], "name": "BulletQuantity" }, { @@ -51791,7 +51615,6 @@ "label": "Angle variance", "description": "Make imperfect aim (between 0 and 180 degrees).", "group": "Firing variance", - "extraInformation": [], "advanced": true, "name": "AngleVariance" }, @@ -51802,7 +51625,6 @@ "label": "Bullet speed variance", "description": "Bullet speed will be adjusted by a random value within this range.", "group": "Firing variance", - "extraInformation": [], "advanced": true, "name": "BulletSpeedVariance" }, @@ -51810,9 +51632,6 @@ "value": "0", "type": "Number", "label": "Ammo quantity (current)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "AmmoQuantity" }, @@ -51822,7 +51641,6 @@ "label": "Shots per reload ", "description": "Use 0 to disable reloading.", "group": "Reload", - "extraInformation": [], "advanced": true, "name": "ShotsPerReload" }, @@ -51833,7 +51651,6 @@ "label": "Reloading duration", "description": "Objects cannot shoot while reloading is in progress.", "group": "Reload", - "extraInformation": [], "advanced": true, "name": "ReloadDuration" }, @@ -51841,9 +51658,7 @@ "value": "0", "type": "Number", "label": "Max ammo ", - "description": "", "group": "Ammo", - "extraInformation": [], "advanced": true, "name": "MaxAmmo" }, @@ -51851,9 +51666,6 @@ "value": "0", "type": "Number", "label": "Shots before next reload", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ShotsBeforeNextReload" }, @@ -51862,8 +51674,6 @@ "type": "Number", "label": "Total shots fired", "description": "Regardless of how many bullets are created, only 1 shot will be counted per frame", - "group": "", - "extraInformation": [], "hidden": true, "name": "TotalShotsFired" }, @@ -51871,9 +51681,6 @@ "value": "0", "type": "Number", "label": "Total bullets created", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TotalBulletsCreated" }, @@ -51881,9 +51688,7 @@ "value": "0", "type": "Number", "label": "Starting ammo", - "description": "", "group": "Ammo", - "extraInformation": [], "advanced": true, "name": "StartingAmmo" }, @@ -51891,9 +51696,6 @@ "value": "0", "type": "Number", "label": "Total reloads completed", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TotalReloadsCompleted" }, @@ -51901,9 +51703,7 @@ "value": "true", "type": "Boolean", "label": "Unlimited ammo", - "description": "", "group": "Ammo", - "extraInformation": [], "advanced": true, "name": "UnlimitedAmmo" }, @@ -51911,9 +51711,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ReloadInProgress" }, @@ -51923,7 +51720,6 @@ "label": "Heat increase per shot (between 0 and 1)", "description": " Object is overheated when Heat reaches 1.", "group": "Overheat", - "extraInformation": [], "advanced": true, "name": "HeatIncreasePerShot" }, @@ -51931,9 +51727,6 @@ "value": "0", "type": "Number", "label": "Heat level (Range: 0 to 1)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "HeatLevel" }, @@ -51941,9 +51734,7 @@ "value": "true", "type": "Boolean", "label": "Reload automatically", - "description": "", "group": "Reload", - "extraInformation": [], "advanced": true, "name": "AutomaticReloading" }, @@ -51954,7 +51745,6 @@ "label": "Overheat duration", "description": "Object cannot shoot while overheat duration is active.", "group": "Overheat", - "extraInformation": [], "advanced": true, "name": "OverheatDuration" }, @@ -51962,9 +51752,7 @@ "value": "0.1", "type": "Number", "label": "Linear cooling rate (per second)", - "description": "", "group": "Overheat", - "extraInformation": [], "advanced": true, "name": "LinearCoolingRate" }, @@ -51987,7 +51775,6 @@ "label": "Layer the bullets are created on", "description": "Base layer by default.", "group": "Shooting configuration", - "extraInformation": [], "hidden": true, "name": "BulletLayer" }, @@ -51995,9 +51782,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "RandomizedAngle" } @@ -52012,6 +51796,7 @@ "category": "Input", "extensionNamespace": "", "fullName": "Screen Orientation Checker", + "gdevelopVersion": "", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNjcmVlbi1yb3RhdGlvbiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik03LjUsMjEuNUM0LjI1LDE5Ljk0IDEuOTEsMTYuNzYgMS41NSwxM0gwLjA1QzAuNTYsMTkuMTYgNS43MSwyNCAxMiwyNEwxMi42NiwyMy45N0w4Ljg1LDIwLjE2TTE0LjgzLDIxLjE5TDIuODEsOS4xN0w5LjE3LDIuODFMMjEuMTksMTQuODNNMTAuMjMsMS43NUM5LjY0LDEuMTYgOC42OSwxLjE2IDguMTEsMS43NUwxLjc1LDguMTFDMS4xNiw4LjcgMS4xNiw5LjY1IDEuNzUsMTAuMjNMMTMuNzcsMjIuMjVDMTQuMzYsMjIuODQgMTUuMzEsMjIuODQgMTUuODksMjIuMjVMMjIuMjUsMTUuODlDMjIuODQsMTUuMyAyMi44NCwxNC4zNSAyMi4yNSwxMy43N0wxMC4yMywxLjc1TTE2LjUsMi41QzE5Ljc1LDQuMDcgMjIuMDksNy4yNCAyMi40NSwxMUgyMy45NUMyMy40NCw0Ljg0IDE4LjI5LDAgMTIsMEwxMS4zNCwwLjAzTDE1LjE1LDMuODRMMTYuNSwyLjVaIiAvPjwvc3ZnPg==", "name": "ScreenOrientationChecker", @@ -52103,6 +51888,260 @@ "isInnerAreaFollowingParentSize": true, "isUsingLegacyInstancesRenderer": false, "name": "ScreenOrientationChecker", + "objects": [ + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Text", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 0, + "leftEdgeAnchor": 4, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 0, + "topEdgeAnchor": 4, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "string": "Rotate screen to play", + "font": "", + "textAlignment": "center", + "characterSize": 30, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, + "content": { + "bold": true, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Rotate screen to play", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "top", + "characterSize": 30, + "color": "255;255;255" + } + }, + { + "assetStoreId": "", + "name": "BackgroundPainter", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [], + "fillOpacity": 255, + "outlineSize": 0, + "outlineOpacity": 255, + "absoluteCoordinates": true, + "clearBetweenFrames": true, + "antialiasing": "none", + "fillColor": { + "r": 0, + "g": 0, + "b": 0 + }, + "outlineColor": { + "r": 0, + "g": 0, + "b": 0 + } + }, + { + "adaptCollisionMaskAutomatically": true, + "assetStoreId": "", + "name": "Icon", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 0, + "leftEdgeAnchor": 4, + "topEdgeAnchor": 4, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 0, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "rotate-screen-icon.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 52.5, + "y": 56.5 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 1 + }, + { + "x": 105, + "y": 1 + }, + { + "x": 105, + "y": 113 + }, + { + "x": 0, + "y": 113 + } + ] + ] + } + ] + } + ] + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Text" + }, + { + "objectName": "BackgroundPainter" + }, + { + "objectName": "Icon" + } + ] + }, + "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": [ + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 35, + "keepRatio": true, + "layer": "", + "name": "Text", + "persistentUuid": "65c003ea-19c0-4f18-a189-a02a24378f35", + "width": 207, + "x": 104, + "y": 120, + "zOrder": 15, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "BackgroundPainter", + "persistentUuid": "49ff4576-6406-41de-a43b-1355529d61fe", + "width": 0, + "x": 38, + "y": 17, + "zOrder": 14, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "Icon", + "persistentUuid": "39cbfc66-13f4-43dc-b6ef-2bda83153277", + "width": 0, + "x": 204, + "y": 64, + "zOrder": 16, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], "eventsFunctions": [ { "fullName": "", @@ -52670,9 +52709,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsShown" }, @@ -52681,8 +52717,6 @@ "type": "Boolean", "label": "Force show the screen", "description": "Use this to test the screen in your game", - "group": "", - "extraInformation": [], "name": "IsForceShown" }, { @@ -52690,9 +52724,7 @@ "type": "Number", "unit": "Pixel", "label": "Padding", - "description": "", "group": "Appearance", - "extraInformation": [], "name": "Padding" }, { @@ -52702,273 +52734,17 @@ "label": "Corner radius", "description": "Corner radius for the background", "group": "Appearance", - "extraInformation": [], "name": "CornerRadius" }, { "value": "0;0;0", "type": "Color", "label": "Background color", - "description": "", "group": "Appearance", - "extraInformation": [], "name": "BackgroundColor" } ], - "objects": [ - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "Text", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 0, - "leftEdgeAnchor": 4, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 0, - "topEdgeAnchor": 4, - "useLegacyBottomAndRightAnchors": false - }, - { - "name": "Tween", - "type": "Tween::TweenBehavior" - } - ], - "string": "Rotate screen to play", - "font": "", - "textAlignment": "center", - "characterSize": 30, - "color": { - "b": 255, - "g": 255, - "r": 255 - }, - "content": { - "bold": true, - "isOutlineEnabled": false, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "255;255;255", - "outlineThickness": 2, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Rotate screen to play", - "font": "", - "textAlignment": "center", - "verticalTextAlignment": "top", - "characterSize": 30, - "color": "255;255;255" - } - }, - { - "assetStoreId": "", - "name": "BackgroundPainter", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [], - "fillOpacity": 255, - "outlineSize": 0, - "outlineOpacity": 255, - "absoluteCoordinates": true, - "clearBetweenFrames": true, - "antialiasing": "none", - "fillColor": { - "r": 0, - "g": 0, - "b": 0 - }, - "outlineColor": { - "r": 0, - "g": 0, - "b": 0 - } - }, - { - "adaptCollisionMaskAutomatically": true, - "assetStoreId": "", - "name": "Icon", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Anchor", - "type": "AnchorBehavior::AnchorBehavior", - "bottomEdgeAnchor": 0, - "leftEdgeAnchor": 4, - "topEdgeAnchor": 4, - "relativeToOriginalWindowSize": true, - "rightEdgeAnchor": 0, - "useLegacyBottomAndRightAnchors": false - }, - { - "name": "Tween", - "type": "Tween::TweenBehavior" - } - ], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "rotate-screen-icon.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 52.5, - "y": 56.5 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 1 - }, - { - "x": 105, - "y": 1 - }, - { - "x": 105, - "y": 113 - }, - { - "x": 0, - "y": 113 - } - ] - ] - } - ] - } - ] - } - ] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Text" - }, - { - "objectName": "BackgroundPainter" - }, - { - "objectName": "Icon" - } - ] - }, - "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": [ - { - "angle": 0, - "customSize": true, - "depth": 1, - "height": 35, - "keepRatio": true, - "layer": "", - "name": "Text", - "persistentUuid": "65c003ea-19c0-4f18-a189-a02a24378f35", - "width": 207, - "x": 104, - "y": 120, - "zOrder": 15, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "keepRatio": true, - "layer": "", - "name": "BackgroundPainter", - "persistentUuid": "49ff4576-6406-41de-a43b-1355529d61fe", - "width": 0, - "x": 38, - "y": 17, - "zOrder": 14, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "keepRatio": true, - "layer": "", - "name": "Icon", - "persistentUuid": "39cbfc66-13f4-43dc-b6ef-2bda83153277", - "width": 0, - "x": 204, - "y": 64, - "zOrder": 16, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - } - ] + "variants": [] } ] } From 8c09f4db130d214a938c96205f608468587c4b83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Wed, 16 Jul 2025 15:09:19 +0200 Subject: [PATCH 11/11] Update extensions --- .../wave-defense-shooter.json | 2976 ++++++++--------- 1 file changed, 1475 insertions(+), 1501 deletions(-) diff --git a/examples/wave-defense-shooter/wave-defense-shooter.json b/examples/wave-defense-shooter/wave-defense-shooter.json index 7da77581d..d7900aec1 100644 --- a/examples/wave-defense-shooter/wave-defense-shooter.json +++ b/examples/wave-defense-shooter/wave-defense-shooter.json @@ -8633,13 +8633,13 @@ "category": "Input", "extensionNamespace": "", "fullName": "Multitouch joystick and buttons (sprite)", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "/objects/multitouch-joystick", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMTYiIGN5PSIxNiIgcj0iMTMiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjI4LjQsMTIgMjAsMTIgMjAsMy42ICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMjAsMjguNCAyMCwyMCAyOC40LDIwICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMy42LDIwIDEyLDIwIDEyLDI4LjQgIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIxMiwzLjYgMTIsMTIgMy42LDEyICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxNiw2IDE2LjcsNyAxNS4zLDcgIi8+DQo8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjE2LDI2IDE1LjMsMjUgMTYuNywyNSAiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iNiwxNiA3LDE1LjMgNywxNi43ICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyNiwxNiAyNSwxNi43IDI1LDE1LjMgIi8+DQo8L3N2Zz4NCg==", "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.8.3", "description": [ "Multitouch joysticks can be used the same way as physical gamepads:", "- 4 or 8 directions", @@ -8737,10 +8737,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"TargetedSpeed\"", + "TargetedSpeed", "<", "0" ] @@ -8765,10 +8765,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<", "TargetedSpeed" ] @@ -8792,20 +8792,20 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">", "TargetedSpeed" ] }, { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<", "0" ] @@ -8841,10 +8841,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">=", "0" ] @@ -8870,10 +8870,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"TargetedSpeed\"", + "TargetedSpeed", ">", "0" ] @@ -8898,10 +8898,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">", "TargetedSpeed" ] @@ -8925,20 +8925,20 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<", "TargetedSpeed" ] }, { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">", "0" ] @@ -8974,10 +8974,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<=", "0" ] @@ -9003,10 +9003,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"TargetedSpeed\"", + "TargetedSpeed", "=", "0" ] @@ -9019,10 +9019,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", "<", "0" ] @@ -9046,10 +9046,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"CurrentSpeed\"", + "CurrentSpeed", ">", "0" ] @@ -10436,10 +10436,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsString" + "value": "StringVariable" }, "parameters": [ - "\"Side\"", + "Side", "=", "\"Left\"" ] @@ -10474,10 +10474,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsString" + "value": "StringVariable" }, "parameters": [ - "\"Side\"", + "Side", "=", "\"Right\"" ] @@ -10678,11 +10678,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchIndex", "=", "0" ] @@ -10700,11 +10699,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyTouchId" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -10723,11 +10721,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "StartedTouchOrMouseId(TouchIndex)" ] @@ -10740,11 +10737,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchIndex", "+", "1" ] @@ -10810,11 +10806,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyTouchId" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "!=", "0" ] @@ -10919,11 +10914,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyJoystickForce" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "JoystickForce", "=", "Value" ] @@ -11017,11 +11011,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyJoystickAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "JoystickAngle", "=", "Value" ] @@ -11287,11 +11280,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyTouchId" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "!=", "0" ] @@ -11350,11 +11342,10 @@ }, { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -11431,11 +11422,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyControllerIdentifier" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ControllerIdentifier", "=", "Value" ] @@ -11512,11 +11502,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyJoystickIdentifier" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "JoystickIdentifier", "=", "Value" ] @@ -11593,11 +11582,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyDeadZoneRadius" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DeadZoneRadius", "=", "Value" ] @@ -11645,11 +11633,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "Value" ] @@ -11758,12 +11745,12 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyIsReleased" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsReleased", + "False", + "" ] }, { @@ -11805,11 +11792,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchIndex", "=", "0" ] @@ -11843,11 +11829,10 @@ }, { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::PropertyRadius" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Radius", ">", "DistanceBetweenPositions(Object.CenterX(), Object.CenterY(), TouchX(StartedTouchOrMouseId(TouchIndex), Object.Layer()), TouchY(StartedTouchOrMouseId(TouchIndex), Object.Layer()))" ] @@ -11858,11 +11843,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "StartedTouchOrMouseId(TouchIndex)" ] @@ -11886,11 +11870,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchIndex", "+", "1" ] @@ -11938,21 +11921,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" ] @@ -11987,11 +11969,12 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::PropertyIsReleased" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsReleased", + "True", + "" ] } ], @@ -12034,11 +12017,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::MultitouchButton::PropertyTouchId" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "!=", "0" ] @@ -12169,6 +12151,7 @@ "fullName": "Platformer multitouch controller mapper", "name": "PlatformerMultitouchMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -12383,6 +12366,7 @@ "fullName": "3D platformer multitouch controller mapper", "name": "Platformer3DMultitouchMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -12518,6 +12502,7 @@ "fullName": "3D shooter multitouch controller mapper", "name": "Shooter3DMultitouchMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -12642,6 +12627,7 @@ "fullName": "First person camera multitouch controller mapper", "name": "FirstPersonMultitouchMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -12667,11 +12653,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyCurrentRotationSpeedZ" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentRotationSpeedZ", "=", "SpriteMultitouchJoystick::AcceleratedSpeed(CurrentRotationSpeedZ, SpriteMultitouchJoystick::StickForceX(ControllerIdentifier, CameraStick) * HorizontalRotationSpeedMax, HorizontalRotationSpeedMax, HorizontalRotationAcceleration, HorizontalRotationDeceleration)" ] @@ -12688,11 +12673,10 @@ }, { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyCurrentRotationSpeedY" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentRotationSpeedY", "=", "SpriteMultitouchJoystick::AcceleratedSpeed(CurrentRotationSpeedY, SpriteMultitouchJoystick::StickForceY(ControllerIdentifier, CameraStick) * VerticalRotationSpeedMax, VerticalRotationSpeedMax, VerticalRotationAcceleration, VerticalRotationDeceleration)" ] @@ -12892,11 +12876,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyHorizontalRotationSpeedMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HorizontalRotationSpeedMax", "=", "Value" ] @@ -12973,11 +12956,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyHorizontalRotationAcceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HorizontalRotationAcceleration", "=", "Value" ] @@ -13054,11 +13036,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyHorizontalRotationDeceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HorizontalRotationDeceleration", "=", "Value" ] @@ -13135,11 +13116,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyVerticalRotationSpeedMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalRotationSpeedMax", "=", "Value" ] @@ -13216,11 +13196,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyVerticalRotationAcceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalRotationAcceleration", "=", "Value" ] @@ -13297,11 +13276,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyVerticalRotationDeceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalRotationDeceleration", "=", "Value" ] @@ -13378,11 +13356,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyVerticalAngleMin" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalAngleMin", "=", "Value" ] @@ -13459,11 +13436,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyVerticalAngleMax" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "VerticalAngleMax", "=", "Value" ] @@ -13540,11 +13516,10 @@ "actions": [ { "type": { - "value": "SpriteMultitouchJoystick::FirstPersonMultitouchMapper::SetPropertyOffsetZ" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OffsetZ", "=", "Value" ] @@ -13682,11 +13657,177 @@ ], "sharedPropertyDescriptors": [] }, + { + "description": "Control a 3D physics car with a multitouch controller.", + "fullName": "3D car multitouch controller mapper", + "name": "PhysicsCar3DMultitouchMapper", + "objectType": "", + "quickCustomizationVisibility": "hidden", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SpriteMultitouchJoystick::StickForce" + }, + "parameters": [ + "", + ">", + "0", + "ControllerIdentifier", + "SteerJoystickIdentifier", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCar3D::SimulateSteeringStick" + }, + "parameters": [ + "Object", + "PhysicsCar3D", + "SpriteMultitouchJoystick::StickForceX(ControllerIdentifier, \"Primary\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SpriteMultitouchJoystick::StickForce" + }, + "parameters": [ + "", + ">", + "0", + "ControllerIdentifier", + "SpeedJoystickIdentifier", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCar3D::SimulateAcceleratorStick" + }, + "parameters": [ + "Object", + "PhysicsCar3D", + "-SpriteMultitouchJoystick::StickForceY(ControllerIdentifier, \"Secondary\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SpriteMultitouchJoystick::IsButtonPressed" + }, + "parameters": [ + "", + "ControllerIdentifier", + "HandBrakeButton", + "\"Down\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "Physics3D::PhysicsCar3D::SimulateHandBrakeKey" + }, + "parameters": [ + "Object", + "PhysicsCar3D" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SpriteMultitouchJoystick::PhysicsCar3DMultitouchMapper", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "3D physics car", + "extraInformation": [ + "Physics3D::PhysicsCar3D" + ], + "name": "PhysicsCar3D" + }, + { + "value": "1", + "type": "Number", + "label": "Controller identifier (1, 2, 3, 4...)", + "name": "ControllerIdentifier" + }, + { + "value": "Primary", + "type": "Choice", + "label": "Steer joystick", + "group": "Controls", + "extraInformation": [ + "Primary", + "Secondary" + ], + "name": "SteerJoystickIdentifier" + }, + { + "value": "Secondary", + "type": "Choice", + "label": "Speed joystick", + "group": "Controls", + "extraInformation": [ + "Primary", + "Secondary" + ], + "name": "SpeedJoystickIdentifier" + }, + { + "value": "B", + "type": "String", + "label": "Hand brake button name", + "group": "Controls", + "name": "HandBrakeButton" + } + ], + "sharedPropertyDescriptors": [] + }, { "description": "Control a top-down character with a multitouch controller.", "fullName": "Top-down multitouch controller mapper", "name": "TopDownMultitouchMapper", "objectType": "", + "quickCustomizationVisibility": "hidden", "eventsFunctions": [ { "fullName": "", @@ -13699,11 +13840,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::TopDownMultitouchMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"Analog\"" ] @@ -13728,11 +13868,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::TopDownMultitouchMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"360°\"" ] @@ -13757,11 +13896,10 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::TopDownMultitouchMapper::PropertyStickMode" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "StickMode", "=", "\"8 Directions\"" ] @@ -14492,10 +14630,12 @@ "conditions": [ { "type": { - "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::PropertyShouldBeHiddenWhenReleased" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShouldBeHiddenWhenReleased", + "True", + "" ] }, { @@ -14527,6 +14667,16 @@ "no", "" ] + }, + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "ShouldBeHiddenWhenReleased", + "False", + "" + ] } ] } @@ -14687,11 +14837,12 @@ }, { "type": { - "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::SetPropertyShouldBeHiddenWhenReleased" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "yes" + "ShouldBeHiddenWhenReleased", + "True", + "" ] }, { @@ -14817,10 +14968,12 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldActivate\"" + "ShouldActivate", + "True", + "" ] } ], @@ -14842,10 +14995,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldActivate\"" + "ShouldActivate", + "True", + "" ] } ], @@ -15529,13 +15684,13 @@ "category": "Movement", "extensionNamespace": "", "fullName": "Boids movement", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "/extensions/boids-movement/details/", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cGF0aCBkPSJNMjkuMywxMC4xYy0wLjQtMC4xLTAuOCwwLTEuMSwwLjNsLTMuMiw0Yy0xLjctMi01LjktNi40LTExLTYuNGMtMC4yLDAtMC4zLDAtMC41LDBjMS40LDIuNCwyLjEsNS4xLDIuMSw4DQoJCWMwLDIuOC0wLjcsNS42LTIuMSw4YzAuMiwwLDAuMywwLDAuNSwwYzUuMSwwLDkuMy00LjMsMTEtNi40bDMuMiw0YzAuMiwwLjIsMC41LDAuNCwwLjgsMC40YzAuMSwwLDAuMiwwLDAuMy0wLjENCgkJYzAuNC0wLjEsMC43LTAuNSwwLjctMC45VjExQzMwLDEwLjYsMjkuNywxMC4yLDI5LjMsMTAuMXoiLz4NCgk8cGF0aCBkPSJNMTEuNCw4LjRjLTUuMiwxLjUtOSw2LjgtOS4yLDdjLTAuMiwwLjMtMC4yLDAuOCwwLDEuMmMwLjIsMC4zLDQsNS42LDkuMiw3YzEuNS0yLjMsMi4yLTQuOSwyLjItNy42DQoJCUMxMy42LDEzLjMsMTIuOCwxMC42LDExLjQsOC40eiBNMTAsMTZjMCwwLjYtMC40LDEtMSwxcy0xLTAuNC0xLTF2LTJjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMVYxNnoiLz4NCjwvZz4NCjwvc3ZnPg0K", "name": "BoidsMovement", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Glyphster Pack/Master/SVG/Restaurant/Restaurant_restaurant_seafood_animal_fish.svg", "shortDescription": "Simulates flocks movement.", - "version": "0.3.2", + "version": "0.4.1", "description": [ "Simulates swarms or flocks movement following the separation, alignment, cohesion principles. The flock can be attracted to a location or avoid some obstacles.", "", @@ -16918,11 +17073,12 @@ "conditions": [ { "type": { - "value": "BoidsMovement::BoidsMovement::PropertyShouldRotate" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldRotate", + "True", + "" ] } ], @@ -17008,11 +17164,10 @@ "actions": [ { "type": { - "value": "BoidsMovement::BoidsMovement::SetPropertyMaxSpeed" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxSpeed", "=", "Value" ] @@ -17095,11 +17250,10 @@ "actions": [ { "type": { - "value": "BoidsMovement::BoidsMovement::SetPropertyMaxAcceleration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxAcceleration", "=", "Value" ] @@ -17182,11 +17336,10 @@ "actions": [ { "type": { - "value": "BoidsMovement::BoidsMovement::SetPropertyCohesionRadius" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CohesionRadius", "=", "Value" ] @@ -17269,11 +17422,10 @@ "actions": [ { "type": { - "value": "BoidsMovement::BoidsMovement::SetPropertyAlignmentRadius" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AlignmentRadius", "=", "Value" ] @@ -17356,11 +17508,10 @@ "actions": [ { "type": { - "value": "BoidsMovement::BoidsMovement::SetPropertySeparationRadius" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "SeparationRadius", "=", "Value" ] @@ -17443,11 +17594,10 @@ "actions": [ { "type": { - "value": "BoidsMovement::BoidsMovement::SetPropertyCohesionWeight" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CohesionWeight", "=", "Value" ] @@ -17530,11 +17680,10 @@ "actions": [ { "type": { - "value": "BoidsMovement::BoidsMovement::SetPropertyAlignmentWeight" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AlignmentWeight", "=", "Value" ] @@ -17617,11 +17766,10 @@ "actions": [ { "type": { - "value": "BoidsMovement::BoidsMovement::SetPropertySeparationWeight" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "SeparationWeight", "=", "Value" ] @@ -17672,6 +17820,7 @@ "type": "Boolean", "label": "Rotate object", "group": "Movement", + "quickCustomizationVisibility": "hidden", "name": "ShouldRotate" }, { @@ -17680,6 +17829,7 @@ "unit": "Pixel", "label": "Cohesion sight radius", "group": "Sight", + "quickCustomizationVisibility": "hidden", "name": "CohesionRadius" }, { @@ -17688,6 +17838,7 @@ "unit": "Pixel", "label": "Alignement sight radius", "group": "Sight", + "quickCustomizationVisibility": "hidden", "name": "AlignmentRadius" }, { @@ -17696,6 +17847,7 @@ "unit": "Pixel", "label": "Separation sight radius", "group": "Sight", + "quickCustomizationVisibility": "hidden", "name": "SeparationRadius" }, { @@ -17704,6 +17856,7 @@ "unit": "Dimensionless", "label": "Cohesion decision weight", "group": "Decision", + "quickCustomizationVisibility": "hidden", "name": "CohesionWeight" }, { @@ -17712,6 +17865,7 @@ "unit": "Dimensionless", "label": "Alignment decision weight", "group": "Decision", + "quickCustomizationVisibility": "hidden", "name": "AlignmentWeight" }, { @@ -17720,6 +17874,7 @@ "unit": "Dimensionless", "label": "Separation decision weight", "group": "Decision", + "quickCustomizationVisibility": "hidden", "name": "SeparationWeight" }, { @@ -17728,6 +17883,7 @@ "unit": "Dimensionless", "label": "Collision layer", "advanced": true, + "quickCustomizationVisibility": "hidden", "name": "CollisionLayer" } ], @@ -17741,13 +17897,13 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Panel sprite button", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "/objects/button", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI5LDIzSDNjLTEuMSwwLTItMC45LTItMlYxMWMwLTEuMSwwLjktMiwyLTJoMjZjMS4xLDAsMiwwLjksMiwydjEwQzMxLDIyLjEsMzAuMSwyMywyOSwyM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMywxOUwxMywxOWMtMS4xLDAtMi0wLjktMi0ydi0yYzAtMS4xLDAuOS0yLDItMmgwYzEuMSwwLDIsMC45LDIsMnYyQzE1LDE4LjEsMTQuMSwxOSwxMywxOXoiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIxOCIgeTE9IjEzIiB4Mj0iMTgiIHkyPSIxOSIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjIxIiB5MT0iMTMiIHgyPSIxOCIgeTI9IjE3Ii8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMjEiIHkxPSIxOSIgeDI9IjE5IiB5Mj0iMTYiLz4NCjwvc3ZnPg0K", "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.", "", @@ -17808,11 +17964,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -17821,11 +17976,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -17859,12 +18013,12 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyMouseIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "MouseIsInside", + "False", + "" ] } ] @@ -17874,11 +18028,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyShouldCheckHovering" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldCheckHovering", + "True", + "" ] }, { @@ -17895,12 +18050,12 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyMouseIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "MouseIsInside", + "True", + "" ] } ] @@ -17923,12 +18078,12 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "TouchIsInside", + "False", + "" ] } ] @@ -17938,11 +18093,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyTouchId" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "!=", "0" ] @@ -17961,12 +18115,12 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "TouchIsInside", + "True", + "" ] } ] @@ -17998,11 +18152,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "=", "0" ] @@ -18032,23 +18185,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", + "" ] } ], @@ -18090,11 +18242,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -18109,11 +18260,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "+", "1" ] @@ -18142,20 +18292,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\"" ] @@ -18164,11 +18314,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -18180,20 +18329,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\"" ] @@ -18202,11 +18351,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -18219,20 +18367,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\"" ] @@ -18241,11 +18389,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -18257,20 +18404,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\"" ] @@ -18279,11 +18426,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -18318,11 +18464,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -18334,11 +18479,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -18347,11 +18491,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -18364,11 +18507,10 @@ { "type": { "inverted": true, - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -18376,11 +18518,10 @@ { "type": { "inverted": true, - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -18389,11 +18530,10 @@ "actions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -18476,22 +18616,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" ] @@ -18526,11 +18664,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -18575,11 +18712,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -18624,11 +18760,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -18673,11 +18808,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -18699,11 +18833,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -18748,11 +18881,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -18797,11 +18929,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -19394,10 +19525,10 @@ }, { "type": { - "value": "PanelSpriteButton::PanelSpriteButton::PropertyHoveredFadeOutDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "HoveredFadeOutDuration", ">", "0" ] @@ -19425,10 +19556,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteButton::PanelSpriteButton::PropertyHoveredFadeOutDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", + "HoveredFadeOutDuration", "=", "0" ] @@ -20103,11 +20234,11 @@ "objectGroups": [] }, { - "description": "Return the label text.", + "description": "the label text.", "fullName": "Label text", - "functionType": "StringExpression", + "functionType": "ExpressionAndCondition", "name": "LabelText", - "sentence": "", + "sentence": "the label text", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20301,10 +20432,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldActivate\"" + "ShouldActivate", + "True", + "" ] } ], @@ -20327,10 +20460,12 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldActivate\"" + "ShouldActivate", + "True", + "" ] } ], @@ -23236,13 +23371,13 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Flash and transition painter", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLW1vdmllLWZpbHRlciIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xOCA0TDIwIDdIMTdMMTUgNEgxM0wxNSA3SDEyTDEwIDRIOEwxMCA3SDdMNSA0SDRDMi45IDQgMiA0LjkgMiA2TDIgMThDMiAxOS4xIDIuOSAyMCA0IDIwSDIwQzIxLjEgMjAgMjIgMTkuMSAyMiAxOFY0SDE4TTExLjI1IDE1LjI1TDEwIDE4TDguNzUgMTUuMjVMNiAxNEw4Ljc1IDEyLjc1TDEwIDEwTDExLjI1IDEyLjc1TDE0IDE0TDExLjI1IDE1LjI1TTE2Ljk0IDExLjk0TDE2IDE0TDE1LjA2IDExLjk0TDEzIDExTDE1LjA2IDEwLjA2TDE2IDhMMTYuOTQgMTAuMDZMMTkgMTFMMTYuOTQgMTEuOTRaIiAvPjwvc3ZnPg==", "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", @@ -23377,11 +23512,10 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyProgress" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Progress", "=", "min(1, Object.ObjectTimerElapsedTime(\"__FlashTransitionPainter_Time\") / Duration)" ] @@ -23401,11 +23535,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyProgress" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Progress", "=", "1" ] @@ -23438,11 +23571,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyDirection" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Direction", "=", "\"Backward\"" ] @@ -23451,11 +23583,10 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyProgress" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Progress", "=", "1 - Progress" ] @@ -23467,11 +23598,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyDirection" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Direction", "=", "\"Both\"" ] @@ -23480,11 +23610,10 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyProgress" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Progress", "=", "min(2 * Progress, 2 * (1 - Progress))" ] @@ -23496,11 +23625,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyProgress" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Progress", ">", "0" ] @@ -23533,11 +23661,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyType" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Type", "=", "\"Flash\"" ] @@ -23597,11 +23724,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyType" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Type", "=", "\"Horizontal\"" ] @@ -23651,11 +23777,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyType" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Type", "=", "\"Vertical\"" ] @@ -23705,11 +23830,10 @@ "conditions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::PropertyType" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "Type", "=", "\"Circular\"" ] @@ -23815,33 +23939,30 @@ }, { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Duration", "=", "NewDuration" ] }, { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyDirection" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "Direction", "=", "NewDirection" ] }, { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyProgress" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Progress", "=", "0" ] @@ -23854,11 +23975,10 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyType" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "Type", "=", "\"Flash\"" ] @@ -23870,10 +23990,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsString" + "value": "StringVariable" }, "parameters": [ - "\"NewType\"", + "NewType", "!=", "\"\"" ] @@ -23882,11 +24002,10 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyType" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "Type", "=", "NewType" ] @@ -23898,10 +24017,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsString" + "value": "StringVariable" }, "parameters": [ - "\"Color\"", + "Color", "!=", "\"\"" ] @@ -23925,11 +24044,10 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyMaxOpacity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxOpacity", "=", "255" ] @@ -23941,10 +24059,10 @@ "conditions": [ { "type": { - "value": "CompareArgumentAsNumber" + "value": "NumberVariable" }, "parameters": [ - "\"NewMaxOpacity\"", + "NewMaxOpacity", "!=", "0" ] @@ -23953,11 +24071,10 @@ "actions": [ { "type": { - "value": "FlashTransitionPainter::FlashTransitionPainter::SetPropertyMaxOpacity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxOpacity", "=", "NewMaxOpacity" ] @@ -24107,13 +24224,13 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Slider", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "/objects/slider", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSI3IiByPSIzIi8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMyIgeTE9IjciIHgyPSIyMCIgeTI9IjciLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjciIHgyPSIyNiIgeTI9IjciLz4NCjxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjEyIiBjeT0iMTYiIHI9IjMiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIzIiB5MT0iMTYiIHgyPSI5IiB5Mj0iMTYiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjE2IiB4Mj0iMTUiIHkyPSIxNiIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSIyNSIgcj0iMyIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjMiIHkxPSIyNSIgeDI9IjIwIiB5Mj0iMjUiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjI1IiB4Mj0iMjYiIHkyPSIyNSIvPg0KPC9zdmc+DQo=", "name": "PanelSpriteSlider", "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/Line Hero Pack/Master/SVG/UI Essentials/1678c39a3b2bd3df4f82a8a293770db4986a6bcfd3f78e738ddfc86e39176423_UI Essentials_sliders_options.svg", "shortDescription": "A draggable slider that users can move to select a numerical value.", - "version": "1.4.4", + "version": "1.5.1", "description": [ "A draggable slider that users can move to select a numerical value. The slider can be customized with sprites.", "", @@ -24161,7 +24278,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Value" + "CurrentValue" ] } ] @@ -24197,11 +24314,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::Slider::PropertyStepSize" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StepSize", "=", "0" ] @@ -24210,11 +24326,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::Slider::SetPropertyValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentValue", "=", "clamp(Value, MinValue, MaxValue)" ] @@ -24226,11 +24341,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::Slider::PropertyStepSize" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StepSize", "!=", "0" ] @@ -24239,11 +24353,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::Slider::SetPropertyValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentValue", "=", "clamp(round(Value / StepSize) * StepSize, MinValue, MaxValue)" ] @@ -24320,11 +24433,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::Slider::SetPropertyMinValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MinValue", "=", "Value" ] @@ -24413,11 +24525,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::Slider::SetPropertyMaxValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxValue", "=", "Value" ] @@ -24546,11 +24657,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::Slider::SetPropertyStepSize" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "StepSize", "=", "Value" ] @@ -24591,7 +24701,7 @@ "value": "0", "type": "Number", "label": "Value", - "name": "Value" + "name": "CurrentValue" }, { "value": "0", @@ -24653,11 +24763,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -24666,11 +24775,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -24704,12 +24812,12 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyMouseIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "MouseIsInside", + "False", + "" ] } ] @@ -24719,11 +24827,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyShouldCheckHovering" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldCheckHovering", + "True", + "" ] }, { @@ -24740,12 +24849,12 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyMouseIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "MouseIsInside", + "True", + "" ] } ] @@ -24768,12 +24877,12 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "TouchIsInside", + "False", + "" ] } ] @@ -24783,11 +24892,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyTouchId" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "!=", "0" ] @@ -24806,12 +24914,12 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "TouchIsInside", + "True", + "" ] } ] @@ -24843,11 +24951,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "=", "0" ] @@ -24877,23 +24984,22 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "StartedTouchOrMouseId(Index)" ] }, { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "TouchIsInside", + "True", + "" ] } ], @@ -24935,11 +25041,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -24954,11 +25059,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "+", "1" ] @@ -24987,20 +25091,20 @@ { "type": { "inverted": true, - "value": "PanelSpriteSlider::ButtonFSM::PropertyMouseIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "MouseIsInside", + "True", + "" ] }, { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -25009,11 +25113,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -25025,20 +25128,20 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyMouseIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "MouseIsInside", + "True", + "" ] }, { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -25047,11 +25150,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -25064,20 +25166,20 @@ { "type": { "inverted": true, - "value": "PanelSpriteSlider::ButtonFSM::PropertyTouchIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "TouchIsInside", + "True", + "" ] }, { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -25086,11 +25188,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -25102,20 +25203,20 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyTouchIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "TouchIsInside", + "True", + "" ] }, { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -25124,11 +25225,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -25163,11 +25263,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -25179,11 +25278,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -25192,11 +25290,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -25209,11 +25306,10 @@ { "type": { "inverted": true, - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -25221,11 +25317,10 @@ { "type": { "inverted": true, - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -25234,11 +25329,10 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -25281,22 +25375,20 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] }, { "type": { - "value": "PanelSpriteSlider::ButtonFSM::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -25331,11 +25423,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -25380,11 +25471,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -25429,11 +25519,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -25478,11 +25567,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -25504,11 +25592,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -25553,11 +25640,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -25602,11 +25688,10 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -25940,12 +26025,12 @@ "actions": [ { "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetPropertyPreviousInitialValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", + "PreviousInitialValue", "=", - "Object.PropertyInitialValue()" + "InitialValue" ] } ] @@ -26123,7 +26208,7 @@ "parameters": [ "Object", "=", - "Object.PropertyInitialValue()", + "InitialValue", "Object.PropertyInitialValue()" ] } @@ -26208,24 +26293,24 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::PropertyInitialValue" + "value": "NumberVariable" }, "parameters": [ - "Object", + "InitialValue", "!=", - "Object.PropertyPreviousInitialValue()" + "PreviousInitialValue" ] } ], "actions": [ { "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetPropertyPreviousInitialValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", + "PreviousInitialValue", "=", - "Object.PropertyInitialValue()" + "InitialValue" ] }, { @@ -26235,7 +26320,7 @@ "parameters": [ "Object", "=", - "Object.PropertyInitialValue()", + "InitialValue", "Object.PropertyInitialValue()" ] } @@ -26353,10 +26438,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::PropertyShowLabelAtChanges" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShowLabelAtChanges", + "True", + "" ] } ], @@ -26415,10 +26502,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::PropertyShowLabelAtChanges" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShowLabelAtChanges", + "True", + "" ] } ], @@ -26466,10 +26555,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::PropertyShowLabelAtChanges" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShowLabelAtChanges", + "True", + "" ] }, { @@ -26625,30 +26716,33 @@ }, { "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::Scale" + "value": "ScalableCapability::ScalableBehavior::SetValue" }, "parameters": [ "Object", + "Scale", "=", "1" ] }, { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "Background", + "Resizable", "=", "Width" ] }, { "type": { - "value": "PanelSpriteObject::Height" + "value": "ResizableCapability::ResizableBehavior::SetHeight" }, "parameters": [ "Background", + "Resizable", "=", "Height" ] @@ -27175,10 +27269,12 @@ "conditions": [ { "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::PropertyShowLabelAtChanges" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "ShowLabelAtChanges", + "True", + "" ] } ], @@ -27218,21 +27314,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetPropertyShowLabelAtChanges" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "no" + "ShowLabelAtChanges", + "False", + "" ] }, { @@ -27250,21 +27349,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "PanelSpriteSlider::PanelSpriteSlider::SetPropertyShowLabelAtChanges" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "yes" + "ShowLabelAtChanges", + "True", + "" ] }, { @@ -27320,10 +27422,11 @@ }, { "type": { - "value": "PanelSpriteObject::Height" + "value": "ResizableCapability::ResizableBehavior::SetHeight" }, "parameters": [ "FillBar", + "Resizable", "=", "round(Background.Height() - Object.PropertyBarTopPadding() - Object.PropertyBarBottomPadding())" ] @@ -27373,10 +27476,11 @@ "actions": [ { "type": { - "value": "PanelSpriteObject::Width" + "value": "ResizableCapability::ResizableBehavior::SetWidth" }, "parameters": [ "FillBar", + "Resizable", "=", "Object.FullBarWidth() * (FillBar.Slider::Value() - FillBar.Slider::MinValue()) / FillBar.Slider::Size()" ] @@ -27415,10 +27519,11 @@ "actions": [ { "type": { - "value": "TextObject::String" + "value": "TextContainerCapability::TextContainerBehavior::SetValue" }, "parameters": [ "Label", + "Text", "=", "ToString(Object.Value())" ] @@ -27440,12 +27545,12 @@ "parameters": [ "Label", "=", - "Thumb.Y() - Label.Height() - Object.PropertyLabelMargin()" + "Thumb.Y() - Label.Height() - LabelMargin" ] }, { "type": { - "value": "TextObject::Angle" + "value": "SetAngle" }, "parameters": [ "Label", @@ -27484,7 +27589,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.PropertyBarLeftPadding()" + "BarLeftPadding" ] } ] @@ -27519,7 +27624,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Background.Width() - Object.PropertyBarRightPadding()" + "Background.Width() - BarRightPadding" ] } ] @@ -27554,7 +27659,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Background.Width() - Object.PropertyBarLeftPadding() - Object.PropertyBarRightPadding()" + "Background.Width() - BarLeftPadding - BarRightPadding" ] } ] @@ -27604,9 +27709,8 @@ "parameters": [ "Object", "=", - "Object.PropertyMinValue()", - "Object.PropertyMaxValue()", - "" + "MinValue", + "Object.PropertyMaxValue()" ] }, { @@ -27616,7 +27720,7 @@ "parameters": [ "Object", "=", - "Object.PropertyMaxValue()", + "MaxValue", "Object.PropertyMaxValue()" ] }, @@ -27627,7 +27731,7 @@ "parameters": [ "Object", "=", - "Object.PropertyStepSize()", + "StepSize", "Object.PropertyMaxValue()" ] } @@ -27656,10 +27760,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldActivate\"" + "ShouldActivate", + "True", + "" ] } ], @@ -27692,10 +27798,12 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShouldActivate\"" + "ShouldActivate", + "True", + "" ] } ], @@ -27927,13 +28035,13 @@ "category": "User interface", "extensionNamespace": "", "fullName": "Button states and effects", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "/objects/button", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWdlc3R1cmUtdGFwLWJ1dHRvbiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMyA1QzE1LjIxIDUgMTcgNi43OSAxNyA5QzE3IDEwLjUgMTYuMiAxMS43NyAxNSAxMi40NlYxMS4yNEMxNS42MSAxMC42OSAxNiA5Ljg5IDE2IDlDMTYgNy4zNCAxNC42NiA2IDEzIDZTMTAgNy4zNCAxMCA5QzEwIDkuODkgMTAuMzkgMTAuNjkgMTEgMTEuMjRWMTIuNDZDOS44IDExLjc3IDkgMTAuNSA5IDlDOSA2Ljc5IDEwLjc5IDUgMTMgNU0yMCAyMC41QzE5Ljk3IDIxLjMyIDE5LjMyIDIxLjk3IDE4LjUgMjJIMTNDMTIuNjIgMjIgMTIuMjYgMjEuODUgMTIgMjEuNTdMOCAxNy4zN0w4Ljc0IDE2LjZDOC45MyAxNi4zOSA5LjIgMTYuMjggOS41IDE2LjI4SDkuN0wxMiAxOFY5QzEyIDguNDUgMTIuNDUgOCAxMyA4UzE0IDguNDUgMTQgOVYxMy40N0wxNS4yMSAxMy42TDE5LjE1IDE1Ljc5QzE5LjY4IDE2LjAzIDIwIDE2LjU2IDIwIDE3LjE0VjIwLjVNMjAgMkg0QzIuOSAyIDIgMi45IDIgNFYxMkMyIDEzLjExIDIuOSAxNCA0IDE0SDhWMTJMNCAxMkw0IDRIMjBMMjAgMTJIMThWMTRIMjBWMTMuOTZMMjAuMDQgMTRDMjEuMTMgMTQgMjIgMTMuMDkgMjIgMTJWNEMyMiAyLjkgMjEuMTEgMiAyMCAyWiIgLz48L3N2Zz4=", "name": "ButtonStates", "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/753a9a794bd885058159b7509f06f5a8f67f72decfccb9a1b0efee26f41c3c4c_gesture-tap-button.svg", "shortDescription": "Use any object as a button and change appearance according to user interactions.", - "version": "1.2.0", + "version": "1.3.1", "description": [ "Use the \"Button states\" behavior to track user interactions with an object, including:", "", @@ -28004,11 +28112,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -28017,11 +28124,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -28055,12 +28161,12 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyMouseIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "MouseIsInside", + "False", + "" ] } ] @@ -28070,11 +28176,12 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyShouldCheckHovering" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ShouldCheckHovering", + "True", + "" ] }, { @@ -28091,12 +28198,12 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyMouseIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "MouseIsInside", + "True", + "" ] } ] @@ -28119,12 +28226,12 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "TouchIsInside", + "False", + "" ] } ] @@ -28134,11 +28241,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyTouchId" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "!=", "0" ] @@ -28157,12 +28263,12 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "TouchIsInside", + "True", + "" ] } ] @@ -28194,11 +28300,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "=", "0" ] @@ -28228,23 +28333,22 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "StartedTouchOrMouseId(Index)" ] }, { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyTouchIsInside" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "TouchIsInside", + "True", + "" ] } ], @@ -28260,22 +28364,20 @@ "subInstructions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] }, { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -28286,11 +28388,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -28305,11 +28406,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyIndex" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "Index", "+", "1" ] @@ -28338,20 +28438,20 @@ { "type": { "inverted": true, - "value": "ButtonStates::ButtonFSM::PropertyMouseIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "MouseIsInside", + "True", + "" ] }, { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -28360,11 +28460,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -28376,20 +28475,20 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyMouseIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "MouseIsInside", + "True", + "" ] }, { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -28398,11 +28497,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -28415,20 +28513,20 @@ { "type": { "inverted": true, - "value": "ButtonStates::ButtonFSM::PropertyTouchIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "TouchIsInside", + "True", + "" ] }, { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -28437,11 +28535,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -28453,20 +28550,20 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyTouchIsInside" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "TouchIsInside", + "True", + "" ] }, { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -28475,11 +28572,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -28514,11 +28610,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -28530,11 +28625,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -28543,11 +28637,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -28560,11 +28653,10 @@ { "type": { "inverted": true, - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -28572,11 +28664,10 @@ { "type": { "inverted": true, - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -28585,11 +28676,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -28672,22 +28762,20 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] }, { "type": { - "value": "ButtonStates::ButtonFSM::SetPropertyTouchId" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TouchId", "=", "0" ] @@ -28722,11 +28810,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Idle\"" ] @@ -28771,11 +28858,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Validated\"" ] @@ -28820,11 +28906,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -28869,11 +28954,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"Hovered\"" ] @@ -28895,11 +28979,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -28944,11 +29027,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedInside\"" ] @@ -28993,11 +29075,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonFSM::PropertyState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "State", "=", "\"PressedOutside\"" ] @@ -29251,11 +29332,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffects::PropertyIdleEffect" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "IdleEffect", "!=", "\"\"" ] @@ -29290,11 +29370,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffects::PropertyFocusedEffect" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "FocusedEffect", "!=", "\"\"" ] @@ -29329,11 +29408,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffects::PropertyPressedEffect" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "PressedEffect", "!=", "\"\"" ] @@ -29436,11 +29514,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffects::SetPropertyIdleEffect" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "IdleEffect", "=", "Value" ] @@ -29517,11 +29594,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffects::SetPropertyFocusedEffect" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "FocusedEffect", "=", "Value" ] @@ -29598,11 +29674,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffects::SetPropertyPressedEffect" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PressedEffect", "=", "Value" ] @@ -29887,11 +29962,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonAnimationName::SetPropertyIdleAnimationName" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "IdleAnimationName", "=", "Value" ] @@ -29968,11 +30042,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonAnimationName::SetPropertyFocusedAnimationName" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "FocusedAnimationName", "=", "Value" ] @@ -30049,11 +30122,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonAnimationName::SetPropertyPressedAnimationName" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PressedAnimationName", "=", "Value" ] @@ -30139,11 +30211,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyEffectValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "EffectValue", "=", "IdleValue" ] @@ -30196,11 +30267,10 @@ }, { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::PropertyPreviousState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "!=", "\"Idle\"" ] @@ -30209,11 +30279,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyPreviousState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Idle\"" ] @@ -30252,11 +30321,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::PropertyPreviousState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Idle\"" ] @@ -30265,11 +30333,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyPreviousState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Focused\"" ] @@ -30292,11 +30359,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::PropertyPreviousState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Pressed\"" ] @@ -30305,11 +30371,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyPreviousState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Focused\"" ] @@ -30344,11 +30409,10 @@ }, { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::PropertyPreviousState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "!=", "\"Pressed\"" ] @@ -30357,11 +30421,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyPreviousState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Pressed\"" ] @@ -30396,11 +30459,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::PropertyTweenState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenState", "=", "\"FadeIn\"" ] @@ -30426,11 +30488,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::PropertyTweenState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenState", "=", "\"FadeOut\"" ] @@ -30523,44 +30584,40 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyTweenTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenTime", "=", "0" ] }, { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyTweenState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenState", "=", "\"FadeIn\"" ] }, { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyTweenInitialValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenInitialValue", "=", "EffectValue" ] }, { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyTweenTargetedValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenTargetedValue", "=", "Value" ] @@ -30601,44 +30658,40 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyTweenTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenTime", "=", "0" ] }, { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyTweenState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenState", "=", "\"FadeOut\"" ] }, { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyTweenInitialValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenInitialValue", "=", "EffectValue" ] }, { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyTweenTargetedValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenTargetedValue", "=", "Value" ] @@ -30678,11 +30731,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::PropertyTweenTime" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenTime", "<", "Duration" ] @@ -30691,22 +30743,20 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyTweenTime" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenTime", "+", "Object.Behavior::TimeDelta()" ] }, { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyEffectValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "EffectValue", "=", "Tween::Ease(Easing, TweenInitialValue, TweenTargetedValue, TweenTime / Duration)" ] @@ -30718,11 +30768,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::PropertyTweenTime" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenTime", ">=", "Duration" ] @@ -30731,22 +30780,20 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyTweenState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "TweenState", "=", "\"NoTween\"" ] }, { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyEffectValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "EffectValue", "=", "TweenTargetedValue" ] @@ -30895,22 +30942,20 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyEffectName" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "EffectName", "=", "NewEffectName" ] }, { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyEffectProperty" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "EffectProperty", "=", "NewPropertyName" ] @@ -30997,11 +31042,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyIdleValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "IdleValue", "=", "Value" ] @@ -31078,11 +31122,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyFocusedValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FocusedValue", "=", "Value" ] @@ -31159,11 +31202,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyPressedValue" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PressedValue", "=", "Value" ] @@ -31241,11 +31283,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyFadeInEasing" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "FadeInEasing", "=", "Value" ] @@ -31323,11 +31364,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyFadeOutEasing" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "FadeOutEasing", "=", "Value" ] @@ -31404,11 +31444,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyFadeInDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FadeInDuration", "=", "Value" ] @@ -31485,11 +31524,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonObjectEffectTween::SetPropertyFadeOutDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FadeOutDuration", "=", "Value" ] @@ -31799,11 +31837,10 @@ }, { "type": { - "value": "ButtonStates::ButtonScaleTween::PropertyPreviousState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "!=", "\"Idle\"" ] @@ -31812,11 +31849,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonScaleTween::SetPropertyPreviousState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Idle\"" ] @@ -31855,11 +31891,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonScaleTween::PropertyPreviousState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Idle\"" ] @@ -31868,11 +31903,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonScaleTween::SetPropertyPreviousState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Focused\"" ] @@ -31895,11 +31929,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonScaleTween::PropertyPreviousState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Pressed\"" ] @@ -31908,11 +31941,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonScaleTween::SetPropertyPreviousState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Focused\"" ] @@ -31947,11 +31979,10 @@ }, { "type": { - "value": "ButtonStates::ButtonScaleTween::PropertyPreviousState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "!=", "\"Pressed\"" ] @@ -31960,11 +31991,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonScaleTween::SetPropertyPreviousState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Pressed\"" ] @@ -32155,11 +32185,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonScaleTween::SetPropertyIdleScale" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "IdleScale", "=", "Value" ] @@ -32236,11 +32265,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonScaleTween::SetPropertyFocusedScale" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FocusedScale", "=", "Value" ] @@ -32317,11 +32345,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonScaleTween::SetPropertyPressedScale" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PressedScale", "=", "Value" ] @@ -32398,11 +32425,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonScaleTween::SetPropertyFadeInDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FadeInDuration", "=", "Value" ] @@ -32479,11 +32505,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonScaleTween::SetPropertyFadeOutDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FadeOutDuration", "=", "Value" ] @@ -32561,11 +32586,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonScaleTween::SetPropertyFadeInEasing" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "FadeInEasing", "=", "Value" ] @@ -32643,11 +32667,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonScaleTween::SetPropertyFadeOutEasing" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "FadeOutEasing", "=", "Value" ] @@ -32913,11 +32936,10 @@ }, { "type": { - "value": "ButtonStates::ButtonColorTintTween::PropertyPreviousState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "!=", "\"Idle\"" ] @@ -32926,11 +32948,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonColorTintTween::SetPropertyPreviousState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Idle\"" ] @@ -32969,11 +32990,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonColorTintTween::PropertyPreviousState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Idle\"" ] @@ -32982,11 +33002,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonColorTintTween::SetPropertyPreviousState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Focused\"" ] @@ -33009,11 +33028,10 @@ "conditions": [ { "type": { - "value": "ButtonStates::ButtonColorTintTween::PropertyPreviousState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Pressed\"" ] @@ -33022,11 +33040,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonColorTintTween::SetPropertyPreviousState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Focused\"" ] @@ -33061,11 +33078,10 @@ }, { "type": { - "value": "ButtonStates::ButtonColorTintTween::PropertyPreviousState" + "value": "StringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "!=", "\"Pressed\"" ] @@ -33074,11 +33090,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonColorTintTween::SetPropertyPreviousState" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PreviousState", "=", "\"Pressed\"" ] @@ -33271,11 +33286,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonColorTintTween::SetPropertyIdleColorTint" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "IdleColorTint", "=", "Value" ] @@ -33354,11 +33368,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonColorTintTween::SetPropertyFocusedColorTint" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "FocusedColorTint", "=", "Value" ] @@ -33437,11 +33450,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonColorTintTween::SetPropertyPressedColorTint" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "PressedColorTint", "=", "Value" ] @@ -33520,11 +33532,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonColorTintTween::SetPropertyFadeInDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FadeInDuration", "=", "Value" ] @@ -33603,11 +33614,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonColorTintTween::SetPropertyFadeOutDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FadeOutDuration", "=", "Value" ] @@ -33687,11 +33697,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonColorTintTween::SetPropertyFadeInEasing" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "FadeInEasing", "=", "Value" ] @@ -33771,11 +33780,10 @@ "actions": [ { "type": { - "value": "ButtonStates::ButtonColorTintTween::SetPropertyFadeOutEasing" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "FadeOutEasing", "=", "Value" ] @@ -33964,13 +33972,13 @@ "category": "Visual effect", "extensionNamespace": "", "fullName": "Shake object", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWFycm93LWFsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMywxMUgxOEwxNi41LDkuNUwxNy45Miw4LjA4TDIxLjg0LDEyTDE3LjkyLDE1LjkyTDE2LjUsMTQuNUwxOCwxM0gxM1YxOEwxNC41LDE2LjVMMTUuOTIsMTcuOTJMMTIsMjEuODRMOC4wOCwxNy45Mkw5LjUsMTYuNUwxMSwxOFYxM0g2TDcuNSwxNC41TDYuMDgsMTUuOTJMMi4xNiwxMkw2LjA4LDguMDhMNy41LDkuNUw2LDExSDExVjZMOS41LDcuNUw4LjA4LDYuMDhMMTIsMi4xNkwxNS45Miw2LjA4TDE0LjUsNy41TDEzLDZWMTFaIiAvPjwvc3ZnPg==", "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).", "", @@ -34158,10 +34166,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShakeForever\"" + "ShakeForever", + "True", + "" ] } ], @@ -36155,10 +36165,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShakeForever\"" + "ShakeForever", + "True", + "" ] } ], @@ -38385,13 +38397,13 @@ "category": "Camera", "extensionNamespace": "", "fullName": "Camera shake", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXZlY3Rvci1kaWZmZXJlbmNlLWFiIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTMsMUMxLjg5LDEgMSwxLjg5IDEsM1Y1SDNWM0g1VjFIM003LDFWM0gxMFYxSDdNMTIsMVYzSDE0VjVIMTZWM0MxNiwxLjg5IDE1LjExLDEgMTQsMUgxMk0xLDdWMTBIM1Y3SDFNMTQsN0MxNCw3IDE0LDExLjY3IDE0LDE0QzExLjY3LDE0IDcsMTQgNywxNEM3LDE0IDcsMTggNywyMEM3LDIxLjExIDcuODksMjIgOSwyMkgyMEMyMS4xMSwyMiAyMiwyMS4xMSAyMiwyMFY5QzIyLDcuODkgMjEuMTEsNyAyMCw3QzE4LDcgMTQsNyAxNCw3TTE2LDlIMjBWMjBIOVYxNkgxNEMxNS4xMSwxNiAxNiwxNS4xMSAxNiwxNFY5TTEsMTJWMTRDMSwxNS4xMSAxLjg5LDE2IDMsMTZINVYxNEgzVjEySDFaIiAvPjwvc3ZnPg==", "name": "CameraShake", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/vector-difference-ab.svg", "shortDescription": "Shake layer cameras.", - "version": "3.1.2", + "version": "3.2.0", "description": [ "Shake layer cameras with translation, rotation and zoom.", "", @@ -39650,7 +39662,7 @@ "parameters": [ "", "", - "Layer", + "NewLayer", "" ] } @@ -39677,7 +39689,7 @@ "parameters": [ "Layer", "=", - "Layer" + "NewLayer" ] }, { @@ -39687,7 +39699,7 @@ "parameters": [ "Duration", "=", - "Duration" + "NewDuration" ] }, { @@ -39707,7 +39719,7 @@ "parameters": [ "StopEaseDuration", "=", - "Duration" + "NewDuration" ] }, { @@ -39825,10 +39837,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"ShakeForever\"" + "ShakeForever", + "True", + "" ] } ], @@ -39865,7 +39879,7 @@ "value": "NumberVariable" }, "parameters": [ - "Duration", + "NewDuration", "=", "0" ] @@ -39901,7 +39915,7 @@ }, { "description": "Layer (base layer if empty)", - "name": "Layer", + "name": "NewLayer", "type": "layer" }, { @@ -39911,7 +39925,7 @@ }, { "description": "Duration (in seconds) (Default: 0.5)", - "name": "Duration", + "name": "NewDuration", "type": "expression" }, { @@ -40101,10 +40115,12 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Shakable\"" + "Shakable", + "True", + "" ] } ], @@ -40126,10 +40142,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Shakable\"" + "Shakable", + "True", + "" ] } ], @@ -41960,13 +41978,13 @@ "category": "Game mechanic", "extensionNamespace": "", "fullName": "Health points and damage", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWhlYXJ0LWhhbGYtZnVsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNi41LDVDMTUsNSAxMy41OCw1LjkxIDEzLDcuMlYxNy43NEMxNy4yNSwxMy44NyAyMCwxMS4yIDIwLDguNUMyMCw2LjUgMTguNSw1IDE2LjUsNU0xNi41LDNDMTkuNTgsMyAyMiw1LjQxIDIyLDguNUMyMiwxMi4yNyAxOC42LDE1LjM2IDEzLjQ1LDIwLjAzTDEyLDIxLjM1TDEwLjU1LDIwLjAzQzUuNCwxNS4zNiAyLDEyLjI3IDIsOC41QzIsNS40MSA0LjQyLDMgNy41LDNDOS4yNCwzIDEwLjkxLDMuODEgMTIsNS4wOEMxMy4wOSwzLjgxIDE0Ljc2LDMgMTYuNSwzWiIgLz48L3N2Zz4=", "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. ", "", @@ -42102,22 +42120,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()" ] @@ -42137,11 +42153,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "+", "HealthRegenRate * TimeDelta()" ] @@ -42165,11 +42180,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", ">", "Object.Behavior::MaxHealth()" ] @@ -42178,11 +42192,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", "MaxHealth" ] @@ -42209,32 +42222,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", + "" ] } ] @@ -42280,22 +42293,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" ] @@ -42319,11 +42330,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "0" ] @@ -42348,11 +42358,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "+", "ShieldRegenRate * TimeDelta()" ] @@ -42376,11 +42385,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", ">", "MaxShieldPoints" ] @@ -42389,11 +42397,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "MaxShieldPoints" ] @@ -42438,11 +42445,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "0" ] @@ -42467,12 +42473,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsShieldJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsShieldJustDamaged", + "False", + "" ] } ] @@ -42546,11 +42552,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "=", "DamageValue" ] @@ -42595,21 +42600,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" ] @@ -42633,19 +42637,20 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"UseArmor\"" + "UseArmor", + "True", + "" ] }, { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "0" ] @@ -42668,11 +42673,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "=", "max(0,DamageToBeApplied - FlatDamageReduction)" ] @@ -42696,22 +42700,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" ] @@ -42720,11 +42722,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "*", "1 - min(1, PercentDamageReduction)" ] @@ -42765,10 +42766,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"UseShield\"" + "UseShield", + "True", + "" ] }, { @@ -42783,11 +42786,10 @@ }, { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "0" ] @@ -42796,12 +42798,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsShieldJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsShieldJustDamaged", + "True", + "" ] }, { @@ -42833,11 +42835,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", "<=", "CurrentShieldPoints" ] @@ -42846,33 +42847,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" ] @@ -42896,11 +42894,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "CurrentShieldPoints" ] @@ -42909,11 +42906,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldDamageTaken" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDamageTaken", "=", "CurrentShieldPoints" ] @@ -42925,33 +42921,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" ] @@ -42976,33 +42971,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" ] @@ -43030,11 +43024,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyDamageToBeApplied" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageToBeApplied", ">", "0" ] @@ -43181,11 +43174,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", "Value" ] @@ -43209,11 +43201,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", ">", "0" ] @@ -43222,11 +43213,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", "min(CurrentHealth, MaxHealth)" ] @@ -43335,11 +43325,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", "=", "0" ] @@ -43348,11 +43337,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHealToBeApplied" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealToBeApplied", "=", "HealValue" ] @@ -43376,11 +43364,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", ">", "0" ] @@ -43388,22 +43375,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)" ] @@ -43428,11 +43415,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "+", "HealToBeApplied" ] @@ -43457,12 +43443,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsJustHealed" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "IsJustHealed", + "True", + "" ] } ] @@ -43545,11 +43531,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyMaxHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxHealth", "=", "Value" ] @@ -43573,11 +43558,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", ">", "Object.Behavior::MaxHealth()" ] @@ -43586,11 +43570,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentHealth" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "=", "Object.Behavior::MaxHealth()" ] @@ -43720,11 +43703,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHealthRegenRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealthRegenRate", "=", "Value" ] @@ -43854,11 +43836,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyDamageCooldown" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "DamageCooldown", "=", "Value" ] @@ -43988,11 +43969,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHealthRegenDelay" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HealthRegenDelay", "=", "Value" ] @@ -44122,11 +44102,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyChanceToDodge" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ChanceToDodge", "=", "Value" ] @@ -44256,11 +44235,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyFlatDamageReduction" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FlatDamageReduction", "=", "Value" ] @@ -44390,11 +44368,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyPercentDamageReduction" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "PercentDamageReduction", "=", "Value" ] @@ -44484,12 +44461,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyAllowOverHealing" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "AllowOverHealing", + "False", + "" ] } ] @@ -44499,22 +44476,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", + "" ] } ] @@ -44555,12 +44534,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyHitAtLeastOnce" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "HitAtLeastOnce", + "False", + "" ] } ] @@ -44570,22 +44549,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", + "" ] } ] @@ -44626,12 +44607,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyIsHealthJustDamaged" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "IsHealthJustDamaged", + "False", + "" ] } ] @@ -44641,22 +44622,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", + "" ] } ] @@ -44802,11 +44785,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyHitAtLeastOnce" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "HitAtLeastOnce", + "True", + "" ] } ], @@ -44864,11 +44848,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsHealthJustDamaged" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsHealthJustDamaged", + "True", + "" ] } ], @@ -44926,11 +44911,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsJustHealed" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsJustHealed", + "True", + "" ] } ], @@ -44988,20 +44974,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" ] @@ -45138,11 +45124,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentHealth" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentHealth", "<=", "0" ] @@ -45311,11 +45296,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyMaxShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxShieldPoints", "=", "Value" ] @@ -45493,11 +45477,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "Value" ] @@ -45627,11 +45610,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldRegenRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldRegenRate", "=", "Value" ] @@ -45761,11 +45743,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldRegenDelay" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldRegenDelay", "=", "Value" ] @@ -45895,11 +45876,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyShieldDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", "=", "Value" ] @@ -46028,11 +46008,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "ShieldPoints" ] @@ -46044,11 +46023,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyMaxShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxShieldPoints", ">", "0" ] @@ -46057,11 +46035,10 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyCurrentShieldPoints" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", "=", "min(ShieldPoints,Object.Behavior::MaxShield())" ] @@ -46073,10 +46050,12 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"RenewShieldDuration\"" + "RenewShieldDuration", + "True", + "" ] } ], @@ -46135,12 +46114,12 @@ "actions": [ { "type": { - "value": "Health::Health::SetPropertyBlockExcessDamage" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "BlockExcessDamage", + "False", + "" ] } ] @@ -46150,22 +46129,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", + "" ] } ] @@ -46218,11 +46199,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsShieldJustDamaged" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsShieldJustDamaged", + "True", + "" ] } ], @@ -46280,11 +46262,12 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyIsJustDodged" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "IsJustDodged", + "True", + "" ] } ], @@ -46354,11 +46337,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyCurrentShieldPoints" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "CurrentShieldPoints", ">", "0" ] @@ -46383,11 +46365,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", "<=", "0" ] @@ -46409,11 +46390,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", ">", "0" ] @@ -46486,11 +46466,10 @@ "conditions": [ { "type": { - "value": "Health::Health::PropertyShieldDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShieldDuration", ">", "0" ] @@ -46820,17 +46799,17 @@ "category": "Game mechanic", "extensionNamespace": "", "fullName": "Fire bullets", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "/extensions/fire-bullet/details", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWJ1bGxldCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNCwyMkgxMFYyMUgxNFYyMk0xMywxMFY3SDExVjEwTDEwLDExLjVWMjBIMTRWMTEuNUwxMywxME0xMiwyQzEyLDIgMTEsMyAxMSw1VjZIMTNWNUMxMyw1IDEzLDMgMTIsMloiIC8+PC9zdmc+", "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.1", "description": [ - "This extension allows objects to fire bullets.", + "This extension allows objects to fire bullets. To use it, add the behavior to the object that will shoot, then use the provided action to launch another object as the bullet.", "", - "It handles:", + "The properties of the behavior can be used to customize:", "- Cooldown between shots", "- Firing multiple bullets at a time ([open the project online](https://editor.gdevelop.io/?project=example://fire-bullet))", "- Ammo management", @@ -46869,7 +46848,7 @@ "eventsFunctions": [], "eventsBasedBehaviors": [ { - "description": "Fire bullets, manage ammo, reloading, and overheating.", + "description": "Fire bullets, manage ammo, reloading, and overheating. Once added to your object that must shoot, use the behavior action in your events to fire another object as a bullet.", "fullName": "Fire bullets", "name": "FireBullet", "objectType": "", @@ -46895,22 +46874,20 @@ }, { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", "StartingAmmo" ] }, { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "=", "ShotsPerReload" ] @@ -46965,23 +46942,24 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHasJustFired" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "HasJustFired", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHasJustFired" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "=" + "HasJustFired", + "False", + "" ] }, { @@ -46995,11 +46973,10 @@ }, { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalShotsFired" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalShotsFired", "+", "1" ] @@ -47021,22 +46998,22 @@ { "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, AmmoQuantity - 1)" ] @@ -47048,11 +47025,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyShotsPerReload" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsPerReload", ">", "0" ] @@ -47061,11 +47037,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "-", "1" ] @@ -47077,11 +47052,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "AutomaticReloading", + "True", + "" ] }, { @@ -47136,11 +47112,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHeatIncreasePerShot" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatIncreasePerShot", ">", "0" ] @@ -47149,11 +47124,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatLevel", "+", "HeatIncreasePerShot" ] @@ -47165,11 +47139,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyOverheatDuration" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OverheatDuration", ">", "0" ] @@ -47256,23 +47229,22 @@ "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", + "" ] } ], @@ -47294,11 +47266,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "=", "ShotsPerReload" ] @@ -47335,11 +47306,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "=", "min(ShotsPerReload, AmmoQuantity)" ] @@ -47381,11 +47351,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyExponentialCoolingRate" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ExponentialCoolingRate", ">", "0" ] @@ -47394,11 +47363,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatLevel", "=", "max(0, HeatLevel - TimeDelta() * ExponentialCoolingRate * HeatLevel)" ] @@ -47410,11 +47378,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyLinearCoolingRate" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LinearCoolingRate", ">", "0" ] @@ -47423,11 +47390,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatLevel", "=", "max(0, HeatLevel - TimeDelta() * LinearCoolingRate)" ] @@ -47622,12 +47588,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHasJustFired" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "HasJustFired", + "True", + "" ] } ], @@ -47920,11 +47886,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyRandomizedAngle" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "RandomizedAngle", "=", "Angle + RandomInRange(-AngleVariance, AngleVariance)" ] @@ -47959,11 +47924,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "RotateBullet", + "True", + "" ] } ], @@ -48000,11 +47966,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalBulletsCreated", "+", "1" ] @@ -48080,12 +48045,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "ReloadInProgress", + "True", + "" ] }, { @@ -48128,11 +48093,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHasJustFired" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "HasJustFired", + "True", + "" ] } ], @@ -48176,11 +48142,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "RotateBullet", + "True", + "" ] } ], @@ -48265,11 +48232,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyFiringArc" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FiringArc", "=", "Value" ] @@ -48399,11 +48365,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAngleVariance" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AngleVariance", "=", "Value" ] @@ -48533,11 +48498,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletSpeedVariance" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "BulletSpeedVariance", "=", "Value" ] @@ -48667,11 +48631,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "BulletQuantity", "=", "Value" ] @@ -48761,11 +48724,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletLayer" + "value": "SetStringVariable" }, "parameters": [ - "Object", - "Behavior", + "BulletLayer", "=", "Value" ] @@ -48807,22 +48769,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyRotateBullet" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "RotateBullet", + "False", + "" ] } ] @@ -48832,22 +48796,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyRotateBullet" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "RotateBullet", + "True", + "" ] } ] @@ -48889,22 +48855,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "no" + "UnlimitedAmmo", + "False", + "" ] } ] @@ -48914,22 +48882,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "yes" + "UnlimitedAmmo", + "True", + "" ] } ] @@ -49011,11 +48981,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyFireCooldown" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "FireCooldown", "=", "Value" ] @@ -49145,11 +49114,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyReloadDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ReloadDuration", "=", "Value" ] @@ -49279,11 +49247,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyOverheatDuration" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "OverheatDuration", "=", "Value" ] @@ -49413,11 +49380,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", "max(0, Value)" ] @@ -49547,11 +49513,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatIncreasePerShot" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatIncreasePerShot", "=", "Value" ] @@ -49681,11 +49646,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyMaxAmmo" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxAmmo", "=", "Value" ] @@ -49697,11 +49661,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyMaxAmmo" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxAmmo", ">", "0" ] @@ -49710,11 +49673,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", "min(MaxAmmo, AmmoQuantity)" ] @@ -49804,11 +49766,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalShotsFired" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalShotsFired", "=", "0" ] @@ -49845,11 +49806,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalBulletsCreated", "=", "0" ] @@ -49886,11 +49846,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "TotalReloadsCompleted", "=", "0" ] @@ -49967,11 +49926,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsPerReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsPerReload", "=", "Value" ] @@ -49983,11 +49941,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyShotsBeforeNextReload" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", ">", "ShotsPerReload" ] @@ -49996,11 +49953,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ShotsBeforeNextReload", "=", "ShotsPerReload" ] @@ -50090,12 +50046,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAutomaticReloading" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "Behavior", - "=" + "AutomaticReloading", + "False", + "" ] } ] @@ -50105,22 +50061,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", + "" ] } ] @@ -50202,11 +50160,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyLinearCoolingRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "LinearCoolingRate", "=", "Value" ] @@ -50336,11 +50293,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyExponentialCoolingRate" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "ExponentialCoolingRate", "=", "Value" ] @@ -50431,11 +50387,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "+", "AmmoGained" ] @@ -50459,11 +50414,10 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyMaxAmmo" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "MaxAmmo", ">", "0" ] @@ -50472,11 +50426,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "SetNumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "=", "min(MaxAmmo, AmmoQuantity)" ] @@ -50498,11 +50451,12 @@ }, { "type": { - "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "AutomaticReloading", + "True", + "" ] } ], @@ -50960,11 +50914,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyReloadInProgress" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "ReloadInProgress", + "True", + "" ] } ], @@ -51028,11 +50983,12 @@ "subInstructions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHasJustFired" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "HasJustFired", + "True", + "" ] }, { @@ -51164,11 +51120,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "AutomaticReloading", + "True", + "" ] } ], @@ -51226,11 +51183,12 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" + "value": "BooleanVariable" }, "parameters": [ - "Object", - "Behavior" + "UnlimitedAmmo", + "True", + "" ] } ], @@ -51299,11 +51257,10 @@ }, { "type": { - "value": "FireBullet::FireBullet::PropertyAmmoQuantity" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "AmmoQuantity", "<=", "0" ] @@ -51375,22 +51332,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" ] @@ -51456,11 +51411,10 @@ "subInstructions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHeatLevel" + "value": "NumberVariable" }, "parameters": [ - "Object", - "Behavior", + "HeatLevel", ">=", "1" ] @@ -51796,13 +51750,13 @@ "category": "Input", "extensionNamespace": "", "fullName": "Screen Orientation Checker", - "gdevelopVersion": "", + "gdevelopVersion": ">=5.5.222", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNjcmVlbi1yb3RhdGlvbiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik03LjUsMjEuNUM0LjI1LDE5Ljk0IDEuOTEsMTYuNzYgMS41NSwxM0gwLjA1QzAuNTYsMTkuMTYgNS43MSwyNCAxMiwyNEwxMi42NiwyMy45N0w4Ljg1LDIwLjE2TTE0LjgzLDIxLjE5TDIuODEsOS4xN0w5LjE3LDIuODFMMjEuMTksMTQuODNNMTAuMjMsMS43NUM5LjY0LDEuMTYgOC42OSwxLjE2IDguMTEsMS43NUwxLjc1LDguMTFDMS4xNiw4LjcgMS4xNiw5LjY1IDEuNzUsMTAuMjNMMTMuNzcsMjIuMjVDMTQuMzYsMjIuODQgMTUuMzEsMjIuODQgMTUuODksMjIuMjVMMjIuMjUsMTUuODlDMjIuODQsMTUuMyAyMi44NCwxNC4zNSAyMi4yNSwxMy43N0wxMC4yMywxLjc1TTE2LjUsMi41QzE5Ljc1LDQuMDcgMjIuMDksNy4yNCAyMi40NSwxMUgyMy45NUMyMy40NCw0Ljg0IDE4LjI5LDAgMTIsMEwxMS4zNCwwLjAzTDE1LjE1LDMuODRMMTYuNSwyLjVaIiAvPjwvc3ZnPg==", "name": "ScreenOrientationChecker", "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/0126888931a4a4f82bb2824df9f096347ace1c47f510c44df42aa8dc9e49e24a_screen-rotation.svg", "shortDescription": "Display a customizable screen asking the user to rotate their phone/tablet if not in the right orientation.", - "version": "0.0.2", + "version": "0.1.1", "description": "Display a customizable screen asking the user to rotate their phone/tablet if not in the right orientation.", "origin": { "identifier": "ScreenOrientationChecker", @@ -52206,11 +52160,12 @@ "actions": [ { "type": { - "value": "ScreenOrientationChecker::ScreenOrientationChecker::SetPropertyIsShown" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "yes" + "IsShown", + "False", + "" ] } ] @@ -52232,11 +52187,12 @@ "actions": [ { "type": { - "value": "ScreenOrientationChecker::ScreenOrientationChecker::SetPropertyIsShown" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "no" + "IsShown", + "False", + "" ] } ] @@ -52276,11 +52232,12 @@ "actions": [ { "type": { - "value": "ScreenOrientationChecker::ScreenOrientationChecker::SetPropertyIsShown" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "yes" + "IsShown", + "False", + "" ] } ] @@ -52302,11 +52259,12 @@ "actions": [ { "type": { - "value": "ScreenOrientationChecker::ScreenOrientationChecker::SetPropertyIsShown" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "no" + "IsShown", + "False", + "" ] } ] @@ -52338,18 +52296,22 @@ "subInstructions": [ { "type": { - "value": "ScreenOrientationChecker::ScreenOrientationChecker::PropertyIsShown" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "IsShown", + "True", + "" ] }, { "type": { - "value": "ScreenOrientationChecker::ScreenOrientationChecker::PropertyIsForceShown" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "IsForceShown", + "True", + "" ] } ] @@ -52395,19 +52357,23 @@ { "type": { "inverted": true, - "value": "ScreenOrientationChecker::ScreenOrientationChecker::PropertyIsShown" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "IsShown", + "True", + "" ] }, { "type": { "inverted": true, - "value": "ScreenOrientationChecker::ScreenOrientationChecker::PropertyIsForceShown" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "IsForceShown", + "True", + "" ] } ], @@ -52599,10 +52565,12 @@ "conditions": [ { "type": { - "value": "ScreenOrientationChecker::ScreenOrientationChecker::PropertyIsForceShown" + "value": "BooleanVariable" }, "parameters": [ - "Object" + "IsForceShown", + "True", + "" ] } ], @@ -52642,21 +52610,24 @@ { "type": { "inverted": true, - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "ScreenOrientationChecker::ScreenOrientationChecker::SetPropertyIsForceShown" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "no" + "IsForceShown", + "False", + "" ] } ] @@ -52666,21 +52637,24 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "BooleanVariable" }, "parameters": [ - "\"Value\"" + "Value", + "True", + "" ] } ], "actions": [ { "type": { - "value": "ScreenOrientationChecker::ScreenOrientationChecker::SetPropertyIsForceShown" + "value": "SetBooleanVariable" }, "parameters": [ - "Object", - "yes" + "IsForceShown", + "False", + "" ] } ]