Compare commits

...

11 commits

Author SHA1 Message Date
435e8af090 bug fix 2024-12-07 14:44:25 -07:00
196a40c18d bug fix 2024-12-07 14:42:42 -07:00
9aec85a16c new release 2024-12-07 13:00:53 -07:00
edf58fb467 jump 2024-12-07 10:48:09 -07:00
fd7ac12be7 new release 2024-12-02 12:49:07 -07:00
eaad1e7e64 Touch Controls 2024-12-01 18:45:44 -07:00
a064871ba5 touch controls (WIP) 2024-12-01 18:07:54 -07:00
03fcea9d15 I'm not Bethesda 2024-11-19 13:07:39 -07:00
253fab1175 she's a maniac 2024-11-18 12:58:50 -07:00
832561a573 gamepad disconnect warning 2024-11-14 15:25:32 -07:00
6440bf4737 ltc 2024-11-11 10:39:03 -07:00
160 changed files with 2092 additions and 207 deletions

2
.gitignore vendored
View file

@ -10,4 +10,6 @@ Midori in the Magic School.x86_64
Midori in the Magic School.arm64 Midori in the Magic School.arm64
Midori in the Magic School.apk.idsig Midori in the Magic School.apk.idsig
Midori in the Magic School.pck Midori in the Magic School.pck
Midori in the Magic School.aab
android/ android/
export_presets.cfg

View file

@ -0,0 +1,3 @@
source_md5="b81b83f88b284d2ac3904c2d9f000f2f"
dest_md5="06917c681e66c081dbe52d1879f9bc8e"

Binary file not shown.

View file

@ -0,0 +1,3 @@
source_md5="a93832c16470eb8a7d20c66559e0db69"
dest_md5="7a14c6bff8406eea080859febebc1981"

Binary file not shown.

View file

@ -0,0 +1,3 @@
source_md5="59f89dc2ba8febbbd8c99234ba106910"
dest_md5="a60a39c3a5165f55d372d435461b6a50"

Binary file not shown.

View file

@ -0,0 +1,3 @@
source_md5="5b70f7a1e69f6fa81950ba92caf63767"
dest_md5="78c1b6deae3b3d26eb4a9d93d737e388"

Binary file not shown.

View file

@ -0,0 +1,3 @@
source_md5="5fee50d843aebe284d53b111ab34cb92"
dest_md5="3e01e0121cac8ed217ee2f1905b41b2f"

Binary file not shown.

View file

@ -0,0 +1,3 @@
source_md5="117d889c7d58b5469d5384e09be273af"
dest_md5="3852ad7263f8cd7b84ce862cac2e2313"

Binary file not shown.

View file

@ -0,0 +1,3 @@
source_md5="48dee5d4902b329be638748d9a4c960d"
dest_md5="f0c41f362a6a458037b4254de0429459"

View file

@ -0,0 +1,3 @@
source_md5="a07f4e70ad311e9d34b3f32d14e4f962"
dest_md5="4499725abb6f5d93f23826e4850c25b1"

View file

@ -0,0 +1,3 @@
source_md5="d77681e580d648ff01b9852f6aef491e"
dest_md5="d500a199b468b13157d828ff7e572f24"

View file

@ -0,0 +1,3 @@
source_md5="2de566f0b97ccabf3582c9496bd6a615"
dest_md5="2f30e5e81cb254c91596e95ccf88fbf7"

Binary file not shown.

View file

@ -0,0 +1,3 @@
source_md5="27af6f7c9a3d5c10be14eba5a78a3fe0"
dest_md5="e12b9e9ffacbc4f3b7117f32b7315c88"

Binary file not shown.

View file

@ -0,0 +1,3 @@
source_md5="7f3cd3f6ec7bded1321f3e47d4541d48"
dest_md5="a6d693279230dceff3674d7a8a98587a"

View file

@ -0,0 +1,3 @@
source_md5="32ab532c0877cb17ed9f5d4d3aaaf808"
dest_md5="b931dae8a54c3f5727cf34ee6ca8e6bb"

View file

@ -0,0 +1,3 @@
source_md5="d3351662cae34486db843b537be1fcf0"
dest_md5="9d478f4a7abdeffe750d005e36b8afcd"

View file

@ -0,0 +1,3 @@
source_md5="45505e278b02ef51e5885d4d06faaf85"
dest_md5="7403908dcadc6881ffc6398e744a14c7"

Binary file not shown.

View file

@ -0,0 +1,3 @@
source_md5="8404faa5f89d5f83a365d496ccb73d6c"
dest_md5="6f5be76d493b07877ff6960445317bf4"

Binary file not shown.

View file

@ -0,0 +1,3 @@
source_md5="b61af5439a256768bd68504d3344d2fb"
dest_md5="9a0d0549358dda0132a401761745ab8b"

Binary file not shown.

View file

@ -0,0 +1,3 @@
source_md5="81e19ea7fca28f432ca125a292baee52"
dest_md5="99b4aa2f99323306eb0f709b1b397cc9"

View file

@ -1,3 +1,3 @@
source_md5="3b62c139863db33dff26c7c6a431912a" source_md5="160714ba8643abe227ecf09d0fa81a1c"
dest_md5="725173346b1d0638eda0eb3bb8a29992" dest_md5="5db3a22b6dbdf6ef4a4b271d1e0e294d"

View file

@ -1,3 +1,3 @@
source_md5="41845decf08dcab95d58052126552087" source_md5="3f4e188fe254373550ef049601712759"
dest_md5="4ab96230486a269295260db949c0b788" dest_md5="2fb2eadef8e4e2a7cc7e7883c6bccf40"

View file

@ -1,3 +1,3 @@
source_md5="28322b78b5e7286d4c34ebe12cbfc6c7" source_md5="5678a510b5e55c6eec91c67aa249c0af"
dest_md5="4b5ffcf65f041f1dad3e8353217e6dd9" dest_md5="10cd696fd62c7d4dd732fde966fa1309"

View file

@ -1,3 +1,3 @@
source_md5="408400fef05a72ba01a349330387a973" source_md5="62c13c865528180852250cf36e4bddd9"
dest_md5="276cbd3b4ca76f457019247b1398a39f" dest_md5="e679c4ef4193a850df9be5bd52f871ae"

View file

@ -1,3 +1,3 @@
source_md5="69a918c8f87c7dc71b5dc6e856b09275" source_md5="faf676853249058ee6b2c97f6421af4d"
dest_md5="cd6868a1081d86518587459b5e95f579" dest_md5="1974fee5096133bc34f9d6c918d4c432"

View file

@ -1,3 +1,3 @@
source_md5="d4b01ea5759bbc49a04bd76e39dcb281" source_md5="b7317c9325e7dd541ad347bede0ed6c6"
dest_md5="9b9f93e0be14a4c61cc09b25cde8e051" dest_md5="8beb11d3b2c0d25031b1f57838164563"

View file

@ -1,3 +1,3 @@
source_md5="dc0024fcdc792040e22907ff17a13f7f" source_md5="d40b723f3bd26405035ae4176a6d5960"
dest_md5="631fe4922a179d5882c2ff4cf294b533" dest_md5="f0615d51475a269bdb13f12b82919d04"

View file

@ -1,3 +1,3 @@
source_md5="9d5246483521ed2339154334f5b22299" source_md5="bb285d5de2b24424cf8ed1be6faea58b"
dest_md5="ae083abbfc52fa816334094ee9b133a5" dest_md5="09d78de5d4d4443ed1f34bd01fc6bd77"

View file

@ -1,3 +1,3 @@
source_md5="730d70ca0db1394b3e6d0cd0f7274a85" source_md5="2d935fa5d1d456a3f00a0e14b4bbc357"
dest_md5="3b4c00f57a428b4fa5d0f9f8718481c5" dest_md5="7ab40893d5ed7b615b9dca0635771d14"

View file

