修改createTrigger,拆分触发技的选择部分和主体content部分
This commit is contained in:
parent
a5b4c54bf0
commit
421d2a4294
|
@ -2227,18 +2227,34 @@ export const Content = {
|
||||||
else str = get.prompt(event.skill, null, player);
|
else str = get.prompt(event.skill, null, player);
|
||||||
if (typeof str == 'function') str = str(trigger, player);
|
if (typeof str == 'function') str = str(trigger, player);
|
||||||
|
|
||||||
var next = player.chooseBool(str);
|
const { costContent } = info;
|
||||||
|
let next;
|
||||||
|
if (costContent) {
|
||||||
|
event.modifiedCostContent = true;
|
||||||
|
next = costContent(trigger, player);
|
||||||
|
if (!next.prompt) get.evtprompt(next, str);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
next = player.chooseBool(str);
|
||||||
if (event.frequentSkill) next.set('frequentSkill', event.skill);
|
if (event.frequentSkill) next.set('frequentSkill', event.skill);
|
||||||
|
}
|
||||||
next.set('forceDie', true);
|
next.set('forceDie', true);
|
||||||
next.set('includeOut', true);
|
next.set('includeOut', true);
|
||||||
next.ai = () => !check || check(trigger, player);
|
if (!next.ai){
|
||||||
|
if(!event.modifiedCostContent) next.set('ai', () => !check || check(trigger, player));
|
||||||
|
else{
|
||||||
|
next.set('ai', check);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!next.prompt2) {
|
||||||
if (typeof info.prompt2 == 'function') next.set('prompt2', info.prompt2(trigger, player));
|
if (typeof info.prompt2 == 'function') next.set('prompt2', info.prompt2(trigger, player));
|
||||||
else if (typeof info.prompt2 == 'string') next.set('prompt2', info.prompt2);
|
else if (typeof info.prompt2 == 'string') next.set('prompt2', info.prompt2);
|
||||||
else if (info.prompt2 != false) {
|
else if (info.prompt2 != false) {
|
||||||
if (lib.dynamicTranslate[event.skill]) next.set('prompt2', lib.dynamicTranslate[event.skill](player, event.skill));
|
if (lib.dynamicTranslate[event.skill]) next.set('prompt2', lib.dynamicTranslate[event.skill](player, event.skill));
|
||||||
else if (lib.translate[event.skill + '_info']) next.set('prompt2', lib.translate[event.skill + '_info']);
|
else if (lib.translate[event.skill + '_info']) next.set('prompt2', lib.translate[event.skill + '_info']);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (trigger.skillwarn) {
|
if (trigger.skillwarn) {
|
||||||
if (next.prompt2) next.set('prompt2', '<span class="thundertext">' + trigger.skillwarn + '。</span>' + next.prompt2);
|
if (next.prompt2) next.set('prompt2', '<span class="thundertext">' + trigger.skillwarn + '。</span>' + next.prompt2);
|
||||||
|
@ -2261,13 +2277,16 @@ export const Content = {
|
||||||
return event.finish();
|
return event.finish();
|
||||||
}
|
}
|
||||||
if (info.popup != false && !info.direct) {
|
if (info.popup != false && !info.direct) {
|
||||||
|
let logTarget = info.logTarget;
|
||||||
|
if (result.targets && result.targets.length) logTarget = result.targets;
|
||||||
|
else if (typeof info.logTarget == 'string') logTarget = trigger[info.logTarget];
|
||||||
|
else if (typeof info.logTarget == 'function') logTarget = info.logTarget(trigger, player);
|
||||||
if (info.popup) {
|
if (info.popup) {
|
||||||
player.popup(info.popup);
|
player.popup(info.popup);
|
||||||
game.log(player, '发动了', '【' + get.skillTranslation(event.skill, player) + '】');
|
game.log(player, '发动了', '【' + get.skillTranslation(event.skill, player) + '】');
|
||||||
}
|
}
|
||||||
else if (!info.logTarget || info.logLine === false) player.logSkill(event.skill, false, info.line);
|
else if (!logTarget || info.logLine === false) player.logSkill(event.skill, false, info.line);
|
||||||
else if (typeof info.logTarget == 'string') player.logSkill(event.skill, trigger[info.logTarget], info.line);
|
else player.logSkill(event.skill, logTarget, info.line);
|
||||||
else if (typeof info.logTarget == 'function') player.logSkill(event.skill, info.logTarget(trigger, player), info.line);
|
|
||||||
}
|
}
|
||||||
var next = game.createEvent(event.skill);
|
var next = game.createEvent(event.skill);
|
||||||
if (typeof info.usable == 'number') {
|
if (typeof info.usable == 'number') {
|
||||||
|
@ -2279,6 +2298,7 @@ export const Content = {
|
||||||
next.player = player;
|
next.player = player;
|
||||||
next._trigger = trigger;
|
next._trigger = trigger;
|
||||||
next.triggername = event.triggername;
|
next.triggername = event.triggername;
|
||||||
|
next.costResult = result;
|
||||||
|
|
||||||
// if ("contents" in info && Array.isArray(info.contents)) {
|
// if ("contents" in info && Array.isArray(info.contents)) {
|
||||||
// next.setContents(info.contents);
|
// next.setContents(info.contents);
|
||||||
|
|
Loading…
Reference in New Issue