From 3a32d2af25666a8d08b8be701bd2903406e636aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=A8=E8=90=BD=E5=9F=BA=E5=9B=B4=E8=99=BE?= <3161880837@qq.com> Date: Sat, 6 Sep 2025 08:23:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=AD=A6=E5=99=A8=E7=B3=BB=E7=BB=9F):=20?= =?UTF-8?q?=E9=87=8D=E6=9E=84LGBT=E6=AD=A6=E5=99=A8=E5=B9=B6=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=B7=A5=E5=85=B7=E6=A8=A1=E5=BC=8F=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为BigLaser和PurpleCrystal武器添加@tool注解 - 重构LGBTWeapon的攻击逻辑,支持多角度子弹发射 - 更新LGBT武器的配置属性和描述模板 - 将Rooster角色的武器从BigLaser替换为LGBT武器 --- components/Characters/Rooster.tscn | 5 +++-- components/Weapons/LGBT.tscn | 8 +++++--- scripts/Contents/Weapons/BigLaser.gd | 1 + scripts/Contents/Weapons/LGBTWeapon.gd | 10 ++++++++-- scripts/Contents/Weapons/PurpleCrystal.gd | 1 + 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/components/Characters/Rooster.tscn b/components/Characters/Rooster.tscn index d50b277..7a56dc4 100644 --- a/components/Characters/Rooster.tscn +++ b/components/Characters/Rooster.tscn @@ -7,8 +7,8 @@ [ext_resource type="Texture2D" uid="uid://ci2ik43ce82uy" path="res://resources/characters/cock/rooster-b.svg" id="3_b0fgx"] [ext_resource type="PackedScene" uid="uid://c0n3igy4hucrg" path="res://components/Weapons/PurpleCrystal.tscn" id="3_ms5sq"] [ext_resource type="AudioStream" uid="uid://cdrevrq7n6yqa" path="res://resources/sounds/effect/Boing.mp3" id="4_66s6c"] -[ext_resource type="PackedScene" uid="uid://cxabqjo7skxev" path="res://components/Weapons/BigLaser.tscn" id="4_0862n"] [ext_resource type="AudioStream" uid="uid://benyec5bqni0b" path="res://resources/sounds/effect/Chomp.wav" id="4_k0yme"] +[ext_resource type="PackedScene" uid="uid://wl8u5m52708w" path="res://components/Weapons/LGBT.tscn" id="4_pb8qn"] [ext_resource type="AudioStream" uid="uid://dmxh3bpk8vyy5" path="res://resources/sounds/effect/Coin.mp3" id="5_xnbhq"] [ext_resource type="AudioStream" uid="uid://4wuuf1osk0yv" path="res://resources/sounds/effect/Low Boing.wav" id="6_m5px1"] [ext_resource type="AudioStream" uid="uid://b10u6iir6uvqn" path="res://resources/sounds/effect/BigLaser.wav" id="8_7dhim"] @@ -46,7 +46,8 @@ process_mode = 4 [node name="PurpleCrystal" parent="weaponStore" index="0" instance=ExtResource("3_ms5sq")] -[node name="BigLaser" parent="weaponStore" index="1" instance=ExtResource("4_0862n")] +[node name="LGBT" parent="weaponStore" index="1" instance=ExtResource("4_pb8qn")] +debugRebuild = false [node name="sprint" parent="sounds" index="0"] stream = ExtResource("4_66s6c") diff --git a/components/Weapons/LGBT.tscn b/components/Weapons/LGBT.tscn index 2af53cd..bc47706 100644 --- a/components/Weapons/LGBT.tscn +++ b/components/Weapons/LGBT.tscn @@ -13,14 +13,16 @@ quality = 4 costs = Array[int]([0, 1]) costCounts = Array[int]([200, 100]) store = { +"angle": 15.0, "atk": 20, "count": 7.0, "power": 0.3, "trace": 2.0 } -storeType = Array[int]([0, 0, 1, 0]) -descriptionTemplate = "发射$count条可追踪$trace秒,效率为$power的带状彩虹,每条造成$atk点伤害。" +storeType = Array[int]([0, 0, 1, 0, 2]) +descriptionTemplate = "发射$count条,每条间分隔$angle,可追踪$trace秒,效率为$power的带状彩虹,每条造成$atk点伤害。" needEnergy = 150.0 +debugRebuild = true [node name="avatar" parent="container/info" index="0"] texture = ExtResource("2_ou6jo") @@ -34,5 +36,5 @@ quality = 4 [node name="description" parent="container" index="2"] size_flags_vertical = 3 -text = "[center]发射[color=cyan]7.0[/color]条可追踪[color=cyan]2.0[/color]秒,效率为[color=cyan]30.0%[/color]的带状彩虹,每条造成[color=cyan]20.0[/color]点伤害。[/center]" +text = "[center]发射[color=cyan]7.0[/color]条,每条间分隔[color=cyan]15.0°[/color],可追踪[color=cyan]2.0[/color]秒,效率为[color=cyan]30.0%[/color]的带状彩虹,每条造成[color=cyan]20.0[/color]点伤害。[/center]" autowrap_mode = 2 diff --git a/scripts/Contents/Weapons/BigLaser.gd b/scripts/Contents/Weapons/BigLaser.gd index 707028c..f2145e9 100644 --- a/scripts/Contents/Weapons/BigLaser.gd +++ b/scripts/Contents/Weapons/BigLaser.gd @@ -1,3 +1,4 @@ +@tool extends Weapon class_name BigLaserWeapon diff --git a/scripts/Contents/Weapons/LGBTWeapon.gd b/scripts/Contents/Weapons/LGBTWeapon.gd index b52f1f2..5048f5e 100644 --- a/scripts/Contents/Weapons/LGBTWeapon.gd +++ b/scripts/Contents/Weapons/LGBTWeapon.gd @@ -4,9 +4,15 @@ class_name LGBTWeapon func update(to: int, origin: Dictionary, _entity: EntityBase): origin["atk"] += 5 * to - origin["time"] /= 1.1 + origin["count"] += 1 + origin["power"] += 0.05 + origin["trace"] += 0.25 + origin["angle"] /= 1.1 return origin func attack(entity: EntityBase): var weaponPos = entity.findWeaponAnchor("normal") - BulletBase.generate(preload("res://components/Bullets/BigLaser.tscn"), entity, weaponPos, (get_global_mouse_position() - weaponPos).angle()) + var facingAngle = (get_global_mouse_position() - weaponPos).angle() + var startAngle = facingAngle - deg_to_rad(readStore("angle") * (readStore("count") / 2)) + for i in range(int(readStore("count"))): + BulletBase.generate(preload("res://components/Bullets/LGBTBullet.tscn"), entity, weaponPos, startAngle + deg_to_rad(readStore("angle") * i)) return true diff --git a/scripts/Contents/Weapons/PurpleCrystal.gd b/scripts/Contents/Weapons/PurpleCrystal.gd index 692e2f1..0c05ec0 100644 --- a/scripts/Contents/Weapons/PurpleCrystal.gd +++ b/scripts/Contents/Weapons/PurpleCrystal.gd @@ -1,3 +1,4 @@ +@tool extends Weapon class_name PurpleCrystalWeapon