@ -0,0 +1,3 @@
source_md5="a13e4260feeab3371c98799d370bf5d2"
dest_md5="1cc669a26f577dd388d470ea78bfaa23"

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Lety Hashimoto clasista.jpg-de196f6fdf3365392822ebeea9a00433.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://backgounds/Lety Hashimoto clasista.jpg"
dest_files=[ "res://.import/Lety Hashimoto clasista.jpg-de196f6fdf3365392822ebeea9a00433.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 KiB

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Lety Hashimoto split.jpg-fe501e28f1a6afc6ae02d16c8a5fa2ee.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://backgounds/Lety Hashimoto split.jpg"
dest_files=[ "res://.import/Lety Hashimoto split.jpg-fe501e28f1a6afc6ae02d16c8a5fa2ee.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Midori Asgardius split.jpg-acf8aea71a22e8d655c5b5cba0ffed75.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://backgounds/Midori Asgardius split.jpg"
dest_files=[ "res://.import/Midori Asgardius split.jpg-acf8aea71a22e8d655c5b5cba0ffed75.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View file

@ -27,7 +27,7 @@ func _input(event):
gamepadtest.new(event) gamepadtest.new(event)
updatehud() updatehud()
# Mouse in viewport coordinates. # Mouse in viewport coordinates.
if Input.is_action_just_pressed("ui_accept"): if Input.is_action_just_pressed("ui_accept") || Input.is_action_just_pressed("mclick"):
#print("Mouse Click/Unclick at: ", event.position) #print("Mouse Click/Unclick at: ", event.position)
get_tree().change_scene("res://title.tscn") get_tree().change_scene("res://title.tscn")
#_title() #_title()

View file

@ -15,5 +15,5 @@ func _process(delta: float) -> void:
pass pass
func _input(event): func _input(event):
if Input.is_action_just_pressed("ui_accept"): if Input.is_action_just_pressed("ui_accept") || Input.is_action_just_pressed("mclick"):
get_tree().change_scene("res://title.tscn") get_tree().change_scene("res://title.tscn")

View file

@ -32,7 +32,7 @@ func _process(delta):
func _input(event): func _input(event):
updatehud() updatehud()
# Mouse in viewport coordinates. # Mouse in viewport coordinates.
if Input.is_action_just_pressed("ui_accept"): if Input.is_action_just_pressed("ui_accept") || Input.is_action_just_pressed("mclick"):
#print("Mouse Click/Unclick at: ", event.position) #print("Mouse Click/Unclick at: ", event.position)
_title() _title()
@ -42,7 +42,7 @@ func _title():
if Global.debug: if Global.debug:
get_tree().change_scene("res://levels/ui/scene.tscn") get_tree().change_scene("res://levels/ui/scene.tscn")
else: else:
if Global.cplace == [1, 1, 17]: if Global.cplace == [1, 2, 17]:
Global.cplace = [0, 0, 0] Global.cplace = [0, 0, 0]
get_tree().change_scene("res://backgounds/wip.tscn") get_tree().change_scene("res://backgounds/wip.tscn")
else: else:

View file

@ -24,7 +24,7 @@ func _process(delta):
func _input(event): func _input(event):
updatehud() updatehud()
# Mouse in viewport coordinates. # Mouse in viewport coordinates.
if Input.is_action_just_pressed("ui_accept"): if Input.is_action_just_pressed("ui_accept") || Input.is_action_just_pressed("mclick"):
#print("Mouse Click/Unclick at: ", event.position) #print("Mouse Click/Unclick at: ", event.position)
_title() _title()

View file

@ -1,24 +0,0 @@
[preset.0]
name="Linux/X11"
platform="Linux/X11"
runnable=true
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="./Midori in the Magic School.x86_64"
script_export_mode=1
script_encryption_key=""
[preset.0.options]
custom_template/debug=""
custom_template/release=""
binary_format/architecture="x86_64"
binary_format/embed_pck=false
texture_format/bptc=false
texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
texture_format/no_bptc_fallbacks=true

View file

@ -12,18 +12,19 @@ var bossready = false
var playerx var playerx
var playery var playery
var ccutscene = null var ccutscene = null
const cutscenes = [["res://levels/Cutscenes/opening/aboutkaizo.tscn", "res://levels/Cutscenes/opening/midorihello.tscn", 18, false], ["res://levels/Cutscenes/opening/midorihello.tscn", "res://levels/Cutscenes/opening/fearlessmidori.tscn", 18, false], ["res://levels/Cutscenes/opening/fearlessmidori.tscn", "res://levels/Cutscenes/opening/midoriwaterfall.tscn", 0, false], ["res://levels/Cutscenes/opening/midoriwaterfall.tscn", "res://levels/Cutscenes/opening/midorireading.tscn", 0, false], ["res://levels/Cutscenes/opening/midorireading.tscn", "res://levels/Cutscenes/opening/boomboomtorofi.tscn", 0, false], ["res://levels/Cutscenes/opening/boomboomtorofi.tscn", "res://levels/ui/gameplay.tscn", 0, true], ["res://levels/Cutscenes/unfunaversary/punishment.tscn", "res://levels/Cutscenes/unfunaversary/sadness.tscn", 1, false], ["res://levels/Cutscenes/unfunaversary/sadness.tscn", "res://levels/Cutscenes/unfunaversary/r3.tscn", 1, false], ["res://levels/Cutscenes/unfunaversary/r3.tscn", "res://levels/Cutscenes/unfunaversary/firstclass.tscn", 1, false], ["res://levels/Cutscenes/unfunaversary/firstclass.tscn", "res://backgounds/result.tscn", 5, true], ["res://levels/Cutscenes/Honker Railway/forest.tscn", "res://levels/Cutscenes/Honker Railway/lordlytrashcan.tscn", 19, false], ["res://levels/Cutscenes/Honker Railway/lordlytrashcan.tscn", "res://levels/Cutscenes/Honker Railway/railway.tscn", 19, false], ["res://levels/Cutscenes/Honker Railway/railway.tscn", "res://levels/ui/gameplay.tscn", 19, true], ["res://levels/Cutscenes/Troublemaker/buildings.tscn", "res://levels/Cutscenes/Troublemaker/pamela.tscn", 18, false], ["res://levels/Cutscenes/Troublemaker/pamela.tscn", "res://levels/Cutscenes/Troublemaker/kungfu.tscn", 18, false], ["res://levels/Cutscenes/Troublemaker/kungfu.tscn", "res://levels/ui/gameplay.tscn", 6, true]] var difdamage = 0
const cutscenes = [["res://levels/Cutscenes/opening/aboutkaizo.tscn", "res://levels/Cutscenes/opening/midorihello.tscn", 18, false], ["res://levels/Cutscenes/opening/midorihello.tscn", "res://levels/Cutscenes/opening/fearlessmidori.tscn", 18, false], ["res://levels/Cutscenes/opening/fearlessmidori.tscn", "res://levels/Cutscenes/opening/midoriwaterfall.tscn", 0, false], ["res://levels/Cutscenes/opening/midoriwaterfall.tscn", "res://levels/Cutscenes/opening/midorireading.tscn", 0, false], ["res://levels/Cutscenes/opening/midorireading.tscn", "res://levels/Cutscenes/opening/boomboomtorofi.tscn", 0, false], ["res://levels/Cutscenes/opening/boomboomtorofi.tscn", "res://levels/ui/gameplay.tscn", 0, true], ["res://levels/Cutscenes/unfunaversary/punishment.tscn", "res://levels/Cutscenes/unfunaversary/sadness.tscn", 1, false], ["res://levels/Cutscenes/unfunaversary/sadness.tscn", "res://levels/Cutscenes/unfunaversary/r3.tscn", 1, false], ["res://levels/Cutscenes/unfunaversary/r3.tscn", "res://levels/Cutscenes/unfunaversary/firstclass.tscn", 1, false], ["res://levels/Cutscenes/unfunaversary/firstclass.tscn", "res://backgounds/result.tscn", 5, true], ["res://levels/Cutscenes/Honker Railway/forest.tscn", "res://levels/Cutscenes/Honker Railway/lordlytrashcan.tscn", 19, false], ["res://levels/Cutscenes/Honker Railway/lordlytrashcan.tscn", "res://levels/Cutscenes/Honker Railway/railway.tscn", 19, false], ["res://levels/Cutscenes/Honker Railway/railway.tscn", "res://levels/ui/gameplay.tscn", 19, true], ["res://levels/Cutscenes/Troublemaker/buildings.tscn", "res://levels/Cutscenes/Troublemaker/pamela.tscn", 18, false], ["res://levels/Cutscenes/Troublemaker/pamela.tscn", "res://levels/Cutscenes/Troublemaker/kungfu.tscn", 18, false], ["res://levels/Cutscenes/Troublemaker/kungfu.tscn", "res://levels/ui/gameplay.tscn", 6, true], ["res://levels/Cutscenes/Troublemakerp2/Lety.tscn", "res://levels/Cutscenes/Troublemakerp2/Fall.tscn", 18, false], ["res://levels/Cutscenes/Troublemakerp2/Fall.tscn", "res://levels/Cutscenes/Troublemakerp2/midori.tscn", 6, false], ["res://levels/Cutscenes/Troublemakerp2/midori.tscn", "res://levels/ui/gameplay.tscn", 6, true]]
const pcnames = ["Midori Asgardius", "Diana Asgardius", null, "Kimberly Arch", null, null, null, "Pamela Hashimoto", "Lety Hashimoto", "Natasha Dostoyevsky"] const pcnames = ["Midori Asgardius", "Diana Asgardius", null, "Kimberly Arch", null, null, null, "Pamela Hashimoto", "Lety Hashimoto", "Natasha Dostoyevsky"]
const npcnames = ["Lily", null, null, "Kimberly Arch", null, null, null, null, null, "Natasha Dostoyevsky"] const npcnames = ["Lily", "Railway Girl", null, "Kimberly Arch", null, null, null, null, null, "Natasha Dostoyevsky"]
const pcfaces = [["res://sprites/common/midori/face.png"], ["res://sprites/common/tuna/face.png"], [null], ["res://sprites/common/kimberly/face.png"], [null], [null], [null], ["res://sprites/ceres/pamela/face.png"], ["res://sprites/ceres/lety/face.png"], ["res://sprites/common/natasha/face.png"]] const pcfaces = [["res://sprites/common/midori/face.png"], ["res://sprites/common/tuna/face.png"], [null], ["res://sprites/common/kimberly/face.png"], [null], [null], [null], ["res://sprites/ceres/pamela/face.png"], ["res://sprites/ceres/lety/face.png"], ["res://sprites/common/natasha/face.png"]]
const hudfaces = [["res://sprites/common/midori/facehud.png"], ["res://sprites/common/tuna/facehud.png"], [null], ["res://sprites/common/kimberly/facehud.png"], [null], [null], [null], ["res://sprites/ceres/pamela/facehud.png"], ["res://sprites/ceres/lety/facehud.png"], ["res://sprites/common/natasha/facehud.png"]] const hudfaces = [["res://sprites/common/midori/facehud.png"], ["res://sprites/common/tuna/facehud.png"], [null], ["res://sprites/common/kimberly/facehud.png"], [null], [null], [null], ["res://sprites/ceres/pamela/facehud.png"], ["res://sprites/ceres/lety/facehud.png"], ["res://sprites/common/natasha/facehud.png"]]
const npcfaces = ["res://sprites/common/midori/face.png",null, null, "res://sprites/common/kimberly/face.png", null, null, null, null, null, "res://sprites/common/natasha/face.png"] const npcfaces = ["res://sprites/common/midori/face.png","res://sprites/ceres/railway/face.png", null, "res://sprites/common/kimberly/face.png", null, null, null, null, null, "res://sprites/common/natasha/face.png"]
const basestats = [[800, 200, 52, 12, 136, 25, 800], [1094, 200, 54, 7, 106, 48, 600], [null], [1143, 200, 59, 5, 117, 18, 650], [null], [null], [null], [null], [null], [1026, 200, 87, 7, 105, 49, 115]] const basestats = [[800, 200, 52, 12, 136, 25, 800], [1094, 200, 54, 7, 106, 48, 600], [null], [1143, 200, 59, 5, 117, 18, 650], [null], [null], [null], [null], [null], [1026, 200, 87, 7, 105, 49, 115]]
var cstats = [[800, 200, 52, 12, 136, 25, 800], [1094, 200, 54, 7, 106, 48, 600], [null], [1143, 200, 59, 5, 117, 18, 650], [null], [null], [null], [null], [null], [1026, 200, 87, 7, 105, 49, 115]] var cstats = [[800, 200, 52, 12, 136, 25, 800], [1094, 200, 54, 7, 106, 48, 600], [null], [1143, 200, 59, 5, 117, 18, 650], [null], [null], [null], [null], [null], [1026, 200, 87, 7, 105, 49, 115]]
var dstats = [[800, 200, 52, 12, 136, 25, 800], [1094, 200, 54, 7, 106, 48, 600], [null], [1143, 200, 59, 5, 117, 18, 650], [null], [null], [null], [null], [null], [1026, 200, 87, 7, 105, 49, 115]] var dstats = [[800, 200, 52, 12, 136, 25, 800], [1094, 200, 54, 7, 106, 48, 600], [null], [1143, 200, 59, 5, 117, 18, 650], [null], [null], [null], [null], [null], [1026, 200, 87, 7, 105, 49, 115]]
var mstats = [[null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null]] var mstats = [[null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null]]
var cdialog = [] var cdialog = []
const places = [[[["res://levels/Ceres/map.tscn", 5, false], [null, null, false]], [["res://levels/Testrooms/bullethell.tscn", 11, true], ["res://levels/Testrooms/lilytest.tscn", 6, false]], [["res://levels/Testrooms/dialogtest.tscn", 19, false], ["res://levels/Testrooms/testspawn.tscn", 2 ,false]]], [null, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, ["res://levels/Ceres/troublemakers.tscn", 6, true]], null, null, null, null, null, null, [null, null, null, null, null, null, null, null, null, null, null, ["res://levels/Ceres/honkerrailway.tscn", 19, false]], null, null, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, ["res://levels/Ceres/L20.tscn", 3, true]]]] const places = [[[["res://levels/Ceres/map.tscn", 5, false], [null, null, false]], [["res://levels/Testrooms/bullethell.tscn", 11, true], ["res://levels/Testrooms/lilytest.tscn", 6, false]], [["res://levels/Testrooms/dialogtest.tscn", 19, false], ["res://levels/Testrooms/testspawn.tscn", 2 ,false]]], [null, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, ["res://levels/Ceres/troublemakers.tscn", 6, true]], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, ["res://levels/Ceres/troublemakersp2.tscn", 6, true]], null, null, null, null, null, [null, null, null, null, null, null, null, null, null, null, null, ["res://levels/Ceres/honkerrailway.tscn", 19, false]], null, null, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, ["res://levels/Ceres/L20.tscn", 3, true]]]]
var cplace = [0,2,1] var cplace = [0,2,1]
var dplace = [null, null, null] var dplace = [null, null, null]
const pbbullets = ["res://sprites/common/bullet/fireball.tscn", "res://sprites/common/bullet/aero.tscn", null, "res://sprites/common/bullet/arrow.tscn", null, null, null, null, null, "res://sprites/common/bullet/snowflake.tscn"] const pbbullets = ["res://sprites/common/bullet/fireball.tscn", "res://sprites/common/bullet/aero.tscn", null, "res://sprites/common/bullet/arrow.tscn", null, null, null, null, null, "res://sprites/common/bullet/snowflake.tscn"]
@ -48,10 +49,11 @@ var owlocation = [[null, null], [null, null]]
const musictracks = ["res://music/midorinoyume.ogg", "res://music/seahorse.ogg", "res://music/chinesegoat.ogg", "res://music/doyoufeelold.ogg", "res://music/doyiuneedahealer.ogg", "res://music/adayatceres.ogg", "res://music/twintroublemakers.ogg", "res://music/easyquiz.ogg", "res://music/neowave.ogg", "res://music/multivectorsubmarines.ogg", "res://music/halfgeniegirls.ogg", "res://music/rusianmaverickfairy.ogg", "res://music/blacksmithofdestruction.ogg", "res://music/shininglikefireworks.ogg", "res://music/sadtrashcan.ogg", "res://music/akikonotegami.ogg", "res://music/asadcat.ogg", "res://music/lilydesire.ogg", "res://music/scholartrip.ogg", "res://music/quantumice.ogg", "res://music/unreeeal.ogg", "res://music/alsa.ogg", "res://music/silverblue.ogg"] const musictracks = ["res://music/midorinoyume.ogg", "res://music/seahorse.ogg", "res://music/chinesegoat.ogg", "res://music/doyoufeelold.ogg", "res://music/doyiuneedahealer.ogg", "res://music/adayatceres.ogg", "res://music/twintroublemakers.ogg", "res://music/easyquiz.ogg", "res://music/neowave.ogg", "res://music/multivectorsubmarines.ogg", "res://music/halfgeniegirls.ogg", "res://music/rusianmaverickfairy.ogg", "res://music/blacksmithofdestruction.ogg", "res://music/shininglikefireworks.ogg", "res://music/sadtrashcan.ogg", "res://music/akikonotegami.ogg", "res://music/asadcat.ogg", "res://music/lilydesire.ogg", "res://music/scholartrip.ogg", "res://music/quantumice.ogg", "res://music/unreeeal.ogg", "res://music/alsa.ogg", "res://music/silverblue.ogg"]
const sfxtracks = ["res://sfx/braindamage.wav", "res://sfx/gaugefill.wav", "res://sfx/boomboombakudan.wav"] const sfxtracks = ["res://sfx/braindamage.wav", "res://sfx/gaugefill.wav", "res://sfx/boomboombakudan.wav"]
var debug = false var debug = false
const release = "R0.3.0-beta" const release = "R0.3.3-beta"
var sk = false var sk = false
var gamepad = 0 var gamepad = 0
var quest = [0, 0, 0, 0, 0, 0] var quest = [0, 0, 0, 0, 0, 0]
var isresume = false
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
pass # Replace with function body. pass # Replace with function body.

