This commit is contained in:
539943419 committed 2023-10-14 11:47:40 +08:00
1 parent 93fa365f0b
commit c61d1dd59b
4 files changed
+82 -78

No files matched your search

+82 -78
View File
@@ -42,22 +42,21 @@ game.import("extension", function (lib, game, ui, get, ai, _status) {
//event.trigger("changeRoundNumberEnd"); //event.trigger("changeRoundNumberEnd");
}; };
// 重写废除判定区相关 // 重写废除判定区相关
lib.element.content.enableJudge = function () { lib.element.content.enableJudge = function () {
"step 0" "step 0"
if (!player.storage._disableJudge || player.storage._disableJudge == false) event.finish() if (!player.storage._disableJudge || player.storage._disableJudge == false) event.finish();
// 多次废除恢复判断 // 多次废除恢复判断
if (!player.storage._disableJudge_layer) { if (!player.storage._disableJudge_layer) {
player.storage._disableJudge_layer = 0 player.storage._disableJudge_layer = 0;
} }
player.storage._disableJudge_layer-- player.storage._disableJudge_layer--;
if (player.storage._disableJudge_layer < 0) { if (player.storage._disableJudge_layer < 0) {
player.storage._disableJudge_layer = 0 player.storage._disableJudge_layer = 0;
event.finish() event.finish();
} }
if(player.storage._disableJudge_layer > 0)event.finish() if (player.storage._disableJudge_layer > 0) event.finish();
'step 1' "step 1"
game.log(player, "恢复了判定区"); game.log(player, "恢复了判定区");
player.storage._disableJudge = false; player.storage._disableJudge = false;
// player.markSkill('_disableJudge'); // player.markSkill('_disableJudge');
@@ -72,11 +71,11 @@ game.import("extension", function (lib, game, ui, get, ai, _status) {
// if (player.storage._disableJudge == true) return; // if (player.storage._disableJudge == true) return;
// 多次废除恢复判断 // 多次废除恢复判断
if (!player.storage._disableJudge_layer) { if (!player.storage._disableJudge_layer) {
player.storage._disableJudge_layer = 0 player.storage._disableJudge_layer = 0;
} }
player.storage._disableJudge_layer++ player.storage._disableJudge_layer++;
if (player.storage._disableJudge_layer > 1) { if (player.storage._disableJudge_layer > 1) {
event.finish() event.finish();
} }
"step 1" "step 1"
game.log(player, "废除了判定区"); game.log(player, "废除了判定区");
@@ -1018,8 +1017,8 @@ game.import("extension", function (lib, game, ui, get, ai, _status) {
player.loseHp(); player.loseHp();
} }
if (r()) { if (r()) {
var n = player.countCards() - player.hp var n = player.countCards() - player.hp;
if(player.countCards() > 0 && n <= 0)n = 1 if (player.countCards() > 0 && n <= 0) n = 1;
player.chooseToDiscard(true, n); player.chooseToDiscard(true, n);
} }
if (r()) { if (r()) {
@@ -1757,14 +1756,15 @@ game.import("extension", function (lib, game, ui, get, ai, _status) {
}; };
//并不是很好的写法 //并不是很好的写法
game.addPlayer=(position,character,character2)=>{ (game.addPlayer = (position, character, character2) => {
if(position<0||position>game.players.length+game.dead.length||position==undefined) position=Math.ceil(Math.random()*(game.players.length+game.dead.length)); if (position < 0 || position > game.players.length + game.dead.length || position == undefined)
position = Math.ceil(Math.random() * (game.players.length + game.dead.length));
const players = game.players.concat(game.dead); const players = game.players.concat(game.dead);
ui.arena.setNumber(players.length + 1); ui.arena.setNumber(players.length + 1);
players.forEach(value => { players.forEach(value => {
if (parseInt(value.dataset.position) >= position) value.dataset.position = parseInt(value.dataset.position) + 1; if (parseInt(value.dataset.position) >= position) value.dataset.position = parseInt(value.dataset.position) + 1;
}); });
const player=ui.create.player(ui.arena).animate('start'); const player = ui.create.player(ui.arena).animate("start");
if (character) player.init(character, character2); if (character) player.init(character, character2);
player.storage.enhancementArray = { player.storage.enhancementArray = {
attack: 0, //攻击力 attack: 0, //攻击力
@@ -1778,8 +1778,8 @@ game.import("extension", function (lib, game, ui, get, ai, _status) {
locked_type: null locked_type: null
}; };
game.players.push(player); game.players.push(player);
player.playerid = get.id() player.playerid = get.id();
game.playerMap[player.playerid] = player game.playerMap[player.playerid] = player;
// game.log(game.playerMap) // game.log(game.playerMap)
// for(var i in game.playerMap){ // for(var i in game.playerMap){
// game.log(i) // game.log(i)
@@ -1788,9 +1788,8 @@ game.import("extension", function (lib, game, ui, get, ai, _status) {
player.dataset.position = position; player.dataset.position = position;
game.arrangePlayers(); game.arrangePlayers();
return player; return player;
}, }),
(lib.skill._miao_enhancement_init = {
lib.skill._miao_enhancement_init = {
/*游戏开始时设置player.storage.enhancementArray */ /*游戏开始时设置player.storage.enhancementArray */
// addplayer时会出错,需要注意 // addplayer时会出错,需要注意
unique: true, unique: true,
@@ -1818,7 +1817,7 @@ game.import("extension", function (lib, game, ui, get, ai, _status) {
locked_type: null locked_type: null
}; };
} }
}; });
lib.skill._miao_enhancement_attack = { lib.skill._miao_enhancement_attack = {
/*根据攻击与防御强化进行伤害修正 */ /*根据攻击与防御强化进行伤害修正 */
trigger: { trigger: {
@@ -2220,7 +2219,8 @@ game.import("extension", function (lib, game, ui, get, ai, _status) {
"zioy_osiris": ["male", "shu", 4, ["zioy_zhuxingwuchang", "zioy_zhufashengmie", "zioy_yongyeqingxiao", "zioy_liechenyuyou_fire"], []], "zioy_osiris": ["male", "shu", 4, ["zioy_zhuxingwuchang", "zioy_zhufashengmie", "zioy_yongyeqingxiao", "zioy_liechenyuyou_fire"], []],
"zioy_morana": ["female", "jin", 6, ["zioy_lanzhiyuane", "zioy_liuzhenxiongxiang", "zioy_yinhuxiaowu"], ["hiddenSkill"]], "zioy_morana": ["female", "jin", 6, ["zioy_lanzhiyuane", "zioy_liuzhenxiongxiang", "zioy_yinhuxiaowu"], ["hiddenSkill"]],
"zioy_guanghan": ["female", "wu", "2/9", ["zioy_nongying", "zioy_chanjuan"], ["des:2023中秋"]], "zioy_guanghan": ["female", "wu", "2/9", ["zioy_nongying", "zioy_chanjuan"], ["des:2023中秋"]],
"zioy_xuanhu": ["male", "wei", 1, ["zioy_leimingqiangu", "zioy_zhoumingchuanxuan"], []] "zioy_xuanhu": ["male", "wei", 1, ["zioy_leimingqiangu", "zioy_zhoumingchuanxuan"], []],
"zioy_xiyueying": ["male", "shen", 4, [], []]
}, },
translate: { translate: {
"zioy_xixuegui": "弗拉基米尔", "zioy_xixuegui": "弗拉基米尔",
@@ -2261,7 +2261,8 @@ game.import("extension", function (lib, game, ui, get, ai, _status) {
"zioy_osiris": "奥曦里斯", "zioy_osiris": "奥曦里斯",
"zioy_morana": "莫洛娜", "zioy_morana": "莫洛娜",
"zioy_guanghan": "广寒", "zioy_guanghan": "广寒",
"zioy_xuanhu": "翾狐" "zioy_xuanhu": "翾狐",
"zioy_xiyueying": "曦月吟"
} }
}, },
card: { card: {
@@ -5753,7 +5754,7 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
} }
// game.log(player.storage.hxcx_x1, player.storage.hxcx_x,event.getParent().name) // game.log(player.storage.hxcx_x1, player.storage.hxcx_x,event.getParent().name)
if (event.num > player.storage.hxcx_x) { if (event.num > player.storage.hxcx_x) {
return true return true;
} else { } else {
return false; return false;
} }
@@ -5823,7 +5824,13 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
player.storage.hxcx_count1 = 0; player.storage.hxcx_count1 = 0;
} }
}, },
group: ["zioy_hexuchongxiang_revive", "zioy_hexuchongxiang_damage", "zioy_hexuchongxiang_loseMaxHpEnd", "zioy_hexuchongxiang_phaseEnd", "zioy_hexuchongxiang_useCardAfter"], group: [
"zioy_hexuchongxiang_revive",
"zioy_hexuchongxiang_damage",
"zioy_hexuchongxiang_loseMaxHpEnd",
"zioy_hexuchongxiang_phaseEnd",
"zioy_hexuchongxiang_useCardAfter"
],
subSkill: { subSkill: {
mark: { mark: {
mark: false, mark: false,
@@ -5854,7 +5861,7 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
p = p.next; p = p.next;
} }
if (player.storage.hxcx_count2 < 2) { if (player.storage.hxcx_count2 < 2) {
flag = true flag = true;
} }
// if(flag == false && player.hp <= 0 && game.globalStatus.name == "shenlou"){ // if(flag == false && player.hp <= 0 && game.globalStatus.name == "shenlou"){
@@ -5890,14 +5897,12 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
"step 3" "step 3"
if (player.hp < 0) { if (player.hp < 0) {
player.hp = player.maxHp; player.hp = player.maxHp;
player.update() player.update();
} }
}, },
sub: true, sub: true,
"_priority": 0 "_priority": 0
}, },
// 增伤
damage: { damage: {
trigger: { trigger: {
player: ["loseHpBegin", "damageBegin2", "phaseDrawBegin2"], player: ["loseHpBegin", "damageBegin2", "phaseDrawBegin2"],
@@ -5935,8 +5940,6 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
sub: true, sub: true,
"_priority": -30172700 "_priority": -30172700
}, },
// 重置回合内触发效果1的计数
phaseEnd: { phaseEnd: {
trigger: { trigger: {
player: ["phaseEnd"] player: ["phaseEnd"]
@@ -5945,7 +5948,6 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
return true; return true;
}, },
priority: -30174563, priority: -30174563,
// forced: true,
charlotte: true, charlotte: true,
unique: true, unique: true,
direct: true, direct: true,
@@ -5956,7 +5958,6 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
sub: true, sub: true,
"_priority": -301712300 "_priority": -301712300
}, },
useCardAfter: { useCardAfter: {
trigger: { trigger: {
global: ["useCardAfter", "damageEnd"], global: ["useCardAfter", "damageEnd"],
@@ -5966,7 +5967,6 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
return true; return true;
}, },
priority: -301754154563, priority: -301754154563,
// forced: true,
charlotte: true, charlotte: true,
unique: true, unique: true,
direct: true, direct: true,
@@ -6065,8 +6065,8 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
order: 1, order: 1,
result: { result: {
player: function (player) { player: function (player) {
if(player.countMark("zioy_hexuchongxiang_mark") == player.maxHp)return 999 if (player.countMark("zioy_hexuchongxiang_mark") == player.maxHp) return 999;
x = player.storage.enhancementArray["attack"] x = player.storage.enhancementArray["attack"];
if (x > -1) { if (x > -1) {
return -10; return -10;
} }
@@ -7568,13 +7568,15 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
}, },
init: function (player) { init: function (player) {
player.getTailCount = function () { player.getTailCount = function () {
return this.maxHp + this.countMark('zioy_zhoumingchuanxuan') return this.maxHp + this.countMark("zioy_zhoumingchuanxuan");
} };
player.addDamageLimiter(parseInt(player.getTailCount() / 3), "zioy_leimingqiangu"); player.addDamageLimiter(parseInt(player.getTailCount() / 3), "zioy_leimingqiangu");
}, },
mark: true, mark: true,
marktext: "鸣雷", marktext: "鸣雷",
intro: {name:"鸣雷"}, intro: {
name: "鸣雷"
},
forced: true, forced: true,
content: function () { content: function () {
"step 0" "step 0"
@@ -7694,28 +7696,31 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
"zioy_zhoumingchuanxuan": { "zioy_zhoumingchuanxuan": {
mod: { mod: {
selectTarget: function (card, player, range) { selectTarget: function (card, player, range) {
if(player.hasSkill("zioy_leimingqiangu") && !(['delay'].contains(get.type(card))) && range[1]!=-1) range[1] += parseInt(player.getTailCount()/3); if (player.hasSkill("zioy_leimingqiangu") && !["delay"].contains(get.type(card)) && range[1] != -1)
range[1] += parseInt(player.getTailCount() / 3);
}, },
attackFrom: function (from, to, distance) { attackFrom: function (from, to, distance) {
if (from.hasSkill("zioy_leimingqiangu")) return distance - parseInt(from.getTailCount() / 3); if (from.hasSkill("zioy_leimingqiangu")) return distance - parseInt(from.getTailCount() / 3);
}, }
}, },
trigger: { trigger: {
player:"useCardToTarget", player: "useCardToTarget"
}, },
forced: true, forced: true,
mark: true, mark: true,
marktext: "雷殊", marktext: "雷殊",
intro: {name:'雷殊'}, intro: {
name: "雷殊"
},
logTarget: "target", logTarget: "target",
filter: function (event, player) { filter: function (event, player) {
return event.target && event.target != player && event.targets.length == 1 && player.maxHp > 1; return event.target && event.target != player && event.targets.length == 1 && player.maxHp > 1;
}, },
content: function () { content: function () {
player.loseMaxHp(1) player.loseMaxHp(1);
player.addMark('zioy_zhoumingchuanxuan') player.addMark("zioy_zhoumingchuanxuan");
}, },
group:['zioy_zhoumingchuanxuan_phaseUse'], group: ["zioy_zhoumingchuanxuan_phaseUse"],
subSkill: { subSkill: {
phaseUse: { phaseUse: {
enable: "phaseUse", enable: "phaseUse",
@@ -7723,33 +7728,29 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
skillAnimation: true, skillAnimation: true,
animationColor: "thunder", animationColor: "thunder",
filter: function (event, player) { filter: function (event, player) {
return player.countMark('zioy_zhoumingchuanxuan')>1; return player.countMark("zioy_zhoumingchuanxuan") > 1;
}, },
// filterTarget:function(card,player,target){
// return player!=target;
// },
content: function () { content: function () {
'step 0' "step 0"
event.num = parseInt(player.countMark('zioy_zhoumingchuanxuan')/1.5) event.num = parseInt(player.countMark("zioy_zhoumingchuanxuan") / 1.5);
player.removeMark('zioy_zhoumingchuanxuan',player.countMark('zioy_zhoumingchuanxuan')) player.removeMark("zioy_zhoumingchuanxuan", player.countMark("zioy_zhoumingchuanxuan"));
player.chooseTarget( player
.chooseTarget(
"对至多" + event.num + "名其他角色造成" + event.num + "点伤害", "对至多" + event.num + "名其他角色造成" + event.num + "点伤害",
function (card, player, target) { function (card, player, target) {
return target != player; return target != player;
}, },
[ [1, event.num],
1,event.num
],
true true
) )
.set("ai", function (target) { .set("ai", function (target) {
var att = get.attitude(_status.event.player, target); var att = get.attitude(_status.event.player, target);
return -att; return -att;
}); });
'step 1' "step 1"
if (result.bool) { if (result.bool) {
for (var p of result.targets) { for (var p of result.targets) {
p.damage(event.num,'thunder') p.damage(event.num, "thunder");
} }
} }
}, },
@@ -7757,16 +7758,16 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
order: 1, order: 1,
result: { result: {
player: function (player) { player: function (player) {
var n = player.countMark('zioy_zhoumingchuanxuan'); var n = player.countMark("zioy_zhoumingchuanxuan");
return 3; return 3;
}, }
// target:function(player,target){
// return -3
// }
} }
}, },
sub: true,
"_priority": 0
} }
} },
"_priority": 0
} }
}, },
translate: { translate: {
@@ -8060,7 +8061,8 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
"zioy_leimingqiangu_info": "zioy_leimingqiangu_info":
'①记你的体力上限+你拥有的“雷殊”数量为你的"尾数",若你的"尾数"小于9,每次使用进攻类型的牌或即将受到伤害时你获得1点体力上限并回复1点体力值。<br>②你即将受到的伤害不超过尾数/3(向下取整),你受到时伤害获得尾数*5枚“鸣雷”标记,当“鸣雷”标记数量达到200枚时你移去200枚“鸣雷”标记并回复1点体力值,若尾数达到9则使你下一次造成伤害后对受伤角色造成1点不会触发此技能③效果的雷属性伤害。<br>③当你尾数达到9时,你造成的任何伤害后获得伤害值*尾数*3点“鸣雷”标记。<br>④每个回合开始阶段将你超过9的体力上限部分与全部护甲转换为体力。<br>⑤你的摸牌阶段摸牌数基数为你的尾数/1.5(向下取整)。', '①记你的体力上限+你拥有的“雷殊”数量为你的"尾数",若你的"尾数"小于9,每次使用进攻类型的牌或即将受到伤害时你获得1点体力上限并回复1点体力值。<br>②你即将受到的伤害不超过尾数/3(向下取整),你受到时伤害获得尾数*5枚“鸣雷”标记,当“鸣雷”标记数量达到200枚时你移去200枚“鸣雷”标记并回复1点体力值,若尾数达到9则使你下一次造成伤害后对受伤角色造成1点不会触发此技能③效果的雷属性伤害。<br>③当你尾数达到9时,你造成的任何伤害后获得伤害值*尾数*3点“鸣雷”标记。<br>④每个回合开始阶段将你超过9的体力上限部分与全部护甲转换为体力。<br>⑤你的摸牌阶段摸牌数基数为你的尾数/1.5(向下取整)。',
"zioy_zhoumingchuanxuan": "骤明穿玄", "zioy_zhoumingchuanxuan": "骤明穿玄",
"zioy_zhoumingchuanxuan_info": "①你的攻击距离+X,使用牌(延时锦囊除外)可多指定X名角色为目标(X为你的尾数/3且向下取整)<br>②若你使用牌指定唯一其他角色为目标且你的体力上限大于1,你失去1点体力上限并获得1枚“雷殊”标记,然后清除场上非天气的全局状态<br>③若你有至少2枚“雷殊”,你可以主动发动此技能并移去所有“雷殊”并选择X名其他角色,你对其造成X点雷属性伤害(X为你移去“雷殊”的数量/1.5且向下取整)" "zioy_zhoumingchuanxuan_info":
"①你的攻击距离+X,使用牌(延时锦囊除外)可多指定X名角色为目标(X为你的尾数/3且向下取整)<br>②若你使用牌指定唯一其他角色为目标且你的体力上限大于1,你失去1点体力上限并获得1枚“雷殊”标记,然后清除场上非天气的全局状态<br>③若你有至少2枚“雷殊”,你可以主动发动此技能并移去所有“雷殊”并选择X名其他角色,你对其造成X点雷属性伤害(X为你移去“雷殊”的数量/1.5且向下取整)"
} }
}, },
intro: "??????????????????????????<br>拒绝规范描述", intro: "??????????????????????????<br>拒绝规范描述",
@@ -8074,28 +8076,28 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
"zioy_gaiying.jpg", "zioy_gaiying.jpg",
"test.jpg", "test.jpg",
"zioy_xuanhu.jpg", "zioy_xuanhu.jpg",
"zioy_xixuegui.jpg",
"zioy_shuijinxiezi.jpg",
"zioy_zhigaotian.jpg", "zioy_zhigaotian.jpg",
"zioy_renturtle.jpg", "zioy_renturtle.jpg",
"zioy_yinlong.jpg", "zioy_yinlong.jpg",
"zioy_heibai.jpg", "zioy_heibai.jpg",
"zioy_xixuegui.jpg",
"zioy_shuijinxiezi.jpg",
"zioy_senjianmeng.jpg", "zioy_senjianmeng.jpg",
"zioy_guanghan.jpg",
"zioy_yilong.jpg",
"zioy_dreamaker.jpg",
"zioy_drugdoctor.jpg", "zioy_drugdoctor.jpg",
"zioy_huajian.jpg", "zioy_huajian.jpg",
"zioy_shenxianxiang.jpg", "zioy_shenxianxiang.jpg",
"zioy_xielingyun.jpg",
"zioy_peiki.jpg", "zioy_peiki.jpg",
"zioy_sose.jpg", "zioy_sose.jpg",
"zioy_pqsj.jpg",
"zioy_nianshou.jpg", "zioy_nianshou.jpg",
"zioy_jinu.jpg", "zioy_jinu.jpg",
"zioy_dreamaker.jpg",
"zioy_yilong.jpg",
"zioy_xielingyun.jpg",
"zioy_pqsj.jpg",
"zioy_guanghan.jpg",
"zioy_diana.jpg", "zioy_diana.jpg",
"zioy_lanchesite.jpg",
"zioy_xiaozhenhe.jpg", "zioy_xiaozhenhe.jpg",
"zioy_lanchesite.jpg",
"zioy_badun.jpg", "zioy_badun.jpg",
"zioy_xingjun.jpg", "zioy_xingjun.jpg",
"zioy_osiris.jpg", "zioy_osiris.jpg",
@@ -8106,13 +8108,15 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
"zioy_bailu.jpg", "zioy_bailu.jpg",
"zioy_xukongchong.jpg", "zioy_xukongchong.jpg",
"zioy_nike.jpg", "zioy_nike.jpg",
"zioy_morana.jpg",
"zioy_muxi.jpg", "zioy_muxi.jpg",
"zioy_b7chuhaoji.jpg", "zioy_b7chuhaoji.jpg",
"zioy_kailuer.jpg" "zioy_morana.jpg",
"zioy_kailuer.jpg",
"zioy_xiyueying.jpg"
], ],
"card": ["zioy_yueguang.jpg"], "card": ["zioy_yueguang.jpg"],
"skill": [] "skill": [],
"audio": []
} }
}; };
}); });
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 584 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 KiB

After

Width:  |  Height:  |  Size: 263 KiB