feedback6 R21H: the round's enemy effects reach the 频次 器物 and the leaders' mid-fight summons (PR #272, 感谢 @CXUtk); golden: 74 moved
器物 (the 14 hit-count keys): hits = data × the spawn's hpMul ÷ supplyHpMul, rounded as before (setHits) — 攻坚装备 / II / III leave out only 炎佑, 补给线 / 补给线II also exactly these 14 keys (activity_table aceffect_enemy_2 / 2_2 enemy_exclude, data/effects.json); until now setHits(def.maxHp) overwrote the round's HP (青铜镜 30 hits at every difficulty). build-data writes enemyScale[r].supplyHp = 1.2^(kHp − kAtk) · extra (the HP-only 补给线II steps and 补给线's 1.08; co-op 终极 R5–R15 only — the rebuild changed config.json alone), gamedata returns it as supplyHpMul and the wave / 悬赏 mods carry it (waves.js roundMods; a 频次 enemy's death spawn inherits it). Not taken from the PR: its 1.08 / 1.2 back-calculation (it counted the 补给线II steps as 攻坚装备) and its fractional-HP ceiling. Leader summons (死亡集群's 妖怪, 刺胄之弹, “裂管之音”/“断弦之音”, 不祥幻影): the boss / hidden field carries the round's scale as flags.enemyScale (bossRounds.js, golden fields, tools/balance.mjs) and bosses.js summonMods gives them HP / ATK / speed (死亡集群's summon.hp_ratio on top; 刺胄之弹 / 余音 hit counts follow their HP); the leader's pool stays exempt; 王权号令's invulnerable equipment unchanged; 炎佑 is an ally token, never scaled (no change). Unchanged and open: the 逐火 / 再生 husk counts (talent prop_max_hp). Golden — 器物 counts: roster 37 (002 003 004 005 007–020 022 023 025 026 029–034 036–041 043 045 049: each holds a 器物 extra spawn / 频次 wave / death spawn), bond-soloShip-high, diy 9 (036 040 056 062 068 073 091 114 115), boss-boss_6-solo (俗心's 小说卷轴 escorts); matches 16 (all but solo-ABYSS-2 and coop2-NORMAL-70-diy: 频次 rounds / 悬赏 and the Final Assault summons). Summons: boss-boss_1-pair/solo, hidden-boss_8-pair/solo (妖怪, 刺胄之弹), boss-boss_3-pair/solo, hidden-boss_10-pair/solo (余音), boss-boss_5-pair/solo (不祥幻影). standins unchanged.
This commit is contained in:
1 parent
783bd30afd
commit
e33ee3db8f
20 files changed
+1491
-1324
No files matched your search
+11
-3
@@ -234,6 +234,13 @@ export function scaleFor(gd, r) {
|
||||
return gd.enemyScale(r);
|
||||
}
|
||||
|
||||
/** The spawn mods of a round's scale for a non-leader enemy: HP / ATK / speed, plus `supplyHpMul` when the round has one. */
|
||||
export function roundMods(scale) {
|
||||
const m = { hpMul: scale.hpMul, atkMul: scale.atkMul, speedMul: scale.speedMul };
|
||||
if (scale.supplyHpMul != null) m.supplyHpMul = scale.supplyHpMul;
|
||||
return m;
|
||||
}
|
||||
|
||||
/** Slot class of an enemy that has no placeholder slot (literal template keys, bounty adds). */
|
||||
export function classOf(gd, enemyKey) {
|
||||
const e = gd.enemy(enemyKey);
|
||||
@@ -327,8 +334,9 @@ function templateSpawns(gd, tpl, round, pick) {
|
||||
interval: count > 1 ? step : 0,
|
||||
// the round multipliers are ENEMY effects on every enemy but 炎佑 (aceffect_enemy_1–5 `enemy_attribute_mul`,
|
||||
// enemy_exclude = enemy_9012_acloon): leader parts take them all; the leader takes ATK / speed but not HP — its HP
|
||||
// is the server pool, "领袖单位于服务器的生命值加成不受上述加成影响" (PRTS 下半)
|
||||
mods: isBoss ? { atkMul: scale.atkMul, speedMul: scale.speedMul, slot } : { hpMul: scale.hpMul, atkMul: scale.atkMul, speedMul: scale.speedMul, slot },
|
||||
// is the server pool, "领袖单位于服务器的生命值加成不受上述加成影响" (PRTS 下半). `supplyHpMul` (roundMods) rides along for
|
||||
// the 器物 hit-count units, which 补给线 / 补给线II leave out (archetypes.js `times`; also a 频次 enemy's death spawn)
|
||||
mods: isBoss ? { atkMul: scale.atkMul, speedMul: scale.speedMul, slot } : { ...roundMods(scale), slot },
|
||||
actionIndex: i,
|
||||
preview: previewInfo(gd, key, routes[routeIndex], isBoss, leader),
|
||||
};
|
||||
@@ -528,7 +536,7 @@ function bountyPlan(gd, round, wave, bounties, playerId, side) {
|
||||
routeIndex,
|
||||
count: run.len,
|
||||
interval: run.len > 1 ? step : 0,
|
||||
mods: { hpMul: scale.hpMul, atkMul: scale.atkMul, speedMul: scale.speedMul, slot: classOf(gd, c.enemyKey), bountyId: b.id },
|
||||
mods: { ...roundMods(scale), slot: classOf(gd, c.enemyKey), bountyId: b.id },
|
||||
tag: 'bounty',
|
||||
ownerPlayerId: playerId,
|
||||
preview: previewInfo(gd, c.enemyKey, routes[routeIndex], false, leader),
|
||||
|
||||
Reference in new issue
Block a user