Made things into tools to display enemy icons on spawner marks

This commit is contained in:
Marco 2025-04-28 10:52:50 +02:00
commit c00d298443
49 changed files with 174 additions and 55 deletions

View file

@ -99,7 +99,7 @@ Freezable = true
Grazeable = true
GrazeValue = 1.0
Modifier = SubResource("Resource_e6jj0")
TimeModifiers = null
TimeModifiers = []
[sub_resource type="Resource" id="Resource_7yi74"]
script = ExtResource("2_7268a")

View file

@ -21,8 +21,8 @@ _name = "Intro"
[sub_resource type="Resource" id="Resource_cfhv5"]
script = ExtResource("1_ov731")
EggIndex = 0
StartingEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
StartingEquipment = []
RemoveEquipment = []
[sub_resource type="Resource" id="Resource_0k62o"]
script = ExtResource("2_tnajf")
@ -34,8 +34,8 @@ StartData = SubResource("Resource_cfhv5")
[sub_resource type="Resource" id="Resource_tpb7s"]
script = ExtResource("1_ov731")
EggIndex = 0
StartingEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
StartingEquipment = []
RemoveEquipment = []
[sub_resource type="Resource" id="Resource_edoov"]
script = ExtResource("2_tnajf")
@ -47,8 +47,8 @@ StartData = SubResource("Resource_tpb7s")
[sub_resource type="Resource" id="Resource_1sw5g"]
script = ExtResource("1_ov731")
EggIndex = 255
StartingEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
StartingEquipment = []
RemoveEquipment = []
[sub_resource type="Resource" id="Resource_47bot"]
script = ExtResource("2_tnajf")
@ -61,7 +61,7 @@ StartData = SubResource("Resource_1sw5g")
script = ExtResource("1_ov731")
EggIndex = 2
StartingEquipment = Array[ExtResource("2_bkci5")]([ExtResource("3_fydgr"), ExtResource("4_38yta"), ExtResource("5_em757"), ExtResource("6_sdmg8")])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = []
[sub_resource type="Resource" id="Resource_mgdm6"]
script = ExtResource("2_tnajf")
@ -79,8 +79,8 @@ _name = "Rebel Base"
[sub_resource type="Resource" id="Resource_maxpt"]
script = ExtResource("1_ov731")
EggIndex = 0
StartingEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
StartingEquipment = []
RemoveEquipment = []
[sub_resource type="Resource" id="Resource_pein5"]
script = ExtResource("2_tnajf")
@ -117,7 +117,7 @@ _name = "Default Scene"
script = ExtResource("1_ov731")
EggIndex = 0
StartingEquipment = Array[ExtResource("2_bkci5")]([ExtResource("7_b3oo5")])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = []
[sub_resource type="Resource" id="Resource_6ijnv"]
script = ExtResource("2_tnajf")
@ -136,8 +136,8 @@ metadata/_custom_type_script = "uid://dnthdjrx78u6m"
[sub_resource type="Resource" id="Resource_7sue8"]
script = ExtResource("1_ov731")
EggIndex = 255
StartingEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
StartingEquipment = []
RemoveEquipment = []
metadata/_custom_type_script = "uid://mja0rk7n2kln"
[sub_resource type="Resource" id="Resource_ognca"]
@ -151,8 +151,8 @@ metadata/_custom_type_script = "uid://dnthdjrx78u6m"
[sub_resource type="Resource" id="Resource_olpjo"]
script = ExtResource("1_ov731")
EggIndex = 0
StartingEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
StartingEquipment = []
RemoveEquipment = []
metadata/_custom_type_script = "uid://mja0rk7n2kln"
[sub_resource type="Resource" id="Resource_nbnej"]

View file

