木鹿大王、霍骏

This commit is contained in:
mengxinzxz 2024-01-20 22:50:46 +08:00
parent a706ea6c41
commit 92c522851b
1 changed files with 278 additions and 1 deletions

View File

@ -6,7 +6,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
connect:true,
characterSort:{
mobile:{
mobile_default:['mb_chengui','mb_huban','mb_xianglang','yanxiang','xin_wuban','laimin','baoxin','jiangji','liwei','xin_guozhao',"miheng","taoqian","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei","hujinding","zhangyì","jiakui","yangbiao","chendeng","dongcheng","yangyi","dengzhi","zhengxuan","sp_sufei","furong","dingyuan","simashi","yanghuiyu","hucheer","gongsunkang","nanhualaoxian","zhouqun","qiaozhou","fuqian","simafu","mayuanyi","yanpu","sunhanhua","sp_maojie","peixiu","sp_jianggan","ruanhui","xin_mamidi","sp_caosong","yangfu","wangjun","sp_pengyang","qianzhao",'shichangshi'],
mobile_default:['xin_huojun','muludawang','mb_chengui','mb_huban','mb_xianglang','yanxiang','xin_wuban','laimin','baoxin','jiangji','liwei','xin_guozhao',"miheng","taoqian","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei","hujinding","zhangyì","jiakui","yangbiao","chendeng","dongcheng","yangyi","dengzhi","zhengxuan","sp_sufei","furong","dingyuan","simashi","yanghuiyu","hucheer","gongsunkang","nanhualaoxian","zhouqun","qiaozhou","fuqian","simafu","mayuanyi","yanpu","sunhanhua","sp_maojie","peixiu","sp_jianggan","ruanhui","xin_mamidi","sp_caosong","yangfu","wangjun","sp_pengyang","qianzhao",'shichangshi'],
mobile_yijiang:["yj_zhanghe","yj_zhangliao","yj_xuhuang","yj_ganning",'yj_huangzhong','yj_weiyan','yj_zhoubuyi'],
mobile_standard:["xin_xiahoudun","xin_zhangfei"],
mobile_shenhua_feng:['re_xiaoqiao',"xin_zhoutai"],
@ -26,6 +26,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
character:{
xin_huojun:['male','shu',4,['sidai','jieyu'],['character:tw_huojun','die_audio:tw_huojun']],
muludawang:['male','qun','3/3/1',['shoufa','yuxiang','zhoulin']],
mb_chengui:['male','qun',3,['guimou','zhouxian']],
mb_huban:['male','wei',4,['mbyilie']],
mb_xianglang:['male','shu',3,['naxue','yijie']],
@ -176,6 +178,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
scs_gaowang:['male','qun','',['scsmiaoyu'],['unseen','sex:male_castrated']],
},
characterIntro:{
muludawang:'古典小说《三国演义》中的虚构人物,八纳洞主,孟获盟友。擅驱兽法,能行风雨,控制猛兽并指挥它们作战。在法术帮助下最初对蜀军取得一些胜利,但在诸葛亮的喷火木兽将他的动物吓跑后战败,最后死于乱军之中。',
laimin:'来敏165年—261年字敬达义阳新野人东汉太中大夫来歙之后司空来艳之子三国时期蜀汉官员。东汉末年逢董卓之乱来敏跟随姐夫黄琬到荆州避难黄琬是刘璋祖母的侄子来敏又与姐姐来氏入蜀被刘璋引为宾客。来敏喜欢读书尤其喜欢《左氏春秋》。刘备平定益州后以来敏为典学校尉后立太子来敏为家令。刘禅继位后任命来敏为虎贲中郎将诸葛亮驻汉中请来敏为军祭酒、辅军将军。却因其口出狂言而被罢官诸葛亮死后来敏历任大长秋、光禄大夫、执慎将军等职期间多次因说错话而被免官蜀汉景耀年间来敏去世时年九十七岁。',
shichangshi:'十常侍指中国东汉公元25年—220年灵帝时期168年-189年操纵政权的十二个宦官张让、赵忠、夏恽、郭胜、孙璋、毕岚、栗嵩、段珪、高望、张恭、韩悝、宋典在小说《三国演义》里十常侍指的是指张让、赵忠、封谞、段珪、曹节、侯览、蹇硕、程旷、夏恽、郭胜十人他们都任职中常侍。玩弄小皇帝于股掌之中以至灵帝称“张常侍是我父赵常侍是我母”。十常侍自己横征暴敛卖官鬻爵他们的父兄子弟遍布天下横行乡里祸害百姓无官敢管。人民不堪剥削、压迫纷纷起来反抗。当时一些比较清醒的官吏已看出宦官集团的黑暗腐败导致大规模农民起义的形势。郎中张钧在给皇帝的奏章中明确指出黄巾起义是外戚宦官专权逼出来的他说“张角所以能兴兵作乱万人所以乐附之者其源皆由十常侍多放父兄、子弟、婚宗、宾客典据州郡辜确财利侵略百姓百姓之怨无所告诉故谋议不轨聚为盗贼。”后被曹操、袁绍所歼。',
sunzhang:'孙璋(?-189年东汉末期汉灵帝的宦官官居中常侍为十常侍之一在张让、赵忠之下位居第三。光熹元年189年张让、赵忠、段珪等诛杀何进袁绍率军入宫诛杀孙璋。',
@ -391,6 +394,255 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
skill:{
//霍骏
sidai:{
audio:'twsidai',
enable:'phaseUse',
usable:1,
locked:false,
limited:true,
skillAnimation:true,
animationColor:'fire',
filter:function(event,player){
var cards=player.getCards('h',{type:'basic'});
if(!cards.length) return false;
for(var i of cards){
if(!game.checkMod(i,player,'unchanged','cardEnabled2',player)) return false;
}
return event.filterCard(get.autoViewAs({name:'sha',storage:{sidai:true}},cards),player,event);
},
viewAs:{name:'sha',storage:{sidai:true}},
filterCard:{type:'basic'},
selectCard:-1,
check:()=>1,
onuse:function(result,player){
player.awakenSkill('sidai');
player.addTempSkill('sidai_tao');
player.addTempSkill('sidai_shan');
},
ai:{
order:function(item,player){
return get.order({name:'sha'},player)+0.1;
},
result:{
target:function(player,target){
var cards=ui.selected.cards.slice(0);
var names=[];
for(var i of cards) names.add(i.name);
if(names.length<player.hp) return 0;
if(player.hasUnknown()&&(player.identity!='fan'||!target.isZhu)) return 0;
if(get.attitude(player,target)>=0) return -20;
return lib.card.sha.ai.result.target.apply(this,arguments);
},
},
},
subSkill:{
tao:{
trigger:{source:'damageSource'},
filter:function(event,player){
if(!event.card||!event.card.storage||!event.card.storage.sidai||!event.player.isIn()) return false;
for(var i of event.cards){
if(i.name=='tao') return true;
}
return false;
},
forced:true,
popup:false,
content:function(){
trigger.player.loseMaxHp();
},
},
shan:{
trigger:{player:'useCardToPlayered'},
filter:function(event,player){
if(!event.card||!event.card.storage||!event.card.storage.sidai||!event.target.isIn()) return false;
for(var i of event.cards){
if(i.name=='shan') return true;
}
return false;
},
forced:true,
popup:false,
content:function(){
'step 0'
trigger.target.chooseToDiscard('h',{type:'basic'},'弃置一张基本牌,否则不能响应'+get.translation(trigger.card)).set('ai',function(card){
var player=_status.event.player;
if(player.hasCard('hs',function(cardx){
return cardx!=card&&get.name(cardx,player)=='shan';
})) return 12-get.value(card);
return 0;
});
'step 1'
if(!result.bool) trigger.directHit.add(trigger.target);
},
},
},
},
jieyu:{
audio:'twjieyu',
trigger:{player:'phaseJieshuBegin'},
filter:function(event,player){
for(var i=0;i<ui.discardPile.childElementCount;i++){
if(get.type(ui.discardPile.childNodes[i])=='basic') return true;
}
return false;
},
prompt2:function(event,player){
const num=lib.skill.jieyu.getNum(player,true);
return '获得弃牌堆中'+get.cnNumber(num)+'张'+(num>1?'牌名各不相同的':'')+'基本牌';
},
async content(event,trigger,player){
const num=lib.skill.jieyu.getNum(player,false);
let gains=[],names=lib.inpile.filter(name=>get.type(name)=='basic').randomGets(num);
names.forEach(name=>{
let card=get.discardPile(card=>card.name==name);
if(name) gains.push(card);
});
if(gains.length) player.gain(gains,'gain2');
},
getNum:function(player,goon){
let num=3,bool=goon;
const history=game.getAllGlobalHistory('everything');
for(let i=history.length-1;i>=0;i--){
const evt=history[i];
if(evt.name=='useSkill'&&evt.player==player&&evt.skill=='jieyu'){
if(!bool) bool=true;
else break;
}
if(evt.name=='useCard'&&evt.player!=player&&evt.targets&&evt.targets.includes(player)&&get.tag(evt.card,'damage')){
num--;
if(num==1) break;
}
}
return num;
},
},
//木鹿大王
shoufa:{
audio:2,
trigger:{
player:'damageEnd',
source:'damageSource',
},
filter:function(event,player,name){
if(name=='damageSource'&&player.getHistory('sourceDamage').indexOf(event)!=0) return false;
return game.hasPlayer(target=>{
if(name=='damageEnd') return get.distance(player,target)>2;
return get.distance(player,target)<=2;
});
},
direct:true,
async content(event,trigger,player){
const zhoufa=player.storage.zhoulin_zhoufa;
const str=zhoufa?[
'令其受到1点无来源伤害',
'你随机获得其一张牌',
'你随机弃置其装备区的一张牌',
'令其摸一张牌',
][['豹','鹰','熊','兔'].indexOf(zhoufa)]:'令其随机执行一个效果';
const {result:{bool,targets}}=await player.chooseTarget(get.prompt('shoufa'),'选择一名距离'+(event.triggername=='damageEnd'?'':'不')+'大于2的角色'+str,(card,player,target)=>{
const name=_status.event.name;
if(name=='damageEnd'&&get.distance(player,target)<=2) return false;
if(name=='damageSource'&&get.distance(player,target)>2) return false;
const zhoufa=player.storage.zhoulin_zhoufa;
if(!zhoufa) return true;
if(zhoufa=='豹'||zhoufa=='兔') return true;
if(zhoufa=='鹰') return target.countCards('he');
return target.countDiscardableCards(player,'e');
}).set('ai',target=>{
const player=_status.event.player;
const zhoufa=player.storage.zhoulin_zhoufa;
if(!zhoufa) return -get.attitude(player,target);
switch(zhoufa){
case '豹':
return get.damageEffect(target,player,player);
case '鹰':
return get.effect(target,{name:'guohe_copy2'},player,player);
case '熊':
let att=get.attitude(player,target),eff=0;
target.getCards('e',card=>{
var val=get.value(card,target);
eff=Math.max(eff,-val*att);
});
return eff;
case '兔':
return get.effect(target,{name:'draw'},player,player);
}
}).set('name',event.triggername);
if(!bool) return;
const target=targets[0];
player.logSkill('shoufa',target);
const shoufa=zhoufa?zhoufa:['豹','鹰','熊','兔'].randomGet();
game.log(target,'执行','#g'+shoufa,'效果');
switch(shoufa){
case '豹':
target.damage('nosource');
break;
case '鹰':
player.gain(target.getGainableCards(player,'he'),target,'giveAuto');
break;
case '熊':
target.discard(target.getGainableCards(player,'e').randomGet()).discarder=player;
break;
case '兔':
target.draw();
break;
}
},
},
yuxiang:{
mod:{
globalFrom(from,to,distance){
if(from.hujia>0) return distance-1;
},
globalTo(from,to,distance){
if(to.hujia>0) return distance+1;
},
},
audio:2,
trigger:{player:'damageBegin2'},
filter:function(event,player){
return player.hujia>0&&event.hasNature('fire');
},
forced:true,
async content(event,trigger,player){
trigger.num++;
},
},
zhoulin:{
audio:2,
limited:true,
unique:true,
enable:'phaseUse',
skillAnimation:true,
animationColor:'fire',
async content(event,trigger,player){
player.awakenSkill('zhoulin');
player.changeHujia(2,null,true);
const {result:{control}}=await player.chooseControl('豹','鹰','熊','兔').set('ai',()=>'豹').set('prompt','选择一个固定效果');
if(control){
player.popup(control);
game.log(player,'选择了','#g'+control,'效果');
player.addTempSkill('zhoulin_zhoufa');
player.storage.zhoulin_zhoufa=control;
player.markSkill('zhoulin_zhoufa');
game.broadcastAll(function(player,zhoufa){
if(player.marks.zhoulin_zhoufa) player.marks.zhoulin_zhoufa.firstChild.innerHTML=zhoufa;
},player,control);
}
},
ai:{
order:12,
result:{player:1},
},
subSkill:{
zhoufa:{
charlotte:true,
onremove:true,
intro:{content:'已选择$效果'},
},
}
},
//陈珪
guimou:{
audio:2,
@ -15380,6 +15632,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mobilexingxue:function(player){
return lib.translate[(player.storage.mobileyanzhu?'mobilexingxuex':'mobilexingxue')+'_info'];
},
shoufa:function(player){
const zhoufa=player.storage.zhoulin_zhoufa;
if(!zhoufa) return '当你受到伤害后/于一回合首次造成伤害后,你可以选择一名与你距离大于/不大于2的角色令其随机执行以下一项令其受到1点无来源伤害你随机获得其一张牌你随机弃置其装备区的一张牌令其摸一张牌。';
let str='当你受到伤害后/于一回合首次造成伤害后,你可以选择一名与你距离大于/不大于2的角色';
str+=[
'令其受到1点无来源伤害',
'你随机获得其一张牌',
'你随机弃置其装备区的一张牌',
'令其摸一张牌',
][['豹','鹰','熊','兔'].indexOf(zhoufa)];
return str;
},
},
perfectPair:{
simazhao:['simayi','jin_simayi','jin_wangyuanji'],
@ -16247,6 +16511,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mbyilie2:'义烈',
mbyilie3:'义烈',
mbyilie_info:'锁定技。①游戏开始时你选择一名其他角色然后你获得以下效果其受到伤害时若你的“烈”标记数小于2则你获得等同于伤害值的“烈”标记然后防止此伤害其对其他角色造成伤害后你回复1点体力。②结束阶段若你有“烈”标记你摸X张牌并失去X点体力然后移去所有“烈”标记X为你拥有的“烈”标记数。',
muludawang:'木鹿大王',
shoufa:'兽法',
shoufa_info:'当你受到伤害后/于一回合首次造成伤害后,你可以选择一名与你距离大于/不大于2的角色令其随机执行以下一项令其受到1点无来源伤害你随机获得其一张牌你随机弃置其装备区的一张牌令其摸一张牌。',
yuxiang:'御象',
yuxiang_info:'锁定技,若你有护甲值,则:①你计算与其他角色的距离-1其他角色计算与你的距离+1②当你受到火焰伤害时此伤害+1。',
zhoulin:'咒鳞',
zhoulin_info:'限定技出牌阶段你可以获得2点护甲值然后选择一个“兽法”效果你发动〖兽法〗的执行效果改为你选择的效果直到你的下个回合结束。',
xin_huojun:'手杀霍峻',
xin_huojun_prefix:'手杀',
sidai:'伺怠',
sidai_info:'限定技出牌阶段你可以将手牌区内的所有基本牌当做【杀】使用。若此牌对应的实体牌中包含【闪】则目标角色成为此牌的目标后需弃置一张基本牌否则不可响应此牌包含【桃】则当目标角色受到此牌的伤害后其减1点体力上限。',
jieyu:'竭御',
jieyu_info:'结束阶段你可以从弃牌堆中获得共X张不同牌名的基本牌X为3-你上次发动〖竭御〗至今你成为其他角色使用伤害类卡牌目标的次数且X至少为1。',
mobile_standard:'手杀异构·标准包',
mobile_shenhua_feng:'手杀异构·其疾如风',