mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-27 22:41:56 +08:00
feat(养成系统): 实现局外养成等级机制并调整升级消耗
添加upgradableFieldsLevel字段记录养成等级 修改升级逻辑使用等级计算消耗而非固定倍率 升级时自动增加等级并重新计算下次升级消耗
This commit is contained in:
@@ -171,8 +171,8 @@ func beforeOpen(_args: Array = []):
|
||||
upgradeFieldsBox.remove_child(child)
|
||||
for field in OutGameStorage.upgradableFieldsAdvance:
|
||||
var fieldShow = ComponentManager.getUIComponent("FieldShow").instantiate() as FieldShow
|
||||
fieldShow.cost(ItemStore.ItemType.CRYSTAL, 50)
|
||||
fieldShow.cost(ItemStore.ItemType.DIAMOND, 0)
|
||||
fieldShow.cost(ItemStore.ItemType.CRYSTAL, 50 * OutGameStorage.upgradableFieldsLevel[fieldShow.field])
|
||||
fieldShow.cost(ItemStore.ItemType.DIAMOND, OutGameStorage.upgradableFieldsLevel[fieldShow.field] - 1)
|
||||
fieldShow.upgradable = true
|
||||
fieldShow.upgradeValue = OutGameStorage.upgradableFieldsAdvance[field]
|
||||
fieldShow.field = field
|
||||
@@ -181,11 +181,12 @@ func beforeOpen(_args: Array = []):
|
||||
fieldShow.upgrade.connect(
|
||||
func(newValue: float):
|
||||
OutGameStorage.upgradableFieldsValue[fieldShow.field] = newValue
|
||||
OutGameStorage.upgradableFieldsLevel[fieldShow.field] += 1
|
||||
for index in len(fieldShow.costCounts):
|
||||
if fieldShow.costCounts[index] == 0:
|
||||
fieldShow.costCounts[index] += 1
|
||||
else:
|
||||
fieldShow.costCounts[index] *= GameRule.outGameUpgradeMultipiler
|
||||
fieldShow.costCounts[index] *= (OutGameStorage.upgradableFieldsLevel[fieldShow.field] + 1) / OutGameStorage.upgradableFieldsLevel[fieldShow.field]
|
||||
)
|
||||
upgradeFieldsBox.add_child(fieldShow)
|
||||
|
||||
|
||||
@@ -29,6 +29,9 @@ func _ready():
|
||||
func():
|
||||
if upgradable:
|
||||
if enoughToUpgrade():
|
||||
for index in costItems:
|
||||
var item = costItems[index]
|
||||
OutGameStorage.inventory[item] -= costCounts[index]
|
||||
value += upgradeValue
|
||||
upgrade.emit(value)
|
||||
rebuildInfo()
|
||||
|
||||
@@ -23,4 +23,3 @@ static var penerateRateInfluenceByLuckValue: float = MathTool.percent(3) # 幸
|
||||
static var detainTime: float = 250 # 血量如果在这个时间内没有改变才会开始播放降低动画
|
||||
static var weaponUpdateCost: float = 1.1 # 武器升级后消耗的棒球数量倍数
|
||||
static var canSpawnMobWhenBossWave: bool = true # Boss波次是否可生成小怪
|
||||
static var outGameUpgradeMultipiler: float = 2 # 局外养成升级后物品消耗倍率
|
||||
|
||||
@@ -11,11 +11,17 @@ static var upgradableFieldsAdvance = {
|
||||
FieldStore.Entity.MAX_HEALTH: 10,
|
||||
FieldStore.Entity.DAMAGE_MULTIPILER: 0.1,
|
||||
FieldStore.Entity.ATTACK_SPEED: 0.05,
|
||||
FieldStore.Entity.PRICE_REDUCTION: 0.02
|
||||
FieldStore.Entity.PRICE_REDUCTION: 0.02,
|
||||
}
|
||||
static var upgradableFieldsValue = {
|
||||
FieldStore.Entity.MAX_HEALTH: 0,
|
||||
FieldStore.Entity.DAMAGE_MULTIPILER: 0,
|
||||
FieldStore.Entity.ATTACK_SPEED: 0,
|
||||
FieldStore.Entity.PRICE_REDUCTION: 0
|
||||
FieldStore.Entity.PRICE_REDUCTION: 0,
|
||||
}
|
||||
static var upgradableFieldsLevel = {
|
||||
FieldStore.Entity.MAX_HEALTH: 1,
|
||||
FieldStore.Entity.DAMAGE_MULTIPILER: 1,
|
||||
FieldStore.Entity.ATTACK_SPEED: 1,
|
||||
FieldStore.Entity.PRICE_REDUCTION: 1,
|
||||
}
|
||||
Reference in New Issue
Block a user