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

feat: 添加新武器彩虹旗和紫水晶簇,调整饲料属性和数值

refactor: 重构子弹生成逻辑,支持分裂和折射效果

fix: 修复掉落物拾取范围和碰撞检测问题

style: 优化UI显示,添加武器品质和类型标签

docs: 更新字段描述,调整部分饲料名称和分类

perf: 优化数学工具函数,添加随机数处理工具

test: 调整波次生成逻辑,添加新敌人类型

build: 添加新资源文件和相关导入配置
This commit is contained in:
2025-09-05 22:23:41 +08:00
parent bb279c99b0
commit d4501ae45d
54 changed files with 974 additions and 109 deletions
+40 -3
View File
@@ -9,9 +9,20 @@ enum Quality {
EPIC,
LEGENDARY,
}
enum Topic {
SURVIVAL,
ENERGY,
BULLET,
SPEED,
DAMAGE,
PROBABILITY,
FEED,
DROP,
}
@export var displayName: String = "未命名饲料"
@export var quality: Quality = Quality.COMMON
@export var topic: Topic = Topic.SURVIVAL
@export var qualityColorMap = {
Quality.WASTE: Color(),
Quality.COMMON: Color(),
@@ -38,19 +49,45 @@ enum Quality {
Quality.COMMON: - 1,
Quality.RARE: 0,
Quality.EPIC: 1,
Quality.LEGENDARY: 2
Quality.LEGENDARY: 2,
}
@export var topicNameMap = {
Topic.SURVIVAL: "生存",
Topic.ENERGY: "储能",
Topic.BULLET: "子弹",
Topic.SPEED: "速度",
Topic.DAMAGE: "伤害",
Topic.PROBABILITY: "概率",
Topic.FEED: "饲料",
Topic.DROP: "掉落物",
}
@export var topicColorMap = {
Topic.SURVIVAL: Color(),
Topic.ENERGY: Color(),
Topic.BULLET: Color(),
Topic.SPEED: Color(),
Topic.DAMAGE: Color(),
Topic.PROBABILITY: Color(),
Topic.FEED: Color(),
Topic.DROP: Color(),
}
@onready var qualityLabel: Label = $"%quality"
@onready var topicLabel: Label = $"%topic"
@onready var nameLabel: RichTextLabel = $"%label"
func _ready():
qualityLabel.label_settings = qualityLabel.label_settings.duplicate()
topicLabel.label_settings = topicLabel.label_settings.duplicate()
func _physics_process(_delta):
qualityLabel.text = "[%s]" % qualityNameMap[quality]
qualityLabel.label_settings.font_color = color()
qualityLabel.label_settings.font_color = qualityColor()
topicLabel.text = "[%s]" % topicNameMap[topic]
topicLabel.label_settings.font_color = topicColor()
nameLabel.text = "[b]%s[/b]" % displayName
func color():
func qualityColor():
return qualityColorMap[quality] as Color
func topicColor():
return topicColorMap[topic] as Color
func weight(player: EntityBase) -> int:
return floor(clamp(qualityRandomWeight[quality] + luckInfluence[quality] * player.fields[FieldStore.Entity.LUCK_VALUE], 1, INF))