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