@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="EnemyResource" load_steps=14 format=3 uid="uid://cocl3qontm3be"]
[gd_resource type="Resource" script_class="EnemyResource" load_steps=16 format=3 uid="uid://cocl3qontm3be"]
[ext_resource type="Resource" uid="uid://ct1fa2huvy34n" path="res://Resources/Items/Ammo1.tres" id="1_q1ekm"]
[ext_resource type="Texture2D" uid="uid://xgxxdq37pykh" path="res://Sprites/Actors/Fairy.png" id="1_sxbtw"]
[ext_resource type="Script" uid="uid://cq65aed620ijo" path="res://Scripts/Resources/Loot/LootDrop.cs" id="2_sxbtw"]
[ext_resource type="Resource" uid="uid://dy53gia1tmkah" path="res://Resources/Items/Points_Pickup.tres" id="3_ppsgt"]
[ext_resource type="Resource" uid="uid://bhbufxodybsw4" path="res://Resources/Items/Shield_Pickup.tres" id="4_6iugy"]
@ -9,6 +10,10 @@
[ext_resource type="Resource" uid="uid://cdfmedtgp2rcn" path="res://Resources/Weapons/EnemyWeapon.tres" id="7_xkg5o"]
[ext_resource type="Script" uid="uid://cd5o0ceb50jki" path="res://Scripts/Resources/EnemyResource.cs" id="8_241b0"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ppsgt"]
atlas = ExtResource("1_sxbtw")
region = Rect2(0, 0, 16, 16)
[sub_resource type="Resource" id="Resource_c8nix"]
script = ExtResource("2_sxbtw")
Item = ExtResource("1_q1ekm")
@ -57,4 +62,5 @@ StrafeSpeed = 25.0
MaxStrafeDistance = 16.0
MinStrafeDistance = 8.0
ResponseTime = 0.5
IconSprite = SubResource("AtlasTexture_ppsgt")
metadata/_custom_type_script = "uid://cd5o0ceb50jki"

View file

@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="EnemyResource" load_steps=14 format=3 uid="uid://cqfyuurvqb8m6"]
[gd_resource type="Resource" script_class="EnemyResource" load_steps=16 format=3 uid="uid://cqfyuurvqb8m6"]
[ext_resource type="Texture2D" uid="uid://callpd48wwnlw" path="res://Sprites/Actors/Fairy_Special.png" id="1_kekqr"]
[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"]
@ -9,6 +10,10 @@
[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="AtlasTexture" id="AtlasTexture_c0hok"]
atlas = ExtResource("1_kekqr")
region = Rect2(0, 0, 16, 16)
[sub_resource type="Resource" id="Resource_c8nix"]
script = ExtResource("1_tf7s2")
Item = ExtResource("2_kekqr")
@ -57,4 +62,5 @@ StrafeSpeed = 25.0
MaxStrafeDistance = 16.0
MinStrafeDistance = 8.0
ResponseTime = 0.5
IconSprite = SubResource("AtlasTexture_c0hok")
metadata/_custom_type_script = "uid://cd5o0ceb50jki"

View file

@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="EnemyResource" load_steps=14 format=3 uid="uid://qbo6avc7x64b"]
[gd_resource type="Resource" script_class="EnemyResource" load_steps=16 format=3 uid="uid://qbo6avc7x64b"]
[ext_resource type="Texture2D" uid="uid://xhwfgbv0fjbr" path="res://Sprites/Actors/FairyGuard.png" id="1_ivudp"]
[ext_resource type="Script" uid="uid://cd5o0ceb50jki" path="res://Scripts/Resources/EnemyResource.cs" id="1_p31tv"]
[ext_resource type="Resource" uid="uid://ct1fa2huvy34n" path="res://Resources/Items/Ammo1.tres" id="1_u7yd8"]
[ext_resource type="Script" uid="uid://cq65aed620ijo" path="res://Scripts/Resources/Loot/LootDrop.cs" id="2_ivudp"]
@ -9,6 +10,10 @@
[ext_resource type="Resource" uid="uid://clr1gln7nxa1o" path="res://Resources/Items/Power_Pickup.tres" id="6_bun8b"]
[ext_resource type="Resource" uid="uid://b54lru8ulinjl" path="res://Resources/Weapons/EnemyWeapon_Big.tres" id="7_u7yd8"]
[sub_resource type="AtlasTexture" id="AtlasTexture_n54y5"]
atlas = ExtResource("1_ivudp")
region = Rect2(0, 0, 16, 16)
[sub_resource type="Resource" id="Resource_c8nix"]
script = ExtResource("2_ivudp")
Item = ExtResource("1_u7yd8")
@ -57,4 +62,5 @@ StrafeSpeed = 25.0
MaxStrafeDistance = 32.0
MinStrafeDistance = 16.0
ResponseTime = 0.5
IconSprite = SubResource("AtlasTexture_n54y5")
metadata/_custom_type_script = "uid://cd5o0ceb50jki"

View file

