Yin Yang Gun

This commit is contained in:
Marco 2025-03-06 17:45:17 +01:00
commit b590467258
15 changed files with 203 additions and 16 deletions

View file

@ -1,8 +1,20 @@
[gd_resource type="Resource" script_class="BulletResource" load_steps=4 format=3 uid="uid://brfrxovsuxgts"]
[gd_resource type="Resource" script_class="BulletResource" load_steps=6 format=3 uid="uid://brfrxovsuxgts"]
[ext_resource type="PackedScene" uid="uid://eqppkegmt562" path="res://Scenes/Weapons/Bullets/Yin_Yan_Bullet.tscn" id="1_lfcuj"]
[ext_resource type="PackedScene" uid="uid://dfbmny3s4rili" path="res://Scenes/Particles/IceBulletParticle.tscn" id="2_mdq2b"]
[ext_resource type="PackedScene" uid="uid://1lowv5ce2poq" path="res://Scenes/Weapons/Bullets/Autoclearing_Explosion_Bullet.tscn" id="2_mdq2b"]
[ext_resource type="Script" uid="uid://dslyrfcej3g2n" path="res://Scripts/Resources/BulletResource.cs" id="3_78iov"]
[ext_resource type="Script" uid="uid://ci2vjo54w7i18" path="res://Scripts/Resources/Modifiers/DelayedSpeedIncreaseModifier.cs" id="3_fvk2e"]
[sub_resource type="Resource" id="Resource_lcgqc"]
script = ExtResource("3_fvk2e")
TransitionType = 2
EaseType = 2
Duration = 0.5
TimeInSeconds = 0.0
ModifierType = 0
Value = 20.0
Continuous = false
metadata/_custom_type_script = "uid://ci2vjo54w7i18"
[resource]
script = ExtResource("3_78iov")
@ -10,10 +22,10 @@ BulletScene = ExtResource("1_lfcuj")
DestructionParticlesScene = ExtResource("2_mdq2b")
BulletSpeed = 100.0
Direction = Vector2(1, 0)
BulletDamage = 4.0
BulletDamage = 1.0
LifeTime = 10.0
DestroyOnCollision = true
Owner = 1
DamageType = 1
Controllable = false
TimeModifiers = null
TimeModifiers = Array[Object]([SubResource("Resource_lcgqc")])

View file

@ -0,0 +1,19 @@
[gd_resource type="Resource" script_class="LootItem" load_steps=3 format=3 uid="uid://diqm2ju0xakkt"]
[ext_resource type="Texture2D" uid="uid://b61po207ggn63" path="res://Sprites/Items/Yin_Ammo.png" id="1_jt7l8"]
[ext_resource type="Script" uid="uid://epnwjptvks3t" path="res://Scripts/Resources/LootItem.cs" id="3_ajs4l"]
[resource]
script = ExtResource("3_ajs4l")
ItemName = "Yin Yang Ammo"
ItemDescription = "Ammunition for Ying-Yang based weapons"
ItemKey = "YinYangAmmo"
Item = 3
Amount = 5
Max = 50
PickupIfMaxed = false
ConsumeOnUse = true
UiType = 2
Selectable = false
InventorySprite = ExtResource("1_jt7l8")
DropScenePath = &"res://Scenes/Items/Yin_Yang_Ammo.tscn"

View file

@ -0,0 +1,22 @@
[gd_resource type="Resource" script_class="LootItem" load_steps=4 format=3 uid="uid://ccmuffmnevrt4"]
[ext_resource type="Texture2D" uid="uid://61kfxc7k3do" path="res://Sprites/Items/Ying_Yang_Gun.png" id="1_2w24o"]
[ext_resource type="Resource" uid="uid://ba0r3qmsrm0td" path="res://Resources/Weapons/Yin_Yang_Gun.tres" id="1_cuxft"]
[ext_resource type="Script" uid="uid://epnwjptvks3t" path="res://Scripts/Resources/LootItem.cs" id="2_2w24o"]
[resource]
script = ExtResource("2_2w24o")
ItemName = "Yin-Yang Gun"
ItemDescription = "A weapon reverse engineered from Reimu's Yin-Yang orbs, shoots explosive projectiles"
ItemKey = "YinYangGun"
Item = 9
WeaponData = ExtResource("1_cuxft")
Amount = 1
Max = 1
PickupIfMaxed = true
ConsumeOnUse = false
UiType = 1
Selectable = true
InventorySprite = ExtResource("1_2w24o")
DropScenePath = &"res://Scenes/Items/Yin_Yang_Gun_Pickup.tscn"
metadata/_custom_type_script = "uid://epnwjptvks3t"

