1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-06 19:57:12 +08:00

feat(武器): 新增蓝水晶武器及相关调整

- 添加蓝水晶武器资源及配置
- 调整蓝水晶子弹的生命周期和追踪速度
- 修改数学工具中的随机数生成逻辑
- 更新钻石子弹的穿透属性和生命周期
- 将蓝水晶武器添加到角色武器库中
This commit is contained in:
2025-12-14 13:22:35 +08:00
parent 977073dbc0
commit 04dbd5d6db
8 changed files with 73 additions and 34 deletions
+1 -1
View File
@@ -38,7 +38,7 @@ alpha_curve = SubResource("CurveTexture_4h7m0")
script = ExtResource("2_0q2lw")
displayName = "蓝水晶"
speed = 5.0
lifeTime = 5000.0
lifeTime = 2500.0
[node name="texture" parent="." index="0"]
modulate = Color(0.8283318, 1.529841, 1.548706, 1)
+18 -17
View File
@@ -4,8 +4,20 @@
[ext_resource type="Script" uid="uid://c1ywds8xwerm3" path="res://scripts/Contents/Bullets/Diamond2.gd" id="2_i4qda"]
[ext_resource type="Texture2D" uid="uid://dfptmc7clhtx7" path="res://resources/bullets/diamond/frames/0.svg" id="3_pkqnc"]
[sub_resource type="Animation" id="Animation_pkqnc"]
resource_name = "spawn"
[sub_resource type="Animation" id="Animation_g4uh6"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_0d4xv"]
resource_name = "loop"
@@ -24,20 +36,8 @@ tracks/0/keys = {
"values": [0.0, 6.283185307179586]
}
[sub_resource type="Animation" id="Animation_g4uh6"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_pkqnc"]
resource_name = "spawn"
[sub_resource type="AnimationLibrary" id="AnimationLibrary_v5jve"]
_data = {
@@ -52,7 +52,8 @@ radius = 6.0827627
[node name="Diamond2" instance=ExtResource("1_slk7q")]
script = ExtResource("2_i4qda")
displayName = "钻石"
lifeTime = 5000.0
penerate = 0.5
lifeTime = 3000.0
autoLoopAnimation = true
[node name="animator" parent="texture" index="0"]
+7 -2
View File
@@ -1,9 +1,10 @@
[gd_scene load_steps=13 format=3 uid="uid://bm7ymrri6pykb"]
[gd_scene load_steps=14 format=3 uid="uid://bm7ymrri6pykb"]
[ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_e5pl8"]
[ext_resource type="Script" uid="uid://cthtupc6dtbav" path="res://scripts/Contents/Characters/Rooster.gd" id="2_oqdqd"]
[ext_resource type="PackedScene" uid="uid://c0n3igy4hucrg" path="res://components/Weapons/PurpleCrystal.tscn" id="3_jluqw"]
[ext_resource type="PackedScene" uid="uid://wl8u5m52708w" path="res://components/Weapons/LGBT.tscn" id="3_s7kxe"]
[ext_resource type="PackedScene" uid="uid://c3crr8r7y3oho" path="res://components/Weapons/BlueCrystal.tscn" id="4_0omr3"]
[ext_resource type="AudioStream" uid="uid://cdrevrq7n6yqa" path="res://resources/sounds/effect/Boing.mp3" id="4_66s6c"]
[ext_resource type="AudioStream" uid="uid://benyec5bqni0b" path="res://resources/sounds/effect/Chomp.wav" id="4_k0yme"]
[ext_resource type="AudioStream" uid="uid://dmxh3bpk8vyy5" path="res://resources/sounds/effect/Coin.mp3" id="5_xnbhq"]
@@ -58,7 +59,11 @@ process_mode = 4
[node name="PurpleCrystal" parent="weaponStore" index="0" instance=ExtResource("3_jluqw")]
offset_bottom = 350.0
[node name="LGBT" parent="weaponStore" index="1" instance=ExtResource("3_s7kxe")]
[node name="BlueCrystal" parent="weaponStore" index="1" instance=ExtResource("4_0omr3")]
offset_bottom = 374.0
debugRebuild = false
[node name="LGBT" parent="weaponStore" index="2" instance=ExtResource("3_s7kxe")]
[node name="sprint" parent="sounds" index="0"]
stream = ExtResource("4_66s6c")
+5 -12
View File
@@ -1,17 +1,17 @@
[gd_scene load_steps=5 format=3 uid="uid://c3crr8r7y3oho"]
[ext_resource type="PackedScene" uid="uid://ckq2cq6m23hq3" path="res://components/Abstracts/WeaponCardBase.tscn" id="1_rlc3s"]
[ext_resource type="Texture2D" uid="uid://cp4ypuarjoshp" path="res://resources/skillIcons/purple-crystal.png" id="2_4qqa7"]
[ext_resource type="Script" uid="uid://8xlc5upq36n7" path="res://scripts/Contents/Weapons/BlueCrystal.gd" id="2_jbcf8"]
[ext_resource type="Texture2D" uid="uid://dl1tawdvnlsux" path="res://resources/weapons/blue-crystal.png" id="3_fewtg"]
[ext_resource type="AudioStream" uid="uid://dclinyhu256xi" path="res://resources/sounds/effect/Low Whoosh.mp3" id="4_fewtg"]
[node name="BlueCrystal" instance=ExtResource("1_rlc3s")]
script = ExtResource("2_jbcf8")
avatarTexture = ExtResource("2_4qqa7")
avatarTexture = ExtResource("3_fewtg")
displayName = "蓝水晶簇"
quality = 2
store = {
"atk": 2,
"atk": 5,
"count": 2.0
}
storeType = {
@@ -20,20 +20,13 @@ storeType = {
"distance": 0
}
descriptionTemplate = "发射[b]蓝水晶[/b],可无限追踪,命中造成$atk点伤害,飞行过程中有$count颗[b]钻石[/b]环绕。"
cooldown = 200.0
cooldown = 250.0
[node name="attack" parent="sounds" index="0"]
stream = ExtResource("4_fewtg")
[node name="avatar" parent="container/info" index="0"]
modulate = Color(0.828, 1.53, 1.549, 1)
texture = ExtResource("2_4qqa7")
[node name="beachball" parent="container/info/infos" index="1"]
count = 500
[node name="soul" parent="container/info/infos" index="2"]
count = 1
texture = ExtResource("3_fewtg")
[node name="name" parent="container/info" index="2"]
displayName = "蓝水晶簇"
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dl1tawdvnlsux"
path="res://.godot/imported/blue-crystal.png-6538b4aedf173a95972957872c001c13.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/weapons/blue-crystal.png"
dest_files=["res://.godot/imported/blue-crystal.png-6538b4aedf173a95972957872c001c13.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
+1 -1
View File
@@ -9,7 +9,7 @@ func ai():
var tracker = tracer.getTrackingAnchor()
var targetAngle = position.angle_to_point(tracker)
trail.rotation = - Vector2.from_angle(rotation).angle_to(Vector2.from_angle(targetAngle)) * 0.75 / (speed / initialSpeed)
PresetBulletAI.trace(self, tracker, 0.05)
PresetBulletAI.trace(self, tracker, 0.07)
else:
trail.rotation = 0
speed += 0.1
+1 -1
View File
@@ -22,7 +22,7 @@ static func signBeforeStr(value: float):
static func percent(value: float):
return value / 100
static func shrimpRate(value: float):
return randi_range(0, floor(value)) + int(rate(value - floor(value)))
return floor(value) + int(rate(value - floor(value)))
static func getClosestIntersection(a: Vector2, b: Vector2, r: float) -> Vector2:
var ab = b - a
var distance = ab.length()