View file

@ -1,6 +1,6 @@
extends Node2D extends Node2D
var talk
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
if !Global.debug: if !Global.debug:
@ -15,8 +15,36 @@ func _ready():
func _process(delta): func _process(delta):
pass pass
func _input(event):
if Input.is_action_just_pressed("ui_accept") && Global.cdialog != []:
if Global.live == 1:
Global.live = 0
talk = load("res://levels/ui/talk.tscn").instance()
call_deferred("_talk")
func _statrebase(): func _statrebase():
for i in 4: for i in 4:
if Global.party[i][0] != null: if Global.party[i][0] != null:
for j in 7: for j in 7:
Global.cstats[Global.party[i][0]][j] = Global.basestats[Global.party[i][0]][j] * Global.level[Global.dparty[i][0]] Global.cstats[Global.party[i][0]][j] = Global.basestats[Global.party[i][0]][j] * Global.level[Global.dparty[i][0]]
func _on_Ltctalk_body_entered(body):
if body.is_in_group("players"):
Global.cdialog = [[tr("DIALOG_HKR_0"), true, 0, 0]]
func _on_Ltctalk_body_exited(body):
Global.cdialog = []
func _on_Rgtalk_body_entered(body):
if body.is_in_group("players"):
Global.cdialog = [[tr("DIALOG_HKR_1"), false, 1]]
func _on_Rgtalk_body_exited(body):
Global.cdialog = []
func _talk():
get_tree().root.add_child(talk)

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=20 format=2] [gd_scene load_steps=22 format=2]
[ext_resource path="res://sprites/ceres/railway/sprite.png" type="Texture" id=1] [ext_resource path="res://sprites/ceres/railway/sprite.png" type="Texture" id=1]
[ext_resource path="res://sprites/ceres/items/hkr.png" type="Texture" id=2] [ext_resource path="res://sprites/ceres/items/hkr.png" type="Texture" id=2]
@ -33,7 +33,7 @@ tracks/0/keys = {
"times": PoolRealArray( 0 ), "times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ), "transitions": PoolRealArray( 1 ),
"update": 1, "update": 1,
"values": [ 8 ] "values": [ 0 ]
} }
[sub_resource type="Animation" id=7] [sub_resource type="Animation" id=7]
@ -170,6 +170,12 @@ tracks/0/keys = {
"values": [ 13, 12, 14 ] "values": [ 13, 12, 14 ]
} }
[sub_resource type="RectangleShape2D" id=15]
extents = Vector2( 43, 91 )
[sub_resource type="RectangleShape2D" id=16]
extents = Vector2( 48.5, 146 )
[node name="Honkerrailway" type="Node2D"] [node name="Honkerrailway" type="Node2D"]
script = ExtResource( 5 ) script = ExtResource( 5 )
@ -244,5 +250,24 @@ anims/swalk = SubResource( 12 )
anims/widle = SubResource( 13 ) anims/widle = SubResource( 13 )
anims/wwalk = SubResource( 14 ) anims/wwalk = SubResource( 14 )
[node name="Ltctalk" type="Area2D" parent="."]
position = Vector2( 384, 186 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="Ltctalk"]
position = Vector2( -8, 1 )
shape = SubResource( 15 )
[node name="Rgtalk" type="Area2D" parent="."]
position = Vector2( 473, 133 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="Rgtalk"]
position = Vector2( 2.5, 16 )
shape = SubResource( 16 )
[node name="Player" parent="." instance=ExtResource( 3 )] [node name="Player" parent="." instance=ExtResource( 3 )]
position = Vector2( 635, 586 ) position = Vector2( 635, 586 )
[connection signal="body_entered" from="Ltctalk" to="." method="_on_Ltctalk_body_entered"]
[connection signal="body_exited" from="Ltctalk" to="." method="_on_Ltctalk_body_exited"]
[connection signal="body_entered" from="Rgtalk" to="." method="_on_Rgtalk_body_entered"]
[connection signal="body_exited" from="Rgtalk" to="." method="_on_Rgtalk_body_exited"]

