Compare commits
No commits in common. "85eee00790f205e0297a85fc90ad09dbee509f16" and "07e54a2cdfc4d9d75f3871baff168bb8814a54f8" have entirely different histories.
85eee00790
...
07e54a2cdf
11 changed files with 6 additions and 172 deletions
26
blob.gd
26
blob.gd
|
|
@ -1,26 +0,0 @@
|
||||||
extends Node2D
|
|
||||||
|
|
||||||
|
|
||||||
var moving = false
|
|
||||||
@onready var player = get_tree().get_root().get_node("main/Player")
|
|
||||||
@onready var target = player.position
|
|
||||||
var speed = 500
|
|
||||||
|
|
||||||
var reached = false
|
|
||||||
signal target_reached
|
|
||||||
|
|
||||||
func _ready() -> void:
|
|
||||||
await get_tree().create_timer(1).timeout
|
|
||||||
moving = true
|
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
|
||||||
if moving:
|
|
||||||
position += (target - global_position).normalized().rotated(-get_parent().rotation) * speed * delta
|
|
||||||
if((global_position - target).length() < 40):
|
|
||||||
moving = false
|
|
||||||
if not reached:
|
|
||||||
target_reached.emit()
|
|
||||||
reached = true
|
|
||||||
if has_node("Area2D") and $Area2D.overlaps_body(player):
|
|
||||||
player.hurt(1, global_position-player.position)
|
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
uid://d4n32kt7t726k
|
|
||||||
32
blob_big.gd
32
blob_big.gd
|
|
@ -1,32 +0,0 @@
|
||||||
extends Node2D
|
|
||||||
@onready var player = get_tree().get_root().get_node("main/Player")
|
|
||||||
var speed = 200
|
|
||||||
var angular_speed = TAU/8
|
|
||||||
var lifetime = 5
|
|
||||||
|
|
||||||
var ready_blobs = 0
|
|
||||||
var num_blobs = 4
|
|
||||||
|
|
||||||
var particles_ended = false
|
|
||||||
|
|
||||||
func _on_target_reached():
|
|
||||||
ready_blobs += 1
|
|
||||||
|
|
||||||
func _ready() -> void:
|
|
||||||
for child in get_children():
|
|
||||||
if "target_reached" in child:
|
|
||||||
child.connect("target_reached", _on_target_reached)
|
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
|
||||||
if ready_blobs == num_blobs:
|
|
||||||
position += (player.position - position).normalized() * speed * delta
|
|
||||||
rotate(angular_speed * delta)
|
|
||||||
lifetime -= delta
|
|
||||||
if lifetime < 0 and not particles_ended:
|
|
||||||
particles_ended = true
|
|
||||||
for child in get_children():
|
|
||||||
if "target_reached" in child:
|
|
||||||
child.get_node("GPUParticles2D").emitting = false
|
|
||||||
child.get_node("Area2D").queue_free()
|
|
||||||
if lifetime < -2:
|
|
||||||
queue_free()
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
uid://b22hbgn80m4l0
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
[gd_scene load_steps=3 format=3 uid="uid://bg2hgia0jqnqf"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://b22hbgn80m4l0" path="res://blob_big.gd" id="1_xkk63"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://ck0bj7444wfsl" path="res://blob_small.tscn" id="2_jl75s"]
|
|
||||||
|
|
||||||
[node name="blob_big" type="Node2D"]
|
|
||||||
script = ExtResource("1_xkk63")
|
|
||||||
|
|
||||||
[node name="Blob" parent="." instance=ExtResource("2_jl75s")]
|
|
||||||
position = Vector2(400, 0)
|
|
||||||
|
|
||||||
[node name="Blob2" parent="." instance=ExtResource("2_jl75s")]
|
|
||||||
position = Vector2(-400, 0)
|
|
||||||
|
|
||||||
[node name="Blob3" parent="." instance=ExtResource("2_jl75s")]
|
|
||||||
position = Vector2(0, -400)
|
|
||||||
|
|
||||||
[node name="Blob4" parent="." instance=ExtResource("2_jl75s")]
|
|
||||||
position = Vector2(0, 400)
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
[gd_scene load_steps=5 format=3 uid="uid://ck0bj7444wfsl"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://d4n32kt7t726k" path="res://blob.gd" id="1_wigkh"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dvlvu37up72gt" path="res://bubble.png" id="2_jle3w"]
|
|
||||||
|
|
||||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_aaw6g"]
|
|
||||||
particle_flag_disable_z = true
|
|
||||||
emission_shape = 1
|
|
||||||
emission_sphere_radius = 53.96
|
|
||||||
angular_velocity_min = -1.60933e-05
|
|
||||||
angular_velocity_max = -1.60933e-05
|
|
||||||
orbit_velocity_min = 0.184
|
|
||||||
orbit_velocity_max = 0.184
|
|
||||||
radial_velocity_min = 91.95
|
|
||||||
radial_velocity_max = 160.92
|
|
||||||
gravity = Vector3(0, 0, 0)
|
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_i5m1y"]
|
|
||||||
radius = 45.0
|
|
||||||
|
|
||||||
[node name="Blob" type="Node2D"]
|
|
||||||
script = ExtResource("1_wigkh")
|
|
||||||
|
|
||||||
[node name="GPUParticles2D" type="GPUParticles2D" parent="."]
|
|
||||||
amount = 100
|
|
||||||
texture = ExtResource("2_jle3w")
|
|
||||||
lifetime = 0.1
|
|
||||||
speed_scale = 0.3
|
|
||||||
fixed_fps = 60
|
|
||||||
process_material = SubResource("ParticleProcessMaterial_aaw6g")
|
|
||||||
|
|
||||||
[node name="Area2D" type="Area2D" parent="."]
|
|
||||||
collision_layer = 0
|
|
||||||
collision_mask = 4
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
|
||||||
shape = SubResource("CircleShape2D_i5m1y")
|
|
||||||
7
boss.gd
7
boss.gd
|
|
@ -3,7 +3,6 @@ extends CharacterBody2D
|
||||||
@onready var player = get_tree().get_root().get_node("main/Player")
|
@onready var player = get_tree().get_root().get_node("main/Player")
|
||||||
var moves = ["slam", "wave", "water_rise", "splash"]
|
var moves = ["slam", "wave", "water_rise", "splash"]
|
||||||
@onready var next_move = choose_next_move()
|
@onready var next_move = choose_next_move()
|
||||||
@export var big_blob : PackedScene
|
|
||||||
|
|
||||||
var risen = 0
|
var risen = 0
|
||||||
var attack_ready = true
|
var attack_ready = true
|
||||||
|
|
@ -81,9 +80,5 @@ func water_rise():
|
||||||
attack_ready = true
|
attack_ready = true
|
||||||
|
|
||||||
func splash():
|
func splash():
|
||||||
var blob_instance = big_blob.instantiate()
|
await get_tree().create_timer(4).timeout
|
||||||
get_tree().get_root().add_child(blob_instance)
|
|
||||||
blob_instance.position = player.position
|
|
||||||
blob_instance.rotation = randf_range(0, TAU)
|
|
||||||
await get_tree().create_timer(5).timeout
|
|
||||||
attack_ready = true
|
attack_ready = true
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
[gd_scene load_steps=8 format=3 uid="uid://cpe4s6vsn0ujd"]
|
[gd_scene load_steps=7 format=3 uid="uid://cpe4s6vsn0ujd"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://d3b5hmhjw2jyc" path="res://enemies/ghost animation/Ghost 1.png" id="1_6xxrv"]
|
[ext_resource type="Texture2D" uid="uid://d3b5hmhjw2jyc" path="res://enemies/ghost animation/Ghost 1.png" id="1_6xxrv"]
|
||||||
[ext_resource type="Script" uid="uid://uv672p8f4n6k" path="res://boss.gd" id="1_skx2t"]
|
[ext_resource type="Script" uid="uid://uv672p8f4n6k" path="res://boss.gd" id="1_skx2t"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bg2hgia0jqnqf" path="res://blob_big.tscn" id="2_o1i15"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://mtfsdd4cdf3a" path="res://utils/enemy_hurtbox.tscn" id="2_skx2t"]
|
[ext_resource type="PackedScene" uid="uid://mtfsdd4cdf3a" path="res://utils/enemy_hurtbox.tscn" id="2_skx2t"]
|
||||||
[ext_resource type="PackedScene" uid="uid://chs0u61f45nau" path="res://utils/earth_aligner.tscn" id="4_lnbgr"]
|
[ext_resource type="PackedScene" uid="uid://chs0u61f45nau" path="res://utils/earth_aligner.tscn" id="4_lnbgr"]
|
||||||
|
|
||||||
|
|
@ -14,7 +13,6 @@ size = Vector2(300, 250)
|
||||||
[node name="Boss" type="CharacterBody2D"]
|
[node name="Boss" type="CharacterBody2D"]
|
||||||
collision_mask = 32
|
collision_mask = 32
|
||||||
script = ExtResource("1_skx2t")
|
script = ExtResource("1_skx2t")
|
||||||
big_blob = ExtResource("2_o1i15")
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
rotation = 1.5708
|
rotation = 1.5708
|
||||||
|
|
|
||||||
BIN
bubble.png
BIN
bubble.png
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 KiB |
|
|
@ -1,40 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://dvlvu37up72gt"
|
|
||||||
path="res://.godot/imported/bubble.png-3dc4d46c6bed7b70ac6f4b3bfb630a9b.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://bubble.png"
|
|
||||||
dest_files=["res://.godot/imported/bubble.png-3dc4d46c6bed7b70ac6f4b3bfb630a9b.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
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/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
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
|
|
||||||
11
main.tscn
11
main.tscn
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=12 format=3 uid="uid://cxo6bq26huau7"]
|
[gd_scene load_steps=11 format=3 uid="uid://cxo6bq26huau7"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://cmaovvr15b3qk" path="res://player/player.tscn" id="2_1bvp3"]
|
[ext_resource type="PackedScene" uid="uid://cmaovvr15b3qk" path="res://player/player.tscn" id="2_1bvp3"]
|
||||||
[ext_resource type="Texture2D" uid="uid://d3fpq76anm4t7" path="res://world/Background Prototype/Background prototype.png" id="3_kek77"]
|
[ext_resource type="Texture2D" uid="uid://d3fpq76anm4t7" path="res://world/Background Prototype/Background prototype.png" id="3_kek77"]
|
||||||
|
|
@ -10,7 +10,6 @@
|
||||||
[ext_resource type="Script" uid="uid://3k6r3jnko4hg" path="res://show_fps.gd" id="8_5vw27"]
|
[ext_resource type="Script" uid="uid://3k6r3jnko4hg" path="res://show_fps.gd" id="8_5vw27"]
|
||||||
[ext_resource type="PackedScene" uid="uid://b62xcg0dd3vct" path="res://enemies/leech.tscn" id="9_kek77"]
|
[ext_resource type="PackedScene" uid="uid://b62xcg0dd3vct" path="res://enemies/leech.tscn" id="9_kek77"]
|
||||||
[ext_resource type="PackedScene" uid="uid://ca5ndobertnp4" path="res://water/water.tscn" id="10_4c57u"]
|
[ext_resource type="PackedScene" uid="uid://ca5ndobertnp4" path="res://water/water.tscn" id="10_4c57u"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cpe4s6vsn0ujd" path="res://boss.tscn" id="11_efxa6"]
|
|
||||||
|
|
||||||
[node name="main" type="Node2D"]
|
[node name="main" type="Node2D"]
|
||||||
|
|
||||||
|
|
@ -69,15 +68,16 @@ script = ExtResource("8_5vw27")
|
||||||
[node name="Leech" parent="." instance=ExtResource("9_kek77")]
|
[node name="Leech" parent="." instance=ExtResource("9_kek77")]
|
||||||
position = Vector2(0, -3015)
|
position = Vector2(0, -3015)
|
||||||
|
|
||||||
|
[node name="Boss" parent="." instance=ExtResource("10_4c57u")]
|
||||||
|
position = Vector2(0, -3500)
|
||||||
|
|
||||||
[node name="Water" parent="." instance=ExtResource("10_4c57u")]
|
[node name="Water" parent="." instance=ExtResource("10_4c57u")]
|
||||||
z_index = 15
|
z_index = 15
|
||||||
|
|
||||||
[node name="CanvasLayer-1" type="CanvasLayer" parent="."]
|
[node name="CanvasLayer-1" type="CanvasLayer" parent="."]
|
||||||
layer = -1
|
layer = -1
|
||||||
visible = false
|
|
||||||
|
|
||||||
[node name="ColorRect" type="TextureRect" parent="CanvasLayer-1"]
|
[node name="ColorRect" type="TextureRect" parent="CanvasLayer-1"]
|
||||||
visible = false
|
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
|
|
@ -85,9 +85,6 @@ grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
texture = ExtResource("3_kek77")
|
texture = ExtResource("3_kek77")
|
||||||
|
|
||||||
[node name="Boss" parent="." instance=ExtResource("11_efxa6")]
|
|
||||||
position = Vector2(0, -3500)
|
|
||||||
|
|
||||||
[connection signal="active_item_changed" from="Player" to="CanvasLayer1/ItemUI" method="_on_player_active_item_changed"]
|
[connection signal="active_item_changed" from="Player" to="CanvasLayer1/ItemUI" method="_on_player_active_item_changed"]
|
||||||
[connection signal="health_changed" from="Player" to="CanvasLayer1/Healthbar" method="_on_player_health_changed"]
|
[connection signal="health_changed" from="Player" to="CanvasLayer1/Healthbar" method="_on_player_health_changed"]
|
||||||
[connection signal="max_hp_changed" from="Player" to="CanvasLayer1/Healthbar" method="_on_player_max_hp_changed"]
|
[connection signal="max_hp_changed" from="Player" to="CanvasLayer1/Healthbar" method="_on_player_max_hp_changed"]
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue