mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-07-02 16:22:14 +08:00
feat(属性系统): 添加幸运属性并影响饲料品质概率
添加新的幸运属性(LUCK_VALUE)到实体属性系统中,并修改饲料品质随机权重计算逻辑,使幸运值能够影响高品质饲料的获取概率。同时调整了基础品质权重值,优化了随机分布。 - 在FieldStore中添加LUCK_VALUE枚举和映射 - 在EntityBase中初始化幸运值 - 修改FeedName的weight计算方式,加入幸运值影响因子 - 调整各品质的基础权重值
This commit is contained in:
@@ -28,6 +28,7 @@ var fields = {
|
|||||||
FieldStore.Entity.FEED_COUNT_SHOW: 3,
|
FieldStore.Entity.FEED_COUNT_SHOW: 3,
|
||||||
FieldStore.Entity.FEED_COUNT_CAN_MADE: 1,
|
FieldStore.Entity.FEED_COUNT_CAN_MADE: 1,
|
||||||
FieldStore.Entity.MAX_ENERGY: 200,
|
FieldStore.Entity.MAX_ENERGY: 200,
|
||||||
|
FieldStore.Entity.LUCK_VALUE: 1
|
||||||
}
|
}
|
||||||
var inventory = {
|
var inventory = {
|
||||||
ItemStore.ItemType.BASEBALL: 100,
|
ItemStore.ItemType.BASEBALL: 100,
|
||||||
|
|||||||
@@ -27,11 +27,18 @@ enum Quality {
|
|||||||
Quality.LEGENDARY: "传说"
|
Quality.LEGENDARY: "传说"
|
||||||
}
|
}
|
||||||
@export var qualityRandomWeight = {
|
@export var qualityRandomWeight = {
|
||||||
Quality.WASTE: 5,
|
Quality.WASTE: 20,
|
||||||
Quality.COMMON: 50,
|
Quality.COMMON: 100,
|
||||||
Quality.RARE: 10,
|
Quality.RARE: 30,
|
||||||
Quality.EPIC: 5,
|
Quality.EPIC: 10,
|
||||||
Quality.LEGENDARY: 1
|
Quality.LEGENDARY: 5
|
||||||
|
}
|
||||||
|
@export var luckInfluence = {
|
||||||
|
Quality.WASTE: - 0.5,
|
||||||
|
Quality.COMMON: - 1,
|
||||||
|
Quality.RARE: 0,
|
||||||
|
Quality.EPIC: 1,
|
||||||
|
Quality.LEGENDARY: 2
|
||||||
}
|
}
|
||||||
|
|
||||||
@onready var qualityLabel: Label = $"%quality"
|
@onready var qualityLabel: Label = $"%quality"
|
||||||
@@ -45,5 +52,5 @@ func _physics_process(_delta):
|
|||||||
nameLabel.text = "[b]%s[/b]" % displayName
|
nameLabel.text = "[b]%s[/b]" % displayName
|
||||||
func color():
|
func color():
|
||||||
return qualityColorMap[quality] as Color
|
return qualityColorMap[quality] as Color
|
||||||
func weight() -> float:
|
func weight(player: EntityBase) -> int:
|
||||||
return qualityRandomWeight[quality]
|
return floor(clamp(qualityRandomWeight[quality] + luckInfluence[quality] * player.fields[FieldStore.Entity.LUCK_VALUE], 1, INF))
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ enum Entity {
|
|||||||
DROP_APPLE_RATE,
|
DROP_APPLE_RATE,
|
||||||
FEED_COUNT_SHOW,
|
FEED_COUNT_SHOW,
|
||||||
FEED_COUNT_CAN_MADE,
|
FEED_COUNT_CAN_MADE,
|
||||||
MAX_ENERGY
|
MAX_ENERGY,
|
||||||
|
LUCK_VALUE
|
||||||
}
|
}
|
||||||
static var entityMap = {
|
static var entityMap = {
|
||||||
Entity.MAX_HEALTH: "生命上限",
|
Entity.MAX_HEALTH: "生命上限",
|
||||||
@@ -44,7 +45,8 @@ static var entityMap = {
|
|||||||
Entity.DROP_APPLE_RATE: "苹果掉落率",
|
Entity.DROP_APPLE_RATE: "苹果掉落率",
|
||||||
Entity.FEED_COUNT_SHOW: "可选饲料数量",
|
Entity.FEED_COUNT_SHOW: "可选饲料数量",
|
||||||
Entity.FEED_COUNT_CAN_MADE: "可制作饲料数量",
|
Entity.FEED_COUNT_CAN_MADE: "可制作饲料数量",
|
||||||
Entity.MAX_ENERGY: "能量上限"
|
Entity.MAX_ENERGY: "能量上限",
|
||||||
|
Entity.LUCK_VALUE: "幸运"
|
||||||
}
|
}
|
||||||
static var entityMapType = {
|
static var entityMapType = {
|
||||||
Entity.MAX_HEALTH: DataType.VALUE,
|
Entity.MAX_HEALTH: DataType.VALUE,
|
||||||
@@ -64,7 +66,8 @@ static var entityMapType = {
|
|||||||
Entity.DROP_APPLE_RATE: DataType.PERCENT,
|
Entity.DROP_APPLE_RATE: DataType.PERCENT,
|
||||||
Entity.FEED_COUNT_SHOW: DataType.VALUE,
|
Entity.FEED_COUNT_SHOW: DataType.VALUE,
|
||||||
Entity.FEED_COUNT_CAN_MADE: DataType.VALUE,
|
Entity.FEED_COUNT_CAN_MADE: DataType.VALUE,
|
||||||
Entity.MAX_ENERGY: DataType.VALUE
|
Entity.MAX_ENERGY: DataType.VALUE,
|
||||||
|
Entity.LUCK_VALUE: DataType.VALUE
|
||||||
}
|
}
|
||||||
static var entityApplier = {
|
static var entityApplier = {
|
||||||
Entity.MAX_HEALTH: func(entity, value):
|
Entity.MAX_HEALTH: func(entity, value):
|
||||||
|
|||||||
Reference in New Issue
Block a user