Grazing for shields

This commit is contained in:
Marco 2025-04-01 15:46:25 +02:00
commit 8b28805cbd
22 changed files with 554 additions and 9 deletions

View file

@ -30,4 +30,6 @@ DestroyOnCollision = false
Owner = 2
DamageType = 0
Controllable = false
Grazeable = false
GrazeValue = 1.0
TimeModifiers = Array[Object]([SubResource("Resource_3a5dw"), SubResource("Resource_rtncg")])

View file

@ -13,4 +13,7 @@ LifeTime = 1.0
DestroyOnCollision = false
Owner = 0
DamageType = 4
Controllable = false
Grazeable = false
GrazeValue = 1.0
TimeModifiers = null

View file

@ -14,5 +14,7 @@ DestroyOnCollision = false
Owner = 0
DamageType = 2
Controllable = false
Grazeable = false
GrazeValue = 1.0
TimeModifiers = null
metadata/_custom_type_script = "uid://dslyrfcej3g2n"

View file

@ -16,5 +16,7 @@ DestroyOnCollision = true
Owner = 1
DamageType = 0
Controllable = true
Grazeable = false
GrazeValue = 1.0
TimeModifiers = null
metadata/_custom_type_script = "uid://dslyrfcej3g2n"

View file

@ -28,4 +28,6 @@ DestroyOnCollision = true
Owner = 1
DamageType = 0
Controllable = false
Grazeable = false
GrazeValue = 1.0
TimeModifiers = Array[Object]([SubResource("Resource_26vvh")])

View file

@ -16,4 +16,6 @@ DestroyOnCollision = true
Owner = 1
DamageType = 2
Controllable = false
Grazeable = false
GrazeValue = -1.0
TimeModifiers = null

View file

@ -15,4 +15,7 @@ LifeTime = 10.0
DestroyOnCollision = true
Owner = 1
DamageType = 3
Controllable = false
Grazeable = false
GrazeValue = 1.0
TimeModifiers = null

View file

@ -28,4 +28,6 @@ DestroyOnCollision = true
Owner = 1
DamageType = 1
Controllable = false
Grazeable = false
GrazeValue = 1.0
TimeModifiers = Array[Object]([SubResource("Resource_lcgqc")])

View file

@ -0,0 +1,60 @@
[gd_resource type="Resource" script_class="EnemyResource" load_steps=14 format=3 uid="uid://cqfyuurvqb8m6"]
[ext_resource type="Script" uid="uid://cq65aed620ijo" path="res://Scripts/Resources/Loot/LootDrop.cs" id="1_tf7s2"]
[ext_resource type="Resource" uid="uid://ct1fa2huvy34n" path="res://Resources/Items/Ammo1.tres" id="2_kekqr"]
[ext_resource type="Resource" uid="uid://dy53gia1tmkah" path="res://Resources/Items/Points_Pickup.tres" id="3_c0hok"]
[ext_resource type="Resource" uid="uid://bhbufxodybsw4" path="res://Resources/Items/Shield_Pickup.tres" id="4_o6iyn"]
[ext_resource type="Resource" uid="uid://dodwpect0ldjf" path="res://Resources/Items/Heart_Pickup.tres" id="5_onxa8"]
[ext_resource type="Resource" uid="uid://clr1gln7nxa1o" path="res://Resources/Items/Power_Pickup.tres" id="6_1cdvd"]
[ext_resource type="Resource" uid="uid://d27t8ruig8lie" path="res://Resources/Weapons/EnemyShotgun.tres" id="7_tf7s2"]
[ext_resource type="Script" uid="uid://cd5o0ceb50jki" path="res://Scripts/Resources/EnemyResource.cs" id="8_8fxhl"]
[sub_resource type="Resource" id="Resource_c8nix"]
script = ExtResource("1_tf7s2")
Item = ExtResource("2_kekqr")
Chance = 40.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_gs2l3"]
script = ExtResource("1_tf7s2")
Item = ExtResource("3_c0hok")
Chance = 10.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_sqnvg"]
script = ExtResource("1_tf7s2")
Item = ExtResource("4_o6iyn")
Chance = 5.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_5tyar"]
script = ExtResource("1_tf7s2")
Item = ExtResource("5_onxa8")
Chance = 5.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_48xq6"]
script = ExtResource("1_tf7s2")
Item = ExtResource("6_1cdvd")
Chance = 6.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[resource]
script = ExtResource("8_8fxhl")
EnemyName = &"Special Fairy"
EnemyKey = &"FAIRY_BASE_SPECIAL"
PrefabPath = &"res://Scenes/Actors/Fairy_Special_FSM.tscn"
MaxHealth = 4.0
MovementSpeed = 30.0
Weapon = ExtResource("7_tf7s2")
LootDrops = Array[ExtResource("1_tf7s2")]([SubResource("Resource_c8nix"), SubResource("Resource_gs2l3"), SubResource("Resource_sqnvg"), SubResource("Resource_5tyar"), SubResource("Resource_48xq6")])
MotivationReward = 4.0
PlayerDetectionRange = 90.0
ViewRange = 120.0
AlarmReactRange = 150.0
PlayerDisengageRange = 200.0
StrafeSpeed = 25.0
MaxStrafeDistance = 16.0
MinStrafeDistance = 8.0
ResponseTime = 0.5
metadata/_custom_type_script = "uid://cd5o0ceb50jki"