View file

@ -23,7 +23,7 @@ func _process(delta):
pass pass
func _input(event): func _input(event):
if Input.is_action_just_pressed("ui_accept") && travel != null: if Input.is_action_just_pressed("ui_accept") && travel != null && Global.live == 1:
if Global.ccutscene == null: if Global.ccutscene == null:
if Global.debug: if Global.debug:
Global.dplace = travel Global.dplace = travel

View file

@ -23,10 +23,10 @@ tracks/0/loop_wrap = true
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
tracks/0/keys = { tracks/0/keys = {
"times": PoolRealArray( 0 ), "times": PoolRealArray( 0.001 ),
"transitions": PoolRealArray( 1 ), "transitions": PoolRealArray( 1 ),
"update": 1, "update": 1,
"values": [ 8 ] "values": [ 0 ]
} }
[sub_resource type="Animation" id=5] [sub_resource type="Animation" id=5]
@ -175,7 +175,7 @@ tracks/0/keys = {
"times": PoolRealArray( 0 ), "times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ), "transitions": PoolRealArray( 1 ),
"update": 1, "update": 1,
"values": [ 8 ] "values": [ 0 ]
} }
[sub_resource type="Animation" id=14] [sub_resource type="Animation" id=14]
@ -353,7 +353,6 @@ position = Vector2( 615, -444 )
texture = ExtResource( 1 ) texture = ExtResource( 1 )
hframes = 4 hframes = 4
vframes = 4 vframes = 4
frame = 8
[node name="CollisionShape2D" type="CollisionShape2D" parent="Railwaygirl"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Railwaygirl"]
shape = SubResource( 3 ) shape = SubResource( 3 )
@ -376,7 +375,6 @@ position = Vector2( -651, 133 )
texture = ExtResource( 2 ) texture = ExtResource( 2 )
hframes = 4 hframes = 4
vframes = 4 vframes = 4
frame = 8
[node name="CollisionShape2D" type="CollisionShape2D" parent="Pamela"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Pamela"]
shape = SubResource( 3 ) shape = SubResource( 3 )

View file

@ -28,11 +28,9 @@ func _input(event):
func _winner(): func _winner():
Global.result[0] = 1 Global.result[0] = 1
Global.quest[2] = 3
Global.cdialog = [[tr("DIALOG_TROUBLEMAKER_3"), true, 0, 0], [tr("DIALOG_TROUBLEMAKER_4"), true, 7, 0], [tr("DIALOG_TROUBLEMAKER_5"), true, 0, 0]] Global.cdialog = [[tr("DIALOG_TROUBLEMAKER_3"), true, 0, 0], [tr("DIALOG_TROUBLEMAKER_4"), true, 7, 0], [tr("DIALOG_TROUBLEMAKER_5"), true, 0, 0]]
Global.live = 3 Global.live = 3
#Global.ccutscene = 6 Global.ccutscene = 16
Global.ccutscene = null
#talk.queue_free() #talk.queue_free()
talk = load("res://levels/ui/talk.tscn").instance() talk = load("res://levels/ui/talk.tscn").instance()
call_deferred("_talk") call_deferred("_talk")

View file

@ -0,0 +1,54 @@
extends Node2D
var talk = load("res://levels/ui/talk.tscn").instance()
var boss
var player
# Called when the node enters the scene tree for the first time.
func _ready():
boss = $Lety
player = $Player
boss.add_to_group("boss")
Global.cdialog = [[tr("DIALOG_TROUBLEMAKER_6"), true, 0, 0], ["...", true, 8, 0], ["...", true, 0, 0]]
Global.live = 0
call_deferred("_talk")
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _physics_process(delta):
pass
func _input(event):
if Global.cboss[1] <= 0 && Global.live == 1:
_winner()
if Global.cdialog.size() != 0 && Global.live == 1:
get_tree().root.remove_child(talk)
Global.cdialog = []
func _winner():
Global.result[0] = 1
Global.quest[2] = 3
Global.quest[3] = 1
Global.cdialog = [[tr("DIALOG_TROUBLEMAKER_7"), true, 0, 0], ["...", true, 8, 0], ["...", true, 0, 0]]
Global.live = 3
#Global.ccutscene = 6
Global.ccutscene = null
#talk.queue_free()
talk = load("res://levels/ui/talk.tscn").instance()
call_deferred("_talk")
func _statrebase():
if Global.debug:
for i in 4:
if Global.dparty[i][0] != null:
for j in 7:
Global.mstats[Global.dparty[i][0]][j] = Global.basestats[Global.dparty[i][0]][j] * Global.dlevel[Global.dparty[i][0]]
else:
for i in 4:
if Global.party[i][0] != null:
for j in 7:
Global.mstats[Global.party[i][0]][j] = Global.basestats[Global.party[i][0]][j] * Global.level[Global.dparty[i][0]]
func _talk():
get_tree().root.add_child(talk)

View file

@ -0,0 +1,49 @@
[gd_scene load_steps=6 format=2]
[ext_resource path="res://levels/Ceres/troublemakersp2.gd" type="Script" id=1]
[ext_resource path="res://sprites/ceres/lety/lety.tscn" type="PackedScene" id=2]
[ext_resource path="res://sprites/common/player/player.tscn" type="PackedScene" id=3]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 18.5, 446.5 )
[sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 676, 20.5 )
[node name="Troublemakers Part 2" type="Node2D"]
script = ExtResource( 1 )
[node name="ColorRect" type="ColorRect" parent="."]
margin_right = 1280.0
margin_bottom = 720.0
color = Color( 0, 0.619608, 0.270588, 1 )
[node name="StaticBody2D" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
position = Vector2( -18, 373.5 )
shape = SubResource( 1 )
[node name="StaticBody2D2" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D2"]
position = Vector2( 1299, 376 )
shape = SubResource( 1 )
[node name="StaticBody2D3" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D3"]
position = Vector2( 641, -21 )
shape = SubResource( 2 )
[node name="StaticBody2D4" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D4"]
position = Vector2( 640, 741 )
shape = SubResource( 2 )
[node name="Lety" parent="." instance=ExtResource( 2 )]
position = Vector2( 644, 133 )
[node name="Player" parent="." instance=ExtResource( 3 )]
position = Vector2( 635, 586 )

View file

@ -0,0 +1,24 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://backgounds/Lety Hashimoto split.jpg" type="Texture" id=1]
[ext_resource path="res://fonts/start.tres" type="DynamicFont" id=2]
[ext_resource path="res://levels/bottomhud.tscn" type="PackedScene" id=3]
[node name="Pamela" type="Node2D"]
[node name="TextureRect" type="TextureRect" parent="."]
margin_right = 40.0
margin_bottom = 40.0
texture = ExtResource( 1 )
[node name="Label" type="Label" parent="."]
margin_left = 16.0
margin_top = 598.0
margin_right = 1263.0
margin_bottom = 703.0
custom_colors/font_color = Color( 0, 0, 0, 1 )
custom_fonts/font = ExtResource( 2 )
text = "CUTSCENE_4_1"
align = 1
[node name="Bottomhud" parent="." instance=ExtResource( 3 )]

View file

@ -0,0 +1,23 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://backgounds/Lety Hashimoto clasista.jpg" type="Texture" id=1]
[ext_resource path="res://fonts/start.tres" type="DynamicFont" id=2]
[ext_resource path="res://levels/bottomhud.tscn" type="PackedScene" id=3]
[node name="Buildings" type="Node2D"]
[node name="TextureRect" type="TextureRect" parent="."]
margin_right = 40.0
margin_bottom = 40.0
texture = ExtResource( 1 )
[node name="Label" type="Label" parent="."]
margin_left = 16.0
margin_top = 598.0
margin_right = 1263.0
margin_bottom = 703.0
custom_fonts/font = ExtResource( 2 )
text = "CUTSCENE_4_0"
align = 1
[node name="Bottomhud" parent="." instance=ExtResource( 3 )]

View file

@ -0,0 +1,12 @@
extends Node2D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
if !Global.debug:
Global.cplace = [1, 2, 17]
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass

View file

@ -0,0 +1,26 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://backgounds/Midori Asgardius split.jpg" type="Texture" id=1]
[ext_resource path="res://levels/bottomhud.tscn" type="PackedScene" id=2]
[ext_resource path="res://fonts/start.tres" type="DynamicFont" id=3]
[ext_resource path="res://levels/Cutscenes/Troublemakerp2/midori.gd" type="Script" id=4]
[node name="Midori" type="Node2D"]
script = ExtResource( 4 )
[node name="TextureRect" type="TextureRect" parent="."]
margin_right = 40.0
margin_bottom = 40.0
texture = ExtResource( 1 )
[node name="Label" type="Label" parent="."]
margin_left = 16.0
margin_top = 598.0
margin_right = 1263.0
margin_bottom = 703.0
custom_colors/font_color = Color( 0, 0, 0, 1 )
custom_fonts/font = ExtResource( 3 )
text = "CUTSCENE_4_2"
align = 1
[node name="Bottomhud" parent="." instance=ExtResource( 2 )]

View file

@ -1,11 +1,58 @@
extends Node2D extends Node2D
var hkr
var troublemaker
var travel = null
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
pass # Replace with function body. hkr = $Railwaygirl
troublemaker = $Pamela
if !Global.debug:
_statrebase()
Global.live = 1
if Global.quest[1] == 0:
hkr.queue_free()
if Global.quest[2] == 0:
troublemaker.queue_free()
#pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta): func _process(delta):
pass pass
func _input(event):
if Input.is_action_just_pressed("ui_accept") && travel != null:
if Global.ccutscene == null:
if Global.debug:
Global.dplace = travel
else:
Global.cplace = travel
Global.live = 5
else:
Global.live = 8
func _statrebase():
for i in 4:
if Global.party[i][0] != null:
for j in 7:
Global.cstats[Global.party[i][0]][j] = Global.basestats[Global.party[i][0]][j] * Global.level[Global.dparty[i][0]]
func _on_railwaygirl_body_entered(body: Node2D) -> void:
Global.ccutscene = 10
travel = [1, 8, 11]
func _on_railwaygirl_body_exited(body: Node2D) -> void:
travel = null
func _on_pamela_body_entered(body: Node2D) -> void:
Global.ccutscene = 13
travel = [1, 1, 17]
func _on_pamela_body_exited(body: Node2D) -> void:
travel = null

View file

@ -1,46 +1,399 @@
[gd_scene load_steps=6 format=3 uid="uid://bqthmqpx51x01"] [gd_scene load_steps=26 format=2]
[ext_resource type="Script" path="res://levels/Testrooms/testspawn.gd" id="1_82nl8"] [ext_resource path="res://sprites/ceres/railway/sprite.png" type="Texture" id=1]
[ext_resource type="Texture2D" uid="uid://kxvipok4tnuw" path="res://backgounds/wip.jpg" id="2_nugl5"] [ext_resource path="res://sprites/ceres/pamela/sprite.png" type="Texture" id=2]
[ext_resource type="PackedScene" uid="uid://cehe6sm8ly06u" path="res://sprites/common/player/player.tscn" id="3_0rw86"] [ext_resource path="res://sprites/common/player/player.tscn" type="PackedScene" id=3]
[ext_resource path="res://levels/Earth/map.gd" type="Script" id=4]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_nytv7"] [sub_resource type="RectangleShape2D" id=1]
size = Vector2(20, 761) extents = Vector2( 18.5, 721 )
[sub_resource type="RectangleShape2D" id="RectangleShape2D_wkumn"] [sub_resource type="RectangleShape2D" id=2]
size = Vector2(1283, 20) extents = Vector2( 1167.5, 20.5 )
[node name="Testspawn" type="Node2D"] [sub_resource type="RectangleShape2D" id=3]
script = ExtResource("1_82nl8") extents = Vector2( 45, 128 )
[node name="WIP" type="TextureRect" parent="."] [sub_resource type="Animation" id=4]
offset_right = 40.0 length = 0.001
offset_bottom = 40.0 tracks/0/type = "value"
texture = ExtResource("2_nugl5") tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0.001 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 0 ]
}
[sub_resource type="Animation" id=5]
resource_name = "eidle"
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 8 ]
}
[sub_resource type="Animation" id=6]
resource_name = "ewalk"
length = 0.3
loop = true
step = 0.033
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.099, 0.198 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 1,
"values": [ 9, 8, 10 ]
}
[sub_resource type="Animation" id=7]
resource_name = "nidle"
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0.1 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 4 ]
}
[sub_resource type="Animation" id=8]
resource_name = "nwalk"
length = 0.3
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 1,
"values": [ 5, 4, 6 ]
}
[sub_resource type="Animation" id=9]
resource_name = "sidle"
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0.5 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 0 ]
}
[sub_resource type="Animation" id=10]
resource_name = "swalk"
length = 0.3
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 1,
"values": [ 1, 0, 2 ]
}
[sub_resource type="Animation" id=11]
resource_name = "widle"
length = 0.3
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 12 ]
}
[sub_resource type="Animation" id=12]
resource_name = "wwalk"
length = 0.3
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 1,
"values": [ 13, 12, 14 ]
}
[sub_resource type="Animation" id=13]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 0 ]
}
[sub_resource type="Animation" id=14]
resource_name = "eidle"
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 8 ]
}
[sub_resource type="Animation" id=15]
resource_name = "ewalk"
length = 0.3
loop = true
step = 0.033
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.099, 0.198 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 1,
"values": [ 9, 8, 10 ]
}
[sub_resource type="Animation" id=16]
resource_name = "nidle"
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0.1 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 4 ]
}
[sub_resource type="Animation" id=17]
resource_name = "nwalk"
length = 0.3
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 1,
"values": [ 5, 4, 6 ]
}
[sub_resource type="Animation" id=18]
resource_name = "sidle"
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0.5 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 0 ]
}
[sub_resource type="Animation" id=19]
resource_name = "swalk"
length = 0.3
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 1,
"values": [ 1, 0, 2 ]
}
[sub_resource type="Animation" id=20]
resource_name = "widle"
length = 0.3
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 12 ]
}
[sub_resource type="Animation" id=21]
resource_name = "wwalk"
length = 0.3
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 1,
"values": [ 13, 12, 14 ]
}
[node name="Map" type="Node2D"]
script = ExtResource( 4 )
[node name="ColorRect" type="ColorRect" parent="."]
margin_left = -939.0
margin_top = -613.0
margin_right = 1282.0
margin_bottom = 715.0
color = Color( 0.211765, 0.552941, 0.376471, 1 )
[node name="StaticBody2D" type="StaticBody2D" parent="."] [node name="StaticBody2D" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"] [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
position = Vector2(-11, 361.5) position = Vector2( -958, 58 )
shape = SubResource("RectangleShape2D_nytv7") shape = SubResource( 1 )
[node name="StaticBody2D2" type="StaticBody2D" parent="."] [node name="StaticBody2D2" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D2"] [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D2"]
position = Vector2(1293, 358) position = Vector2( 1299, 77.75 )
shape = SubResource("RectangleShape2D_nytv7") shape = SubResource( 1 )
[node name="StaticBody2D3" type="StaticBody2D" parent="."] [node name="StaticBody2D3" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D3"] [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D3"]
position = Vector2(641.5, -9) position = Vector2( 186.5, -634 )
shape = SubResource("RectangleShape2D_wkumn") shape = SubResource( 2 )
[node name="StaticBody2D4" type="StaticBody2D" parent="."] [node name="StaticBody2D4" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D4"] [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D4"]
position = Vector2(644, 731) position = Vector2( 159, 736 )
shape = SubResource("RectangleShape2D_wkumn") shape = SubResource( 2 )
[node name="Player" parent="." instance=ExtResource("3_0rw86")] [node name="Railwaygirl" type="Area2D" parent="."]
position = Vector2(633, 590) position = Vector2( 615, -444 )
[node name="Sprite" type="Sprite" parent="Railwaygirl"]
texture = ExtResource( 1 )
hframes = 4
vframes = 4
[node name="CollisionShape2D" type="CollisionShape2D" parent="Railwaygirl"]
shape = SubResource( 3 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="Railwaygirl"]
anims/RESET = SubResource( 4 )
anims/eidle = SubResource( 5 )
anims/ewalk = SubResource( 6 )
anims/nidle = SubResource( 7 )
anims/nwalk = SubResource( 8 )
anims/sidle = SubResource( 9 )
anims/swalk = SubResource( 10 )
anims/widle = SubResource( 11 )
anims/wwalk = SubResource( 12 )
[node name="Pamela" type="Area2D" parent="."]
position = Vector2( -651, 133 )
[node name="Sprite" type="Sprite" parent="Pamela"]
texture = ExtResource( 2 )
hframes = 4
vframes = 4
[node name="CollisionShape2D" type="CollisionShape2D" parent="Pamela"]
shape = SubResource( 3 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="Pamela"]
anims/RESET = SubResource( 13 )
anims/eidle = SubResource( 14 )
anims/ewalk = SubResource( 15 )
anims/nidle = SubResource( 16 )
anims/nwalk = SubResource( 17 )
anims/sidle = SubResource( 18 )
anims/swalk = SubResource( 19 )
anims/widle = SubResource( 20 )
anims/wwalk = SubResource( 21 )
[node name="Player" parent="." instance=ExtResource( 3 )]
position = Vector2( 635, 586 )
[connection signal="body_entered" from="Railwaygirl" to="." method="_on_railwaygirl_body_entered"]
[connection signal="body_exited" from="Railwaygirl" to="." method="_on_railwaygirl_body_exited"]
[connection signal="body_entered" from="Pamela" to="." method="_on_pamela_body_entered"]
[connection signal="body_exited" from="Pamela" to="." method="_on_pamela_body_exited"]

View file

@ -6,6 +6,7 @@ var bgsound := AudioStreamPlayer.new()
var sfx1 := AudioStreamPlayer.new() var sfx1 := AudioStreamPlayer.new()
var musictrack var musictrack
var isboss var isboss
var press = false
var bhud = load("res://levels/bottomhud.tscn").instance() var bhud = load("res://levels/bottomhud.tscn").instance()
var ishud = true var ishud = true
@ -47,17 +48,9 @@ func _ready():
#velocity = (Vector2.RIGHT.rotated(rotation) * -100 * Global.xm * delta)-Vector2.UP.rotated(rotation) * -100 * Global.ym * delta #velocity = (Vector2.RIGHT.rotated(rotation) * -100 * Global.xm * delta)-Vector2.UP.rotated(rotation) * -100 * Global.ym * delta
func _input(event): func _input(event):
if (Input.is_key_pressed(KEY_ESCAPE) || Input.is_joy_button_pressed(0,JOY_SELECT)) && Global.debug: if (Input.is_action_just_pressed("ui_accept") || Input.is_action_just_pressed("mclick")) && !press:
Global.live = 0 press = true
Global.bossready = false if (Input.is_action_just_released("ui_accept") || Input.is_action_just_released("mclick")) && press:
get_tree().root.remove_child(bhud)
#get_tree().root.remove_child(player)
get_tree().root.remove_child(level)
if Global.debug:
get_tree().change_scene("res://levels/ui/scene.tscn")
else:
get_tree().change_scene("res://title.tscn")
if Input.is_action_just_pressed("ui_accept"):
if Global.cutscenes[Global.ccutscene][3]: if Global.cutscenes[Global.ccutscene][3]:
var ccutscene = Global.ccutscene var ccutscene = Global.ccutscene
Global.ccutscene = null Global.ccutscene = null
@ -79,6 +72,7 @@ func _input(event):
bgsound.stream = music bgsound.stream = music
bgsound.play(0) bgsound.play(0)
call_deferred("_level") call_deferred("_level")
press = false
#if (Global.live == 1 && (Input.is_key_pressed(KEY_V) && Input.is_key_pressed(KEY_UP)) ||(Input.is_joy_button_pressed(0,JOY_BUTTON_RIGHT_SHOULDER) && Input.is_joy_button_pressed(0,JOY_BUTTON_DPAD_UP))): #if (Global.live == 1 && (Input.is_key_pressed(KEY_V) && Input.is_key_pressed(KEY_UP)) ||(Input.is_joy_button_pressed(0,JOY_BUTTON_RIGHT_SHOULDER) && Input.is_joy_button_pressed(0,JOY_BUTTON_DPAD_UP))):
# if Global.debug: # if Global.debug:
# if Global.dparty[0][0] != null: # if Global.dparty[0][0] != null:

View file

@ -30,7 +30,7 @@ func _ready() -> void:
func _input(event): func _input(event):
gamepadtest.new(event) gamepadtest.new(event)
# Mouse in viewport coordinates. # Mouse in viewport coordinates.
if Input.is_action_just_pressed("ui_cancel"): if Input.is_action_just_pressed("ui_cancel") || Input.is_action_just_pressed("mclick"):
get_tree().change_scene("res://levels/ui/soundtest.tscn") get_tree().change_scene("res://levels/ui/soundtest.tscn")
elif Input.is_action_pressed("ui_left") && Input.is_action_pressed("ui_up"): elif Input.is_action_pressed("ui_left") && Input.is_action_pressed("ui_up"):
fl.play(0) fl.play(0)

View file

@ -70,3 +70,9 @@ func _on_bullethell_pressed() -> void:
Global.dplace = [1, 1, 17] Global.dplace = [1, 1, 17]
Global.live = 1 Global.live = 1
get_tree().change_scene("res://levels/ui/gameplay.tscn") get_tree().change_scene("res://levels/ui/gameplay.tscn")
func _on_Credits_pressed():
Global.dplace = [1, 2, 17]
Global.live = 1
get_tree().change_scene("res://levels/ui/gameplay.tscn")

View file

@ -78,7 +78,7 @@ margin_right = 1017.0
margin_bottom = 286.0 margin_bottom = 286.0
custom_fonts/font = ExtResource( 2 ) custom_fonts/font = ExtResource( 2 )
custom_styles/focus = SubResource( 4 ) custom_styles/focus = SubResource( 4 )
text = "BUTTON_PLACEHOLDER" text = "TWIN_TROUBLEMAKERS_P2"
[node name="WIP" type="Button" parent="VBoxContainer"] [node name="WIP" type="Button" parent="VBoxContainer"]
margin_top = 290.0 margin_top = 290.0
@ -100,4 +100,5 @@ text = "BUTTON_RETURN"
[connection signal="pressed" from="VBoxContainer/Lilytest" to="." method="_on_lilytest_pressed"] [connection signal="pressed" from="VBoxContainer/Lilytest" to="." method="_on_lilytest_pressed"]
[connection signal="pressed" from="VBoxContainer/Dialogtest" to="." method="_on_dialogtest_pressed"] [connection signal="pressed" from="VBoxContainer/Dialogtest" to="." method="_on_dialogtest_pressed"]
[connection signal="pressed" from="VBoxContainer/Bullethell" to="." method="_on_bullethell_pressed"] [connection signal="pressed" from="VBoxContainer/Bullethell" to="." method="_on_bullethell_pressed"]
[connection signal="pressed" from="VBoxContainer/Credits" to="." method="_on_Credits_pressed"]
[connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"] [connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"]

View file

@ -56,6 +56,6 @@ func _complete():
func _input(event): func _input(event):
# Mouse in viewport coordinates. # Mouse in viewport coordinates.
if Input.is_action_just_pressed("ui_accept"): if Input.is_action_just_pressed("ui_accept") || Input.is_action_just_pressed("mclick"):
#print("Mouse Click/Unclick at: ", event.position) #print("Mouse Click/Unclick at: ", event.position)
_complete() _complete()

View file

@ -79,3 +79,8 @@ func _on_ceres_pressed():
#get_tree().change_scene("res://levels/ui/ceres.tscn") #get_tree().change_scene("res://levels/ui/ceres.tscn")
Global.ccutscene = 10 Global.ccutscene = 10
get_tree().change_scene("res://levels/ui/Cutscenes.tscn") get_tree().change_scene("res://levels/ui/Cutscenes.tscn")
func _on_Credits_pressed():
Global.ccutscene = 16
get_tree().change_scene("res://levels/ui/Cutscenes.tscn")

View file

@ -75,7 +75,7 @@ margin_right = 1017.0
margin_bottom = 286.0 margin_bottom = 286.0
custom_fonts/font = ExtResource( 2 ) custom_fonts/font = ExtResource( 2 )
custom_styles/focus = SubResource( 1 ) custom_styles/focus = SubResource( 1 )
text = "BUTTON_PLACEHOLDER" text = "TWIN_TROUBLEMAKERS_P2"
[node name="WIP" type="Button" parent="VBoxContainer"] [node name="WIP" type="Button" parent="VBoxContainer"]
margin_top = 290.0 margin_top = 290.0
@ -105,7 +105,7 @@ text = "BUTTON_RETURN"
[connection signal="pressed" from="VBoxContainer/Testrooms" to="." method="_on_testrooms_pressed"] [connection signal="pressed" from="VBoxContainer/Testrooms" to="." method="_on_testrooms_pressed"]
[connection signal="pressed" from="VBoxContainer/Ceres" to="." method="_on_ceres_pressed"] [connection signal="pressed" from="VBoxContainer/Ceres" to="." method="_on_ceres_pressed"]
[connection signal="pressed" from="VBoxContainer/Results" to="." method="_on_results_pressed"] [connection signal="pressed" from="VBoxContainer/Results" to="." method="_on_results_pressed"]
[connection signal="pressed" from="VBoxContainer/Credits" to="." method="_on_credits_pressed"] [connection signal="pressed" from="VBoxContainer/Credits" to="." method="_on_Credits_pressed"]
[connection signal="pressed" from="VBoxContainer/WIP" to="." method="_on_wip_pressed"] [connection signal="pressed" from="VBoxContainer/WIP" to="." method="_on_wip_pressed"]
[connection signal="pressed" from="VBoxContainer/Cutscene" to="." method="_on_cutscene_pressed"] [connection signal="pressed" from="VBoxContainer/Cutscene" to="." method="_on_cutscene_pressed"]
[connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"] [connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"]

View file

@ -55,6 +55,7 @@ func _on_ram_pressed() -> void:
Global.cplace = [1, 11, 19] Global.cplace = [1, 11, 19]
Global.live = 0 Global.live = 0
Global.cpchar = 0 Global.cpchar = 0
Global.difdamage = 0
Global.party = [[0,0], [null,null], [null,null], [null,null]] Global.party = [[0,0], [null,null], [null,null], [null,null]]
Global.ccutscene = 0 Global.ccutscene = 0
_on_back_pressed() _on_back_pressed()

View file

@ -55,7 +55,7 @@ func _process(delta):
pass pass
func _input(event): func _input(event):
if Input.is_key_pressed(KEY_ESCAPE) || (Input.is_joy_button_pressed(0,JOY_XBOX_A) && (Input.is_joy_button_pressed(0,JOY_XBOX_B))): if Input.is_key_pressed(KEY_ESCAPE) || Input.is_action_just_pressed("mclick") || (Input.is_joy_button_pressed(0,JOY_XBOX_A) && (Input.is_joy_button_pressed(0,JOY_XBOX_B))):
get_tree().change_scene("res://levels/ui/debug.tscn") get_tree().change_scene("res://levels/ui/debug.tscn")
gamepadtest.new(event) gamepadtest.new(event)
if Global.gamepad == 1: if Global.gamepad == 1:

View file

@ -9,11 +9,37 @@ var musictrack
var bhud = load("res://levels/bottomhud.tscn").instance() var bhud = load("res://levels/bottomhud.tscn").instance()
var thud = load("res://levels/ui/tophud.tscn").instance() var thud = load("res://levels/ui/tophud.tscn").instance()
var pmenu = load("res://levels/ui/pause.tscn").instance() var pmenu = load("res://levels/ui/pause.tscn").instance()
var mgamepad = load("res://levels/ui/missinggamepad.tscn").instance()
var tcontrol = load("res://levels/ui/touchcontrols.tscn").instance()
var ismgamepad = false
var ispaused = false var ispaused = false
var ishud = true var ishud = true
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
if Global.dificulty == 1:
if Global.difdamage != 0:
print("Script Kiddie")
Global.difdamage = Global.dparty/0
elif Global.dificulty == 2 || Global.dificulty == 0:
if Global.difdamage == 0 || Global.difdamage == 1:
Global.difdamage = 1
else:
print("Script Kiddie")
Global.difdamage = Global.dparty/0
elif Global.dificulty == 3:
if Global.difdamage == 0 || Global.difdamage == 3:
Global.difdamage = 3
else:
print("Script Kiddie")
Global.difdamage = Global.dparty/0
elif Global.dificulty == 4:
if Global.difdamage == 0 || Global.difdamage == 6:
Global.difdamage = 6
else:
print("Script Kiddie")
Global.difdamage = Global.dparty/0
Input.connect("joy_connection_changed",self,"_on_joy_connection_changed")
_statrebase() _statrebase()
add_child(bgsound) add_child(bgsound)
add_child(sfx1) add_child(sfx1)
@ -40,6 +66,7 @@ func _ready():
call_deferred("_level") call_deferred("_level")
call_deferred("_bhud") call_deferred("_bhud")
call_deferred("_thud") call_deferred("_thud")
call_deferred("_tcontrol")
#get_tree().root.add_child.call_deferred(player) #get_tree().root.add_child.call_deferred(player)
bgsound.stream = music bgsound.stream = music
bgsound.bus = "Music" bgsound.bus = "Music"
@ -54,14 +81,30 @@ func _ready():
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta): func _process(delta):
if Global.live != 1 && ishud:
get_tree().root.remove_child(thud)
get_tree().root.remove_child(tcontrol)
ishud = false
elif Global.live == 1 && !ishud:
call_deferred("_thud")
call_deferred("_tcontrol")
ishud = true
if Global.isresume:
Global.isresume = false
_pausemenu()
var velocity = Vector2.ZERO var velocity = Vector2.ZERO
if (Global.live > 4 && Global.live < 9) || Global.live == 2: if (Global.live > 4 && Global.live < 9) || Global.live == 2:
_exit() _exit()
#velocity = (Vector2.RIGHT.rotated(rotation) * -100 * Global.xm * delta)-Vector2.UP.rotated(rotation) * -100 * Global.ym * delta #velocity = (Vector2.RIGHT.rotated(rotation) * -100 * Global.xm * delta)-Vector2.UP.rotated(rotation) * -100 * Global.ym * delta
func _input(event): func _input(event):
if ismgamepad && (event is InputEventJoypadButton || Input.is_key_pressed(KEY_ENTER) || Input.is_action_just_pressed("mclick")):
ismgamepad = false
get_tree().root.remove_child(mgamepad)
Global.live = 1
gamepadtest.new(event) gamepadtest.new(event)
if Input.is_action_just_pressed("Pause") && Global.cdialog == []: if Input.is_action_just_pressed("Pause") && (Global.live == 1 || Global.live == 4):
_pausemenu() _pausemenu()
#Global.exitgame = true #Global.exitgame = true
if Global.live == 1 && Input.is_action_pressed("schar") && Input.is_action_just_pressed("ui_up"): if Global.live == 1 && Input.is_action_pressed("schar") && Input.is_action_just_pressed("ui_up"):
@ -97,12 +140,6 @@ func _input(event):
sfx1.stream = load(Global.sfxtracks[1]) sfx1.stream = load(Global.sfxtracks[1])
sfx1.play(0) sfx1.play(0)
bgsound.play(0) bgsound.play(0)
if Global.live != 1 && ishud:
get_tree().root.remove_child(thud)
ishud = false
elif Global.live == 1 && !ishud:
call_deferred("_thud")
ishud = true
func _statrebase(): func _statrebase():
if Global.debug: if Global.debug:
for i in 4: for i in 4:
@ -135,6 +172,7 @@ func _exit():
Global.bossready = false Global.bossready = false
Global.cboss = [null, null, null] Global.cboss = [null, null, null]
#if Global.live == 4: #if Global.live == 4:
get_tree().root.remove_child(tcontrol)
get_tree().root.remove_child(pmenu) get_tree().root.remove_child(pmenu)
#else: #else:
# get_tree().root.remove_child(thud) # get_tree().root.remove_child(thud)
@ -163,6 +201,12 @@ func _exit():
Global.live = 0 Global.live = 0
get_tree().change_scene("res://title.tscn") get_tree().change_scene("res://title.tscn")
func _on_joy_connection_changed(device_id, connected):
if !ismgamepad && !connected && Global.gamepad != 0 && Global.live == 1:
ismgamepad = true
Global.live = 4
call_deferred("_mgamepad")
func _level(): func _level():
get_tree().root.add_child(level) get_tree().root.add_child(level)
@ -174,3 +218,9 @@ func _bhud():
func _pmenu(): func _pmenu():
get_tree().root.add_child(pmenu) get_tree().root.add_child(pmenu)
func _mgamepad():
get_tree().root.add_child(mgamepad)
func _tcontrol():
get_tree().root.add_child(tcontrol)

