update to godot 4.2, started navmeshes

godot-4.2
John Montagu, the 4th Earl of Sandvich 2023-12-09 16:26:44 -08:00
parent b99dca6eca
commit 388c2a0e4c
Signed by: sandvich
GPG Key ID: 9A39BE37E602B22D
26 changed files with 200 additions and 170 deletions

View File

@ -9,19 +9,17 @@ gradient = SubResource("Gradient_p5otp")
[resource]
lifetime_randomness = 0.5
particle_flag_disable_z = true
emission_shape = 6
emission_ring_axis = Vector3(0, 0, 1)
emission_ring_height = 1.0
emission_ring_radius = 128.0
emission_ring_inner_radius = 64.0
particle_flag_disable_z = true
direction = Vector3(2, 1, 0)
gravity = Vector3(32, 32, 0)
initial_velocity_min = 32.0
initial_velocity_max = 64.0
angular_velocity_max = 30.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(32, 32, 0)
linear_accel_min = -64.0
linear_accel_max = -32.0
color_ramp = SubResource("GradientTexture1D_4a2pn")

View File

@ -11,11 +11,9 @@ gradient = SubResource("Gradient_v7xci")
particle_flag_rotate_y = true
particle_flag_disable_z = true
spread = 180.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 64.0
initial_velocity_max = 96.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
linear_accel_min = -128.0
linear_accel_max = -96.0
scale_min = 0.1

View File

@ -8,18 +8,16 @@ point_count = 3
curve = SubResource("Curve_jqr7v")
[resource]
particle_flag_disable_z = true
emission_shape = 1
emission_sphere_radius = 8.0
particle_flag_disable_z = true
direction = Vector3(0, -1, 0)
gravity = Vector3(0, 0, 0)
initial_velocity_min = 64.0
initial_velocity_max = 128.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
linear_accel_min = -256.0
linear_accel_max = -128.0
attractor_interaction_enabled = false
scale_min = 0.01
scale_max = 0.02
scale_curve = SubResource("CurveTexture_s2csc")
attractor_interaction_enabled = false

View File

@ -22,16 +22,14 @@ point_count = 3
curve = SubResource("Curve_0565g")
[resource]
particle_flag_disable_z = true
emission_shape = 2
emission_sphere_radius = 8.0
particle_flag_disable_z = true
direction = Vector3(0, -1, 0)
spread = 90.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 128.0
initial_velocity_max = 256.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
tangential_accel_min = -16.0
tangential_accel_max = 16.0
scale_min = 0.25

View File

@ -25,16 +25,14 @@ curve_y = SubResource("Curve_lfa60")
curve_z = SubResource("Curve_3iug1")
[resource]
emission_shape = 1
emission_sphere_radius = 4.0
particle_flag_align_y = true
particle_flag_disable_z = true
emission_shape = 1
emission_sphere_radius = 4.0
spread = 180.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 256.0
initial_velocity_max = 256.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
linear_accel_min = -512.0
linear_accel_max = -512.0
scale_min = 0.1

View File

@ -22,15 +22,13 @@ point_count = 3
curve = SubResource("Curve_0565g")
[resource]
particle_flag_disable_z = true
emission_shape = 2
emission_sphere_radius = 32.0
particle_flag_disable_z = true
direction = Vector3(0, -1, 0)
gravity = Vector3(0, 0, 0)
initial_velocity_min = 128.0
initial_velocity_max = 256.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
tangential_accel_min = -16.0
tangential_accel_max = 16.0
scale_min = 0.25

View File

@ -22,16 +22,14 @@ point_count = 3
curve = SubResource("Curve_0565g")
[resource]
particle_flag_disable_z = true
emission_shape = 2
emission_sphere_radius = 8.0
particle_flag_disable_z = true
direction = Vector3(0, -1, 0)
spread = 90.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 128.0
initial_velocity_max = 256.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
tangential_accel_min = -16.0
tangential_accel_max = 16.0
scale_min = 0.25

