added green attack, enemy

This commit is contained in:
Daniel Kauss Serna 2026-03-13 17:10:47 +01:00
parent f852b0a30e
commit 2bf9db610e
43 changed files with 673 additions and 246 deletions

View file

@ -33,7 +33,7 @@ attack_charge_time = 0.1
flee_range = 0.0
approach_range = 60.0
current_mask_data = ExtResource("2_j1ss0")
move_speed = 80.0
move_speed = 60.0
main_visual = NodePath("Anim")
death_scene = ExtResource("3_esqeu")

37
scenes/env_particles.tscn Normal file
View file

@ -0,0 +1,37 @@
[gd_scene format=3 uid="uid://bfuksmq20k8sa"]
[ext_resource type="Texture2D" uid="uid://dd1us1nw7uqkh" path="res://assets/vfx/leafs.png" id="1_b522c"]
[ext_resource type="Script" uid="uid://cakh44cbphr4s" path="res://scripts/screen_particles.gd" id="2_elx8x"]
[sub_resource type="AtlasTexture" id="AtlasTexture_fma68"]
atlas = ExtResource("1_b522c")
region = Rect2(0, 0, 8, 8)
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_h77w7"]
particle_flag_disable_z = true
emission_shape = 3
emission_box_extents = Vector3(1000, 16.01, 0)
angle_min = -279.5
angle_max = 313.40002
direction = Vector3(0, 1, 0)
spread = 15.0
initial_velocity_min = 61.85
initial_velocity_max = 247.43
angular_velocity_min = -177.88
angular_velocity_max = 177.87997
gravity = Vector3(-200, 300, 0)
turbulence_enabled = true
turbulence_noise_strength = 0.1
turbulence_noise_scale = 4.253
turbulence_noise_speed_random = 0.32
[node name="EnvParticles" type="GPUParticles2D" unique_id=786365479]
modulate = Color(0.75430965, 0.9297428, 1.0795158, 1)
amount = 512
texture = SubResource("AtlasTexture_fma68")
lifetime = 20.0
preprocess = 3.0
fixed_fps = 0
draw_order = 0
process_material = SubResource("ParticleProcessMaterial_h77w7")
script = ExtResource("2_elx8x")

47
scenes/green_enemy.tscn Normal file
View file

@ -0,0 +1,47 @@
[gd_scene format=3 uid="uid://gocrwmgwlk4l"]
[ext_resource type="Script" uid="uid://bsd253gjums2r" path="res://green_enemy.gd" id="1_nuwt0"]
[ext_resource type="Resource" uid="uid://cmcdkylu5hog2" path="res://resources/grenade.tres" id="2_go8sg"]
[ext_resource type="Texture2D" uid="uid://bbmtfih341ity" path="res://assets/enemies/green_(plum)-1.png" id="3_c4k54"]
[ext_resource type="Texture2D" uid="uid://binu4ig8dwobe" path="res://assets/enemies/green_(plum)-2.png" id="4_s3gbq"]
[ext_resource type="Texture2D" uid="uid://c2dgywtcsuicp" path="res://assets/enemies/green_(plum)-3.png" id="5_io1dp"]
[ext_resource type="Texture2D" uid="uid://bpf15ye4rok7r" path="res://assets/enemies/green_(plum)-4.png" id="6_0v5hx"]
[sub_resource type="SpriteFrames" id="SpriteFrames_qegda"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("3_c4k54")
}, {
"duration": 1.0,
"texture": ExtResource("4_s3gbq")
}, {
"duration": 1.0,
"texture": ExtResource("5_io1dp")
}, {
"duration": 1.0,
"texture": ExtResource("6_0v5hx")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_nuwt0"]
radius = 15.0
[node name="GreenEnemy" type="CharacterBody2D" unique_id=2025157106 node_paths=PackedStringArray("main_visual")]
script = ExtResource("1_nuwt0")
flee_range = 100.0
approach_range = 200.0
current_mask_data = ExtResource("2_go8sg")
main_visual = NodePath("AnimatedSprite2D")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=876664215]
sprite_frames = SubResource("SpriteFrames_qegda")
frame = 3
frame_progress = 0.72517973
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1259136395]
position = Vector2(0, 10)
shape = SubResource("CircleShape2D_nuwt0")

View file

@ -0,0 +1,30 @@
[gd_scene format=3 uid="uid://dqu37r80dlxao"]
[ext_resource type="Texture2D" uid="uid://d1ybbm5tk1tbd" path="res://assets/vfx/particle_star.png" id="1_rocpj"]
[sub_resource type="Curve" id="Curve_mb78c"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="Gradient" id="Gradient_68us8"]
offsets = PackedFloat32Array(0, 0.61440676, 1)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
[node name="GreenExplosion" type="CPUParticles2D" unique_id=490180742]
emitting = false
amount = 120
texture = ExtResource("1_rocpj")
one_shot = true
explosiveness = 1.0
spread = 180.0
gravity = Vector2(0, -100)
initial_velocity_max = 86.95
damping_min = 100.0
damping_max = 100.0
damping_curve = SubResource("Curve_mb78c")
angle_min = -386.1
angle_max = 427.8
scale_amount_min = 2.0
scale_amount_max = 4.0
color = Color(0.6155507, 1, 0.45411357, 1)
color_ramp = SubResource("Gradient_68us8")

26
scenes/grenade.tscn Normal file
View file

