终突:米米 芬妮 阿兰娜

This commit is contained in:
Sunumbrella 2025-11-17 22:35:17 +08:00
parent f13aae1392
commit f4f8dc6997
2 changed files with 96 additions and 10 deletions

View File

@ -1208,7 +1208,9 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"rollcard": 0, "rollcard": 0,
"FFWF": 0, "FFWF": 0,
"Trident": 0, "Trident": 0,
"DreamlinerModel": 0 "DreamlinerModel": 0,
"totalCost": 0,
"eventTimes": 0
}, },
"followers": [], "followers": [],
"steps": 0, "steps": 0,

View File

@ -11609,6 +11609,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
return return
}, },
PotentialTime: [], PotentialTime: [],
PotentialText: "" //潜能激发文本描述
/* /*
* drawCard为抽牌后 * drawCard为抽牌后
* cardAfter为出牌后 * cardAfter为出牌后
@ -11620,7 +11621,6 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
* 可以存在多个时机 * 可以存在多个时机
* 如果一个角色没有潜能激发直接return * 如果一个角色没有潜能激发直接return
* */ * */
PotentialText: "" //潜能激发文本描述
} }
Character.米米 = { Character.米米 = {
name: "米米", name: "米米",
@ -11703,7 +11703,30 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
} }
} }
}, },
PassiveTime: ["cardAfter"] PassiveTime: ["cardAfter"],
Potential: function () {
/* 累计 Cost如果总 Cost 大于 triggerCost 抽取卡牌 */
const triggerCost = 60;
if (flags.totalCost >= triggerCost) {
// 抽取筹码
flags.totalCost -= triggerCost;
core.drawToken();
}
return
},
PotentialTime: ["cardAfter"],
PotentialText: "每累计打出 60 Cost 的卡牌获得一个筹码" //潜能激发文本描述
/*
* drawCard为抽牌后
* cardAfter为出牌后
* Active为使用主动技能后
* Event为事件卡触发后约等于每层楼触发一次
* afterBattle为战后
* firstArrive为首次抵达新楼层
* 特别提醒战斗过程中实现的潜能激发不能写时机需要自己去战斗脚本根据角色和潜能开关编写代码
* 可以存在多个时机
* 如果一个角色没有潜能激发直接return
* */
} }
Character.帕露南 = { Character.帕露南 = {
name: "帕露南", name: "帕露南",
@ -11784,7 +11807,12 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
core.setShopVisited("shop4", true) core.setShopVisited("shop4", true)
} }
}, },
PassiveTime: [] PassiveTime: [],
Potential: function () {
return
},
PotentialTime: [],
PotentialText: "" //潜能激发文本描述
} }
Character.芬妮 = { Character.芬妮 = {
name: "芬妮", name: "芬妮",
@ -11852,7 +11880,17 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
Passive: function () { Passive: function () {
flags.star.level++ flags.star.level++
}, },
PassiveTime: ["Event"] PassiveTime: ["Event"],
Potential: function () {
const triggerEventTimes = 10;
if (++flags.eventTimes === 10) {
flags.eventTimes = 0;
hero.ActiveCD = 0;
}
return
},
PotentialTime: ["Event"],
PotentialText: "触发 10 次事件卡之后,重置主动技能 CD" //潜能激发文本描述
} }
Character.阿兰娜 = { Character.阿兰娜 = {
name: "阿兰娜", name: "阿兰娜",
@ -11914,11 +11952,45 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
hero.ActiveCD = hero.ActiveSkillCD hero.ActiveCD = hero.ActiveSkillCD
core.drawTip("看不见我看不见我") core.drawTip("看不见我看不见我")
core.playSound("Alana.mp3") core.playSound("Alana.mp3")
core.afterSkill() if (flags.Potential) {
core.plugin.Character.阿兰娜.Potential()
} else {
core.afterSkill()
}
}, },
PassiveSkill: `战后若未受到伤害,\\i[def]+\\i[stars],若受到伤害则失去伤害值的\\i[def]\n通过此技能获得的\\i[def]最高为80倍\\i[stars]最低为0`, PassiveSkill: `战后若未受到伤害,\\i[def]+\\i[stars],若受到伤害则失去伤害值的\\i[def]\n通过此技能获得的\\i[def]最高为80倍\\i[stars]最低为0`,
Passive: function () {}, Passive: function () {},
PassiveTime: [] PassiveTime: [],
Potential: function () {
let enemys = []
const floorId = core.status.floorId
for (let i = 0; i < 13; i++) {
for (let j = 0; j < 13; j++) {
if (core.getBlockCls(i, j) === "enemys") enemys.push([i, j])
}
}
let todo = []
enemys.forEach(v => {
const id = core.getBlockId(v[0], v[1])
const z = core.material.enemys[id]
if (core.getEnemyInfo(id, void 0, v[0], v[1]).def <= hero.def + flags.CharacterDEF) {
if (flags.CharacterDEF < 80 * flags.ratio) flags.CharacterDEF = Math.min(flags.CharacterDEF + flags.ratio, 80 * flags.ratio)
let money = core.getEnemyInfo(id, void 0, v[0], v[1]).money
if (core.hasItem('BankcardU2')) money *= 2; // 银行卡-用不完
if (core.hasItem('coin')) money *= 2; // 幸运金币
core.status.hero.money += money;
core.push(todo, z.afterBattle);
core.push(todo, core.floors[floorId].afterBattle[v[0] + "," + v[1]])
delete((flags.enemyOnPoint || {})[core.status.floorId] || {})[v[0] + "," + v[1]];
core.removeBlock(v[0], v[1]);
}
})
if (todo.length > 0) core.insertAction(todo, void 0, void 0, core.afterSkill);
else core.afterSkill()
return
},
PotentialTime: [],
PotentialText: "主动技能新增效果:本楼层中防御小于等于角色防御的怪物将被斩杀" //潜能激发文本描述
} }
Character.小町 = { Character.小町 = {
name: "小町", name: "小町",
@ -14345,7 +14417,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
core.unlockControl() core.unlockControl()
} }
cardcostdown(cost) { //出牌费用计算 cardcostdown(cost) { //出牌费用计算
if (flags.MapStatus?.Choose === "Souri") return flags.totalCost += cost;
if (flags.MapStatus?.Choose === "Souri") {
return
}
const k = flags.komachiskill ?? 0 const k = flags.komachiskill ?? 0
let c = core.hasItem("AncientStaff2") ? Math.max(0, cost - 1) : cost let c = core.hasItem("AncientStaff2") ? Math.max(0, cost - 1) : cost
if (k > c) flags.komachiskill = (flags.komachiskill ?? 0) - c if (k > c) flags.komachiskill = (flags.komachiskill ?? 0) - c
@ -14353,7 +14428,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
delete flags.komachiskill delete flags.komachiskill
c -= k c -= k
hero.cost -= c hero.cost -= c
} }
if (hero.name === "Z3000") { if (hero.name === "Z3000") {
hero.ActiveCD -= c hero.ActiveCD -= c
if (hero.ActiveCD < 0) hero.ActiveCD = 0 if (hero.ActiveCD < 0) hero.ActiveCD = 0
@ -14440,7 +14518,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
//角色技能处理 //角色技能处理
const Character = core.plugin.Character[hero.name] const Character = core.plugin.Character[hero.name]
if (Character && Character.PassiveTime.includes("cardAfter")) { if (Character && Character.PassiveTime.includes("cardAfter")) {
Character.Passive() Character.Passive();
}
if (Character && Character.PotentialTime.includes("cardAfter") && flags.Potential) {
Character.Potential();
} }
core.updateStatusBar() core.updateStatusBar()
core.plugin.card.close() core.plugin.card.close()
@ -15108,7 +15189,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
afterEvent(inAction) { afterEvent(inAction) {
const Character = core.plugin.Character[hero.name] const Character = core.plugin.Character[hero.name]
if (Character && Character.PassiveTime.includes("Event")) { if (Character && Character.PassiveTime.includes("Event")) {
Character.Passive() Character.Passive();
}
if (Character && Character.PotentialTime.includes("Event") && flags.Potential) {
Character.Potential();
} }
core.updateStatusBar() core.updateStatusBar()
if (!inAction) core.closePanel() if (!inAction) core.closePanel()