View File

@ -33,7 +33,7 @@ length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Sprites/Node2D/Character:frame")
tracks/0/path = NodePath("%Sprites/Node2D/Character:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
@ -50,7 +50,7 @@ loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Sprites/Node2D/Character:frame")
tracks/0/path = NodePath("%Sprites/Node2D/Character:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
@ -112,13 +112,11 @@ curve = SubResource("Curve_30p4b")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_qdhau"]
particle_flag_disable_z = true
spread = 180.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 32.0
initial_velocity_max = 32.0
angular_velocity_min = 90.0
angular_velocity_max = 90.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
linear_accel_min = -64.0
linear_accel_max = -32.0
tangential_accel_min = 8.0
@ -256,6 +254,7 @@ texture = ExtResource("14_o5rd3")
stream = ExtResource("15_8yg1g")
[node name="Sprites" type="Node2D" parent="."]
unique_name_in_owner = true
y_sort_enabled = true
use_parent_material = true
position = Vector2(-0.5, 0)
@ -269,16 +268,16 @@ use_parent_material = true
texture = ExtResource("16_6uxxp")
offset = Vector2(0, -12)
hframes = 7
frame = 1
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -4)
shape = SubResource("RectangleShape2D_bfqew")
[node name="Inventory" type="Node2D" parent="."]
[node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Items")]
y_sort_enabled = true
position = Vector2(0, -4)
script = ExtResource("17_6fh5y")
Items = []
[node name="Sword" parent="Inventory" instance=ExtResource("18_7l8tj")]

View File

@ -34,7 +34,7 @@ length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Sprites/Node2D/Character:frame")
tracks/0/path = NodePath("%Sprites/Node2D/Character:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
@ -251,13 +251,11 @@ curve = SubResource("Curve_30p4b")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_qdhau"]
particle_flag_disable_z = true
spread = 180.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 32.0
initial_velocity_max = 32.0
angular_velocity_min = 90.0
angular_velocity_max = 90.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
linear_accel_min = -64.0
linear_accel_max = -32.0
tangential_accel_min = 8.0
@ -346,6 +344,7 @@ NPC = NodePath("../..")
[node name="NavigationAgent2D" type="NavigationAgent2D" parent="."]
target_desired_distance = 16.0
debug_enabled = true
[node name="Animations" type="Node" parent="."]
script = ExtResource("9_ssmee")
@ -406,6 +405,7 @@ texture = ExtResource("14_88n3w")
stream = ExtResource("15_w7mkq")
[node name="Sprites" type="Node2D" parent="."]
unique_name_in_owner = true
y_sort_enabled = true
use_parent_material = true
position = Vector2(-0.5, 0)
@ -424,12 +424,11 @@ hframes = 7
position = Vector2(0, -4)
shape = SubResource("RectangleShape2D_bfqew")
[node name="Inventory" type="Node2D" parent="."]
[node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Items")]
position = Vector2(0, -4)
script = ExtResource("17_5rur0")
[node name="DocLance" parent="Inventory" instance=ExtResource("18_jblpi")]
position = Vector2(0, 4)
[node name="Hurtbox" parent="." instance=ExtResource("20_dwjfv")]

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=77 format=3 uid="uid://b2254pup8k161"]
[gd_scene load_steps=76 format=3 uid="uid://b2254pup8k161"]
[ext_resource type="Script" path="res://Characters/Player.cs" id="1_flygr"]
[ext_resource type="Shader" path="res://Shaders/Flash.gdshader" id="2_ngsgt"]
@ -33,7 +33,6 @@
[ext_resource type="Texture2D" uid="uid://d1ukste16yq6v" path="res://Assets/Sprites/Particles/player-light.png" id="15_3hahh"]
[ext_resource type="Script" path="res://Utils/DamageTime.cs" id="15_4xl06"]
[ext_resource type="AudioStream" uid="uid://st8qgqiygy5a" path="res://Assets/Sounds/electricity.wav" id="15_61bua"]
[ext_resource type="PackedScene" uid="uid://g7wfcubs6bdd" path="res://Items/Weapons/Railgun.tscn" id="21_n8w32"]
[ext_resource type="PackedScene" uid="uid://ce0ph4wk0ylra" path="res://UI/TargetTracer.tscn" id="22_hxi53"]
[ext_resource type="PackedScene" uid="uid://5y1acxl4j4n7" path="res://Items/Weapons/Pugio.tscn" id="22_mqpn7"]
[ext_resource type="PackedScene" uid="uid://d1d4vg7we5rjr" path="res://Items/Weapons/Shotgun.tscn" id="22_rmciq"]
@ -178,7 +177,7 @@ tracks/0/path = NodePath("%Sprites/Node2D/Character:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"times": PackedFloat32Array(0, 0.45),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 6.28319]
@ -489,11 +488,9 @@ _data = {
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_852jj"]
particle_flag_disable_z = true
spread = 180.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 8.0
initial_velocity_max = 16.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
linear_accel_min = -32.0
linear_accel_max = -16.0
scale_min = 0.1
@ -510,12 +507,12 @@ colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1)
gradient = SubResource("Gradient_8w5b1")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_untv1"]
particle_flag_disable_z = true
emission_shape = 2
emission_sphere_radius = 24.0
particle_flag_disable_z = true
gravity = Vector3(0, 0, 0)
orbit_velocity_min = 0.01
orbit_velocity_max = 0.02
gravity = Vector3(0, 0, 0)
radial_accel_min = -128.0
radial_accel_max = -128.0
scale_min = 0.1
@ -531,11 +528,9 @@ gradient = SubResource("Gradient_61bqd")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_1umee"]
particle_flag_disable_z = true
spread = 180.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 64.0
initial_velocity_max = 64.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
linear_accel_min = -128.0
linear_accel_max = -128.0
scale_min = 0.25
@ -563,8 +558,6 @@ curve = SubResource("Curve_xcuxr")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_4jub4"]
particle_flag_disable_z = true
gravity = Vector3(0, 0, 0)
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
scale_curve = SubResource("CurveTexture_80m7d")
color = Color(1, 1, 1, 0.25098)
color_ramp = SubResource("GradientTexture1D_3jlnh")
@ -824,10 +817,11 @@ text = "lol"
label_settings = SubResource("LabelSettings_q5h1n")
horizontal_alignment = 1
[node name="Inventory" type="Node2D" parent="."]
[node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Items")]
y_sort_enabled = true
position = Vector2(0, -4)
script = ExtResource("7_xyenu")
Items = []
InventoryMap = {
"equip_1": 0,
"equip_2": 1,
@ -849,10 +843,6 @@ visible = false
[node name="Shotgun" parent="Inventory" instance=ExtResource("22_rmciq")]
visible = false
[node name="Railgun" parent="Inventory" instance=ExtResource("21_n8w32")]
visible = false
UseTime = 0.2
[node name="RemoteTransform2D2" type="RemoteTransform2D" parent="Inventory"]
position = Vector2(0, 4)

View File

@ -25,7 +25,7 @@
[sub_resource type="ShaderMaterial" id="ShaderMaterial_etlnr"]
resource_local_to_scene = true
shader = ExtResource("1_alo0e")
shader_parameter/color = Quaternion(1, 1, 1, 1)
shader_parameter/color = Vector4(1, 1, 1, 1)
shader_parameter/intensity = 0.0
shader_parameter/alpha_modulate = 1.0
@ -139,13 +139,11 @@ curve = SubResource("Curve_2w6gd")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_nt70f"]
particle_flag_disable_z = true
spread = 180.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 32.0
initial_velocity_max = 32.0
angular_velocity_min = 90.0
angular_velocity_max = 90.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
linear_accel_min = -64.0
linear_accel_max = -32.0
tangential_accel_min = 8.0
@ -282,10 +280,11 @@ texture = ExtResource("11_wp6i2")
[node name="HurtSound" type="AudioStreamPlayer2D" parent="Effects"]
stream = ExtResource("12_iwry7")
[node name="Inventory" type="Node2D" parent="."]
[node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Items")]
y_sort_enabled = true
position = Vector2(0, -4)
script = ExtResource("3_ktm40")
Items = []
[node name="Sword" parent="Inventory" instance=ExtResource("4_4gsqu")]

View File

@ -9,7 +9,10 @@ public partial class DynamicDoor : StaticBody2D
public string MapStateKey { get; set; }
[Export]
public Godot.Collections.Array<NodePath> VisibleOnToggle { get; set; } = new();
public Godot.Collections.Array<NodePath> VisibleOnToggle { get; set; }
[Export]
public Godot.Collections.Array<NavigationRegion2D> Rebake { get; set; }
[Export]
public bool DefaultState { get; set; }
@ -36,7 +39,7 @@ public partial class DynamicDoor : StaticBody2D
}
}
private void RefreshMapState(bool value)
private async void RefreshMapState(bool value)
{
if (value)
{
@ -46,6 +49,19 @@ public partial class DynamicDoor : StaticBody2D
{
Close();
}
await ToSignal(_animPlayer,
AnimationPlayer.SignalName.AnimationFinished);
if (Rebake is not null)
{
foreach (var navmesh in Rebake)
{
// rebake navmesh so NPCs can correctly travel conditionally
GD.Print("rebaking");
navmesh.BakeNavigationPolygon();
}
}
}
public virtual void Open()
@ -62,6 +78,13 @@ public partial class DynamicDoor : StaticBody2D
public void SetAnimations(bool isEnabled)
{
if (VisibleOnToggle is null)
{
GD.PushWarning($"DynamicDoor {GetPath()} has no VisibleOnToggle " +
"array. Set this to empty array to disable this warning.");
return;
}
foreach (var animKey in _animPlayer.GetAnimationList())
{
var anim = _animPlayer.GetAnimation(animKey);

View File

@ -45,10 +45,10 @@ public partial class Inventory : Node2D
public Inventory()
{
InventoryMap = new Dictionary<string, int>();
InventoryMap.Add("equip_1", 0);
InventoryMap.Add("equip_2", 1);
InventoryMap.Add("equip_3", 2);
//InventoryMap = new Dictionary<string, int>();
//InventoryMap.Add("equip_1", 0);
//InventoryMap.Add("equip_2", 1);
//InventoryMap.Add("equip_3", 2);
}
public override void _Ready()

View File

@ -22,16 +22,14 @@ point_count = 3
curve = SubResource("Curve_36q15")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_duy55"]
particle_flag_disable_z = true
emission_shape = 3
emission_box_extents = Vector3(1, 1, 1)
particle_flag_disable_z = true
direction = Vector3(0, 1, 0)
spread = 60.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 8.0
initial_velocity_max = 16.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
scale_min = 2.0
scale_max = 2.0
scale_curve = SubResource("CurveTexture_383y7")

View File

@ -23,15 +23,13 @@ point_count = 2
curve = SubResource("Curve_fbk1d")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_5k2ug"]
particle_flag_disable_z = true
emission_shape = 3
emission_box_extents = Vector3(16, 1, 1)
particle_flag_disable_z = true
direction = Vector3(0, -1, 0)
gravity = Vector3(0, 0, 0)
initial_velocity_min = 4.0
initial_velocity_max = 8.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
scale_min = 0.25
scale_max = 0.25
scale_curve = SubResource("CurveTexture_scj30")
@ -131,6 +129,33 @@ tracks/3/keys = {
}
tracks/3/use_blend = true
[sub_resource type="Animation" id="Animation_5kkkm"]
resource_name = "close_init"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Gate:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("CollisionShape2D:disabled")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_1nbqx"]
resource_name = "open"
tracks/0/type = "value"
@ -200,33 +225,6 @@ tracks/1/keys = {
"values": [true]
}
[sub_resource type="Animation" id="Animation_5kkkm"]
resource_name = "close_init"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Gate:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("CollisionShape2D:disabled")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3eva7"]
_data = {
"RESET": SubResource("Animation_ylaba"),
@ -236,11 +234,12 @@ _data = {
"open_init": SubResource("Animation_s143f")
}
[node name="ArenaDoor" type="StaticBody2D"]
[node name="ArenaDoor" type="StaticBody2D" node_paths=PackedStringArray("Rebake")]
collision_mask = 0
script = ExtResource("1_t6mj1")
MapStateKey = "b_arena_depths_door_1"
VisibleOnToggle = [NodePath("GPUParticles2D"), NodePath("AudioStreamPlayer2D")]
Rebake = []
[node name="Gate" type="Sprite2D" parent="."]
texture = ExtResource("2_kvtjv")
@ -267,3 +266,7 @@ libraries = {
max_distance = 512.0
attenuation = 8.0
bus = &"Effects"
[node name="NavigationObstacle2D" type="NavigationObstacle2D" parent="."]
avoidance_enabled = false
vertices = PackedVector2Array(-16, -8, 16, -8, 16, 0, -16, 0)

View File

@ -21,46 +21,27 @@ format = 2
layer_0/name = "z-index 0"
layer_0/y_sort_enabled = true
layer_1/name = "z-index -1"
layer_1/enabled = true
layer_1/modulate = Color(1, 1, 1, 1)
layer_1/y_sort_enabled = true
layer_1/y_sort_origin = 0
layer_1/z_index = -1
layer_1/tile_data = PackedInt32Array()
layer_2/name = "z-index -1 (under)"
layer_2/enabled = true
layer_2/modulate = Color(1, 1, 1, 1)
layer_2/y_sort_enabled = true
layer_2/y_sort_origin = 0
layer_2/z_index = -1
layer_2/tile_data = PackedInt32Array()
layer_3/name = "z-index -2"
layer_3/enabled = true
layer_3/modulate = Color(1, 1, 1, 1)
layer_3/y_sort_enabled = true
layer_3/y_sort_origin = 0
layer_3/z_index = -2
layer_3/tile_data = PackedInt32Array()
layer_4/name = "z-index -3"
layer_4/enabled = true
layer_4/modulate = Color(1, 1, 1, 1)
layer_4/y_sort_enabled = true
layer_4/y_sort_origin = 0
layer_4/z_index = -3
layer_4/tile_data = PackedInt32Array()
layer_5/name = "Lower 1"
layer_5/enabled = true
layer_5/modulate = Color(1, 1, 1, 1)
layer_5/y_sort_enabled = false
layer_5/y_sort_origin = 0
layer_5/z_index = -4
layer_5/tile_data = PackedInt32Array()
layer_6/name = "z-index 0 (walls)"
layer_6/enabled = true
layer_6/modulate = Color(1, 1, 1, 1)
layer_6/y_sort_enabled = true
layer_6/y_sort_origin = -8
layer_6/z_index = 0
layer_6/tile_data = PackedInt32Array()
script = ExtResource("2_4m0a1")
Entities = NodePath("Entities")

View File

@ -34,15 +34,13 @@ point_count = 3
curve = SubResource("Curve_d18qq")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_h14dv"]
particle_flag_disable_z = true
emission_shape = 3
emission_box_extents = Vector3(144, 144, 1)
particle_flag_disable_z = true
spread = 180.0
gravity = Vector3(0, 0, 0)
initial_velocity_min = 8.0
initial_velocity_max = 32.0
orbit_velocity_min = 0.0
orbit_velocity_max = 0.0
gravity = Vector3(0, 0, 0)
scale_min = 0.1
scale_max = 0.2
scale_curve = SubResource("CurveTexture_wiyu8")

File diff suppressed because one or more lines are too long

View File

@ -7,16 +7,19 @@
vertices = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)])
outlines = Array[PackedVector2Array]([PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)])
source_geometry_group_name = &"navigation_polygon_source_group"
[sub_resource type="NavigationPolygon" id="NavigationPolygon_d0snv"]
vertices = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)])
outlines = Array[PackedVector2Array]([PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)])
source_geometry_group_name = &"navigation_polygon_source_group"
[sub_resource type="NavigationPolygon" id="NavigationPolygon_m43r7"]
vertices = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)])
outlines = Array[PackedVector2Array]([PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)])
source_geometry_group_name = &"navigation_polygon_source_group"
[sub_resource type="CanvasTexture" id="CanvasTexture_3n6aa"]
diffuse_texture = ExtResource("1_kud44")
@ -501,6 +504,7 @@ texture = SubResource("CanvasTexture_3n6aa")
vertices = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)])
outlines = Array[PackedVector2Array]([PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)])
source_geometry_group_name = &"navigation_polygon_source_group"
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_mdfpe"]
texture = ExtResource("2_lihbs")