@ -1,9 +1,14 @@
[gd_resource type="Resource" script_class="EnemyResource" load_steps=4 format=3 uid="uid://ij73f6irjcjg"]
[gd_resource type="Resource" script_class="EnemyResource" load_steps=6 format=3 uid="uid://ij73f6irjcjg"]
[ext_resource type="Script" uid="uid://cq65aed620ijo" path="res://Scripts/Resources/Loot/LootDrop.cs" id="1_76vce"]
[ext_resource type="Resource" uid="uid://cdfmedtgp2rcn" path="res://Resources/Weapons/EnemyWeapon.tres" id="1_bpaea"]
[ext_resource type="Texture2D" uid="uid://b7kwstavr73pe" path="res://Sprites/Actors/Robot2.png" id="1_k8qcu"]
[ext_resource type="Script" uid="uid://cd5o0ceb50jki" path="res://Scripts/Resources/EnemyResource.cs" id="2_76vce"]
[sub_resource type="AtlasTexture" id="AtlasTexture_x043l"]
atlas = ExtResource("1_k8qcu")
region = Rect2(0, 0, 16, 32)
[resource]
script = ExtResource("2_76vce")
EnemyName = &"Robot 2"
@ -22,4 +27,5 @@ StrafeSpeed = 25.0
MaxStrafeDistance = 16.0
MinStrafeDistance = 8.0
ResponseTime = 0.5
IconSprite = SubResource("AtlasTexture_x043l")
metadata/_custom_type_script = "uid://cd5o0ceb50jki"

View file

@ -1,9 +1,14 @@
[gd_resource type="Resource" script_class="EnemyResource" load_steps=4 format=3 uid="uid://cfdvg162u65sr"]
[gd_resource type="Resource" script_class="EnemyResource" load_steps=6 format=3 uid="uid://cfdvg162u65sr"]
[ext_resource type="Texture2D" uid="uid://hukxr2e63gky" path="res://Sprites/Actors/Robot3.png" id="1_bdpjc"]
[ext_resource type="Script" uid="uid://cq65aed620ijo" path="res://Scripts/Resources/Loot/LootDrop.cs" id="1_f3huq"]
[ext_resource type="Resource" uid="uid://b54lru8ulinjl" path="res://Resources/Weapons/EnemyWeapon_Big.tres" id="2_f3huq"]
[ext_resource type="Script" uid="uid://cd5o0ceb50jki" path="res://Scripts/Resources/EnemyResource.cs" id="8_x8scf"]
[sub_resource type="AtlasTexture" id="AtlasTexture_5qb18"]
atlas = ExtResource("1_bdpjc")
region = Rect2(0, 72, 16, 16)
[resource]
script = ExtResource("8_x8scf")
EnemyName = &"Robot 1"
@ -22,4 +27,5 @@ StrafeSpeed = 25.0
MaxStrafeDistance = 0.0
MinStrafeDistance = 0.0
ResponseTime = 0.5
IconSprite = SubResource("AtlasTexture_5qb18")
metadata/_custom_type_script = "uid://cd5o0ceb50jki"

View file

@ -1,9 +1,14 @@
[gd_resource type="Resource" script_class="EnemyResource" load_steps=4 format=3 uid="uid://ysd6wl2gmdhn"]
[gd_resource type="Resource" script_class="EnemyResource" load_steps=6 format=3 uid="uid://ysd6wl2gmdhn"]
[ext_resource type="Texture2D" uid="uid://c2seclmhd5yt3" path="res://Sprites/Actors/Cannon3D.png" id="1_gkmvt"]
[ext_resource type="Script" uid="uid://cq65aed620ijo" path="res://Scripts/Resources/Loot/LootDrop.cs" id="1_sma76"]
[ext_resource type="Resource" uid="uid://dyaxm3st70sh6" path="res://Resources/Weapons/Enemy/TurretWeapon.tres" id="1_yap8t"]
[ext_resource type="Script" uid="uid://cd5o0ceb50jki" path="res://Scripts/Resources/EnemyResource.cs" id="2_sma76"]
[sub_resource type="AtlasTexture" id="AtlasTexture_pscit"]
atlas = ExtResource("1_gkmvt")
region = Rect2(0, 0, 16, 16)
[resource]
script = ExtResource("2_sma76")
EnemyName = &"Rotating Turret"
@ -22,4 +27,5 @@ StrafeSpeed = 0.0
MaxStrafeDistance = 0.0
MinStrafeDistance = 0.0
ResponseTime = 0.5
IconSprite = SubResource("AtlasTexture_pscit")
metadata/_custom_type_script = "uid://cd5o0ceb50jki"

