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

fix: 限制实体字段的最大值以防止数值溢出

在FieldStore.gd中添加entityMaxValueMap定义各字段的最大值
在Feed.gd中应用clamp确保字段值不超过定义的最大值
This commit is contained in:
2025-08-28 11:26:29 +08:00
parent d58afd6f80
commit 0c1ce5b4e2
2 changed files with 9 additions and 0 deletions
+1
View File
@@ -71,6 +71,7 @@ func apply(entity: EntityBase):
var applier = FieldStore.entityApplier.get(field, null)
if !applier or applier.call(entity, value):
entity.fields[field] += value
entity.fields[field] = clamp(entity.fields[field], 0, FieldStore.entityMaxValueMap.get(field, INF))
hide()
selected.emit(allHave)
return allHave
+8
View File
@@ -69,6 +69,14 @@ static var entityMapType = {
Entity.MAX_ENERGY: DataType.VALUE,
Entity.LUCK_VALUE: DataType.VALUE
}
static var entityMaxValueMap = {
Entity.CRIT_RATE: 1,
Entity.PENERATE: 1,
Entity.PENARATION_RESISTANCE: 1,
Entity.PRICE_REDUCTION: 0.8,
Entity.DROP_APPLE_RATE: 0.5,
Entity.FEED_COUNT_SHOW: 6
}
static var entityApplier = {
Entity.MAX_HEALTH: func(entity, value):
entity.health += value