View file

@ -0,0 +1,20 @@
[gd_resource type="Resource" script_class="WeaponResource" load_steps=3 format=3 uid="uid://ba0r3qmsrm0td"]
[ext_resource type="Resource" uid="uid://brfrxovsuxgts" path="res://Resources/Bullets/yin_yang_bullet.tres" id="1_otehl"]
[ext_resource type="Script" uid="uid://b6fmrnipv88bk" path="res://Scripts/Resources/WeaponResource.cs" id="2_dbal7"]
[resource]
script = ExtResource("2_dbal7")
Name = "Yin-Yang Gun"
BulletData = ExtResource("1_otehl")
RateOfFire = 0.8
BulletCapacity = 3
ReloadTime = 0.4
AutoReload = true
InfiniteAmmo = false
BulletsPerShot = 1
SpreadAngle = 0.0
RandomSpread = 0.0
ItemKey = "YinYangGun"
AmmoKey = "YinYangAmmo"
_rotationOffset = 0.0

View file

@ -1,7 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://ddwcib46ttlrp"]
[gd_scene load_steps=6 format=3 uid="uid://ddwcib46ttlrp"]
[ext_resource type="Script" uid="uid://b3h7b30kerf60" path="res://Scripts/Interactables/ItemPickup.cs" id="1_gpoff"]
[ext_resource type="Resource" uid="uid://dau0s8ob7qnpc" path="res://Resources/Items/IceShotgun.tres" id="2_l5f4t"]
[ext_resource type="Resource" uid="uid://ct1fa2huvy34n" path="res://Resources/Items/Ammo1.tres" id="3_2spyx"]
[ext_resource type="Texture2D" uid="uid://b46usr10jhmev" path="res://Sprites/Items/Ice_Shotgun.png" id="3_w7kfy"]
[sub_resource type="CircleShape2D" id="CircleShape2D_jtwy2"]
@ -10,7 +11,7 @@
collision_layer = 4
collision_mask = 2
script = ExtResource("1_gpoff")
LootTable = [ExtResource("2_l5f4t")]
LootTable = [ExtResource("2_l5f4t"), ExtResource("3_2spyx")]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("3_w7kfy")

View file

@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://b3h7b30kerf60" path="res://Scripts/Interactables/ItemPickup.cs" id="1_qo3uh"]
[ext_resource type="Resource" uid="uid://bgcgeg187vg1h" path="res://Resources/Items/IcicleRepeater.tres" id="2_qo3uh"]
[ext_resource type="Script" uid="uid://epnwjptvks3t" path="res://Scripts/Resources/LootItem.cs" id="2_sb7le"]
[ext_resource type="Resource" uid="uid://ct1fa2huvy34n" path="res://Resources/Items/Ammo1.tres" id="3_leexx"]
[ext_resource type="Texture2D" uid="uid://bxe747rnr5xt7" path="res://Sprites/Items/Ice_Repeater.png" id="3_sb7le"]
[sub_resource type="CircleShape2D" id="CircleShape2D_jtwy2"]
@ -11,7 +11,7 @@
collision_layer = 4
collision_mask = 2
script = ExtResource("1_qo3uh")
LootTable = Array[ExtResource("2_sb7le")]([ExtResource("2_qo3uh")])
LootTable = [ExtResource("2_qo3uh"), ExtResource("3_leexx")]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("3_sb7le")

View file

@ -0,0 +1,34 @@
[gd_scene load_steps=7 format=3 uid="uid://sjxkj5jdndxb"]
[ext_resource type="Script" uid="uid://b3h7b30kerf60" path="res://Scripts/Interactables/ItemPickup.cs" id="1_o42iv"]
[ext_resource type="Resource" uid="uid://diqm2ju0xakkt" path="res://Resources/Items/Yin_Yang_Ammo.tres" id="2_o42iv"]
[ext_resource type="Texture2D" uid="uid://b61po207ggn63" path="res://Sprites/Items/Yin_Ammo.png" id="3_o42iv"]
[sub_resource type="CircleShape2D" id="CircleShape2D_6vv2s"]
[sub_resource type="AtlasTexture" id="AtlasTexture_q76u6"]
atlas = ExtResource("3_o42iv")
region = Rect2(0, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_8gvnj"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_q76u6")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[node name="YinYangAmmo" type="Area2D" groups=["Interactable"]]
collision_layer = 4
collision_mask = 2
script = ExtResource("1_o42iv")
LootTable = [ExtResource("2_o42iv")]
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_6vv2s")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_8gvnj")