View file

@ -9,7 +9,7 @@ atlas = ExtResource("1_bpftr")
[resource]
script = ExtResource("1_31o2l")
ItemName = &"Ice Ammo"
ShortName = null
ShortName = &""
ItemDescription = &"Ammo for Ice-Based Weapons"
ItemKey = &"ICE_AMMO"
Item = 3

View file

@ -10,7 +10,7 @@ region = Rect2(0, 0, 16, 16)
[resource]
script = ExtResource("1_k8cnp")
ItemName = &"Blue Keycard"
ShortName = null
ShortName = &""
ItemDescription = &"Activates Blue KeyPads"
ItemKey = &"BLUE_KEY"
Item = 1

View file

@ -10,7 +10,7 @@ region = Rect2(0, 0, 16, 16)
[resource]
script = ExtResource("2_munhl")
ItemName = &"Generic Keycard"
ShortName = null
ShortName = &""
ItemDescription = &"Activates Gray KeyPads"
ItemKey = &"GRAY_KEY"
Item = 1

View file

@ -10,7 +10,7 @@ region = Rect2(0, 0, 16, 16)
[resource]
script = ExtResource("1_t0s5w")
ItemName = &"Green Keycard"
ShortName = null
ShortName = &""
ItemDescription = &"Activates Green KeyPads"
ItemKey = &"GREEN_KEY"
Item = 2

View file

@ -13,7 +13,7 @@ metadata/_custom_type_script = "uid://6cupx85nnda4"
[resource]
script = ExtResource("3_1s60f")
ItemName = &"Health Extend"
ShortName = null
ShortName = &""
ItemDescription = &"Extends the max health"
ItemKey = &"HEALTH_EXTEND"
Item = 13

View file

@ -21,4 +21,4 @@ UiType = 1
Selectable = true
AutoPickup = false
InventorySprite = ExtResource("2_eaoas")
DropScenePath = null
DropScenePath = &""

View file

@ -13,7 +13,7 @@ metadata/_custom_type_script = "uid://6cupx85nnda4"
[resource]
script = ExtResource("2_n442a")
ItemName = &"Shield Extend"
ShortName = null
ShortName = &""
ItemDescription = &"Extends the max shield"
ItemKey = &"SHIELD_EXTEND"
Item = 13

View file

@ -16,15 +16,15 @@ metadata/_custom_type_script = "uid://cyipg3seetrxd"
[sub_resource type="Resource" id="Resource_v5a4k"]
script = ExtResource("1_qd764")
Name = null
Name = &""
BulletData = ExtResource("2_gpot4")
RateOfFire = 1.0
BulletCapacity = 10
ReloadTime = 1.0
AutoReload = true
InfiniteAmmo = true
ItemKey = null
AmmoKey = null
ItemKey = &""
AmmoKey = &""
BulletsPerShot = 1
SpreadAngle = 0.0
RandomSpread = 0.0
@ -34,7 +34,7 @@ metadata/_custom_type_script = "uid://b6fmrnipv88bk"
[resource]
script = ExtResource("1_lus3u")
ItemName = &"SnowBall Bomb"
ShortName = null
ShortName = &""
ItemDescription = &"A snowball packed of explosive, explodes on contact"
ItemKey = &"SPIDER_BOMB"
Item = 5

View file

@ -10,7 +10,7 @@ region = Rect2(0, 0, 16.0056, 16)
[resource]
script = ExtResource("4_tfyxc")
ItemName = &"Yellow Keycard"
ShortName = null
ShortName = &""
ItemDescription = &"Opens Yellow KeyPads"
ItemKey = &"YELLOW_KEY"
Item = 0

View file

@ -22,7 +22,7 @@ Controllable = false
Freezable = true
Grazeable = true
GrazeValue = 1.0
TimeModifiers = null
TimeModifiers = []
[sub_resource type="Resource" id="Resource_ne4q3"]
script = ExtResource("2_ee42k")
@ -61,7 +61,7 @@ Controllable = false
Freezable = true
Grazeable = true
GrazeValue = 1.0
TimeModifiers = null
TimeModifiers = []
[sub_resource type="Resource" id="Resource_kohuh"]
script = ExtResource("2_ee42k")
@ -100,7 +100,7 @@ Controllable = false
Freezable = true
Grazeable = true
GrazeValue = 1.0
TimeModifiers = null
TimeModifiers = []
[sub_resource type="Resource" id="Resource_depjj"]
script = ExtResource("2_ee42k")

