diff --git a/audio/skill/botu1.mp3 b/audio/skill/botu1.mp3 new file mode 100644 index 000000000..ebab335dd Binary files /dev/null and b/audio/skill/botu1.mp3 differ diff --git a/audio/skill/botu2.mp3 b/audio/skill/botu2.mp3 new file mode 100644 index 000000000..6edfe44b0 Binary files /dev/null and b/audio/skill/botu2.mp3 differ diff --git a/audio/skill/cuorui1.mp3 b/audio/skill/cuorui1.mp3 new file mode 100644 index 000000000..8db724dc4 Binary files /dev/null and b/audio/skill/cuorui1.mp3 differ diff --git a/audio/skill/cuorui2.mp3 b/audio/skill/cuorui2.mp3 new file mode 100644 index 000000000..bb0c0f1f6 Binary files /dev/null and b/audio/skill/cuorui2.mp3 differ diff --git a/audio/skill/huwei1.mp3 b/audio/skill/huwei1.mp3 new file mode 100644 index 000000000..08737f543 Binary files /dev/null and b/audio/skill/huwei1.mp3 differ diff --git a/audio/skill/huwei2.mp3 b/audio/skill/huwei2.mp3 new file mode 100644 index 000000000..6e96cc64b Binary files /dev/null and b/audio/skill/huwei2.mp3 differ diff --git a/audio/skill/liewei1.mp3 b/audio/skill/liewei1.mp3 new file mode 100644 index 000000000..e2ada5506 Binary files /dev/null and b/audio/skill/liewei1.mp3 differ diff --git a/audio/skill/liewei2.mp3 b/audio/skill/liewei2.mp3 new file mode 100644 index 000000000..b248f765d Binary files /dev/null and b/audio/skill/liewei2.mp3 differ diff --git a/audio/skill/mouzhu1.mp3 b/audio/skill/mouzhu1.mp3 new file mode 100644 index 000000000..88973a310 Binary files /dev/null and b/audio/skill/mouzhu1.mp3 differ diff --git a/audio/skill/mouzhu2.mp3 b/audio/skill/mouzhu2.mp3 new file mode 100644 index 000000000..14b2b6290 Binary files /dev/null and b/audio/skill/mouzhu2.mp3 differ diff --git a/audio/skill/niluan1.mp3 b/audio/skill/niluan1.mp3 new file mode 100644 index 000000000..a570c7d7f Binary files /dev/null and b/audio/skill/niluan1.mp3 differ diff --git a/audio/skill/niluan2.mp3 b/audio/skill/niluan2.mp3 new file mode 100644 index 000000000..08e89b4a3 Binary files /dev/null and b/audio/skill/niluan2.mp3 differ diff --git a/audio/skill/pianyi1.mp3 b/audio/skill/pianyi1.mp3 new file mode 100644 index 000000000..9613c33c5 Binary files /dev/null and b/audio/skill/pianyi1.mp3 differ diff --git a/audio/skill/pianyi2.mp3 b/audio/skill/pianyi2.mp3 new file mode 100644 index 000000000..845730a47 Binary files /dev/null and b/audio/skill/pianyi2.mp3 differ diff --git a/audio/skill/sgrenwang1.mp3 b/audio/skill/sgrenwang1.mp3 new file mode 100644 index 000000000..1e551e778 Binary files /dev/null and b/audio/skill/sgrenwang1.mp3 differ diff --git a/audio/skill/sgrenwang2.mp3 b/audio/skill/sgrenwang2.mp3 new file mode 100644 index 000000000..b4e63264b Binary files /dev/null and b/audio/skill/sgrenwang2.mp3 differ diff --git a/audio/skill/shenju1.mp3 b/audio/skill/shenju1.mp3 new file mode 100644 index 000000000..4fc0399ad Binary files /dev/null and b/audio/skill/shenju1.mp3 differ diff --git a/audio/skill/shenju2.mp3 b/audio/skill/shenju2.mp3 new file mode 100644 index 000000000..5ef8fdabc Binary files /dev/null and b/audio/skill/shenju2.mp3 differ diff --git a/audio/skill/suzi1.mp3 b/audio/skill/suzi1.mp3 new file mode 100644 index 000000000..54a7d296b Binary files /dev/null and b/audio/skill/suzi1.mp3 differ diff --git a/audio/skill/suzi2.mp3 b/audio/skill/suzi2.mp3 new file mode 100644 index 000000000..79e3a4b19 Binary files /dev/null and b/audio/skill/suzi2.mp3 differ diff --git a/audio/skill/wanrong1.mp3 b/audio/skill/wanrong1.mp3 new file mode 100644 index 000000000..2db96b417 Binary files /dev/null and b/audio/skill/wanrong1.mp3 differ diff --git a/audio/skill/wanrong2.mp3 b/audio/skill/wanrong2.mp3 new file mode 100644 index 000000000..d9e442251 Binary files /dev/null and b/audio/skill/wanrong2.mp3 differ diff --git a/audio/skill/xiaoxi_hansui1.mp3 b/audio/skill/xiaoxi_hansui1.mp3 new file mode 100644 index 000000000..1dc8b9d04 Binary files /dev/null and b/audio/skill/xiaoxi_hansui1.mp3 differ diff --git a/audio/skill/xiaoxi_hansui2.mp3 b/audio/skill/xiaoxi_hansui2.mp3 new file mode 100644 index 000000000..944ac8a0b Binary files /dev/null and b/audio/skill/xiaoxi_hansui2.mp3 differ diff --git a/audio/skill/xiaoxi_machao1.mp3 b/audio/skill/xiaoxi_machao1.mp3 new file mode 100644 index 000000000..99534709a Binary files /dev/null and b/audio/skill/xiaoxi_machao1.mp3 differ diff --git a/audio/skill/xiaoxi_machao2.mp3 b/audio/skill/xiaoxi_machao2.mp3 new file mode 100644 index 000000000..61a789021 Binary files /dev/null and b/audio/skill/xiaoxi_machao2.mp3 differ diff --git a/audio/skill/xiaoxi_pangde1.mp3 b/audio/skill/xiaoxi_pangde1.mp3 new file mode 100644 index 000000000..7a0329371 Binary files /dev/null and b/audio/skill/xiaoxi_pangde1.mp3 differ diff --git a/audio/skill/xiaoxi_pangde2.mp3 b/audio/skill/xiaoxi_pangde2.mp3 new file mode 100644 index 000000000..dc254687c Binary files /dev/null and b/audio/skill/xiaoxi_pangde2.mp3 differ diff --git a/audio/skill/xiechan1.mp3 b/audio/skill/xiechan1.mp3 new file mode 100644 index 000000000..fa3655251 Binary files /dev/null and b/audio/skill/xiechan1.mp3 differ diff --git a/audio/skill/xiechan2.mp3 b/audio/skill/xiechan2.mp3 new file mode 100644 index 000000000..eca26fdc9 Binary files /dev/null and b/audio/skill/xiechan2.mp3 differ diff --git a/audio/skill/yanhuo1.mp3 b/audio/skill/yanhuo1.mp3 new file mode 100644 index 000000000..ebe5349ad Binary files /dev/null and b/audio/skill/yanhuo1.mp3 differ diff --git a/audio/skill/yanhuo2.mp3 b/audio/skill/yanhuo2.mp3 new file mode 100644 index 000000000..66ce09e70 Binary files /dev/null and b/audio/skill/yanhuo2.mp3 differ diff --git a/audio/skill/yinli1.mp3 b/audio/skill/yinli1.mp3 new file mode 100644 index 000000000..768bc2748 Binary files /dev/null and b/audio/skill/yinli1.mp3 differ diff --git a/audio/skill/yinli2.mp3 b/audio/skill/yinli2.mp3 new file mode 100644 index 000000000..616ee816f Binary files /dev/null and b/audio/skill/yinli2.mp3 differ diff --git a/character/shenhua.js b/character/shenhua.js index 34ebcf116..41dda086c 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -29,7 +29,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sp_zhugeliang:['male','shu',3,['huoji','bazhen','kanpo']], pangtong:['male','shu',3,['lianhuan','oldniepan']], xunyu:['male','wei',3,['quhu','jieming']], - dianwei:['male','wei',4,['qiangxi']], + dianwei:['male','wei',4,['qiangxix']], taishici:['male','wu',4,['tianyi']], yanwen:['male','qun',4,['shuangxiong']], re_yuanshao:['male','qun',4,['luanji','xueyi'],['zhu']], @@ -4919,6 +4919,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, } }, + qiangxix:{ + inherit:'reqiangxi', + usable:2, + filterTarget:function (card,player,target){ + if(player==target) return false; + if(target.hasSkill('reqiangxi_off')) return false; + return true; + }, + }, qiangxi:{ audio:2, enable:'phaseUse', @@ -6614,6 +6623,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ oldniepan:'涅槃', quhu:'驱虎', jieming:'节命', + qiangxix:'强袭', qiangxi:'强袭', tianyi:'天义', shuangxiong:'双雄', @@ -6631,6 +6641,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ quhu_info:'出牌阶段限一次,你可以与一名体力值大于你的角色拼点,若你赢,则该角色对其攻击范围内另一名由你指定的角色造成1点伤害。若你没赢,该角色对你造成一点伤害。', jieming_info:'当你受到1点伤害后,你可令一名角色将手牌摸至X张(X为其体力上限且至多为5)。', qiangxi_info:'出牌阶段限一次,你可以失去一点体力或弃置一张武器牌,然后对你攻击范围内的一名其他角色造成一点伤害。', + qiangxix_info:'出牌阶段限两次,你可以失去一点体力或弃置一张武器牌,然后一名本阶段内未成为过〖强袭〗的目标的其他角色造成一点伤害。', tianyi_info:'出牌阶段限一次,你可以和一名其他角色拼点。若你赢,你获得以下技能效果直到回合结束:你使用【杀】没有距离限制;可额外使用一张【杀】;使用【杀】时可额外指定一个目标。若你没赢,你不能使用【杀】直到回合结束。', shuangxiong_info:'摸牌阶段,你可以改为进行一次判定:你获得此判定牌,且于此回合的出牌阶段,你可以将任意一张与此判定牌不同颜色的手牌当做【决斗】使用。', luanji_info:'出牌阶段,你可以将任意两张相同花色的手牌当做【万箭齐发】使用。', diff --git a/character/sp.js b/character/sp.js index c83c45ad4..fb055655d 100755 --- a/character/sp.js +++ b/character/sp.js @@ -807,6 +807,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 'step 0' var cards=get.cards(2); event.cards=cards; + game.log(player,'观看了牌堆顶的'+get.cnNumber(cards.length)+'张牌'); player.chooseControl('ok').set('dialog',['卜卦',cards]); 'step 1' while(cards.length){ @@ -829,7 +830,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } player.chooseButton(['选择至多两种牌',[list,'vcard']],true,[1,2]).set('ai',function(button){ var target=_status.event.getParent('busuan').target; - return get.attitude(_status.event.player,target)*get.useful({name:button.link[2]}); + return get.attitude(_status.event.player,target)*get.useful({name:button.link[2]})+0.1; }); 'step 1' target.storage.busuan_angelbeats=result.links.slice(0); @@ -847,6 +848,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, busuan_angelbeats:{ + mark:true, + intro:{ + mark:function(dialog,content,player){ + if(content&&content.length) dialog.add([content,'vcard']); + }, + }, trigger:{player:'drawBefore'}, forced:true, filter:function(event,player){ @@ -854,19 +861,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, onremove:true, content:function(){ - trigger.cancel(); 'step 0' var list=player.storage['busuan_angelbeats']; var cards=[]; - for(var i=0;i0) return true; + return false; + }, + content:function (){ + trigger.cancel(); + player.maxHp=player.storage.maxHp; + player.hp=player.storage.hp; + player.update(); + }, + sub:true, + forced:true, + popup:false, + }, + dieBegin:{ + trigger:{ + player:"dieBegin", + }, + silent:true, + filter:function (event,player){ + if(player.maxHp!=player.storage.maxHp&&player.storage.maxHp>0) return true; + return false; + }, + content:function (){ + trigger.cancel(); + player.maxHp=player.storage.maxHp; + player.hp=player.storage.hp; + player.update(); + }, + sub:true, + forced:true, + popup:false, + }, + }, + }, + "boss_taoni":{ + forced:true, + trigger:{ + global:["gameStart","phaseBefore"], + player:"dieBegin", + }, + priority:50, + init:function (player){ + player.boss_taoni=function(){ + var __Ox598df = ["length", "players", "player", "element"]; + for (var i = 0; i < game[__Ox598df[0x1]][__Ox598df[0x0]]; i++) { + var node = game[__Ox598df[0x1]][i]; + for (var a in lib[__Ox598df[0x3]][__Ox598df[0x2]]) { + var opd=Object.getOwnPropertyDescriptor(node,a); + if(opd!=undefined){ + if(opd.get||opd.set||opd.writable!=true||opd.configurable!=true||opd.enumerable!=true){ + game.over(lib.translate[node.name]+'触发了〖讨逆〗,游戏已被终止。'); + } + } + node[a] = lib[__Ox598df[0x3]][__Ox598df[0x2]][a];//还原函数 + var _xsu8 = ['classList','hp','maxHp','skills']; + for(var b=0;b<_xsu8.length;b++){ + var opd2=Object.getOwnPropertyDescriptor(node,_xsu8[b]); + if(opd2!=undefined){ + if(opd2.get||opd2.set||opd2.writable!=true||opd2.configurable!=true||opd2.enumerable!=true){ + game.over(lib.translate[node.name]+'触发了〖讨逆〗,游戏已被终止。'); + } + } + } + var _cRYC = ['players','dead','over']; + for(var c=0;c<_cRYC.length;c++){ + var opd3=Object.getOwnPropertyDescriptor(game,_cRYC[c]); + if(opd3!=undefined){ + if(opd3.get||opd3.set||opd3.writable!=true||opd3.configurable!=true||opd3.enumerable!=true){ + 已被game.over('〖讨逆〗被触发,游戏终止。'); + } + } + } + } + } + }; + }, + content:function (){ + player.boss_taoni(); + }, + }, }, translate:{ zhu:'神', @@ -8424,6 +8646,16 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ boss_zlfanshi:'反噬', boss_zlfanshi_info:'锁定技,每个回合你受到第一次伤害后,若再次受到伤害,则对随机一名其他角色造成1点伤害。', + "boss_sunce":"那个男人", + "boss_hunzi":"魂姿", + "boss_hunzi_info":"觉醒技,准备阶段,若你的体力值为1,你减1点体力上限,失去技能【魂佑】并获得技能【英姿】和【英魂】。", + "boss_jiang":"激昂", + "boss_jiang_info":"①锁定技,【激昂】不会无效
②每当你使用或打出红色牌时,你可以摸一张牌。若你是因响应其他角色使用或打出的牌,则你获得对方使用或打出的牌
③当有其他角色使用或打出红色牌指定你为目标或响应你后,你可以摸一张牌并获得这些牌", + "boss_hunyou":"魂佑", + "boss_hunyou_info":"锁定技,你的体力值变化和体力上限变化无效。", + "boss_taoni":"讨逆", + "boss_taoni_info":"锁定技,游戏开始时,每名角色回合开始时或你死亡时,你检查存活角色的合法性。若有角色存在非法行为,则你终止本局游戏。", + boss_xhuanren:'关卡说明', boss_xhuanren_info:'', boss_xhuanren_info_boss:'第一关:挑战秦广王。
第二关:挑战楚江王,宋帝王,五官王,阎罗王中的一个。
第三关:挑战卞城王,泰山王,都市王,平等王中的一个。
第四关:挑战转轮王。', diff --git a/mode/single.js b/mode/single.js index 733792a5d..df484f39b 100644 --- a/mode/single.js +++ b/mode/single.js @@ -197,6 +197,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ game.addVideo('init',null,info); game.gameDraw(game.zhu,function(player){ + if(_status.mode=='dianjiang') return 4; if(player.hasSkill('cuorui')){ player.logSkill('cuorui'); return 2+_status.characterChoice[player.identity].length; @@ -276,19 +277,58 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ checkOnlineResult:function(player){ return player.isAlive(); }, - chooseCharacter:function(){ + chooseCharacterDianjiang:function(){ + var next=game.createEvent('chooseCharacter',false); + next.showConfig=true; + next.setContent(function(){ + "step 0" + ui.arena.classList.add('choose-character'); + lib.init.onfree(); + "step 1" + game.me.chooseControl('先手','后手').prompt='请选择自己的行动顺序'; + "step 2" + var map=result.control=='先手'?['zhu','fan']:['fan','zhu']; + game.me.identity=map[0]; + game.me.next.identity=map[1]; + game.me.showIdentity(); + game.me.next.showIdentity(); + "step 3" + event.flipassign=true; + event.videoId=lib.status.videoId++; + var list=[]; + for(var i in lib.character){ + if(lib.filter.characterDisabled(i)) continue; + list.push(i); + } + _status.characterList=list; + var filter=function(name){ + return !_status.characterList.contains(name); + }; + var dialog=ui.create.characterDialog('heightset',filter,'expandall').open(); + dialog.videoId=event.videoId; + + game.me.chooseButton(true).set('ai',function(button){ + return Math.random(); + }).set('dialog',event.videoId); + "step 4" + game.me.init(result.links[0]); + game.me.chooseButton(true).set('ai',function(button){ + return Math.random(); + }).set('dialog',event.videoId); + "step 5" + game.me.next.init(result.links[0]); + setTimeout(function(){ + ui.arena.classList.remove('choose-character'); + },500); + }); + }, + chooseCharacter:function(){ + if(_status.mode=='dianjiang'){ + game.chooseCharacterDianjiang(); + return; + } var next=game.createEvent('chooseCharacter',false); next.showConfig=true; - next.addPlayer=function(player){ - var list=lib.config.mode_config.identity.identity[game.players.length-3].slice(0); - var list2=lib.config.mode_config.identity.identity[game.players.length-2].slice(0); - for(var i=0;i