View file

@ -0,0 +1,20 @@
[gd_scene load_steps=6 format=3 uid="uid://dyvrwksve4ulg"]
[ext_resource type="Script" uid="uid://b3h7b30kerf60" path="res://Scripts/Interactables/ItemPickup.cs" id="1_47pfy"]
[ext_resource type="Resource" uid="uid://ccmuffmnevrt4" path="res://Resources/Items/Yin_Yang_Gun_Pickup.tres" id="2_47pfy"]
[ext_resource type="Resource" uid="uid://diqm2ju0xakkt" path="res://Resources/Items/Yin_Yang_Ammo.tres" id="3_44v4n"]
[ext_resource type="Texture2D" uid="uid://61kfxc7k3do" path="res://Sprites/Items/Ying_Yang_Gun.png" id="3_atrc8"]
[sub_resource type="CircleShape2D" id="CircleShape2D_jtwy2"]
[node name="YinYangGun" type="Area2D" groups=["Interactable"]]
collision_layer = 4
collision_mask = 2
script = ExtResource("1_47pfy")
LootTable = [ExtResource("2_47pfy"), ExtResource("3_44v4n")]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("3_atrc8")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_jtwy2")

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=49 format=4 uid="uid://dqyfnby0t7gu1"]
[gd_scene load_steps=52 format=4 uid="uid://dqyfnby0t7gu1"]
[ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_c3v4x"]
[ext_resource type="Resource" uid="uid://cs3ihltcn2166" path="res://Resources/Items/IcicleGun.tres" id="3_6314l"]
@ -37,6 +37,9 @@
[ext_resource type="PackedScene" uid="uid://fxvlaidieiv7" path="res://Scenes/Interactable/ScriptableAreaTrigger.tscn" id="28_fuxq3"]
[ext_resource type="PackedScene" uid="uid://4q82gggqax87" path="res://Scenes/Items/Cheat_Gun_Pickup.tscn" id="28_pgobb"]
[ext_resource type="Script" uid="uid://dkihoo85jfec5" path="res://Scripts/Resources/Events/MovePlayerEvent.cs" id="29_3ll5g"]
[ext_resource type="PackedScene" uid="uid://dyvrwksve4ulg" path="res://Scenes/Items/Yin_Yang_Gun_Pickup.tscn" id="30_bea3m"]
[ext_resource type="PackedScene" uid="uid://sjxkj5jdndxb" path="res://Scenes/Items/Yin_Yang_Ammo.tscn" id="31_3a4iu"]
[ext_resource type="PackedScene" uid="uid://cnhgvn2salyxl" path="res://Scenes/Items/Icicle_Repeater.tscn" id="32_luw81"]
[ext_resource type="Script" uid="uid://bgertv72tq1dt" path="res://Scripts/Components/FSM/NewPlayerStateMachine.cs" id="34_2vu2h"]
[ext_resource type="Script" uid="uid://btwuahxvreivs" path="res://Scripts/Components/FSM/Player/NewInit.cs" id="35_mpb62"]
[ext_resource type="Script" uid="uid://dl50bcl8dx3k8" path="res://Scripts/Components/FSM/TestModule.cs" id="36_4rfvg"]
@ -237,6 +240,18 @@ metadata/_edit_group_ = true
[node name="Elevator" parent="Tilemaps/Actors/Path2D" node_paths=PackedStringArray("ElevatorPath") instance=ExtResource("28_3ll5g")]
ElevatorPath = NodePath("..")
[node name="YinYangGun" parent="Tilemaps/Actors" instance=ExtResource("30_bea3m")]
position = Vector2(364, 195)
[node name="YinYangAmmo" parent="Tilemaps/Actors" instance=ExtResource("31_3a4iu")]
position = Vector2(382, 189)
[node name="YinYangAmmo2" parent="Tilemaps/Actors" instance=ExtResource("31_3a4iu")]
position = Vector2(382, 170)
[node name="IcicleRepeater" parent="Tilemaps/Actors" instance=ExtResource("32_luw81")]
position = Vector2(354, 172)
[node name="ScriptableAreaTrigger" parent="Tilemaps" instance=ExtResource("28_fuxq3")]
position = Vector2(230, 250)
Events = Array[Object]([SubResource("Resource_pgobb")])

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=116 format=4 uid="uid://bv451a8wgty4u"]
[gd_scene load_steps=117 format=4 uid="uid://bv451a8wgty4u"]
[ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_8tmoj"]
[ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_ksslq"]
@ -29,6 +29,7 @@
[ext_resource type="PackedScene" uid="uid://dtuu2oo6qyo73" path="res://Scenes/Items/Power_Pickup.tscn" id="19_2boii"]
[ext_resource type="PackedScene" uid="uid://dxs3ks2ucaxl4" path="res://Scenes/Items/Red_Keycard.tscn" id="19_8fb73"]
[ext_resource type="PackedScene" uid="uid://d1rlw6ddpmrn8" path="res://Scenes/Actors/Rumia.tscn" id="19_acobs"]
[ext_resource type="PackedScene" uid="uid://dyvrwksve4ulg" path="res://Scenes/Items/Yin_Yang_Gun_Pickup.tscn" id="19_bwt6v"]
[ext_resource type="PackedScene" uid="uid://ddwcib46ttlrp" path="res://Scenes/Items/Ice_Shotgun_Pickup.tscn" id="19_xob8g"]
[ext_resource type="PackedScene" uid="uid://dkwi1hu1bixoe" path="res://Scenes/HUD/HUD.tscn" id="22_krk0o"]
[ext_resource type="Script" uid="uid://bdshph801ac2i" path="res://Scenes/CameraTarget.gd" id="24_0c2yt"]
@ -197,7 +198,7 @@ ActivationType = 0
Targets = Array[NodePath]([NodePath("../Rumia")])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_ma1ta"]
[sub_resource type="Resource" id="Resource_bwt6v"]
resource_local_to_scene = true
script = ExtResource("49_0si7g")
Target = NodePath(".")
@ -334,6 +335,9 @@ offset_bottom = -463.0
text = "Start Marisa"
label_settings = ExtResource("14_c4c20")
[node name="YinYangGun" parent="Factory Tilemaps/Debug Room" instance=ExtResource("19_bwt6v")]
position = Vector2(-745.124, -361.545)
[node name="CheaetGun" parent="Factory Tilemaps/Debug Room" instance=ExtResource("18_a1e2x")]
position = Vector2(-744, -347)
@ -797,7 +801,7 @@ Events = Array[Object]([SubResource("Resource_068l7"), SubResource("Resource_l3n
[node name="BossBattleStartScript" parent="Factory Tilemaps/LevelProps" instance=ExtResource("43_kf3qc")]
position = Vector2(-1487, -396)
Events = Array[Object]([SubResource("Resource_4f4id"), SubResource("Resource_s2o7m"), SubResource("Resource_b1dht"), SubResource("Resource_xrgpy"), SubResource("Resource_ma1ta")])
Events = Array[Object]([SubResource("Resource_4f4id"), SubResource("Resource_s2o7m"), SubResource("Resource_b1dht"), SubResource("Resource_xrgpy"), SubResource("Resource_bwt6v")])
[node name="Enemy13" parent="Factory Tilemaps/LevelProps" instance=ExtResource("47_u1ve6")]
position = Vector2(-1657, -788)

BIN
Sprites/Items/Ammo1.aseprite (Stored with Git LFS)

Binary file not shown.

BIN
Sprites/Items/Ammo1.png (Stored with Git LFS)

Binary file not shown.

BIN
Sprites/Items/Yin_Ammo.aseprite (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Sprites/Items/Yin_Ammo.png (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b61po207ggn63"
path="res://.godot/imported/Yin_Ammo.png-a006a21b0965b3c91c2670f3e4ece755.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/Items/Yin_Ammo.png"
dest_files=["res://.godot/imported/Yin_Ammo.png-a006a21b0965b3c91c2670f3e4ece755.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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