Merge branch 'PR-Branch' of https://github.com/PZ157/noname into PR-Branch
This commit is contained in:
commit
b39059d9bc
|
@ -3947,12 +3947,6 @@ const skills = {
|
|||
//裴元绍
|
||||
dcmoyu: {
|
||||
audio: 2,
|
||||
init() {
|
||||
game.addGlobalSkill("dcmoyu_ai");
|
||||
},
|
||||
onremove() {
|
||||
if (!game.hasPlayer(i => i.hasSkill("dcmoyu"), true)) game.removeGlobalSkill("dcmoyu_ai");
|
||||
},
|
||||
enable: "phaseUse",
|
||||
filter(event, player) {
|
||||
return game.hasPlayer(current => lib.skill.dcmoyu.filterTarget(null, player, current));
|
||||
|
@ -3962,7 +3956,7 @@ const skills = {
|
|||
},
|
||||
async content(event, trigger, player) {
|
||||
const target = event.target;
|
||||
player.addTempSkill("dcmoyu_clear");
|
||||
player.addTempSkill("dcmoyu_clear", "phaseUseAfter");
|
||||
player.markAuto("dcmoyu_clear", [target]);
|
||||
await player.gainPlayerCard(target, "hej", true, 1 + player.hasSkill("dcmoyu_add"));
|
||||
player.removeSkill("dcmoyu_add");
|
||||
|
@ -3979,10 +3973,6 @@ const skills = {
|
|||
return lib.filter.targetEnabled.apply(this, arguments);
|
||||
})
|
||||
.set("sourcex", player)
|
||||
.set("num", num)
|
||||
.set("oncard", card => {
|
||||
_status.event.baseDamage = _status.event.getParent().num;
|
||||
})
|
||||
.forResult();
|
||||
if (result.bool) {
|
||||
if (
|
||||
|
@ -3991,11 +3981,13 @@ const skills = {
|
|||
})
|
||||
) {
|
||||
player.tempBanSkill("dcmoyu");
|
||||
player.addTempSkill("dcmoyu_ban");
|
||||
} else {
|
||||
player.addTempSkill("dcmoyu_add", "phaseChange");
|
||||
}
|
||||
}
|
||||
},
|
||||
global: "dcmoyu_ai",
|
||||
subSkill: {
|
||||
clear: {
|
||||
charlotte: true,
|
||||
|
@ -4004,7 +3996,7 @@ const skills = {
|
|||
ban: {
|
||||
charlotte: true,
|
||||
mark: true,
|
||||
marktext: "欲",
|
||||
marktext: '<span style="text-decoration: line-through;">欲</span>',
|
||||
intro: { content: "偷马贼被反打了!" },
|
||||
},
|
||||
add: {
|
||||
|
@ -4014,15 +4006,6 @@ const skills = {
|
|||
intro: { content: "欲望加速,下次抢两张!" },
|
||||
},
|
||||
ai: {
|
||||
trigger: { player: "dieAfter" },
|
||||
filter: () => {
|
||||
return !game.hasPlayer(i => i.hasSkill("dcmoyu"), true);
|
||||
},
|
||||
silent: true,
|
||||
forceDie: true,
|
||||
content: () => {
|
||||
game.removeGlobalSkill("dcmoyu_ai");
|
||||
},
|
||||
ai: {
|
||||
effect: {
|
||||
target: function (card, player, target, current) {
|
||||
|
|
|
@ -688,6 +688,7 @@ const skills = {
|
|||
);
|
||||
},
|
||||
async content(event, trigger, player) {
|
||||
player.awakenSkill("jsrgjiebing");
|
||||
await player.gainMaxHp(2);
|
||||
await player.recover(2);
|
||||
await player.addSkills("jsrgbaowei");
|
||||
|
@ -9311,7 +9312,7 @@ const skills = {
|
|||
aiValue: (player, card, num) => {
|
||||
if (num > 0 && get.itemtype(card) === "card" && card.name !== "zhuge" && get.subtype(card) === "equip1" && !player.getEquip(1)) return 0.01 * num;
|
||||
},
|
||||
aiUseful: () => {
|
||||
aiUseful: function () {
|
||||
return lib.skill.jsrgzhenqiao.mod.aiValue.apply(this, arguments);
|
||||
},
|
||||
},
|
||||
|
|
|
@ -115,7 +115,7 @@ const skills = {
|
|||
let cards = [];
|
||||
if (event.name == "cardsDiscard") {
|
||||
const evt = event.getParent().relatedEvent;
|
||||
if (evt && evt.name == "judge" && evt.player == player) {
|
||||
if (evt && evt.name == "judge" && evt.player != player) {
|
||||
cards.addArray(event.cards.filter(i => get.position(i, true) == "d"));
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -1419,33 +1419,28 @@ const skills = {
|
|||
break;
|
||||
}
|
||||
case 4: {
|
||||
let map = {};
|
||||
game.dead.forEach(target => (map[target.playerid] = get.translation(target)));
|
||||
const {
|
||||
result: { control },
|
||||
} = await player
|
||||
.chooseControl(Object.values(map))
|
||||
.set("ai", () => {
|
||||
const getNum = target => {
|
||||
let num = 0;
|
||||
if (target.name && lib.character[target.name]) num += get.rank(target.name, true);
|
||||
if (target.name2 && lib.character[target.name2]) num += get.rank(target.name2, true);
|
||||
return num;
|
||||
};
|
||||
let controls = _status.event.controls.slice();
|
||||
controls = controls.map(name => [name, game.dead.find(target => _status.event.map[target.playerid] == name)]);
|
||||
controls.sort((a, b) => getNum(b[1]) - getNum(a[1]));
|
||||
return controls[0][0];
|
||||
const result = await player
|
||||
.chooseTarget(
|
||||
"行殇:请选择一名已阵亡角色",
|
||||
(card, player, target) => {
|
||||
return target.isDead();
|
||||
},
|
||||
true,
|
||||
"获得一名已阵亡角色的所有技能,然后失去〖行殇〗〖放逐〗〖颂威〗"
|
||||
)
|
||||
.set("ai", target => {
|
||||
return ["name", "name1", "name2"].reduce((sum, name) => {
|
||||
if (!target[name] || !lib.character[target[name]] || (name == "name1" && target.name1 == target.name)) return sum;
|
||||
return sum + get.rank(target[name], true);
|
||||
}, 0);
|
||||
})
|
||||
.set("prompt", "获得一名已阵亡角色的所有技能")
|
||||
.set("map", map);
|
||||
if (control) {
|
||||
const target2 = game.dead.find(targetx => map[targetx.playerid] == control);
|
||||
.set("deadTarget", true)
|
||||
.forResult();
|
||||
if (result.bool) {
|
||||
const target2 = result.targets[0];
|
||||
player.line(target2);
|
||||
game.log(player, "选择了", target2);
|
||||
const skills = target2.getStockSkills(true, true);
|
||||
const skills2 = ["sbxingshang", "sbfangzhu", "sbsongwei"];
|
||||
player.changeSkills(skills, skills2);
|
||||
await player.changeSkills(target2.getStockSkills(true, true), ["sbxingshang", "sbfangzhu", "sbsongwei"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1485,7 +1480,7 @@ const skills = {
|
|||
case 3:
|
||||
return str + "移去5个“颂”标记,令一名体力上限小于10的角色加1点体力上限并回复1点体力,然后随机恢复一个被废除的装备栏";
|
||||
case 4:
|
||||
return str + "移去5个“颂”标记,获得一名已阵亡角色的所有技能,然后失去武将牌上的所有技能";
|
||||
return str + "移去5个“颂”标记,获得一名已阵亡角色的所有技能,然后失去〖行殇〗〖放逐〗〖颂威〗";
|
||||
}
|
||||
},
|
||||
},
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
const characters = {
|
||||
caimao: ["male", "wei", 4, ["olzuolian", "oljingzhou"]],
|
||||
ol_peixiu: ["male", "wei", 3, ["olmaozhu", "oljinlan"]],
|
||||
ol_peixiu: ["male", "wei", 4, ["olmaozhu", "oljinlan"]],
|
||||
yadan: ["male", "qun", 4, ["olqingya", "oltielun"]],
|
||||
sp_sunce: ["male", "qun", 4, ["olliantao"]],
|
||||
ol_liupi: ["male", "qun", 4, ["olyicheng"]],
|
||||
|
|
|
@ -84,7 +84,6 @@ const characterIntro = {
|
|||
bianfuren: "武宣皇后卞氏(159年12月30日-230年7月9日),琅邪开阳(今山东临沂)人,魏武帝曹操的正妻(继室),魏文帝曹丕、任城威王曹彰、陈思王曹植、萧怀王曹熊的母亲。原本是倡家,即汉代专门从事音乐歌舞的乐人家庭,后来与曹操成婚,建安初年,原配丁夫人被废,卞夫人成为曹操的正妻。曹丕继位后尊其为皇太后,曹叡继位后尊其为太皇太后。卞后在太和四年去世,与魏武帝曹操合葬高陵。",
|
||||
shamoke: "沙摩柯(?-222年),东汉末三国时期五溪蛮首领。汉章武元年(221年)初,为报关羽被东吴杀害之仇,刘备亲自领兵攻孙权,以金锦爵赏诱沙摩柯助战。章武二年(222年),吴大都督陆逊以火攻破刘备,率诸军齐击,汉军四十多个营寨被攻破,沙摩柯在大乱中匹马奔逃,被乱军杀死。",
|
||||
lvfan: "吕范(?-228年),字子衡。汝南郡细阳县(今安徽太和)人。汉末至三国时期吴国重臣。吕范年轻为汝南县吏,后避难寿春,结识孙策。此后随孙策、孙权征伐四方,对稳固孙氏在江东的统治做出了杰出的贡献,孙权将其比之于东汉开国元勋吴汉。吴国建立后,吕范累官至前将军、假节、扬州牧,封南昌侯。黄武七年(228年),吕范被拜为大司马,未得授官,便已病逝。孙权悲痛不已,遣使赠其大司马印绶。孙权还都建业后,以太牢礼祭祀吕范。",
|
||||
liqueguosi: "请分别查看「李傕」和「郭汜」的武将介绍。",
|
||||
maojie: "毛玠(?—216年),字孝先,陈留平丘(今河南封丘)人。东汉末年大臣。年少时为县吏,以清廉公正著称。因战乱而打算到荆州避乱,但中途知道刘表政令不严明,因而改往鲁阳。后来投靠曹操,提出“奉天子以令不臣,脩耕植,畜军资”的战略规划,得到曹操的欣赏。<br>毛玠与崔琰主持选举,所举用的都是清廉正直之士。而毛玠为人廉洁,激起天下廉洁之风,一改朝中奢华风气。曹操大为赞赏,曹丕也亲自去拜访他。<br>曹操获封魏公后,毛玠改任尚书仆射,再典选举。又密谏曹操应该立嫡长子曹丕为魏国太子。崔琰被杀后,毛玠十分不快。后来有人诬告毛玠,曹操大怒,将毛玠收于狱中。及后在桓阶、和洽营救下,只被免职,不久逝世于家中。曹操在他死后赐他棺材和钱帛。",
|
||||
|
||||
huangfusong: "字义真。安定郡朝那县(今宁夏彭阳)人。于黄巾起义时,以中郎将身份讨伐黄巾,用火攻大破张梁、张宝。后接替董卓进攻张梁,连胜七阵。掘张角墓,拜左车骑将军、冀州牧,因拒绝贿赂宦官而被免职。 董卓死,王允命其与吕布等共至郿坞抄籍董卓家产、人口,皇甫嵩将坞中所藏良家子女,尽行释放。",
|
||||
|
|
|
@ -663,7 +663,7 @@ const skills = {
|
|||
cards = moved[0].slice();
|
||||
if (cards.length) {
|
||||
await game.cardsGotoOrdering(cards);
|
||||
for (let i = cards.length - 1; i--; i >= 0) {
|
||||
for (let i = cards.length - 1; i >= 0; i--) {
|
||||
ui.cardPile.insertBefore(cards[i], ui.cardPile.firstChild);
|
||||
}
|
||||
game.log(cards, "被放回了牌堆顶");
|
||||
|
@ -687,7 +687,7 @@ const skills = {
|
|||
cards = hs.slice();
|
||||
if (cards.length) {
|
||||
await game.cardsGotoOrdering(cards);
|
||||
for (let i = cards.length - 1; i--; i >= 0) {
|
||||
for (let i = cards.length - 1; i >= 0; i--) {
|
||||
ui.cardPile.insertBefore(cards[i], ui.cardPile.firstChild);
|
||||
}
|
||||
game.log(cards, "被放回了牌堆顶");
|
||||
|
|
|
@ -10,7 +10,7 @@ const characterSort = {
|
|||
sp_qifu: ["ol_feiyi", "caoying", "panshu", "caochun", "yuantanyuanshang", "caoshuang", "wolongfengchu", "guansuo", "baosanniang", "fengfangnv", "jin_zhouchu"],
|
||||
sp_wanglang: ["ol_wanglang", "ol_puyuan", "ol_zhouqun"],
|
||||
sp_zhongdan: ["cuiyan", "huangfusong"],
|
||||
sp_guozhan2: ["sp_dongzhuo", "liqueguosi", "zhangren"],
|
||||
sp_guozhan2: ["sp_dongzhuo", "zhangren"],
|
||||
sp_others: ["hanba", "caiyang"],
|
||||
sp_waitforsort: ["ol_luyusheng", "ol_tw_zhangji", "ol_liwan", "ol_liuyan", "ol_peixiu", "caimao"],
|
||||
};
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
const characterIntro = {
|
||||
liqueguosi: "请分别查看「李傕」和「郭汜」的武将介绍。",
|
||||
tangji: "唐姬,会稽太守唐瑁女,弘农怀王刘辩的妃子。刘辩死后,唐姬回归故里,因节烈不愿改嫁他人,后被汉献帝下诏封为弘农王妃。",
|
||||
lijue: "李傕(一说“傕”读音“què”)(?—198年),字稚然。北地郡泥阳县(今陕西省耀县)人,汉末群雄之一。东汉末年汉献帝时的军阀、权臣,官至大司马、车骑将军、开府、领司隶校尉、假节。<br>李傕本为董卓部将,后被董卓的女婿牛辅派遣至中牟与朱儁交战,大破朱儁,进而至陈留、颍川等地劫掠。初平三年(192年)董卓和牛辅被杀后,李傕归无所依,于是采用贾诩之谋,伙同郭汜、张济、樊稠等原董卓部曲将攻向长安。击败吕布,杀死王允等人,占领长安,把持朝廷大权。后诸将不和,李傕在会议上杀死了樊稠,又与郭汜分别劫持了汉献帝和众臣,相互交战,张济率兵赶来和解,于是二人罢兵,李傕出屯池阳黄白城,郭汜、张济等人随汉献帝东归前往弘农。<br>后来,李傕、郭汜、张济反悔,联合起来追击汉献帝,与杨奉、董承等人几番交战。汉献帝一路逃亡,狼狈不堪,到达安邑,与李傕等人讲和。不久,汉献帝被曹操迎往许都。建安三年(198年),曹操派谒者仆射裴茂召集关西诸将段煨等人征讨李傕,灭其三族。",
|
||||
zhangji: "张济(?-196年),武威郡祖厉县(今甘肃靖远东南)人。东汉末年割据军阀之一。 张济原为董卓部将,董卓被诛杀后,张济与李傕一同率军攻破长安,任中郎将。不久,升任镇东将军,封平阳侯,出屯弘农。献帝东迁时,张济升任骠骑将军,率军护卫献帝,后来因与董承等人有矛盾,便与李傕、郭汜一同追赶献帝。 建安元年(196年),张济因军队缺粮而进攻穰城,中流矢而死。死后,部队由侄儿张绣接管。",
|
||||
|
|
|
@ -240,6 +240,7 @@ const skills = {
|
|||
selectCard: 2,
|
||||
position: "hes",
|
||||
viewAs: { name: "juedou" },
|
||||
selectTarget: 2,
|
||||
viewAsFilter(player) {
|
||||
if (player.countCards("hes") < 2) return false;
|
||||
},
|
||||
|
|
|
@ -208,8 +208,8 @@ const translates = {
|
|||
stddaizui: "戴罪",
|
||||
stddaizui_info: "锁定技,当你受到伤害后,你视为本轮未发动过〖盗书〗。",
|
||||
stdxiongxia: "凶侠",
|
||||
stdxiongxia_info: "你可以将两张牌当作【决斗】使用。你以此法使用的【决斗】结算完毕后,若所有目标角色都受到了此牌造成的伤害,则〖凶侠〗于本回合失效。",
|
||||
stdhuizhan: "挥战",
|
||||
stdxiongxia_info: "你可以将两张牌当作【决斗】对两名其他角色使用。你以此法使用的【决斗】结算完毕后,若所有目标角色都受到了此牌造成的伤害,则〖凶侠〗于本回合失效。",
|
||||
stdhuizhan: "挥戟",
|
||||
stdhuizhan_info: "你使用【杀】可以额外指定至多两个目标。若如此做,目标角色响应此【杀】时,其他目标角色可以代替其使用【闪】。",
|
||||
stdmingfa: "明伐",
|
||||
stdmingfa_info: "出牌阶段,你可以对一名体力值大于1的角色造成1点伤害,然后此技能失效直至其死亡或回复体力。",
|
||||
|
|
|
@ -798,6 +798,7 @@ const skills = {
|
|||
subSkill: {
|
||||
g: {
|
||||
audio: "dcwuyou",
|
||||
forceaudio: true,
|
||||
enable: "phaseUse",
|
||||
usable: 1,
|
||||
filter(event, player) {
|
||||
|
@ -934,6 +935,10 @@ const skills = {
|
|||
if (!card.cards) return;
|
||||
if (card.cards.some(card => card.hasGaintag("dcwuyou_transfer"))) return Infinity;
|
||||
},
|
||||
targetInRange(card, player) {
|
||||
if (!card.cards) return;
|
||||
if (card.cards.some(card => card.hasGaintag("dcwuyou_transfer"))) return true;
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -1049,11 +1054,11 @@ const skills = {
|
|||
result: {
|
||||
player(player) {
|
||||
const enemies = game.filterPlayer(current => {
|
||||
return get.rawAttitude(player, current) < 0 && get.attitude(player, current) >= 0;
|
||||
}),
|
||||
knownEnemies = game.filterPlayer(current => {
|
||||
return get.attitude(player, current) < 0;
|
||||
});
|
||||
return (!get.rawAttitude || get.rawAttitude(player, current) < 0) && get.attitude(player, current) >= 0;
|
||||
}),
|
||||
knownEnemies = game.filterPlayer(current => {
|
||||
return get.attitude(player, current) < 0;
|
||||
});
|
||||
if ((!knownEnemies.length && player.countCards("e") > 1) || (player.getHp() > 3 && enemies.length > 0 && knownEnemies.length < 2 && knownEnemies.length < enemies.length && !knownEnemies.some(enemy => get.attitude(player, enemy) <= -9))) return 0;
|
||||
const val1 = game
|
||||
.filterPlayer()
|
||||
|
|
Loading…
Reference in New Issue