First Level Test
This commit is contained in:
parent
c12c4be394
commit
d7fab32f44
16 changed files with 549 additions and 26 deletions
|
@ -8,15 +8,15 @@ var timelimit = 15000
|
|||
var wait
|
||||
var bossready = false
|
||||
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 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]]
|
||||
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 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 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"]
|
||||
|
|
31
levels/Ceres/L20.gd
Normal file
31
levels/Ceres/L20.gd
Normal 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
60
levels/Ceres/L20.tscn
Normal 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
52
levels/ui/ceres.gd
Normal 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
98
levels/ui/ceres.tscn
Normal 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"]
|
|
@ -30,12 +30,16 @@ texture = ExtResource("2_1w2er")
|
|||
|
||||
[node name="Game name" type="Label" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 339.0
|
||||
offset_left = 44.0
|
||||
offset_top = 61.0
|
||||
offset_right = 991.0
|
||||
offset_right = 1234.0
|
||||
offset_bottom = 207.0
|
||||
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="."]
|
||||
layout_mode = 1
|
||||
|
@ -44,9 +48,9 @@ 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
|
||||
offset_left = -342.0
|
||||
offset_top = -484.0
|
||||
offset_right = 342.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
|
||||
|
@ -72,10 +76,7 @@ text = "Sound Test"
|
|||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 80
|
||||
theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn")
|
||||
text = "Back"
|
||||
|
||||
[node name="Bottomhud" parent="." instance=ExtResource("4_ogmre")]
|
||||
layout_mode = 1
|
||||
text = "BUTTON_RETURN"
|
||||
|
||||
[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"]
|
||||
|
|
|
@ -207,7 +207,7 @@ text = "Boss Fight (Earth)"
|
|||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 25
|
||||
theme_override_styles/focus = SubResource("StyleBoxFlat_0dqsq")
|
||||
text = "Back"
|
||||
text = "BUTTON_RETURN"
|
||||
|
||||
[node name="Bottomhud" parent="." instance=ExtResource("4_a1ux8")]
|
||||
layout_mode = 1
|
||||
|
|
|
@ -64,3 +64,7 @@ func _on_disclaimer_pressed():
|
|||
|
||||
func _on_testrooms_pressed():
|
||||
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")
|
||||
|
|
|
@ -59,6 +59,12 @@ theme_override_font_sizes/font_size = 32
|
|||
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
|
||||
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"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 32
|
||||
|
@ -81,13 +87,14 @@ text = "Work in Progress"
|
|||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 32
|
||||
theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn")
|
||||
text = "Back"
|
||||
text = "BUTTON_RETURN"
|
||||
|
||||
[node name="Bottomhud" parent="." instance=ExtResource("4_2y7h7")]
|
||||
layout_mode = 1
|
||||
|
||||
[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/Ceres" to="." method="_on_ceres_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/WIP" to="." method="_on_wip_pressed"]
|
||||
|
|
|
@ -83,7 +83,7 @@ text = "Explosion"
|
|||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 25
|
||||
theme_override_styles/focus = SubResource("StyleBoxFlat_0dqsq")
|
||||
text = "Back"
|
||||
text = "BUTTON_RETURN"
|
||||
|
||||
[node name="Bottomhud" parent="." instance=ExtResource("4_xxv3m")]
|
||||
layout_mode = 1
|
||||
|
|
|
@ -23,6 +23,7 @@ grow_vertical = 2
|
|||
script = ExtResource("1_3bg6p")
|
||||
|
||||
[node name="Night Sky" type="TextureRect" parent="."]
|
||||
layout_mode = 0
|
||||
offset_right = 1280.0
|
||||
offset_bottom = 720.0
|
||||
texture = ExtResource("2_x41qm")
|
||||
|
@ -65,7 +66,7 @@ text = "Sound Effects"
|
|||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 80
|
||||
theme_override_styles/focus = SubResource("StyleBoxFlat_wro6j")
|
||||
text = "Back"
|
||||
text = "BUTTON_RETURN"
|
||||
|
||||
[node name="Bottomhud" parent="." instance=ExtResource("4_2a53a")]
|
||||
layout_mode = 1
|
||||
|
|
|
@ -89,7 +89,7 @@ text = "Unused"
|
|||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 32
|
||||
theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn")
|
||||
text = "Back"
|
||||
text = "BUTTON_RETURN"
|
||||
|
||||
[node name="Bottomhud" parent="." instance=ExtResource("4_jvl8w")]
|
||||
layout_mode = 1
|
||||
|
|
|
@ -38,6 +38,9 @@ theme_override_font_sizes/font_size = 95
|
|||
text = "GAME_NAME"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Bottomhud" parent="." instance=ExtResource("4_0qcfw")]
|
||||
layout_mode = 1
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 7
|
||||
|
@ -45,9 +48,9 @@ anchor_left = 0.5
|
|||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -129.5
|
||||
offset_left = -322.0
|
||||
offset_top = -362.0
|
||||
offset_right = 129.5
|
||||
offset_right = 322.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
|
||||
|
@ -55,22 +58,19 @@ grow_vertical = 0
|
|||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 80
|
||||
theme_override_styles/focus = SubResource("StyleBoxFlat_821nm")
|
||||
text = "Start"
|
||||
text = "BUTTON_START"
|
||||
|
||||
[node name="Debug" type="Button" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 80
|
||||
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
|
||||
text = "Debug"
|
||||
text = "BUTTON_DEBUG"
|
||||
|
||||
[node name="Exit" type="Button" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 80
|
||||
theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn")
|
||||
text = "Exit"
|
||||
|
||||
[node name="Bottomhud" parent="." instance=ExtResource("4_0qcfw")]
|
||||
layout_mode = 1
|
||||
text = "BUTTON_EXIT"
|
||||
|
||||
[connection signal="pressed" from="VBoxContainer/Start" to="." method="_on_start_pressed"]
|
||||
[connection signal="pressed" from="VBoxContainer/Debug" to="." method="_on_debug_pressed"]
|
||||
|
|
75
sprites/common/kimberly/kimberly.gd
Normal file
75
sprites/common/kimberly/kimberly.gd
Normal 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)
|
185
sprites/common/kimberly/kimberly.tscn
Normal file
185
sprites/common/kimberly/kimberly.tscn
Normal 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"]
|
9
text.csv
9
text.csv
|
@ -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_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;改造魔法学校のミドリ
|
||||
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
|
||||
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何か面白いものを手に入れましょう
|
||||
|
@ -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
|
||||
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
|
||||
DIALOG_CERES_L20_0;I won’t 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;Kimberly’s Challenge;Reto de Kimberly;キンバリーの挑戦
|
||||
|
|
|
Loading…
Reference in a new issue