View File

@ -71,56 +71,56 @@ polygon = PackedVector2Array(142, -2, 8, 32, -55, 18)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dap58"]
resource_local_to_scene = true
shader = ExtResource("5_dtu2e")
shader_parameter/color = Quaternion(1, 1, 1, 1)
shader_parameter/color = Vector4(1, 1, 1, 1)
shader_parameter/intensity = 0.0
shader_parameter/alpha_modulate = 1.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_tgpe5"]
resource_local_to_scene = true
shader = ExtResource("5_dtu2e")
shader_parameter/color = Quaternion(1, 1, 1, 1)
shader_parameter/color = Vector4(1, 1, 1, 1)
shader_parameter/intensity = 0.0
shader_parameter/alpha_modulate = 1.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_oqgvr"]
resource_local_to_scene = true
shader = ExtResource("5_dtu2e")
shader_parameter/color = Quaternion(1, 1, 1, 1)
shader_parameter/color = Vector4(1, 1, 1, 1)
shader_parameter/intensity = 0.0
shader_parameter/alpha_modulate = 1.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_k1kq6"]
resource_local_to_scene = true
shader = ExtResource("5_dtu2e")
shader_parameter/color = Quaternion(1, 1, 1, 1)
shader_parameter/color = Vector4(1, 1, 1, 1)
shader_parameter/intensity = 0.0
shader_parameter/alpha_modulate = 1.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lbypa"]
resource_local_to_scene = true
shader = ExtResource("5_dtu2e")
shader_parameter/color = Quaternion(1, 1, 1, 1)
shader_parameter/color = Vector4(1, 1, 1, 1)
shader_parameter/intensity = 0.0
shader_parameter/alpha_modulate = 1.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_re0th"]
resource_local_to_scene = true
shader = ExtResource("5_dtu2e")
shader_parameter/color = Quaternion(1, 1, 1, 1)
shader_parameter/color = Vector4(1, 1, 1, 1)
shader_parameter/intensity = 0.0
shader_parameter/alpha_modulate = 1.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_1l3ye"]
resource_local_to_scene = true
shader = ExtResource("5_dtu2e")
shader_parameter/color = Quaternion(1, 1, 1, 1)
shader_parameter/color = Vector4(1, 1, 1, 1)
shader_parameter/intensity = 0.0
shader_parameter/alpha_modulate = 1.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_eiin3"]
resource_local_to_scene = true
shader = ExtResource("5_dtu2e")
shader_parameter/color = Quaternion(1, 1, 1, 1)
shader_parameter/color = Vector4(1, 1, 1, 1)
shader_parameter/intensity = 0.0
shader_parameter/alpha_modulate = 1.0

