'use strict';
play.weather={
arenaReady:function(){
if(_status.video) return;
_status.weatherchance=parseFloat(lib.config.weather_chance_playpackconfig)||0;
ui.weather=ui.create.system('',null,true);
lib.setPopped(ui.weather,function(){
var uiintro=ui.create.dialog('hidden');
var weatherinfo=get.translation('_weather_'+_status.weather+'_info');
var chancestr=parseInt(_status.weatherchance*100)+'%';
weatherinfo=weatherinfo.replace(/&weather&/,chancestr);
uiintro.add(get.translation('_weather_'+_status.weather));
if(weatherinfo.length<=0){
uiintro.add('
'+weatherinfo+'
');
}
else{
uiintro.add(''+weatherinfo+'
');
}
uiintro.add(ui.create.div('.placeholder.slim'));
return uiintro;
},220);
game.changeWeather();
},
skill:{
_weatherchange:{
trigger:{player:'phaseAfter'},
filter:function(){
return ui.weather?true:false;
},
priority:-1,
forced:true,
content:function(){
_status.weatherlife--;
if(_status.weatherlife<=0){
game.changeWeather();
}
}
},
_weather_yu:{
trigger:{player:'phaseAfter'},
forced:true,
filter:function(event,player){
if(_status.weather!='yu') return false;
if(Math.random()>_status.weatherchance) return false;
for(var i=0;i_status.weatherchance) return false;
for(var i=0;i_status.weatherchance) return false;
if(event.nature!='fire') return false;
return true;
},
content:function(){
trigger.num--;
player.popup('霜');
game.log('由于温度过低火焰伤害减弱');
}
},
_weather_wu:{
trigger:{target:'useCardToBefore'},
forced:true,
filter:function(event,player){
if(_status.weather!='wu') return false;
if(Math.random()>_status.weatherchance) return false;
if(event.card.name!='sha') return false;
return true;
},
content:function(){
trigger.untrigger();
trigger.finish();
player.popup('雾');
game.log('大雾使'+get.translation(player)+'躲避了杀');
}
},
_weather_bao:{
trigger:{player:'phaseEnd'},
forced:true,
popup:false,
filter:function(){
if(_status.weather!='bao') return false;
if(Math.random()>_status.weatherchance) return false;
return true;
},
content:function(){
player.damage('nosource');
player.popup('雹');
game.log(get.translation(player)+'被冰雹砸中');
}
},
_weather_feng:{
trigger:{player:'damageEnd'},
forced:true,
filter:function(event,player){
if(_status.weather!='feng') return false;
if(event.nature!='fire') return false;
if(Math.random()>_status.weatherchance) return false;
return true;
},
popup:false,
content:function(){
'step 0'
var list=[];
for(var i=0;i_status.weatherchance) return false;
if(lib.config.mode!='chess') return false;
return true;
},
content:function(){
var list=[];
if(player.movable(-1,0)) list.push('moveLeft');
if(player.movable(1,0)) list.push('moveRight');
if(player.movable(0,-1)) list.push('moveUp');
if(player.movable(0,1)) list.push('moveDown');
if(list.length){
player.popup('雪');
game.log('由于地滑,'+get.translation(player)+'发生移动');
player[list.randomGet()]();
}
}
}
},
game:{
changeWeather:function(){
var life;
if(_status.weather=='qing'||Math.random()晴
没有任何事情发生雨
在一名角色的回合结束后,若场上没有洪水,有一定机率将一张洪水置于其判定区'+
'霜
每当一名角色受到火焰伤害,有一定机率令此伤害-1'+
'雾
所有角色使用的杀有一定机率失效'+
'雹
每名角色在回合结束后有一定机率受到一点伤害'+
'雪
(战棋模式)每名角色在回合结束后有一定机率随机移动1格'+
'风
当一名角色受到火焰伤害后,有一定机率令距离其1以内的一名随机角色受到一点火焰伤害'+
'雷
在一名角色的回合结束后,若场上没有闪电,有一定机率将一张闪电置于其判定区'
}
};