Skip to content

关于国战模式的翻新和新武将的添加 #2320

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 49 commits into
base: PR-Branch
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
310c4d1
fix: 方天画戟在国战情况下并未按照预期的方式进行势力排除
rintim Mar 8, 2025
15ec6e5
pref: 优化导入判断,使`game.import`能直接导入一个对象,而不需要再包装一层函数
rintim Mar 8, 2025
aa1381d
pref: 使创建事件的函数将事件返回,使调用者可`await`.
rintim Mar 8, 2025
c595ef7
pref: 重构国战模式的`start`函数,并更新为`Async Content`.
rintim Mar 8, 2025
b9e4d68
chore: 使Git不会无视位于模式文件夹下的`main.js`文件.
rintim Mar 8, 2025
63d82c6
feat: 添加国战模式的配置和初始化函数
rintim Mar 8, 2025
011aeed
Merge branch 'PR-Branch' into feature/guozhan-new
rintim Mar 8, 2025
ee313e2
fix: 一些格式上的处理
rintim Mar 8, 2025
5693273
fix: 优化`check`函数中的变量获取方式
rintim Mar 10, 2025
cb548c0
pref: 重构国战模式对`Game`的猴子补丁 (1/3)
rintim Mar 10, 2025
d2d6139
pref: 对部分代码进行拆分归类;提供无名杀样式的补丁对象
rintim Mar 10, 2025
9a8c6bc
fix: 暴露野心的一些细节修复
rintim Mar 10, 2025
94782e3
fix: update type info && straighten the type of `Player` for `GameEve…
rintim Mar 11, 2025
a690784
pref: remove continue for guozhan mode due to pending the new api.
rintim Mar 12, 2025
d9219d1
revert: undo deleting continue.
rintim Mar 12, 2025
2f2befd
pref: reformat the structure of experimental content.
rintim Mar 13, 2025
99b58b9
fix: tired.
rintim Mar 16, 2025
478923b
pref: 重构国战模式对`Game`的猴子补丁 (2/3)
rintim Mar 16, 2025
543981b
pref: 重构国战模式对`Game`的猴子补丁 (3/3)
rintim Mar 17, 2025
77c92ce
pref: divide other modules to separate files(1/3)
rintim Mar 21, 2025
f91c14b
feat: use vue format to rewrite help.
rintim Apr 7, 2025
e5d893a
refactor: use some vue features.
rintim Apr 7, 2025
470ba8f
pref: rewrite unperfectly.
rintim Apr 8, 2025
e271c2b
feat: try to make the first format.
rintim Apr 8, 2025
13d6b74
feat: write the first normal character.
rintim Apr 8, 2025
3061c64
refactor: remove freeze in export.
rintim Apr 8, 2025
5bd39dd
fix: add missing method to export.
rintim Apr 8, 2025
98c0ca9
fix: type hint of `Character`.
rintim Apr 8, 2025
b6f3b57
pref: make result parital to avoid some problem (and cost more problems)
rintim Apr 8, 2025
7bccee6
feat: rewrite `gz_xiahoudun` to new format.
rintim Apr 8, 2025
c246353
feat: rewrite `gz_zhangliao` in new format of mode character.
rintim Apr 8, 2025
c9c88fd
feat: rewrite `gz_xuzhu` in new format of mode character.
rintim Apr 8, 2025
3493f55
feat: add `util.cast` to provide a function for transforming type.
rintim Apr 9, 2025
17f952d
feat: rewrite `gz_guojia` in new format of mode character.
rintim Apr 9, 2025
1043cfa
feat: add root url to provide relative path.
rintim Apr 9, 2025
9a1b265
chore: add empty resource path.
rintim Apr 9, 2025
b836681
feat: rewrite `gz_xiahouyuan` in new format of mode character.
rintim Apr 9, 2025
8649009
feat: rewrite some characters in new format of mode character.
rintim Apr 10, 2025
4ff69ef
feat: rewrite `gz_caopi` in new format of mode character.
rintim Apr 13, 2025
6596724
feat: rewrite `gz_yuejin` in new format of mode character.
rintim Apr 15, 2025
d98395d
feat: rewrite `gz_liubei` in new format of mode character.
rintim Apr 15, 2025
d2df439
pref: use vue single file component.
rintim Apr 16, 2025
1e44703
fix: correct the record string builder of game achievements.
rintim Apr 16, 2025
ad5aa4a
feat: rewrite `gz_guanyu` in new format of mode character.
rintim Apr 16, 2025
c8e474c
feat: rewrite some characters in new format of mode character.
rintim Apr 16, 2025
bef1316
feat: rewrite `gz_machao` in new format of mode character.
rintim Apr 20, 2025
ba3d64e
chore: fix the type of event result.
rintim Apr 24, 2025
6e9c02e
feat: rewrite rest characters of shu in new format of mode character.
rintim Apr 24, 2025
1a9c1ca
feat: rewrite some characters in new format of mode character.
rintim Apr 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Home
jsconfig.json
localStorage.json
main.js
!mode/**/src/main.js
node_modules
noname.ico
package-lock.json
Expand Down
71 changes: 49 additions & 22 deletions card/standard.js
Original file line number Diff line number Diff line change
Expand Up @@ -3191,30 +3191,54 @@ game.import("card", function () {
return true;
});
},
log: false,
async cost(event, trigger, player) {
event.result = await player
.chooseTarget(get.prompt2("fangtian"), [1, Infinity], (card, player, target) => {
let { targets, cardx } = get.event();
if (!lib.filter.filterTarget(cardx, player, target)) return false;
targets = targets.slice(0).concat(ui.selected.targets);
if (targets.includes(target)) return false;
if (target.identity == "ye" || target.identity == "unknown") return true;
for (let i = 0; i < targets.length; i++) {
if (target.identity == targets[i].identity) return false;
}
const next = player.chooseTarget(get.prompt2("fangtian"));

next.set("selectTarget", [1, Infinity]);
next.set("filterTarget", filterTarget);
next.set("promptbar", "none");
next.set("complexTarget", true);
next.set("cardx", trigger.card);
next.set("targets", trigger.targets);
next.set("ai", check);

event.result = await next.forResult();

function filterTarget(card, player, target) {
const cardx = get.event("cardx");

if (!lib.filter.filterTarget(cardx, player, target)) {
return false;
}

const targets = get.event("targets").concat(ui.selected.targets);

if (targets.includes(target)) {
return false;
}
if (target.identity == "ye" || target.identity == "unknown") {
return true;
})
.set("promptbar", "none")
.set("cardx", trigger.card)
.set("targets", trigger.targets)
.set("ai", target => {
const { player, cardx } = get.event();
return get.effect(target, cardx, player, player);
})
.set("complexTarget", true)
.forResult();
}

for (let i = 0; i < targets.length; i++) {
if (target.identity == targets[i].identity) {
return false;
}
}

return true;
}

function check(target) {
const player = get.player();
const card = get.event("cardx");
return get.effect(target, card, player, player);
}
},
async content(event, trigger, player) {
player.logSkill("fangtian_skill", event.targets);

trigger.targets.addArray(event.targets);
player.addTempSkill(event.name + "_trigger");
player.markAuto(event.name + "_trigger", [trigger.card]);
Expand All @@ -3229,8 +3253,11 @@ game.import("card", function () {
onremove: true,
charlotte: true,
async content(event, trigger, player) {
if (event.triggername == "shaMiss" && player.getStorage(event.name).includes(trigger.card)) trigger.getParent().excluded.addArray(trigger.getParent().targets);
else player.unmarkAuto(event.name, [trigger.card]);
if (event.triggername == "shaMiss" && player.getStorage(event.name).includes(trigger.card)) {
trigger.getParent().excluded.addArray(trigger.getParent().targets);
} else {
player.unmarkAuto(event.name, [trigger.card]);
}
},
},
},
Expand Down
8 changes: 0 additions & 8 deletions character/shenhua/translate.js
Original file line number Diff line number Diff line change
Expand Up @@ -285,14 +285,6 @@ const translates = {
re_huangzhong: "黄忠",
re_weiyan: "魏延",

gz_xiahouyuan: "夏侯渊",
gz_huangzhong: "黄忠",
gz_weiyan: "魏延",
gz_xuhuang: "徐晃",
gz_pangde: "庞德",
gz_caoren: "曹仁",
gz_zhoutai: "周泰",

old_zhoutai: "周泰",
old_caoren: "曹仁",
xuhuang: "旧徐晃",
Expand Down
2 changes: 1 addition & 1 deletion character/sp/skill.js
Original file line number Diff line number Diff line change
Expand Up @@ -13795,7 +13795,7 @@ const skills = {
})
.setHiddenSkill(event.name).ai = function (target) {
var num = 1;
if (target.hasSkill("gzxiaoji")) num += 2.5;
if (target.hasSkill("gz_xiaoji")) num += 2.5;
if (target.isDamaged() && target.getEquip("baiyin")) num += 2.5;
if (target.hasSkill("xuanlve")) num += 2;
return num;
Expand Down
Loading