View File

@ -47,6 +47,12 @@ public partial class PlayerRollState : PlayerState
_timeLeftToRoll = 0;
_rollDirection = Character.Direction;
_particles.Emitting = false;
if (_player.MovementAnimation.CurrentAnimation == "roll")
{
// prevents player's sprite from being at an angle when exiting too
// soon
_player.MovementAnimation.Stop();
}
base.Exit(nextState);
}

View File

@ -6,20 +6,28 @@ namespace SupaLidlGame.State.Global;
public partial class GlobalState : Node
{
[Export]
public Progression Progression { get; set; } = new();
public Progression Progression { get; set; }
[Export]
public MapState MapState { get; set; } = new();
public MapState MapState { get; set; }
[Export]
public Stats Stats { get; set; } = new();
public Stats Stats { get; set; }
[Export]
public GameSettings Settings { get; set; } = new();
public GameSettings Settings { get; set; }
[Signal]
public delegate void SummonBossEventHandler(string bossName);
public GlobalState()
{
Progression = new();
MapState = new();
Stats = new();
Settings = new();
}
public override void _Ready()
{
ProcessMode = ProcessModeEnum.Always;

View File

@ -66,6 +66,12 @@ public partial class AttackState : ThinkerState
}
}
public override IState<ThinkerState> Enter(IState<ThinkerState> prev)
{
GD.Print("attacking");
return base.Enter(prev);
}
public void UpdateWeights(Vector2 pos)
{
// FIXME: TODO: remove all the spaghetti

View File

@ -25,6 +25,12 @@ public partial class PursueState : ThinkerState
[Export]
public float MaxDistanceFromOrigin { get; set; }
public override IState<ThinkerState> Enter(IState<ThinkerState> prev)
{
GD.Print("pursuing");
return base.Enter(prev);
}
public override ThinkerState Think()
{
var bestTarget = NPC.FindBestTarget();
@ -51,10 +57,10 @@ public partial class PursueState : ThinkerState
public override ThinkerState PhysicsProcess(double delta)
{
if (!NavigationAgent.IsTargetReachable())
{
return PassiveState ?? base.PhysicsProcess(delta);
}
//if (!NavigationAgent.IsTargetReachable())
//{
// return PassiveState ?? base.PhysicsProcess(delta);
//}
var navPos = NavigationAgent.GetNextPathPosition();
NPC.Direction = NPC.GlobalPosition.DirectionTo(navPos);

View File

@ -1,4 +1,4 @@
<Project Sdk="Godot.NET.Sdk/4.1.0-dev">
<Project Sdk="Godot.NET.Sdk/4.2.0">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>

View File

@ -12,7 +12,7 @@ config_version=5
config/name="SupaLidlGame"
run/main_scene="res://Scenes/Maps/ArenaExterior.tscn"
config/features=PackedStringArray("4.1", "C#", "Forward Plus")
config/features=PackedStringArray("4.2", "C#", "Forward Plus")
config/icon="res://icon.svg"
[autoload]
@ -43,7 +43,7 @@ project/assembly_name="SupaLidlGame"
[editor_plugins]
enabled=PackedStringArray("res://addons/panku_console/plugin.cfg", "res://addons/dialogue_manager/plugin.cfg")
enabled=PackedStringArray("res://addons/dialogue_manager/plugin.cfg")
[input]
@ -80,20 +80,20 @@ ui_down={
}
roll={
"deadzone": 0.5,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":3,"pressed":false,"double_click":false,"script":null)
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":3,"canceled":false,"pressed":false,"double_click":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":7,"pressure":0.0,"pressed":false,"script":null)
]
}
attack1={
"deadzone": 0.5,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"pressed":false,"double_click":false,"script":null)
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":5,"axis_value":1.0,"script":null)
]
}
attack2={
"deadzone": 0.5,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"pressed":false,"double_click":false,"script":null)
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":1.0,"script":null)
]
}