View file

@ -4,17 +4,19 @@
[node name="Missinggamepad" type="Node2D"] [node name="Missinggamepad" type="Node2D"]
[node name="ColorRect" type="ColorRect" parent="."] [node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="ColorRect" type="ColorRect" parent="CanvasLayer"]
margin_left = 90.0 margin_left = 90.0
margin_top = 211.0 margin_top = 211.0
margin_right = 1177.0 margin_right = 1197.0
margin_bottom = 511.0 margin_bottom = 511.0
color = Color( 0, 0, 0, 1 ) color = Color( 0, 0, 0, 1 )
[node name="Label" type="Label" parent="."] [node name="Label" type="Label" parent="CanvasLayer"]
margin_left = 90.0 margin_left = 90.0
margin_top = 211.0 margin_top = 211.0
margin_right = 1177.0 margin_right = 1197.0
margin_bottom = 511.0 margin_bottom = 511.0
rect_min_size = Vector2( 1072, 300 ) rect_min_size = Vector2( 1072, 300 )
custom_fonts/font = ExtResource( 1 ) custom_fonts/font = ExtResource( 1 )

View file

@ -49,11 +49,17 @@ func _on_thisfirst_pressed():
func _on_challenge_pressed(): func _on_challenge_pressed():
pass # Replace with function body. _statrebase()
Global.dificulty = 3
_reset()
get_tree().change_scene("res://levels/ui/Cutscenes.tscn")
func _on_maniac_pressed(): func _on_maniac_pressed():
pass # Replace with function body. _statrebase()
Global.dificulty = 4
_reset()
get_tree().change_scene("res://levels/ui/Cutscenes.tscn")
func _statrebase(): func _statrebase():

