新增OL曹羲

This commit is contained in:
copcap 2023-09-16 22:16:17 +08:00
parent 520e8fe5ea
commit 189f1bb003
No known key found for this signature in database
GPG Key ID: 9AE7B8AF097EC926
3 changed files with 180 additions and 1 deletions

View File

@ -598,6 +598,7 @@ window.noname_character_rank={
'jsrg_sunce',
're_caorui',
'ol_zhouqun',
'caoxi',
],
bp:[
'chess_diaochan',

View File

@ -6,7 +6,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
characterSort:{
sp:{
sp_tianji:["sunhao","liuxie","caoang","hetaihou","sunluyu",'ol_wangrong',"zuofen","ganfuren","ol_bianfuren","qinghegongzhu","tengfanglan","ruiji",'caoxiancaohua'],
sp_sibi:["yangxiu","chenlin","chengyu","shixie","fuwan","wangyun","zhugejin","simalang","maliang","buzhi","dongyun","kanze","sunqian","xizhicai","sunshao",'duxi',"jianggan",'ol_dengzhi','ol_yangyi','ol_dongzhao','ol_chendeng','jin_yanghu','wangyan','xiahouxuan','quhuang','zhanghua','wangguan','sunhong'],
sp_sibi:["yangxiu","chenlin","chengyu","shixie","fuwan","wangyun","zhugejin","simalang","maliang","buzhi","dongyun","kanze","sunqian","xizhicai","sunshao",'duxi',"jianggan",'ol_dengzhi','ol_yangyi','ol_dongzhao','ol_chendeng','jin_yanghu','wangyan','xiahouxuan','quhuang','zhanghua','wangguan','sunhong','caoxi'],
sp_tianzhu:['niujin','hejin','hansui',"wutugu","yanbaihu","shamoke","panfeng","zhugedan",'huangzu','gaogan',"tadun","fanjiangzhangda","ahuinan","dongtuna",'ol_wenqin'],
sp_nvshi:["lingju","guanyinping","zhangxingcai","mayunlu","dongbai","zhaoxiang",'ol_zhangchangpu','ol_xinxianying',"daxiaoqiao","jin_guohuai"],
sp_shaowei:["simahui","zhangbao","zhanglu","zhugeguo","xujing","zhangling",'huangchengyan','zhangzhi','lushi'],
@ -27,6 +27,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
character:{
caoxi:['male','wei',3,['olgangshu','oljianxuan']],
ol_qianzhao:['male','wei',4,['olweifu','olkuansai']],
niujin:['male','wei',4,['olcuorui','liewei']],
hejin:['male','qun',4,['olmouzhu','olyanhuo']],
@ -194,6 +195,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//kaisa:["male","western",4,["zhengfu"]],
},
characterIntro:{
caoxi:'曹羲249年字昭叔。曹真之子曹爽之弟。为人有学识明律法。司马懿曾组织朝议改革九品中正制废除九品而留中正曹羲认为此举并无区别最终都是决定于人的人治。曹爽掌权后受封中领军掌握禁兵封安乡侯。曹爽及诸兄弟轻视司马懿恣意妄为经常外出狩猎曹羲屡次劝谏不被采纳。249年司马懿发动高平陵政变被夷三族。',
duanjiong:'段颎179年字纪明武威姑臧今甘肃省武威市人。东汉名将西域都护段会宗从曾孙与皇甫规字威明、张奂字然明并称“凉州三明”。段颎少时学习骑射有文武智略最初被举为孝廉为宪陵园丞、阳陵令有治理之才。汉桓帝时入军旅先破鲜卑后讨平东郭窦、公孙举起事以功封列侯。延熹二年159年起戍边征战十余年百战羌人至永康元年167年平定西羌建宁二年169年平定东羌前后斩东西羌六万余级。累功封新丰县侯。建宁三年170年段颎被征入朝历任侍中、执金吾、河南尹、司隶校尉等职他党附宦官、捕杀太学生因而得保富贵两度出任太尉。光和二年179年权宦王甫罪行被揭发段颎受牵连下狱其后在狱中饮鸩而死。',
haopu:'郝普字子太义阳治所在今湖北枣阳东南人。刘备入川后郝普为零陵太守。建安二十年215年吴将吕蒙进攻荆州三郡唯有郝普坚守待援。但援兵久久不至其挚友邓玄之又被吕蒙所骗郝普也因此上当投降吴国。湘水划界后郝普回归刘备。建安二十四年219年吕蒙再次袭击荆州击败关羽郝普再次投降最终归顺吴国并官至廷尉。郝普与隐蕃亲善隐蕃蓄谋叛变事情败露他受到牵连因此自杀。在刘备集团的5个荆州郡守中郝普是唯一一个抵抗过东吴的荆州郡守。',
ol_zhanghe:'字儁乂河间鄚人。三国时期魏国名将。官渡之战时本为袁绍部将的张郃投降了曹操并在曹操帐下多立功勋于曹魏建立后加封为征西车骑将军。诸葛亮六出祁山之间张郃多次抵御蜀军的进攻于公元231年在木门道被诸葛亮设伏射死。后谥曰壮侯。为曹魏“五子良将”之一。',
@ -692,6 +694,177 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
skill:{
//曹羲
olgangshu:{
audio:2,
trigger:{
player:'useCardAfter',
},
filter:function(event,player){
return get.type2(event.card,false)!='basic';
},
getInfo:(player)=>{
if(!player.storage.olgangshu_buff) player.storage.olgangshu_buff=[0,0,0];
return player.storage.olgangshu_buff;
},
direct:true,
group:'olgangshu_reset',
content:function(){
'step 0'
var info=lib.skill.olgangshu.getInfo(player);
player.chooseControl('攻击范围('+info[0]+')','摸牌数('+info[1]+')','使用【杀】的上限('+info[2]+')','cancel2').set('prompt',get.prompt('olgangshu')).set('prompt2','<div class="text center">令以下一个数值+1每项至多+5<br>1.攻击范围;<br>2.下个摸牌阶段的摸牌数;<br>3.使用【杀】的次数上限。</div>').set('ai',()=>{
return _status.event.choice;
}).set('choice',function(){
var info=lib.skill.olgangshu.getInfo(player);
if(info[1]==0) return 1;
if(info[2]<5&&player.hasCard(card=>{
return get.name(card)=='sha'&&player.hasValueTarget(card);
},'hs')&&!player.getCardUsable('sha')) return 2;
if(info[0]<5&&!game.hasPlayer(current=>{
return player.inRange(current)&&get.effect(current,{name:'sha'},player,player)>0;
})) return 0;
var rand=Math.random();
var list=[0,1,2].filter(i=>info[i]<5);
if(!list.length) return 'cancel2';
if(rand<0.2&&list.includes(0)) return 0;
if(rand<0.7&&list.includes(1)) return 1;
if(rand<1.0&&list.includes(2)) return 2;
return list.randomGet();
}());
'step 1'
if(result.control!='cancel2'){
player.logSkill('olgangshu');
player.addSkill('olgangshu_buff');
var info=lib.skill.olgangshu.getInfo(player);
info[result.index]=Math.min(5,info[result.index]+1);
game.log(player,'的',result.control.slice(0,result.control.indexOf('(')),'#y+1');
player.markSkill('olgangshu_buff');
}
},
ai:{
threaten:3.1,
},
subSkill:{
buff:{
trigger:{player:'phaseDrawBegin2'},
charlotte:true,
onremove:true,
forced:true,
filter:function(event,player){
var info=lib.skill.olgangshu.getInfo(player);
if(!info[1]) return false;
return !event.numFixed;
},
content:function(){
var info=lib.skill.olgangshu.getInfo(player);
trigger.num+=info[1];
info[1]=0;
player.markSkill('olgangshu_buff');
},
mod:{
attackRange:function(player,range){
var info=lib.skill.olgangshu.getInfo(player);
if(info) return range+info[0];
},
cardUsable:function(card,player,num){
if(card.name!='sha') return;
var info=lib.skill.olgangshu.getInfo(player);
if(info) return num+info[2];
},
},
mark:true,
intro:{
markcount:()=>0,
content:function(storage,player){
var info=lib.skill.olgangshu.getInfo(player);
var str='';
if(info[0]>0) str+='<li>攻击范围+'+info[0];
if(info[1]>0) str+='<li>下个摸牌阶段摸牌数+'+info[1];
if(info[2]>0) str+='<li>使用【杀】的次数上限+'+info[2];
return str;
},
},
},
reset:{
audio:'olgangshu',
trigger:{
global:['shaMiss','eventNeutralized'],
},
filter:function(event,player){
if(event.type!='card') return false;
var responder;
if(event.name=='sha'){
responder=event.target;
}
else{
responder=event._neutralize_event.player;
}
return player==responder;
},
forced:true,
locked:false,
content:function(){
player.removeSkill('olgangshu_buff');
game.log(player,'重置了','#g【刚述】','的数值');
},
},
},
},
oljianxuan:{
audio:2,
trigger:{
player:'damageEnd',
},
direct:true,
content:function(){
'step 0'
var info=lib.skill.olgangshu.getInfo(player);
var list=[];
list.add(player.getAttackRange());
list.add(2+info[1]);
list.add(player.getCardUsable('sha',true));
list.sort();
var str=list.join('、').replace(/(.*)、/, '$1或');
event.list=list;
player.chooseTarget(get.prompt('oljianxuan'),'令一名角色摸一张牌,然后若其手牌数为'+str+',其可以重复此流程。').set('ai',target=>{
var list=_status.event.list;
var player=_status.event.player;
var att=get.attitude(player,target);
if(att<=0) return 0;
var num=target.countCards('h')+1;
var value=1;
while(true){
if(list.includes(num)){
value++;
num++;
}
else break;
}
return value+att/10;
}).set('list',list);
'step 1'
if(result.bool){
var target=result.targets[0];
event.target=target;
player.logSkill('oljianxuan',target);
if(player!=target) player.addExpose(0.15);
}
else event.finish();
'step 2'
target.draw();
'step 3'
if(event.list.includes(target.countCards('h'))){
target.chooseBool('谏旋:是否摸一张牌?').set('ai',()=>true);
}
else event.finish();
'step 4'
if(result.bool) event.goto(2);
},
ai:{
combo:'olguangshu',
maixie:true,
},
},
//OL牵招
olweifu:{
audio:2,
@ -24598,6 +24771,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
olweifu_info:'出牌阶段,你可以弃置一张牌并判定。你本回合下次使用与结果类型相同的牌无距离限制,且可以额外指定一个目标。若你弃置的牌与判定牌类型相同,你摸一张牌。',
olkuansai:'款塞',
olkuansai_info:'当一张牌指定第一个目标后若目标数大于你的体力值你可以令其中一个目标选择一项1.交给你一张牌2.令你回复1点体力。',
caoxi:'曹羲',
olgangshu:'刚述',
olgangshu_info:'①当你使用非基本牌结算结束后,你可以令以下一项数值+1每项至多以此法+51.攻击范围2.受〖刚述〗影响的下个摸牌阶段摸牌数3.使用【杀】的次数上限。②当有牌被你抵消后,重置你〖刚述①〗增加的所有数值。',
oljianxuan:'谏旋',
oljianxuan_info:'当你受到伤害后,你可以令一名角色摸一张牌,然后若其手牌数等于你〖刚述①〗中的任意一项对应的数值,其可以重复此流程。',
sp_tianji:'天极·皇室宗亲',
sp_sibi:'四弼·辅国文曲',

BIN
image/character/caoxi.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB