14 Commits

Author SHA1 Message Date
John Cooper McDonald
b5206d4e2d Fix Thwomp not awarding any points (#653) 2025-10-22 21:12:34 +01:00
JHDev2006
aa5c50accb Merge branch 'main' of https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public 2025-10-22 21:10:23 +01:00
JHDev2006
a30e359f4e removed window size saving, not too happy with how it was implemented, and think it would be better off saving it for later, so i can get it right 2025-10-22 21:10:22 +01:00
John Cooper McDonald
f228ea51f6 Match SMM2 points with Flagpole Lives on (#627)
* Match SMM2 points with Flagpole Lives on

* Update EndFlagpole.gd

* Update EndFlagpole.gd
2025-10-22 21:08:14 +01:00
SkyanUltra
bc73dc899b Implement WaterCrouchMove and WingCrouchMove (and fix an incorrect default value on small crouch height) (#643)
* Add WaterCrouchMove and WingCrouchMove states

* Implement WaterCrouchMove and WingCrouchMove

* Quick patch for incorrect crouch height

im adding this to this branch for this since its literally just a number change lol
2025-10-22 19:51:52 +01:00
John Cooper McDonald
1e2d4d9404 Fix Extra Checkpoint option not doing anything + other checkpoint fixes (#649)
* Fix Extra Checkpoint option not doing anything + other checkpoint fixes

* Remove redundancy
2025-10-22 19:51:22 +01:00
JHDev2006
b54c4b5913 fixed a bug where the invincibility palette would stop after collecting a starman at the last second 2025-10-22 17:24:41 +01:00
Ramona
f9017881e1 Fix Underground BG not animating (#644)
* Flip death gravity when upside down

* Improvements to code per Joe's request

* Recenter resized window on launch

* Fix Underground BG not animating
2025-10-22 17:09:08 +01:00
John Cooper McDonald
d372ff4840 Fix Bowser not disabling flame generators (#648) 2025-10-22 16:44:56 +01:00
SkyanUltra
f04b20e5b8 BowserBro palettes and slight Bowser file clean-up (#636)
* Different world palettes for BowserBro, and slight optimization to Bowser.

BowserBro still will not use Bowser's green palette in any of the areas where the game would genuinely use the green palette, but he will follow the rules of other non-green palette areas so he has more consistency in those areas.

* BowserBro palette and sprite now correctly set.

* Fix Bowser.png
2025-10-20 21:56:34 +01:00
John Cooper McDonald
fbe86af2cd Make the rest of the credits images pack replacable (#640)
* Make the rest of the credits images pack replacable

* Update Credits.tscn
2025-10-20 21:01:25 +01:00
John Cooper McDonald
6a373125b1 Fix challenge transition text shadow + show high score (#641) 2025-10-20 20:57:50 +01:00
KirbyKidJ
50da5f62f3 Some Fake Bowser Fixes (#635)
This PR fixes the issues mentioned in #557   with Fake and Real Bowsers. Also for fun, I got the Bowser fall SFX to work when you kill a REAL Bowser or Bowser Bro by moving it outside of Bowser before they were freed from the scene.
2025-10-20 09:43:34 +01:00
SkyanUltra
b87d6e6a7c Fix for broken crouch size in marathon/boo races. (#632)
Previously, if you entered a boo race your hitbox scale changes would never be applied, meaning your crouch size would be unchanged from your standing stance. This fixes that, and adds a single parameter to apply character physics.
2025-10-20 09:41:45 +01:00
25 changed files with 232 additions and 72 deletions

View File

@@ -67,7 +67,7 @@
"Underground": { "Underground": {
"SMB1": { "SMB1": {
"source": "Underground.png", "source": "Underground.png",
"animations": { "animation_overrides": {
"default": { "default": {
"frames": [ "frames": [
[ [
@@ -90,7 +90,7 @@
}, },
"SMBLL": { "SMBLL": {
"source": "UndergroundLL.png", "source": "UndergroundLL.png",
"animations": { "animation_overrides": {
"default": { "default": {
"frames": [ "frames": [
[ [

View File

@@ -74,15 +74,6 @@
} }
}, },
"variations": { "variations": {
"Overworld": {
"source": "Bowser.png",
"rect": [
0.0,
0.0,
96.0,
96.0
]
},
"default": { "default": {
"source": "Bowser.png", "source": "Bowser.png",
"rect": [ "rect": [
@@ -93,4 +84,4 @@
] ]
} }
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 806 B

After

Width:  |  Height:  |  Size: 697 B

View File

@@ -74,15 +74,6 @@
} }
}, },
"variations": { "variations": {
"Overworld": {
"source": "BowsersBro.png",
"rect": [
0.0,
0.0,
96.0,
96.0
]
},
"default": { "default": {
"source": "BowsersBro.png", "source": "BowsersBro.png",
"rect": [ "rect": [
@@ -91,6 +82,54 @@
96.0, 96.0,
96.0 96.0
] ]
},
"Underwater": {
"source": "BowsersBro.png",
"rect": [
96.0,
0.0,
96.0,
96.0
]
},
"CastleWater": {
"link": "Underwater"
},
"Snow": {
"source": "BowsersBro.png",
"rect": [
192.0,
0.0,
96.0,
96.0
]
},
"Space": {
"source": "BowsersBro.png",
"rect": [
0.0,
96.0,
96.0,
96.0
]
},
"Volcano": {
"source": "BowsersBro.png",
"rect": [
96.0,
96.0,
96.0,
96.0
]
},
"Bonus": {
"source": "BowsersBro.png",
"rect": [
192.0,
96.0,
96.0,
96.0
]
} }
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 825 B

After

Width:  |  Height:  |  Size: 2.3 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -382,6 +382,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s34bh") texture = SubResource("AtlasTexture_s34bh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/TileArtists/Label"] [node name="Label3" type="Label" parent="Labels/TileArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -401,6 +403,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_ouss1") texture = SubResource("AtlasTexture_ouss1")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label4" type="Label" parent="Labels/TileArtists/Label"] [node name="Label4" type="Label" parent="Labels/TileArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -420,6 +424,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_yji2n") texture = SubResource("AtlasTexture_yji2n")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label5" type="Label" parent="Labels/TileArtists/Label"] [node name="Label5" type="Label" parent="Labels/TileArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -439,6 +445,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_4ssyu") texture = SubResource("AtlasTexture_4ssyu")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label6" type="Label" parent="Labels/TileArtists/Label"] [node name="Label6" type="Label" parent="Labels/TileArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -458,6 +466,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_8pyc7") texture = SubResource("AtlasTexture_8pyc7")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect" type="TextureRect" parent="Labels/TileArtists"] [node name="TextureRect" type="TextureRect" parent="Labels/TileArtists"]
layout_mode = 0 layout_mode = 0
@@ -466,6 +476,8 @@ offset_top = 120.0
offset_right = 248.0 offset_right = 248.0
offset_bottom = 232.0 offset_bottom = 232.0
texture = ExtResource("4_j3afk") texture = ExtResource("4_j3afk")
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="BGArtists" type="Control" parent="Labels"] [node name="BGArtists" type="Control" parent="Labels"]
visible = false visible = false
@@ -516,6 +528,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s34bh") texture = SubResource("AtlasTexture_s34bh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/BGArtists/Label"] [node name="Label3" type="Label" parent="Labels/BGArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -535,6 +549,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_6kpe2") texture = SubResource("AtlasTexture_6kpe2")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label4" type="Label" parent="Labels/BGArtists/Label"] [node name="Label4" type="Label" parent="Labels/BGArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -554,6 +570,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_3s1o5") texture = SubResource("AtlasTexture_3s1o5")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label6" type="Label" parent="Labels/BGArtists/Label"] [node name="Label6" type="Label" parent="Labels/BGArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -573,6 +591,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_x745s") texture = SubResource("AtlasTexture_x745s")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label5" type="Label" parent="Labels/BGArtists/Label"] [node name="Label5" type="Label" parent="Labels/BGArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -592,6 +612,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_g2gtw") texture = SubResource("AtlasTexture_g2gtw")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect" type="TextureRect" parent="Labels/BGArtists"] [node name="TextureRect" type="TextureRect" parent="Labels/BGArtists"]
layout_mode = 0 layout_mode = 0
@@ -600,6 +622,8 @@ offset_top = 112.0
offset_right = 144.0 offset_right = 144.0
offset_bottom = 224.0 offset_bottom = 224.0
texture = ExtResource("6_s34bh") texture = ExtResource("6_s34bh")
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="EnemyArtists" type="Control" parent="Labels"] [node name="EnemyArtists" type="Control" parent="Labels"]
visible = false visible = false
@@ -650,6 +674,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s34bh") texture = SubResource("AtlasTexture_s34bh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/EnemyArtists/Label"] [node name="Label3" type="Label" parent="Labels/EnemyArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -669,6 +695,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_g2gtw") texture = SubResource("AtlasTexture_g2gtw")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label4" type="Label" parent="Labels/EnemyArtists/Label"] [node name="Label4" type="Label" parent="Labels/EnemyArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -688,6 +716,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_885hu") texture = SubResource("AtlasTexture_885hu")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label5" type="Label" parent="Labels/EnemyArtists/Label"] [node name="Label5" type="Label" parent="Labels/EnemyArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -707,6 +737,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_j5uy1") texture = SubResource("AtlasTexture_j5uy1")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label6" type="Label" parent="Labels/EnemyArtists/Label"] [node name="Label6" type="Label" parent="Labels/EnemyArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -726,6 +758,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_oqk7k") texture = SubResource("AtlasTexture_oqk7k")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label7" type="Label" parent="Labels/EnemyArtists/Label"] [node name="Label7" type="Label" parent="Labels/EnemyArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -745,6 +779,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_ud3pl") texture = SubResource("AtlasTexture_ud3pl")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect" type="TextureRect" parent="Labels/EnemyArtists"] [node name="TextureRect" type="TextureRect" parent="Labels/EnemyArtists"]
layout_mode = 0 layout_mode = 0
@@ -753,6 +789,8 @@ offset_top = 120.0
offset_right = 248.0 offset_right = 248.0
offset_bottom = 232.0 offset_bottom = 232.0
texture = ExtResource("7_k6bv2") texture = ExtResource("7_k6bv2")
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label10" type="Label" parent="Labels/EnemyArtists"] [node name="Label10" type="Label" parent="Labels/EnemyArtists"]
layout_mode = 0 layout_mode = 0
@@ -773,6 +811,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_isghj") texture = SubResource("AtlasTexture_isghj")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="LevelDesign" type="Control" parent="Labels"] [node name="LevelDesign" type="Control" parent="Labels"]
visible = false visible = false
@@ -823,6 +863,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s34bh") texture = SubResource("AtlasTexture_s34bh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label4" type="Label" parent="Labels/LevelDesign/Label"] [node name="Label4" type="Label" parent="Labels/LevelDesign/Label"]
layout_mode = 0 layout_mode = 0
@@ -842,6 +884,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_oe1k8") texture = SubResource("AtlasTexture_oe1k8")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label5" type="Label" parent="Labels/LevelDesign/Label/Label4"] [node name="Label5" type="Label" parent="Labels/LevelDesign/Label/Label4"]
layout_mode = 0 layout_mode = 0
@@ -861,6 +905,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_sqdyg") texture = SubResource("AtlasTexture_sqdyg")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label5" type="Label" parent="Labels/LevelDesign/Label"] [node name="Label5" type="Label" parent="Labels/LevelDesign/Label"]
layout_mode = 0 layout_mode = 0
@@ -880,6 +926,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_4ssyu") texture = SubResource("AtlasTexture_4ssyu")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label7" type="Label" parent="Labels/LevelDesign/Label"] [node name="Label7" type="Label" parent="Labels/LevelDesign/Label"]
layout_mode = 0 layout_mode = 0
@@ -899,6 +947,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_0ixvh") texture = SubResource("AtlasTexture_0ixvh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect2" type="TextureRect" parent="Labels/LevelDesign/Label/Label7/TextureRect"] [node name="TextureRect2" type="TextureRect" parent="Labels/LevelDesign/Label/Label7/TextureRect"]
layout_mode = 1 layout_mode = 1
@@ -910,6 +960,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_txoml") texture = SubResource("AtlasTexture_txoml")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/LevelDesign/Label"] [node name="Label3" type="Label" parent="Labels/LevelDesign/Label"]
layout_mode = 0 layout_mode = 0
@@ -929,6 +981,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_g2gtw") texture = SubResource("AtlasTexture_g2gtw")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label2" type="Label" parent="Labels/LevelDesign"] [node name="Label2" type="Label" parent="Labels/LevelDesign"]
layout_mode = 0 layout_mode = 0
@@ -969,6 +1023,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s34bh") texture = SubResource("AtlasTexture_s34bh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label2" type="Label" parent="Labels/LevelDesign/Label2"] [node name="Label2" type="Label" parent="Labels/LevelDesign/Label2"]
layout_mode = 0 layout_mode = 0
@@ -988,6 +1044,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_shsp7") texture = SubResource("AtlasTexture_shsp7")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/LevelDesign"] [node name="Label3" type="Label" parent="Labels/LevelDesign"]
layout_mode = 0 layout_mode = 0
@@ -1027,6 +1085,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_i063v") texture = SubResource("AtlasTexture_i063v")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect" type="TextureRect" parent="Labels/LevelDesign"] [node name="TextureRect" type="TextureRect" parent="Labels/LevelDesign"]
layout_mode = 0 layout_mode = 0
@@ -1035,6 +1095,8 @@ offset_top = 120.0
offset_right = 248.0 offset_right = 248.0
offset_bottom = 232.0 offset_bottom = 232.0
texture = ExtResource("8_3648a") texture = ExtResource("8_3648a")
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Sound" type="Control" parent="Labels"] [node name="Sound" type="Control" parent="Labels"]
layout_mode = 3 layout_mode = 3
@@ -1084,6 +1146,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s34bh") texture = SubResource("AtlasTexture_s34bh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/Sound/Label"] [node name="Label3" type="Label" parent="Labels/Sound/Label"]
layout_mode = 0 layout_mode = 0
@@ -1103,6 +1167,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_23b0w") texture = SubResource("AtlasTexture_23b0w")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label4" type="Label" parent="Labels/Sound/Label"] [node name="Label4" type="Label" parent="Labels/Sound/Label"]
layout_mode = 0 layout_mode = 0
@@ -1122,6 +1188,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_yeh4c") texture = SubResource("AtlasTexture_yeh4c")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label6" type="Label" parent="Labels/Sound/Label"] [node name="Label6" type="Label" parent="Labels/Sound/Label"]
layout_mode = 0 layout_mode = 0
@@ -1141,6 +1209,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_mjy6w") texture = SubResource("AtlasTexture_mjy6w")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label2" type="Label" parent="Labels/Sound"] [node name="Label2" type="Label" parent="Labels/Sound"]
layout_mode = 0 layout_mode = 0
@@ -1180,6 +1250,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_irr87") texture = SubResource("AtlasTexture_irr87")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label6" type="Label" parent="Labels/Sound/Label2"] [node name="Label6" type="Label" parent="Labels/Sound/Label2"]
layout_mode = 0 layout_mode = 0
@@ -1199,6 +1271,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_mjy6w") texture = SubResource("AtlasTexture_mjy6w")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label7" type="Label" parent="Labels/Sound/Label2"] [node name="Label7" type="Label" parent="Labels/Sound/Label2"]
layout_mode = 0 layout_mode = 0
@@ -1218,6 +1292,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_3diwr") texture = SubResource("AtlasTexture_3diwr")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label8" type="Label" parent="Labels/Sound/Label2"] [node name="Label8" type="Label" parent="Labels/Sound/Label2"]
layout_mode = 0 layout_mode = 0
@@ -1237,6 +1313,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_ttapi") texture = SubResource("AtlasTexture_ttapi")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect" type="TextureRect" parent="Labels/Sound"] [node name="TextureRect" type="TextureRect" parent="Labels/Sound"]
layout_mode = 0 layout_mode = 0
@@ -1372,6 +1450,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_4e2pw") texture = SubResource("AtlasTexture_4e2pw")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/Localizers/Label"] [node name="Label3" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1404,6 +1484,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_17gvw") texture = SubResource("AtlasTexture_17gvw")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label4" type="Label" parent="Labels/Localizers/Label"] [node name="Label4" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1436,6 +1518,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_suvme") texture = SubResource("AtlasTexture_suvme")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label5" type="Label" parent="Labels/Localizers/Label"] [node name="Label5" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1468,6 +1552,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_d4vu4") texture = SubResource("AtlasTexture_d4vu4")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label6" type="Label" parent="Labels/Localizers/Label"] [node name="Label6" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1500,6 +1586,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_ekvxv") texture = SubResource("AtlasTexture_ekvxv")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label7" type="Label" parent="Labels/Localizers/Label"] [node name="Label7" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1532,6 +1620,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_txoml") texture = SubResource("AtlasTexture_txoml")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label8" type="Label" parent="Labels/Localizers/Label"] [node name="Label8" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1564,6 +1654,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_txoml") texture = SubResource("AtlasTexture_txoml")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label9" type="Label" parent="Labels/Localizers/Label"] [node name="Label9" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1596,6 +1688,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_d2mcn") texture = SubResource("AtlasTexture_d2mcn")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label10" type="Label" parent="Labels/Localizers/Label"] [node name="Label10" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1628,6 +1722,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_igtl7") texture = SubResource("AtlasTexture_igtl7")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label11" type="Label" parent="Labels/Localizers/Label"] [node name="Label11" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1660,6 +1756,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_wjira") texture = SubResource("AtlasTexture_wjira")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label12" type="Label" parent="Labels/Localizers/Label"] [node name="Label12" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1692,6 +1790,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s2n2q") texture = SubResource("AtlasTexture_s2n2q")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label13" type="Label" parent="Labels/Localizers/Label"] [node name="Label13" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1724,6 +1824,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_bdyah") texture = SubResource("AtlasTexture_bdyah")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect" type="TextureRect" parent="Labels/Localizers"] [node name="TextureRect" type="TextureRect" parent="Labels/Localizers"]
layout_mode = 0 layout_mode = 0

View File

@@ -132,6 +132,7 @@ offset_left = -44.0
offset_top = -11.0 offset_top = -11.0
offset_right = 156.0 offset_right = 156.0
offset_bottom = 5.0 offset_bottom = 5.0
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
text = "CHALLENGE_DIALOGUE_SCORE" text = "CHALLENGE_DIALOGUE_SCORE"
uppercase = true uppercase = true
@@ -143,8 +144,10 @@ offset_left = -8.0
offset_top = -11.0 offset_top = -11.0
offset_right = 56.0 offset_right = 56.0
offset_bottom = 12.0 offset_bottom = 12.0
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
text = "0" text = "0"
horizontal_alignment = 2 horizontal_alignment = 2
uppercase = true
[node name="Target" type="Label" parent="BG/Control/ChallengeScoreText"] [node name="Target" type="Label" parent="BG/Control/ChallengeScoreText"]
layout_mode = 1 layout_mode = 1
@@ -155,8 +158,10 @@ offset_left = -8.0
offset_right = 8.0 offset_right = 8.0
offset_bottom = 23.0 offset_bottom = 23.0
theme_override_colors/font_color = Color(0.462745, 0.52549, 1, 1) theme_override_colors/font_color = Color(0.462745, 0.52549, 1, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
text = "/00000" text = "/00000"
horizontal_alignment = 2 horizontal_alignment = 2
uppercase = true
[node name="ChallengeCoins2" type="Label" parent="BG/Control"] [node name="ChallengeCoins2" type="Label" parent="BG/Control"]
unique_name_in_owner = true unique_name_in_owner = true
@@ -166,6 +171,7 @@ offset_left = -44.0
offset_top = -27.0 offset_top = -27.0
offset_right = 156.0 offset_right = 156.0
offset_bottom = -11.0 offset_bottom = -11.0
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
text = "CHALLENGE_DIALOGUE_COINS" text = "CHALLENGE_DIALOGUE_COINS"
uppercase = true uppercase = true
@@ -230,7 +236,7 @@ metadata/_custom_type_script = "uid://co6tjg3w6qpd8"
[node name="TextShadowColourChanger" type="Node" parent="." node_paths=PackedStringArray("labels")] [node name="TextShadowColourChanger" type="Node" parent="." node_paths=PackedStringArray("labels")]
script = ExtResource("10_abjth") script = ExtResource("10_abjth")
labels = [NodePath("../BG/Control/World"), NodePath("../BG/Control/LivesCount"), NodePath("../BG/Control/MarathonPB"), NodePath("../BG/Control/WorldNum"), NodePath("../BG/Control/CustomLevelName"), NodePath("../BG/Control/CustomLevelAuthor")] labels = [NodePath("../BG/Control/World"), NodePath("../BG/Control/LivesCount"), NodePath("../BG/Control/MarathonPB"), NodePath("../BG/Control/WorldNum"), NodePath("../BG/Control/CustomLevelName"), NodePath("../BG/Control/CustomLevelAuthor"), NodePath("../BG/Control/ChallengeScore"), NodePath("../BG/Control/ChallengeScoreText"), NodePath("../BG/Control/ChallengeScoreText/Target"), NodePath("../BG/Control/ChallengeCoins2")]
metadata/_custom_type_script = "uid://dt2p68xl462v2" metadata/_custom_type_script = "uid://dt2p68xl462v2"
[connection signal="timeout" from="Timer" to="." method="transition"] [connection signal="timeout" from="Timer" to="." method="transition"]

View File

@@ -253,13 +253,8 @@ position = Vector2(2624, -32)
pipe_id = 3 pipe_id = 3
exit_only = true exit_only = true
[node name="Checkpoint2" parent="." instance=ExtResource("10_q2h2g")]
position = Vector2(1296, 0)
optional = true
[node name="CheckpointFlag" parent="." instance=ExtResource("24_v8ufo")] [node name="CheckpointFlag" parent="." instance=ExtResource("24_v8ufo")]
position = Vector2(1296, 0) position = Vector2(1296, 0)
optional = true
[connection signal="block_destroyed" from="Tiles/BrickBlock" to="Tiles/BrickBlock/LevelPersistance" method="set_as_active_2"] [connection signal="block_destroyed" from="Tiles/BrickBlock" to="Tiles/BrickBlock/LevelPersistance" method="set_as_active_2"]
[connection signal="block_emptied" from="Tiles/BrickBlock" to="Tiles/BrickBlock/LevelPersistance" method="set_as_active"] [connection signal="block_emptied" from="Tiles/BrickBlock" to="Tiles/BrickBlock/LevelPersistance" method="set_as_active"]

View File

@@ -204,6 +204,7 @@ position = Vector2(2200, -136)
[node name="CheckpointFlag" parent="." node_paths=PackedStringArray("nodes_to_delete") instance=ExtResource("22_686wu")] [node name="CheckpointFlag" parent="." node_paths=PackedStringArray("nodes_to_delete") instance=ExtResource("22_686wu")]
position = Vector2(1328, 0) position = Vector2(1328, 0)
nodes_to_delete = [NodePath("../Enemies/Blooper6")] nodes_to_delete = [NodePath("../Enemies/Blooper6")]
optional = true
[node name="EntityGenerator" parent="." instance=ExtResource("22_lnx6r")] [node name="EntityGenerator" parent="." instance=ExtResource("22_lnx6r")]
position = Vector2(-72, -176) position = Vector2(-72, -176)

View File

@@ -236,6 +236,7 @@ position = Vector2(3432, -120)
[node name="CheckpointFlag" parent="." instance=ExtResource("24_osugw")] [node name="CheckpointFlag" parent="." instance=ExtResource("24_osugw")]
position = Vector2(2056, -64) position = Vector2(2056, -64)
optional = true
[node name="BrickBlock" parent="." instance=ExtResource("21_u54v8")] [node name="BrickBlock" parent="." instance=ExtResource("21_u54v8")]
position = Vector2(2040, -120) position = Vector2(2040, -120)

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=41 format=3 uid="uid://duptcik2j0b04"] [gd_scene load_steps=40 format=3 uid="uid://duptcik2j0b04"]
[ext_resource type="Texture2D" uid="uid://d3sxabber73q6" path="res://Assets/Sprites/Enemies/Bowser.png" id="1_8mi7o"] [ext_resource type="Texture2D" uid="uid://d3sxabber73q6" path="res://Assets/Sprites/Enemies/Bowser.png" id="1_8mi7o"]
[ext_resource type="Script" uid="uid://wtypg4d0l6j2" path="res://Scripts/Classes/Entities/Enemies/Bowser.gd" id="1_ma5fd"] [ext_resource type="Script" uid="uid://wtypg4d0l6j2" path="res://Scripts/Classes/Entities/Enemies/Bowser.gd" id="1_ma5fd"]
@@ -11,7 +11,6 @@
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Bowser.json" id="6_nf6hu"] [ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Bowser.json" id="6_nf6hu"]
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="6_pvhfi"] [ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="6_pvhfi"]
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_va0n6"] [ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_va0n6"]
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Goomba.json" id="9_exf4b"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="11_pvhfi"] [ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="11_pvhfi"]
[ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="14_nf6hu"] [ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="14_nf6hu"]
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="15_nf6hu"] [ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="15_nf6hu"]
@@ -300,7 +299,7 @@ metadata/_custom_type_script = "uid://caq1qiwmy0mox"
script = ExtResource("5_17x2r") script = ExtResource("5_17x2r")
node_to_affect = NodePath("..") node_to_affect = NodePath("..")
property_name = "sprite_frames" property_name = "sprite_frames"
resource_json = ExtResource("9_exf4b") resource_json = ExtResource("6_nf6hu")
use_cache = false use_cache = false
metadata/_custom_type_script = "uid://cbal8ms2oe1ik" metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
@@ -344,6 +343,7 @@ metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")] [node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
script = ExtResource("6_va0n6") script = ExtResource("6_va0n6")
visuals = NodePath("../SpriteScaleJoint/DeathSprite") visuals = NodePath("../SpriteScaleJoint/DeathSprite")
gib_type = 1
metadata/_custom_type_script = "uid://c3gg32ivrlq8n" metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
[node name="ScoreNoteSpawner" type="Node" parent="."] [node name="ScoreNoteSpawner" type="Node" parent="."]
@@ -403,13 +403,14 @@ hitbox = NodePath("../SpriteScaleJoint/Sprite/Hitbox")
metadata/_custom_type_script = "uid://ba18grqjixded" metadata/_custom_type_script = "uid://ba18grqjixded"
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"] [connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
[connection signal="killed" from="." to="." method="show_smoke" unbinds=1]
[connection signal="killed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [5000]] [connection signal="killed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [5000]]
[connection signal="killed" from="." to="." method="show_smoke" unbinds=1]
[connection signal="area_entered" from="SpriteScaleJoint/Sprite/Hitbox" to="." method="on_area_entered"] [connection signal="area_entered" from="SpriteScaleJoint/Sprite/Hitbox" to="." method="on_area_entered"]
[connection signal="timeout" from="JumpTimer" to="." method="jump"] [connection signal="timeout" from="JumpTimer" to="." method="jump"]
[connection signal="timeout" from="HammerTime" to="." method="throw_hammers"] [connection signal="timeout" from="HammerTime" to="." method="throw_hammers"]
[connection signal="timeout" from="FlameTimer" to="." method="breathe_fire"] [connection signal="timeout" from="FlameTimer" to="." method="breathe_fire"]
[connection signal="fireball_hit" from="FireballDetection" to="." method="fireball_hit" unbinds=1] [connection signal="fireball_hit" from="FireballDetection" to="." method="fireball_hit" unbinds=1]
[connection signal="gib_about_to_spawn" from="GibSpawner" to="." method="on_gib_about_to_spawn"]
[connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="play_music" flags=6] [connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="play_music" flags=6]
[connection signal="attached" from="TrackJoint" to="MoveAnimation" method="play" binds= ["RESET"]] [connection signal="attached" from="TrackJoint" to="MoveAnimation" method="play" binds= ["RESET"]]
[connection signal="moving_shell_entered" from="ShellDetection" to="ShellDetection" method="destroy_shell"] [connection signal="moving_shell_entered" from="ShellDetection" to="ShellDetection" method="destroy_shell"]

View File

@@ -11,3 +11,6 @@ resource_json = ExtResource("2_qcxx5")
[node name="ResourceSetterNew" parent="SpriteScaleJoint/DeathSprite" index="0"] [node name="ResourceSetterNew" parent="SpriteScaleJoint/DeathSprite" index="0"]
resource_json = ExtResource("2_qcxx5") resource_json = ExtResource("2_qcxx5")
[node name="GibSpawner" parent="." index="8" node_paths=PackedStringArray("visuals")]
visuals = NodePath("../SpriteScaleJoint/DeathSprite")

View File

@@ -141,11 +141,14 @@ metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[node name="ScoreNoteSpawner" type="Node" parent="."] [node name="ScoreNoteSpawner" type="Node" parent="."]
script = ExtResource("11_jkv5r") script = ExtResource("11_jkv5r")
add_score = true
metadata/_custom_type_script = "uid://5octqlf4ohel" metadata/_custom_type_script = "uid://5octqlf4ohel"
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"] [connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] [connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"]
[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"]
[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="die_from_object"] [connection signal="block_bounced" from="BlockBouncingDetection" to="." method="die_from_object"]

View File

@@ -5,7 +5,7 @@
[node name="TrueBowser" instance=ExtResource("1_xtf8a")] [node name="TrueBowser" instance=ExtResource("1_xtf8a")]
can_hammer = true can_hammer = true
metadata/is_real = true is_real = true
[node name="ResourceSetterNew" parent="SpriteScaleJoint/DeathSprite" index="0"] [node name="ResourceSetterNew" parent="SpriteScaleJoint/DeathSprite" index="0"]
resource_json = ExtResource("4_ryqkh") resource_json = ExtResource("4_ryqkh")

View File

@@ -43,6 +43,7 @@ region_rect = Rect2(0, 16, 32, 16)
shape = SubResource("RectangleShape2D_4k6gi") shape = SubResource("RectangleShape2D_4k6gi")
[node name="PlacePreview" type="Node2D" parent="."] [node name="PlacePreview" type="Node2D" parent="."]
visible = false
z_index = 1 z_index = 1
[node name="NW" type="Sprite2D" parent="PlacePreview"] [node name="NW" type="Sprite2D" parent="PlacePreview"]

View File

@@ -50,15 +50,12 @@ func get_target_y(player: Player) -> float:
return player.global_position.y - 8 return player.global_position.y - 8
func show_smoke() -> void: func show_smoke() -> void:
# guzlad: ugly but it'll have to do until we move the metadata stuff to actual variables if is_real: return
if (((Global.current_game_mode == Global.GameMode.CUSTOM_LEVEL) or (Global.current_game_mode == Global.GameMode.LEVEL_EDITOR)) and !is_real): var smoke = preload("res://Scenes/Prefabs/Particles/SmokeParticle.tscn").instantiate()
var smoke = preload("res://Scenes/Prefabs/Particles/SmokeParticle.tscn").instantiate() smoke.scale = Vector2(2, 2)
smoke.scale = Vector2(2, 2) smoke.global_position =global_position
smoke.global_position =global_position AudioManager.play_sfx("magic", global_position)
AudioManager.play_sfx("magic", global_position) add_sibling(smoke)
add_sibling(smoke)
elif has_meta("is_real"):
return
func breathe_fire() -> void: func breathe_fire() -> void:
if can_fire == false: if can_fire == false:
@@ -141,6 +138,14 @@ func play_music() -> void:
if music_enabled: if music_enabled:
AudioManager.set_music_override(AudioManager.MUSIC_OVERRIDES.BOWSER, 5, false) AudioManager.set_music_override(AudioManager.MUSIC_OVERRIDES.BOWSER, 5, false)
func on_timeout() -> void: func on_timeout() -> void:
move_dir = [-1, 1].pick_random() move_dir = [-1, 1].pick_random()
func on_gib_about_to_spawn() -> void:
if is_real:
$FallSFX.play()
$FallSFX.finished.connect($FallSFX.queue_free)
$FallSFX.reparent(get_parent())
# guzlad: ugly but it'll have to do until we move the metadata stuff to actual variables
if ((Global.current_game_mode == Global.GameMode.CUSTOM_LEVEL) or (Global.current_game_mode == Global.GameMode.LEVEL_EDITOR)) and !is_real:
$SpriteScaleJoint/DeathSprite/ResourceSetterNew.resource_json = load("res://Assets/Sprites/Enemies/Goomba.json")

View File

@@ -6,9 +6,6 @@ static var character_save := "Mario"
func _ready() -> void: func _ready() -> void:
activated.get_node("ResourceSetterNew").resource_json = load(get_character_sprite_path(0)) activated.get_node("ResourceSetterNew").resource_json = load(get_character_sprite_path(0))
if Settings.file.difficulty.checkpoint_style == 0 and (Global.current_game_mode != Global.GameMode.LEVEL_EDITOR and Global.current_game_mode != Global.GameMode.CUSTOM_LEVEL) or Global.current_campaign == "SMBANN":
owner.queue_free()
return
owner.show() owner.show()
if owner.passed: if owner.passed:
sprite.hide() sprite.hide()

View File

@@ -161,6 +161,8 @@ const ANIMATION_FALLBACKS := {
"CrouchJump": "Crouch", "CrouchJump": "Crouch",
"CrouchBump": "Bump", "CrouchBump": "Bump",
"CrouchMove": "Crouch", "CrouchMove": "Crouch",
"WaterCrouchMove": "CrouchMove",
"WingCrouchMove": "WaterCrouchMove",
"IdleAttack": "MoveAttack", "IdleAttack": "MoveAttack",
"CrouchAttack": "IdleAttack", "CrouchAttack": "IdleAttack",
"MoveAttack": "Attack", "MoveAttack": "Attack",
@@ -216,7 +218,9 @@ func _ready() -> void:
character = CHARACTERS[int(Global.player_characters[player_id])] character = CHARACTERS[int(Global.player_characters[player_id])]
Global.can_time_tick = true Global.can_time_tick = true
if [Global.GameMode.BOO_RACE, Global.GameMode.MARATHON, Global.GameMode.MARATHON_PRACTICE].has(Global.current_game_mode) == false: if [Global.GameMode.BOO_RACE, Global.GameMode.MARATHON, Global.GameMode.MARATHON_PRACTICE].has(Global.current_game_mode) == false:
apply_character_physics() apply_character_physics(true)
else:
apply_character_physics(false)
apply_character_sfx_map() apply_character_sfx_map()
Global.level_theme_changed.connect(apply_character_sfx_map) Global.level_theme_changed.connect(apply_character_sfx_map)
Global.level_theme_changed.connect(apply_character_physics) Global.level_theme_changed.connect(apply_character_physics)
@@ -232,22 +236,24 @@ func _ready() -> void:
if Global.level_editor == null: if Global.level_editor == null:
recenter_camera() recenter_camera()
func apply_character_physics() -> void: func apply_character_physics(apply: bool) -> void:
var path = "res://Assets/Sprites/Players/" + character + "/CharacterInfo.json" var path = "res://Assets/Sprites/Players/" + character + "/CharacterInfo.json"
if int(Global.player_characters[player_id]) > 3: if int(Global.player_characters[player_id]) > 3:
path = path.replace("res://Assets/Sprites/Players", Global.config_path.path_join("custom_characters/")) path = path.replace("res://Assets/Sprites/Players", Global.config_path.path_join("custom_characters/"))
path = ResourceSetter.get_pure_resource_path(path) path = ResourceSetter.get_pure_resource_path(path)
var json = JSON.parse_string(FileAccess.open(path, FileAccess.READ).get_as_text()) var json = JSON.parse_string(FileAccess.open(path, FileAccess.READ).get_as_text())
for i in json.physics:
set(i, json.physics[i]) if apply:
for i in json.physics:
set(i, json.physics[i])
for i in get_tree().get_nodes_in_group("SmallCollisions"): for i in get_tree().get_nodes_in_group("SmallCollisions"):
var hitbox_scale = json.get("small_hitbox_scale", [1, 1]) var hitbox_scale = json.get("small_hitbox_scale", [1, 1]) if apply else [1, 1]
i.hitbox = Vector3(hitbox_scale[0], hitbox_scale[1] if i.get_meta("scalable", true) else 1, json.get("small_crouch_scale", 0.75)) i.hitbox = Vector3(hitbox_scale[0], hitbox_scale[1] if i.get_meta("scalable", true) else 1, json.get("small_crouch_scale", 0.75) if apply else 0.75)
i._physics_process(0) i._physics_process(0)
for i in get_tree().get_nodes_in_group("BigCollisions"): for i in get_tree().get_nodes_in_group("BigCollisions"):
var hitbox_scale = json.get("big_hitbox_scale", [1, 1]) var hitbox_scale = json.get("big_hitbox_scale", [1, 1]) if apply else [1, 1]
i.hitbox = Vector3(hitbox_scale[0], hitbox_scale[1] if i.get_meta("scalable", true) else 1, json.get("big_crouch_scale", 0.5)) i.hitbox = Vector3(hitbox_scale[0], hitbox_scale[1] if i.get_meta("scalable", true) else 1, json.get("big_crouch_scale", 0.5) if apply else 0.5)
i._physics_process(0) i._physics_process(0)
func apply_classic_physics() -> void: func apply_classic_physics() -> void:
@@ -887,7 +893,8 @@ func do_smoke_effect() -> void:
func on_timeout() -> void: func on_timeout() -> void:
AudioManager.stop_music_override(AudioManager.MUSIC_OVERRIDES.STAR) AudioManager.stop_music_override(AudioManager.MUSIC_OVERRIDES.STAR)
await get_tree().create_timer(1, false).timeout await get_tree().create_timer(1, false).timeout
is_invincible = false if $StarTimer.is_stopped():
is_invincible = false
func on_area_entered(area: Area2D) -> void: func on_area_entered(area: Area2D) -> void:

View File

@@ -221,13 +221,19 @@ func get_animation_name() -> String:
return "CrouchJump" return "CrouchJump"
elif player.is_actually_on_floor(): elif player.is_actually_on_floor():
if abs(player.velocity.x) >= 5 and not player.is_actually_on_wall(): if abs(player.velocity.x) >= 5 and not player.is_actually_on_wall():
return "CrouchMove" if player.in_water:
elif player.in_water: return "WaterCrouchMove"
return "WaterCrouch" elif player.flight_meter > 0:
elif player.flight_meter > 0: return "WingCrouchMove"
return "WingCrouch" else:
return "CrouchMove"
else: else:
return "Crouch" if player.in_water:
return "WaterCrouch"
elif player.flight_meter > 0:
return "WingCrouch"
else:
return "Crouch"
if player.is_actually_on_floor(): if player.is_actually_on_floor():
if player.skidding: if player.skidding:
return "Skid" return "Skid"

View File

@@ -27,7 +27,7 @@ func _enter_tree() -> void:
LevelPersistance.active_nodes = old_state.duplicate(true) LevelPersistance.active_nodes = old_state.duplicate(true)
func _ready() -> void: func _ready() -> void:
if [Global.GameMode.CHALLENGE, Global.GameMode.MARATHON_PRACTICE].has(Global.current_game_mode) or Global.current_campaign == "SMBANN": if [Global.GameMode.CHALLENGE, Global.GameMode.MARATHON_PRACTICE].has(Global.current_game_mode) or Global.current_campaign == "SMBANN" or (Settings.file.difficulty.extra_checkpoints == 0 and optional):
queue_free() queue_free()
return return
if has_meta("is_flag") == false: if has_meta("is_flag") == false:
@@ -71,6 +71,3 @@ func get_id() -> String:
return str(Global.level_editor.sub_level_id) + "," + str(Vector2i(global_position)) + "," + get_parent().name return str(Global.level_editor.sub_level_id) + "," + str(Vector2i(global_position)) + "," + get_parent().name
else: else:
return Global.current_level.scene_file_path + "," + str(Vector2i(global_position)) + "," + get_parent().name return Global.current_level.scene_file_path + "," + str(Vector2i(global_position)) + "," + get_parent().name
func on_tree_exiting() -> void:
pass # Replace with function body.

View File

@@ -2,6 +2,8 @@ extends Node2D
const FLAG_POINTS := [100, 400, 800, 2000, 5000] const FLAG_POINTS := [100, 400, 800, 2000, 5000]
const FLAG_POINTS_MODERN := [100, 200, 800, 4000, 8000]
signal player_reached signal player_reached
signal sequence_begin signal sequence_begin
@@ -42,8 +44,10 @@ func player_touch(player: Player) -> void:
func give_points(player: Player) -> void: func give_points(player: Player) -> void:
var value = clamp(int(lerp(0, 4, (player.global_position.y / -144))), 0, 4) var value = clamp(int(lerp(0, 4, (player.global_position.y / -144))), 0, 4)
var nearest_value = FLAG_POINTS[value] var nearest_value = FLAG_POINTS[value]
if Settings.file.difficulty.flagpole_lives:
nearest_value = FLAG_POINTS_MODERN[value]
$Score.text = str(nearest_value) $Score.text = str(nearest_value)
if nearest_value == 5000 and Settings.file.difficulty.flagpole_lives and not [Global.GameMode.CHALLENGE, Global.GameMode.BOO_RACE].has(Global.current_game_mode) and not Settings.file.difficulty.inf_lives: if nearest_value == 8000 and not [Global.GameMode.CHALLENGE, Global.GameMode.BOO_RACE].has(Global.current_game_mode) and not Settings.file.difficulty.inf_lives:
AudioManager.play_sfx("1_up", global_position) AudioManager.play_sfx("1_up", global_position)
Global.lives += 1 Global.lives += 1
$ScoreNoteSpawner.spawn_one_up_note() $ScoreNoteSpawner.spawn_one_up_note()

View File

@@ -106,7 +106,7 @@ func handle_challenge_mode_transition() -> void:
%ChallengeScoreText/Target.show() %ChallengeScoreText/Target.show()
%ChallengeCoins2.show() %ChallengeCoins2.show()
%ChallengeCoins.show() %ChallengeCoins.show()
%ChallengeScoreText.text = str(Global.score) %ChallengeScoreText.text = str(int(ChallengeModeHandler.top_challenge_scores[Global.world_num - 1][Global.level_num - 1]))
var idx = 0 var idx = 0
for i in %ChallengeCoins.get_children(): for i in %ChallengeCoins.get_children():
if ChallengeModeHandler.is_coin_collected(idx, ChallengeModeHandler.red_coins_collected[Global.world_num - 1][Global.level_num - 1]): if ChallengeModeHandler.is_coin_collected(idx, ChallengeModeHandler.red_coins_collected[Global.world_num - 1][Global.level_num - 1]):

View File

@@ -60,10 +60,11 @@ func frame_limit_changed(new_value := 0) -> void:
Settings.file.video.frame_limit = new_value Settings.file.video.frame_limit = new_value
func set_window_size(value := []) -> void: func set_window_size(value := []) -> void:
pass
# nabbup: Recenter resized window on launch # nabbup: Recenter resized window on launch
var newpos = get_window().position - Vector2i((value[0]-get_window().size.x), (value[1]-get_window().size.y))/2 #var newpos = get_window().position - Vector2i((value[0]-get_window().size.x), (value[1]-get_window().size.y))/2
get_window().size = Vector2(value[0], value[1]) #get_window().size = Vector2(value[0], value[1])
get_window().position = newpos #get_window().position = newpos
func set_value(value_name := "", value = null) -> void: func set_value(value_name := "", value = null) -> void:
{ {