View file

@ -58,3 +58,7 @@ func _on_warp_pressed() -> void:
else: else:
Global.cplace = [0, 0, 0] Global.cplace = [0, 0, 0]
Global.live = 5 Global.live = 5
func _on_Resume_pressed():
Global.isresume = true

View file

@ -172,5 +172,14 @@ custom_fonts/font = ExtResource( 2 )
custom_styles/focus = SubResource( 5 ) custom_styles/focus = SubResource( 5 )
text = "MENU_EXIT" text = "MENU_EXIT"
[node name="Resume" type="Button" parent="CanvasLayer"]
margin_left = 314.0
margin_top = 150.0
margin_right = 487.0
margin_bottom = 204.0
custom_fonts/font = ExtResource( 2 )
text = "Resume"
[connection signal="pressed" from="CanvasLayer/HBoxContainer2/VBoxContainer/Warp" to="." method="_on_warp_pressed"] [connection signal="pressed" from="CanvasLayer/HBoxContainer2/VBoxContainer/Warp" to="." method="_on_warp_pressed"]
[connection signal="pressed" from="CanvasLayer/HBoxContainer2/VBoxContainer2/Exit" to="." method="_on_exit_pressed"] [connection signal="pressed" from="CanvasLayer/HBoxContainer2/VBoxContainer2/Exit" to="." method="_on_exit_pressed"]
[connection signal="pressed" from="CanvasLayer/Resume" to="." method="_on_Resume_pressed"]

View file

@ -24,9 +24,9 @@ func _process(delta):
pass pass
func _input(event): func _input(event):
if Input.is_action_just_pressed("ui_accept") && !press: if (Input.is_action_just_pressed("ui_accept") || Input.is_action_just_pressed("mclick")) && !press:
press = true press = true
if Input.is_action_just_released("ui_accept") && press: if (Input.is_action_just_released("ui_accept") || Input.is_action_just_released("mclick")) && press:
dindex += 1 dindex += 1
if dindex < Global.cdialog.size(): if dindex < Global.cdialog.size():
if Global.cdialog[dindex][1]: if Global.cdialog[dindex][1]:

View file

@ -113,11 +113,6 @@ func _ready():
bossbg = $CanvasLayer/Bossbg bossbg = $CanvasLayer/Bossbg
topleft.visible = false topleft.visible = false
topleftbg.visible = false topleftbg.visible = false
if Global.mangohud:
topleft.position.y = 244
topleftbg.position.y = 244
topmini.position.y = 601
topminibg.position.y = 601
if Global.cboss == [null, null, null]: if Global.cboss == [null, null, null]:
bossbg.visible = false bossbg.visible = false
boss.visible = false boss.visible = false

View file

@ -0,0 +1,96 @@
extends Node2D
# Declare member variables here. Examples:
# var a = 2
# var b = "text"
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta):
# pass
func _on_A_pressed():
Input.action_press("shoot")
func _on_A_released():
Input.action_release("shoot")
func _on_Up_pressed():
Input.action_press("ui_up")
func _on_Up_released():
Input.action_release("ui_up")
func _on_Down_pressed():
Input.action_press("ui_down")
func _on_Down_released():
Input.action_release("ui_down")
func _on_Left_pressed():
Input.action_press("ui_left")
func _on_Left_released():
Input.action_release("ui_left")
func _on_Right_pressed():
Input.action_press("ui_right")
func _on_Right_released():
Input.action_release("ui_right")
func _on_Select_pressed():
Input.action_press("Pause")
func _on_Select_released():
Input.action_release("Pause")
func _on_R2_pressed():
Input.action_press("run")
func _on_R2_released():
Input.action_release("run")
func _on_R1_pressed():
Input.action_press("schar")
func _on_R1_released():
Input.action_release("schar")
func _on_B_pressed():
Input.action_press("ui_accept")
func _on_B_released():
Input.action_release("ui_accept")
func _on_Y_pressed():
Input.action_press("jump")
func _on_Y_released():
Input.action_release("jump")

