First Level Test

This commit is contained in:
Page Asgardius 2024-04-17 11:33:27 -07:00
parent c12c4be394
commit d7fab32f44
16 changed files with 549 additions and 26 deletions

View file

@ -8,15 +8,15 @@ var timelimit = 15000
var wait var wait
var bossready = false var bossready = false
const pcnames = ["Midori Asgardius", "Diana Asgardius", null, "Kimberly Arch", null, null, null, null, null, "Natasha Dostoyevsky"] const pcnames = ["Midori Asgardius", "Diana Asgardius", null, "Kimberly Arch", null, null, null, null, null, "Natasha Dostoyevsky"]
const npcnames = ["Lily", null, null, null, null, null, null, null, null, "Natasha Dostoyevsky"] const npcnames = ["Lily", null, 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], [null], [null], ["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], [null], [null], ["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], [null], [null], ["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], [null], [null], ["res://sprites/common/natasha/facehud.png"]]
const npcfaces = ["res://sprites/common/midori/face.png",null, null, null, null, null, null, null, null, "res://sprites/common/natasha/face.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 basestats = [[100, 100, 2, 2, 100, 2, 500], [100, 100, 2, 2, 100, 2, 500], [null], [100, 100, 2, 2, 100, 2, 500], [null], [null], [null], [null], [null], [100, 100, 2, 2, 100, 2, 500]] const basestats = [[100, 100, 2, 2, 100, 2, 500], [100, 100, 2, 2, 100, 2, 500], [null], [100, 100, 2, 2, 100, 2, 500], [null], [null], [null], [null], [null], [100, 100, 2, 2, 100, 2, 500]]
var cstats = [[100, 100, null, null, 100, null, null], [100, 100, null, null, 100, null, null], [null], [100, 100, null, null, 100, null, null], [null], [null], [null], [null], [null], [100, 100, null, null, 100, null, null]] var cstats = [[100, 100, null, null, 100, null, null], [100, 100, null, null, 100, null, null], [null], [100, 100, null, null, 100, null, null], [null], [null], [null], [null], [null], [100, 100, null, null, 100, null, null]]
var dstats = [[100, 100, null, null, 100, null, null], [100, 100, null, null, 100, null, null], [null], [100, 100, null, null, 100, null, null], [null], [null], [null], [null], [null], [100, 100, null, null, 100, null, null]] var dstats = [[100, 100, null, null, 100, null, null], [100, 100, null, null, 100, null, null], [null], [100, 100, null, null, 100, null, null], [null], [null], [null], [null], [null], [100, 100, null, null, 100, null, null]]
var cdialog = [] var cdialog = []
const places = [[[[null, null, 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]]]] const places = [[[[null, null, 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, 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/X11.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/X11.tscn", null, "res://sprites/common/bullet/arrow.tscn", null, null, null, null, null, "res://sprites/common/bullet/snowflake.tscn"]

31
levels/Ceres/L20.gd Normal file
View file

@ -0,0 +1,31 @@
extends Node2D
var talk = load("res://levels/ui/talk.tscn").instantiate()
var boss
var player
# Called when the node enters the scene tree for the first time.
func _ready():
boss = $Kimberly
player = $Player
boss.add_to_group("boss")
Global.cdialog = [[tr("DIALOG_CERES_L20_0"), true, 0, 0], [tr("DIALOG_CERES_L20_1"), false, 3], [tr("DIALOG_CERES_L20_2"), true, 0, 0]]
Global.live = 0
get_tree().root.add_child.call(talk)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _physics_process(delta):
if player.velocity.x >= 0 && player.velocity.y >= 0:
if player.position.y < boss.position.y && player.get_index() > boss.get_index():
move_child(player, boss.get_index() - 1)
print("move up")
elif player.position.y > boss.position.y && player.get_index() < boss.get_index():
move_child(player, boss.get_index() + 1)
print("move down")
func _input(event):
if Global.cdialog.size() == 0:
get_tree().root.remove_child(talk)

60
levels/Ceres/L20.tscn Normal file
View file

@ -0,0 +1,60 @@
[gd_scene load_steps=7 format=3 uid="uid://c8hmum2w6aygy"]
[ext_resource type="Script" path="res://levels/Ceres/L20.gd" id="1_cjbjq"]
[ext_resource type="Texture2D" uid="uid://dursxelwwxe8u" path="res://sprites/common/placeholder/player.png" id="1_g5hs8"]
[ext_resource type="PackedScene" uid="uid://wo77i5ql2esb" path="res://sprites/common/kimberly/kimberly.tscn" id="2_5cnwp"]
[ext_resource type="PackedScene" uid="uid://cehe6sm8ly06u" path="res://sprites/common/player/player.tscn" id="3_slxde"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1jr1w"]
size = Vector2(20, 761)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_iptg6"]
size = Vector2(1283, 20)
[node name="L20" type="Node2D"]
script = ExtResource("1_cjbjq")
[node name="TextureRect" type="TextureRect" parent="."]
offset_left = 583.0
offset_top = 4.0
offset_right = 711.0
offset_bottom = 260.0
texture = ExtResource("1_g5hs8")
[node name="Label" type="Label" parent="."]
offset_left = 327.0
offset_top = 354.0
offset_right = 957.0
offset_bottom = 409.0
theme_override_font_sizes/font_size = 40
text = "Boss spawns at EBU pattern area"
[node name="StaticBody2D" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
position = Vector2(-11, 361.5)
shape = SubResource("RectangleShape2D_1jr1w")
[node name="StaticBody2D2" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D2"]
position = Vector2(1293, 358)
shape = SubResource("RectangleShape2D_1jr1w")
[node name="StaticBody2D3" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D3"]
position = Vector2(641.5, -9)
shape = SubResource("RectangleShape2D_iptg6")
[node name="StaticBody2D4" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D4"]
position = Vector2(644, 731)
shape = SubResource("RectangleShape2D_iptg6")
[node name="Kimberly" parent="." instance=ExtResource("2_5cnwp")]
position = Vector2(644, 133)
[node name="Player" parent="." instance=ExtResource("3_slxde")]
position = Vector2(652, 590)

52
levels/ui/ceres.gd Normal file
View file

@ -0,0 +1,52 @@
extends Control
func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
$VBoxContainer/L20.grab_focus()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _level():
# This is like autoloading the scene, only
# it happens after already loading the main scene.
get_tree().change_scene_to_file("res://backgounds/disclaimer.tscn")
#Global.live = 1
#Global.gamelevel = randi() % 3
#if Global.gamelevel == 0:
# get_tree().change_scene_to_file("res://backgounds/galaxy.tscn")
#elif Global.gamelevel == 1:
# get_tree().change_scene_to_file("res://backgounds/wormhole.tscn")
#else:
# get_tree().change_scene_to_file("res://backgounds/abstract.tscn")
#get_tree().root.add_child(title)
#get_tree().root.remove_child(boot)
#boot.queue_free()
func _input(event):
# Mouse in viewport coordinates.
if Input.is_action_just_pressed("ui_cancel"):
_on_back_pressed()
#print("Mouse Click/Unclick at: ", event.position)
# if highlighted == 1:
# _on_debug_pressed()
# if highlighted == 2:
# _on_exit_pressed()
# else:
# _on_start_pressed()
# elif Input.is_action_pressed("ui_up"):
# focus_next
func _on_back_pressed():
get_tree().change_scene_to_file("res://levels/ui/scene.tscn")
func _on_l_20_pressed():
Global.dplace = [1, 11, 19]
Global.live = 1
get_tree().change_scene_to_file("res://levels/ui/gameplay.tscn")

98
levels/ui/ceres.tscn Normal file
View file

@ -0,0 +1,98 @@
[gd_scene load_steps=6 format=3 uid="uid://bafdmqwba2oop"]
[ext_resource type="Script" path="res://levels/ui/ceres.gd" id="1_tox8g"]
[ext_resource type="Texture2D" uid="uid://bxa27c7gnivwx" path="res://backgounds/night-sky-at-ceres.jpg" id="2_2li8v"]
[ext_resource type="PackedScene" uid="uid://d31udhuuwrajn" path="res://levels/bottomhud.tscn" id="3_uojcp"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6u0xs"]
bg_color = Color(0, 0.8, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_r2qrn"]
bg_color = Color(0, 0.8, 0, 1)
[node name="Ceres" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_tox8g")
[node name="Night Sky" type="TextureRect" parent="."]
layout_mode = 0
offset_right = 1280.0
offset_bottom = 720.0
texture = ExtResource("2_2li8v")
[node name="Game name" type="Label" parent="."]
layout_mode = 0
offset_left = 496.0
offset_top = 3.0
offset_right = 790.0
offset_bottom = 73.0
theme_override_font_sizes/font_size = 40
text = "Shrine of the doomed souls"
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -129.5
offset_top = -362.0
offset_right = 129.5
grow_horizontal = 2
grow_vertical = 0
[node name="L20" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "CERES_L20_DESC"
[node name="Lilytest" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Unused
"
[node name="Dialogtest" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Unused
"
[node name="Bullethell" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Unused"
[node name="Credits" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Unused"
[node name="WIP" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Unused"
[node name="Back" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn")
text = "BUTTON_RETURN"
[node name="Bottomhud" parent="." instance=ExtResource("3_uojcp")]
layout_mode = 1
[connection signal="pressed" from="VBoxContainer/L20" to="." method="_on_l_20_pressed"]
[connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"]

View file

@ -30,12 +30,16 @@ texture = ExtResource("2_1w2er")
[node name="Game name" type="Label" parent="."] [node name="Game name" type="Label" parent="."]
layout_mode = 0 layout_mode = 0
offset_left = 339.0 offset_left = 44.0
offset_top = 61.0 offset_top = 61.0
offset_right = 991.0 offset_right = 1234.0
offset_bottom = 207.0 offset_bottom = 207.0
theme_override_font_sizes/font_size = 106 theme_override_font_sizes/font_size = 106
text = "Debug Menu" text = "MENU_DEBUG"
horizontal_alignment = 1
[node name="Bottomhud" parent="." instance=ExtResource("4_ogmre")]
layout_mode = 1
[node name="VBoxContainer" type="VBoxContainer" parent="."] [node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1 layout_mode = 1
@ -44,9 +48,9 @@ anchor_left = 0.5
anchor_top = 1.0 anchor_top = 1.0
anchor_right = 0.5 anchor_right = 0.5
anchor_bottom = 1.0 anchor_bottom = 1.0
offset_left = -129.5 offset_left = -342.0
offset_top = -362.0 offset_top = -484.0
offset_right = 129.5 offset_right = 342.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 0 grow_vertical = 0
@ -72,10 +76,7 @@ text = "Sound Test"
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 80 theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn") theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn")
text = "Back" text = "BUTTON_RETURN"
[node name="Bottomhud" parent="." instance=ExtResource("4_ogmre")]
layout_mode = 1
[connection signal="pressed" from="VBoxContainer/Gamepad Test" to="." method="_on_gamepad_test_pressed"] [connection signal="pressed" from="VBoxContainer/Gamepad Test" to="." method="_on_gamepad_test_pressed"]
[connection signal="pressed" from="VBoxContainer/Scene Selector2" to="." method="_on_scene_selector_pressed"] [connection signal="pressed" from="VBoxContainer/Scene Selector2" to="." method="_on_scene_selector_pressed"]

View file

@ -207,7 +207,7 @@ text = "Boss Fight (Earth)"
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 25 theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_0dqsq") theme_override_styles/focus = SubResource("StyleBoxFlat_0dqsq")
text = "Back" text = "BUTTON_RETURN"
[node name="Bottomhud" parent="." instance=ExtResource("4_a1ux8")] [node name="Bottomhud" parent="." instance=ExtResource("4_a1ux8")]
layout_mode = 1 layout_mode = 1

View file

@ -64,3 +64,7 @@ func _on_disclaimer_pressed():
func _on_testrooms_pressed(): func _on_testrooms_pressed():
get_tree().change_scene_to_file("res://levels/ui/testrooms.tscn") get_tree().change_scene_to_file("res://levels/ui/testrooms.tscn")
func _on_ceres_pressed():
get_tree().change_scene_to_file("res://levels/ui/ceres.tscn")

View file

@ -59,6 +59,12 @@ theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs") theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Shrine of the doomed souls" text = "Shrine of the doomed souls"
[node name="Ceres" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Ceres"
[node name="Results" type="Button" parent="VBoxContainer"] [node name="Results" type="Button" parent="VBoxContainer"]
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 32 theme_override_font_sizes/font_size = 32
@ -81,13 +87,14 @@ text = "Work in Progress"
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 32 theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn") theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn")
text = "Back" text = "BUTTON_RETURN"
[node name="Bottomhud" parent="." instance=ExtResource("4_2y7h7")] [node name="Bottomhud" parent="." instance=ExtResource("4_2y7h7")]
layout_mode = 1 layout_mode = 1
[connection signal="pressed" from="VBoxContainer/Disclaimer" to="." method="_on_disclaimer_pressed"] [connection signal="pressed" from="VBoxContainer/Disclaimer" to="." method="_on_disclaimer_pressed"]
[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/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"]

View file

@ -83,7 +83,7 @@ text = "Explosion"
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 25 theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_0dqsq") theme_override_styles/focus = SubResource("StyleBoxFlat_0dqsq")
text = "Back" text = "BUTTON_RETURN"
[node name="Bottomhud" parent="." instance=ExtResource("4_xxv3m")] [node name="Bottomhud" parent="." instance=ExtResource("4_xxv3m")]
layout_mode = 1 layout_mode = 1

View file

@ -23,6 +23,7 @@ grow_vertical = 2
script = ExtResource("1_3bg6p") script = ExtResource("1_3bg6p")
[node name="Night Sky" type="TextureRect" parent="."] [node name="Night Sky" type="TextureRect" parent="."]
layout_mode = 0
offset_right = 1280.0 offset_right = 1280.0
offset_bottom = 720.0 offset_bottom = 720.0
texture = ExtResource("2_x41qm") texture = ExtResource("2_x41qm")
@ -65,7 +66,7 @@ text = "Sound Effects"
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 80 theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_wro6j") theme_override_styles/focus = SubResource("StyleBoxFlat_wro6j")
text = "Back" text = "BUTTON_RETURN"
[node name="Bottomhud" parent="." instance=ExtResource("4_2a53a")] [node name="Bottomhud" parent="." instance=ExtResource("4_2a53a")]
layout_mode = 1 layout_mode = 1

View file

@ -89,7 +89,7 @@ text = "Unused"
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 32 theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn") theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn")
text = "Back" text = "BUTTON_RETURN"
[node name="Bottomhud" parent="." instance=ExtResource("4_jvl8w")] [node name="Bottomhud" parent="." instance=ExtResource("4_jvl8w")]
layout_mode = 1 layout_mode = 1

View file

@ -38,6 +38,9 @@ theme_override_font_sizes/font_size = 95
text = "GAME_NAME" text = "GAME_NAME"
horizontal_alignment = 1 horizontal_alignment = 1
[node name="Bottomhud" parent="." instance=ExtResource("4_0qcfw")]
layout_mode = 1
[node name="VBoxContainer" type="VBoxContainer" parent="."] [node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1 layout_mode = 1
anchors_preset = 7 anchors_preset = 7
@ -45,9 +48,9 @@ anchor_left = 0.5
anchor_top = 1.0 anchor_top = 1.0
anchor_right = 0.5 anchor_right = 0.5
anchor_bottom = 1.0 anchor_bottom = 1.0
offset_left = -129.5 offset_left = -322.0
offset_top = -362.0 offset_top = -362.0
offset_right = 129.5 offset_right = 322.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 0 grow_vertical = 0
@ -55,22 +58,19 @@ grow_vertical = 0
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 80 theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_821nm") theme_override_styles/focus = SubResource("StyleBoxFlat_821nm")
text = "Start" text = "BUTTON_START"
[node name="Debug" type="Button" parent="VBoxContainer"] [node name="Debug" type="Button" parent="VBoxContainer"]
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 80 theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs") theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Debug" text = "BUTTON_DEBUG"
[node name="Exit" type="Button" parent="VBoxContainer"] [node name="Exit" type="Button" parent="VBoxContainer"]
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 80 theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn") theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn")
text = "Exit" text = "BUTTON_EXIT"
[node name="Bottomhud" parent="." instance=ExtResource("4_0qcfw")]
layout_mode = 1
[connection signal="pressed" from="VBoxContainer/Start" to="." method="_on_start_pressed"] [connection signal="pressed" from="VBoxContainer/Start" to="." method="_on_start_pressed"]
[connection signal="pressed" from="VBoxContainer/Debug" to="." method="_on_debug_pressed"] [connection signal="pressed" from="VBoxContainer/Debug" to="." method="_on_debug_pressed"]

View file

@ -0,0 +1,75 @@
extends CharacterBody2D
var theta: float = 0.0
@export_range(0,2*PI) var alpha: float = 1.5
var bullet = load("res://sprites/common/bullet/arrow.tscn")
const SPEED = 300.0
const JUMP_VELOCITY = -400.0
var vangle = 2
var weakness = 1
func _ready():
var stimer = $Speed
stimer.start(0.05)
func get_vector(angle):
theta = angle + alpha
return Vector2(cos(theta),sin(theta))
# Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
@onready var anim := $AnimationPlayer
func _physics_process(delta):
velocity.x = 0
velocity.y = 0
# Add the gravity.
#var velocity = Vector2.ZERO
#if Global.live == 1:
#velocity = (Vector2.RIGHT.rotated(rotation) * 500 * Global.xm * delta)-Vector2.UP.rotated(rotation) * 500 * Global.ym * delta
#origmpos = get_viewport().get_mouse_position()
#if Input.get_joy_axis(0,JOY_AXIS_LEFT_Y) != 0:
# velocity = Vector2.UP.rotated(rotation) * -400 * Input.get_joy_axis(0,JOY_AXIS_LEFT_Y)
#position += velocity
position += velocity
if velocity.y > 0.3:
vangle = 2
elif velocity.y < -0.3:
vangle = 0
elif velocity.x > 0.3:
vangle = 1
elif velocity.x < -0.3:
vangle = 3
if velocity.y != 0 || velocity.x != 0:
if vangle == 0:
anim.play("nwalk")
elif vangle == 1:
anim.play("ewalk")
elif vangle == 3:
anim.play("wwalk")
else:
anim.play("swalk")
else:
if vangle == 0:
anim.play("nidle")
elif vangle == 1:
anim.play("eidle")
elif vangle == 3:
anim.play("widle")
else:
anim.play("sidle")
#move_and_slide()
func shoot(angle):
var new_bullet = bullet.instantiate()
new_bullet.position = Vector2(position.x, position.y)
new_bullet.direction = get_vector(angle)
new_bullet.btype = "boss"
get_parent().call_deferred("add_child",new_bullet)
func _on_speed_timeout():
if Global.live == 1:
shoot(theta)

View file

@ -0,0 +1,185 @@
[gd_scene load_steps=14 format=3 uid="uid://wo77i5ql2esb"]
[ext_resource type="Script" path="res://sprites/common/kimberly/kimberly.gd" id="1_g5qsa"]
[ext_resource type="Texture2D" uid="uid://by7git27p1fp6" path="res://sprites/common/kimberly/sprite.png" id="2_hhs4a"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_dj8gt"]
size = Vector2(86, 68)
[sub_resource type="Animation" id="Animation_i5rhc"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="Animation" id="Animation_8my4d"]
resource_name = "eidle"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [6]
}
[sub_resource type="Animation" id="Animation_op07l"]
resource_name = "ewalk"
length = 0.3
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [7, 6, 8]
}
[sub_resource type="Animation" id="Animation_cajcr"]
resource_name = "nidle"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0.2),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [3]
}
[sub_resource type="Animation" id="Animation_7lhgw"]
resource_name = "nwalk"
length = 0.3
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [4, 3, 5]
}
[sub_resource type="Animation" id="Animation_w3ius"]
resource_name = "sidle"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="Animation" id="Animation_u56r5"]
resource_name = "swalk"
length = 0.3
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [1, 0, 2]
}
[sub_resource type="Animation" id="Animation_isodq"]
resource_name = "widle"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0.2),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [9]
}
[sub_resource type="Animation" id="Animation_letwb"]
resource_name = "wwalk"
length = 0.3
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [10, 9, 11]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_mh65y"]
_data = {
"RESET": SubResource("Animation_i5rhc"),
"eidle": SubResource("Animation_8my4d"),
"ewalk": SubResource("Animation_op07l"),
"nidle": SubResource("Animation_cajcr"),
"nwalk": SubResource("Animation_7lhgw"),
"sidle": SubResource("Animation_w3ius"),
"swalk": SubResource("Animation_u56r5"),
"widle": SubResource("Animation_isodq"),
"wwalk": SubResource("Animation_letwb")
}
[node name="Kimberly" type="CharacterBody2D"]
script = ExtResource("1_g5qsa")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("2_hhs4a")
hframes = 3
vframes = 4
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, 94)
shape = SubResource("RectangleShape2D_dj8gt")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_mh65y")
}
[node name="Speed" type="Timer" parent="."]
wait_time = 0.1
[connection signal="timeout" from="Speed" to="." method="_on_speed_timeout"]

View file

@ -3,6 +3,11 @@ TEXT_CONTINUE;Press Enter or B to continue;Presiona Intro o B para continuar;Ent
TEXT_START;Press Enter or B to start;Presiona Intro o B para iniciar;EnterまたはBを押して開始します TEXT_START;Press Enter or B to start;Presiona Intro o B para iniciar;EnterまたはBを押して開始します
TEXT_EXIT;Press Escape or A to exit;Presiona Escape o A para salir;終了するにはEscまたはAを押してください TEXT_EXIT;Press Escape or A to exit;Presiona Escape o A para salir;終了するにはEscまたはAを押してください
GAME_NAME;Midori in the Magic School;Midori in the Magic School;改造魔法学校のミドリ GAME_NAME;Midori in the Magic School;Midori in the Magic School;改造魔法学校のミドリ
BUTTON_START;Start;Iniciar;始める
BUTTON_DEBUG;Debug;Depurar;デバッグ
MENU_DEBUG;Debug Menu;Menú de Depuración;デバッグメニュー
BUTTON_EXIT;Exit;Salir;このゲームを終了する
BUTTON_RETURN;Return;Atrás;戻る
SONG0_INFO;RELOADED\nRELOADED THEME\nMidori is now RELOADED;RELOADED\nRELOADED THEME\nMidori ahora esta RELOADED;RELOADED\nRELOADED THEME\n緑は今 RELOADED SONG0_INFO;RELOADED\nRELOADED THEME\nMidori is now RELOADED;RELOADED\nRELOADED THEME\nMidori ahora esta RELOADED;RELOADED\nRELOADED THEME\n緑は今 RELOADED
SONG1_INFO; Vince Kaichan\nJellies in the Sea\nA relaxing sea music to prepare you for this explosive Action RPG;Vince Kaichan\nJellies in the Sea\nUna relajante música marina que te preparará para este explosivo Action RPG;ヴィンス・カイチャン\nJellies in the Sea\n爆発的なアクションRPGに備えてリラックスできる海の音楽 SONG1_INFO; Vince Kaichan\nJellies in the Sea\nA relaxing sea music to prepare you for this explosive Action RPG;Vince Kaichan\nJellies in the Sea\nUna relajante música marina que te preparará para este explosivo Action RPG;ヴィンス・カイチャン\nJellies in the Sea\n爆発的なアクションRPGに備えてリラックスできる海の音楽
SONG2_INFO;Fearofdark\nGet A Brain Morans\nMeme Music for a meme themed stage.\nYou can enter here using Test Milk and\nget something interesting;Fearofdark\nGet A Brain Morans\nMúsica de Meme para un escenario con temática de memes.\nPuedes ingresar aquí usando la Leche de Pruebas y obtener algo interesante.;Fearofdark\nGet A Brain Morans\nミームをテーマにしたステージのミームミュージック\nTest Milkを使用してここに参加して、\t何か面白いものを手に入れましょう SONG2_INFO;Fearofdark\nGet A Brain Morans\nMeme Music for a meme themed stage.\nYou can enter here using Test Milk and\nget something interesting;Fearofdark\nGet A Brain Morans\nMúsica de Meme para un escenario con temática de memes.\nPuedes ingresar aquí usando la Leche de Pruebas y obtener algo interesante.;Fearofdark\nGet A Brain Morans\nミームをテーマにしたステージのミームミュージック\nTest Milkを使用してここに参加して、\t何か面白いものを手に入れましょう
@ -24,3 +29,7 @@ SONG17_INFO;motherchip\nportello\nI said that you are dead?\nForget it\nThis is
SONG18_INFO;Vince Kaichan\nsongbirds playground\nA happy song to forget that Kimberly will pull your ears\nwhen classes end\nYou know, that way to punish naughty elves like you;Vince Kaichan\nsongbirds playground\nA happy song to forget that Kimberly will pull your ears\nwhen classes end\nYou know, that way to punish naughty elves like you;ヴィンス・カイチャン\nsongbirds playground\nA happy song to forget that Kimberly will pull your ears\nwhen classes end\nYou know, that way to punish naughty elves like you SONG18_INFO;Vince Kaichan\nsongbirds playground\nA happy song to forget that Kimberly will pull your ears\nwhen classes end\nYou know, that way to punish naughty elves like you;Vince Kaichan\nsongbirds playground\nA happy song to forget that Kimberly will pull your ears\nwhen classes end\nYou know, that way to punish naughty elves like you;ヴィンス・カイチャン\nsongbirds playground\nA happy song to forget that Kimberly will pull your ears\nwhen classes end\nYou know, that way to punish naughty elves like you
SONG19_INFO;Vince Kaichan\nGotanda Lights\nThis forest is under the effect of quantum ice\nGo further and you will find a frozen lake\n and the origin of that quamtum ice;Vince Kaichan\nGotanda Lights\nThis forest is under the effect of quantum ice\nGo further and you will find a frozen lake\n and the origin of that quamtum ice;ヴィンス・カイチャン\nGotanda Lights\nThis forest is under the effect of quantum ice\nGo further and you will find a frozen lake\n and the origin of that quamtum ice SONG19_INFO;Vince Kaichan\nGotanda Lights\nThis forest is under the effect of quantum ice\nGo further and you will find a frozen lake\n and the origin of that quamtum ice;Vince Kaichan\nGotanda Lights\nThis forest is under the effect of quantum ice\nGo further and you will find a frozen lake\n and the origin of that quamtum ice;ヴィンス・カイチャン\nGotanda Lights\nThis forest is under the effect of quantum ice\nGo further and you will find a frozen lake\n and the origin of that quamtum ice
SONG20_INFO;rez-kenet\nunreeeal superhero 3\nReal superheroes are too mainstream\nYou can be somebody better;rez-kenet\nunreeeal superhero 3\nReal superheroes are too mainstream\nYou can be somebody better;rez-kenet\nunreeeal superhero 3\nReal superheroes are too mainstream\nYou can be somebody better SONG20_INFO;rez-kenet\nunreeeal superhero 3\nReal superheroes are too mainstream\nYou can be somebody better;rez-kenet\nunreeeal superhero 3\nReal superheroes are too mainstream\nYou can be somebody better;rez-kenet\nunreeeal superhero 3\nReal superheroes are too mainstream\nYou can be somebody better
DIALOG_CERES_L20_0;I wont be a healer;No seré una sanadora;私はヒーラーにはなりません
DIALOG_CERES_L20_1;I want a friendly challenge, loser will obey the winner;Haremos un reto amistoso, El perdedor obedecerá al ganador;友好的な挑戦をしたい、負けた者は勝者に従う
DIALOG_CERES_L20_2;My magic wand VS your bow;Mi vara mágica contra tu arco;私の魔法の杖 VS あなたの弓
CERES_L20_DESC;Kimberlys Challenge;Reto de Kimberly;キンバリーの挑戦

1 en es ja
3 TEXT_START Press Enter or B to start Presiona Intro o B para iniciar EnterまたはBを押して開始します
4 TEXT_EXIT Press Escape or A to exit Presiona Escape o A para salir 終了するにはEscまたはAを押してください
5 GAME_NAME Midori in the Magic School Midori in the Magic School 改造魔法学校のミドリ
6 BUTTON_START Start Iniciar 始める
7 BUTTON_DEBUG Debug Depurar デバッグ
8 MENU_DEBUG Debug Menu Menú de Depuración デバッグメニュー
9 BUTTON_EXIT Exit Salir このゲームを終了する
10 BUTTON_RETURN Return Atrás 戻る
11 SONG0_INFO RELOADED\nRELOADED THEME\nMidori is now RELOADED RELOADED\nRELOADED THEME\nMidori ahora esta RELOADED RELOADED\nRELOADED THEME\n緑は今 RELOADED
12 SONG1_INFO Vince Kaichan\nJellies in the Sea\nA relaxing sea music to prepare you for this explosive Action RPG Vince Kaichan\nJellies in the Sea\nUna relajante música marina que te preparará para este explosivo Action RPG ヴィンス・カイチャン\nJellies in the Sea\n爆発的なアクションRPGに備えてリラックスできる海の音楽
13 SONG2_INFO Fearofdark\nGet A Brain Morans\nMeme Music for a meme themed stage.\nYou can enter here using Test Milk and\nget something interesting Fearofdark\nGet A Brain Morans\nMúsica de Meme para un escenario con temática de memes.\nPuedes ingresar aquí usando la Leche de Pruebas y obtener algo interesante. Fearofdark\nGet A Brain Morans\nミームをテーマにしたステージのミームミュージック\nTest Milkを使用してここに参加して、\t何か面白いものを手に入れましょう
29 SONG18_INFO Vince Kaichan\nsongbirds playground\nA happy song to forget that Kimberly will pull your ears\nwhen classes end\nYou know, that way to punish naughty elves like you Vince Kaichan\nsongbirds playground\nA happy song to forget that Kimberly will pull your ears\nwhen classes end\nYou know, that way to punish naughty elves like you ヴィンス・カイチャン\nsongbirds playground\nA happy song to forget that Kimberly will pull your ears\nwhen classes end\nYou know, that way to punish naughty elves like you
30 SONG19_INFO Vince Kaichan\nGotanda Lights\nThis forest is under the effect of quantum ice\nGo further and you will find a frozen lake\n and the origin of that quamtum ice Vince Kaichan\nGotanda Lights\nThis forest is under the effect of quantum ice\nGo further and you will find a frozen lake\n and the origin of that quamtum ice ヴィンス・カイチャン\nGotanda Lights\nThis forest is under the effect of quantum ice\nGo further and you will find a frozen lake\n and the origin of that quamtum ice
31 SONG20_INFO rez-kenet\nunreeeal superhero 3\nReal superheroes are too mainstream\nYou can be somebody better rez-kenet\nunreeeal superhero 3\nReal superheroes are too mainstream\nYou can be somebody better rez-kenet\nunreeeal superhero 3\nReal superheroes are too mainstream\nYou can be somebody better
32 DIALOG_CERES_L20_0 I won’t be a healer No seré una sanadora 私はヒーラーにはなりません
33 DIALOG_CERES_L20_1 I want a friendly challenge, loser will obey the winner Haremos un reto amistoso, El perdedor obedecerá al ganador 友好的な挑戦をしたい、負けた者は勝者に従う
34 DIALOG_CERES_L20_2 My magic wand VS your bow Mi vara mágica contra tu arco 私の魔法の杖 VS あなたの弓
35 CERES_L20_DESC Kimberly’s Challenge Reto de Kimberly キンバリーの挑戦