'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()