@ -0,0 +1,26 @@
[gd_scene format=3 uid="uid://b6n1ogixc2chy"]
[ext_resource type="Script" uid="uid://6ep27l6iw1hi" path="res://scripts/grenade.gd" id="1_wxtds"]
[ext_resource type="PackedScene" uid="uid://dqu37r80dlxao" path="res://scenes/green_explosion.tscn" id="2_76ndk"]
[ext_resource type="Texture2D" uid="uid://br8dx2f3mfxcd" path="res://assets/masks/grenade.png" id="2_vhiwl"]
[ext_resource type="Script" uid="uid://ejd25ul4j5pp" path="res://scripts/hitbox.gd" id="3_vhiwl"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_76ndk"]
[node name="Grenade" type="Node2D" unique_id=2087865404]
script = ExtResource("1_wxtds")
max_bounces = 3
explosion = ExtResource("2_76ndk")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1335147270]
texture = ExtResource("2_vhiwl")
[node name="Hitbox" type="Area2D" parent="." unique_id=973042172]
script = ExtResource("3_vhiwl")
deal_damage = false
metadata/_custom_type_script = "uid://ejd25ul4j5pp"
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" unique_id=574492836]
shape = SubResource("RectangleShape2D_76ndk")
[connection signal="hit_entity" from="Hitbox" to="." method="_on_hitbox_hit_entity"]

View file

@ -1,7 +1,7 @@
[gd_scene format=3 uid="uid://ncgwx0yjn2gt"]
[ext_resource type="Script" uid="uid://sbseykg05177" path="res://scripts/player.gd" id="1_ur7pv"]
[ext_resource type="Resource" uid="uid://0mtm64s4jthn" path="res://resources/stars.tres" id="2_3v2ag"]
[ext_resource type="Resource" uid="uid://cmcdkylu5hog2" path="res://resources/grenade.tres" id="2_3v2ag"]
[ext_resource type="PackedScene" uid="uid://bp45yth1y3ia5" path="res://scenes/player_explosion.tscn" id="3_3v2ag"]
[ext_resource type="Script" uid="uid://synocbtvgrf4" path="res://scripts/shadow.gd" id="4_3v2ag"]
[ext_resource type="Texture2D" uid="uid://d3abeekjumqyb" path="res://assets/player/maske1.png" id="5_jej6c"]

43
scenes/portal.tscn Normal file
View file

@ -0,0 +1,43 @@
[gd_scene format=3 uid="uid://u72uxgovmbhd"]
[ext_resource type="Shader" uid="uid://bnnclls153x2j" path="res://shaders/selective_glow.gdshader" id="1_ckw30"]
[ext_resource type="Texture2D" uid="uid://db3a6q3o787qh" path="res://assets/enviroment/portal.png" id="2_4pvrx"]
[ext_resource type="Script" uid="uid://cioob0euvug4e" path="res://scripts/portal.gd" id="3_i0ytf"]
[ext_resource type="Script" uid="uid://pyblew2m6xc3" path="res://scripts/magic_circle.gd" id="4_frqps"]
[ext_resource type="Script" uid="uid://c0wn3w7q2j470" path="res://scripts/proximity.gd" id="5_5yude"]
[ext_resource type="Theme" uid="uid://d3iyu7ukwsn1p" path="res://ui/default_theme.tres" id="6_e5sgc"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_xfvwf"]
shader = ExtResource("1_ckw30")
shader_parameter/replace = Color(0.49803922, 0.5529412, 0.9490196, 1)
shader_parameter/intensity = 0.0
[node name="Portal" type="Sprite2D" unique_id=1512558284]
material = SubResource("ShaderMaterial_xfvwf")
texture = ExtResource("2_4pvrx")
script = ExtResource("3_i0ytf")
[node name="MagicCircle" type="Node2D" parent="." unique_id=235520935]
position = Vector2(3, 7)
scale = Vector2(1, 0.5)
script = ExtResource("4_frqps")
base_rad = 3.135
layer_rad_inc = 1.925
layers = 9
main_color = Color(0.7254902, 0.8352941, 1, 1)
fixed_seed = 1231
squish = 0.5
line_width = 1.0
metadata/_custom_type_script = "uid://pyblew2m6xc3"
[node name="Text" type="Node2D" parent="." unique_id=821025739]
script = ExtResource("5_5yude")
show_range = 100
[node name="Label" type="Label" parent="Text" unique_id=773740984]
offset_left = -57.0
offset_top = -52.0
offset_right = 104.0
offset_bottom = -29.0
theme = ExtResource("6_e5sgc")
text = "Press E to continue..."

View file

@ -1,7 +1,7 @@
[gd_scene load_steps=4 format=3 uid="uid://dfad6rsacpogt"]
[gd_scene format=3 uid="uid://dfad6rsacpogt"]
[ext_resource type="Script" uid="uid://ctninfm8hkbp2" path="res://scripts/spit.gd" id="1_1fhrs"]
[ext_resource type="Texture2D" uid="uid://br8dx2f3mfxcd" path="res://assets/masks/bomba.png" id="2_1fhrs"]
[ext_resource type="Texture2D" uid="uid://br8dx2f3mfxcd" path="res://assets/masks/grenade.png" id="2_1fhrs"]
[ext_resource type="PackedScene" uid="uid://bbqgdjgil7nwx" path="res://scenes/spit_payload.tscn" id="4_03rlv"]
[node name="Spit" type="Node2D"]

File diff suppressed because one or more lines are too long

View file

@ -34,4 +34,5 @@ metadata/_custom_type_script = "uid://ejd25ul4j5pp"
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" unique_id=263019627]
shape = SubResource("CircleShape2D_8lrp4")
[connection signal="collided" from="Hitbox" to="." method="_on_hitbox_collided"]
[connection signal="hit_entity" from="Hitbox" to="." method="_on_hitbox_hit_entity"]
[connection signal="hit_obstacle" from="Hitbox" to="." method="_on_hitbox_hit_obstacle"]

File diff suppressed because one or more lines are too long