View file

@ -12,6 +12,7 @@ RoomName = &"Boss1"
Type = 6
ScenePath = &"uid://brytwc48xpj78"
Size = Vector2i(1, 1)
StartShrouded = true
DoorGridPositions = Array[Vector2i]([Vector2i(0, 1)])
SpawnableEnemies = Array[Object]([ExtResource("1_j16nh"), ExtResource("2_dneml"), ExtResource("3_m2ese"), ExtResource("4_fojtq")])
DoorDirections = 2

View file

@ -73,6 +73,8 @@ metadata/_custom_type_script = "uid://rgx0g5iqksnn"
[resource]
script = ExtResource("1_2rtdw")
TileSize = Vector2i(16, 16)
RoomSizeInTiles = Vector2i(20, 10)
HorizontalDoorPrefab = ExtResource("2_y7x1u")
HorizontalWallPrefab = ExtResource("3_sdu6a")
VerticalDoorPrefab = ExtResource("5_mt0fe")

View file

@ -12,6 +12,7 @@ RoomName = &"TestMapSmallLab"
Type = 1
ScenePath = &"uid://dcxrdhq1yw5c7"
Size = Vector2i(1, 1)
StartShrouded = true
DoorGridPositions = Array[Vector2i]([Vector2i(0, -1), Vector2i(0, 1), Vector2i(1, 0), Vector2i(-1, 0)])
SpawnableEnemies = Array[Object]([ExtResource("1_1ns8k"), ExtResource("2_8dyfa"), ExtResource("3_3kq4c"), ExtResource("4_010mx")])
DoorDirections = 30

View file

@ -31,15 +31,15 @@ metadata/_custom_type_script = "uid://dslyrfcej3g2n"
[resource]
script = ExtResource("4_17dut")
Name = null
Name = &""
BulletData = SubResource("Resource_5eesc")
RateOfFire = 0.4
BulletCapacity = 20
ReloadTime = 2.0
AutoReload = true
InfiniteAmmo = true
ItemKey = null
AmmoKey = null
ItemKey = &""
AmmoKey = &""
BulletsPerShot = 1
SpreadAngle = 0.0
RandomSpread = 0.0

View file

@ -12,8 +12,8 @@ BulletCapacity = 4
ReloadTime = 2.0
AutoReload = true
InfiniteAmmo = true
ItemKey = null
AmmoKey = null
ItemKey = &""
AmmoKey = &""
BulletsPerShot = 5
SpreadAngle = 30.0
RandomSpread = 0.0

View file

@ -5,15 +5,15 @@
[resource]
script = ExtResource("2_8ycgt")
Name = null
Name = &""
BulletData = ExtResource("1_eps1c")
RateOfFire = 0.3
BulletCapacity = 4
ReloadTime = 1.0
AutoReload = true
InfiniteAmmo = true
ItemKey = null
AmmoKey = null
ItemKey = &""
AmmoKey = &""
BulletsPerShot = 1
SpreadAngle = 0.0
RandomSpread = 0.0

View file

@ -5,15 +5,15 @@
[resource]
script = ExtResource("2_w71lp")
Name = null
Name = &""
BulletData = ExtResource("1_gww1w")
RateOfFire = 0.6
BulletCapacity = 4
ReloadTime = 1.0
AutoReload = true
InfiniteAmmo = true
ItemKey = null
AmmoKey = null
ItemKey = &""
AmmoKey = &""
BulletsPerShot = 1
SpreadAngle = 0.0
RandomSpread = 0.0

View file