View file

@ -0,0 +1,86 @@
[gd_resource type="SpriteFrames" load_steps=11 format=3 uid="uid://cnl6ju3qlr2bj"]
[ext_resource type="Texture2D" uid="uid://xgxxdq37pykh" path="res://Sprites/Actors/Fairy.png" id="1_jhe43"]
[ext_resource type="Texture2D" uid="uid://callpd48wwnlw" path="res://Sprites/Actors/Fairy_Special.png" id="2_ucisl"]
[sub_resource type="AtlasTexture" id="AtlasTexture_13sn2"]
atlas = ExtResource("1_jhe43")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_qs3gm"]
atlas = ExtResource("1_jhe43")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_fppxn"]
atlas = ExtResource("1_jhe43")
region = Rect2(0, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_b01sl"]
atlas = ExtResource("1_jhe43")
region = Rect2(16, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_jgccb"]
atlas = ExtResource("1_jhe43")
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_v7nm4"]
atlas = ExtResource("1_jhe43")
region = Rect2(16, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_pt5ys"]
atlas = ExtResource("2_ucisl")
region = Rect2(0, 48, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_cplfv"]
atlas = ExtResource("2_ucisl")
region = Rect2(16, 48, 16, 16)
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_13sn2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qs3gm")
}],
"loop": true,
"name": &"down",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_fppxn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b01sl")
}],
"loop": true,
"name": &"left",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_jgccb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_v7nm4")
}],
"loop": true,
"name": &"right",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_pt5ys")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pt5ys")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cplfv")
}],
"loop": true,
"name": &"up",
"speed": 5.0
}]

View file

@ -0,0 +1,20 @@
[gd_resource type="Resource" script_class="WeaponResource" load_steps=3 format=3 uid="uid://d27t8ruig8lie"]
[ext_resource type="Resource" uid="uid://dqnvesdj0dk3v" path="res://Resources/Bullets/simple_enemy_bullet.tres" id="1_gd1fn"]
[ext_resource type="Script" uid="uid://b6fmrnipv88bk" path="res://Scripts/Resources/WeaponResource.cs" id="2_gblpw"]
[resource]
script = ExtResource("2_gblpw")
Name = &"Enemy Shotgun"
BulletData = ExtResource("1_gd1fn")
RateOfFire = 0.3
BulletCapacity = 4
ReloadTime = 1.0
AutoReload = true
InfiniteAmmo = true
BulletsPerShot = 2
SpreadAngle = 20.0
RandomSpread = 0.0
ItemKey = null
AmmoKey = null
_rotationOffset = 0.0