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

refactor(Feed): 重构Feed信息重建逻辑并调整游戏数值

将Feed的信息重建逻辑提取为rebuildInfo方法以便复用
调整Puffs.tscn中fieldValues的数值从0.075改为7.5
降低敌人每波生命值增长比例从0.1改为0.075
修改World.tscn中动画轨道的中间点数值
This commit is contained in:
2025-08-28 14:59:36 +08:00
parent 32f5adfce4
commit 8a16a4056f
5 changed files with 34 additions and 30 deletions
+1 -1
View File
@@ -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])
+2 -2
View File
@@ -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)
}
+3 -1
View File
@@ -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
+27 -25
View File
@@ -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)
+1 -1
View File
@@ -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 # 幸运值对苹果掉率的影响