@ -1,9 +1,12 @@
[gd_scene load_steps=7 format=4 uid="uid://da7hmajaaiohm"]
[gd_scene load_steps=10 format=4 uid="uid://da7hmajaaiohm"]
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_dm6kf"]
[ext_resource type="Resource" uid="uid://b5x83li01qrav" path="res://Resources/RogueliteMaps/TestRGMap.tres" id="2_5s4nm"]
[ext_resource type="Script" uid="uid://8umfjejbkcsm" path="res://Scripts/Actors/RogueliteEnemySpawner.cs" id="5_b5lqw"]
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_q5p8k"]
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_81nvh"]
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="6_kfj8c"]
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="6_rlq0q"]
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
vertices = PackedVector2Array(166, 58, 294, 58, 294, 134, 166, 134, 166, 150, 154, 150, 154, 134, 154, 58, 26, 134, 26, 58, 166, 10, 154, 10)
@ -48,13 +51,24 @@ metadata/_edit_lock_ = true
[node name="EnemySpawners" type="Node2D" parent="."]
[node name="RogueliteEnemySpawner" type="Marker2D" parent="EnemySpawners"]
position = Vector2(57, 67)
position = Vector2(102, 67)
script = ExtResource("5_b5lqw")
Enemy = ExtResource("6_kfj8c")
[node name="RogueliteEnemySpawner2" type="Marker2D" parent="EnemySpawners"]
position = Vector2(88, 126)
position = Vector2(221, 72)
script = ExtResource("5_b5lqw")
Enemy = ExtResource("6_rlq0q")
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
position = Vector2(266, 122)
position = Vector2(89, 115)
script = ExtResource("5_b5lqw")
Enemy = ExtResource("6_rlq0q")
[node name="RogueliteEnemySpawner4" type="Marker2D" parent="EnemySpawners"]
position = Vector2(227, 119)
script = ExtResource("5_b5lqw")
Enemy = ExtResource("6_rlq0q")
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
visible = false

View file

@ -0,0 +1,42 @@
using Cirno.Scripts.Resources;
using Godot;
namespace Cirno.Scripts.Actors;
[Tool]
public partial class RogueliteEnemySpawner : Marker2D
{
private EnemyResource _enemy;
[Export]
public EnemyResource Enemy
{
get => _enemy;
set
{
_enemy = value;
if (Engine.IsEditorHint())
{
QueueRedraw();
}
}
}
[ExportToolButton("Update Icon")] public Callable RedrawButton => Callable.From(Redraw);
public override void _Draw()
{
if (!Engine.IsEditorHint()) return;
if (Enemy is null) return;
if (Enemy.IconSprite is null) return;
DrawTexture(Enemy.IconSprite, - new Vector2(_enemy.IconSprite.GetWidth() / 2f, _enemy.IconSprite.GetHeight() / 2f));
}
private void Redraw()
{
QueueRedraw();
}
}

View file

@ -0,0 +1 @@
uid://8umfjejbkcsm

View file

