diff --git a/examples/fire-bullet/!REMOVE/Darkening.png b/examples/fire-bullet/!REMOVE/Darkening.png deleted file mode 100644 index fc48a6782..000000000 Binary files a/examples/fire-bullet/!REMOVE/Darkening.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/DeathSound.wav b/examples/fire-bullet/!REMOVE/DeathSound.wav deleted file mode 100644 index 0549f8a96..000000000 Binary files a/examples/fire-bullet/!REMOVE/DeathSound.wav and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/GhostFire.wav b/examples/fire-bullet/!REMOVE/GhostFire.wav deleted file mode 100644 index 4f75a0deb..000000000 Binary files a/examples/fire-bullet/!REMOVE/GhostFire.wav and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/HealthOrb.png b/examples/fire-bullet/!REMOVE/HealthOrb.png deleted file mode 100644 index 2c9554888..000000000 Binary files a/examples/fire-bullet/!REMOVE/HealthOrb.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/Healthbar.png b/examples/fire-bullet/!REMOVE/Healthbar.png deleted file mode 100644 index e4a52ca8f..000000000 Binary files a/examples/fire-bullet/!REMOVE/Healthbar.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/HealthbarBorder.png b/examples/fire-bullet/!REMOVE/HealthbarBorder.png deleted file mode 100644 index 42331b27e..000000000 Binary files a/examples/fire-bullet/!REMOVE/HealthbarBorder.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/PickUp.wav b/examples/fire-bullet/!REMOVE/PickUp.wav deleted file mode 100644 index f8463d27b..000000000 Binary files a/examples/fire-bullet/!REMOVE/PickUp.wav and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/PointOrb.png b/examples/fire-bullet/!REMOVE/PointOrb.png deleted file mode 100644 index 4c8114501..000000000 Binary files a/examples/fire-bullet/!REMOVE/PointOrb.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/SpiderNoise.wav b/examples/fire-bullet/!REMOVE/SpiderNoise.wav deleted file mode 100644 index 7dd9abeda..000000000 Binary files a/examples/fire-bullet/!REMOVE/SpiderNoise.wav and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade.wav b/examples/fire-bullet/!REMOVE/Upgrade.wav deleted file mode 100644 index 9ac4715dd..000000000 Binary files a/examples/fire-bullet/!REMOVE/Upgrade.wav and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Armor.png b/examples/fire-bullet/!REMOVE/Upgrade_Armor.png deleted file mode 100644 index 9db391ee6..000000000 Binary files a/examples/fire-bullet/!REMOVE/Upgrade_Armor.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Armor2.png b/examples/fire-bullet/!REMOVE/Upgrade_Armor2.png deleted file mode 100644 index 9db391ee6..000000000 Binary files a/examples/fire-bullet/!REMOVE/Upgrade_Armor2.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_FireRate.png b/examples/fire-bullet/!REMOVE/Upgrade_FireRate.png deleted file mode 100644 index bc1194429..000000000 Binary files a/examples/fire-bullet/!REMOVE/Upgrade_FireRate.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_FireRate2.png b/examples/fire-bullet/!REMOVE/Upgrade_FireRate2.png deleted file mode 100644 index bc1194429..000000000 Binary files a/examples/fire-bullet/!REMOVE/Upgrade_FireRate2.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Health.png b/examples/fire-bullet/!REMOVE/Upgrade_Health.png deleted file mode 100644 index 4d1c9d4ee..000000000 Binary files a/examples/fire-bullet/!REMOVE/Upgrade_Health.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Health2.png b/examples/fire-bullet/!REMOVE/Upgrade_Health2.png deleted file mode 100644 index 4d1c9d4ee..000000000 Binary files a/examples/fire-bullet/!REMOVE/Upgrade_Health2.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Power.png b/examples/fire-bullet/!REMOVE/Upgrade_Power.png deleted file mode 100644 index 1bb0acd72..000000000 Binary files a/examples/fire-bullet/!REMOVE/Upgrade_Power.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Power2.png b/examples/fire-bullet/!REMOVE/Upgrade_Power2.png deleted file mode 100644 index 1bb0acd72..000000000 Binary files a/examples/fire-bullet/!REMOVE/Upgrade_Power2.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Speed.png b/examples/fire-bullet/!REMOVE/Upgrade_Speed.png deleted file mode 100644 index 02ba6f973..000000000 Binary files a/examples/fire-bullet/!REMOVE/Upgrade_Speed.png and /dev/null differ diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Speed2.png b/examples/fire-bullet/!REMOVE/Upgrade_Speed2.png deleted file mode 100644 index 02ba6f973..000000000 Binary files a/examples/fire-bullet/!REMOVE/Upgrade_Speed2.png and /dev/null differ diff --git a/examples/fire-bullet/CloseChest.wav b/examples/fire-bullet/CloseChest.wav new file mode 100644 index 000000000..5858fa08e Binary files /dev/null and b/examples/fire-bullet/CloseChest.wav differ diff --git a/examples/fire-bullet/PickupAmmo.wav b/examples/fire-bullet/PickupAmmo.wav new file mode 100644 index 000000000..f06328cf5 Binary files /dev/null and b/examples/fire-bullet/PickupAmmo.wav differ diff --git a/examples/fire-bullet/assets/Ammo crate.png b/examples/fire-bullet/assets/Ammo crate.png new file mode 100644 index 000000000..37bfdb12b Binary files /dev/null and b/examples/fire-bullet/assets/Ammo crate.png differ diff --git a/examples/fire-bullet/assets/Treasure Chest_Closed.png b/examples/fire-bullet/assets/Treasure Chest_Closed.png new file mode 100644 index 000000000..fd4a577ca Binary files /dev/null and b/examples/fire-bullet/assets/Treasure Chest_Closed.png differ diff --git a/examples/fire-bullet/assets/Treasure Chest_Opening_1.png b/examples/fire-bullet/assets/Treasure Chest_Opening_1.png new file mode 100644 index 000000000..b4b7a5385 Binary files /dev/null and b/examples/fire-bullet/assets/Treasure Chest_Opening_1.png differ diff --git a/examples/fire-bullet/assets/Treasure Chest_Opening_2.png b/examples/fire-bullet/assets/Treasure Chest_Opening_2.png new file mode 100644 index 000000000..ea6785af0 Binary files /dev/null and b/examples/fire-bullet/assets/Treasure Chest_Opening_2.png differ diff --git a/examples/fire-bullet/assets/thumbnail.png b/examples/fire-bullet/assets/thumbnail.png index bb8d96813..9583264ee 100644 Binary files a/examples/fire-bullet/assets/thumbnail.png and b/examples/fire-bullet/assets/thumbnail.png differ diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 73ed5b0b7..eb2faa5d5 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -15,14 +15,14 @@ "projectUuid": "5ce85053-a1d7-43e5-96da-33738912109b", "scaleMode": "nearest", "sizeOnStartupMode": "", - "templateSlug": "conviction-of-gun-dude-desktop", + "templateSlug": "fire-bullet", "useExternalSourceFiles": false, "version": "1.0.0", "name": "Extension: Fire bullet", - "description": "Test the \"fire bullet\" extension using sliders to modify the rate of fire, accuracy, number of bullets, and firing arc.\n", + "description": "Test the \"fire bullet\" extension using sliders to modify the rate of fire, accuracy, number of bullets, and firing arc.\n\nNow with ammo management, reloading, overheat mechanic, and collecting stats.", "author": "", - "windowWidth": 768, - "windowHeight": 432, + "windowWidth": 1280, + "windowHeight": 720, "latestCompilationDirectory": "", "maxFPS": 60, "minFPS": 20, @@ -216,6 +216,7 @@ "name": "PlayerHurt.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -261,6 +262,7 @@ "name": "Dash.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -270,6 +272,7 @@ "name": "Shoot.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -477,6 +480,7 @@ "name": "ResetTimer.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -486,6 +490,7 @@ "name": "SceneStartSound.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -495,6 +500,7 @@ "name": "MenuButtomPress.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -504,6 +510,7 @@ "name": "BulletHit.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -513,6 +520,7 @@ "name": "ImpStomp.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -522,6 +530,7 @@ "name": "ImpHop.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -949,7 +958,7 @@ }, { "alwaysLoaded": false, - "file": "thumbnail.png", + "file": "assets/thumbnail.png", "kind": "image", "metadata": "", "name": "thumbnail.png", @@ -1054,6 +1063,78 @@ "name": "assets\\Bullet-1.png", "smoothed": false, "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/Ammo crate.png", + "kind": "image", + "metadata": "", + "name": "Ammo crate.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Tank pack (80 assets)/PNG/Retina/Ammo crate.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Treasure Chest_Closed.png", + "kind": "image", + "metadata": "", + "name": "Treasure Chest_Closed.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/GrafxKid Pack/Mini FX, Items & UI/Common Pick-ups/Treasure Chest_Closed.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Treasure Chest_Opening_1.png", + "kind": "image", + "metadata": "", + "name": "Treasure Chest_Opening_1.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/GrafxKid Pack/Mini FX, Items & UI/Common Pick-ups/Treasure Chest_Opening_1.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Treasure Chest_Opening_2.png", + "kind": "image", + "metadata": "", + "name": "Treasure Chest_Opening_2.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/GrafxKid Pack/Mini FX, Items & UI/Common Pick-ups/Treasure Chest_Opening_2.png", + "name": "gdevelop-asset-store" + } + }, + { + "file": "PickupAmmo.wav", + "kind": "audio", + "metadata": "{\"jfxr\":{\"data\":\"{\\\"_version\\\":1,\\\"_name\\\":\\\"Powerup 82\\\",\\\"_locked\\\":[],\\\"sampleRate\\\":44100,\\\"attack\\\":0,\\\"sustain\\\":0.013461135465436147,\\\"sustainPunch\\\":0,\\\"decay\\\":0.17404619835517798,\\\"tremoloDepth\\\":0,\\\"tremoloFrequency\\\":10,\\\"frequency\\\":1000,\\\"frequencySweep\\\":1100,\\\"frequencyDeltaSweep\\\":1300,\\\"repeatFrequency\\\":0,\\\"frequencyJump1Onset\\\":33,\\\"frequencyJump1Amount\\\":0,\\\"frequencyJump2Onset\\\":66,\\\"frequencyJump2Amount\\\":0,\\\"harmonics\\\":0,\\\"harmonicsFalloff\\\":0.5,\\\"waveform\\\":\\\"triangle\\\",\\\"interpolateNoise\\\":true,\\\"vibratoDepth\\\":730,\\\"vibratoFrequency\\\":997,\\\"squareDuty\\\":50,\\\"squareDutySweep\\\":20,\\\"flangerOffset\\\":0,\\\"flangerOffsetSweep\\\":0,\\\"bitCrush\\\":16,\\\"bitCrushSweep\\\":0,\\\"lowPassCutoff\\\":22050,\\\"lowPassCutoffSweep\\\":0,\\\"highPassCutoff\\\":0,\\\"highPassCutoffSweep\\\":0,\\\"compression\\\":1,\\\"normalization\\\":true,\\\"amplification\\\":100}\",\"name\":\"PickupAmmo\"}}", + "name": "PickupAmmo.wav", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": true + }, + { + "file": "CloseChest.wav", + "kind": "audio", + "metadata": "{\"jfxr\":{\"data\":\"{\\\"_version\\\":1,\\\"_name\\\":\\\"Hit/hurt 63\\\",\\\"_locked\\\":[],\\\"sampleRate\\\":44100,\\\"attack\\\":0,\\\"sustain\\\":0.09,\\\"sustainPunch\\\":0,\\\"decay\\\":0.03,\\\"tremoloDepth\\\":0,\\\"tremoloFrequency\\\":10,\\\"frequency\\\":700,\\\"frequencySweep\\\":-1000,\\\"frequencyDeltaSweep\\\":-700,\\\"repeatFrequency\\\":0,\\\"frequencyJump1Onset\\\":33,\\\"frequencyJump1Amount\\\":0,\\\"frequencyJump2Onset\\\":66,\\\"frequencyJump2Amount\\\":0,\\\"harmonics\\\":0,\\\"harmonicsFalloff\\\":0.5,\\\"waveform\\\":\\\"square\\\",\\\"interpolateNoise\\\":true,\\\"vibratoDepth\\\":0,\\\"vibratoFrequency\\\":10,\\\"squareDuty\\\":50,\\\"squareDutySweep\\\":0,\\\"flangerOffset\\\":10,\\\"flangerOffsetSweep\\\":-1,\\\"bitCrush\\\":16,\\\"bitCrushSweep\\\":0,\\\"lowPassCutoff\\\":22050,\\\"lowPassCutoffSweep\\\":5900,\\\"highPassCutoff\\\":0,\\\"highPassCutoffSweep\\\":0,\\\"compression\\\":1,\\\"normalization\\\":true,\\\"amplification\\\":100}\",\"name\":\"CloseChest\"}}", + "name": "CloseChest.wav", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": true } ], "resourceFolders": [] @@ -1067,9 +1148,6 @@ "disableInputWhenNotFocused": true, "mangledName": "StartMenu", "name": "StartMenu", - "oglFOV": 90, - "oglZFar": 500, - "oglZNear": 1, "r": 5, "standardSortMethod": true, "stopSoundsOnStartup": true, @@ -1143,12 +1221,11 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "Reset_Button", "persistentUuid": "fa335b84-c239-43bf-adb6-dd7fa7ee2411", "width": 0, - "x": 64, - "y": 185, + "x": 488, + "y": 340, "zOrder": 37, "numberProperties": [], "stringProperties": [], @@ -1159,12 +1236,11 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "Reset_Timer", "persistentUuid": "e1652d74-e4b0-4e75-83e4-154f3dfaff61", "width": 0, - "x": 320, - "y": 153, + "x": 744, + "y": 308, "zOrder": 40, "numberProperties": [], "stringProperties": [], @@ -1656,18 +1732,15 @@ ] }, { - "b": 209, + "b": 10, "disableInputWhenNotFocused": true, "mangledName": "MainGame", "name": "MainGame", - "oglFOV": 90, - "oglZFar": 500, - "oglZNear": 1, - "r": 209, + "r": 5, "standardSortMethod": true, "stopSoundsOnStartup": true, "title": "", - "v": 209, + "v": 5, "uiSettings": { "grid": false, "gridType": "rectangular", @@ -1678,7 +1751,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 1.0749999999999968, + "zoomFactor": 0.8149999999999966, "windowMask": false }, "objectsGroups": [ @@ -1919,12 +1992,11 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "Room", "persistentUuid": "0b9fe34e-ab91-4412-8e66-72298d075b06", "width": 0, - "x": 375, - "y": 229, + "x": 400, + "y": 293, "zOrder": 1, "numberProperties": [], "stringProperties": [], @@ -1941,12 +2013,11 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "Wesley", "persistentUuid": "f53df694-7155-4623-a2b9-163fbeee3443", "width": 0, - "x": 291, - "y": 242, + "x": 316, + "y": 290, "zOrder": 2, "numberProperties": [], "stringProperties": [], @@ -1957,12 +2028,11 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "Gun", "persistentUuid": "56154a5a-8df4-4aa3-8710-ae73cecb39a7", "width": 0, - "x": 290, - "y": 248, + "x": 315, + "y": 296, "zOrder": 15, "numberProperties": [], "stringProperties": [], @@ -1973,12 +2043,11 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "RoomFloor", "persistentUuid": "8956de32-a61a-497c-adf9-91b24a68f473", "width": 0, - "x": 375, - "y": 229, + "x": 400, + "y": 293, "zOrder": -2, "numberProperties": [], "stringProperties": [], @@ -1989,12 +2058,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "Cooldown_Text", "persistentUuid": "1e029a1f-f6a4-4619-a8f0-716b3149a159", "width": 0, - "x": 80, - "y": 25, + "x": 16, + "y": 174, "zOrder": 50, "numberProperties": [], "stringProperties": [], @@ -2005,12 +2073,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "Cooldown_Slider", "persistentUuid": "97dd542d-9c98-4833-861c-6d75530bbf68", "width": 0, - "x": 80, - "y": 64, + "x": 32, + "y": 206, "zOrder": 53, "numberProperties": [], "stringProperties": [], @@ -2021,12 +2088,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "FireArc_Slider", "persistentUuid": "eaf9372e-5db4-42b7-9999-2e898153e1dd", "width": 0, - "x": 464, - "y": 64, + "x": 32, + "y": 526, "zOrder": 54, "numberProperties": [], "stringProperties": [], @@ -2037,12 +2103,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "FiringArc_Text", "persistentUuid": "2c5011f2-0ac3-469a-a351-aab0ebaa1c3e", "width": 0, - "x": 464, - "y": 25, + "x": 16, + "y": 487, "zOrder": 55, "numberProperties": [], "stringProperties": [], @@ -2053,12 +2118,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "BulletQty_Text", "persistentUuid": "3e635cf0-26e8-4831-b4c8-9a6e43133970", "width": 0, - "x": 80, - "y": 377, + "x": 16, + "y": 254, "zOrder": 56, "numberProperties": [], "stringProperties": [], @@ -2069,12 +2133,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "BulletQty_Slider", "persistentUuid": "3ed488ec-8ece-4730-99a7-ba46663d353b", "width": 0, - "x": 80, - "y": 416, + "x": 32, + "y": 286, "zOrder": 57, "numberProperties": [], "stringProperties": [], @@ -2085,12 +2148,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "AngleVariance_Slider", "persistentUuid": "4ba03852-fc70-414d-b10a-947780e9521f", "width": 0, - "x": 480, - "y": 416, + "x": 32, + "y": 446, "zOrder": 58, "numberProperties": [], "stringProperties": [], @@ -2101,12 +2163,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "AngleVariance_Text", "persistentUuid": "ba5430f7-8f89-450a-91ff-d9eb43727c5b", "width": 0, - "x": 464, - "y": 377, + "x": 16, + "y": 414, "zOrder": 59, "numberProperties": [], "stringProperties": [], @@ -2117,7 +2178,6 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "FiringArc", "persistentUuid": "eddbfeae-61c7-4ce2-9c71-bd3090645385", "width": 0, @@ -2133,12 +2193,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "RotateBullet_Checkbox", "persistentUuid": "b1aab9d0-e2be-4d5d-843e-21fba423ff48", "width": 0, - "x": 624, - "y": 96, + "x": 16, + "y": 350, "zOrder": 61, "numberProperties": [], "stringProperties": [], @@ -2149,12 +2208,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "RotateBullet_Text", "persistentUuid": "7d9cd03f-7076-4f84-aa53-88032b8d8114", "width": 0, - "x": 464, - "y": 96, + "x": 48, + "y": 350, "zOrder": 62, "numberProperties": [], "stringProperties": [], @@ -2165,473 +2223,2136 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "Imp", "persistentUuid": "7fc31ff4-5827-4651-b138-a2e69756666b", "width": 0, - "x": 464, - "y": 240, + "x": 489, + "y": 304, "zOrder": 63, "numberProperties": [], "stringProperties": [], "initialVariables": [] - } - ], - "objects": [ + }, { - "assetStoreId": "", - "name": "RoomTraps", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [ + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Room", + "persistentUuid": "a01acfad-9198-479d-a958-e0f273255a32", + "width": 0, + "x": 400, + "y": 293, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [ { "name": "LastOn", "type": "boolean", - "value": false - } - ], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Room_Trap14.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 265.0986022949219, - "y": 56.748435974121094 - }, - { - "x": 361.06781005859375, - "y": 56.97931671142578 - }, - { - "x": 361.06781005859375, - "y": 80.83694458007812 - }, - { - "x": 264.790771484375, - "y": 81.14478302001953 - } - ], - [ - { - "x": 22.905242919921875, - "y": 56.90235900878906 - }, - { - "x": 118.1048583984375, - "y": 57.13323974609375 - }, - { - "x": 118.33573913574219, - "y": 81.22174072265625 - }, - { - "x": 22.828283309936523, - "y": 80.99085998535156 - } - ], - [ - { - "x": 23.213083267211914, - "y": 166.87831115722656 - }, - { - "x": 118.87445831298828, - "y": 166.87831115722656 - }, - { - "x": 118.02790069580078, - "y": 193.1986541748047 - }, - { - "x": 22.98220443725586, - "y": 193.12168884277344 - } - ], - [ - { - "x": 264.86773681640625, - "y": 166.9552764892578 - }, - { - "x": 360.8369445800781, - "y": 166.8013458251953 - }, - { - "x": 360.9139099121094, - "y": 190.4281005859375 - }, - { - "x": 264.86773681640625, - "y": 189.96633911132812 - } - ], - [ - { - "x": 169.7450714111328, - "y": 108.00384521484375 - }, - { - "x": 214.22799682617188, - "y": 108.00384521484375 - }, - { - "x": 214.07408142089844, - "y": 131.86148071289062 - }, - { - "x": 169.51419067382812, - "y": 132.0923614501953 - } - ] - ] - } - ] - } - ] - }, - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Room_Trap23.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 143.76531982421875, - "y": 107.63378143310547 - }, - { - "x": 240.11605834960938, - "y": 107.9432601928711 - }, - { - "x": 240.0128936767578, - "y": 131.2572479248047 - }, - { - "x": 143.45584106445312, - "y": 130.84461975097656 - } - ] - ] - } - ] - } - ] - }, - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Room_Trap33.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 264.6679382324219, - "y": 56.98259353637695 - }, - { - "x": 361.1218566894531, - "y": 57.085758209228516 - }, - { - "x": 361.22503662109375, - "y": 80.09026336669922 - }, - { - "x": 264.6679382324219, - "y": 80.09026336669922 - } - ], - [ - { - "x": 22.759510040283203, - "y": 56.67311477661133 - }, - { - "x": 119.00709533691406, - "y": 56.776275634765625 - }, - { - "x": 118.9039306640625, - "y": 80.91554260253906 - }, - { - "x": 23.068988800048828, - "y": 80.19342803955078 - } - ] - ] - } - ] - } - ] - }, - { - "name": "\"ItemDrop\"", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Room_Trap53.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - } - ] - ] - } - ] - } - ] - }, - { - "name": "\"ItemDropToo\"", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Room_Trap54.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - } - ] - ] - } - ] - } - ] + "value": true } ] }, { - "assetStoreId": "", - "name": "RoomDoors", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [ - { - "name": "LastOn", - "type": "boolean", - "value": false - } - ], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "4Way", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.029999999329447746, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Room_4Way_Doors1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Room_4Way_Doors22.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Room_4Way_Doors3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "MaxAmmo_Text", + "persistentUuid": "da4f1ef0-fb53-45ce-a485-8a2c5c52482f", + "width": 0, + "x": 1008, + "y": 176, + "zOrder": 64, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "AmmoQuantity_Text", + "persistentUuid": "63b0027a-81a8-48cc-ba06-67bca59f8c04", + "width": 0, + "x": 345, + "y": 128, + "zOrder": 65, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ShotsPerReload_Text", + "persistentUuid": "30511d02-cd6a-4c5e-9f33-b9c1f18a677b", + "width": 0, + "x": 1008, + "y": 256, + "zOrder": 66, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ReloadDuration_Text", + "persistentUuid": "7cd4f8be-b947-43bb-b2fb-b21faf4e997c", + "width": 0, + "x": 1008, + "y": 336, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ShotsFired_Text", + "persistentUuid": "ffa0a4a6-fce5-43a5-8d97-eb374d8e6d89", + "width": 0, + "x": 320, + "y": 16, + "zOrder": 68, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "BulletsCreated_Text", + "persistentUuid": "0aded219-40e6-4f58-b40f-c039c0c33d8a", + "width": 0, + "x": 528, + "y": 16, + "zOrder": 69, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ShotsUntilReload_Text", + "persistentUuid": "b0ec956f-009f-4373-9382-091738c8566e", + "width": 0, + "x": 736, + "y": 128, + "zOrder": 70, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ReloadsCompleted_Text", + "persistentUuid": "4e97d38b-2fb5-4d98-9f8a-a366b0fa8af9", + "width": 0, + "x": 768, + "y": 16, + "zOrder": 71, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "FiringShotsTitle_Text", + "persistentUuid": "b23e6307-c517-4364-b1b6-be64d6c58914", + "width": 0, + "x": 16, + "y": 96, + "zOrder": 72, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "AmmoTitle_Text", + "persistentUuid": "636febea-90ac-41f5-b8a9-f2e62d7e52ed", + "width": 0, + "x": 1040, + "y": 96, + "zOrder": 73, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "TreasureChest", + "persistentUuid": "199c5bb9-7cbe-457f-9655-b1780ccf6b52", + "width": 0, + "x": 400, + "y": 376, + "zOrder": 74, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "MaxAmmo_Slider", + "persistentUuid": "2f4daf29-06fc-4316-ac8e-5b0a38ce4bae", + "width": 0, + "x": 1008, + "y": 213, + "zOrder": 75, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ShotsPerReload_Slider", + "persistentUuid": "b49995e8-9975-4f64-bd65-a81122fa6bad", + "width": 0, + "x": 1008, + "y": 293, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ReloadDuration_Slider", + "persistentUuid": "4ad4be89-c6a3-4317-a4c8-6ce54d42c4ac", + "width": 0, + "x": 1008, + "y": 373, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "UnlimitedAmmo_Checkbox", + "persistentUuid": "f71e5596-c0e7-4b77-ace2-387d77bfbb5a", + "width": 0, + "x": 1040, + "y": 416, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "UnlimitedAmmo_Text", + "persistentUuid": "30060c4b-cd9d-4e61-9677-a5df92a0d6f5", + "width": 0, + "x": 1072, + "y": 416, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "TreasureChest", + "persistentUuid": "f5339b3d-c9dd-4720-b48c-0a7fcd3edda1", + "width": 0, + "x": 400, + "y": 232, + "zOrder": 74, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "Reloading_Text", + "persistentUuid": "5ae96ea2-e3f0-45f4-baf2-ffb33a30fcfe", + "width": 0, + "x": 576, + "y": 128, + "zOrder": 80, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ReadyToShoot_Text", + "persistentUuid": "cd86038f-5eca-478e-bfdc-f0aa0c8304ea", + "width": 0, + "x": 560, + "y": 64, + "zOrder": 81, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "WaitingForFiringCooldown_Text", + "persistentUuid": "f3ad2523-01c9-4e05-839f-ea83e8a329b6", + "width": 0, + "x": 512, + "y": 96, + "zOrder": 82, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "OutOfAmmo_Text", + "persistentUuid": "8892694e-a295-402e-8789-d9dd87966bb1", + "width": 0, + "x": 576, + "y": 80, + "zOrder": 83, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ReloadNeeded_Text", + "persistentUuid": "752f4f4c-9785-4056-9431-6190dfd30f9b", + "width": 0, + "x": 752, + "y": 185, + "zOrder": 84, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "AutomaticReloading_Text", + "persistentUuid": "4f9e536c-c2bf-4e7e-8d06-e133c8f702bd", + "width": 0, + "x": 1072, + "y": 480, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "AutomaticReloading_Checkbox", + "persistentUuid": "b2e98a44-f9e0-4634-bad0-2d61acd972e4", + "width": 0, + "x": 1040, + "y": 480, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "RightClickToReload_Text", + "persistentUuid": "05b56620-15ab-4901-8277-3de04b0eaf8c", + "width": 0, + "x": 720, + "y": 224, + "zOrder": 85, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "GunHeat_Text", + "persistentUuid": "18b86707-84a2-46e2-9b8a-ee46efafafee", + "width": 0, + "x": 768, + "y": 553, + "zOrder": 86, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "Overheated_Text", + "persistentUuid": "6113262c-fd7b-497e-bfb0-84f8488b258a", + "width": 0, + "x": 576, + "y": 64, + "zOrder": 87, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "OverheatDuration_Text", + "persistentUuid": "430afb53-e07e-44c0-80e4-9d5900139fa0", + "width": 0, + "x": 336, + "y": 592, + "zOrder": 88, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "OverheatDuration_Slider", + "persistentUuid": "c50cc6db-f8dc-4680-b53d-30558f2505ca", + "width": 0, + "x": 352, + "y": 629, + "zOrder": 89, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "HeatPerShot_Text", + "persistentUuid": "c9fc7d59-e05c-4156-88e8-892ccefd2802", + "width": 0, + "x": 352, + "y": 656, + "zOrder": 90, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "CoolingPerSecond_Text", + "persistentUuid": "265a60d1-aeb9-470d-b56a-1080269ce44b", + "width": 0, + "x": 704, + "y": 592, + "zOrder": 91, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "LinearCoolingPerSecond_Slider", + "persistentUuid": "1d2f8b85-2b8e-4742-94f2-3f1a56841d71", + "width": 0, + "x": 688, + "y": 624, + "zOrder": 92, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "HeatPerShot_Slider", + "persistentUuid": "2cc4e2cb-d2b1-4bb6-9d29-814acabb8d20", + "width": 0, + "x": 352, + "y": 688, + "zOrder": 93, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "OverheatTitle_Text", + "persistentUuid": "2a7d9ba7-e6ae-4241-8e98-0d48443baa3c", + "width": 0, + "x": 384, + "y": 544, + "zOrder": 94, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "Heat_ResourceBar", + "persistentUuid": "0719db4d-ef00-4d2c-b30a-5c1308f5584c", + "width": 0, + "x": 704, + "y": 528, + "zOrder": 95, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 32, + "layer": "UI", + "name": "Ammo_ResourceBar", + "persistentUuid": "c1914f70-f956-4b15-9354-ee1904d6526b", + "width": 32, + "x": 320, + "y": 176, + "zOrder": 96, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "Reload_ResourceBar", + "persistentUuid": "729e4b84-dbd9-4790-ae1a-182ebafd35ca", + "width": 0, + "x": 704, + "y": 176, + "zOrder": 97, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ExponentialCooling_Text", + "persistentUuid": "bd745e29-9358-4de0-b9db-43fe34723fe6", + "width": 0, + "x": 704, + "y": 656, + "zOrder": 99, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "OverheatTimeLeft_ResourceBar", + "persistentUuid": "50d15b25-e741-40ae-97aa-283aeaeb5c49", + "width": 0, + "x": 704, + "y": 496, + "zOrder": 100, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ExponentialCoolingPerSecond_Slider", + "persistentUuid": "e462454a-e6e3-4aa9-9750-1d599724f750", + "width": 0, + "x": 688, + "y": 688, + "zOrder": 101, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "name": "RoomTraps", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [ + { + "name": "LastOn", + "type": "boolean", + "value": false + } + ], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_Trap14.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 265.0986022949219, + "y": 56.748435974121094 + }, + { + "x": 361.06781005859375, + "y": 56.97931671142578 + }, + { + "x": 361.06781005859375, + "y": 80.83694458007812 + }, + { + "x": 264.790771484375, + "y": 81.14478302001953 + } + ], + [ + { + "x": 22.905242919921875, + "y": 56.90235900878906 + }, + { + "x": 118.1048583984375, + "y": 57.13323974609375 + }, + { + "x": 118.33573913574219, + "y": 81.22174072265625 + }, + { + "x": 22.828283309936523, + "y": 80.99085998535156 + } + ], + [ + { + "x": 23.213083267211914, + "y": 166.87831115722656 + }, + { + "x": 118.87445831298828, + "y": 166.87831115722656 + }, + { + "x": 118.02790069580078, + "y": 193.1986541748047 + }, + { + "x": 22.98220443725586, + "y": 193.12168884277344 + } + ], + [ + { + "x": 264.86773681640625, + "y": 166.9552764892578 + }, + { + "x": 360.8369445800781, + "y": 166.8013458251953 + }, + { + "x": 360.9139099121094, + "y": 190.4281005859375 + }, + { + "x": 264.86773681640625, + "y": 189.96633911132812 + } + ], + [ + { + "x": 169.7450714111328, + "y": 108.00384521484375 + }, + { + "x": 214.22799682617188, + "y": 108.00384521484375 + }, + { + "x": 214.07408142089844, + "y": 131.86148071289062 + }, + { + "x": 169.51419067382812, + "y": 132.0923614501953 + } + ] + ] + } + ] + } + ] + }, + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_Trap23.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 143.76531982421875, + "y": 107.63378143310547 + }, + { + "x": 240.11605834960938, + "y": 107.9432601928711 + }, + { + "x": 240.0128936767578, + "y": 131.2572479248047 + }, + { + "x": 143.45584106445312, + "y": 130.84461975097656 + } + ] + ] + } + ] + } + ] + }, + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_Trap33.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 264.6679382324219, + "y": 56.98259353637695 + }, + { + "x": 361.1218566894531, + "y": 57.085758209228516 + }, + { + "x": 361.22503662109375, + "y": 80.09026336669922 + }, + { + "x": 264.6679382324219, + "y": 80.09026336669922 + } + ], + [ + { + "x": 22.759510040283203, + "y": 56.67311477661133 + }, + { + "x": 119.00709533691406, + "y": 56.776275634765625 + }, + { + "x": 118.9039306640625, + "y": 80.91554260253906 + }, + { + "x": 23.068988800048828, + "y": 80.19342803955078 + } + ] + ] + } + ] + } + ] + }, + { + "name": "\"ItemDrop\"", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_Trap53.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + } + ] + } + ] + }, + { + "name": "\"ItemDropToo\"", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_Trap54.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "name": "RoomDoors", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [ + { + "name": "LastOn", + "type": "boolean", + "value": false + } + ], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "4Way", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.029999999329447746, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_4Way_Doors1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_4Way_Doors22.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_4Way_Doors3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 28 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 28 + } + ], + [ + { + "x": 376, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 376, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 0 + }, + { + "x": 8, + "y": 0 + }, + { + "x": 8, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 208 + }, + { + "x": 384, + "y": 208 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_4Way_Doors4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 28 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 28 + } + ], + [ + { + "x": 376, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 376, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 0 + }, + { + "x": 8, + "y": 0 + }, + { + "x": 8, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 208 + }, + { + "x": 384, + "y": 208 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ] + ] + } + ] + } + ] + }, + { + "name": "UpDeadEnd", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_UpDeadEnd_Doors1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_UpDeadEnd_Doors2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_UpDeadEnd_Doors3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 28 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 28 + } + ], + [ + { + "x": 376, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 376, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 0 + }, + { + "x": 8, + "y": 0 + }, + { + "x": 8, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 208 + }, + { + "x": 384, + "y": 208 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_UpDeadEnd_Doors4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 28 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 28 + } + ], + [ + { + "x": 376, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 376, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 0 + }, + { + "x": 8, + "y": 0 + }, + { + "x": 8, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 208 + }, + { + "x": 384, + "y": 208 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ] + ] + } + ] + } + ] + }, + { + "name": "DownDeadEnd", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_DownDeadEnd_Doors1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_DownDeadEnd_Doors2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_DownDeadEnd_Doors3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 28 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 28 + } + ], + [ + { + "x": 376, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 376, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 0 + }, + { + "x": 8, + "y": 0 + }, + { + "x": 8, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 208 + }, + { + "x": 384, + "y": 208 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_DownDeadEnd_Doors4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 28 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 28 + } + ], + [ + { + "x": 376, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 376, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 0 + }, + { + "x": 8, + "y": 0 + }, + { + "x": 8, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 208 + }, + { + "x": 384, + "y": 208 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ] + ] + } + ] + } + ] + }, + { + "name": "Side2Way", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_Side2way_Doors1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_Side2way_Doors2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_Side2way_Doors3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 28 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 28 + } + ], + [ + { + "x": 376, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 376, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 0 + }, + { + "x": 8, + "y": 0 + }, + { + "x": 8, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 208 + }, + { + "x": 384, + "y": 208 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_Side2way_Doors4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 28 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 28 + } + ], + [ + { + "x": 376, + "y": 0 + }, + { + "x": 384, + "y": 0 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 376, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 0 + }, + { + "x": 8, + "y": 0 + }, + { + "x": 8, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ], + [ + { + "x": 0, + "y": 208 + }, + { + "x": 384, + "y": 208 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 0, + "y": 216 + } + ] + ] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "name": "RoomFloor", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [ + { + "name": "LastOn", + "type": "boolean", + "value": false + } + ], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "4Way", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Room_Floor2.png", + "points": [ + { + "name": "GhostSpawn1", + "x": 142.93255615234375, + "y": 85.07331848144531 + }, + { + "name": "GhostSpawn2", + "x": 233.95895385742188, + "y": 149.82403564453125 + }, + { + "name": "GhostSpawn3", + "x": 141.994140625, + "y": 148.4164581298828 + }, + { + "name": "GhostSpawn4", + "x": 238.1818389892578, + "y": 86.95014953613281 + }, + { + "name": "GhostSpawn5", + "x": 68.79765319824219, + "y": 175.16128540039062 + }, + { + "name": "Ghostspawn6", + "x": 324.5161437988281, + "y": 180.79177856445312 + }, + { + "name": "GhostSpawn7", + "x": 322.1701354980469, + "y": 67.24339294433594 + }, + { + "name": "GhostSpawn8", + "x": 65.51319885253906, + "y": 69.12022399902344 + } + ], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { "automatic": true, "name": "centre", "x": 0, @@ -2640,69 +4361,141 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 28 + "x": 383.73333740234375, + "y": 0.07273152470588684 }, { - "x": 0, + "x": 383.9272766113281, + "y": 51.078792572021484 + }, + { + "x": 214.842041015625, + "y": 51.721473693847656 + }, + { + "x": 215.04835510253906, "y": 0 + } + ], + [ + { + "x": 363.8349914550781, + "y": 144.4003143310547 }, { "x": 384, - "y": 0 + "y": 144.03363037109375 }, { "x": 384, - "y": 28 + "y": 216 + }, + { + "x": 362.5220031738281, + "y": 216 } ], [ { - "x": 376, - "y": 0 + "x": 20.93841552734375, + "y": 200.49853515625 }, { - "x": 384, - "y": 0 + "x": 168.83839416503906, + "y": 200.5892333984375 }, { - "x": 384, + "x": 167.8006134033203, "y": 216 }, { - "x": 376, + "x": 20.000001907348633, "y": 216 } ], [ + { + "x": 169.208251953125, + "y": 2.023468494415283 + }, + { + "x": 168.39324951171875, + "y": 51.14164733886719 + }, { "x": 0, - "y": 0 + "y": 51.75952911376953 }, { - "x": 8, + "x": 0, "y": 0 + } + ], + [ + { + "x": 383.73333740234375, + "y": 51.46666717529297 }, { - "x": 8, + "x": 364.1454772949219, + "y": 51.46666717529297 + }, + { + "x": 364.7272644042969, + "y": 112.16969299316406 + }, + { + "x": 383.9272766113281, + "y": 112.16969299316406 + } + ], + [ + { + "x": 362.05279541015625, "y": 216 }, { - "x": 0, + "x": 362.9912414550781, + "y": 202.37539672851562 + }, + { + "x": 217.06744384765625, + "y": 201.43695068359375 + }, + { + "x": 216.1290283203125, "y": 216 } ], [ + { + "x": 19.587629318237305, + "y": 51.64012145996094 + }, { "x": 0, - "y": 208 + "y": 51.75952911376953 }, { - "x": 384, - "y": 208 + "x": 0, + "y": 112.5210952758789 }, { - "x": 384, + "x": 19.73758316040039, + "y": 112.5210952758789 + } + ], + [ + { + "x": 0, + "y": 149.35484313964844 + }, + { + "x": 20.469213485717773, + "y": 149.8240509033203 + }, + { + "x": 19.061586380004883, "y": 216 }, { @@ -2711,11 +4504,64 @@ } ] ] - }, + } + ] + } + ] + }, + { + "name": "UpDeadEnd", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ { - "hasCustomCollisionMask": true, - "image": "Room_4Way_Doors4.png", - "points": [], + "hasCustomCollisionMask": false, + "image": "Room_UpDeadEnd_Floor.png", + "points": [ + { + "name": "GhostSpawn1", + "x": 142.93255615234375, + "y": 85.07331848144531 + }, + { + "name": "GhostSpawn2", + "x": 233.95895385742188, + "y": 149.82403564453125 + }, + { + "name": "GhostSpawn3", + "x": 141.994140625, + "y": 148.4164581298828 + }, + { + "name": "GhostSpawn4", + "x": 238.1818389892578, + "y": 86.95014953613281 + }, + { + "name": "GhostSpawn5", + "x": 68.79765319824219, + "y": 175.16128540039062 + }, + { + "name": "Ghostspawn6", + "x": 324.5161437988281, + "y": 180.79177856445312 + }, + { + "name": "GhostSpawn7", + "x": 322.1701354980469, + "y": 67.24339294433594 + }, + { + "name": "GhostSpawn8", + "x": 65.51319885253906, + "y": 69.12022399902344 + } + ], "originPoint": { "name": "origine", "x": 192, @@ -2729,70 +4575,142 @@ }, "customCollisionMask": [ [ + { + "x": 383.73333740234375, + "y": 0.07273152470588684 + }, + { + "x": 383.9272766113281, + "y": 51.078792572021484 + }, + { + "x": 214.842041015625, + "y": 51.721473693847656 + }, + { + "x": 215.04835510253906, + "y": 0 + } + ], + [ + { + "x": 363.8349914550781, + "y": 144.4003143310547 + }, + { + "x": 384, + "y": 144.03363037109375 + }, + { + "x": 384, + "y": 216 + }, + { + "x": 362.5220031738281, + "y": 216 + } + ], + [ + { + "x": 20.93841552734375, + "y": 200.49853515625 + }, + { + "x": 168.83839416503906, + "y": 200.5892333984375 + }, + { + "x": 167.8006134033203, + "y": 216 + }, + { + "x": 20.000001907348633, + "y": 216 + } + ], + [ + { + "x": 169.208251953125, + "y": 2.023468494415283 + }, + { + "x": 168.39324951171875, + "y": 51.14164733886719 + }, { "x": 0, - "y": 28 + "y": 51.75952911376953 }, { "x": 0, "y": 0 + } + ], + [ + { + "x": 383.73333740234375, + "y": 51.46666717529297 }, { - "x": 384, - "y": 0 + "x": 364.1454772949219, + "y": 51.46666717529297 }, { - "x": 384, - "y": 28 + "x": 364.7272644042969, + "y": 112.16969299316406 + }, + { + "x": 383.9272766113281, + "y": 112.16969299316406 } ], [ { - "x": 376, - "y": 0 + "x": 362.05279541015625, + "y": 216 }, { - "x": 384, - "y": 0 + "x": 362.9912414550781, + "y": 202.37539672851562 }, { - "x": 384, - "y": 216 + "x": 217.06744384765625, + "y": 201.43695068359375 }, { - "x": 376, + "x": 216.1290283203125, "y": 216 } ], [ { - "x": 0, - "y": 0 + "x": 19.587629318237305, + "y": 51.64012145996094 }, { - "x": 8, - "y": 0 + "x": 0, + "y": 51.75952911376953 }, { - "x": 8, - "y": 216 + "x": 0, + "y": 112.5210952758789 }, { - "x": 0, - "y": 216 + "x": 19.73758316040039, + "y": 112.5210952758789 } ], [ { "x": 0, - "y": 208 + "y": 149.35484313964844 }, { - "x": 384, - "y": 208 + "x": 20.469213485717773, + "y": 149.8240509033203 }, { - "x": 384, + "x": 19.061586380004883, "y": 216 }, { @@ -2807,7 +4725,7 @@ ] }, { - "name": "UpDeadEnd", + "name": "DownDeadEnd", "useMultipleDirections": false, "directions": [ { @@ -2815,45 +4733,50 @@ "timeBetweenFrames": 0.08, "sprites": [ { - "hasCustomCollisionMask": true, - "image": "Room_UpDeadEnd_Doors1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Room_UpDeadEnd_Doors2.png", - "points": [], + "hasCustomCollisionMask": false, + "image": "Room_DownDeadEnd_Floor.png", + "points": [ + { + "name": "GhostSpawn1", + "x": 142.93255615234375, + "y": 85.07331848144531 + }, + { + "name": "GhostSpawn2", + "x": 233.95895385742188, + "y": 149.82403564453125 + }, + { + "name": "GhostSpawn3", + "x": 141.994140625, + "y": 148.4164581298828 + }, + { + "name": "GhostSpawn4", + "x": 238.1818389892578, + "y": 86.95014953613281 + }, + { + "name": "GhostSpawn5", + "x": 68.79765319824219, + "y": 175.16128540039062 + }, + { + "name": "Ghostspawn6", + "x": 324.5161437988281, + "y": 180.79177856445312 + }, + { + "name": "GhostSpawn7", + "x": 322.1701354980469, + "y": 67.24339294433594 + }, + { + "name": "GhostSpawn8", + "x": 65.51319885253906, + "y": 69.12022399902344 + } + ], "originPoint": { "name": "origine", "x": 192, @@ -2868,195 +4791,141 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 + "x": 383.73333740234375, + "y": 0.07273152470588684 }, { - "x": 0, - "y": 0 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Room_UpDeadEnd_Doors3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 28 + "x": 383.9272766113281, + "y": 51.078792572021484 }, { - "x": 0, - "y": 0 + "x": 214.842041015625, + "y": 51.721473693847656 }, { - "x": 384, + "x": 215.04835510253906, "y": 0 - }, - { - "x": 384, - "y": 28 } ], [ { - "x": 376, - "y": 0 + "x": 363.8349914550781, + "y": 144.4003143310547 }, { "x": 384, - "y": 0 + "y": 144.03363037109375 }, { "x": 384, "y": 216 }, { - "x": 376, + "x": 362.5220031738281, "y": 216 } ], [ { - "x": 0, - "y": 0 + "x": 20.93841552734375, + "y": 200.49853515625 }, { - "x": 8, - "y": 0 + "x": 168.83839416503906, + "y": 200.5892333984375 }, { - "x": 8, + "x": 167.8006134033203, "y": 216 }, { - "x": 0, + "x": 20.000001907348633, "y": 216 } ], [ { - "x": 0, - "y": 208 + "x": 169.208251953125, + "y": 2.023468494415283 }, { - "x": 384, - "y": 208 + "x": 168.39324951171875, + "y": 51.14164733886719 }, { - "x": 384, - "y": 216 + "x": 0, + "y": 51.75952911376953 }, { "x": 0, - "y": 216 + "y": 0 } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Room_UpDeadEnd_Doors4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ + ], [ { - "x": 0, - "y": 28 + "x": 383.73333740234375, + "y": 51.46666717529297 }, { - "x": 0, - "y": 0 + "x": 364.1454772949219, + "y": 51.46666717529297 }, { - "x": 384, - "y": 0 + "x": 364.7272644042969, + "y": 112.16969299316406 }, { - "x": 384, - "y": 28 + "x": 383.9272766113281, + "y": 112.16969299316406 } ], [ { - "x": 376, - "y": 0 + "x": 362.05279541015625, + "y": 216 }, { - "x": 384, - "y": 0 + "x": 362.9912414550781, + "y": 202.37539672851562 }, { - "x": 384, - "y": 216 + "x": 217.06744384765625, + "y": 201.43695068359375 }, { - "x": 376, + "x": 216.1290283203125, "y": 216 } ], [ { - "x": 0, - "y": 0 + "x": 19.587629318237305, + "y": 51.64012145996094 }, { - "x": 8, - "y": 0 + "x": 0, + "y": 51.75952911376953 }, { - "x": 8, - "y": 216 + "x": 0, + "y": 112.5210952758789 }, { - "x": 0, - "y": 216 + "x": 19.73758316040039, + "y": 112.5210952758789 } ], [ { "x": 0, - "y": 208 + "y": 149.35484313964844 }, { - "x": 384, - "y": 208 + "x": 20.469213485717773, + "y": 149.8240509033203 }, { - "x": 384, + "x": 19.061586380004883, "y": 216 }, { @@ -3071,7 +4940,7 @@ ] }, { - "name": "DownDeadEnd", + "name": "Side2Way", "useMultipleDirections": false, "directions": [ { @@ -3079,45 +4948,50 @@ "timeBetweenFrames": 0.08, "sprites": [ { - "hasCustomCollisionMask": true, - "image": "Room_DownDeadEnd_Doors1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Room_DownDeadEnd_Doors2.png", - "points": [], + "hasCustomCollisionMask": false, + "image": "Room_Side2Way_Floor.png", + "points": [ + { + "name": "GhostSpawn1", + "x": 142.93255615234375, + "y": 85.07331848144531 + }, + { + "name": "GhostSpawn2", + "x": 233.95895385742188, + "y": 149.82403564453125 + }, + { + "name": "GhostSpawn3", + "x": 141.994140625, + "y": 148.4164581298828 + }, + { + "name": "GhostSpawn4", + "x": 238.1818389892578, + "y": 86.95014953613281 + }, + { + "name": "GhostSpawn5", + "x": 68.79765319824219, + "y": 175.16128540039062 + }, + { + "name": "Ghostspawn6", + "x": 324.5161437988281, + "y": 180.79177856445312 + }, + { + "name": "GhostSpawn7", + "x": 322.1701354980469, + "y": 67.24339294433594 + }, + { + "name": "GhostSpawn8", + "x": 65.51319885253906, + "y": 69.12022399902344 + } + ], "originPoint": { "name": "origine", "x": 192, @@ -3132,195 +5006,141 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 + "x": 383.73333740234375, + "y": 0.07273152470588684 }, { - "x": 0, - "y": 0 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Room_DownDeadEnd_Doors3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 28 + "x": 383.9272766113281, + "y": 51.078792572021484 }, { - "x": 0, - "y": 0 + "x": 214.842041015625, + "y": 51.721473693847656 }, { - "x": 384, + "x": 215.04835510253906, "y": 0 - }, - { - "x": 384, - "y": 28 } ], [ { - "x": 376, - "y": 0 + "x": 363.8349914550781, + "y": 144.4003143310547 }, { "x": 384, - "y": 0 + "y": 144.03363037109375 }, { "x": 384, "y": 216 }, { - "x": 376, + "x": 362.5220031738281, "y": 216 } ], [ { - "x": 0, - "y": 0 + "x": 20.93841552734375, + "y": 200.49853515625 }, { - "x": 8, - "y": 0 + "x": 168.83839416503906, + "y": 200.5892333984375 }, { - "x": 8, + "x": 167.8006134033203, "y": 216 }, { - "x": 0, + "x": 20.000001907348633, "y": 216 } ], [ { - "x": 0, - "y": 208 + "x": 169.208251953125, + "y": 2.023468494415283 }, { - "x": 384, - "y": 208 + "x": 168.39324951171875, + "y": 51.14164733886719 }, { - "x": 384, - "y": 216 + "x": 0, + "y": 51.75952911376953 }, { "x": 0, - "y": 216 + "y": 0 } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Room_DownDeadEnd_Doors4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ + ], [ { - "x": 0, - "y": 28 + "x": 383.73333740234375, + "y": 51.46666717529297 }, { - "x": 0, - "y": 0 + "x": 364.1454772949219, + "y": 51.46666717529297 }, { - "x": 384, - "y": 0 + "x": 364.7272644042969, + "y": 112.16969299316406 }, { - "x": 384, - "y": 28 + "x": 383.9272766113281, + "y": 112.16969299316406 } ], [ { - "x": 376, - "y": 0 + "x": 362.05279541015625, + "y": 216 }, { - "x": 384, - "y": 0 + "x": 362.9912414550781, + "y": 202.37539672851562 }, { - "x": 384, - "y": 216 + "x": 217.06744384765625, + "y": 201.43695068359375 }, { - "x": 376, + "x": 216.1290283203125, "y": 216 } ], [ { - "x": 0, - "y": 0 + "x": 19.587629318237305, + "y": 51.64012145996094 }, { - "x": 8, - "y": 0 + "x": 0, + "y": 51.75952911376953 }, { - "x": 8, - "y": 216 + "x": 0, + "y": 112.5210952758789 }, { - "x": 0, - "y": 216 + "x": 19.73758316040039, + "y": 112.5210952758789 } ], [ { "x": 0, - "y": 208 + "y": 149.35484313964844 }, { - "x": 384, - "y": 208 + "x": 20.469213485717773, + "y": 149.8240509033203 }, { - "x": 384, + "x": 19.061586380004883, "y": 216 }, { @@ -3333,9 +5153,27 @@ ] } ] - }, + } + ] + }, + { + "assetStoreId": "", + "name": "Room", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [ { - "name": "Side2Way", + "name": "LastOn", + "type": "boolean", + "value": false + } + ], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "4Way", "useMultipleDirections": false, "directions": [ { @@ -3344,44 +5182,49 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "Room_Side2way_Doors1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Room_Side2way_Doors2.png", - "points": [], + "image": "Room_4Way_Walls2.png", + "points": [ + { + "name": "GhostSpawn1", + "x": 142.93255615234375, + "y": 85.07331848144531 + }, + { + "name": "GhostSpawn2", + "x": 233.95895385742188, + "y": 149.82403564453125 + }, + { + "name": "GhostSpawn3", + "x": 141.994140625, + "y": 148.4164581298828 + }, + { + "name": "GhostSpawn4", + "x": 238.1818389892578, + "y": 86.95014953613281 + }, + { + "name": "GhostSpawn5", + "x": 68.79765319824219, + "y": 175.16128540039062 + }, + { + "name": "Ghostspawn6", + "x": 324.5161437988281, + "y": 180.79177856445312 + }, + { + "name": "GhostSpawn7", + "x": 322.1701354980469, + "y": 67.24339294433594 + }, + { + "name": "GhostSpawn8", + "x": 65.51319885253906, + "y": 69.12022399902344 + } + ], "originPoint": { "name": "origine", "x": 192, @@ -3396,88 +5239,52 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, + "x": 384, "y": 0 }, { - "x": 0, - "y": 0 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Room_Side2way_Doors3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 28 + "x": 384, + "y": 51 }, { - "x": 0, - "y": 0 + "x": 214.08058166503906, + "y": 49.02545166015625 }, { - "x": 384, + "x": 214, "y": 0 - }, - { - "x": 384, - "y": 28 } ], [ { - "x": 376, - "y": 0 + "x": 363, + "y": 135 }, { "x": 384, - "y": 0 + "y": 135 }, { "x": 384, "y": 216 }, { - "x": 376, + "x": 363, "y": 216 } ], [ { "x": 0, - "y": 0 + "y": 196 }, { - "x": 8, - "y": 0 + "x": 214.84158325195312, + "y": 195.13865661621094 }, { - "x": 8, - "y": 216 + "x": 213.319580078125, + "y": 214.92481994628906 }, { "x": 0, @@ -3486,105 +5293,87 @@ ], [ { - "x": 0, - "y": 208 + "x": 217.12460327148438, + "y": 1.843062162399292 }, { - "x": 384, - "y": 208 + "x": 217.12460327148438, + "y": 49.02545166015625 }, { - "x": 384, - "y": 216 + "x": 0, + "y": 52 }, { "x": 0, - "y": 216 + "y": 0 } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Room_Side2way_Doors4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ + ], [ { - "x": 0, - "y": 28 + "x": 384, + "y": 0 }, { - "x": 0, + "x": 363, "y": 0 }, { - "x": 384, - "y": 0 + "x": 363.2378234863281, + "y": 136.54116821289062 }, { - "x": 384, - "y": 28 + "x": 383.02398681640625, + "y": 136.54116821289062 } ], [ - { - "x": 376, - "y": 0 - }, { "x": 384, - "y": 0 + "y": 216 }, { "x": 384, - "y": 216 + "y": 196 + }, + { + "x": 215.60260009765625, + "y": 195.89967346191406 }, { - "x": 376, + "x": 214, "y": 216 } ], [ { - "x": 0, + "x": 21, "y": 0 }, { - "x": 8, + "x": 0, "y": 0 }, { - "x": 8, - "y": 216 + "x": 0, + "y": 113 }, { - "x": 0, - "y": 216 + "x": 21, + "y": 113 } ], [ { - "x": 0, - "y": 208 + "x": 0.9988207817077637, + "y": 111.42797088623047 }, { - "x": 384, - "y": 208 + "x": 22.306997299194336, + "y": 112.18897247314453 }, { - "x": 384, + "x": 21, "y": 216 }, { @@ -3597,27 +5386,9 @@ ] } ] - } - ] - }, - { - "assetStoreId": "", - "name": "RoomFloor", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [ - { - "name": "LastOn", - "type": "boolean", - "value": false - } - ], - "effects": [], - "behaviors": [], - "animations": [ + }, { - "name": "4Way", + "name": "UpDeadEnd", "useMultipleDirections": false, "directions": [ { @@ -3625,8 +5396,8 @@ "timeBetweenFrames": 0.08, "sprites": [ { - "hasCustomCollisionMask": false, - "image": "Room_Floor2.png", + "hasCustomCollisionMask": true, + "image": "Room_UpDeadEnd_Walls.png", "points": [ { "name": "GhostSpawn1", @@ -3683,70 +5454,70 @@ "customCollisionMask": [ [ { - "x": 383.73333740234375, - "y": 0.07273152470588684 + "x": 384, + "y": 0 }, { - "x": 383.9272766113281, - "y": 51.078792572021484 + "x": 384, + "y": 51 }, { - "x": 214.842041015625, - "y": 51.721473693847656 + "x": 0, + "y": 51 }, { - "x": 215.04835510253906, + "x": 0, "y": 0 } ], [ { - "x": 363.8349914550781, - "y": 144.4003143310547 + "x": 363, + "y": 0 }, { "x": 384, - "y": 144.03363037109375 + "y": 0 }, { "x": 384, "y": 216 }, { - "x": 362.5220031738281, + "x": 363, "y": 216 } ], [ { - "x": 20.93841552734375, - "y": 200.49853515625 + "x": 0, + "y": 196 }, { - "x": 168.83839416503906, - "y": 200.5892333984375 + "x": 170, + "y": 196 }, { - "x": 167.8006134033203, + "x": 170, "y": 216 }, { - "x": 20.000001907348633, + "x": 0, "y": 216 } ], [ { - "x": 169.208251953125, - "y": 2.023468494415283 + "x": 170, + "y": 0 }, { - "x": 168.39324951171875, - "y": 51.14164733886719 + "x": 170, + "y": 52 }, { "x": 0, - "y": 51.75952911376953 + "y": 52 }, { "x": 0, @@ -3755,69 +5526,33 @@ ], [ { - "x": 383.73333740234375, - "y": 51.46666717529297 - }, - { - "x": 364.1454772949219, - "y": 51.46666717529297 - }, - { - "x": 364.7272644042969, - "y": 112.16969299316406 - }, - { - "x": 383.9272766113281, - "y": 112.16969299316406 - } - ], - [ - { - "x": 362.05279541015625, + "x": 384, "y": 216 }, { - "x": 362.9912414550781, - "y": 202.37539672851562 + "x": 384, + "y": 196 }, { - "x": 217.06744384765625, - "y": 201.43695068359375 + "x": 214, + "y": 196 }, { - "x": 216.1290283203125, + "x": 214, "y": 216 } ], - [ - { - "x": 19.587629318237305, - "y": 51.64012145996094 - }, - { - "x": 0, - "y": 51.75952911376953 - }, - { - "x": 0, - "y": 112.5210952758789 - }, - { - "x": 19.73758316040039, - "y": 112.5210952758789 - } - ], [ { "x": 0, - "y": 149.35484313964844 + "y": 0 }, { - "x": 20.469213485717773, - "y": 149.8240509033203 + "x": 21, + "y": 0 }, { - "x": 19.061586380004883, + "x": 21, "y": 216 }, { @@ -3832,7 +5567,7 @@ ] }, { - "name": "UpDeadEnd", + "name": "DownDeadEnd", "useMultipleDirections": false, "directions": [ { @@ -3840,8 +5575,8 @@ "timeBetweenFrames": 0.08, "sprites": [ { - "hasCustomCollisionMask": false, - "image": "Room_UpDeadEnd_Floor.png", + "hasCustomCollisionMask": true, + "image": "Room_DownDeadEnd_Walls.png", "points": [ { "name": "GhostSpawn1", @@ -3898,70 +5633,70 @@ "customCollisionMask": [ [ { - "x": 383.73333740234375, - "y": 0.07273152470588684 + "x": 384, + "y": 0 }, { - "x": 383.9272766113281, - "y": 51.078792572021484 + "x": 384, + "y": 51 }, { - "x": 214.842041015625, - "y": 51.721473693847656 + "x": 214, + "y": 51 }, { - "x": 215.04835510253906, + "x": 214, "y": 0 } ], [ { - "x": 363.8349914550781, - "y": 144.4003143310547 + "x": 363, + "y": 135 }, { "x": 384, - "y": 144.03363037109375 + "y": 135 }, { "x": 384, "y": 216 }, { - "x": 362.5220031738281, + "x": 363, "y": 216 } ], [ { - "x": 20.93841552734375, - "y": 200.49853515625 + "x": 0, + "y": 196 }, { - "x": 168.83839416503906, - "y": 200.5892333984375 + "x": 170, + "y": 196 }, { - "x": 167.8006134033203, + "x": 170, "y": 216 }, { - "x": 20.000001907348633, + "x": 0, "y": 216 } ], [ { - "x": 169.208251953125, - "y": 2.023468494415283 + "x": 170, + "y": 0 }, { - "x": 168.39324951171875, - "y": 51.14164733886719 + "x": 170, + "y": 52 }, { "x": 0, - "y": 51.75952911376953 + "y": 52 }, { "x": 0, @@ -3970,69 +5705,51 @@ ], [ { - "x": 383.73333740234375, - "y": 51.46666717529297 - }, - { - "x": 364.1454772949219, - "y": 51.46666717529297 + "x": 384, + "y": 0 }, { - "x": 364.7272644042969, - "y": 112.16969299316406 + "x": 363, + "y": 0 }, { - "x": 383.9272766113281, - "y": 112.16969299316406 - } - ], - [ - { - "x": 362.05279541015625, + "x": 363, "y": 216 }, { - "x": 362.9912414550781, - "y": 202.37539672851562 - }, - { - "x": 217.06744384765625, - "y": 201.43695068359375 - }, - { - "x": 216.1290283203125, + "x": 384, "y": 216 } ], [ { - "x": 19.587629318237305, - "y": 51.64012145996094 + "x": 384, + "y": 216 }, { - "x": 0, - "y": 51.75952911376953 + "x": 384, + "y": 196 }, { "x": 0, - "y": 112.5210952758789 + "y": 196 }, { - "x": 19.73758316040039, - "y": 112.5210952758789 + "x": 0, + "y": 216 } ], [ { "x": 0, - "y": 149.35484313964844 + "y": 0 }, { - "x": 20.469213485717773, - "y": 149.8240509033203 + "x": 21, + "y": 0 }, { - "x": 19.061586380004883, + "x": 21, "y": 216 }, { @@ -4047,7 +5764,7 @@ ] }, { - "name": "DownDeadEnd", + "name": "Side2Way", "useMultipleDirections": false, "directions": [ { @@ -4055,8 +5772,8 @@ "timeBetweenFrames": 0.08, "sprites": [ { - "hasCustomCollisionMask": false, - "image": "Room_DownDeadEnd_Floor.png", + "hasCustomCollisionMask": true, + "image": "Room_SideTwoWay_Walls.png", "points": [ { "name": "GhostSpawn1", @@ -4113,70 +5830,70 @@ "customCollisionMask": [ [ { - "x": 383.73333740234375, - "y": 0.07273152470588684 + "x": 384, + "y": 0 }, { - "x": 383.9272766113281, - "y": 51.078792572021484 + "x": 384, + "y": 51 }, { - "x": 214.842041015625, - "y": 51.721473693847656 + "x": 0, + "y": 51 }, { - "x": 215.04835510253906, + "x": 0, "y": 0 } ], [ { - "x": 363.8349914550781, - "y": 144.4003143310547 + "x": 363, + "y": 135 }, { "x": 384, - "y": 144.03363037109375 + "y": 135 }, { "x": 384, "y": 216 }, { - "x": 362.5220031738281, + "x": 363, "y": 216 } ], [ { - "x": 20.93841552734375, - "y": 200.49853515625 + "x": 0, + "y": 196 }, { - "x": 168.83839416503906, - "y": 200.5892333984375 + "x": 170, + "y": 196 }, { - "x": 167.8006134033203, + "x": 170, "y": 216 }, { - "x": 20.000001907348633, + "x": 0, "y": 216 } ], [ { - "x": 169.208251953125, - "y": 2.023468494415283 + "x": 170, + "y": 0 }, { - "x": 168.39324951171875, - "y": 51.14164733886719 + "x": 170, + "y": 52 }, { "x": 0, - "y": 51.75952911376953 + "y": 52 }, { "x": 0, @@ -4185,69 +5902,69 @@ ], [ { - "x": 383.73333740234375, - "y": 51.46666717529297 + "x": 384, + "y": 0 }, { - "x": 364.1454772949219, - "y": 51.46666717529297 + "x": 363, + "y": 0 }, { - "x": 364.7272644042969, - "y": 112.16969299316406 + "x": 363, + "y": 113 }, { - "x": 383.9272766113281, - "y": 112.16969299316406 + "x": 384, + "y": 113 } ], [ { - "x": 362.05279541015625, + "x": 384, "y": 216 }, { - "x": 362.9912414550781, - "y": 202.37539672851562 + "x": 384, + "y": 196 }, { - "x": 217.06744384765625, - "y": 201.43695068359375 + "x": 0, + "y": 196 }, { - "x": 216.1290283203125, + "x": 0, "y": 216 } ], [ { - "x": 19.587629318237305, - "y": 51.64012145996094 + "x": 21, + "y": 0 }, { "x": 0, - "y": 51.75952911376953 + "y": 0 }, { "x": 0, - "y": 112.5210952758789 + "y": 113 }, { - "x": 19.73758316040039, - "y": 112.5210952758789 + "x": 21, + "y": 113 } ], [ { "x": 0, - "y": 149.35484313964844 + "y": 135 }, { - "x": 20.469213485717773, - "y": 149.8240509033203 + "x": 21, + "y": 135 }, { - "x": 19.061586380004883, + "x": 21, "y": 216 }, { @@ -4260,9 +5977,109 @@ ] } ] + } + ] + }, + { + "assetStoreId": "", + "name": "Wesley", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [ + { + "name": "Dash", + "type": "boolean", + "value": false }, { - "name": "Side2Way", + "name": "UpgradeToggle", + "type": "boolean", + "value": false + }, + { + "name": "Health", + "type": "string", + "value": "" + }, + { + "name": "RecoilAngle", + "type": "string", + "value": "0" + }, + { + "name": "WalkInDirection", + "type": "string", + "value": "0" + }, + { + "name": "PickUpPitch", + "type": "string", + "value": "1" + } + ], + "effects": [], + "behaviors": [ + { + "name": "FireBullet", + "type": "FireBullet::FireBullet", + "FireCooldown": 0.5, + "HasJustFired": false, + "FiringArc": 0, + "AngleVariance": 0, + "MultishotQuantity": 1, + "MaxAmmo": 100, + "ReloadDuration": 1, + "AmmoQuantity": 100, + "BulletQuantity": 1, + "BulletsCreated_Stats": 0, + "ShotsPerReload": 4, + "StartingAmmo": 100, + "UnlimitedAmmo": false, + "HeatIncreasePerShot": 0.1, + "HeatCoolingRate": 0.1, + "OverheatingPenaltyDuration": 3, + "OverheatDuration": 5 + }, + { + "name": "Flash", + "type": "Flash::Flash", + "HalfPeriodTime": 0.1, + "IsFlashing": false, + "FlashDuration": 0 + }, + { + "name": "Health", + "type": "Health::Health", + "Health": 4, + "DamageCooldown": 1, + "MaxHealth": 10000, + "IsJustDamaged": false, + "CooldownActive": false + }, + { + "name": "ShakeObject_PositionAngle", + "type": "ShakeObject::ShakeObject_PositionAngle" + }, + { + "name": "TopDownMovement", + "type": "TopDownMovementBehavior::TopDownMovementBehavior", + "maxSpeed": 70, + "ignoreDefaultControls": true, + "rotateObject": false, + "acceleration": 3000, + "allowDiagonals": true, + "angleOffset": 0, + "angularMaxSpeed": 180, + "customIsometryAngle": 30, + "deceleration": 9000000, + "movementAngleOffset": 0, + "viewpoint": "TopDown" + } + ], + "animations": [ + { + "name": "Idle", "useMultipleDirections": false, "directions": [ { @@ -4270,54 +6087,101 @@ "timeBetweenFrames": 0.08, "sprites": [ { - "hasCustomCollisionMask": false, - "image": "Room_Side2Way_Floor.png", + "hasCustomCollisionMask": true, + "image": "Player4.png", "points": [ { - "name": "GhostSpawn1", - "x": 142.93255615234375, - "y": 85.07331848144531 - }, - { - "name": "GhostSpawn2", - "x": 233.95895385742188, - "y": 149.82403564453125 - }, - { - "name": "GhostSpawn3", - "x": 141.994140625, - "y": 148.4164581298828 + "name": "GunSpot", + "x": 12, + "y": 18 }, { - "name": "GhostSpawn4", - "x": 238.1818389892578, - "y": 86.95014953613281 + "name": "Dust", + "x": 11.936361312866211, + "y": 23.5 }, { - "name": "GhostSpawn5", - "x": 68.79765319824219, - "y": 175.16128540039062 - }, + "name": "RecoilDust", + "x": 14.845453262329102, + "y": 23.57273292541504 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 12, + "y": 15 + }, + { + "x": 18, + "y": 19 + }, + { + "x": 18, + "y": 23 + }, + { + "x": 12, + "y": 24 + }, + { + "x": 6, + "y": 23 + }, + { + "x": 6, + "y": 19 + } + ] + ] + } + ] + } + ] + }, + { + "name": "Run", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.15000000596046448, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Player1.png", + "points": [ { - "name": "Ghostspawn6", - "x": 324.5161437988281, - "y": 180.79177856445312 + "name": "GunSpot", + "x": 12, + "y": 18 }, { - "name": "GhostSpawn7", - "x": 322.1701354980469, - "y": 67.24339294433594 + "name": "Dust", + "x": 11.936361312866211, + "y": 23.5 }, { - "name": "GhostSpawn8", - "x": 65.51319885253906, - "y": 69.12022399902344 + "name": "RecoilDust", + "x": 14.845453262329102, + "y": 23.57273292541504 } ], "originPoint": { "name": "origine", - "x": 192, - "y": 108 + "x": 12, + "y": 12 }, "centerPoint": { "automatic": true, @@ -4328,146 +6192,208 @@ "customCollisionMask": [ [ { - "x": 383.73333740234375, - "y": 0.07273152470588684 - }, - { - "x": 383.9272766113281, - "y": 51.078792572021484 + "x": 12, + "y": 15 }, { - "x": 214.842041015625, - "y": 51.721473693847656 + "x": 18, + "y": 19 }, { - "x": 215.04835510253906, - "y": 0 - } - ], - [ - { - "x": 363.8349914550781, - "y": 144.4003143310547 + "x": 18, + "y": 23 }, { - "x": 384, - "y": 144.03363037109375 + "x": 12, + "y": 24 }, { - "x": 384, - "y": 216 + "x": 6, + "y": 23 }, { - "x": 362.5220031738281, - "y": 216 + "x": 6, + "y": 19 } - ], + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Player2.png", + "points": [ + { + "name": "GunSpot", + "x": 12, + "y": 18 + }, + { + "name": "Dust", + "x": 11.936361312866211, + "y": 23.5 + }, + { + "name": "RecoilDust", + "x": 14.845453262329102, + "y": 23.57273292541504 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ [ { - "x": 20.93841552734375, - "y": 200.49853515625 - }, - { - "x": 168.83839416503906, - "y": 200.5892333984375 + "x": 12, + "y": 15 }, { - "x": 167.8006134033203, - "y": 216 + "x": 18, + "y": 19 }, { - "x": 20.000001907348633, - "y": 216 - } - ], - [ - { - "x": 169.208251953125, - "y": 2.023468494415283 + "x": 18, + "y": 23 }, { - "x": 168.39324951171875, - "y": 51.14164733886719 + "x": 12, + "y": 24 }, { - "x": 0, - "y": 51.75952911376953 + "x": 6, + "y": 23 }, { - "x": 0, - "y": 0 + "x": 6, + "y": 19 } - ], + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Player3.png", + "points": [ + { + "name": "GunSpot", + "x": 12, + "y": 18 + }, + { + "name": "Dust", + "x": 11.936361312866211, + "y": 23.5 + }, + { + "name": "RecoilDust", + "x": 14.845453262329102, + "y": 23.57273292541504 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ [ { - "x": 383.73333740234375, - "y": 51.46666717529297 - }, - { - "x": 364.1454772949219, - "y": 51.46666717529297 + "x": 12, + "y": 15 }, { - "x": 364.7272644042969, - "y": 112.16969299316406 + "x": 18, + "y": 19 }, { - "x": 383.9272766113281, - "y": 112.16969299316406 - } - ], - [ - { - "x": 362.05279541015625, - "y": 216 + "x": 18, + "y": 23 }, { - "x": 362.9912414550781, - "y": 202.37539672851562 + "x": 12, + "y": 24 }, { - "x": 217.06744384765625, - "y": 201.43695068359375 + "x": 6, + "y": 23 }, { - "x": 216.1290283203125, - "y": 216 + "x": 6, + "y": 19 } - ], + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Player4.png", + "points": [ + { + "name": "GunSpot", + "x": 12, + "y": 18 + }, + { + "name": "Dust", + "x": 11.936361312866211, + "y": 23.5 + }, + { + "name": "RecoilDust", + "x": 14.845453262329102, + "y": 23.57273292541504 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ [ { - "x": 19.587629318237305, - "y": 51.64012145996094 - }, - { - "x": 0, - "y": 51.75952911376953 + "x": 12, + "y": 15 }, { - "x": 0, - "y": 112.5210952758789 + "x": 18, + "y": 19 }, { - "x": 19.73758316040039, - "y": 112.5210952758789 - } - ], - [ - { - "x": 0, - "y": 149.35484313964844 + "x": 18, + "y": 23 }, { - "x": 20.469213485717773, - "y": 149.8240509033203 + "x": 12, + "y": 24 }, { - "x": 19.061586380004883, - "y": 216 + "x": 6, + "y": 23 }, { - "x": 0, - "y": 216 + "x": 6, + "y": 19 } ] ] @@ -4480,77 +6406,48 @@ }, { "assetStoreId": "", - "name": "Room", + "name": "Gun", "tags": "", "type": "Sprite", "updateIfNotVisible": false, - "variables": [ + "variables": [], + "effects": [], + "behaviors": [ { - "name": "LastOn", - "type": "boolean", - "value": false + "name": "Flash", + "type": "Flash::Flash", + "HalfPeriodTime": 0.05, + "IsFlashing": false, + "FlashDuration": 0 + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" } ], - "effects": [], - "behaviors": [], "animations": [ { - "name": "4Way", + "name": "Gun13", "useMultipleDirections": false, "directions": [ { "looping": false, - "timeBetweenFrames": 0.08, + "timeBetweenFrames": 0.07999999821186066, "sprites": [ { - "hasCustomCollisionMask": true, - "image": "Room_4Way_Walls2.png", + "hasCustomCollisionMask": false, + "image": "assets\\Gun1.png", "points": [ { - "name": "GhostSpawn1", - "x": 142.93255615234375, - "y": 85.07331848144531 - }, - { - "name": "GhostSpawn2", - "x": 233.95895385742188, - "y": 149.82403564453125 - }, - { - "name": "GhostSpawn3", - "x": 141.994140625, - "y": 148.4164581298828 - }, - { - "name": "GhostSpawn4", - "x": 238.1818389892578, - "y": 86.95014953613281 - }, - { - "name": "GhostSpawn5", - "x": 68.79765319824219, - "y": 175.16128540039062 - }, - { - "name": "Ghostspawn6", - "x": 324.5161437988281, - "y": 180.79177856445312 - }, - { - "name": "GhostSpawn7", - "x": 322.1701354980469, - "y": 67.24339294433594 - }, - { - "name": "GhostSpawn8", - "x": 65.51319885253906, - "y": 69.12022399902344 + "name": "BulletSpawn", + "x": 23.972728729248047, + "y": 6.772726535797119 } ], "originPoint": { "name": "origine", - "x": 192, - "y": 108 + "x": 14, + "y": 8 }, "centerPoint": { "automatic": true, @@ -4558,214 +6455,94 @@ "x": 0, "y": 0 }, - "customCollisionMask": [ - [ - { - "x": 384, - "y": 0 - }, - { - "x": 384, - "y": 51 - }, - { - "x": 214.08058166503906, - "y": 49.02545166015625 - }, - { - "x": 214, - "y": 0 - } - ], - [ - { - "x": 363, - "y": 135 - }, - { - "x": 384, - "y": 135 - }, - { - "x": 384, - "y": 216 - }, - { - "x": 363, - "y": 216 - } - ], - [ - { - "x": 0, - "y": 196 - }, - { - "x": 214.84158325195312, - "y": 195.13865661621094 - }, - { - "x": 213.319580078125, - "y": 214.92481994628906 - }, - { - "x": 0, - "y": 216 - } - ], - [ - { - "x": 217.12460327148438, - "y": 1.843062162399292 - }, - { - "x": 217.12460327148438, - "y": 49.02545166015625 - }, - { - "x": 0, - "y": 52 - }, - { - "x": 0, - "y": 0 - } - ], - [ - { - "x": 384, - "y": 0 - }, - { - "x": 363, - "y": 0 - }, - { - "x": 363.2378234863281, - "y": 136.54116821289062 - }, - { - "x": 383.02398681640625, - "y": 136.54116821289062 - } - ], - [ - { - "x": 384, - "y": 216 - }, - { - "x": 384, - "y": 196 - }, - { - "x": 215.60260009765625, - "y": 195.89967346191406 - }, - { - "x": 214, - "y": 216 - } - ], - [ - { - "x": 21, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 113 - }, - { - "x": 21, - "y": 113 - } - ], - [ - { - "x": 0.9988207817077637, - "y": 111.42797088623047 - }, - { - "x": 22.306997299194336, - "y": 112.18897247314453 - }, - { - "x": 21, - "y": 216 - }, - { - "x": 0, - "y": 216 - } - ] - ] + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "assets\\Gun2.png", + "points": [ + { + "name": "BulletSpawn", + "x": 23.972728729248047, + "y": 6.772726535797119 + } + ], + "originPoint": { + "name": "origine", + "x": 14, + "y": 8 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] } ] } ] + } + ] + }, + { + "assetStoreId": "", + "name": "Imp", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [ + { + "name": "DropChance_HealthOrb", + "type": "string", + "value": "10" }, { - "name": "UpDeadEnd", + "name": "DropAmount_Points", + "type": "string", + "value": "2" + } + ], + "effects": [], + "behaviors": [ + { + "name": "Health", + "type": "Health::Health", + "Health": 6, + "DamageCooldown": 0, + "MaxHealth": 5000000000, + "IsJustDamaged": false, + "CooldownActive": false + }, + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + } + ], + "animations": [ + { + "name": "Idle", "useMultipleDirections": false, "directions": [ { - "looping": false, - "timeBetweenFrames": 0.08, + "looping": true, + "timeBetweenFrames": 0.20000000298023224, "sprites": [ { "hasCustomCollisionMask": true, - "image": "Room_UpDeadEnd_Walls.png", + "image": "Imp1.png", "points": [ { - "name": "GhostSpawn1", - "x": 142.93255615234375, - "y": 85.07331848144531 - }, - { - "name": "GhostSpawn2", - "x": 233.95895385742188, - "y": 149.82403564453125 - }, - { - "name": "GhostSpawn3", - "x": 141.994140625, - "y": 148.4164581298828 - }, - { - "name": "GhostSpawn4", - "x": 238.1818389892578, - "y": 86.95014953613281 - }, - { - "name": "GhostSpawn5", - "x": 68.79765319824219, - "y": 175.16128540039062 - }, - { - "name": "Ghostspawn6", - "x": 324.5161437988281, - "y": 180.79177856445312 - }, - { - "name": "GhostSpawn7", - "x": 322.1701354980469, - "y": 67.24339294433594 - }, - { - "name": "GhostSpawn8", - "x": 65.51319885253906, - "y": 69.12022399902344 + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 } ], "originPoint": { "name": "origine", - "x": 192, - "y": 108 + "x": 12, + "y": 12 }, "centerPoint": { "automatic": true, @@ -4776,110 +6553,178 @@ "customCollisionMask": [ [ { - "x": 384, - "y": 0 - }, - { - "x": 384, - "y": 51 + "x": 18, + "y": 11 }, { - "x": 0, - "y": 51 + "x": 22, + "y": 14 }, { - "x": 0, - "y": 0 - } - ], - [ - { - "x": 363, - "y": 0 + "x": 18, + "y": 24 }, { - "x": 384, - "y": 0 + "x": 6, + "y": 24 }, { - "x": 384, - "y": 216 + "x": 2, + "y": 14.84545612335205 }, { - "x": 363, - "y": 216 + "x": 6, + "y": 11 } - ], + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Imp2.png", + "points": [ + { + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ [ { - "x": 0, - "y": 196 + "x": 18, + "y": 11 }, { - "x": 170, - "y": 196 + "x": 22, + "y": 14 }, { - "x": 170, - "y": 216 + "x": 18, + "y": 24 }, { - "x": 0, - "y": 216 + "x": 6, + "y": 24 + }, + { + "x": 2, + "y": 14.84545612335205 + }, + { + "x": 6, + "y": 11 } - ], + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Imp3.png", + "points": [ + { + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ [ { - "x": 170, - "y": 0 + "x": 18, + "y": 11 }, { - "x": 170, - "y": 52 + "x": 22, + "y": 14 }, { - "x": 0, - "y": 52 + "x": 18, + "y": 24 }, { - "x": 0, - "y": 0 + "x": 6, + "y": 24 + }, + { + "x": 2, + "y": 14.84545612335205 + }, + { + "x": 6, + "y": 11 } - ], + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Imp4.png", + "points": [ + { + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ [ { - "x": 384, - "y": 216 - }, - { - "x": 384, - "y": 196 + "x": 18, + "y": 11 }, { - "x": 214, - "y": 196 + "x": 22, + "y": 14 }, { - "x": 214, - "y": 216 - } - ], - [ - { - "x": 0, - "y": 0 + "x": 18, + "y": 24 }, { - "x": 21, - "y": 0 + "x": 6, + "y": 24 }, { - "x": 21, - "y": 216 + "x": 2, + "y": 14.84545612335205 }, { - "x": 0, - "y": 216 + "x": 6, + "y": 11 } ] ] @@ -4889,62 +6734,27 @@ ] }, { - "name": "DownDeadEnd", + "name": "Charging", "useMultipleDirections": false, "directions": [ { "looping": false, - "timeBetweenFrames": 0.08, + "timeBetweenFrames": 0.30000001192092896, "sprites": [ { "hasCustomCollisionMask": true, - "image": "Room_DownDeadEnd_Walls.png", + "image": "ImpCharging1.png", "points": [ { - "name": "GhostSpawn1", - "x": 142.93255615234375, - "y": 85.07331848144531 - }, - { - "name": "GhostSpawn2", - "x": 233.95895385742188, - "y": 149.82403564453125 - }, - { - "name": "GhostSpawn3", - "x": 141.994140625, - "y": 148.4164581298828 - }, - { - "name": "GhostSpawn4", - "x": 238.1818389892578, - "y": 86.95014953613281 - }, - { - "name": "GhostSpawn5", - "x": 68.79765319824219, - "y": 175.16128540039062 - }, - { - "name": "Ghostspawn6", - "x": 324.5161437988281, - "y": 180.79177856445312 - }, - { - "name": "GhostSpawn7", - "x": 322.1701354980469, - "y": 67.24339294433594 - }, - { - "name": "GhostSpawn8", - "x": 65.51319885253906, - "y": 69.12022399902344 + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 } ], "originPoint": { "name": "origine", - "x": 192, - "y": 108 + "x": 12, + "y": 12 }, "centerPoint": { "automatic": true, @@ -4955,128 +6765,178 @@ "customCollisionMask": [ [ { - "x": 384, - "y": 0 - }, - { - "x": 384, - "y": 51 + "x": 18, + "y": 11 }, { - "x": 214, - "y": 51 + "x": 22, + "y": 14 }, { - "x": 214, - "y": 0 - } - ], - [ - { - "x": 363, - "y": 135 + "x": 18, + "y": 24 }, { - "x": 384, - "y": 135 + "x": 6, + "y": 24 }, { - "x": 384, - "y": 216 + "x": 2, + "y": 14.84545612335205 }, { - "x": 363, - "y": 216 + "x": 6, + "y": 11 } - ], + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "ImpCharging2.png", + "points": [ + { + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ [ { - "x": 0, - "y": 196 - }, - { - "x": 170, - "y": 196 + "x": 18, + "y": 11 }, { - "x": 170, - "y": 216 + "x": 22, + "y": 14 }, { - "x": 0, - "y": 216 - } - ], - [ - { - "x": 170, - "y": 0 + "x": 18, + "y": 24 }, { - "x": 170, - "y": 52 + "x": 6, + "y": 24 }, { - "x": 0, - "y": 52 + "x": 2, + "y": 14.84545612335205 }, { - "x": 0, - "y": 0 + "x": 6, + "y": 11 } - ], + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "ImpCharging3.png", + "points": [ + { + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ [ { - "x": 384, - "y": 0 + "x": 18, + "y": 11 }, { - "x": 363, - "y": 0 + "x": 22, + "y": 14 }, { - "x": 363, - "y": 216 + "x": 18, + "y": 24 }, { - "x": 384, - "y": 216 + "x": 6, + "y": 24 + }, + { + "x": 2, + "y": 14.84545612335205 + }, + { + "x": 6, + "y": 11 } - ], + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "ImpCharging4.png", + "points": [ + { + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ [ { - "x": 384, - "y": 216 - }, - { - "x": 384, - "y": 196 + "x": 18, + "y": 11 }, { - "x": 0, - "y": 196 + "x": 22, + "y": 14 }, { - "x": 0, - "y": 216 - } - ], - [ - { - "x": 0, - "y": 0 + "x": 18, + "y": 24 }, { - "x": 21, - "y": 0 + "x": 6, + "y": 24 }, { - "x": 21, - "y": 216 + "x": 2, + "y": 14.84545612335205 }, { - "x": 0, - "y": 216 + "x": 6, + "y": 11 } ] ] @@ -5086,62 +6946,27 @@ ] }, { - "name": "Side2Way", + "name": "Resting", "useMultipleDirections": false, "directions": [ { "looping": false, - "timeBetweenFrames": 0.08, + "timeBetweenFrames": 0.20000000298023224, "sprites": [ { "hasCustomCollisionMask": true, - "image": "Room_SideTwoWay_Walls.png", + "image": "assets\\Imp1.png", "points": [ { - "name": "GhostSpawn1", - "x": 142.93255615234375, - "y": 85.07331848144531 - }, - { - "name": "GhostSpawn2", - "x": 233.95895385742188, - "y": 149.82403564453125 - }, - { - "name": "GhostSpawn3", - "x": 141.994140625, - "y": 148.4164581298828 - }, - { - "name": "GhostSpawn4", - "x": 238.1818389892578, - "y": 86.95014953613281 - }, - { - "name": "GhostSpawn5", - "x": 68.79765319824219, - "y": 175.16128540039062 - }, - { - "name": "Ghostspawn6", - "x": 324.5161437988281, - "y": 180.79177856445312 - }, - { - "name": "GhostSpawn7", - "x": 322.1701354980469, - "y": 67.24339294433594 - }, - { - "name": "GhostSpawn8", - "x": 65.51319885253906, - "y": 69.12022399902344 + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 } ], "originPoint": { "name": "origine", - "x": 192, - "y": 108 + "x": 12, + "y": 12 }, "centerPoint": { "automatic": true, @@ -5152,268 +6977,240 @@ "customCollisionMask": [ [ { - "x": 384, - "y": 0 - }, - { - "x": 384, - "y": 51 + "x": 18, + "y": 11 }, { - "x": 0, - "y": 51 + "x": 22, + "y": 14 }, { - "x": 0, - "y": 0 - } - ], - [ - { - "x": 363, - "y": 135 + "x": 18, + "y": 24 }, { - "x": 384, - "y": 135 + "x": 6, + "y": 24 }, { - "x": 384, - "y": 216 + "x": 2, + "y": 14.84545612335205 }, { - "x": 363, - "y": 216 + "x": 6, + "y": 11 } - ], + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "assets\\Imp2.png", + "points": [ + { + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ [ { - "x": 0, - "y": 196 + "x": 18, + "y": 11 }, { - "x": 170, - "y": 196 + "x": 22, + "y": 14 }, { - "x": 170, - "y": 216 + "x": 18, + "y": 24 }, { - "x": 0, - "y": 216 + "x": 6, + "y": 24 + }, + { + "x": 2, + "y": 14.84545612335205 + }, + { + "x": 6, + "y": 11 } - ], + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "assets\\Imp3.png", + "points": [ + { + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ [ { - "x": 170, - "y": 0 + "x": 18, + "y": 11 }, { - "x": 170, - "y": 52 + "x": 22, + "y": 14 }, { - "x": 0, - "y": 52 + "x": 18, + "y": 24 }, { - "x": 0, - "y": 0 - } - ], - [ + "x": 6, + "y": 24 + }, { - "x": 384, - "y": 0 + "x": 2, + "y": 14.84545612335205 }, { - "x": 363, - "y": 0 + "x": 6, + "y": 11 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "assets\\Imp4.png", + "points": [ + { + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 18, + "y": 11 }, { - "x": 363, - "y": 113 + "x": 22, + "y": 14 }, { - "x": 384, - "y": 113 - } - ], - [ - { - "x": 384, - "y": 216 + "x": 18, + "y": 24 }, { - "x": 384, - "y": 196 + "x": 6, + "y": 24 }, { - "x": 0, - "y": 196 + "x": 2, + "y": 14.84545612335205 }, { - "x": 0, - "y": 216 + "x": 6, + "y": 11 } - ], + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "assets\\Imp1.png", + "points": [ + { + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 + } + ], + "originPoint": { + "name": "origine", + "x": 12, + "y": 12 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ [ { - "x": 21, - "y": 0 - }, - { - "x": 0, - "y": 0 + "x": 18, + "y": 11 }, { - "x": 0, - "y": 113 + "x": 22, + "y": 14 }, { - "x": 21, - "y": 113 - } - ], - [ - { - "x": 0, - "y": 135 + "x": 18, + "y": 24 }, { - "x": 21, - "y": 135 + "x": 6, + "y": 24 }, { - "x": 21, - "y": 216 + "x": 2, + "y": 14.84545612335205 }, { - "x": 0, - "y": 216 + "x": 6, + "y": 11 } ] ] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "name": "Wesley", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [ - { - "name": "Dash", - "type": "boolean", - "value": false - }, - { - "name": "UpgradeToggle", - "type": "boolean", - "value": false - }, - { - "name": "Health", - "type": "string", - "value": "" - }, - { - "name": "RecoilAngle", - "type": "string", - "value": "0" - }, - { - "name": "WalkInDirection", - "type": "string", - "value": "0" - }, - { - "name": "PickUpPitch", - "type": "string", - "value": "1" - } - ], - "effects": [], - "behaviors": [ - { - "name": "FireBullet", - "type": "FireBullet::FireBullet", - "FireCooldown": 0.1, - "HasJustFired": false, - "FiringArc": 0, - "AngleVariance": 0, - "MultishotQuantity": 1 - }, - { - "name": "Flash", - "type": "Flash::Flash", - "HalfPeriodTime": 0.1, - "IsFlashing": false, - "FlashDuration": 0 - }, - { - "name": "Health", - "type": "Health::Health", - "Health": 4, - "DamageCooldown": 1, - "MaxHealth": 10000, - "IsJustDamaged": false, - "CooldownActive": false - }, - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - }, - { - "name": "TopDownMovement", - "type": "TopDownMovementBehavior::TopDownMovementBehavior", - "maxSpeed": 70, - "ignoreDefaultControls": true, - "rotateObject": false, - "acceleration": 3000, - "allowDiagonals": true, - "angleOffset": 0, - "angularMaxSpeed": 180, - "customIsometryAngle": 30, - "deceleration": 9000000, - "movementAngleOffset": 0, - "viewpoint": "TopDown" - } - ], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ + }, { "hasCustomCollisionMask": true, - "image": "Player4.png", + "image": "assets\\Imp2.png", "points": [ { - "name": "GunSpot", - "x": 12, - "y": 18 - }, - { - "name": "Dust", - "x": 11.936361312866211, - "y": 23.5 - }, - { - "name": "RecoilDust", - "x": 14.845453262329102, - "y": 23.57273292541504 + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 } ], "originPoint": { @@ -5430,62 +7227,40 @@ "customCollisionMask": [ [ { - "x": 12, - "y": 15 + "x": 18, + "y": 11 }, { - "x": 18, - "y": 19 + "x": 22, + "y": 14 }, { "x": 18, - "y": 23 + "y": 24 }, { - "x": 12, + "x": 6, "y": 24 }, { - "x": 6, - "y": 23 + "x": 2, + "y": 14.84545612335205 }, { "x": 6, - "y": 19 + "y": 11 } ] ] - } - ] - } - ] - }, - { - "name": "Run", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.15000000596046448, - "sprites": [ + }, { "hasCustomCollisionMask": true, - "image": "Player1.png", - "points": [ - { - "name": "GunSpot", - "x": 12, - "y": 18 - }, - { - "name": "Dust", - "x": 11.936361312866211, - "y": 23.5 - }, + "image": "assets\\Imp3.png", + "points": [ { - "name": "RecoilDust", - "x": 14.845453262329102, - "y": 23.57273292541504 + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 } ], "originPoint": { @@ -5502,50 +7277,40 @@ "customCollisionMask": [ [ { - "x": 12, - "y": 15 + "x": 18, + "y": 11 }, { - "x": 18, - "y": 19 + "x": 22, + "y": 14 }, { "x": 18, - "y": 23 + "y": 24 }, { - "x": 12, + "x": 6, "y": 24 }, { - "x": 6, - "y": 23 + "x": 2, + "y": 14.84545612335205 }, { "x": 6, - "y": 19 + "y": 11 } ] ] }, { "hasCustomCollisionMask": true, - "image": "Player2.png", + "image": "assets\\Imp4.png", "points": [ { - "name": "GunSpot", - "x": 12, - "y": 18 - }, - { - "name": "Dust", - "x": 11.936361312866211, - "y": 23.5 - }, - { - "name": "RecoilDust", - "x": 14.845453262329102, - "y": 23.57273292541504 + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 } ], "originPoint": { @@ -5562,50 +7327,40 @@ "customCollisionMask": [ [ { - "x": 12, - "y": 15 + "x": 18, + "y": 11 }, { - "x": 18, - "y": 19 + "x": 22, + "y": 14 }, { "x": 18, - "y": 23 + "y": 24 }, { - "x": 12, + "x": 6, "y": 24 }, { - "x": 6, - "y": 23 + "x": 2, + "y": 14.84545612335205 }, { "x": 6, - "y": 19 + "y": 11 } ] ] }, { "hasCustomCollisionMask": true, - "image": "Player3.png", + "image": "assets\\Imp1.png", "points": [ { - "name": "GunSpot", - "x": 12, - "y": 18 - }, - { - "name": "Dust", - "x": 11.936361312866211, - "y": 23.5 - }, - { - "name": "RecoilDust", - "x": 14.845453262329102, - "y": 23.57273292541504 + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 } ], "originPoint": { @@ -5622,50 +7377,40 @@ "customCollisionMask": [ [ { - "x": 12, - "y": 15 + "x": 18, + "y": 11 }, { - "x": 18, - "y": 19 + "x": 22, + "y": 14 }, { "x": 18, - "y": 23 + "y": 24 }, { - "x": 12, + "x": 6, "y": 24 }, { - "x": 6, - "y": 23 + "x": 2, + "y": 14.84545612335205 }, { "x": 6, - "y": 19 + "y": 11 } ] ] }, { "hasCustomCollisionMask": true, - "image": "Player4.png", + "image": "assets\\Imp2.png", "points": [ { - "name": "GunSpot", - "x": 12, - "y": 18 - }, - { - "name": "Dust", - "x": 11.936361312866211, - "y": 23.5 - }, - { - "name": "RecoilDust", - "x": 14.845453262329102, - "y": 23.57273292541504 + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 } ], "originPoint": { @@ -5682,82 +7427,46 @@ "customCollisionMask": [ [ { - "x": 12, - "y": 15 + "x": 18, + "y": 11 }, { - "x": 18, - "y": 19 + "x": 22, + "y": 14 }, { "x": 18, - "y": 23 + "y": 24 }, { - "x": 12, + "x": 6, "y": 24 }, { - "x": 6, - "y": 23 + "x": 2, + "y": 14.84545612335205 }, { "x": 6, - "y": 19 + "y": 11 } ] ] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "name": "Gun", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Flash", - "type": "Flash::Flash", - "HalfPeriodTime": 0.05, - "IsFlashing": false, - "FlashDuration": 0 - }, - { - "name": "ShakeObject_PositionAngleScale", - "type": "ShakeObject::ShakeObject_PositionAngleScale" - } - ], - "animations": [ - { - "name": "Gun13", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.07999999821186066, - "sprites": [ + }, { - "hasCustomCollisionMask": false, - "image": "assets\\Gun1.png", + "hasCustomCollisionMask": true, + "image": "assets\\Imp3.png", "points": [ { - "name": "BulletSpawn", - "x": 23.972728729248047, - "y": 6.772726535797119 + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 } ], "originPoint": { "name": "origine", - "x": 14, - "y": 8 + "x": 12, + "y": 12 }, "centerPoint": { "automatic": true, @@ -5765,22 +7474,49 @@ "x": 0, "y": 0 }, - "customCollisionMask": [] + "customCollisionMask": [ + [ + { + "x": 18, + "y": 11 + }, + { + "x": 22, + "y": 14 + }, + { + "x": 18, + "y": 24 + }, + { + "x": 6, + "y": 24 + }, + { + "x": 2, + "y": 14.84545612335205 + }, + { + "x": 6, + "y": 11 + } + ] + ] }, { - "hasCustomCollisionMask": false, - "image": "assets\\Gun2.png", + "hasCustomCollisionMask": true, + "image": "assets\\Imp4.png", "points": [ { - "name": "BulletSpawn", - "x": 23.972728729248047, - "y": 6.772726535797119 + "name": "GhostOrbSpawn", + "x": 12.63882064819336, + "y": 15.705160140991211 } ], "originPoint": { "name": "origine", - "x": 14, - "y": 8 + "x": 12, + "y": 12 }, "centerPoint": { "automatic": true, @@ -5788,7 +7524,34 @@ "x": 0, "y": 0 }, - "customCollisionMask": [] + "customCollisionMask": [ + [ + { + "x": 18, + "y": 11 + }, + { + "x": 22, + "y": 14 + }, + { + "x": 18, + "y": 24 + }, + { + "x": 6, + "y": 24 + }, + { + "x": 2, + "y": 14.84545612335205 + }, + { + "x": 6, + "y": 11 + } + ] + ] } ] } @@ -5798,7 +7561,7 @@ }, { "assetStoreId": "", - "name": "Imp", + "name": "Spider", "tags": "", "type": "Sprite", "updateIfNotVisible": false, @@ -5806,12 +7569,12 @@ { "name": "DropChance_HealthOrb", "type": "string", - "value": "10" + "value": "25" }, { "name": "DropAmount_Points", "type": "string", - "value": "2" + "value": "1" } ], "effects": [], @@ -5819,9 +7582,9 @@ { "name": "Health", "type": "Health::Health", - "Health": 6, + "Health": 2, "DamageCooldown": 0, - "MaxHealth": 5000000000, + "MaxHealth": 2000000, "IsJustDamaged": false, "CooldownActive": false }, @@ -5841,18 +7604,18 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "Imp1.png", + "image": "Spider1.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -5863,46 +7626,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "Imp2.png", + "image": "Spider2.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -5913,46 +7668,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "Imp3.png", + "image": "Spider3.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -5963,46 +7710,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "Imp4.png", + "image": "Spider4.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6013,28 +7752,20 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] @@ -6049,22 +7780,22 @@ "directions": [ { "looping": false, - "timeBetweenFrames": 0.30000001192092896, + "timeBetweenFrames": 0.15000000596046448, "sprites": [ { "hasCustomCollisionMask": true, - "image": "ImpCharging1.png", + "image": "SpiderCharging2.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6075,46 +7806,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "ImpCharging2.png", + "image": "SpiderCharging1.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6125,46 +7848,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "ImpCharging3.png", + "image": "SpiderCharging2.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6175,46 +7890,50 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] - }, + } + ] + } + ] + }, + { + "name": "Hurt", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.4000000059604645, + "sprites": [ { "hasCustomCollisionMask": true, - "image": "ImpCharging4.png", + "image": "SpiderHurt.png", "points": [ { - "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "name": "GhostOrbSpawn", + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6225,58 +7944,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] - } - ] - } - ] - }, - { - "name": "Resting", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.20000000298023224, - "sprites": [ + }, { "hasCustomCollisionMask": true, - "image": "assets\\Imp1.png", + "image": "SpiderHurt.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6287,46 +7986,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "assets\\Imp2.png", + "image": "SpiderHurt.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6337,46 +8028,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "assets\\Imp3.png", + "image": "SpiderHurt.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6387,46 +8070,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "assets\\Imp4.png", + "image": "SpiderHurt.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6437,46 +8112,50 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] - }, + } + ] + } + ] + }, + { + "name": "Resting", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.30000001192092896, + "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\Imp1.png", + "image": "assets\\Spider1.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6487,46 +8166,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "assets\\Imp2.png", + "image": "assets\\Spider2.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6537,46 +8208,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "assets\\Imp3.png", + "image": "assets\\Spider3.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6587,46 +8250,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "assets\\Imp4.png", + "image": "assets\\Spider4.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6637,46 +8292,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "assets\\Imp1.png", + "image": "assets\\Spider1.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6687,46 +8334,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "assets\\Imp2.png", + "image": "assets\\Spider2.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6737,46 +8376,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "assets\\Imp3.png", + "image": "assets\\Spider3.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6787,46 +8418,38 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] }, { "hasCustomCollisionMask": true, - "image": "assets\\Imp4.png", + "image": "assets\\Spider4.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12.63882064819336, - "y": 15.705160140991211 + "x": 12, + "y": 19 } ], "originPoint": { "name": "origine", "x": 12, - "y": 12 + "y": 19 }, "centerPoint": { "automatic": true, @@ -6837,28 +8460,20 @@ "customCollisionMask": [ [ { - "x": 18, - "y": 11 - }, - { - "x": 22, - "y": 14 - }, - { - "x": 18, - "y": 24 + "x": 5, + "y": 9 }, { - "x": 6, - "y": 24 + "x": 19, + "y": 9 }, { - "x": 2, - "y": 14.84545612335205 + "x": 20, + "y": 22 }, { - "x": 6, - "y": 11 + "x": 4, + "y": 22 } ] ] @@ -6871,7 +8486,7 @@ }, { "assetStoreId": "", - "name": "Spider", + "name": "Ghost", "tags": "", "type": "Sprite", "updateIfNotVisible": false, @@ -6879,7 +8494,7 @@ { "name": "DropChance_HealthOrb", "type": "string", - "value": "25" + "value": "33" }, { "name": "DropAmount_Points", @@ -6892,9 +8507,9 @@ { "name": "Health", "type": "Health::Health", - "Health": 2, + "Health": 1, "DamageCooldown": 0, - "MaxHealth": 2000000, + "MaxHealth": 100000, "IsJustDamaged": false, "CooldownActive": false }, @@ -6914,18 +8529,18 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "Spider1.png", + "image": "Ghost1.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -6936,38 +8551,38 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] }, { "hasCustomCollisionMask": true, - "image": "Spider2.png", + "image": "Ghost2.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -6978,38 +8593,38 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] }, { "hasCustomCollisionMask": true, - "image": "Spider3.png", + "image": "Ghost3.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7020,38 +8635,38 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, - { - "x": 19, - "y": 9 + { + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] }, { "hasCustomCollisionMask": true, - "image": "Spider4.png", + "image": "Ghost4.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7062,20 +8677,20 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] @@ -7090,22 +8705,22 @@ "directions": [ { "looping": false, - "timeBetweenFrames": 0.15000000596046448, + "timeBetweenFrames": 0.20000000298023224, "sprites": [ { "hasCustomCollisionMask": true, - "image": "SpiderCharging2.png", + "image": "GhostSquint1.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7116,38 +8731,38 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] }, { "hasCustomCollisionMask": true, - "image": "SpiderCharging1.png", + "image": "GhostSquint2.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7158,38 +8773,38 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] }, { "hasCustomCollisionMask": true, - "image": "SpiderCharging2.png", + "image": "GhostSquint3.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7200,50 +8815,38 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] - } - ] - } - ] - }, - { - "name": "Hurt", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.4000000059604645, - "sprites": [ + }, { "hasCustomCollisionMask": true, - "image": "SpiderHurt.png", + "image": "GhostSquint4.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7254,38 +8857,50 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] - }, + } + ] + } + ] + }, + { + "name": "Hurt", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.30000001192092896, + "sprites": [ { "hasCustomCollisionMask": true, - "image": "SpiderHurt.png", + "image": "Ghost3.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7296,38 +8911,38 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] }, { "hasCustomCollisionMask": true, - "image": "SpiderHurt.png", + "image": "Ghost3.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7338,38 +8953,38 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] }, { "hasCustomCollisionMask": true, - "image": "SpiderHurt.png", + "image": "Ghost3.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7380,38 +8995,38 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] }, { "hasCustomCollisionMask": true, - "image": "SpiderHurt.png", + "image": "Ghost3.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7422,50 +9037,38 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, - { - "x": 4, - "y": 22 + { + "x": 6, + "y": 24 } ] ] - } - ] - } - ] - }, - { - "name": "Resting", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.30000001192092896, - "sprites": [ + }, { "hasCustomCollisionMask": true, - "image": "assets\\Spider1.png", + "image": "Ghost3.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7476,38 +9079,50 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] - }, + } + ] + } + ] + }, + { + "name": "Resting", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.20000000298023224, + "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\Spider2.png", + "image": "Ghost1.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7518,38 +9133,38 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] }, { "hasCustomCollisionMask": true, - "image": "assets\\Spider3.png", + "image": "Ghost2.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7560,38 +9175,38 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] }, { "hasCustomCollisionMask": true, - "image": "assets\\Spider4.png", + "image": "Ghost3.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7602,38 +9217,38 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] }, { "hasCustomCollisionMask": true, - "image": "assets\\Spider1.png", + "image": "Ghost4.png", "points": [ { "name": "GhostOrbSpawn", - "x": 12, - "y": 19 + "x": 16.5181827545166, + "y": 11.936367988586426 } ], "originPoint": { "name": "origine", "x": 12, - "y": 19 + "y": 12 }, "centerPoint": { "automatic": true, @@ -7644,38 +9259,82 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 6, + "y": 12 }, { - "x": 19, - "y": 9 + "x": 18, + "y": 12 }, { - "x": 20, - "y": 22 + "x": 18, + "y": 24 }, { - "x": 4, - "y": 22 + "x": 6, + "y": 24 } ] ] - }, + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "name": "GhostOrb", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 0, + "thickness": 1 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + }, + { + "effectType": "Glow", + "name": "Effect2", + "doubleParameters": { + "distance": 15, + "innerStrength": 1, + "outerStrength": 2 + }, + "stringParameters": { + "color": "74;144;226" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "animations": [ + { + "name": "Bullet", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.10000000149011612, + "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\Spider2.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 12, - "y": 19 - } - ], + "image": "GhostOrb.png", + "points": [], "originPoint": { "name": "origine", - "x": 12, - "y": 19 + "x": 4, + "y": 4 }, "centerPoint": { "automatic": true, @@ -7686,80 +9345,98 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 2, + "y": 2 }, { - "x": 19, - "y": 9 + "x": 6, + "y": 2 }, { - "x": 20, - "y": 22 + "x": 6, + "y": 6 }, { - "x": 4, - "y": 22 + "x": 2, + "y": 6 } ] ] - }, + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "name": "Bullet", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 0, + "thickness": 1 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "animations": [ + { + "name": "DirectionalBullet", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.07999999821186066, + "sprites": [ { - "hasCustomCollisionMask": true, - "image": "assets\\Spider3.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 12, - "y": 19 - } - ], + "hasCustomCollisionMask": false, + "image": "assets\\Bullet-1.png", + "points": [], "originPoint": { "name": "origine", - "x": 12, - "y": 19 + "x": 4, + "y": 4 }, "centerPoint": { "automatic": true, "name": "centre", - "x": 0, - "y": 0 + "x": 5.020047187805176, + "y": 4.086084842681885 }, - "customCollisionMask": [ - [ - { - "x": 5, - "y": 9 - }, - { - "x": 19, - "y": 9 - }, - { - "x": 20, - "y": 22 - }, - { - "x": 4, - "y": 22 - } - ] - ] - }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Bullet", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.10000000149011612, + "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\Spider4.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 12, - "y": 19 - } - ], + "image": "Bullet.png", + "points": [], "originPoint": { "name": "origine", - "x": 12, - "y": 19 + "x": 4, + "y": 4 }, "centerPoint": { "automatic": true, @@ -7770,20 +9447,20 @@ "customCollisionMask": [ [ { - "x": 5, - "y": 9 + "x": 1, + "y": 2 }, { - "x": 19, - "y": 9 + "x": 7, + "y": 2 }, { - "x": 20, - "y": 22 + "x": 7, + "y": 6 }, { - "x": 4, - "y": 22 + "x": 1, + "y": 6 } ] ] @@ -7792,1567 +9469,2635 @@ } ] } - ] + ] + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "EnemyDamageText", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Text", + "font": "PTSans-Bold.ttf", + "characterSize": 10, + "color": { + "b": 4, + "g": 255, + "r": 56 + } + }, + { + "additive": false, + "assetStoreId": "", + "destroyWhenNoParticles": false, + "emitterAngleA": 0, + "emitterAngleB": 0, + "emitterForceMax": 0, + "emitterForceMin": 0, + "flow": 50, + "maxParticleNb": 300, + "name": "Particle_RecoilDust", + "particleAlpha1": 150, + "particleAlpha2": 0, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": 0, + "particleAngle2": 0, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 33, + "particleBlue2": 255, + "particleGravityX": 0, + "particleGravityY": -10, + "particleGreen1": 211, + "particleGreen2": 255, + "particleLifeTimeMax": 0.4000000059604645, + "particleLifeTimeMin": 0.4000000059604645, + "particleRed1": 126, + "particleRed2": 255, + "particleSize1": 75, + "particleSize2": 150, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "rendererParam1": 2, + "rendererParam2": 1, + "rendererType": "Point", + "tags": "", + "tank": 2, + "textureParticleName": "", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 2, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "additive": false, + "assetStoreId": "", + "destroyWhenNoParticles": false, + "emitterAngleA": 0, + "emitterAngleB": 0, + "emitterForceMax": 0, + "emitterForceMin": 0, + "flow": 50, + "maxParticleNb": 300, + "name": "Particle_Dash", + "particleAlpha1": 150, + "particleAlpha2": 0, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": 0, + "particleAngle2": 0, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 211, + "particleBlue2": 255, + "particleGravityX": 0, + "particleGravityY": -10, + "particleGreen1": 174, + "particleGreen2": 255, + "particleLifeTimeMax": 0.75, + "particleLifeTimeMin": 0.75, + "particleRed1": 143, + "particleRed2": 255, + "particleSize1": 10, + "particleSize2": 200, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "rendererParam1": 3, + "rendererParam2": 1, + "rendererType": "Point", + "tags": "", + "tank": 12, + "textureParticleName": "", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 5, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "additive": false, + "assetStoreId": "", + "destroyWhenNoParticles": true, + "emitterAngleA": 0, + "emitterAngleB": 0, + "emitterForceMax": 0, + "emitterForceMin": 0, + "flow": 45, + "maxParticleNb": 300, + "name": "Particle_Death", + "particleAlpha1": 255, + "particleAlpha2": 0, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": 0, + "particleAngle2": 0, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 255, + "particleBlue2": 255, + "particleGravityX": 0, + "particleGravityY": -10, + "particleGreen1": 255, + "particleGreen2": 255, + "particleLifeTimeMax": 4, + "particleLifeTimeMin": 4, + "particleRed1": 255, + "particleRed2": 255, + "particleSize1": 100, + "particleSize2": 170, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "rendererParam1": 3, + "rendererParam2": 1, + "rendererType": "Quad", + "tags": "", + "tank": 1, + "textureParticleName": "WesleyDeathParticle.png", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 0, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Cooldown_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Cooldown: 0.10 seconds", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "AmmoQuantity_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Ammo: 1234", + "font": "", + "characterSize": 20, + "color": { + "b": 28, + "g": 231, + "r": 248 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ShotsFired_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Shots fired: 0", + "font": "", + "characterSize": 20, + "color": { + "b": 224, + "g": 16, + "r": 189 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BulletsCreated_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Bullets created: 0", + "font": "", + "characterSize": 20, + "color": { + "b": 224, + "g": 16, + "r": 189 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ReloadsCompleted_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Reloads compelted: 0", + "font": "", + "characterSize": 20, + "color": { + "b": 224, + "g": 16, + "r": 189 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "MaxAmmo_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Max ammo: 100 shots", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ReloadDuration_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Reload Duration: 1 seconds", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "OverheatDuration_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Overheat Duration: 1 seconds", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "HeatPerShot_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Heat per shot: 0.12", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "CoolingPerSecond_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Linear Cooling rate: 0.12", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ShotsPerReload_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Shots per reload: 4", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ShotsUntilReload_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Shots until reload: 4", + "font": "", + "characterSize": 20, + "color": { + "b": 28, + "g": 231, + "r": 248 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "GunHeat_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Heat level: 0.12", + "font": "", + "characterSize": 20, + "color": { + "b": 27, + "g": 2, + "r": 208 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Overheated_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Overheated!", + "font": "", + "characterSize": 20, + "color": { + "b": 28, + "g": 231, + "r": 248 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "RightClickToReload_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Use right-click to reload", + "font": "", + "characterSize": 20, + "color": { + "b": 28, + "g": 231, + "r": 248 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "FiringArc_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Firing Arc: 360 degrees", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "AngleVariance_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Angle Variance: 360 degrees", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "RotateBullet_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Rotate bullets", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "UnlimitedAmmo_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Unlimited ammo", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "AutomaticReloading_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Automatic reloading", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ExponentialCooling_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Exponential cooling rate", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "LinearCooling_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Linear cooling", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BulletQty_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Bullets per shot: 10", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Reloading_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Reloading...", + "font": "", + "characterSize": 20, + "color": { + "b": 62, + "g": 255, + "r": 4 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ReadyToShoot_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Ready to shoot!", + "font": "", + "characterSize": 20, + "color": { + "b": 62, + "g": 255, + "r": 4 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "OutOfAmmo_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Out of ammo!", + "font": "", + "characterSize": 20, + "color": { + "b": 28, + "g": 231, + "r": 248 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ReloadNeeded_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Reload needed", + "font": "", + "characterSize": 20, + "color": { + "b": 28, + "g": 231, + "r": 248 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "WaitingForFiringCooldown_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Waiting for firing cooldown...", + "font": "", + "characterSize": 20, + "color": { + "b": 62, + "g": 255, + "r": 4 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "FiringShotsTitle_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Firing shots", + "font": "", + "characterSize": 40, + "color": { + "b": 226, + "g": 144, + "r": 74 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "AmmoTitle_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Ammo", + "font": "", + "characterSize": 40, + "color": { + "b": 226, + "g": 144, + "r": 74 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "OverheatTitle_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Overheat", + "font": "", + "characterSize": 40, + "color": { + "b": 226, + "g": 144, + "r": 74 + } + }, + { + "assetStoreId": "", + "name": "Cooldown_Slider", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0.1, + "ValueMax": 1, + "TickSpacing": 0, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "MaxAmmo_Slider", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 100, + "TickSpacing": 1, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "ShotsPerReload_Slider", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 10, + "TickSpacing": 1, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "ReloadDuration_Slider", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 3, + "TickSpacing": 0.1, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { "assetStoreId": "", - "name": "Ghost", + "name": "OverheatDuration_Slider", "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [ - { - "name": "DropChance_HealthOrb", - "type": "string", - "value": "33" - }, - { - "name": "DropAmount_Points", - "type": "string", - "value": "1" - } - ], + "type": "PrimitiveDrawing::Drawer", + "variables": [], "effects": [], "behaviors": [ { - "name": "Health", - "type": "Health::Health", - "Health": 1, - "DamageCooldown": 0, - "MaxHealth": 100000, - "IsJustDamaged": false, - "CooldownActive": false - }, - { - "name": "ShakeObject_PositionAngleScale", - "type": "ShakeObject::ShakeObject_PositionAngleScale" - } - ], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.20000000298023224, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Ghost1.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Ghost2.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Ghost3.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Ghost4.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - } - ] - } - ] - }, + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 5, + "TickSpacing": 0.1, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "LinearCoolingPerSecond_Slider", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "Charging", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.20000000298023224, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "GhostSquint1.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "GhostSquint2.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "GhostSquint3.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "GhostSquint4.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - } - ] - } - ] - }, + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 1, + "TickSpacing": 0.01, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "ExponentialCoolingPerSecond_Slider", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "Hurt", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.30000001192092896, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Ghost3.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Ghost3.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Ghost3.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Ghost3.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Ghost3.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - } - ] - } - ] - }, + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 1, + "TickSpacing": 0.01, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "HeatPerShot_Slider", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ { - "name": "Resting", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.20000000298023224, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Ghost1.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Ghost2.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Ghost3.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Ghost4.png", - "points": [ - { - "name": "GhostOrbSpawn", - "x": 16.5181827545166, - "y": 11.936367988586426 - } - ], - "originPoint": { - "name": "origine", - "x": 12, - "y": 12 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 6, - "y": 12 - }, - { - "x": 18, - "y": 12 - }, - { - "x": 18, - "y": 24 - }, - { - "x": 6, - "y": 24 - } - ] - ] - } - ] - } - ] + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 0.5, + "TickSpacing": 0.01, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 } - ] + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { "assetStoreId": "", - "name": "GhostOrb", + "name": "FireArc_Slider", "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, + "type": "PrimitiveDrawing::Drawer", "variables": [], - "effects": [ - { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 0, - "thickness": 1 - }, - "stringParameters": { - "color": "0;0;0" - }, - "booleanParameters": {} - }, + "effects": [], + "behaviors": [ { - "effectType": "Glow", - "name": "Effect2", - "doubleParameters": { - "distance": 15, - "innerStrength": 1, - "outerStrength": 2 - }, - "stringParameters": { - "color": "74;144;226" - }, - "booleanParameters": {} + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 360, + "TickSpacing": 1, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 } ], - "behaviors": [], - "animations": [ - { - "name": "Bullet", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.10000000149011612, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "GhostOrb.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 4, - "y": 4 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 2, - "y": 2 - }, - { - "x": 6, - "y": 2 - }, - { - "x": 6, - "y": 6 - }, - { - "x": 2, - "y": 6 - } - ] - ] - } - ] - } - ] - } - ] + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { "assetStoreId": "", - "name": "Bullet", + "name": "AngleVariance_Slider", "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, + "type": "PrimitiveDrawing::Drawer", "variables": [], - "effects": [ + "effects": [], + "behaviors": [ { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 0, - "thickness": 1 - }, - "stringParameters": { - "color": "0;0;0" - }, - "booleanParameters": {} + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 10, + "TickSpacing": 0, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 } ], - "behaviors": [], - "animations": [ - { - "name": "DirectionalBullet", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.07999999821186066, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "assets\\Bullet-1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 4, - "y": 4 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 5.020047187805176, - "y": 4.086084842681885 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Bullet", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.10000000149011612, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Bullet.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 4, - "y": 4 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 1, - "y": 2 - }, - { - "x": 7, - "y": 2 - }, - { - "x": 7, - "y": 6 - }, - { - "x": 1, - "y": 6 - } - ] - ] - } - ] - } - ] - } - ] + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { "assetStoreId": "", - "bold": false, - "italic": false, - "name": "EnemyDamageText", - "smoothed": true, + "name": "Heat_ResourceBar", "tags": "", - "type": "TextObject::Text", - "underlined": false, + "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], - "behaviors": [], - "string": "Text", - "font": "PTSans-Bold.ttf", - "characterSize": 10, - "color": { - "b": 4, + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 1, + "TickSpacing": 0, + "ThumbShape": "rectangle", + "ThumbWidth": 16, + "ThumbHeight": 0, + "ThumbColor": "208;2;27", + "ThumbOpacity": 0, + "TrackLength": 256, + "TrackThickness": 16, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 254, + "HaloRadius": 0, + "HaloOpacityHover": 0, + "HaloOpacityClick": 0, + "RoundedTrack": false, + "Enabled": false, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, "g": 255, - "r": 56 - } + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { - "additive": false, "assetStoreId": "", - "destroyWhenNoParticles": false, - "emitterAngleA": 0, - "emitterAngleB": 0, - "emitterForceMax": 0, - "emitterForceMin": 0, - "flow": 50, - "maxParticleNb": 300, - "name": "Particle_RecoilDust", - "particleAlpha1": 150, - "particleAlpha2": 0, - "particleAlphaRandomness1": 0, - "particleAlphaRandomness2": 0, - "particleAngle1": 0, - "particleAngle2": 0, - "particleAngleRandomness1": 0, - "particleAngleRandomness2": 0, - "particleBlue1": 33, - "particleBlue2": 255, - "particleGravityX": 0, - "particleGravityY": -10, - "particleGreen1": 211, - "particleGreen2": 255, - "particleLifeTimeMax": 0.4000000059604645, - "particleLifeTimeMin": 0.4000000059604645, - "particleRed1": 126, - "particleRed2": 255, - "particleSize1": 75, - "particleSize2": 150, - "particleSizeRandomness1": 0, - "particleSizeRandomness2": 0, - "rendererParam1": 2, - "rendererParam2": 1, - "rendererType": "Point", + "name": "OverheatTimeLeft_ResourceBar", "tags": "", - "tank": 2, - "textureParticleName": "", - "type": "ParticleSystem::ParticleEmitter", - "zoneRadius": 2, + "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], - "behaviors": [] + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 1, + "TickSpacing": 0, + "ThumbShape": "rectangle", + "ThumbWidth": 16, + "ThumbHeight": 0, + "ThumbColor": "248;231;28", + "ThumbOpacity": 0, + "TrackLength": 256, + "TrackThickness": 16, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 254, + "HaloRadius": 0, + "HaloOpacityHover": 0, + "HaloOpacityClick": 0, + "RoundedTrack": false, + "Enabled": false, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { - "additive": false, "assetStoreId": "", - "destroyWhenNoParticles": false, - "emitterAngleA": 0, - "emitterAngleB": 0, - "emitterForceMax": 0, - "emitterForceMin": 0, - "flow": 50, - "maxParticleNb": 300, - "name": "Particle_Dash", - "particleAlpha1": 150, - "particleAlpha2": 0, - "particleAlphaRandomness1": 0, - "particleAlphaRandomness2": 0, - "particleAngle1": 0, - "particleAngle2": 0, - "particleAngleRandomness1": 0, - "particleAngleRandomness2": 0, - "particleBlue1": 211, - "particleBlue2": 255, - "particleGravityX": 0, - "particleGravityY": -10, - "particleGreen1": 174, - "particleGreen2": 255, - "particleLifeTimeMax": 0.75, - "particleLifeTimeMin": 0.75, - "particleRed1": 143, - "particleRed2": 255, - "particleSize1": 10, - "particleSize2": 200, - "particleSizeRandomness1": 0, - "particleSizeRandomness2": 0, - "rendererParam1": 3, - "rendererParam2": 1, - "rendererType": "Point", + "name": "Ammo_ResourceBar", "tags": "", - "tank": 12, - "textureParticleName": "", - "type": "ParticleSystem::ParticleEmitter", - "zoneRadius": 5, + "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], - "behaviors": [] + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 1, + "TickSpacing": 1, + "ThumbShape": "rectangle", + "ThumbWidth": 16, + "ThumbHeight": 0, + "ThumbColor": "248;231;28", + "ThumbOpacity": 0, + "TrackLength": 256, + "TrackThickness": 16, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 0, + "HaloOpacityHover": 0, + "HaloOpacityClick": 0, + "RoundedTrack": false, + "Enabled": false, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 28, + "g": 231, + "r": 248 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { - "additive": false, "assetStoreId": "", - "destroyWhenNoParticles": true, - "emitterAngleA": 0, - "emitterAngleB": 0, - "emitterForceMax": 0, - "emitterForceMin": 0, - "flow": 45, - "maxParticleNb": 300, - "name": "Particle_Death", - "particleAlpha1": 255, - "particleAlpha2": 0, - "particleAlphaRandomness1": 0, - "particleAlphaRandomness2": 0, - "particleAngle1": 0, - "particleAngle2": 0, - "particleAngleRandomness1": 0, - "particleAngleRandomness2": 0, - "particleBlue1": 255, - "particleBlue2": 255, - "particleGravityX": 0, - "particleGravityY": -10, - "particleGreen1": 255, - "particleGreen2": 255, - "particleLifeTimeMax": 4, - "particleLifeTimeMin": 4, - "particleRed1": 255, - "particleRed2": 255, - "particleSize1": 100, - "particleSize2": 170, - "particleSizeRandomness1": 0, - "particleSizeRandomness2": 0, - "rendererParam1": 3, - "rendererParam2": 1, - "rendererType": "Quad", - "tags": "", - "tank": 1, - "textureParticleName": "WesleyDeathParticle.png", - "type": "ParticleSystem::ParticleEmitter", - "zoneRadius": 0, + "name": "Reload_ResourceBar", + "tags": "", + "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], - "behaviors": [] + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 1, + "TickSpacing": 1, + "ThumbShape": "rectangle", + "ThumbWidth": 16, + "ThumbHeight": 0, + "ThumbColor": "248;231;28", + "ThumbOpacity": 0, + "TrackLength": 256, + "TrackThickness": 16, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 0, + "HaloOpacityHover": 0, + "HaloOpacityClick": 0, + "RoundedTrack": false, + "Enabled": false, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 28, + "g": 231, + "r": 248 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { "assetStoreId": "", - "bold": true, - "italic": false, - "name": "Cooldown_Text", - "smoothed": true, + "name": "BulletQty_Slider", "tags": "", - "type": "TextObject::Text", - "underlined": false, + "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], - "behaviors": [], - "string": "Cooldown: 0.10 seconds", - "font": "", - "characterSize": 20, - "color": { + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 1, + "ValueMax": 30, + "TickSpacing": 1, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { "b": 255, "g": 255, "r": 255 - } + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { "assetStoreId": "", - "bold": true, - "italic": false, - "name": "FiringArc_Text", - "smoothed": true, + "name": "FiringArc", "tags": "", - "type": "TextObject::Text", - "underlined": false, + "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], "behaviors": [], - "string": "Firing Arc: 360 degrees", - "font": "", - "characterSize": 20, - "color": { + "fillOpacity": 255, + "outlineSize": 4, + "outlineOpacity": 255, + "fillColor": { + "b": 224, + "g": 16, + "r": 189 + }, + "outlineColor": { + "b": 224, + "g": 16, + "r": 189 + }, + "absoluteCoordinates": true, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "RotateBullet_Checkbox", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Checkbox", + "type": "Checkbox::Checkbox", + "Checked": true, + "HaloRadiusHover": 0, + "HaloOpacityHover": 128, + "HaloOpacityClick": 196, + "Enabled": true, + "IsBeingPressed": false, + "NeedRedraw": true, + "IsHovered": false, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.3, + "TargetHaloRadius": 0, + "ToggleChanged": false, + "PrimaryColor": " 24;119;211", + "SecondaryColor": "255;255;255", + "SideLength": 24, + "LineWidth": 5, + "BorderThickness": 2, + "HaloRadiusPressed": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { "b": 255, "g": 255, "r": 255 - } + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { "assetStoreId": "", - "bold": true, - "italic": false, - "name": "AngleVariance_Text", - "smoothed": true, + "name": "UnlimitedAmmo_Checkbox", "tags": "", - "type": "TextObject::Text", - "underlined": false, + "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], - "behaviors": [], - "string": "Angle Variance: 360 degrees", - "font": "", - "characterSize": 20, - "color": { + "behaviors": [ + { + "name": "Checkbox", + "type": "Checkbox::Checkbox", + "Checked": true, + "HaloRadiusHover": 0, + "HaloOpacityHover": 128, + "HaloOpacityClick": 196, + "Enabled": true, + "IsBeingPressed": false, + "NeedRedraw": true, + "IsHovered": false, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.3, + "TargetHaloRadius": 0, + "ToggleChanged": false, + "PrimaryColor": " 24;119;211", + "SecondaryColor": "255;255;255", + "SideLength": 24, + "LineWidth": 5, + "BorderThickness": 2, + "HaloRadiusPressed": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { "b": 255, "g": 255, "r": 255 - } + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { "assetStoreId": "", - "bold": true, - "italic": false, - "name": "RotateBullet_Text", - "smoothed": true, + "name": "AutomaticReloading_Checkbox", "tags": "", - "type": "TextObject::Text", - "underlined": false, + "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], - "behaviors": [], - "string": "Rotate bullets?", - "font": "", - "characterSize": 20, - "color": { + "behaviors": [ + { + "name": "Checkbox", + "type": "Checkbox::Checkbox", + "Checked": true, + "HaloRadiusHover": 0, + "HaloOpacityHover": 128, + "HaloOpacityClick": 196, + "Enabled": true, + "IsBeingPressed": false, + "NeedRedraw": true, + "IsHovered": false, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.3, + "TargetHaloRadius": 0, + "ToggleChanged": false, + "PrimaryColor": " 24;119;211", + "SecondaryColor": "255;255;255", + "SideLength": 24, + "LineWidth": 5, + "BorderThickness": 2, + "HaloRadiusPressed": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { "b": 255, "g": 255, "r": 255 - } + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "BulletQty_Text", - "smoothed": true, + "assetStoreId": "df3d5e6bbf65733b6aa4daae9ae041ffc6de3eb61d89f15830d49ad1e1e9b781", + "name": "TreasureChest", "tags": "", - "type": "TextObject::Text", - "underlined": false, + "type": "Sprite", + "updateIfNotVisible": false, "variables": [], "effects": [], - "behaviors": [], - "string": "Bullets per shot: 10", - "font": "", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } + "behaviors": [ + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + } + ], + "animations": [ + { + "name": "Closed", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.02500000037252903, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Treasure Chest_Closed.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 16, + "y": 8 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Opening", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.10000000149011612, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Treasure Chest_Opening_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 16, + "y": 8 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Treasure Chest_Opening_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 16, + "y": 8 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + } + ], + "events": [ + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Fire bullets", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Fire (towards angle)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonPressed" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "Room", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::Fire" + }, + "parameters": [ + "Wesley", + "FireBullet", + "Gun.PointX(\"BulletSpawn\")", + "Gun.PointY(\"BulletSpawn\")", + "Bullet", + "Gun.Angle()", + "240", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "disabled": true, + "name": "Fire (towards position)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonPressed" + }, + "parameters": [ + "", + "Left" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::FireTowardPosition" + }, + "parameters": [ + "Wesley", + "FireBullet", + "Gun.PointX(\"BulletSpawn\")", + "Gun.PointY(\"BulletSpawn\")", + "Bullet", + "MouseX()", + "MouseY()", + "240", + "", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Juice FX", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::HasJustFired" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ChangeSprite" + }, + "parameters": [ + "Gun", + "=", + "0" + ] + }, + { + "type": { + "value": "ShakeObject::ShakeObject_PositionAngleScale::ShakeObject_PositionAngleScale" + }, + "parameters": [ + "Gun", + "ShakeObject_PositionAngleScale", + "0.1", + "3", + "3", + "2", + "0", + "0.08", + "", + "" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "Shoot.wav", + "", + "30", + "RandomFloatInRange(0.8,1.2)" + ] + }, + { + "type": { + "value": "CameraShake::CameraShake" + }, + "parameters": [ + "", + "0", + "0", + "\"\"", + "", + "0.2", + "0", + "1", + "0.1", + "", + "" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Wesley", + "RecoilAngle", + "=", + "(Wesley.AngleToPosition(MouseX(), MouseY()))+180" + ] + }, + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Particle_RecoilDust", + "Gun.PointX(\"BulletSpawn\")", + "Gun.PointY(\"BulletSpawn\")", + "" + ] + }, + { + "type": { + "value": "ChangePlan" + }, + "parameters": [ + "Particle_RecoilDust", + "=", + "Gun.ZOrder()+100" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Wesley", + "Wesley.Variable(RecoilAngle)", + "50", + "" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] }, { - "assetStoreId": "", - "name": "Cooldown_Slider", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Ammo", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Checkbox::Checkbox::SetChecked" + }, + "parameters": [ + "UnlimitedAmmo_Checkbox", + "Checkbox", + "no", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "ShotsPerReload_Slider", + "DraggableSliderControl", + "5", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "MaxAmmo_Slider", + "DraggableSliderControl", + "100", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "ReloadDuration_Slider", + "DraggableSliderControl", + "1", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Wesley", + "TreasureChest", + "", + "", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::IncreaseAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "20", + "" + ] + }, + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "TreasureChest", + "\"Opening\"" + ] + }, + { + "type": { + "value": "ShakeObject::ShakeObject_PositionAngleScale::StopShaking" + }, + "parameters": [ + "TreasureChest", + "ShakeObject_PositionAngleScale", + "" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "PickupAmmo.wav", + "", + "40", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "CollisionNP" + }, + "parameters": [ + "Wesley", + "TreasureChest", + "", + "", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "TreasureChest", + "\"Closed\"" + ] + }, + { + "type": { + "value": "ShakeObject::ShakeObject_PositionAngleScale::ShakeObject_PositionAngleScale" + }, + "parameters": [ + "TreasureChest", + "ShakeObject_PositionAngleScale", + "", + "", + "", + "", + "50", + "2", + "yes", + "" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "CloseChest.wav", + "", + "30", + "1" + ] + } + ] + }, { - "name": "DraggableSliderControl", - "type": "DraggableSliderControl::DraggableSliderControl", - "ValueMin": 0.1, - "ValueMax": 1, - "TickSpacing": 0, - "ThumbShape": "circle", - "ThumbWidth": 20, - "ThumbHeight": 20, - "ThumbColor": "255;255;255", - "ThumbOpacity": 255, - "TrackLength": 200, - "TrackThickness": 4, - "InactiveTrackColor": "", - "InactiveTrackOpacity": 96, - "ActiveTrackColor": " ", - "ActiveTrackOpacity": 255, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityClick": 64, - "RoundedTrack": true, - "Enabled": true, - "IsBeingDragged": false, - "Value": 0, - "ThumbOffset": 0, - "NeedRedraw": true, - "IsHovered": false, - "MouseX": 0, - "MouseY": 0, - "CurrentHaloRadius": 0, - "HaloGrowSpeed": 0.2, - "TargetHaloRadius": 0 - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "fillColor": { - "b": 255, - "g": 255, - "r": 255 - }, - "outlineColor": { - "b": 0, - "g": 0, - "r": 0 - }, - "absoluteCoordinates": false, - "clearBetweenFrames": true - }, - { - "assetStoreId": "", - "name": "FireArc_Slider", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "UnlimitedAmmo_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetUnlimitedAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "yes", + "" + ] + } + ] + }, { - "name": "DraggableSliderControl", - "type": "DraggableSliderControl::DraggableSliderControl", - "ValueMin": 0, - "ValueMax": 360, - "TickSpacing": 1, - "ThumbShape": "circle", - "ThumbWidth": 20, - "ThumbHeight": 20, - "ThumbColor": "255;255;255", - "ThumbOpacity": 255, - "TrackLength": 200, - "TrackThickness": 4, - "InactiveTrackColor": "", - "InactiveTrackOpacity": 96, - "ActiveTrackColor": " ", - "ActiveTrackOpacity": 255, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityClick": 64, - "RoundedTrack": true, - "Enabled": true, - "IsBeingDragged": false, - "Value": 0, - "ThumbOffset": 0, - "NeedRedraw": true, - "IsHovered": false, - "MouseX": 0, - "MouseY": 0, - "CurrentHaloRadius": 0, - "HaloGrowSpeed": 0.2, - "TargetHaloRadius": 0 - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "fillColor": { - "b": 255, - "g": 255, - "r": 255 - }, - "outlineColor": { - "b": 0, - "g": 0, - "r": 0 - }, - "absoluteCoordinates": false, - "clearBetweenFrames": true - }, - { - "assetStoreId": "", - "name": "AngleVariance_Slider", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "UnlimitedAmmo_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetUnlimitedAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "no", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "AutomaticReloading_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetAutomaticReload" + }, + "parameters": [ + "Wesley", + "FireBullet", + "yes", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "AutomaticReloading_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetAutomaticReload" + }, + "parameters": [ + "Wesley", + "FireBullet", + "no", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetShotsPerReload" + }, + "parameters": [ + "Wesley", + "FireBullet", + "ShotsPerReload_Slider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetMaxAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "MaxAmmo_Slider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetReloadDuration" + }, + "parameters": [ + "Wesley", + "FireBullet", + "ReloadDuration_Slider.DraggableSliderControl::Value()", + "" + ] + } + ] + }, { - "name": "DraggableSliderControl", - "type": "DraggableSliderControl::DraggableSliderControl", - "ValueMin": 0, - "ValueMax": 10, - "TickSpacing": 0, - "ThumbShape": "circle", - "ThumbWidth": 20, - "ThumbHeight": 20, - "ThumbColor": "255;255;255", - "ThumbOpacity": 255, - "TrackLength": 200, - "TrackThickness": 4, - "InactiveTrackColor": "", - "InactiveTrackOpacity": 96, - "ActiveTrackColor": " ", - "ActiveTrackOpacity": 255, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityClick": 64, - "RoundedTrack": true, - "Enabled": true, - "IsBeingDragged": false, - "Value": 0, - "ThumbOffset": 0, - "NeedRedraw": true, - "IsHovered": false, - "MouseX": 0, - "MouseY": 0, - "CurrentHaloRadius": 0, - "HaloGrowSpeed": 0.2, - "TargetHaloRadius": 0 - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "fillColor": { - "b": 255, - "g": 255, - "r": 255 - }, - "outlineColor": { - "b": 0, - "g": 0, - "r": 0 - }, - "absoluteCoordinates": false, - "clearBetweenFrames": true - }, - { - "assetStoreId": "", - "name": "BulletQty_Slider", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonPressed" + }, + "parameters": [ + "", + "Right" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::ReloadAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ] + }, { - "name": "DraggableSliderControl", - "type": "DraggableSliderControl::DraggableSliderControl", - "ValueMin": 1, - "ValueMax": 30, - "TickSpacing": 1, - "ThumbShape": "circle", - "ThumbWidth": 20, - "ThumbHeight": 20, - "ThumbColor": "255;255;255", - "ThumbOpacity": 255, - "TrackLength": 200, - "TrackThickness": 4, - "InactiveTrackColor": "", - "InactiveTrackOpacity": 96, - "ActiveTrackColor": " ", - "ActiveTrackOpacity": 255, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityClick": 64, - "RoundedTrack": true, - "Enabled": true, - "IsBeingDragged": false, - "Value": 0, - "ThumbOffset": 0, - "NeedRedraw": true, - "IsHovered": false, - "MouseX": 0, - "MouseY": 0, - "CurrentHaloRadius": 0, - "HaloGrowSpeed": 0.2, - "TargetHaloRadius": 0 - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "fillColor": { - "b": 255, - "g": 255, - "r": 255 - }, - "outlineColor": { - "b": 0, - "g": 0, - "r": 0 - }, - "absoluteCoordinates": false, - "clearBetweenFrames": true - }, - { - "assetStoreId": "", - "name": "FiringArc", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [], - "fillOpacity": 255, - "outlineSize": 4, - "outlineOpacity": 255, - "fillColor": { - "b": 224, - "g": 16, - "r": 189 - }, - "outlineColor": { - "b": 224, - "g": 16, - "r": 189 - }, - "absoluteCoordinates": true, - "clearBetweenFrames": true - }, - { - "assetStoreId": "", - "name": "RotateBullet_Checkbox", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValueMax" + }, + "parameters": [ + "Ammo_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::MaxAmmo()", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "Ammo_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::AmmoQuantity()", + "" + ] + } + ] + }, { - "name": "Checkbox", - "type": "Checkbox::Checkbox", - "Checked": true, - "HaloRadiusHover": 0, - "HaloOpacityHover": 128, - "HaloOpacityClick": 196, - "Enabled": true, - "IsBeingPressed": false, - "NeedRedraw": true, - "IsHovered": false, - "CurrentHaloRadius": 0, - "HaloGrowSpeed": 0.3, - "TargetHaloRadius": 0, - "ToggleChanged": false, - "PrimaryColor": " 24;119;211", - "SecondaryColor": "255;255;255", - "SideLength": 24, - "LineWidth": 5, - "BorderThickness": 2, - "HaloRadiusPressed": 0 + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValueMax" + }, + "parameters": [ + "Reload_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::ShotsPerReload()", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "Reload_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::ShotsBeforeNextReload()", + "" + ] + } + ] } ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "fillColor": { - "b": 255, - "g": 255, - "r": 255 - }, - "outlineColor": { - "b": 0, - "g": 0, - "r": 0 - }, - "absoluteCoordinates": false, - "clearBetweenFrames": true - } - ], - "events": [ + "parameters": [] + }, { "colorB": 224, "colorG": 16, "colorR": 189, "creationTime": 0, - "name": "Adjust firing parameters based on sliders", + "name": "Overheat", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -9362,45 +12107,45 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetCooldown" + "value": "FireBullet::FireBullet::SetOverheatDuration" }, "parameters": [ "Wesley", "FireBullet", - "Cooldown_Slider.DraggableSliderControl::Value()", + "OverheatDuration_Slider.DraggableSliderControl::Value()", "" ] }, { "type": { - "value": "FireBullet::FireBullet::SetBulletQuantity" + "value": "FireBullet::FireBullet::SetHeatPerShot" }, "parameters": [ "Wesley", "FireBullet", - "BulletQty_Slider.DraggableSliderControl::Value()", + "HeatPerShot_Slider.DraggableSliderControl::Value()", "" ] }, { "type": { - "value": "FireBullet::FireBullet::SetAngleVariance" + "value": "FireBullet::FireBullet::SetLinearCoolingRate" }, "parameters": [ "Wesley", "FireBullet", - "AngleVariance_Slider.DraggableSliderControl::Value()", + "LinearCoolingPerSecond_Slider.DraggableSliderControl::Value()", "" ] }, { "type": { - "value": "FireBullet::FireBullet::SetFiringArc" + "value": "FireBullet::FireBullet::SetExponentialCoolingRate" }, "parameters": [ "Wesley", "FireBullet", - "FireArc_Slider.DraggableSliderControl::Value()", + "ExponentialCoolingPerSecond_Slider.DraggableSliderControl::Value()", "" ] } @@ -9408,27 +12153,16 @@ }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::IsChecked" - }, - "parameters": [ - "RotateBullet_Checkbox", - "Checkbox", - "" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetRotateBullet" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ - "Wesley", - "FireBullet", - "yes", + "Heat_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::HeatLevel()", "" ] } @@ -9436,28 +12170,27 @@ }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "inverted": true, - "value": "Checkbox::Checkbox::IsChecked" + "value": "DraggableSliderControl::DraggableSliderControl::SetValueMax" }, "parameters": [ - "RotateBullet_Checkbox", - "Checkbox", + "OverheatTimeLeft_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::OverheatDuration()", "" ] - } - ], - "actions": [ + }, { "type": { - "value": "FireBullet::FireBullet::SetRotateBullet" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ - "Wesley", - "FireBullet", - "no", + "OverheatTimeLeft_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::OverheatTimeLeft()", "" ] } @@ -9471,228 +12204,120 @@ "colorG": 16, "colorR": 189, "creationTime": 0, - "name": "Fire bullets", + "name": "Stats", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Fire (towards angle)", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonPressed" - }, - "parameters": [ - "", - "Left" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::Fire" - }, - "parameters": [ - "Wesley", - "FireBullet", - "Gun.PointX(\"BulletSpawn\")", - "Gun.PointY(\"BulletSpawn\")", - "Bullet", - "Gun.Angle()", - "240", - "" - ] - } + "type": { + "value": "MouseButtonFromTextReleased" + }, + "parameters": [ + "", + "\"Left\"" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "ShotsFired_Text", + "", + "", + "" ] } ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "disabled": true, - "name": "Fire (towards position)", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonPressed" - }, - "parameters": [ - "", - "Left" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::FireTowardPosition" - }, - "parameters": [ - "Wesley", - "FireBullet", - "Gun.PointX(\"BulletSpawn\")", - "Gun.PointY(\"BulletSpawn\")", - "Bullet", - "MouseX()", - "MouseY()", - "240", - "", - "" - ] - } + "type": { + "value": "FireBullet::FireBullet::ResetTotalShotsFired" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" ] } - ], - "parameters": [] + ] }, { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Juice FX", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::HasJustFired" - }, - "parameters": [ - "Wesley", - "FireBullet", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ChangeSprite" - }, - "parameters": [ - "Gun", - "=", - "0" - ] - }, - { - "type": { - "value": "ShakeObject::ShakeObject_PositionAngleScale::ShakeObject_PositionAngleScale" - }, - "parameters": [ - "Gun", - "ShakeObject_PositionAngleScale", - "0.1", - "3", - "3", - "2", - "0", - "0.08", - "", - "" - ] - }, - { - "type": { - "value": "PlaySound" - }, - "parameters": [ - "", - "Shoot.wav", - "", - "30", - "RandomFloatInRange(0.8,1.2)" - ] - }, - { - "type": { - "value": "CameraShake::CameraShake" - }, - "parameters": [ - "", - "0", - "0", - "\"\"", - "", - "0.2", - "0", - "1", - "0.1", - "", - "" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Wesley", - "RecoilAngle", - "=", - "(Wesley.AngleToPosition(MouseX(), MouseY()))+180" - ] - }, - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Particle_RecoilDust", - "Gun.PointX(\"BulletSpawn\")", - "Gun.PointY(\"BulletSpawn\")", - "" - ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Particle_RecoilDust", - "=", - "Gun.ZOrder()+100" - ] - }, - { - "type": { - "value": "AddForceAL" - }, - "parameters": [ - "Wesley", - "Wesley.Variable(RecoilAngle)", - "50", - "" - ] - } + "type": { + "value": "MouseButtonFromTextReleased" + }, + "parameters": [ + "", + "\"Left\"" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "ReloadsCompleted_Text", + "", + "", + "" ] } ], - "parameters": [] + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::ResetTotalReloadsCompleted" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonFromTextReleased" + }, + "parameters": [ + "", + "\"Left\"" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "BulletsCreated_Text", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::ResetTotalBulletsCreated" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ] } ], "parameters": [] @@ -10731,7 +13356,6 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "folded": true, "name": "Dash", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -11810,242 +14434,945 @@ "conditions": [], "actions": [ { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Gun", - "=", - "Wesley.Y()+1" + "type": { + "value": "ChangePlan" + }, + "parameters": [ + "Gun", + "=", + "Wesley.Y()+1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Setting the z-order of all RoomFloor objects to be -3000 of their Y position. This is so the floor stays below all other object in the room.", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "RoomFloor", + "conditions": [], + "actions": [ + { + "type": { + "value": "ChangePlan" + }, + "parameters": [ + "RoomFloor", + "=", + "RoomFloor.Y()-3000" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "folded": true, + "name": "Camera Controls", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Zoom and position camera of base layer to be align properly at the beginning of the scene.", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SceneBackground" + }, + "parameters": [ + "", + "\"24;20;37\"" + ] + }, + { + "type": { + "value": "SetCameraY" + }, + "parameters": [ + "", + "=", + "RoomFloor.Y()", + "", + "" + ] + }, + { + "type": { + "value": "SetCameraX" + }, + "parameters": [ + "", + "=", + "RoomFloor.X()", + "", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "2", + "\"\"", + "0" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "folded": true, + "name": "UI", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "folded": true, + "name": "Adjust firing parameters based on sliders", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetCooldown" + }, + "parameters": [ + "Wesley", + "FireBullet", + "Cooldown_Slider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetBulletQuantity" + }, + "parameters": [ + "Wesley", + "FireBullet", + "BulletQty_Slider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetAngleVariance" + }, + "parameters": [ + "Wesley", + "FireBullet", + "AngleVariance_Slider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetFiringArc" + }, + "parameters": [ + "Wesley", + "FireBullet", + "FireArc_Slider.DraggableSliderControl::Value()", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "RotateBullet_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetRotateBullet" + }, + "parameters": [ + "Wesley", + "FireBullet", + "yes", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "RotateBullet_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetRotateBullet" + }, + "parameters": [ + "Wesley", + "FireBullet", + "no", + "" + ] + } ] } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Setting the z-order of all RoomFloor objects to be -3000 of their Y position. This is so the floor stays below all other object in the room.", - "comment2": "" + ], + "parameters": [] }, { - "type": "BuiltinCommonInstructions::ForEach", - "object": "RoomFloor", - "conditions": [], - "actions": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "folded": true, + "name": "Draw Firing arc", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "RoomFloor", - "=", - "RoomFloor.Y()-3000" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::LineV2" + }, + "parameters": [ + "FiringArc", + "Gun.PointX(\"BulletSpawn\")", + "Gun.PointY(\"BulletSpawn\")", + "Gun.PointX(\"BulletSpawn\") + XFromAngleAndDistance(Gun.Angle() - Wesley.FireBullet::FiringArc()/2,50)", + "Gun.PointY(\"BulletSpawn\") + YFromAngleAndDistance(Gun.Angle() - Wesley.FireBullet::FiringArc()/2,50)", + "2" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::LineV2" + }, + "parameters": [ + "FiringArc", + "Gun.PointX(\"BulletSpawn\")", + "Gun.PointY(\"BulletSpawn\")", + "Gun.PointX(\"BulletSpawn\") + XFromAngleAndDistance(Gun.Angle() + Wesley.FireBullet::FiringArc()/2,50)", + "Gun.PointY(\"BulletSpawn\") + YFromAngleAndDistance(Gun.Angle() + Wesley.FireBullet::FiringArc()/2,50)", + "2" + ] + } ] } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Camera Controls", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Zoom and position camera of base layer to be align properly at the beginning of the scene.", - "comment2": "" + ], + "parameters": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "folded": true, + "name": "Update text", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "DepartScene" - }, - "parameters": [ - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "Cooldown_Text", + "=", + "\"Cooldown: \" + ToString(roundTo(Cooldown_Slider.DraggableSliderControl::Value(),2)) + \" seconds\"" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "AngleVariance_Text", + "=", + "\"Angle variance: \" + ToString(roundTo(AngleVariance_Slider.DraggableSliderControl::Value(),2)) + \" degrees\"" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "FiringArc_Text", + "=", + "\"Firing Arc: \" + ToString(roundTo(FireArc_Slider.DraggableSliderControl::Value(),2)) + \" degrees\"" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "BulletQty_Text", + "=", + "\"Bullet Qty: \" + ToString(roundTo(BulletQty_Slider.DraggableSliderControl::Value(),2))" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "ZoomCamera" - }, - "parameters": [ - "", - "2", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "AmmoQuantity_Text", + "=", + "\"Ammo Quantity: \" + ToString(Wesley.FireBullet::AmmoQuantity())" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ShotsFired_Text", + "=", + "\"Shots fired: \" + ToString(Wesley.FireBullet::TotalShotsFired())" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "BulletsCreated_Text", + "=", + "\"Bullets created: \" + ToString(Wesley.FireBullet::TotalBulletsCreated())" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ShotsUntilReload_Text", + "=", + "\"Shots until reload: \" + ToString(Wesley.FireBullet::ShotsBeforeNextReload())" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ReloadsCompleted_Text", + "=", + "\"Reloads completed: \" + ToString(Wesley.FireBullet::TotalReloadsCompleted())" + ] + } ] }, { - "type": { - "value": "SceneBackground" - }, - "parameters": [ - "", - "\"24;20;37\"" - ] + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Ammo", + "comment2": "" }, { - "type": { - "value": "SetCameraY" - }, - "parameters": [ - "", - "=", - "RoomFloor.Y()", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "MaxAmmo_Text", + "=", + "\"Max ammo: \" + ToString(Wesley.FireBullet::MaxAmmo())" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ReloadDuration_Text", + "=", + "\"Reload duration: \" + ToString(roundTo(Wesley.FireBullet::ReloadDuration(),1)) + \" seconds\"" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ShotsPerReload_Text", + "=", + "\"Shots per reload: \" + ToString(Wesley.FireBullet::ShotsPerReload())" + ] + } ] }, { - "type": { - "value": "SetCameraX" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "", - "=", - "RoomFloor.X()", - "", - "" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "UI", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Draw Firing arc", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "comment": "Overheat", + "comment2": "" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { - "type": { - "value": "PrimitiveDrawing::LineV2" - }, - "parameters": [ - "FiringArc", - "Gun.PointX(\"BulletSpawn\")", - "Gun.PointY(\"BulletSpawn\")", - "Gun.PointX(\"BulletSpawn\") + XFromAngleAndDistance(Gun.Angle() - Wesley.FireBullet::FiringArc()/2,50)", - "Gun.PointY(\"BulletSpawn\") + YFromAngleAndDistance(Gun.Angle() - Wesley.FireBullet::FiringArc()/2,50)", - "2" + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "GunHeat_Text", + "=", + "\"Heat level: \" + ToString(roundTo(Wesley.FireBullet::HeatLevel(),2))" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "OverheatDuration_Text", + "=", + "\"Overheat duration: \" + ToString(roundTo(Wesley.FireBullet::OverheatDuration(),1)) + \" seconds\"" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "HeatPerShot_Text", + "=", + "\"Heat per shot: \" + ToString(roundTo(Wesley.FireBullet::HeatIncreasePerShot(),3))" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "CoolingPerSecond_Text", + "=", + "\"Linear cooling rate: \" + ToString(roundTo(Wesley.FireBullet::LinearCoolingRate(), 3))" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ExponentialCooling_Text", + "=", + "\"Exponential cooling rate: \" + ToString(roundTo(Wesley.FireBullet::ExponentialCoolingRate(), 3))" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Show status", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "RightClickToReload_Text" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "Reloading_Text", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Reloading_Text" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReadyToShoot" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "ReadyToShoot_Text", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReadyToShoot" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "ReadyToShoot_Text" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsFiringCooldownActive" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "WaitingForFiringCooldown_Text", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsFiringCooldownActive" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "WaitingForFiringCooldown_Text" + ] + } ] }, { - "type": { - "value": "PrimitiveDrawing::LineV2" - }, - "parameters": [ - "FiringArc", - "Gun.PointX(\"BulletSpawn\")", - "Gun.PointY(\"BulletSpawn\")", - "Gun.PointX(\"BulletSpawn\") + XFromAngleAndDistance(Gun.Angle() + Wesley.FireBullet::FiringArc()/2,50)", - "Gun.PointY(\"BulletSpawn\") + YFromAngleAndDistance(Gun.Angle() + Wesley.FireBullet::FiringArc()/2,50)", - "2" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "ReloadNeeded_Text", + "" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "RightClickToReload_Text", + "" + ] + } ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Update text", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + }, { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "Cooldown_Text", - "=", - "\"Cooldown: \" + ToString(roundTo(Cooldown_Slider.DraggableSliderControl::Value(),2)) + \" seconds\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "ReloadNeeded_Text" + ] + } ] }, { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "AngleVariance_Text", - "=", - "\"Angle variance: \" + ToString(roundTo(AngleVariance_Slider.DraggableSliderControl::Value(),2)) + \" degrees\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "RightClickToReload_Text" + ] + } ] }, { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "FiringArc_Text", - "=", - "\"Firing Arc: \" + ToString(roundTo(FireArc_Slider.DraggableSliderControl::Value(),2)) + \" degrees\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsOutOfAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "OutOfAmmo_Text", + "" + ] + } ] }, { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "BulletQty_Text", - "=", - "\"Bullet Qty: \" + ToString(roundTo(BulletQty_Slider.DraggableSliderControl::Value(),2))" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsOutOfAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "OutOfAmmo_Text" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsOverheated" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "Overheated_Text", + "" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "OverheatTimeLeft_ResourceBar", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsOverheated" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Overheated_Text" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "OverheatTimeLeft_ResourceBar" + ] + } ] } - ] + ], + "parameters": [] } ], "parameters": [] @@ -15587,11 +18914,12 @@ } ] } - ] + ], + "eventsBasedObjects": [] }, { "author": "Tristan Rhodes (https://victrisgames.itch.io/), D8H", - "category": "Input", + "category": "User interface", "description": "Draws a draggable slider that users can move to select a numerical value.\nThe value range, tick spacing, and the appearance of the slider can be defined with properties.\n\nHow to use:\n- Add this behavior a **Shape Painter** object\n- Place an instance of that shape painter on the screen where you want the slider to appear\n- Use the \"Value\" expression to find the Value based on the position of the slider\n\nTips:\n- You can disable the slider to prevent a user from interacting with it\n- You can set the Value of the slider and the slider will move to the correct position\n\nFurther details can be found in [this tutorial video](https://youtu.be/iiTUwdAT_hs).\n\nBreaking changes (1.0.0)\n- Track thickness and length properties replaced track width and height. These 2 properties must be set again if they were different from the default size.\n- Hidden sliders can be dragged. The \"enable\" action must be used to disable them.\n", "extensionNamespace": "", "fullName": "Draggable slider", @@ -15600,7 +18928,7 @@ "name": "DraggableSliderControl", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/UI Essentials/UI Essentials_sliders_options.svg", "shortDescription": "A draggable slider that users can move to select a numerical value.", - "version": "1.0.3", + "version": "1.0.5", "origin": { "identifier": "DraggableSliderControl", "name": "gdevelop-extension-store" @@ -17179,8 +20507,2449 @@ } ] } - ], - "parameters": [] + ], + "parameters": [] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the slider is being dragged.", + "fullName": "Being dragged", + "functionType": "Condition", + "group": "Slider", + "name": "IsBeingDragged", + "private": false, + "sentence": "_PARAM0_ is being dragged", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the slider interations are enabled.", + "fullName": "Interactions enabled", + "functionType": "Condition", + "group": "Slider", + "name": "IsEnabled", + "private": false, + "sentence": "Interactions of _PARAM0_ are enabled", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyEnabled" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Enable or disable the slider. Users cannot interact while it is disabled.", + "fullName": "Enable interactions", + "functionType": "Action", + "group": "Slider", + "name": "SetEnabled", + "private": false, + "sentence": "Enable interactions of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Enable\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Stop dragging (so the slider won't be dragging when it gets enabled)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsBeingDragged" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Reset halo size (so halo won't appear when slider gets enabled)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Enable\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Enable", + "longDescription": "", + "name": "Enable", + "optional": false, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "The value of the slider (based on position of the thumb).", + "fullName": "Slider value", + "functionType": "Expression", + "group": "Slider", + "name": "Value", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyValue()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the value of a slider (this will move the thumb to the correct position).", + "fullName": "Slider value", + "functionType": "Action", + "group": "Slider", + "name": "SetValue", + "private": false, + "sentence": "Change the value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" + }, + "parameters": [ + "Object", + "Behavior", + "<=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "round(GetArgumentAsNumber(\"Value\") / Object.Behavior::PropertyTickSpacing()) * Object.Behavior::PropertyTickSpacing()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "Object.Behavior::PropertyValueMin()" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyValueMin()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "Object.Behavior::PropertyValueMax()" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyValueMax()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Set the proper offset (it moves the slider)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOffset" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyTrackLength() * (Object.Behavior::PropertyValue() - Object.Behavior::PropertyValueMin()) / (Object.Behavior::PropertyValueMax() - Object.Behavior::PropertyValueMin())" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Slider value", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "The minimum value of a slider.", + "fullName": "Slider minimum value", + "functionType": "Expression", + "group": "Slider value configuration", + "name": "ValueMin", + "private": false, + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyValueMin()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the minimum value of a slider.", + "fullName": "Slider minimum value", + "functionType": "Action", + "group": "Slider value configuration", + "name": "SetValueMin", + "private": false, + "sentence": "Change the minimum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMin" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"ValueMin\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::Value()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Minimum value", + "longDescription": "", + "name": "ValueMin", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "The maximum value of a slider.", + "fullName": "Slider maximum value", + "functionType": "Expression", + "group": "Slider value configuration", + "name": "ValueMax", + "private": false, + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyValueMax()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Thickness of track.", + "fullName": "Slider track thickness", + "functionType": "Expression", + "group": "Slider track configuration", + "name": "TrackThickness", + "private": false, + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTrackThickness()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Length of track.", + "fullName": "Slider track length", + "functionType": "Expression", + "group": "Slider track configuration", + "name": "TrackLength", + "private": false, + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTrackLength()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Height of thumb.", + "fullName": "Slider thumb height", + "functionType": "Expression", + "group": "Slider thumb configuration", + "name": "ThumbHeight", + "private": false, + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyThumbHeight()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the maximum value of a slider.", + "fullName": "Slider maximum value", + "functionType": "Action", + "group": "Slider value configuration", + "name": "SetValueMax", + "private": false, + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMax" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"ValueMax\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::Value()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Maximum value", + "longDescription": "", + "name": "ValueMax", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "The tick spacing of a slider.", + "fullName": "Tick spacing", + "functionType": "Expression", + "group": "Slider value configuration", + "name": "TickSpacing", + "private": false, + "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTickSpacing()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Tick spacing", + "longDescription": "", + "name": "TickSpacing", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the tick spacing of a slider.", + "fullName": "Tick spacing", + "functionType": "Action", + "group": "Slider value configuration", + "name": "SetTickSpacing", + "private": false, + "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTickSpacing" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"TickSpacing\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::Value()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Tick spacing", + "longDescription": "", + "name": "TickSpacing", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change length of track.", + "fullName": "Track length", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetTrackLength", + "private": false, + "sentence": "Change track length of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackLength" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Move thumb to correct place (based on new track size)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::PropertyValue()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Track width", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change thickness of track.", + "fullName": "Track thickness", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetTrackThickness", + "private": false, + "sentence": "Change track thickness of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackThickness" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make sure thumb width is not smaller than track height + 2 pixels (to prevent track ends from showing)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "Object.Behavior::PropertyTrackThickness() + 2" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::PropertyTrackThickness() + 2", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbHeight" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "Object.Behavior::PropertyTrackThickness() + 2" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetThumbHeight" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::PropertyTrackThickness() + 2", + "" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Track thickness", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change width of thumb.", + "fullName": "Thumb width", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetThumbWidth", + "private": false, + "sentence": "Change thumb width of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Thumb cannot be less than track thickness (plus 2 pixels)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbWidth" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Thumb width", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change height of thumb.", + "fullName": "Thumb height", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetThumbHeight", + "private": false, + "sentence": "Change thumb height of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Thumb cannot be less than track thickness (plus 2 pixels)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbHeight" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Thumb height", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change radius of the halo around the thumb. This size is also used to detect interaction with the slider.", + "fullName": "Halo radius", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetHaloRadius", + "private": false, + "sentence": "Change halo radius of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Halo radius", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the halo opacity when the thumb is hovered.", + "fullName": "Halo opacity (hover)", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetHaloOpacityHover", + "private": false, + "sentence": "Change the halo opacity when hovered of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloOpacityHover" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Halo opacity (hover)", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change opacity of halo when pressed.", + "fullName": "Halo opacity (pressed)", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetHaloOpacityPressed", + "private": false, + "sentence": "Change halo opacity when pressed of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloOpacityClick" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Halo opacity (pressed)", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change shape of thumb (circle or rectangle).", + "fullName": "Thumb shape", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetThumbShape", + "private": false, + "sentence": "Change shape of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbShape" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"Shape\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make sure thumb width is not smaller than track height (to prevent track ends from showing)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbShape" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"rectangle\"" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "Object.Behavior::PropertyTrackThickness()" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::PropertyTrackThickness()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "New thumb shape", + "longDescription": "", + "name": "Shape", + "optional": false, + "supplementaryInformation": "[\"circle\",\"rectangle\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Make track use rounded ends.", + "fullName": "Rounded track ends", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetRoundedTrack", + "private": false, + "sentence": "Draw _PARAM0_ with a rounded track: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "GetArgumentAsNumber(\"Value\")", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "GetArgumentAsNumber(\"Value\")", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Rounded track", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Change opacity of thumb.", + "fullName": "Thumb opacity", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetThumbOpacity", + "private": false, + "sentence": "Change thumb opacity of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOpacity" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Thumb opacity", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change opacity of inactive track.", + "fullName": "Inactive track opacity", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetInactiveTrackOpacity", + "private": false, + "sentence": "Change inactive track opacity of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackOpacity" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Inactive track opacity", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change opacity of active track.", + "fullName": "Active track opacity", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetActiveTrackOpacity", + "private": false, + "sentence": "Change active track opacity of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackOpacity" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Active track opacity", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the color of the track that is LEFT of the thumb.", + "fullName": "Active track color ", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetActiveTrackColor", + "private": false, + "sentence": "Change active track color of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackColor" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"Color\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Active track color", + "longDescription": "", + "name": "Color", + "optional": false, + "supplementaryInformation": "", + "type": "color" + } + ], + "objectGroups": [] + }, + { + "description": "Change the color of the track that is RIGHT of the thumb.", + "fullName": "Inactive track color", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetInactiveTrackColor", + "private": false, + "sentence": "Change inactive track color of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackColor" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"Color\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Inactive track color", + "longDescription": "", + "name": "Color", + "optional": false, + "supplementaryInformation": "", + "type": "color" + } + ], + "objectGroups": [] + }, + { + "description": "Change the thumb color to a specific value.", + "fullName": "Thumb color", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetThumbColor", + "private": false, + "sentence": "Change thumb color of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbColor" + }, + "parameters": [ + "Object", + "Behavior", + "GetArgumentAsString(\"Color\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Thumb color", + "longDescription": "", + "name": "Color", + "optional": false, + "supplementaryInformation": "", + "type": "color" + } + ], + "objectGroups": [] + }, + { + "description": "Update the hitbox.", + "fullName": "Update hitbox", + "functionType": "Action", + "group": "Private", + "name": "UpdateHitbox", + "private": true, + "sentence": "Update the hitbox of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::SetRotationCenter" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyTrackLength() / 2", + "Object.Behavior::PropertyTrackThickness() / 2" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::SetRectangularCollisionMask" + }, + "parameters": [ + "Object", + "-Object.Behavior::PropertyThumbWidth() / 2", + "-Object.Behavior::PropertyThumbHeight() / 2", + "Object.Behavior::PropertyTrackLength() + Object.Behavior::PropertyThumbWidth() / 2", + "Object.Behavior::PropertyThumbHeight() / 2" + ] + } + ] } ], "parameters": [ @@ -17206,256 +22975,391 @@ } ], "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "0", + "type": "Number", + "label": "Minimum value", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "ValueMin" + }, + { + "value": "1", + "type": "Number", + "label": "Maximum value", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "ValueMax" + }, + { + "value": "0", + "type": "Number", + "label": "Tick spacing", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "TickSpacing" + }, + { + "value": "circle", + "type": "Choice", + "label": "Thumb shape", + "description": "", + "group": "Thumb", + "extraInformation": [ + "circle", + "rectangle" + ], + "hidden": false, + "name": "ThumbShape" + }, + { + "value": "20", + "type": "Number", + "label": "Thumb width", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "ThumbWidth" + }, + { + "value": "20", + "type": "Number", + "label": "Thumb height", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "ThumbHeight" + }, + { + "value": " 24;119;211", + "type": "Color", + "label": "Thumb Color", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "ThumbColor" + }, + { + "value": "255", + "type": "Number", + "label": "Thumb opacity", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "ThumbOpacity" + }, + { + "value": "200", + "type": "Number", + "label": "Track length", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "TrackLength" + }, + { + "value": "4", + "type": "Number", + "label": "Track thickness", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "TrackThickness" + }, + { + "value": "", + "type": "String", + "label": "Inactive track color (thumb color by default)", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "InactiveTrackColor" + }, + { + "value": "96", + "type": "Number", + "label": "Inactive track opacity", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "InactiveTrackOpacity" + }, + { + "value": " ", + "type": "String", + "label": "Active track color (thumb color by default)", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "ActiveTrackColor" + }, + { + "value": "255", + "type": "Number", + "label": "Active track opacity", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "ActiveTrackOpacity" }, { - "description": "Check if the slider is being dragged.", - "fullName": "Being dragged", - "functionType": "Condition", - "group": "Slider", - "name": "IsBeingDragged", - "private": false, - "sentence": "_PARAM0_ is being dragged", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] + "value": "24", + "type": "Number", + "label": "Halo size (hover)", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "HaloRadius" }, { - "description": "Check if the slider interations are enabled.", - "fullName": "Interactions enabled", - "functionType": "Condition", - "group": "Slider", - "name": "IsEnabled", - "private": false, - "sentence": "Interactions of _PARAM0_ are enabled", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyEnabled" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] + "value": "32", + "type": "Number", + "label": "Halo opacity (hover)", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "HaloOpacityHover" + }, + { + "value": "64", + "type": "Number", + "label": "Halo opacity (pressed)", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "HaloOpacityClick" + }, + { + "value": "true", + "type": "Boolean", + "label": "Rounded track ends", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "RoundedTrack" + }, + { + "value": "true", + "type": "Boolean", + "label": "Enable interactions", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Enabled" + }, + { + "value": "", + "type": "Boolean", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "IsBeingDragged" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "Value" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ThumbOffset" }, { - "description": "Enable or disable the slider. Users cannot interact while it is disabled.", - "fullName": "Enable interactions", + "value": "true", + "type": "Boolean", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "NeedRedraw" + }, + { + "value": "", + "type": "Boolean", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "IsHovered" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "MouseX" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "MouseY" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "CurrentHaloRadius" + }, + { + "value": "0.2", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "HaloGrowSpeed" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "TargetHaloRadius" + } + ] + } + ], + "eventsBasedObjects": [] + }, + { + "author": "@4ian", + "category": "Game mechanic", + "description": "Fire bullets, manage ammo, reloading, and overheating.\n\nFiring bullets:\n- Cooldown: Time between shots (seconds)\n- Bullet Quantity: Number of bullets created each time Fire Bullet action is used. \n- Angle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\n- Firing Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\n- Rotate bullet: Change the angle of each bullet to match the direction it is travelling (enabled by default)\n\n Ammo:\n- Starting ammo\n- Max ammo\n- Shots per reload. Use 0 to disable reloading\n- Reload duration\n- Automatic reloading is enabled by default, but it can also be done manually.\n\nOverheat:\n- Heat increase per shot. Object is Overheated when Heat reaches 1.\n- Cooling rate per second\n- When overheated, the object cannot fire any bullets\n\nStatistics:\n- Total bullets created\n- Total shots taken\n- Total reloads completed\n\nBullets:\n- Each bullet is assigned several variables that can be used for advanced object picking\n- __FireBullet.BulletID = Unique number for every bullet created\n- __FireBullet.BatchID = Unique number for all bullets created in the same frame\n- __FireBullet.BatchOrderID = Unique number for each bullet in the same batch. Can be used to identify the position in the firing arc.", + "extensionNamespace": "", + "fullName": "Fire bullets", + "helpPath": "https://gdevelop.io/game-example/fire-bullet", + "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.3.0", + "origin": { + "identifier": "FireBullet", + "name": "gdevelop-extension-store" + }, + "tags": [ + "fire", + "bullet", + "spawn", + "firerate", + "reload", + "weapon", + "ranged", + "ammo", + "overheat" + ], + "authorIds": [ + "wWP8BSlAW0UP4NeaHa2LcmmDzmH2", + "xpwUwByyImTDcHEqDUqfyg0oRBt1", + "2OwwM8ToR9dx9RJ2sAKTcrLmCB92", + "gqDaZjCfevOOxBYkK6zlhtZnXCg1" + ], + "dependencies": [], + "eventsFunctions": [], + "eventsBasedBehaviors": [ + { + "description": "Fire bullets, manage ammo, reloading, and overheating.", + "fullName": "Fire bullets", + "name": "FireBullet", + "objectType": "", + "eventsFunctions": [ + { + "description": "", + "fullName": "", "functionType": "Action", - "group": "Slider", - "name": "SetEnabled", + "group": "", + "name": "onCreated", "private": false, - "sentence": "Enable interactions of _PARAM0_: _PARAM2_", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Enable\"" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" + "value": "ResetObjectTimer" }, "parameters": [ "Object", - "Behavior", - "no" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Stop dragging (so the slider won't be dragging when it gets enabled)", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } + "\"__FireBullet.FiringCooldown\"" ] }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reset halo size (so halo won't appear when slider gets enabled)", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Enable\"" - ] - } - ], - "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" }, "parameters": [ "Object", "Behavior", - "yes" + "=", + "Object.Behavior::PropertyStartingAmmo()" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + }, { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" }, "parameters": [ "Object", "Behavior", - "yes" + "=", + "Object.Behavior::PropertyShotsPerReload()" ] } ] @@ -17469,65 +23373,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Enable", - "longDescription": "", - "name": "Enable", - "optional": false, "supplementaryInformation": "", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "The value of the slider (based on position of the thumb).", - "fullName": "Slider value", - "functionType": "Expression", - "group": "Slider", - "name": "Value", - "private": false, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyValue()" - ] - } - ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { @@ -17537,176 +23383,639 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" } - ], - "objectGroups": [] - }, - { - "description": "Change the value of a slider (this will move the thumb to the correct position).", - "fullName": "Slider value", - "functionType": "Action", - "group": "Slider", - "name": "SetValue", - "private": false, - "sentence": "Change the value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" - }, - "parameters": [ - "Object", - "Behavior", - "<=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - } - ] - }, + ], + "objectGroups": [] + }, + { + "description": "", + "fullName": "", + "functionType": "Action", + "group": "", + "name": "doStepPreEvents", + "private": false, + "sentence": "", + "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Take a shot (if triggered)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "Object", - "Behavior", - ">", - "0" + "comment": "Creators can use the \"FireBullet\" action multiple times in a frame and it will be counted as a single \"shot\".", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyHasJustFired" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [], + "events": [ + { + "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": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update 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)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + }, + "parameters": [ + "Object", + "Behavior", + "-", + "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" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "-", + "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" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::ReloadAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update 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)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyHeatIncreasePerShot" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.Behavior::PropertyHeatIncreasePerShot()" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Check if this caused overheat", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyOverheatDuration" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::IsOverheated" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.OverheatDuration\"" + ] + } + ] + } + ] + } + ], + "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": [] + } ] } ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "round(GetArgumentAsNumber(\"Value\") / Object.Behavior::PropertyTickSpacing()) * Object.Behavior::PropertyTickSpacing()" - ] - } - ] + "parameters": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyValueMin()" - ] - } - ], - "actions": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reload gun when needed", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyValueMin()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "comment": "Detect when reload is completed", + "comment2": "" + }, { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "Object.Behavior::PropertyValueMax()" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "CompareObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.ReloadingTimer\"", + ">=", + "Object.Behavior::PropertyReloadDuration()" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyShotsPerReload()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Only reload the amount of ammo available", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(Object.Behavior::PropertyShotsPerReload(), Object.Behavior::PropertyAmmoQuantity())" + ] + } + ] + } ] } ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyValueMax()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set the proper offset (it moves the slider)", - "comment2": "" + "parameters": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOffset" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyTrackLength() * (Object.Behavior::PropertyValue() - Object.Behavior::PropertyValueMin()) / (Object.Behavior::PropertyValueMax() - Object.Behavior::PropertyValueMin())" - ] - }, + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reduce heat level (based on cooling rate)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::HeatLevel()", + ">", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyExponentialCoolingRate" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyExponentialCoolingRate() * Object.Behavior::PropertyHeatLevel())" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyLinearCoolingRate" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyLinearCoolingRate())" + ] + } + ] + } ] } - ] + ], + "parameters": [] } ], "parameters": [ @@ -17717,7 +24026,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -17727,44 +24036,53 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Slider value", - "longDescription": "", - "name": "Value", - "optional": false, - "supplementaryInformation": "", - "type": "expression" } ], "objectGroups": [] }, { - "description": "The minimum value of a slider.", - "fullName": "Slider minimum value", - "functionType": "Expression", - "group": "Slider value configuration", - "name": "ValueMin", + "description": "Fire bullets toward a position.", + "fullName": "Fire bullets toward a position", + "functionType": "Action", + "group": "", + "name": "FireTowardPosition", "private": false, - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, toward position _PARAM5_;_PARAM6_ with speed _PARAM7_ px/s", "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "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": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyValueMin()" + "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\")", + "" + ] + } ] } - ] + ], + "parameters": [] } ], "parameters": [ @@ -17775,7 +24093,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -17785,168 +24103,283 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Change the maximum value of a slider.", - "fullName": "Slider maximum value", - "functionType": "Action", - "group": "Slider value configuration", - "name": "SetValueMin", - "private": false, - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ + }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMin" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"ValueMin\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::Value()", - "" - ] - } - ] - } - ], - "parameters": [ + "codeOnly": false, + "defaultValue": "", + "description": "X position, where to create the bullet", + "longDescription": "", + "name": "XPosition", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, { "codeOnly": false, "defaultValue": "", - "description": "Object", + "description": "Y position, where to create the bullet", "longDescription": "", - "name": "Object", + "name": "YPosition", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" + "supplementaryInformation": "", + "type": "expression" }, { "codeOnly": false, "defaultValue": "", - "description": "Behavior", + "description": "The bullet object", "longDescription": "", - "name": "Behavior", + "name": "Bullet", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" + "supplementaryInformation": "", + "type": "objectList" }, { "codeOnly": false, "defaultValue": "", - "description": "Minimum value", + "description": "Target X position", "longDescription": "", - "name": "ValueMin", + "name": "TargetXPosition", "optional": false, "supplementaryInformation": "", "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "The maximum value of a slider.", - "fullName": "Slider maximum value", - "functionType": "Expression", - "group": "Slider value configuration", - "name": "ValueMax", - "private": false, - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyValueMax()" - ] - } - ] - } - ], - "parameters": [ + }, { "codeOnly": false, "defaultValue": "", - "description": "Object", + "description": "Target Y position", "longDescription": "", - "name": "Object", + "name": "TargetYPosition", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" + "supplementaryInformation": "", + "type": "expression" }, { "codeOnly": false, "defaultValue": "", - "description": "Behavior", + "description": "Speed of the bullet, in pixels per second", "longDescription": "", - "name": "Behavior", + "name": "Speed", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" + "supplementaryInformation": "", + "type": "expression" } ], "objectGroups": [] }, { - "description": "Change the minimum value of a slider.", - "fullName": "Slider minimum value", + "description": "Fire bullets in the direction of a given angle.", + "fullName": "Fire bullets toward an angle", "functionType": "Action", - "group": "Slider value configuration", - "name": "SetValueMax", + "group": "", + "name": "Fire", "private": false, - "sentence": "Change the minimum value of _PARAM0_: _PARAM2_", + "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, toward angle _PARAM5_ and speed _PARAM6_ px/s", "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMax" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"ValueMax\")" - ] - }, + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Check if ready to shoot", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::Value()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReadyToShoot" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyHasJustFired" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ], + "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", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::PropertyBulletQuantity()", + ">", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__FireBullet.CurrentBulletAngle", + "=", + "GetArgumentAsNumber(\"Angle\") - Object.Behavior::PropertyFiringArc()/2" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__FireBullet.BatchOrderID", + "=", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "Object.Behavior::PropertyBulletQuantity()", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::FireSingleBullet" + }, + "parameters": [ + "Object", + "Behavior", + "GetArgumentAsNumber(\"XPosition\")", + "GetArgumentAsNumber(\"YPosition\")", + "Bullet", + "Object.Variable(__FireBullet.CurrentBulletAngle) + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", + "GetArgumentAsNumber(\"Speed\")", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Move temp variable to the next angle a bullet will be sent", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__FireBullet.CurrentBulletAngle", + "+", + "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity() - 1)" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__FireBullet.BatchOrderID", + "+", + "1" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + } ] } - ] + ], + "parameters": [] } ], "parameters": [ @@ -17957,7 +24390,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -17967,15 +24400,55 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Maximum value", + "description": "X position, where to create the bullet", "longDescription": "", - "name": "ValueMax", + "name": "XPosition", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Y position, where to create the bullet", + "longDescription": "", + "name": "YPosition", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "The bullet object", + "longDescription": "", + "name": "Bullet", + "optional": false, + "supplementaryInformation": "", + "type": "objectList" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Angle of the bullet, in degrees", + "longDescription": "", + "name": "Angle", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Speed of the bullet, in pixels per second", + "longDescription": "", + "name": "Speed", "optional": false, "supplementaryInformation": "", "type": "expression" @@ -17984,27 +24457,209 @@ "objectGroups": [] }, { - "description": "The tick spacing of a slider.", - "fullName": "Tick spacing", - "functionType": "Expression", - "group": "Slider value configuration", - "name": "TickSpacing", - "private": false, - "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", + "description": "Fire a single bullet. This is only meant to be used inside the \"Fire bullet\" action.", + "fullName": "Fire a single bullet", + "functionType": "Action", + "group": "Firing", + "name": "FireSingleBullet", + "private": true, + "sentence": "Fire a single bullet _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, with angle _PARAM5_ and speed _PARAM6_ px/s", "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Fire a single bullet", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "SetReturnNumber" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "Object.Behavior::PropertyTickSpacing()" + "comment": "Create bullet", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Bullet", + "GetArgumentAsNumber(\"XPosition\")", + "GetArgumentAsNumber(\"YPosition\")", + "\"\"" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Move bullet", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Bullet", + "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(), Object.Behavior::PropertyAngleVariance())", + "GetArgumentAsNumber(\"Speed\")", + "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)", + "comment2": "" + }, + { + "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": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Rotate newly created bullet, if needed", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyRotateBullet" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Bullet", + "=", + "GetArgumentAsNumber(\"Angle\")" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Update statistics", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + } ] } - ] + ], + "parameters": [] } ], "parameters": [ @@ -18015,7 +24670,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -18025,87 +24680,55 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Tick spacing", + "description": "X position, where to create the bullet", "longDescription": "", - "name": "TickSpacing", + "name": "XPosition", "optional": false, "supplementaryInformation": "", "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the tick spacing of a slider.", - "fullName": "Tick spacing", - "functionType": "Action", - "group": "Slider value configuration", - "name": "SetTickSpacing", - "private": false, - "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", - "events": [ + }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTickSpacing" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"TickSpacing\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::Value()", - "" - ] - } - ] - } - ], - "parameters": [ + "codeOnly": false, + "defaultValue": "", + "description": "Y position, where to create the bullet", + "longDescription": "", + "name": "YPosition", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, { "codeOnly": false, "defaultValue": "", - "description": "Object", + "description": "The bullet object", "longDescription": "", - "name": "Object", + "name": "Bullet", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" + "supplementaryInformation": "", + "type": "objectList" }, { "codeOnly": false, "defaultValue": "", - "description": "Behavior", + "description": "Angle of the bullet, in degrees", "longDescription": "", - "name": "Behavior", + "name": "Angle", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" + "supplementaryInformation": "", + "type": "expression" }, { "codeOnly": false, "defaultValue": "", - "description": "Tick spacing", + "description": "Speed of the bullet, in pixels per second", "longDescription": "", - "name": "TickSpacing", + "name": "Speed", "optional": false, "supplementaryInformation": "", "type": "expression" @@ -18114,77 +24737,47 @@ "objectGroups": [] }, { - "description": "Change length of track.", - "fullName": "Track length", + "description": "Reload ammo.", + "fullName": "Reload ammo", "functionType": "Action", - "group": "Slider track configuration", - "name": "SetTrackLength", + "group": "", + "name": "ReloadAmmo", "private": false, - "sentence": "Change track length of _PARAM0_ to _PARAM2_px", + "sentence": "Reload ammo on _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackLength" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, + "conditions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" + "inverted": true, + "value": "FireBullet::FireBullet::IsOutOfAmmo" }, "parameters": [ "Object", "Behavior", "" ] - }, + } + ], + "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" }, "parameters": [ "Object", "Behavior", "yes" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move thumb to correct place (based on new track size)", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + }, { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + "value": "ResetObjectTimer" }, "parameters": [ "Object", - "Behavior", - "Object.Behavior::PropertyValue()", - "" + "\"__FireBullet.ReloadingTimer\"" ] } ] @@ -18198,7 +24791,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -18208,30 +24801,20 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Track width", - "longDescription": "", - "name": "Value", - "optional": false, - "supplementaryInformation": "", - "type": "expression" } ], "objectGroups": [] }, { - "description": "Change thickness of track.", - "fullName": "Track thickness", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetTrackThickness", + "description": "Check if the object has just fired something.", + "fullName": "Has just fired", + "functionType": "Condition", + "group": "Firing", + "name": "HasJustFired", "private": false, - "sentence": "Change track thickness of _PARAM0_ to _PARAM2_px", + "sentence": "_PARAM0_ has just fired", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -18239,94 +24822,92 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackThickness" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Behavior", - "yes" + "False" ] } ] }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure thumb width is not smaller than track height + 2 pixels (to prevent track ends from showing)", - "comment2": "" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" + "value": "FireBullet::FireBullet::PropertyHasJustFired" }, "parameters": [ "Object", - "Behavior", - "<", - "Object.Behavior::PropertyTrackThickness() + 2" + "Behavior" ] } ], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyTrackThickness() + 2", - "" + "True" ] } ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if bullet rotates to match trajectory.", + "fullName": "Is bullet rotation enabled", + "functionType": "Condition", + "group": "Firing", + "name": "BulletRotationEnabled", + "private": false, + "sentence": "Bullet rotation enabled on _PARAM0_", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbHeight" + "value": "FireBullet::FireBullet::PropertyRotateBullet" }, "parameters": [ "Object", - "Behavior", - "<", - "Object.Behavior::PropertyTrackThickness() + 2" + "Behavior" ] } ], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetThumbHeight" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyTrackThickness() + 2", - "" + "True" ] } ] @@ -18339,94 +24920,45 @@ "description": "Object", "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" + "optional": false, + "supplementaryInformation": "", + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "Track thickness", + "description": "Behavior", "longDescription": "", - "name": "Value", + "name": "Behavior", "optional": false, - "supplementaryInformation": "", - "type": "expression" + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" } ], "objectGroups": [] }, { - "description": "Change width of thumb.", - "fullName": "Thumb width", + "description": "Change the firing arc (in degrees) where bullets will be shot. Bullets will be evenly spaced out inside the firing arc.", + "fullName": "Set firing arc", "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbWidth", + "group": "Multi-Fire", + "name": "SetFiringArc", "private": false, - "sentence": "Change thumb width of _PARAM0_ to _PARAM2_px", + "sentence": "Set firing arc of _PARAM0_ to _PARAM2_ degrees", "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Thumb cannot be less than track thickness (plus 2 pixels)", - "comment2": "" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbWidth" + "value": "FireBullet::FireBullet::SetPropertyFiringArc" }, "parameters": [ "Object", "Behavior", "=", - "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" + "GetArgumentAsNumber(\"Value\")" ] } ] @@ -18440,7 +24972,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -18450,13 +24982,13 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Thumb width", + "description": "Firing arc (degrees) Range: 0 to 360", "longDescription": "", "name": "Value", "optional": false, @@ -18467,66 +24999,27 @@ "objectGroups": [] }, { - "description": "Change height of thumb.", - "fullName": "Thumb height", + "description": "Change the angle variance (in degrees) applied to each bullet.", + "fullName": "Set angle variance", "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbHeight", + "group": "Firing", + "name": "SetAngleVariance", "private": false, - "sentence": "Change thumb height of _PARAM0_ to _PARAM2_px", + "sentence": "Set angle variance of _PARAM0_ to _PARAM2_ degrees", "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Thumb cannot be less than track thickness (plus 2 pixels)", - "comment2": "" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbHeight" + "value": "FireBullet::FireBullet::SetPropertyAngleVariance" }, "parameters": [ "Object", "Behavior", "=", - "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" + "GetArgumentAsNumber(\"Value\")" ] } ] @@ -18540,7 +25033,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -18550,13 +25043,13 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Thumb height", + "description": "Angle variance (degrees) Range: 0 to 180", "longDescription": "", "name": "Value", "optional": false, @@ -18567,13 +25060,13 @@ "objectGroups": [] }, { - "description": "Change radius of the halo around the thumb. This size is also used to detect interaction with the slider.", - "fullName": "Halo radius", + "description": "Change the number of bullets shot every time the \"fire bullet\" action is used.", + "fullName": "Set number of bullets per shot", "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetHaloRadius", + "group": "Multi-Fire", + "name": "SetBulletQuantity", "private": false, - "sentence": "Change halo radius of _PARAM0_ to _PARAM2_px", + "sentence": "Set number of bullets per shot of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -18581,7 +25074,7 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloRadius" + "value": "FireBullet::FireBullet::SetPropertyBulletQuantity" }, "parameters": [ "Object", @@ -18589,16 +25082,6 @@ "=", "GetArgumentAsNumber(\"Value\")" ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] } ] } @@ -18611,7 +25094,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -18621,13 +25104,13 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Halo radius", + "description": "Bullets", "longDescription": "", "name": "Value", "optional": false, @@ -18638,90 +25121,61 @@ "objectGroups": [] }, { - "description": "Change shape of thumb (circle or rectangle).", - "fullName": "Thumb shape", + "description": "Enable bullet rotation.", + "fullName": "Enable (or disable) bullet rotation", "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbShape", + "group": "Firing", + "name": "SetRotateBullet", "private": false, - "sentence": "Change shape of _PARAM0_ to _PARAM2_", + "sentence": "Enable bullet rotation on _PARAM0_: _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbShape" + "inverted": true, + "value": "GetArgumentAsBoolean" }, "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Shape\")" + "\"RotateBullet\"" ] - }, + } + ], + "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + "value": "FireBullet::FireBullet::SetPropertyRotateBullet" }, "parameters": [ "Object", "Behavior", - "yes" + "no" ] } ] }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure thumb width is not smaller than track height (to prevent track ends from showing)", - "comment2": "" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbShape" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"rectangle\"" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" + "value": "GetArgumentAsBoolean" }, "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyTrackThickness()" + "\"RotateBullet\"" ] } ], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" + "value": "FireBullet::FireBullet::SetPropertyRotateBullet" }, "parameters": [ "Object", "Behavior", - "Object.Behavior::PropertyTrackThickness()", - "" + "yes" ] } ] @@ -18735,7 +25189,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -18745,49 +25199,48 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, - "defaultValue": "", - "description": "New thumb shape", + "defaultValue": "yes", + "description": "Rotate bullet to match trajetory", "longDescription": "", - "name": "Shape", - "optional": false, - "supplementaryInformation": "[\"circle\",\"rectangle\"]", - "type": "stringWithSelector" + "name": "RotateBullet", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" } ], "objectGroups": [] }, { - "description": "Make track use rounded ends.", - "fullName": "Rounded track ends", + "description": "Enable unlimited ammo.", + "fullName": "Enable (or disable) unlimited ammo", "functionType": "Action", - "group": "Slider track configuration", - "name": "SetRoundedTrack", + "group": "Ammo", + "name": "SetUnlimitedAmmo", "private": false, - "sentence": "Draw _PARAM0_ with a rounded track: _PARAM2_", + "sentence": "Enable unlimited ammo on _PARAM0_: _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "Egal" + "inverted": true, + "value": "GetArgumentAsBoolean" }, "parameters": [ - "GetArgumentAsNumber(\"Value\")", - "=", - "0" + "\"UnlimitedAmmo\"" ] } ], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" + "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" }, "parameters": [ "Object", @@ -18802,19 +25255,17 @@ "conditions": [ { "type": { - "value": "Egal" + "value": "GetArgumentAsBoolean" }, "parameters": [ - "GetArgumentAsNumber(\"Value\")", - "=", - "1" + "\"UnlimitedAmmo\"" ] } ], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" + "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" }, "parameters": [ "Object", @@ -18823,19 +25274,64 @@ ] } ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" }, + { + "codeOnly": false, + "defaultValue": "yes", + "description": "Unlimited ammo", + "longDescription": "", + "name": "UnlimitedAmmo", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Change the firing cooldown, which changes the rate of fire.", + "fullName": "Set firing cooldown", + "functionType": "Action", + "group": "Firing", + "name": "SetCooldown", + "private": false, + "sentence": "Set the fire rate of _PARAM0_ to _PARAM2_ seconds", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + "value": "FireBullet::FireBullet::SetPropertyFireCooldown" }, "parameters": [ "Object", "Behavior", - "yes" + "=", + "GetArgumentAsNumber(\"NewCooldown\")" ] } ] @@ -18849,7 +25345,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -18859,30 +25355,30 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Rounded track", + "description": "Cooldown in seconds", "longDescription": "", - "name": "Value", + "name": "NewCooldown", "optional": false, "supplementaryInformation": "", - "type": "yesorno" + "type": "expression" } ], "objectGroups": [] }, { - "description": "Change opacity of thumb.", - "fullName": "Thumb opacity", + "description": "Change the duration to reload ammo.", + "fullName": "Set reload duration", "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbOpacity", + "group": "Reload", + "name": "SetReloadDuration", "private": false, - "sentence": "Change thumb opacity of _PARAM0_ to _PARAM2_", + "sentence": "Set the reload duration of _PARAM0_ to _PARAM2_ seconds", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -18890,7 +25386,7 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOpacity" + "value": "FireBullet::FireBullet::SetPropertyReloadDuration" }, "parameters": [ "Object", @@ -18898,16 +25394,6 @@ "=", "GetArgumentAsNumber(\"Value\")" ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] } ] } @@ -18920,7 +25406,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -18930,13 +25416,13 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Thumb opacity", + "description": "Reload duration (seconds)", "longDescription": "", "name": "Value", "optional": false, @@ -18947,13 +25433,13 @@ "objectGroups": [] }, { - "description": "Change opacity of inactive track.", - "fullName": "Inactive track opacity", + "description": "Change the duration after becoming overheated.", + "fullName": "Set overheat duration", "functionType": "Action", - "group": "Slider track configuration", - "name": "SetInactiveTrackOpacity", + "group": "Overheat", + "name": "SetOverheatDuration", "private": false, - "sentence": "Change inactive track opacity of _PARAM0_ to _PARAM2_", + "sentence": "Set the overheat duration of _PARAM0_ to _PARAM2_ seconds", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -18961,7 +25447,7 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackOpacity" + "value": "FireBullet::FireBullet::SetPropertyOverheatDuration" }, "parameters": [ "Object", @@ -18969,16 +25455,6 @@ "=", "GetArgumentAsNumber(\"Value\")" ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] } ] } @@ -18991,7 +25467,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -19001,13 +25477,13 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Inactive track opacity", + "description": "Overheat duration (seconds)", "longDescription": "", "name": "Value", "optional": false, @@ -19018,13 +25494,13 @@ "objectGroups": [] }, { - "description": "Change opacity of active track.", - "fullName": "Active track opacity", + "description": "Change the quantity of ammo.", + "fullName": "Set ammo quantity", "functionType": "Action", - "group": "Slider track configuration", - "name": "SetActiveTrackOpacity", + "group": "Ammo", + "name": "SetAmmoQuantity", "private": false, - "sentence": "Change active track opacity of _PARAM0_ to _PARAM2_", + "sentence": "Set the ammo quantity of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -19032,7 +25508,7 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackOpacity" + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" }, "parameters": [ "Object", @@ -19040,16 +25516,6 @@ "=", "GetArgumentAsNumber(\"Value\")" ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] } ] } @@ -19062,7 +25528,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -19072,13 +25538,13 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Active track opacity", + "description": "Ammo", "longDescription": "", "name": "Value", "optional": false, @@ -19089,13 +25555,13 @@ "objectGroups": [] }, { - "description": "Change the color of the track that is LEFT of the thumb.", - "fullName": "Active track color ", + "description": "Change the heat increase per shot.", + "fullName": "Set heat increase per shot", "functionType": "Action", - "group": "Slider track configuration", - "name": "SetActiveTrackColor", + "group": "Overheat", + "name": "SetHeatPerShot", "private": false, - "sentence": "Change active track color of _PARAM0_ to _PARAM2_", + "sentence": "Set the heat increase of _PARAM0_ to _PARAM2_ per shot", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -19103,23 +25569,13 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackColor" + "value": "FireBullet::FireBullet::SetPropertyHeatIncreasePerShot" }, "parameters": [ "Object", "Behavior", "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" + "GetArgumentAsNumber(\"Value\")" ] } ] @@ -19133,7 +25589,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -19143,30 +25599,30 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Active track color", + "description": "Heat increase per shot (Range: 0 to 1)", "longDescription": "", - "name": "Color", + "name": "Value", "optional": false, "supplementaryInformation": "", - "type": "color" + "type": "expression" } ], "objectGroups": [] }, { - "description": "Change the color of the track that is RIGHT of the thumb.", - "fullName": "Inactive track color", + "description": "Change the max ammo.", + "fullName": "Set max ammo", "functionType": "Action", - "group": "Slider track configuration", - "name": "SetInactiveTrackColor", + "group": "Ammo", + "name": "SetMaxAmmo", "private": false, - "sentence": "Change inactive track color of _PARAM0_ to _PARAM2_", + "sentence": "Set the max ammo of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -19174,23 +25630,42 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackColor" + "value": "FireBullet::FireBullet::SetPropertyMaxAmmo" }, "parameters": [ "Object", "Behavior", "=", - "GetArgumentAsString(\"Color\")" + "GetArgumentAsNumber(\"Value\")" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + "value": "FireBullet::FireBullet::PropertyMaxAmmo" }, "parameters": [ "Object", "Behavior", - "yes" + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(Object.Behavior::MaxAmmo(),Object.Behavior::AmmoQuantity())" ] } ] @@ -19204,7 +25679,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -19214,30 +25689,30 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Inactive track color", + "description": "Max ammo", "longDescription": "", - "name": "Color", + "name": "Value", "optional": false, "supplementaryInformation": "", - "type": "color" + "type": "expression" } ], "objectGroups": [] }, { - "description": "Change the thumb color to a specific value.", - "fullName": "Thumb color", + "description": "Reset total shots fired.", + "fullName": "Reset total shots fired", "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbColor", + "group": "Stats", + "name": "ResetTotalShotsFired", "private": false, - "sentence": "Change thumb color of _PARAM0_ to _PARAM2_", + "sentence": "Reset total shots fired by _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -19245,22 +25720,13 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbColor" - }, - "parameters": [ - "Object", - "Behavior", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + "value": "FireBullet::FireBullet::SetPropertyTotalShotsFired" }, "parameters": [ "Object", "Behavior", - "yes" + "=", + "0" ] } ] @@ -19274,7 +25740,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -19284,30 +25750,20 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Thumb color", - "longDescription": "", - "name": "Color", - "optional": false, - "supplementaryInformation": "", - "type": "color" } ], "objectGroups": [] }, { - "description": "Update the hitbox.", - "fullName": "Update hitbox", + "description": "Reset total bullets created.", + "fullName": "Reset total bullets created", "functionType": "Action", - "group": "Private", - "name": "UpdateHitbox", - "private": true, - "sentence": "Update the hitbox of _PARAM0_", + "group": "Stats", + "name": "ResetTotalBulletsCreated", + "private": false, + "sentence": "Reset total bullets created by _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -19315,24 +25771,64 @@ "actions": [ { "type": { - "value": "PrimitiveDrawing::SetRotationCenter" + "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" }, "parameters": [ "Object", - "Object.Behavior::PropertyTrackLength() / 2", - "Object.Behavior::PropertyTrackThickness() / 2" + "Behavior", + "=", + "0" ] - }, + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Reset total reloads completed.", + "fullName": "Reset total reloads completed", + "functionType": "Action", + "group": "Stats", + "name": "ResetTotalReloadsCompleted", + "private": false, + "sentence": "Reset total reloads completed by _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { "type": { - "value": "PrimitiveDrawing::SetRectangularCollisionMask" + "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted" }, "parameters": [ "Object", - "-Object.Behavior::PropertyThumbWidth() / 2", - "-Object.Behavior::PropertyThumbHeight() / 2", - "Object.Behavior::PropertyTrackLength() + Object.Behavior::PropertyThumbWidth() / 2", - "Object.Behavior::PropertyThumbHeight() / 2" + "Behavior", + "=", + "0" ] } ] @@ -19346,441 +25842,528 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "0", - "type": "Number", - "label": "Minimum value", - "description": "", - "group": "", - "extraInformation": [], - "hidden": false, - "name": "ValueMin" - }, - { - "value": "1", - "type": "Number", - "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], - "hidden": false, - "name": "ValueMax" - }, - { - "value": "0", - "type": "Number", - "label": "Tick spacing", - "description": "", - "group": "", - "extraInformation": [], - "hidden": false, - "name": "TickSpacing" - }, - { - "value": "circle", - "type": "Choice", - "label": "Thumb shape", - "description": "", - "group": "Thumb", - "extraInformation": [ - "circle", - "rectangle" - ], - "hidden": false, - "name": "ThumbShape" - }, - { - "value": "20", - "type": "Number", - "label": "Thumb width", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "ThumbWidth" - }, - { - "value": "20", - "type": "Number", - "label": "Thumb height", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "ThumbHeight" - }, - { - "value": " 24;119;211", - "type": "Color", - "label": "Thumb Color", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "ThumbColor" - }, - { - "value": "255", - "type": "Number", - "label": "Thumb opacity", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "ThumbOpacity" - }, - { - "value": "200", - "type": "Number", - "label": "Track length", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "TrackLength" - }, - { - "value": "4", - "type": "Number", - "label": "Track thickness", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "TrackThickness" - }, - { - "value": "", - "type": "String", - "label": "Inactive track color (thumb color by default)", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "InactiveTrackColor" - }, - { - "value": "96", - "type": "Number", - "label": "Inactive track opacity", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "InactiveTrackOpacity" - }, - { - "value": " ", - "type": "String", - "label": "Active track color (thumb color by default)", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "ActiveTrackColor" - }, - { - "value": "255", - "type": "Number", - "label": "Active track opacity", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "ActiveTrackOpacity" - }, - { - "value": "24", - "type": "Number", - "label": "Halo size (hover)", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "HaloRadius" - }, - { - "value": "32", - "type": "Number", - "label": "Halo opacity (hover)", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "HaloOpacityHover" - }, - { - "value": "64", - "type": "Number", - "label": "Halo opacity (pressed)", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "HaloOpacityClick" - }, - { - "value": "true", - "type": "Boolean", - "label": "Rounded track ends", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "RoundedTrack" - }, - { - "value": "true", - "type": "Boolean", - "label": "Enable interactions", - "description": "", - "group": "", - "extraInformation": [], - "hidden": false, - "name": "Enabled" - }, - { - "value": "", - "type": "Boolean", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "IsBeingDragged" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "Value" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "ThumbOffset" - }, - { - "value": "true", - "type": "Boolean", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "NeedRedraw" + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] }, { - "value": "", - "type": "Boolean", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "IsHovered" + "description": "Change the number of shots per reload.", + "fullName": "Set shots per reload", + "functionType": "Action", + "group": "Reload", + "name": "SetShotsPerReload", + "private": false, + "sentence": "Set the shots per reload of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsPerReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "Object.Behavior::PropertyShotsPerReload()" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyShotsPerReload()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Shots per reload", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] }, { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "MouseX" + "description": "Enable (or disable) automatic reloading.", + "fullName": "Enable (or disable) automatic reloading", + "functionType": "Action", + "group": "Reload", + "name": "SetAutomaticReload", + "private": false, + "sentence": "Enable automatic reloading on _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAutomaticReloading" + }, + "parameters": [ + "Object", + "Behavior", + "=" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Value\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAutomaticReloading" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "yes", + "description": "Enable automatic reloading", + "longDescription": "", + "name": "Value", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] }, { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "MouseY" + "description": "Change the linear rate of cooling.", + "fullName": "Set linear cooling rate", + "functionType": "Action", + "group": "Overheat", + "name": "SetLinearCoolingRate", + "private": false, + "sentence": "Set the linear cooling rate of _PARAM0_ to _PARAM2_ per second", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyLinearCoolingRate" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Heat cooling rate (per second)", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] }, { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "CurrentHaloRadius" + "description": "Change the exponential rate of cooling.", + "fullName": "Set exponential cooling rate", + "functionType": "Action", + "group": "Overheat", + "name": "SetExponentialCoolingRate", + "private": false, + "sentence": "Set the exponential cooling rate of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyExponentialCoolingRate" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Exponential cooling rate", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "[\"Exponential\",\"Linear\"]", + "type": "expression" + } + ], + "objectGroups": [] }, { - "value": "0.2", - "type": "Number", - "label": "", - "description": "", + "description": "Increase ammo quantity.", + "fullName": "Increase ammo", + "functionType": "Action", "group": "", - "extraInformation": [], - "hidden": true, - "name": "HaloGrowSpeed" + "name": "IncreaseAmmo", + "private": false, + "sentence": "Increase ammo of _PARAM0_ by _PARAM2_ shots", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "GetArgumentAsNumber(\"AmmoGained\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "If Max Ammo is set, do not exceed the value", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyMaxAmmo" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(Object.Behavior::MaxAmmo(),Object.Behavior::AmmoQuantity())" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::ReloadAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Ammo gained", + "longDescription": "", + "name": "AmmoGained", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] }, { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "TargetHaloRadius" - } - ] - } - ] - }, - { - "author": "@4ian", - "category": "", - "description": "Allow the object to fire bullets with customizable speed, angle and fire rate.\n\nCooldown: Time between shots (seconds)\nBullet Quantity: Number of bullets shot at once\nAngle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\nFiring Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\nRotate bullet: Change angle of bullet to match the direction it is travelling (enabled by default)\n", - "extensionNamespace": "", - "fullName": "Fire bullets", - "helpPath": "", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWJ1bGxldCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNCwyMkgxMFYyMUgxNFYyMk0xMywxMFY3SDExVjEwTDEwLDExLjVWMjBIMTRWMTEuNUwxMywxME0xMiwyQzEyLDIgMTEsMyAxMSw1VjZIMTNWNUMxMyw1IDEzLDMgMTIsMloiIC8+PC9zdmc+", - "name": "FireBullet", - "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/bullet.svg", - "shortDescription": "Allow the object to fire bullets with customizable speed, angle and fire rate.", - "version": "0.2.1", - "origin": { - "identifier": "FireBullet", - "name": "gdevelop-extension-store" - }, - "tags": [ - "fire", - "bullet", - "spawn", - "firerate" - ], - "authorIds": [ - "wWP8BSlAW0UP4NeaHa2LcmmDzmH2", - "xpwUwByyImTDcHEqDUqfyg0oRBt1", - "2OwwM8ToR9dx9RJ2sAKTcrLmCB92", - "gqDaZjCfevOOxBYkK6zlhtZnXCg1" - ], - "dependencies": [], - "eventsFunctions": [], - "eventsBasedBehaviors": [ - { - "description": "Allow the object to fire bullets, with customizable speed, angle and fire rate.", - "fullName": "Fire Bullet", - "name": "FireBullet", - "objectType": "", - "eventsFunctions": [ + "description": "Number of bullets to shoot at once (evenly spaced inside the Firing Arc).", + "fullName": "Bullet quantity", + "functionType": "Expression", + "group": "Multi-Fire", + "name": "BulletQuantity", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyBulletQuantity()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, { - "description": "Fire a bullet toward a position.", - "fullName": "Fire a bullet toward a position", - "functionType": "Action", - "group": "", - "name": "FireTowardPosition", + "description": "Angle variance, in degrees.", + "fullName": "Angle variance", + "functionType": "Expression", + "group": "Firing", + "name": "AngleVariance", "private": false, - "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_;_PARAM3_, toward position _PARAM5_;_PARAM6_ with speed _PARAM7_ px/s, rotate bullet: _PARAM8_", + "sentence": "", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Calculate the trajectory angle and use the \"Fire\" bullet action", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"RotateBullet\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::Fire" - }, - "parameters": [ - "Object", - "Behavior", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "Bullet", - "Object.AngleToPosition(GetArgumentAsNumber(\"TargetXPosition\"),GetArgumentAsNumber(\"TargetYPosition\"))", - "GetArgumentAsNumber(\"Speed\")", - "", - "" - ] - } - ] - }, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"RotateBullet\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::Fire" - }, - "parameters": [ - "Object", - "Behavior", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "Bullet", - "Object.AngleToPosition(GetArgumentAsNumber(\"TargetXPosition\"),GetArgumentAsNumber(\"TargetYPosition\"))", - "GetArgumentAsNumber(\"Speed\")", - "no", - "" - ] - } + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyAngleVariance()" ] } - ], - "parameters": [] + ] } ], "parameters": [ @@ -19803,312 +26386,318 @@ "optional": false, "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, + } + ], + "objectGroups": [] + }, + { + "description": "Firing arc, in degrees.", + "fullName": "Firing arc", + "functionType": "Expression", + "group": "Multi-Fire", + "name": "FiringArc", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyFiringArc()" + ] + } + ] + } + ], + "parameters": [ { "codeOnly": false, "defaultValue": "", - "description": "X position, where to create the bullet", + "description": "Object", "longDescription": "", - "name": "XPosition", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "Y position, where to create the bullet", + "description": "Behavior", "longDescription": "", - "name": "YPosition", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Heat level (Range: 0 to 1).", + "fullName": "Heat level", + "functionType": "Expression", + "group": "Overheat", + "name": "HeatLevel", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "min(1,Object.Behavior::PropertyHeatLevel())" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "The bullet object", + "description": "Behavior", "longDescription": "", - "name": "Bullet", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Firing cooldown, in seconds.", + "fullName": "Firing cooldown", + "functionType": "Expression", + "group": "Firing", + "name": "Cooldown", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyFireCooldown()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "objectList" + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "Target X position", + "description": "Behavior", "longDescription": "", - "name": "TargetXPosition", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Reload duration, in seconds.", + "fullName": "Reload duration", + "functionType": "Expression", + "group": "Ammo", + "name": "ReloadDuration", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyReloadDuration()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "Target Y position", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Overheat duration, in seconds.", + "fullName": "Overheat duration", + "functionType": "Expression", + "group": "Overheat", + "name": "OverheatDuration", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyOverheatDuration()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", "longDescription": "", - "name": "TargetYPosition", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "Speed of the bullet, in pixels per second", + "description": "Behavior", "longDescription": "", - "name": "Speed", + "name": "Behavior", "optional": false, - "supplementaryInformation": "", - "type": "expression" - }, - { - "codeOnly": false, - "defaultValue": "yes", - "description": "Rotate bullet to match trajectory", - "longDescription": "", - "name": "RotateBullet", - "optional": true, - "supplementaryInformation": "", - "type": "yesorno" + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" } ], "objectGroups": [] }, { - "description": "Fire a bullet.", - "fullName": "Fire a bullet", - "functionType": "Action", - "group": "", - "name": "Fire", + "description": "Heat increase per shot.", + "fullName": "Heat increase per shot", + "functionType": "Expression", + "group": "Overheat", + "name": "HeatIncreasePerShot", "private": false, - "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_;_PARAM3_, with angle _PARAM5_ and speed _PARAM6_ px/s", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectTimer" - }, - "parameters": [ - "Object", - "\"FireCooldown\"", - "Object.Behavior::PropertyFireCooldown()" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHasJustFired" + "value": "SetReturnNumber" }, "parameters": [ - "Object", - "Behavior", - "yes" + "Object.Behavior::PropertyHeatIncreasePerShot()" ] } - ], - "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": "Create" - }, - "parameters": [ - "", - "Bullet", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "\"\"" - ] - }, - { - "type": { - "value": "AddForceAL" - }, - "parameters": [ - "Bullet", - "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", - "GetArgumentAsNumber(\"Speed\")", - "1" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Bullet", - "=", - "GetArgumentAsNumber(\"Angle\")" - ] - } - ] - } - ] - } - ], - "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": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Angle\") - Object.Behavior::PropertyFiringArc()/2" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Repeat", - "repeatExpression": "Object.Behavior::PropertyBulletQuantity()", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Bullet", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "\"\"" - ] - }, - { - "type": { - "value": "AddForceAL" - }, - "parameters": [ - "Bullet", - "Object.Behavior::PropertyCurrentBulletAngle() + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", - "GetArgumentAsNumber(\"Speed\")", - "1" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Bullet", - "=", - "Object.Behavior::PropertyCurrentBulletAngle()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity() - 1)" - ] - } - ] - } - ] - } - ] - } - ], - "parameters": [] + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Linear cooling rate, per second.", + "fullName": "Linear cooling rate", + "functionType": "Expression", + "group": "Overheat", + "name": "LinearCoolingRate", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyLinearCoolingRate()" + ] } ] } @@ -20133,68 +26722,258 @@ "optional": false, "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, + } + ], + "objectGroups": [] + }, + { + "description": "Exponential cooling rate, per second.", + "fullName": "Exponential cooling rate", + "functionType": "Expression", + "group": "Overheat", + "name": "ExponentialCoolingRate", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyExponentialCoolingRate()" + ] + } + ] + } + ], + "parameters": [ { "codeOnly": false, "defaultValue": "", - "description": "X position, where to create the bullet", + "description": "Object", "longDescription": "", - "name": "XPosition", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "Y position, where to create the bullet", + "description": "Behavior", "longDescription": "", - "name": "YPosition", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Max ammo.", + "fullName": "Max ammo", + "functionType": "Expression", + "group": "Ammo", + "name": "MaxAmmo", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyMaxAmmo()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "The bullet object", + "description": "Behavior", "longDescription": "", - "name": "Bullet", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Total shots fired (multi-bullet shots are considered one shot).", + "fullName": "Shots fired", + "functionType": "Expression", + "group": "Stats", + "name": "TotalShotsFired", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTotalShotsFired()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "objectList" + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "Angle of the bullet, in degrees", + "description": "Behavior", "longDescription": "", - "name": "Angle", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Total bullets created.", + "fullName": "Bullets created", + "functionType": "Expression", + "group": "Stats", + "name": "TotalBulletsCreated", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTotalBulletsCreated()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "Speed of the bullet, in pixels per second", + "description": "Behavior", "longDescription": "", - "name": "Speed", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Reloads completed.", + "fullName": "Reloads completed", + "functionType": "Expression", + "group": "Stats", + "name": "TotalReloadsCompleted", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTotalReloadsCompleted()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" } ], "objectGroups": [] }, { - "description": "Check if the object has just fired something.", - "fullName": "Has just fired", - "functionType": "Condition", - "group": "", - "name": "HasJustFired", + "description": "Ammo quantity.", + "fullName": "Ammo quantity", + "functionType": "Expression", + "group": "Ammo", + "name": "AmmoQuantity", "private": false, - "sentence": "_PARAM0_ has just fired", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20202,34 +26981,58 @@ "actions": [ { "type": { - "value": "SetReturnBoolean" + "value": "SetReturnNumber" }, "parameters": [ - "False" + "Object.Behavior::PropertyAmmoQuantity()" ] } ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Shots remaining before the next reload is required.", + "fullName": "Shots before next reload", + "functionType": "Expression", + "group": "Reload", + "name": "ShotsBeforeNextReload", + "private": false, + "sentence": "", + "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyHasJustFired" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "SetReturnBoolean" + "value": "SetReturnNumber" }, "parameters": [ - "True" + "Object.Behavior::PropertyShotsBeforeNextReload()" ] } ] @@ -20260,34 +27063,24 @@ "objectGroups": [] }, { - "description": "Check if bullet rotates to match trajectory.", - "fullName": "Is bullet rotation enabled", - "functionType": "Condition", - "group": "", - "name": "BulletRotationEnabled", + "description": "Shots per reload.", + "fullName": "Shots per reload", + "functionType": "Expression", + "group": "Reload", + "name": "ShotsPerReload", "private": false, - "sentence": "Bullet rotation enabled on _PARAM0_", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "SetReturnBoolean" + "value": "SetReturnNumber" }, "parameters": [ - "True" + "Object.Behavior::PropertyShotsPerReload()" ] } ] @@ -20318,11 +27111,11 @@ "objectGroups": [] }, { - "description": "", - "fullName": "", - "functionType": "Action", - "group": "", - "name": "doStepPreEvents", + "description": "Seconds remaining before the cooldown will permit a bullet to be fired.", + "fullName": "Time remaining before a bullet may be fired", + "functionType": "Expression", + "group": "Firing", + "name": "CooldownTimeLeft", "private": false, "sentence": "", "events": [ @@ -20332,12 +27125,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHasJustFired" + "value": "SetReturnNumber" }, "parameters": [ - "Object", - "Behavior", - "=" + "max(0,Object.Behavior::Cooldown() - Object.ObjectTimerElapsedTime(\"__FireBullet.FiringCooldown\"))" ] } ] @@ -20368,25 +27159,36 @@ "objectGroups": [] }, { - "description": "", - "fullName": "", - "functionType": "Action", - "group": "", - "name": "onCreated", + "description": "Seconds remaining before the overheat penalty ends.", + "fullName": "Time remaining before overheat penalty ends", + "functionType": "Expression", + "group": "Overheat", + "name": "OverheatTimeLeft", "private": false, "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "ResetObjectTimer" + "value": "CompareObjectTimer" }, "parameters": [ "Object", - "\"FireCooldown\"" + "\"__FireBullet.OverheatDuration\"", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "max(0, Object.Behavior::PropertyOverheatDuration() - Object.ObjectTimerElapsedTime(\"__FireBullet.OverheatDuration\"))" ] } ] @@ -20417,20 +27219,34 @@ "objectGroups": [] }, { - "description": "", - "fullName": "", - "functionType": "Action", - "group": "", - "name": "doStepPostEvents", + "description": "Check if object is currently performing an ammo reload.", + "fullName": "Is ammo reloading in progress", + "functionType": "Condition", + "group": "Reload", + "name": "IsReloadInProgress", "private": false, - "sentence": "", + "sentence": "_PARAM0_ is reloading ammo", "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "False" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHasJustFired" + "value": "FireBullet::FireBullet::PropertyReloadInProgress" }, "parameters": [ "Object", @@ -20441,11 +27257,10 @@ "actions": [ { "type": { - "value": "ResetObjectTimer" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "\"FireCooldown\"" + "True" ] } ] @@ -20476,13 +27291,13 @@ "objectGroups": [] }, { - "description": "Change the firing arc (in degrees) where bullets will be shot. Bullets will be evenly spaced out inside the firing arc.", - "fullName": "Set firing arc", - "functionType": "Action", - "group": "", - "name": "SetFiringArc", + "description": "Check if object is ready to shoot.", + "fullName": "Is ready to shoot", + "functionType": "Condition", + "group": "Firing", + "name": "IsReadyToShoot", "private": false, - "sentence": "Set firing arc of _PARAM0_ to _PARAM2_ degrees", + "sentence": "_PARAM0_ is ready to shoot", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20490,16 +27305,171 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyFiringArc" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" + "False" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Check if ready to shoot", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Verify that the gun has ammo", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsOutOfAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Verify that the gun does not need to be reloaded and is not currently reloading", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Verify gun is not shooting sooner than the proper rate of fire", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsFiringCooldownActive" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Verify the gun is not overheated", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsOverheated" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ] + } + ] + } ] } - ] + ], + "parameters": [] } ], "parameters": [ @@ -20522,28 +27492,18 @@ "optional": false, "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Firing arc (degrees) Range: 0 to 360", - "longDescription": "", - "name": "Value", - "optional": false, - "supplementaryInformation": "", - "type": "expression" } ], "objectGroups": [] }, { - "description": "Change the angle variance (in degrees) applied to each bullet.", - "fullName": "Set angle variance", - "functionType": "Action", - "group": "", - "name": "SetAngleVariance", + "description": "Check if automatic reloading is enabled.", + "fullName": "Is automatic reloading enabled", + "functionType": "Condition", + "group": "Reload", + "name": "IsAutomaticReloadingEnabled", "private": false, - "sentence": "Set angle variance of _PARAM0_ to _PARAM2_ degrees", + "sentence": "Automatic reloading is enabled on_PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20551,74 +27511,34 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAngleVariance" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" + "False" ] } ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "FireBullet::FireBullet", - "type": "behavior" }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Angle variance (degrees) Range: 0 to 180", - "longDescription": "", - "name": "Value", - "optional": false, - "supplementaryInformation": "", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the number of bullets shot every time the \"fire bullet\" action is used.", - "fullName": "Set bullet quantity", - "functionType": "Action", - "group": "", - "name": "SetBulletQuantity", - "private": false, - "sentence": "Set bullet quantity of _PARAM0_ to _PARAM2_", - "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletQuantity" + "value": "FireBullet::FireBullet::PropertyAutomaticReloading" }, "parameters": [ "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" ] } ] @@ -20644,51 +27564,29 @@ "optional": false, "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Bullets", - "longDescription": "", - "name": "Value", - "optional": false, - "supplementaryInformation": "", - "type": "expression" } ], "objectGroups": [] }, { - "description": "Enable bullet rotation.", - "fullName": "Enable (or disable) bullet rotation", - "functionType": "Action", - "group": "", - "name": "SetRotateBullet", + "description": "Check if ammo is unlimited.", + "fullName": "Is ammo unlimited", + "functionType": "Condition", + "group": "Ammo", + "name": "IsUnlimitedAmmo", "private": false, - "sentence": "Enable bullet rotation on _PARAM0_: _PARAM2_", + "sentence": "_PARAM0_ has unlimited ammo", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"RotateBullet\"" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyRotateBullet" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Behavior", - "no" + "False" ] } ] @@ -20698,22 +27596,21 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" }, "parameters": [ - "\"RotateBullet\"" + "Object", + "Behavior" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyRotateBullet" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Behavior", - "yes" + "True" ] } ] @@ -20739,28 +27636,18 @@ "optional": false, "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "yes", - "description": "Rotate bullet to match trajetory", - "longDescription": "", - "name": "RotateBullet", - "optional": true, - "supplementaryInformation": "", - "type": "yesorno" } ], "objectGroups": [] }, { - "description": "Change the cooldown of the fire rate.", - "fullName": "Set cooldown", - "functionType": "Action", - "group": "", - "name": "SetCooldown", + "description": "Check if object has no ammo available.", + "fullName": "Is out of ammo", + "functionType": "Condition", + "group": "Ammo", + "name": "IsOutOfAmmo", "private": false, - "sentence": "Set the fire rate of _PARAM0_ to _PARAM2_ seconds", + "sentence": "_PARAM0_ is out of ammo", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20768,13 +27655,47 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyFireCooldown" + "value": "SetReturnBoolean" + }, + "parameters": [ + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::PropertyAmmoQuantity" }, "parameters": [ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"NewCooldown\")" + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" ] } ] @@ -20800,28 +27721,18 @@ "optional": false, "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Cooldown in seconds", - "longDescription": "", - "name": "NewCooldown", - "optional": false, - "supplementaryInformation": "", - "type": "expression" } ], "objectGroups": [] }, { - "description": "Number of bullets to shoot at once (evenly spaced inside the Firing Arc).", - "fullName": "Bullet quantity", - "functionType": "Expression", - "group": "", - "name": "BulletQuantity", + "description": "Check if object needs to reload ammo.", + "fullName": "Is a reload needed", + "functionType": "Condition", + "group": "Reload", + "name": "IsReloadNeeded", "private": false, - "sentence": "", + "sentence": "_PARAM0_ needs to reload ammo", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20829,58 +27740,60 @@ "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "Object.Behavior::PropertyBulletQuantity()" + "False" ] } ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "", - "type": "object" }, { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "FireBullet::FireBullet", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Angle variance in degrees.", - "fullName": "Angle variance", - "functionType": "Expression", - "group": "", - "name": "AngleVariance", - "private": false, - "sentence": "", - "events": [ + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Shots per reload must not be \"0\"", + "comment2": "" + }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyShotsPerReload" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::PropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "Object.Behavior::PropertyAngleVariance()" + "True" ] } ] @@ -20911,13 +27824,13 @@ "objectGroups": [] }, { - "description": "Firing arc in degrees.", - "fullName": "Firing arc", - "functionType": "Expression", - "group": "", - "name": "FiringArc", + "description": "Check if object is overheated.", + "fullName": "Is overheated", + "functionType": "Condition", + "group": "Overheat", + "name": "IsOverheated", "private": false, - "sentence": "", + "sentence": "_PARAM0_ is overheated", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20925,58 +27838,54 @@ "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "Object.Behavior::PropertyFiringArc()" + "False" ] } ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "", - "type": "object" }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "FireBullet::FireBullet", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Cooldown of the fire rate in seconds.", - "fullName": "Cooldown", - "functionType": "Expression", - "group": "", - "name": "Cooldown", - "private": false, - "sentence": "", - "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyHeatLevel" + }, + "parameters": [ + "Object", + "Behavior", + ">=", + "1" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::OverheatTimeLeft()", + ">", + "0" + ] + } + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "Object.Behavior::PropertyFireCooldown()" + "True" ] } ] @@ -21007,13 +27916,13 @@ "objectGroups": [] }, { - "description": "Seconds remaining before the cooldown will permit a bullet to be fired.", - "fullName": "Time remaining before a bullet may be fired", - "functionType": "Expression", - "group": "", - "name": "CooldownTimeLeft", + "description": "Check if firing cooldown is active.", + "fullName": "Is firing cooldown active", + "functionType": "Condition", + "group": "Firing", + "name": "IsFiringCooldownActive", "private": false, - "sentence": "", + "sentence": "Firing cooldown is active on _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -21021,10 +27930,35 @@ "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" + }, + "parameters": [ + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CooldownTimeLeft()", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" }, "parameters": [ - "max(0,Object.Behavior::Cooldown() - Object.ObjectTimerElapsedTime(\"FireCooldown\"))" + "True" ] } ] @@ -21059,9 +27993,9 @@ { "value": "0.1", "type": "Number", - "label": "Cooldown, in seconds, before firing again", - "description": "", - "group": "", + "label": "Firing cooldown (seconds)", + "description": "Object cannot shoot while firing cooldown is active", + "group": "Shooting configuration", "extraInformation": [], "hidden": false, "name": "FireCooldown" @@ -21076,59 +28010,223 @@ "hidden": true, "name": "HasJustFired" }, + { + "value": "45", + "type": "Number", + "label": "Firing arc (degrees)", + "description": "Multi-Fire bullets will be evenly spaced inside the Firing Arc", + "group": "Multi-Fire", + "extraInformation": [], + "hidden": false, + "name": "FiringArc" + }, + { + "value": "1", + "type": "Number", + "label": "Number of bullets created at once (Multi-Fire)", + "description": "Multi-Fire bullets will be evenly spaced inside the Firing Arc", + "group": "Multi-Fire", + "extraInformation": [], + "hidden": false, + "name": "BulletQuantity" + }, { "value": "0", "type": "Number", - "label": "Firing arc (bullets are spread evenly inside)", + "label": "Angle variance (degrees)", + "description": "Used to simulate imperfect aim (Range: 0 to 180 degrees)", + "group": "Shooting configuration", + "extraInformation": [], + "hidden": false, + "name": "AngleVariance" + }, + { + "value": "true", + "type": "Boolean", + "label": "Rotate bullet to match trajectory", "description": "", - "group": "", + "group": "Shooting configuration", "extraInformation": [], "hidden": false, - "name": "FiringArc" + "name": "RotateBullet" }, { "value": "0", "type": "Number", - "label": "Angle variance (to simulate imperfect aim) Range: 0 to 180 degrees", + "label": "Ammo quantity (current)", "description": "", "group": "", "extraInformation": [], + "hidden": true, + "name": "AmmoQuantity" + }, + { + "value": "0", + "type": "Number", + "label": "Shots per reload ", + "description": "Use 0 to disable reloading", + "group": "Reload", + "extraInformation": [], "hidden": false, - "name": "AngleVariance" + "name": "ShotsPerReload" }, { "value": "1", "type": "Number", - "label": "Number of bullets to shoot at once (evenly spaced inside the Firing Arc)", + "label": "Reloading duration (seconds)", + "description": "Object cannot shoot while reloading is in progress", + "group": "Reload", + "extraInformation": [], + "hidden": false, + "name": "ReloadDuration" + }, + { + "value": "0", + "type": "Number", + "label": "Max ammo ", + "description": "Use \"0\" to disable restrictions on ammo capacity", + "group": "Ammo", + "extraInformation": [], + "hidden": false, + "name": "MaxAmmo" + }, + { + "value": "0", + "type": "Number", + "label": "Shots before next reload", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ShotsBeforeNextReload" + }, + { + "value": "0", + "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" + }, + { + "value": "0", + "type": "Number", + "label": "Total bullets created", "description": "", "group": "", "extraInformation": [], + "hidden": true, + "name": "TotalBulletsCreated" + }, + { + "value": "0", + "type": "Number", + "label": "Starting ammo", + "description": "", + "group": "Ammo", + "extraInformation": [], "hidden": false, - "name": "BulletQuantity" + "name": "StartingAmmo" + }, + { + "value": "0", + "type": "Number", + "label": "Total reloads completed", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "TotalReloadsCompleted" }, { "value": "true", "type": "Boolean", - "label": "Rotate bullet to match trajectory", + "label": "Unlimited ammo", + "description": "", + "group": "Ammo", + "extraInformation": [], + "hidden": false, + "name": "UnlimitedAmmo" + }, + { + "value": "", + "type": "Boolean", + "label": "", "description": "", "group": "", "extraInformation": [], + "hidden": true, + "name": "ReloadInProgress" + }, + { + "value": "0", + "type": "Number", + "label": "Heat increase per shot (Range: 0 to 1)", + "description": " Object is overheated when Heat reaches 1", + "group": "Overheat", + "extraInformation": [], "hidden": false, - "name": "RotateBullet" + "name": "HeatIncreasePerShot" }, { "value": "0", "type": "Number", - "label": "Current bullet angle (used for multishot)", + "label": "Heat level (Range: 0 to 1)", "description": "", "group": "", "extraInformation": [], "hidden": true, - "name": "CurrentBulletAngle" + "name": "HeatLevel" + }, + { + "value": "true", + "type": "Boolean", + "label": "Reload automatically", + "description": "", + "group": "Reload", + "extraInformation": [], + "hidden": false, + "name": "AutomaticReloading" + }, + { + "value": "0", + "type": "Number", + "label": "Overheat duration (seconds) ", + "description": "Object cannot shoot while overheat duration is active", + "group": "Overheat", + "extraInformation": [], + "hidden": false, + "name": "OverheatDuration" + }, + { + "value": "0.1", + "type": "Number", + "label": "Linear cooling rate (per second)", + "description": "", + "group": "Overheat", + "extraInformation": [], + "hidden": false, + "name": "LinearCoolingRate" + }, + { + "value": "0.3", + "type": "Number", + "label": "Exponential cooling rate (per second)", + "description": "Exponential cooling happens faster when heat is high and slower when heat is low", + "group": "Overheat", + "extraInformation": [ + "Linear", + "Exponential" + ], + "hidden": false, + "name": "ExponentialCoolingRate" } ] } - ] + ], + "eventsBasedObjects": [] }, { "author": "Tristan Rhodes (tristan@victrisgames.com)", @@ -21401,7 +28499,8 @@ "objectGroups": [] } ], - "eventsBasedBehaviors": [] + "eventsBasedBehaviors": [], + "eventsBasedObjects": [] }, { "author": "@4ian", @@ -22035,7 +29134,8 @@ } ] } - ] + ], + "eventsBasedObjects": [] }, { "author": "@4ian", @@ -22603,7 +29703,8 @@ } ] } - ] + ], + "eventsBasedObjects": [] }, { "author": "Tristan Rhodes (https://victrisgames.itch.io/)", @@ -27218,7 +34319,8 @@ ], "propertyDescriptors": [] } - ] + ], + "eventsBasedObjects": [] }, { "author": "westboy31, Tristan Rhodes (https://victrisgames.itch.io/)", @@ -29641,7 +36743,8 @@ "objectGroups": [] } ], - "eventsBasedBehaviors": [] + "eventsBasedBehaviors": [], + "eventsBasedObjects": [] } ], "externalLayouts": [],