Compare commits

..

10 commits

Author SHA1 Message Date
Diego abaf27308b The End.
fuck you.
2020-07-24 02:28:18 -05:00
Logan aa9872e679 final final final dont look above this is final 2020-07-24 02:24:17 -05:00
Logan 87dfe3974f Final i think 2020-07-24 02:21:43 -05:00
Logan 3a8db1ea12 Merge remote-tracking branch 'origin/master' 2020-07-24 02:11:44 -05:00
Diego 1b57512bc1 Credits done 2020-07-24 02:14:12 -05:00
Logan 72b62bf84f Final stage finished 2020-07-24 02:06:29 -05:00
Logan 7b13a97367 Merge remote-tracking branch 'origin/master' 2020-07-24 02:06:12 -05:00
Diego 53b4a42652 Credits done 2020-07-24 01:27:07 -05:00
Diego 7876dee72d Do Your magic 2020-07-24 00:51:57 -05:00
Logan c2e1086003 Merge remote-tracking branch 'origin/master' 2020-07-24 00:49:37 -05:00
21 changed files with 644 additions and 32 deletions

Binary file not shown.

View 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

View 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"]

View 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()

View 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")

View file

@ -168,6 +168,6 @@ __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[connection signal="body_entered" from="Leap" to="Timer" method="_on_Leap_body_entered"] [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="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"] [connection signal="timeout" from="Timer" to="Timer" method="_on_Timer_timeout"]

View file

@ -56,12 +56,6 @@ position = Vector2( 656, 272 )
[node name="Skeleton Enemy3" parent="Enemy" instance=ExtResource( 2 )] [node name="Skeleton Enemy3" parent="Enemy" instance=ExtResource( 2 )]
position = Vector2( 800, 272 ) 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 )] [node name="Player" parent="." instance=ExtResource( 3 )]
position = Vector2( 324, 253 ) position = Vector2( 324, 253 )

View file

@ -157,6 +157,6 @@ color = Color( 0.564706, 0.564706, 0.564706, 1 )
[node name="Ogre6" parent="." instance=ExtResource( 7 )] [node name="Ogre6" parent="." instance=ExtResource( 7 )]
position = Vector2( 334, 85 ) 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="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"] [connection signal="body_entered" from="Area2D" to="Area2D" method="_on_Area2D_body_entered"]

File diff suppressed because one or more lines are too long

View 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

View file

@ -20,7 +20,7 @@ color = Color( 0.564706, 0.564706, 0.564706, 1 )
position = Vector2( 128, 160 ) position = Vector2( 128, 160 )
[node name="Player" parent="." instance=ExtResource( 5 )] [node name="Player" parent="." instance=ExtResource( 5 )]
position = Vector2( 74, 158 ) position = Vector2( 74, 157 )
[node name="torch" parent="." instance=ExtResource( 4 )] [node name="torch" parent="." instance=ExtResource( 4 )]
position = Vector2( 85, 91 ) position = Vector2( 85, 91 )
@ -28,8 +28,7 @@ position = Vector2( 85, 91 )
[node name="torch2" parent="." instance=ExtResource( 4 )] [node name="torch2" parent="." instance=ExtResource( 4 )]
position = Vector2( 171, 91 ) position = Vector2( 171, 91 )
[node name="TileMap" parent="torch2" instance=ExtResource( 6 )] [node name="TileMap" parent="." instance=ExtResource( 6 )]
position = Vector2( -171, -91 )
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 ) 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 )] [node name="CanvasLayer" parent="." instance=ExtResource( 1 )]

View file

@ -1,7 +1,7 @@
extends Projectile extends Projectile
func _ready(): func _ready():
damage = 3 damage = 2.5
energy_cost = 3 energy_cost = 3
func on_impact(collision): func on_impact(collision):

View file

@ -2,9 +2,15 @@ extends Node
onready var MainMusic: AudioStreamPlayer = $MainMusic onready var MainMusic: AudioStreamPlayer = $MainMusic
onready var Ambience: AudioStreamPlayer = $Ambience onready var Ambience: AudioStreamPlayer = $Ambience
onready var CreditMusic: AudioStreamPlayer = $CreditMusic
func _process(delta): func _process(delta):
if not MainMusic.playing: if Player.current_scene == "res://levels/Campaign/Credits/Credits.tscn":
MainMusic.playing = true CreditMusic.playing = true
if not Ambience.playing: MainMusic.playing = false
Ambience.playing = true Ambience.playing = false
else:
if not MainMusic.playing:
MainMusic.playing = true
if not Ambience.playing:
Ambience.playing = true

View file

@ -14,3 +14,5 @@ volume_db = -4.0
[node name="Ambience" type="AudioStreamPlayer" parent="."] [node name="Ambience" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 2 ) stream = ExtResource( 2 )
volume_db = -8.0 volume_db = -8.0
[node name="CreditMusic" type="AudioStreamPlayer" parent="."]

View file

@ -49,5 +49,4 @@ func do_exit():
func _on_CanvasLayer_finished(): func _on_CanvasLayer_finished():
Music.get_node("MainMusic").play(0.0)
$Delay.start() $Delay.start()

View file

@ -64,6 +64,7 @@ tracks/2/keys = {
[sub_resource type="Animation" id=3] [sub_resource type="Animation" id=3]
length = 1.5 length = 1.5
step = 0.06
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/path = NodePath("Label:percent_visible") tracks/0/path = NodePath("Label:percent_visible")
tracks/0/interp = 1 tracks/0/interp = 1
@ -94,10 +95,12 @@ collision_mask = 2
script = ExtResource( 2 ) script = ExtResource( 2 )
[node name="Sprite" type="Sprite" parent="."] [node name="Sprite" type="Sprite" parent="."]
modulate = Color( 1, 1, 1, 0.73047 )
position = Vector2( 0, -12 ) position = Vector2( 0, -12 )
texture = ExtResource( 1 ) texture = ExtResource( 1 )
vframes = 3 vframes = 3
hframes = 4 hframes = 4
frame = 3
[node name="AnimationPlayer" type="AnimationPlayer" parent="."] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "Idle" autoplay = "Idle"
@ -120,7 +123,7 @@ custom_fonts/font = SubResource( 6 )
align = 1 align = 1
valign = 1 valign = 1
autowrap = true autowrap = true
percent_visible = 0.103 percent_visible = 0.13888
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }

63
npc/WizardBoss.gd Normal file
View 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
View 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"]

View file

@ -27,8 +27,6 @@ func lock():
func unlock(): func unlock():
unlocked = true unlocked = true
func _on_x_timeout(): func _on_x_timeout():
Player.current_scene = next_scene Player.current_scene = next_scene
get_tree().change_scene(""+next_scene+"") get_tree().change_scene(""+next_scene+"")

View file

@ -115,4 +115,4 @@ __meta__ = {
one_shot = true one_shot = true
[connection signal="body_entered" from="Area2D" to="Area2D" method="_on_Area2D_body_entered"] [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="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"]