Compare commits
10 commits
1fa3ca45ab
...
abaf27308b
Author | SHA1 | Date | |
---|---|---|---|
abaf27308b | |||
aa9872e679 | |||
87dfe3974f | |||
3a8db1ea12 | |||
1b57512bc1 | |||
72b62bf84f | |||
7b13a97367 | |||
53b4a42652 | |||
7876dee72d | |||
c2e1086003 |
BIN
Music and Fonts(Misc.)/Credit Music.ogg
Normal file
BIN
Music and Fonts(Misc.)/Credit Music.ogg
Normal file
Binary file not shown.
15
Music and Fonts(Misc.)/Credit Music.ogg.import
Normal file
15
Music and Fonts(Misc.)/Credit Music.ogg.import
Normal file
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="ogg_vorbis"
|
||||
type="AudioStreamOGGVorbis"
|
||||
path="res://.import/Credit Music.ogg-62f496e6e9dca116cd2c2175cb69ac2c.oggstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Music and Fonts(Misc.)/Credit Music.ogg"
|
||||
dest_files=[ "res://.import/Credit Music.ogg-62f496e6e9dca116cd2c2175cb69ac2c.oggstr" ]
|
||||
|
||||
[params]
|
||||
|
||||
loop=true
|
||||
loop_offset=0
|
141
levels/Campaign/Credits/Credits.tscn
Normal file
141
levels/Campaign/Credits/Credits.tscn
Normal file
|
@ -0,0 +1,141 @@
|
|||
[gd_scene load_steps=9 format=2]
|
||||
|
||||
[ext_resource path="res://Music and Fonts(Misc.)/Credit Music.ogg" type="AudioStream" id=2]
|
||||
[ext_resource path="res://art/Black.png" type="Texture" id=3]
|
||||
[ext_resource path="res://Music and Fonts(Misc.)/m5x7.ttf" type="DynamicFontData" id=4]
|
||||
[ext_resource path="res://art/Quit Death 1.png" type="Texture" id=5]
|
||||
[ext_resource path="res://art/Quit DEath 2.png" type="Texture" id=6]
|
||||
[ext_resource path="res://levels/Campaign/Credits/TextureButton.gd" type="Script" id=7]
|
||||
|
||||
[sub_resource type="DynamicFont" id=1]
|
||||
font_data = ExtResource( 4 )
|
||||
|
||||
[sub_resource type="Animation" id=2]
|
||||
resource_name = "Text Scroll"
|
||||
length = 60.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("CanvasLayer/Label:rect_position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0.1, 59.8, 65.4 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 30, 177 ), Vector2( 30, -615.567 ), Vector2( 30, -553 ) ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath("CanvasLayer/TextureButton:rect_position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0, 59.8 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 110, 830 ), Vector2( 110, 60 ) ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath("CanvasLayer/TextureButton:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"times": PoolRealArray( 0, 3 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ false, true ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("CanvasLayer/Label:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/keys = {
|
||||
"times": PoolRealArray( 0, 0.1 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ false, true ]
|
||||
}
|
||||
|
||||
[node name="Credits" type="Node"]
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="CanvasLayer"]
|
||||
texture = ExtResource( 3 )
|
||||
centered = false
|
||||
|
||||
[node name="Label" type="Label" parent="CanvasLayer"]
|
||||
margin_left = 30.0
|
||||
margin_top = 156.868
|
||||
margin_right = 293.0
|
||||
margin_bottom = 793.868
|
||||
custom_fonts/font = SubResource( 1 )
|
||||
text = "We can't thank you enough for playing our game. This is our first Game Jam/Coding experience, and had loads of fun. So sincerely, thank you.
|
||||
|
||||
|
||||
From Diego Lugo [dogtots]
|
||||
and Logan Gatlin [Tyranus]
|
||||
|
||||
|
||||
|
||||
Sprite Creator: Logan Gatlin [Tyranus]
|
||||
|
||||
Coders: Diego Lugo [dogtots],
|
||||
Logan Gatlin [Tyranus]
|
||||
|
||||
|
||||
Sources:
|
||||
Player and Enemy Sprites - Robert [0x72] (https://0x72.itch.io/dungeontileset-ii)
|
||||
|
||||
Inventory Sprites - Robert [0x72]
|
||||
(https://0x72.itch.io/dungeonui)
|
||||
|
||||
Music - Alexmax
|
||||
(https://opengameart.org/content/pixelated-music)
|
||||
|
||||
End Credit Music - Joe Hawley
|
||||
(https://www.youtube.com/watch?v=WOtTTkVuCwA)
|
||||
|
||||
Ambience - JaggedStone
|
||||
(https://opengameart.org/content/loopable-dungeon-ambience)
|
||||
|
||||
Sound Effects - (https://www.freesfx.co.uk/sfx/lever)
|
||||
|
||||
Sound Effects - Sfxr
|
||||
(https://www.drpetter.se/project_sfxr.html)
|
||||
|
||||
"
|
||||
align = 1
|
||||
autowrap = true
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="TextureButton" type="TextureButton" parent="CanvasLayer"]
|
||||
visible = false
|
||||
margin_left = 110.0
|
||||
margin_top = 809.186
|
||||
margin_right = 210.0
|
||||
margin_bottom = 859.186
|
||||
texture_normal = ExtResource( 5 )
|
||||
texture_hover = ExtResource( 6 )
|
||||
script = ExtResource( 7 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
autoplay = "Text Scroll"
|
||||
"anims/Text Scroll" = SubResource( 2 )
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 2 )
|
||||
volume_db = -14.312
|
||||
autoplay = true
|
||||
[connection signal="pressed" from="CanvasLayer/TextureButton" to="CanvasLayer/TextureButton" method="_on_TextureButton_pressed"]
|
20
levels/Campaign/Credits/TextureButton.gd
Normal file
20
levels/Campaign/Credits/TextureButton.gd
Normal file
|
@ -0,0 +1,20 @@
|
|||
extends TextureButton
|
||||
|
||||
|
||||
# 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_TextureButton_pressed():
|
||||
get_tree().quit()
|
8
levels/Campaign/Credits/Timer.gd
Normal file
8
levels/Campaign/Credits/Timer.gd
Normal file
|
@ -0,0 +1,8 @@
|
|||
extends Timer
|
||||
|
||||
onready var DamageCD = $DamageCD
|
||||
|
||||
func _on_Timer_timeout():
|
||||
if DamageCD.is_stopped():
|
||||
Player.current_scene = "res://levels/Campaign/End/End.tscn"
|
||||
get_tree().change_scene("res://levels/Campaign/End/End.tscn")
|
|
@ -168,6 +168,6 @@ __meta__ = {
|
|||
"_edit_use_anchors_": false
|
||||
}
|
||||
[connection signal="body_entered" from="Leap" to="Timer" method="_on_Leap_body_entered"]
|
||||
[connection signal="body_entered" from="Leap" to="AnimationPlayer2" method="_on_Leap_body_entered"]
|
||||
[connection signal="body_entered" from="Leap" to="AnimationPlayer" method="_on_Leap_body_entered"]
|
||||
[connection signal="body_entered" from="Leap" to="AnimationPlayer2" method="_on_Leap_body_entered"]
|
||||
[connection signal="timeout" from="Timer" to="Timer" method="_on_Timer_timeout"]
|
||||
|
|
|
@ -56,12 +56,6 @@ position = Vector2( 656, 272 )
|
|||
[node name="Skeleton Enemy3" parent="Enemy" instance=ExtResource( 2 )]
|
||||
position = Vector2( 800, 272 )
|
||||
|
||||
[node name="Skeleton Enemy4" parent="Enemy" instance=ExtResource( 2 )]
|
||||
position = Vector2( 864, 272 )
|
||||
|
||||
[node name="Skeleton Enemy5" parent="Enemy" instance=ExtResource( 2 )]
|
||||
position = Vector2( 736, 272 )
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource( 3 )]
|
||||
position = Vector2( 324, 253 )
|
||||
|
||||
|
|
|
@ -157,6 +157,6 @@ color = Color( 0.564706, 0.564706, 0.564706, 1 )
|
|||
|
||||
[node name="Ogre6" parent="." instance=ExtResource( 7 )]
|
||||
position = Vector2( 334, 85 )
|
||||
[connection signal="on" from="Lever" to="TileMapAppearing" method="_on_Lever_on"]
|
||||
[connection signal="on" from="Lever" to="TileMapDisapearing" method="_on_Lever_on"]
|
||||
[connection signal="on" from="Lever" to="TileMapAppearing" method="_on_Lever_on"]
|
||||
[connection signal="body_entered" from="Area2D" to="Area2D" method="_on_Area2D_body_entered"]
|
||||
|
|
File diff suppressed because one or more lines are too long
7
levels/Campaign/Level 5/Enemies.gd
Normal file
7
levels/Campaign/Level 5/Enemies.gd
Normal file
|
@ -0,0 +1,7 @@
|
|||
extends Node
|
||||
|
||||
signal fight_done
|
||||
|
||||
func _process(delta):
|
||||
if get_child_count() < 2:
|
||||
emit_signal("fight_done")
|
File diff suppressed because one or more lines are too long
|
@ -20,7 +20,7 @@ color = Color( 0.564706, 0.564706, 0.564706, 1 )
|
|||
position = Vector2( 128, 160 )
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource( 5 )]
|
||||
position = Vector2( 74, 158 )
|
||||
position = Vector2( 74, 157 )
|
||||
|
||||
[node name="torch" parent="." instance=ExtResource( 4 )]
|
||||
position = Vector2( 85, 91 )
|
||||
|
@ -28,8 +28,7 @@ position = Vector2( 85, 91 )
|
|||
[node name="torch2" parent="." instance=ExtResource( 4 )]
|
||||
position = Vector2( 171, 91 )
|
||||
|
||||
[node name="TileMap" parent="torch2" instance=ExtResource( 6 )]
|
||||
position = Vector2( -171, -91 )
|
||||
[node name="TileMap" parent="." instance=ExtResource( 6 )]
|
||||
tile_data = PoolIntArray( 131069, 0, 8, 131070, 0, 10, 131071, 0, 10, 65536, 0, 10, 65537, 0, 10, 65538, 0, 10, 65539, 0, 10, 65540, 0, 10, 65541, 0, 10, 65542, 0, 10, 65543, 0, 10, 65544, 0, 10, 65545, 0, 10, 65546, 0, 10, 65547, 0, 10, 65548, 0, 10, 65549, 0, 10, 65550, 0, 10, 65551, 0, 10, 65552, 0, 10, 65553, 0, 10, 65554, 0, 11, 196605, 0, 65544, 196606, 0, 131081, 196607, 0, 131081, 131072, 0, 131081, 131073, 0, 131081, 131074, 0, 131081, 131075, 0, 131081, 131076, 0, 131081, 131077, 0, 131081, 131078, 0, 131081, 131079, 0, 131081, 131080, 0, 131081, 131081, 0, 131081, 131082, 0, 131081, 131083, 0, 131081, 131084, 0, 131081, 131085, 0, 131081, 131086, 0, 131081, 131087, 0, 131081, 131088, 0, 131081, 131089, 0, 131081, 131090, 0, 131083, 262141, 0, 65544, 262142, 0, 131081, 262143, 0, 131081, 196608, 0, 131081, 196609, 0, 131078, 196610, 0, 196617, 196611, 0, 196617, 196612, 0, 196617, 196613, 0, 196617, 196614, 0, 196617, 196615, 0, 196617, 196616, 0, 196617, 196617, 0, 196617, 196618, 0, 196617, 196619, 0, 196617, 196620, 0, 196617, 196621, 0, 196617, 196622, 0, 131077, 196623, 0, 131081, 196624, 0, 131081, 196625, 0, 131081, 196626, 0, 131083, 327677, 0, 65544, 327678, 0, 131081, 327679, 0, 131081, 262144, 0, 131081, 262145, 0, 131083, 262158, 0, 65544, 262159, 0, 131081, 262160, 0, 131081, 262161, 0, 131081, 262162, 0, 131083, 393213, 0, 65544, 393214, 0, 131081, 393215, 0, 131081, 327680, 0, 131081, 327681, 0, 131083, 327694, 0, 65544, 327695, 0, 131081, 327696, 0, 131081, 327697, 0, 131081, 327698, 0, 131083, 458749, 0, 65544, 458750, 0, 131081, 458751, 0, 131081, 393216, 0, 131081, 393217, 0, 131083, 393230, 0, 65544, 393231, 0, 131081, 393232, 0, 131081, 393233, 0, 131081, 393234, 0, 131083, 524285, 0, 65544, 524286, 0, 131081, 524287, 0, 131081, 458752, 0, 131081, 458753, 0, 131083, 458766, 0, 65544, 458767, 0, 131081, 458768, 0, 131081, 458769, 0, 131081, 458770, 0, 131083, 589821, 0, 65544, 589822, 0, 131081, 589823, 0, 131081, 524288, 0, 131081, 524289, 0, 131083, 524302, 0, 65544, 524303, 0, 131081, 524304, 0, 131081, 524305, 0, 131081, 524306, 0, 131083, 655357, 0, 65544, 655358, 0, 131081, 655359, 0, 131081, 589824, 0, 131081, 589825, 0, 131083, 589838, 0, 65544, 589839, 0, 131081, 589840, 0, 131081, 589841, 0, 131081, 589842, 0, 131083, 720893, 0, 65544, 720894, 0, 131081, 720895, 0, 131081, 655360, 0, 131081, 655361, 0, 65542, 655362, 0, 10, 655363, 0, 10, 655364, 0, 10, 655365, 0, 10, 655366, 0, 10, 655367, 0, 10, 655368, 0, 10, 655369, 0, 10, 655370, 0, 10, 655371, 0, 10, 655372, 0, 10, 655373, 0, 10, 655374, 0, 65541, 655375, 0, 131081, 655376, 0, 131081, 655377, 0, 131081, 655378, 0, 131083, 786429, 0, 65544, 786430, 0, 131081, 786431, 0, 131081, 720896, 0, 131081, 720897, 0, 131081, 720898, 0, 131081, 720899, 0, 131081, 720900, 0, 131081, 720901, 0, 131081, 720902, 0, 131081, 720903, 0, 131081, 720904, 0, 131081, 720905, 0, 131081, 720906, 0, 131081, 720907, 0, 131081, 720908, 0, 131081, 720909, 0, 131081, 720910, 0, 131081, 720911, 0, 131081, 720912, 0, 131081, 720913, 0, 131081, 720914, 0, 131083, 851965, 0, 196616, 851966, 0, 196617, 851967, 0, 196617, 786432, 0, 196617, 786433, 0, 196617, 786434, 0, 196617, 786435, 0, 196617, 786436, 0, 196617, 786437, 0, 196617, 786438, 0, 196617, 786439, 0, 196617, 786440, 0, 196617, 786441, 0, 196617, 786442, 0, 196617, 786443, 0, 196617, 786444, 0, 196617, 786445, 0, 196617, 786446, 0, 196617, 786447, 0, 196617, 786448, 0, 196617, 786449, 0, 196617, 786450, 0, 196619 )
|
||||
|
||||
[node name="CanvasLayer" parent="." instance=ExtResource( 1 )]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
extends Projectile
|
||||
|
||||
func _ready():
|
||||
damage = 3
|
||||
damage = 2.5
|
||||
energy_cost = 3
|
||||
|
||||
func on_impact(collision):
|
||||
|
|
|
@ -2,9 +2,15 @@ extends Node
|
|||
|
||||
onready var MainMusic: AudioStreamPlayer = $MainMusic
|
||||
onready var Ambience: AudioStreamPlayer = $Ambience
|
||||
onready var CreditMusic: AudioStreamPlayer = $CreditMusic
|
||||
|
||||
func _process(delta):
|
||||
if not MainMusic.playing:
|
||||
MainMusic.playing = true
|
||||
if not Ambience.playing:
|
||||
Ambience.playing = true
|
||||
if Player.current_scene == "res://levels/Campaign/Credits/Credits.tscn":
|
||||
CreditMusic.playing = true
|
||||
MainMusic.playing = false
|
||||
Ambience.playing = false
|
||||
else:
|
||||
if not MainMusic.playing:
|
||||
MainMusic.playing = true
|
||||
if not Ambience.playing:
|
||||
Ambience.playing = true
|
||||
|
|
|
@ -14,3 +14,5 @@ volume_db = -4.0
|
|||
[node name="Ambience" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 2 )
|
||||
volume_db = -8.0
|
||||
|
||||
[node name="CreditMusic" type="AudioStreamPlayer" parent="."]
|
||||
|
|
|
@ -49,5 +49,4 @@ func do_exit():
|
|||
|
||||
|
||||
func _on_CanvasLayer_finished():
|
||||
Music.get_node("MainMusic").play(0.0)
|
||||
$Delay.start()
|
||||
|
|
|
@ -64,6 +64,7 @@ tracks/2/keys = {
|
|||
|
||||
[sub_resource type="Animation" id=3]
|
||||
length = 1.5
|
||||
step = 0.06
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Label:percent_visible")
|
||||
tracks/0/interp = 1
|
||||
|
@ -94,10 +95,12 @@ collision_mask = 2
|
|||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
modulate = Color( 1, 1, 1, 0.73047 )
|
||||
position = Vector2( 0, -12 )
|
||||
texture = ExtResource( 1 )
|
||||
vframes = 3
|
||||
hframes = 4
|
||||
frame = 3
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
autoplay = "Idle"
|
||||
|
@ -120,7 +123,7 @@ custom_fonts/font = SubResource( 6 )
|
|||
align = 1
|
||||
valign = 1
|
||||
autowrap = true
|
||||
percent_visible = 0.103
|
||||
percent_visible = 0.13888
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
|
63
npc/WizardBoss.gd
Normal file
63
npc/WizardBoss.gd
Normal file
|
@ -0,0 +1,63 @@
|
|||
extends KinematicBody2D
|
||||
|
||||
var velocity = Vector2.ZERO
|
||||
var line0 = ""
|
||||
var line1 = "Congratulations on making it to the end!"
|
||||
var line2 = "You have proven yourself to be adept with magic."
|
||||
var line3 = "However, there is one last task you must complete..."
|
||||
var line4 = "You must put all of your knowledge to the test"
|
||||
var line5 = "LET THE BATTLE BEGIN"
|
||||
var lines = [line0, line1, line2, line3, line4, line5]
|
||||
|
||||
var line_number = 0
|
||||
var current_line
|
||||
|
||||
signal dialogue_finished
|
||||
|
||||
func _process(delta):
|
||||
var p = Player.position
|
||||
if p.x > position.x:
|
||||
$Sprite.flip_h = false
|
||||
if p.x < position.x:
|
||||
$Sprite.flip_h = true
|
||||
current_line = lines[line_number]
|
||||
$Label.text = current_line
|
||||
|
||||
func _physics_process(delta):
|
||||
velocity.y += 20
|
||||
velocity = move_and_slide(velocity)
|
||||
|
||||
func next_line():
|
||||
print(Player.position)
|
||||
if line_number != 5:
|
||||
if line_number == 4 or line_number == 5:
|
||||
$Typewriter.play("FastTypewriter")
|
||||
else:
|
||||
$Typewriter.play("Typewriter")
|
||||
line_number = clamp(line_number + 1, 0, 5)
|
||||
else:
|
||||
$Timer.stop()
|
||||
emit_signal("dialogue_finished")
|
||||
start_battle()
|
||||
|
||||
func _on_Timer_timeout():
|
||||
next_line()
|
||||
|
||||
func _on_Delay_timeout():
|
||||
next_line()
|
||||
$Timer.start()
|
||||
|
||||
func _on_CanvasLayer_finished():
|
||||
$Delay.start()
|
||||
|
||||
func start_battle():
|
||||
$Typewriter.play("Exit")
|
||||
yield($Typewriter, "animation_finished")
|
||||
set_physics_process(false)
|
||||
position = Vector2(0, 86)
|
||||
$AnimationPlayer.stop()
|
||||
$Sprite.frame = 11
|
||||
$Label.visible = false
|
||||
$Typewriter.play("Enter")
|
||||
emit_signal("dialogue_finished")
|
||||
|
198
npc/WizardBoss.tscn
Normal file
198
npc/WizardBoss.tscn
Normal file
|
@ -0,0 +1,198 @@
|
|||
[gd_scene load_steps=13 format=2]
|
||||
|
||||
[ext_resource path="res://npc/WizardBoss.gd" type="Script" id=1]
|
||||
[ext_resource path="res://art/WizardM.png" type="Texture" id=2]
|
||||
[ext_resource path="res://art/light.png" type="Texture" id=3]
|
||||
|
||||
[sub_resource type="Animation" id=1]
|
||||
resource_name = "Idle"
|
||||
length = 0.6
|
||||
loop = true
|
||||
step = 0.05
|
||||
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.15, 0.3, 0.45 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ 0, 1, 2, 3 ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=8]
|
||||
resource_name = "Enter"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Sprite:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 0.5 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath("Light2D:energy")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0.5, 1 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0, 2.0 ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=2]
|
||||
resource_name = "Exit"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Label:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 0.5 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath("Sprite:modulate")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0.5, 1 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=7]
|
||||
resource_name = "FastTypewriter"
|
||||
length = 0.3
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Label:percent_visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 0.3 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0, 1.0 ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=3]
|
||||
length = 1.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Label:percent_visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 1.5 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.103, 1.0 ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=9]
|
||||
resource_name = "hit"
|
||||
length = 0.1
|
||||
step = 0.05
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Sprite:modulate")
|
||||
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 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 10, 10, 10, 1 ), Color( 1, 1, 1, 1 ) ]
|
||||
}
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=4]
|
||||
extents = Vector2( 7, 7 )
|
||||
|
||||
[sub_resource type="DynamicFontData" id=5]
|
||||
font_path = "res://Music and Fonts(Misc.)/m5x7.ttf"
|
||||
|
||||
[sub_resource type="DynamicFont" id=6]
|
||||
extra_spacing_top = -3
|
||||
extra_spacing_bottom = -3
|
||||
font_data = SubResource( 5 )
|
||||
|
||||
[node name="Wizard" type="KinematicBody2D"]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
position = Vector2( 0, -12 )
|
||||
texture = ExtResource( 2 )
|
||||
vframes = 3
|
||||
hframes = 4
|
||||
|
||||
[node name="Light2D" type="Light2D" parent="."]
|
||||
texture = ExtResource( 3 )
|
||||
color = Color( 0, 0.109804, 1, 1 )
|
||||
energy = 0.0
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
autoplay = "Idle"
|
||||
anims/Idle = SubResource( 1 )
|
||||
|
||||
[node name="Typewriter" type="AnimationPlayer" parent="."]
|
||||
anims/Enter = SubResource( 8 )
|
||||
anims/Exit = SubResource( 2 )
|
||||
anims/FastTypewriter = SubResource( 7 )
|
||||
anims/Typewriter = SubResource( 3 )
|
||||
anims/hit = SubResource( 9 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2( 0, -7 )
|
||||
shape = SubResource( 4 )
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
margin_left = -55.0
|
||||
margin_top = -63.0
|
||||
margin_right = 55.0
|
||||
margin_bottom = -26.0
|
||||
custom_fonts/font = SubResource( 6 )
|
||||
align = 1
|
||||
valign = 1
|
||||
autowrap = true
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 4.0
|
||||
|
||||
[node name="Delay" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
autostart = true
|
||||
|
||||
[node name="AttackTimer" type="Timer" parent="."]
|
||||
wait_time = 0.2
|
||||
one_shot = true
|
||||
|
||||
[node name="AttackDelay" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]
|
||||
[connection signal="timeout" from="Delay" to="." method="_on_Delay_timeout"]
|
||||
[connection signal="timeout" from="AttackTimer" to="." method="_on_AttackDelay_timeout"]
|
|
@ -27,8 +27,6 @@ func lock():
|
|||
func unlock():
|
||||
unlocked = true
|
||||
|
||||
|
||||
|
||||
func _on_x_timeout():
|
||||
Player.current_scene = next_scene
|
||||
get_tree().change_scene(""+next_scene+"")
|
||||
|
|
|
@ -115,4 +115,4 @@ __meta__ = {
|
|||
one_shot = true
|
||||
[connection signal="body_entered" from="Area2D" to="Area2D" method="_on_Area2D_body_entered"]
|
||||
[connection signal="animation_started" from="CanvasLayer/AnimationPlayer" to="." method="_on_animation_started"]
|
||||
[connection signal="timeout" from="CanvasLayer/Timer" to="." method="_on_Timer_timeout"]
|
||||
[connection signal="timeout" from="CanvasLayer/Timer" to="." method="_on_x_timeout"]
|
||||
|
|
Loading…
Reference in a new issue