@ -425,14 +425,14 @@ public partial class RogueliteRoom : Node2D
{
GD.Print($"{doorMarker.Name} {doorMarker.Direction} {doorMarker.WallIndex}");
var baseGridSize = new Vector2(320, 160);
//var baseGridSize = new Vector2(320, 160);
Vector2 doorPosition = doorMarker.Direction switch
{
DoorDirections.North => new Vector2((baseGridSize.X / 2) + (baseGridSize.X * doorMarker.WallIndex),
DoorDirections.North => new Vector2((BaseRoomSize.X / 2) + (BaseRoomSize.X * doorMarker.WallIndex),
32),
DoorDirections.South => new Vector2((baseGridSize.X / 2) + (baseGridSize.X * doorMarker.WallIndex),
((baseGridSize.Y) * RoomResource.Size.Y) + 2),
DoorDirections.South => new Vector2((BaseRoomSize.X / 2) + (BaseRoomSize.X * doorMarker.WallIndex),
((BaseRoomSize.Y) * RoomResource.Size.Y) + 2),
DoorDirections.East => doorMarker.Position,
DoorDirections.West => doorMarker.Position,
_ => doorMarker.Position

View file

@ -3,6 +3,7 @@
namespace Cirno.Scripts.Resources;
[GlobalClass]
[Tool]
public abstract partial class BulletCreationModifier : Resource, IBulletModifier
{
public abstract float ModifySpeed(float baseSpeed, int bulletIndex, int totalBullets);

View file

@ -7,6 +7,7 @@ using Godot.Collections;
namespace Cirno.Scripts.Resources;
[GlobalClass]
[Tool]
public partial class BulletResource : Resource
{
[Export]

View file

@ -5,6 +5,7 @@ using Godot;
namespace Cirno.Scripts.Resources;
[GlobalClass]
[Tool]
public partial class DamageResistance : Resource
{
[Export]

View file

@ -3,6 +3,7 @@
namespace Cirno.Scripts.Resources;
[GlobalClass]
[Tool]
public partial class DecreasingSpeedModifier : BulletCreationModifier, IBulletModifier
{
[Export] private float decreaseRate = 0.1f;

View file

@ -5,6 +5,7 @@ using Godot.Collections;
namespace Cirno.Scripts.Resources;
[GlobalClass]
[Tool]
public partial class EnemyResource : Resource
{
[Export] public StringName EnemyName { get; private set; }
@ -30,4 +31,6 @@ public partial class EnemyResource : Resource
/// </summary>
[Export] public float ResponseTime { get; private set; } = 0.5f;
[Export] public Texture2D IconSprite { get; private set; }
}

View file

@ -5,6 +5,7 @@ using Godot;
namespace Cirno.Scripts.Resources.ItemEffects;
[GlobalClass]
[Tool]
public partial class HealEffectResource : ItemEffectResource
{
[Export] public float HealAmount { get; private set; } = 10f;

View file

@ -4,6 +4,7 @@ using Godot;
namespace Cirno.Scripts.Resources.ItemEffects;
[GlobalClass]
[Tool]
public partial class HealPercentEffectResource : ItemEffectResource
{
[Export] public float HealPercentage = 25f;

View file

@ -4,6 +4,7 @@ using Godot;
namespace Cirno.Scripts.Resources.ItemEffects;
[GlobalClass]
[Tool]
public abstract partial class ItemEffectResource : Resource
{
public abstract IITemEffectMachine Execute(PlayerFSMItemUseModule parent, LootItem item);

View file

@ -4,6 +4,7 @@ using Godot;
namespace Cirno.Scripts.Resources.ItemEffects;
[GlobalClass]
[Tool]
public partial class ResourceIncreaseEffectResource : ItemEffectResource
{
[Export] public float IncreaseAmount { get; private set; } = 4f;

View file

@ -4,6 +4,7 @@ using Godot;
namespace Cirno.Scripts.Resources.ItemEffects;
[GlobalClass]
[Tool]
public partial class SpiderbombEffectResource : ItemEffectResource
{
public override IITemEffectMachine Execute(PlayerFSMItemUseModule parent, LootItem item)

View file

@ -3,6 +3,7 @@
namespace Cirno.Scripts.Resources.Loot;
[GlobalClass]
[Tool]
public partial class LootDrop : Resource
{
[Export]

View file

@ -4,6 +4,7 @@ using Godot;
namespace Cirno.Scripts.Resources;
[GlobalClass]
[Tool]
public partial class LootItem : Resource
{
[Export] public StringName ItemName { get; set; }

View file

@ -3,6 +3,7 @@
namespace Cirno.Scripts.Resources.Modifiers;
[GlobalClass]
[Tool]
public partial class DelayedContinuousRotationModifier : TimeModifier
{
public override void Update(Bullet bullet, double delta, double elapsed)

View file

@ -3,6 +3,7 @@
namespace Cirno.Scripts.Resources.Modifiers;
[GlobalClass]
[Tool]
public partial class DelayedPlayerFacingModifier : TimeModifier
{
public override void Start(Bullet bullet)

View file

@ -3,6 +3,7 @@
namespace Cirno.Scripts.Resources.Modifiers;
[GlobalClass]
[Tool]
public partial class DelayedRotationModifier : TimeModifier
{
public override void Start(Bullet bullet)

View file

@ -4,6 +4,7 @@ using Godot;
namespace Cirno.Scripts.Resources.Modifiers;
[GlobalClass]
[Tool]
public partial class DelayedSpeedIncreaseModifier : TimeModifier
{

View file

@ -4,6 +4,7 @@ using Godot;
namespace Cirno.Scripts.Resources.Modifiers;
[GlobalClass]
[Tool]
public partial class DelayedSpeedModifier : TimeModifier
{
public override void Start(Bullet bullet)

View file

@ -3,6 +3,7 @@
namespace Cirno.Scripts.Resources;
[GlobalClass]
[Tool]
public partial class SpeedModifier : BulletCreationModifier, IBulletModifier
{
[Export] public SpeedModifierType ModifierType;

View file

@ -4,6 +4,7 @@ using Godot;
namespace Cirno.Scripts.Resources;
[GlobalClass]
[Tool]
public partial class TimeModifier : Resource
{
[Export] public float TimeInSeconds = 1f;

View file

@ -7,6 +7,7 @@ using Godot.Collections;
namespace Cirno.Scripts.Resources;
[GlobalClass]
[Tool]
public partial class WeaponResource : Resource
{
[Export]