diff --git a/components/Feeds/Puffs.tscn b/components/Feeds/Puffs.tscn index 64d485f..db04248 100644 --- a/components/Feeds/Puffs.tscn +++ b/components/Feeds/Puffs.tscn @@ -8,7 +8,7 @@ avatarTexture = ExtResource("2_p35iw") displayName = "奶酪泡芙" quality = 3 fields = Array[int]([10, 5, 13]) -fieldValues = Array[float]([0.06, 0.12, 0.075]) +fieldValues = Array[float]([0.06, 0.12, 7.5]) costs = Array[int]([0, 1]) costCounts = Array[int]([250, 100]) diff --git a/components/Scenes/World.tscn b/components/Scenes/World.tscn index 2048b76..254269c 100644 --- a/components/Scenes/World.tscn +++ b/components/Scenes/World.tscn @@ -43,7 +43,7 @@ tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "handle_modes": PackedInt32Array(0, 0, 0), -"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0, 2, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0), +"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0, 1.5, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0, 0.5, 3) } tracks/1/type = "bezier" @@ -54,7 +54,7 @@ tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "handle_modes": PackedInt32Array(0, 0, 0), -"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0, 2, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0), +"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0, 1.5, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0, 0.5, 3) } diff --git a/scripts/Contents/Panels/MakeFeed.gd b/scripts/Contents/Panels/MakeFeed.gd index 9c5a544..4a73302 100644 --- a/scripts/Contents/Panels/MakeFeed.gd +++ b/scripts/Contents/Panels/MakeFeed.gd @@ -68,6 +68,8 @@ func generateCardByQuality(): var result = [] for i in range(UIState.player.fields[FieldStore.Entity.FEED_COUNT_SHOW]): feeds.shuffle() - result.append(avaliableFeeds.get_children()[feeds[0]]) + var feed = avaliableFeeds.get_children()[feeds[0]] as Feed + feed.rebuildInfo() + result.append(feed) feeds = ArrayTool.removeAll(feeds, feeds[0]) return result diff --git a/scripts/Structs/Feed.gd b/scripts/Structs/Feed.gd index aa9e097..e85d2c7 100644 --- a/scripts/Structs/Feed.gd +++ b/scripts/Structs/Feed.gd @@ -23,31 +23,7 @@ func _ready(): func(): apply(UIState.player) ) - avatarRect.texture = avatarTexture - nameLabel.displayName = displayName - nameLabel.quality = quality - for i in fieldsBox.get_children(): - i.queue_free() - var noField = true - for i in range(min(fields.size(), fieldValues.size())): - noField = false - var field = fields[i] - var value = fieldValues[i] - var fieldShow: FieldShow = preload("res://components/UI/FieldShow.tscn").instantiate() - fieldShow.field = field - fieldShow.value = value - fieldsBox.add_child(fieldShow) - if noField: - fieldsBox.add_child(QuickUI.smallText("无词条")) - for i in costsBox.get_children(): - i.queue_free() - for i in range(min(costs.size(), costCounts.size())): - var cost = costs[i] - var count = costCounts[i] - var costShow: ItemShow = preload("res://components/UI/ItemShow.tscn").instantiate() - costShow.type = cost - costShow.count = int(count * multipiler()) - costsBox.add_child(costShow) + rebuildInfo() func allHad(entity: EntityBase) -> bool: var allHave = true @@ -80,3 +56,29 @@ func multipiler() -> float: return 1 - UIState.player.fields.get(FieldStore.Entity.PRICE_REDUCTION) else: return 1 +func rebuildInfo(): + avatarRect.texture = avatarTexture + nameLabel.displayName = displayName + nameLabel.quality = quality + for i in fieldsBox.get_children(): + i.queue_free() + var noField = true + for i in range(min(fields.size(), fieldValues.size())): + noField = false + var field = fields[i] + var value = fieldValues[i] + var fieldShow: FieldShow = preload("res://components/UI/FieldShow.tscn").instantiate() + fieldShow.field = field + fieldShow.value = value + fieldsBox.add_child(fieldShow) + if noField: + fieldsBox.add_child(QuickUI.smallText("无词条")) + for i in costsBox.get_children(): + i.queue_free() + for i in range(min(costs.size(), costCounts.size())): + var cost = costs[i] + var count = costCounts[i] + var costShow: ItemShow = preload("res://components/UI/ItemShow.tscn").instantiate() + costShow.type = cost + costShow.count = int(count * multipiler()) + costsBox.add_child(costShow) diff --git a/scripts/Tools/GameRule.gd b/scripts/Tools/GameRule.gd index 91e56d4..97b8e0f 100644 --- a/scripts/Tools/GameRule.gd +++ b/scripts/Tools/GameRule.gd @@ -19,7 +19,7 @@ static var refreshCountIncreasePercent: Vector2 = Vector2(0.2, 0.75) # 刷新所 static var entityCountBoostPerWave: float = 0.1 # 每波敌人数量增加的百分比,倍数级 static var itemShowStayTime: int = 1500 # 物品展示组件如果设置了自动隐藏,那么隐藏前可以存活的时间 static var tipSpawnRateWhenGetDroppedItem: float = 0.25 # 当玩家获取到掉落物时,提示的概率 -static var entityHealthIncreasePerWave: float = 0.1 # 每波敌人生命值增加的百分比,指数级 +static var entityHealthIncreasePerWave: float = 0.075 # 每波敌人生命值增加的百分比,指数级 static var entityDamageIncreasePerWave: float = 0.05 # 每波敌人伤害增加的百分比,指数级 static var entityLevelOffsetByWave: float = 0.3 # 每波敌人等级根据当前波数随机浮动的比例 static var appleDropRateInfluenceByLuckValue: float = 0.02 # 幸运值对苹果掉率的影响