1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00

feat(武器系统): 重构LGBT武器并添加工具模式支持

- 为BigLaser和PurpleCrystal武器添加@tool注解
- 重构LGBTWeapon的攻击逻辑,支持多角度子弹发射
- 更新LGBT武器的配置属性和描述模板
- 将Rooster角色的武器从BigLaser替换为LGBT武器
This commit is contained in:
2025-09-06 08:23:57 +08:00
parent 6c7778309d
commit 3a32d2af25
5 changed files with 18 additions and 7 deletions
+3 -2
View File
@@ -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")
+5 -3
View File
@@ -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
+1
View File
@@ -1,3 +1,4 @@
@tool
extends Weapon
class_name BigLaserWeapon
+8 -2
View File
@@ -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
@@ -1,3 +1,4 @@
@tool
extends Weapon
class_name PurpleCrystalWeapon