diff --git a/cursor.png b/cursor.png new file mode 100644 index 0000000..74decdc Binary files /dev/null and b/cursor.png differ diff --git a/cursor.png.import b/cursor.png.import new file mode 100644 index 0000000..86d1bd7 --- /dev/null +++ b/cursor.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4ala24fewn5t" +path="res://.godot/imported/cursor.png-9207886fa5a62b74129e260ee150454e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cursor.png" +dest_files=["res://.godot/imported/cursor.png-9207886fa5a62b74129e260ee150454e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/global.gd b/global.gd index 1b2205f..c980a1d 100644 --- a/global.gd +++ b/global.gd @@ -7,25 +7,25 @@ var mousepos var timelimit = 15000 var wait var bossready = false -const pcnames = ["Midori Asgardius", "Diana Asgardius", null, null, 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 pcfaces = [["res://sprites/common/midori/face.png"], ["res://sprites/common/tuna/face.png"], [null], [null], [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], [null], [null], [null], [null], [null], [null], ["res://sprites/common/natasha/facehud.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 npcfaces = ["res://sprites/common/midori/face.png",null, null, null, 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], [null], [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], [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], [null], [null], [null], [null], [null], [null], [100, 100, null, null, 100, null, null]] +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]]]] 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, null, null, null, null, null, null, "res://sprites/common/bullet/snowflake.tscn"] -const pcspecialities = [1, 2, null, null, null, null, null, null, null, 0] -const pchars = [["res://sprites/common/midori/sprite.png"], ["res://sprites/common/tuna/sprite.png"], [null], [null], [null], [null], [null], [null], [null], ["res://sprites/common/natasha/sprite.png"]] +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 pcspecialities = [1, 2, null, 3, null, null, null, null, null, 0] +const pchars = [["res://sprites/common/midori/sprite.png"], ["res://sprites/common/tuna/sprite.png"], [null], ["res://sprites/common/kimberly/sprite.png"], [null], [null], [null], [null], [null], ["res://sprites/common/natasha/sprite.png"]] const npchars = ["res://sprites/common/midori/sprite.png", null, null, null, null, null, null, null, null, "res://sprites/common/natasha/sprite.png"] -var party = [[0,0], [1,0], [9,0], [null,null]] +var party = [[0,0], [1,0], [9,0], [3,0]] const specialities = [2, 0, 3, 1, 5, 4] -var dparty = [[0,0], [1,0], [9,0], [null,null]] +var dparty = [[0,0], [1,0], [9,0], [3,0]] var cpchar = 0 var dcpchar = 0 var mangohud = false diff --git a/sprites/common/bullet/X11.gd b/sprites/common/bullet/X11.gd index c643bde..820b1a2 100644 --- a/sprites/common/bullet/X11.gd +++ b/sprites/common/bullet/X11.gd @@ -5,7 +5,8 @@ var speciality var btype # Called when the node enters the scene tree for the first time. func _ready(): - speciality = Global.pcspecialities[Global.dparty[Global.dcpchar][0]] + if is_in_group("players"): + speciality = Global.pcspecialities[Global.dparty[Global.dcpchar][0]] add_to_group(btype) #pass # Replace with function body. diff --git a/sprites/common/bullet/arrow.gd b/sprites/common/bullet/arrow.gd new file mode 100644 index 0000000..2d35f7e --- /dev/null +++ b/sprites/common/bullet/arrow.gd @@ -0,0 +1,49 @@ +extends Area2D +var velocity: Vector2 = Vector2() +var direction +var speciality +var speed = 100 +var btype +var isvisible +# Called when the node enters the scene tree for the first time. +func _ready(): + if is_in_group("players"): + speciality = Global.pcspecialities[Global.dparty[Global.dcpchar][0]] + isvisible = $VisibleOnScreenNotifier2D + add_to_group(btype) + rotation = velocity.angle() + #pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + +func _physics_process(delta): + if isvisible.is_on_screen(): + if direction == null: + position += velocity * delta + else: + position += speed * delta * direction + + +func _on_body_entered(body): + if !body.is_in_group(btype): + if body.is_in_group("players") || body.is_in_group("boss") || body.is_in_group("enemies"): + if body.weakness == speciality: + print("weakness") + #if body.is_in_group("players"): + # Global.live = 2 + #elif body.is_in_group("enemies"): + # Global.live = 3 + #elif body.is_in_group("boss"): + # Global.live = 3 + queue_free() + + + + +func _on_area_entered(area): + if !area.is_in_group(btype): + queue_free() + #pass # Replace with function body. diff --git a/sprites/common/bullet/arrow.png b/sprites/common/bullet/arrow.png new file mode 100644 index 0000000..b680e3a Binary files /dev/null and b/sprites/common/bullet/arrow.png differ diff --git a/sprites/common/bullet/arrow.png.import b/sprites/common/bullet/arrow.png.import new file mode 100644 index 0000000..74fc5df --- /dev/null +++ b/sprites/common/bullet/arrow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bxbokpmpq22mg" +path="res://.godot/imported/arrow.png-5e13463477a6141db7ab43a9f24ff76d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/common/bullet/arrow.png" +dest_files=["res://.godot/imported/arrow.png-5e13463477a6141db7ab43a9f24ff76d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/sprites/common/bullet/arrow.tscn b/sprites/common/bullet/arrow.tscn new file mode 100644 index 0000000..d7bf77b --- /dev/null +++ b/sprites/common/bullet/arrow.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=4 format=3 uid="uid://batibvdy0i2b4"] + +[ext_resource type="Script" path="res://sprites/common/bullet/arrow.gd" id="1_xh7h3"] +[ext_resource type="Texture2D" uid="uid://bxbokpmpq22mg" path="res://sprites/common/bullet/arrow.png" id="2_1l581"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_g125y"] +size = Vector2(129, 60) + +[node name="Arrow" type="Area2D"] +script = ExtResource("1_xh7h3") + +[node name="Sprite2D" type="Sprite2D" parent="."] +rotation = 3.14159 +texture = ExtResource("2_1l581") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0.5, 0) +shape = SubResource("RectangleShape2D_g125y") + +[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."] +position = Vector2(-7.15256e-07, -1.43051e-06) +scale = Vector2(3, 3) + +[connection signal="area_entered" from="." to="." method="_on_area_entered"] +[connection signal="body_entered" from="." to="." method="_on_body_entered"]