diff --git a/scripts/Structs/Feed.gd b/scripts/Structs/Feed.gd index 99f8acc..ad75e2c 100644 --- a/scripts/Structs/Feed.gd +++ b/scripts/Structs/Feed.gd @@ -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 diff --git a/scripts/Tools/FieldStore.gd b/scripts/Tools/FieldStore.gd index d58ddb5..b4f658c 100644 --- a/scripts/Tools/FieldStore.gd +++ b/scripts/Tools/FieldStore.gd @@ -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