View file

@ -0,0 +1,97 @@
[gd_scene load_steps=14 format=2]
[ext_resource path="res://levels/ui/touchcontrols.gd" type="Script" id=1]
[ext_resource path="res://sprites/buttons/B.png" type="Texture" id=2]
[ext_resource path="res://sprites/buttons/A.png" type="Texture" id=3]
[ext_resource path="res://sprites/buttons/Y.png" type="Texture" id=4]
[ext_resource path="res://sprites/buttons/LT.png" type="Texture" id=5]
[ext_resource path="res://sprites/buttons/LB.png" type="Texture" id=6]
[ext_resource path="res://sprites/buttons/X.png" type="Texture" id=7]
[ext_resource path="res://sprites/buttons/RB.png" type="Texture" id=8]
[ext_resource path="res://sprites/buttons/RT.png" type="Texture" id=9]
[ext_resource path="res://sprites/buttons/Select.png" type="Texture" id=10]
[ext_resource path="res://sprites/buttons/Start.png" type="Texture" id=11]
[ext_resource path="res://sprites/buttons/varrow.png" type="Texture" id=12]
[ext_resource path="res://sprites/buttons/harrow.png" type="Texture" id=13]
[node name="Touchcontrols" type="Node2D"]
script = ExtResource( 1 )
[node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="B" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 1142, 586 )
normal = ExtResource( 2 )
[node name="A" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 1007, 586 )
normal = ExtResource( 3 )
[node name="Y" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 1142, 479 )
normal = ExtResource( 4 )
[node name="X" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 1007, 479 )
normal = ExtResource( 7 )
[node name="R1" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 872, 610 )
normal = ExtResource( 8 )
[node name="R2" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 917, 479 )
normal = ExtResource( 9 )
[node name="L1" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 740, 610 )
normal = ExtResource( 6 )
[node name="L2" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 787, 479 )
normal = ExtResource( 5 )
[node name="Up" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 116, 438 )
normal = ExtResource( 12 )
[node name="Down" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 116, 582 )
normal = ExtResource( 12 )
[node name="Left" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 20, 534 )
normal = ExtResource( 13 )
[node name="Right" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 164, 534 )
normal = ExtResource( 13 )
[node name="Select" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 431, 526 )
normal = ExtResource( 10 )
[node name="Start" type="TouchScreenButton" parent="CanvasLayer"]
position = Vector2( 639, 526 )
normal = ExtResource( 11 )
[connection signal="pressed" from="CanvasLayer/B" to="." method="_on_B_pressed"]
[connection signal="released" from="CanvasLayer/B" to="." method="_on_B_released"]
[connection signal="pressed" from="CanvasLayer/A" to="." method="_on_A_pressed"]
[connection signal="released" from="CanvasLayer/A" to="." method="_on_A_released"]
[connection signal="pressed" from="CanvasLayer/Y" to="." method="_on_Y_pressed"]
[connection signal="released" from="CanvasLayer/Y" to="." method="_on_Y_released"]
[connection signal="pressed" from="CanvasLayer/R1" to="." method="_on_R1_pressed"]
[connection signal="released" from="CanvasLayer/R1" to="." method="_on_R1_released"]
[connection signal="pressed" from="CanvasLayer/R2" to="." method="_on_R2_pressed"]
[connection signal="released" from="CanvasLayer/R2" to="." method="_on_R2_released"]
[connection signal="pressed" from="CanvasLayer/Up" to="." method="_on_Up_pressed"]
[connection signal="released" from="CanvasLayer/Up" to="." method="_on_Up_released"]
[connection signal="pressed" from="CanvasLayer/Down" to="." method="_on_Down_pressed"]
[connection signal="released" from="CanvasLayer/Down" to="." method="_on_Down_released"]
[connection signal="pressed" from="CanvasLayer/Left" to="." method="_on_Left_pressed"]
[connection signal="released" from="CanvasLayer/Left" to="." method="_on_Left_released"]
[connection signal="pressed" from="CanvasLayer/Right" to="." method="_on_Right_pressed"]
[connection signal="released" from="CanvasLayer/Right" to="." method="_on_Right_released"]
[connection signal="pressed" from="CanvasLayer/Select" to="." method="_on_Select_pressed"]
[connection signal="released" from="CanvasLayer/Select" to="." method="_on_Select_released"]

View file

@ -30,7 +30,7 @@ func _input(event):
updatehud() updatehud()
# Mouse in viewport coordinates. # Mouse in viewport coordinates.
if !Global.sk && Input.is_action_just_pressed("ui_accept"): if !Global.sk && Input.is_action_just_pressed("ui_accept") || Input.is_action_just_pressed("mclick"):
#print("Mouse Click/Unclick at: ", event.position) #print("Mouse Click/Unclick at: ", event.position)
_title() _title()

Some files were not shown because too many files have changed in this diff Show more