'use strict';
game.import('card',function(lib,game,ui,get,ai,_status){
	return {
		name:'swd',
		card:{
			hufu:{
				fullskin:true,
				type:'basic',
				global:['g_hufu_sha','g_hufu_shan','g_hufu_jiu'],
				savable:function(card,player,dying){
					return dying==player;
				},
				ai:{
					value:[7.5,5,2],
					useful:[7.5,5,2],
				}
			},
			// yihuajiemu:{
			// 	fullskin:true,
			// 	type:'trick',
			// 	enable:true,
			// 	singleCard:true,
			// 	filterTarget:function(card,player,target){
			// 		if(target.isMin()) return false;
			// 		if(ui.selected.targets.length){
			// 			return target.getCards('e',{subtype:'equip5'}).length==0;
			// 		}
			// 		else{
			// 			return target.getCards('e',{subtype:'equip5'}).length>0;
			// 		}
			// 	},
			// 	selectTarget:2,
			// 	multitarget:true,
			// 	complexTarget:true,
			// 	multicheck:function(){
			// 		return game.hasPlayer(function(current){
			// 			return current.getEquip(5);
			// 		})&&game.hasPlayer(function(current){
			// 			return !current.getEquip(5);
			// 		});
			// 	},
			// 	content:function(){
			// 		if(target.getEquip(5)){
			// 			target.$give(target.getEquip(5),event.addedTarget);
			// 			event.addedTarget.equip(target.getEquip(5));
			// 			game.delay();
			// 		}
			// 	},
			// 	ai:{
			// 		order:1,
			// 		result:{
			// 			target:function(player,target){
			// 				if(target.getCards('e',{subtype:'equip5'}).length){
			// 					if(get.attitude(target,player)>0){
			// 						return -0.5;
			// 					}
			// 					return -1;
			// 				}
			// 				return 1;
			// 			}
			// 		},
			// 		tag:{
			// 			loseCard:1
			// 		}
			// 	}
			// },
			liuxinghuoyu:{
				fullskin:true,
				type:'trick',
				enable:true,
				filterTarget:true,
				cardcolor:'red',
				cardnature:'fire',
				content:function(){
					"step 0"
					if(target.countCards('he')<2){
						event.directfalse=true;
					}
					else{
						target.chooseToDiscard('he',2).ai=function(card){
							if(target.hasSkillTag('nofire')) return 0;
							if(get.damageEffect(target,player,target,'fire')>=0) return 0;
							if(player.hasSkillTag('notricksource')) return 0;
							if(target.hasSkillTag('notrick')) return 0;
							if(card.name=='tao') return 0;
							if(target.hp==1&&card.name=='jiu') return 0;
							if(target.hp==1&&get.type(card)!='basic'){
								return 10-get.value(card);
							}
							return 8-get.value(card);
						};
					}
					"step 1"
					if(event.directfalse||!result.bool){
						target.damage('fire');
					}
				},
				ai:{
					basic:{
						order:4,
						value:7,
						useful:2,
					},
					result:{
						target:function(player,target){
							if(target.hasSkillTag('nofire')) return 0;
							if(get.damageEffect(target,player,player)<0&&get.attitude(player,target)>0){
								return -2;
							}
							var nh=target.countCards('he');
							if(target==player) nh--;
							switch(nh){
								case 0:case 1:return -2;
								case 2:return -1.5;
								case 3:return -1;
								default:return -0.7;
							}
						}
					},
					tag:{
						damage:1,
						fireDamage:1,
						natureDamage:1,
						discard:1,
						loseCard:1,
						position:'he',
					}
				}
			},
			dujian:{
				fullskin:true,
				type:'basic',
				enable:true,
				filterTarget:function(card,player,target){
					return target.countCards('h')>0;
				},
				content:function(){
					"step 0"
					if(target.countCards('h')==0||player.countCards('h')==0){
						event.finish();
						return;
					}
					player.chooseCard(true);
					"step 1"
					event.card1=result.cards[0];
					var rand=Math.random()<0.5;
					target.chooseCard(true).ai=function(card){
						if(rand) return Math.random();
						return get.value(card);
					};
					"step 2"
					event.card2=result.cards[0];
					ui.arena.classList.add('thrownhighlight');
					game.addVideo('thrownhighlight1');
					player.$compare(event.card1,target,event.card2);
					game.delay(4);
					"step 3"
					game.log(player,'展示了',event.card1);
					game.log(target,'展示了',event.card2);
					if(get.color(event.card2)==get.color(event.card1)){
						player.discard(event.card1).animate=false;
						target.$gain2(event.card2);
						var clone=event.card1.clone;
						if(clone){
							clone.style.transition='all 0.5s';
							clone.style.transform='scale(1.2)';
							clone.delete();
							game.addVideo('deletenode',player,get.cardsInfo([clone]));
						}
						target.loseHp();
					}
					else{
						player.$gain2(event.card1);
						target.$gain2(event.card2);
						target.addTempSkill('dujian2');
					}
					ui.arena.classList.remove('thrownhighlight');
					game.addVideo('thrownhighlight2');
				},
				ai:{
					basic:{
						order:2,
						value:3,
						useful:1,
					},
					result:{
						player:function(player,target){
							if(player.countCards('h')<=Math.min(5,Math.max(2,player.hp))&&_status.event.name=='chooseToUse'){
								if(typeof _status.event.filterCard=='function'&&
									_status.event.filterCard({name:'dujian'})){
									return -10;
								}
								if(_status.event.skill){
									var viewAs=get.info(_status.event.skill).viewAs;
									if(viewAs=='dujian') return -10;
									if(viewAs&&viewAs.name=='dujian') return -10;
								}
							}
							return 0;
						},
						target:function(player,target){
							if(target.hasSkill('dujian2')||target.countCards('h')==0) return 0;
							if(player.countCards('h')<=1) return 0;
							return -1.5;
						}
					},
					tag:{
						loseHp:1
					}
				}
			},
			yangpijuan:{
				fullskin:true,
				type:'trick',
				enable:true,
				toself:true,
				filterTarget:function(card,player,target){
					return target==player;
				},
				modTarget:true,
				content:function(){
					'step 0'
					var choice;
					if(target.countCards('h','shan')==0||target.countCards('h','sha')==0||target.hp<=1){
						choice='basic';
					}
					else{
						var e2=target.getEquip(2);
						var e3=target.getEquip(3);
						if((e2&&e3)||((e2||e3)&&target.needsToDiscard()<=1)||Math.random()<0.5){
							choice='trick';
						}
						else{
							choice='equip';
						}
					}
					target.chooseControl('basic','trick','equip',function(){
						return choice;
					}).set('prompt','选择一种卡牌类型');
					'step 1'
					var list=get.inpile(result.control,'trick');
					list=list.randomGets(3);
					for(var i=0;i<list.length;i++){
						list[i]=[get.translation(result.control),'',list[i]];
					}
					var dialog=ui.create.dialog('选择一张加入你的手牌',[list,'vcard'],'hidden');
					target.chooseButton(dialog,true).ai=function(button){
						return get.value({name:button.link[2]});
					};
					'step 2'
					if(result.buttons){
						target.gain(game.createCard(result.buttons[0].link[2]),'draw');
					}
				},
				selectTarget:-1,
				ai:{
					order:7,
					value:7,
					useful:4,
					result:{
						target:1
					}
				}
			},
			shencaojie:{
				fullskin:true,
				type:'trick',
				nodelay:true,
				// chongzhu:true,
				global:'g_shencaojie',
				content:function(){
					var evt=event.getParent('g_shencaojie')._trigger;
					if(evt){
						if(evt.player==player){
							evt.num--;
						}
						else{
							evt.num++;
						}
					}
				},
				ai:{
					order:1,
					useful:5,
					value:6,
					result:{
						target:function(player,target){
							if(target==player){
								if(get.damageEffect(target,player,target)>=0) return 0;
								return 1;
							}
							else{
								if(get.attitude(player,target)>0) return 0;
								if(get.damageEffect(target,player,target)>=0) return 0;
								return -1;
							}
						}
					},
				}
			},
			yuruyi:{
				type:'equip',
				subtype:'equip5',
				skills:['yuruyi'],
				fullskin:true,
				ai:{
					basic:{
						equipValue:6
					}
				},
			},
			fengyinzhidan:{
				type:'basic',
				enable:true,
				fullskin:true,
				filterTarget:function(card,player,target){
					return target==player;
				},
				selectTarget:-1,
				modTarget:true,
				// usable:1,
				content:function(){
					'step 0'
					event.num=2;
					var list=[];
					event.list=list;
					for(var i=0;i<lib.inpile.length;i++){
						if(lib.filter.filterCard({name:lib.inpile[i]},target)){
							var info=lib.card[lib.inpile[i]];
							if(info.type=='trick'&&!info.multitarget&&!info.notarget){
								if(Array.isArray(info.selectTarget)){
									if(info.selectTarget[0]>0&&info.selectTarget[1]>=info.selectTarget[0]){
										list.push(lib.inpile[i]);
									}
								}
								else if(typeof info.selectTarget=='number'){
									list.push(lib.inpile[i]);
								}
							}
						}
					}
					'step 1'
					var list=event.list;
					while(list.length){
						var card={name:list.randomRemove()};
						var info=get.info(card);
						var targets=game.filterPlayer(function(current){
							return lib.filter.filterTarget(card,target,current);
						});
						if(targets.length){
							targets.sort(lib.sort.seat);
							if(info.selectTarget==-1){
								target.useCard(card,targets,'noai');
							}
							else{
								var num=info.selectTarget;
								if(Array.isArray(num)){
									if(targets.length<num[0]) continue;
									num=num[0]+Math.floor(Math.random()*(num[1]-num[0]+1));
								}
								else{
									if(targets.length<num) continue;
								}
								target.useCard(card,targets.randomGets(num),'noai');
							}
							if(--event.num>0){
								event.redo();
							}
							break;
						}
					}
				},
				ai:{
					order:9,
					value:8,
					useful:3,
					result:{
						target:1
					}
				}
			},
			yuchanqian:{
				fullskin:true,
				type:'jiqi',
				addinfo:'杀',
				autoViewAs:'sha',
				global:['g_yuchan_swap','g_yuchan_equip'],
				ai:{
					value:6,
					useful:[5,1]
				}
			},
			yuchankun:{
				fullskin:true,
				type:'jiqi',
				addinfo:'药',
				autoViewAs:'caoyao',
				global:['g_yuchan_swap','g_yuchan_equip'],
				ai:{
					value:6,
					useful:[7,2]
				}
			},
			yuchanzhen:{
				fullskin:true,
				type:'jiqi',
				autoViewAs:'jiu',
				addinfo:'酒',
				global:['g_yuchan_swap','g_yuchan_equip'],
				savable:function(card,player,dying){
					return dying==player;
				},
				ai:{
					value:6,
					useful:[4,1]
				}
			},
			yuchanxun:{
				fullskin:true,
				type:'jiqi',
				autoViewAs:'tao',
				addinfo:'桃',
				global:['g_yuchan_swap','g_yuchan_equip'],
				savable:true,
				ai:{
					value:6,
					useful:[8,6.5]
				}
			},
			yuchankan:{
				fullskin:true,
				type:'jiqi',
				autoViewAs:'shenmiguo',
				global:['g_yuchan_swap','g_yuchan_equip'],
				addinfo:'果',
				ai:{
					order:1,
					useful:4,
					value:6,
					result:{
						player:function(){
							var cardname=_status.event.cardname;
							if(cardname=='tiesuo') return 0;
							if(cardname=='jiu') return 0;
							if(cardname=='tianxianjiu') return 0;
							if(cardname=='toulianghuanzhu') return 0;
							if(cardname=='shijieshu') return 0;
							if(cardname=='xietianzi') return 0;
							if(cardname=='huogong') return 0;
							if(cardname=='shandianjian') return 0;
							return 1;
						}
					},
				}
			},
			yuchanli:{
				fullskin:true,
				type:'jiqi',
				autoViewAs:'tianxianjiu',
				global:['g_yuchan_swap','g_yuchan_equip'],
				addinfo:'仙',
				savable:function(card,player,dying){
					return dying==player;
				},
				ai:{
					value:6,
					useful:1
				}
			},
			yuchangen:{
				fullskin:true,
				type:'jiqi',
				addinfo:'蛋',
				autoViewAs:'fengyinzhidan',
				global:['g_yuchan_swap','g_yuchan_equip'],
				ai:{
					value:6,
					useful:1
				}
			},
			yuchandui:{
				fullskin:true,
				type:'jiqi',
				addinfo:'雪',
				autoViewAs:'xuejibingbao',
				global:['g_yuchan_swap','g_yuchan_equip'],
				ai:{
					value:6,
					useful:4
				}
			},
			mujiaren:{
				fullskin:true,
				enable:true,
				type:'jiguan',
				usable:1,
				forceUsable:true,
				wuxieable:true,
				selectTarget:-1,
				filterTarget:function(card,player,target){
					return target==player;
				},
				content:function(){
					'step 0'
					var cards=target.getCards('h',function(card){
						return get.type(card)!='basic';
					});
					if(cards.length){
						target.lose(cards)._triggered=null;
					}
					event.num=1+cards.length;
					'step 1'
					var cards=[];
					var list=get.typeCard('jiguan');
					for(var i=0;i<list.length;i++){
						if(lib.card[list[i]].derivation){
							list.splice(i--,1);
						}
					}
					if(list.length){
						for(var i=0;i<event.num;i++){
							cards.push(game.createCard(list.randomGet()));
						}
						target.directgain(cards);
					}
				},
				ai:{
					order:1,
					result:{
						target:1
					}
				}
			},
			zhiluxiaohu:{
				enable:function(card,player){
					return lib.filter.filterCard({name:'sha'},player);
				},
				fullskin:true,
				type:'jiguan',
				wuxieable:true,
				filterTarget:function(card,player,target){
					return target==player;
				},
				modTarget:true,
				selectTarget:-1,
				content:function(){
					'step 0'
					var targets=target.getEnemies();
					if(targets.length){
						var target2=targets.randomGet();
						target2.addExpose(0.2);
						target.useCard({name:'sha'},target2);
					}
					player.addSkill('zhiluxiaohu');
					'step 1'
					player.removeSkill('zhiluxiaohu');
				},
				ai:{
					value:6,
					result:{
						target:1
					},
					order:function(){
						return get.order({name:'sha'})+0.1;
					},
				}
			},
			xuejibingbao:{
				enable:true,
				fullskin:true,
				type:'basic',
				filterTarget:function(card,player,target){
					return !target.hasSkill('xuejibingbao');
				},
				content:function(){
					target.storage.xuejibingbao=2;
					target.addSkill('xuejibingbao');
				},
				ai:{
					order:2,
					value:6,
					result:{
						target:function(player,target){
							var num=1;
							if(target.hp<2) num=0.5;
							return num/Math.sqrt(Math.max(1,target.countCards('h')));
						}
					}
				}
			},
			gouhunluo:{
				enable:true,
				fullskin:true,
				type:'jiguan',
				wuxieable:true,
				filterTarget:function(card,player,target){
					return !target.hasSkill('gouhunluo');
				},
				content:function(){
					target.storage.gouhunluo=3;
					target.storage.gouhunluo2=player;
					target.addSkill('gouhunluo');
				},
				ai:{
					order:2,
					value:5,
					result:{
						target:function(player,target){
							return -1/Math.max(1,target.hp);
						}
					}
				}
			},
			zhuquezhizhang:{
				type:'jiqi',
				fullskin:true,
				global:'g_zhuquezhizhang',
				ai:{
					value:8,
					useful:6.5,
				}
			},
			xuanwuzhihuang:{
				type:'jiqi',
				fullskin:true,
				global:'g_xuanwuzhihuang',
				ai:{
					value:8,
					useful:6.5,
				}
			},
			huanglinzhicong:{
				type:'jiqi',
				fullskin:true,
				global:'g_huanglinzhicong',
				ai:{
					value:8,
					useful:6.5,
				}
			},
			cangchizhibi:{
				type:'jiqi',
				fullskin:true,
				global:'g_cangchizhibi',
				ai:{
					value:8,
					useful:6.5,
				}
			},
			qinglongzhigui:{
				type:'jiqi',
				fullskin:true,
				global:'g_qinglongzhigui',
				ai:{
					value:8,
					useful:6.5,
				}
			},
			baishouzhihu:{
				type:'jiqi',
				fullskin:true,
				global:'g_baishouzhihu',
				ai:{
					value:8,
					useful:6.5,
				}
			},
			jiguantong:{
				fullskin:true,
				type:'jiguan',
				enable:true,
				wuxieable:true,
				selectTarget:-1,
				reverseOrder:true,
				filterTarget:function(card,player,target){
					return target!=player;
				},
				content:function(){
					"step 0"
					if(target.countCards('h')){
						var next=target.chooseToDiscard('机关火筒:弃置一张手牌或受到一点火焰伤害');
						next.set('ai',function(card){
							var evt=_status.event.getParent();
							if(get.damageEffect(evt.target,evt.player,evt.target,'fire')>=0) return 0;
							return 8-get.useful(card);
						});
					}
					else{
						target.damage('fire');
						event.parent.preResult=true;
						event.finish();
					}
					"step 1"
					if(result.bool==false){
						target.damage('fire');
						event.parent.preResult=true;
					}
				},
				contentAfter:function(){
					if(!event.preResult) player.draw();
				},
				ai:{
					wuxie:function(target,card,player,viewer){
						if(get.attitude(viewer,target)>0){
							if(target.countCards('h')>0||target.hp>1) return 0;
						}
					},
					basic:{
						order:9,
						useful:1
					},
					result:{
						target:function(player,target){
							if(player.hasUnknown(2)) return 0;
							var nh=target.countCards('h');
							if(get.mode()=='identity'){
								if(target.isZhu&&nh<=1&&target.hp<=1) return -100;
							}
							if(nh==0) return -1;
							if(nh==1) return -0.7
							return -0.5;
						},
					},
					tag:{
						discard:1,
						loseCard:1,
						damage:1,
						natureDamage:1,
						fireDamage:1,
						multitarget:1,
						multineg:1,
					}
				}
			},
			donghuangzhong:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				nomod:true,
				nopower:true,
				unique:true,
				skills:['donghuangzhong'],
				ai:{
					equipValue:7
				}
			},
			xuanyuanjian:{
				fullskin:true,
				type:'equip',
				subtype:'equip1',
				nomod:true,
				nopower:true,
				unique:true,
				skills:['xuanyuanjian','xuanyuanjian2','xuanyuanjian3'],
				enable:function(card,player){
					return player.hasSkill('xuanyuan')||player.hp>2;
				},
				distance:{attackFrom:-2},
				onEquip:function(){
					if(!player.hasSkill('xuanyuan')&&player.hp<=2){
						player.discard(card);
					}
					else{
						player.changeHujia();
					}
				},
				ai:{
					equipValue:9
				}
			},
			pangufu:{
				fullskin:true,
				type:'equip',
				subtype:'equip1',
				skills:['pangufu'],
				nomod:true,
				nopower:true,
				unique:true,
				distance:{attackFrom:-3},
				ai:{
					equipValue:8
				}
			},
			lianyaohu:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				equipDelay:false,
				loseDelay:false,
				nomod:true,
				nopower:true,
				unique:true,
				onEquip:function(){
					player.markSkill('lianyaohu_skill');
				},
				onLose:function(){
					player.unmarkSkill('lianyaohu_skill');
				},
				clearLose:true,
				ai:{
					equipValue:6
				},
				skills:['lianhua','shouna','lianyaohu_skill']
			},
			haotianta:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['haotianta'],
				nomod:true,
				nopower:true,
				unique:true,
				ai:{
					equipValue:7
				}
			},
			fuxiqin:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['kongxin'],
				nomod:true,
				nopower:true,
				unique:true,
				ai:{
					equipValue:6
				}
			},
			shennongding:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['shennongding'],
				nomod:true,
				nopower:true,
				unique:true,
				ai:{
					equipValue:6
				}
			},
			kongdongyin:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['kongdongyin'],
				nomod:true,
				nopower:true,
				unique:true,
				ai:{
					equipValue:function(card,player){
						if(player.hp==2) return 7;
						if(player.hp==1) return 10;
						return 5;
					},
					basic:{
						equipValue:7
					}
				}
			},
			kunlunjingc:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['kunlunjingc'],
				nomod:true,
				nopower:true,
				unique:true,
				ai:{
					equipValue:6
				}
			},
			nvwashi:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['nvwashi'],
				nomod:true,
				nopower:true,
				unique:true,
				ai:{
					equipValue:5
				}
			},
			guisheqi:{
				fullskin:true,
				type:'trick',
				enable:true,
				filterTarget:true,
				content:function(){
					target.changeHujia();
				},
				ai:{
					basic:{
						order:5,
						useful:3,
						value:[6,2,1]
					},
					result:{
						target:function(player,target){
							return 2/Math.max(1,Math.sqrt(target.hp));
						},
					},
				}
			},
			jiguanfeng:{
				fullskin:true,
				type:'jiguan',
				enable:true,
				wuxieable:true,
				filterTarget:function(card,player,target){
					return target!=player;
				},
				content:function(){
					"step 0"
					var next=target.chooseToRespond({name:'shan'});
					next.autochoose=lib.filter.autoRespondShan;
					"step 1"
					if(result.bool==false){
						if(!target.hasSkill('fengyin')){
							target.addTempSkill('fengyin',{player:'phaseBegin'});
						}
						target.damage();
					}
					else{
						event.finish();
					}
				},
				ai:{
					basic:{
						order:9,
						useful:3,
						value:6.5,
					},
					result:{
						target:-2,
					},
					tag:{
						respond:1,
						respondShan:1,
						// damage:1,
					}
				}
			},
			jiguanyuan:{
				fullskin:true,
				type:'jiguan',
				wuxieable:true,
				enable:function(card,player){
					var hs=player.getCards('he');
					return hs.length>1||(hs.length==1&&hs[0]!=card);
				},
				filterTarget:function(card,player,target){
					return target!=player&&!target.hasSkill('jiguanyuan');
				},
				content:function(){
					'step 0'
					if(player.countCards('he')){
						player.chooseCard(true,'he').set('prompt2','你将'+
						get.translation(cards)+'和选择牌置于'+get.translation(target)+
						'的武将牌上,然后摸一张牌;'+get.translation(target)+
						'于下一结束阶段获得武将牌上的牌');
					}
					else{
						event.finish();
					}
					'step 1'
					player.$throw(result.cards);
					player.lose(result.cards,ui.special);
					ui.special.appendChild(cards[0]);
					event.togive=[cards[0],result.cards[0]];
					game.delay();
					'step 2'
					// target.gain(event.togive).delay=false;
					target.$gain2(event.togive);
					target.storage.jiguanyuan=event.togive;
					target.addSkill('jiguanyuan');
					game.log(target,'从',player,'获得了',event.togive);
					player.draw();
				},
				ai:{
					basic:{
						order:2,
						useful:2,
						value:7
					},
					result:{
						target:function(player,target){
							var players=game.filterPlayer(function(current){
								return (current!=player&&!current.isTurnedOver()&&
									get.attitude(player,current)>=3&&get.attitude(current,player)>=3)
							});
							players.sort(lib.sort.seat);
							if(target==players[0]) return 2;
							return 0.5;
						},
					},
				}
			},
			shenmiguo_old:{
				fullskin:true,
				type:'trick',
				enable:true,
				selectTarget:-1,
				filterTarget:function(card,player,target){
					return target==player;
				},
				modTarget:true,
				content:function(){
					var list=[];
					for(var i in lib.card){
						if(lib.card[i].derivation){
							list.push(i);
						}
					}
					if(get.mode()=='stone'){
						list.remove('hslingjian_jinjilengdong');
					}
					if(list.length){
						target.gain(game.createCard(list.randomGet()),'draw');
					}
				},
				ai:{
					basic:{
						order:7.3,
						useful:2,
						value:6
					},
					result:{
						target:2,
					},
				}
			},
			shenmiguo:{
				fullskin:true,
				type:'basic',
				global:'g_shenmiguo',
				content:function(){
					if(Array.isArray(player.storage.shenmiguo)){
						player.useCard(player.storage.shenmiguo[0],player.storage.shenmiguo[1]);
					}
				},
				ai:{
					order:1,
					useful:6,
					value:6,
					result:{
						player:function(){
							var cardname=_status.event.cardname;
							if(get.tag({name:cardname},'norepeat')) return 0;
							return 1;
						}
					},
				}
			},
			qinglianxindeng:{
				fullskin:true,
				type:'equip',
				subtype:'equip2',
				skills:['qinglianxindeng'],
				ai:{
					basic:{
						equipValue:8
					}
				},
			},
			lingjiandai:{
				fullskin:true,
				enable:true,
				type:'jiguan',
				wuxieable:true,
				filterTarget:function(card,player,target){
					return target==player;
				},
				selectTarget:-1,
				modTarget:true,
				content:function(){
					var list=get.typeCard('hslingjian');
					if(list.length){
						list=list.randomGets(3);
						for(var i=0;i<list.length;i++){
							list[i]=game.createCard(list[i]);
						}
						target.gain(list,'gain2');
					}
				},
				ai:{
					order:10,
					value:7,
					useful:1,
					tag:{
						draw:2
					},
					result:{
						target:function(player,target){
							if(target==player&&target.countCards('h',{type:'equip'})) return 2.5;
							return 1;
						}
					}
				}
			},
			jiguanshu:{
				fullskin:true,
				type:'jiguan',
				wuxieable:true,
				modTarget:true,
				enable:function(card,player){
					var es=player.getCards('e');
					for(var i=0;i<es.length;i++){
						if(lib.inpile.contains(es[i].name)&&
							!lib.card[es[i].name].nopower&&
							!lib.card[es[i].name].unique&&
							!es[i].nopower){
							return true;
						}
					}
					return false;
				},
				filterTarget:function(card,player,target){
					return target==player;
					// var es=target.getCards('e');
					// for(var i=0;i<es.length;i++){
					// 	if(lib.inpile.contains(es[i].name)) return true;
					// }
					// return false;
				},
				selectTarget:-1,
				content:function(){
					'step 0'
					var es=target.getCards('e');
					var list=get.typeCard('hslingjian');
					var list2=get.typeCard('jiqi');
					var list3=[];
					var list4=[];
					for(var i=0;i<list2.length;i++){
						if(list2[i].indexOf('yuchan')==0){
							list4.push(list2[i]);
						}
						else{
							list3.push(list2[i]);
						}
					}
					if(Math.random()<1/3){
						list2=list4;
					}
					else{
						list2=list3;
					}
					var cards=[];
					var time=0;
					for(var i=0;i<es.length;i++){
						if(!lib.inpile.contains(es[i].name)||lib.card[es[i].name].nopower||lib.card[es[i].name].unique||es[i].nopower){
							es.splice(i--,1);
						}
					}
					if(!es.length){
						event.finish();
						return;
					}
					if(!list.length&&!list2.length){
						event.finish();
						return;
					}
					var num=get.rand(es.length);
					var card;
					target.removeEquipTrigger();
					var delayed=0;
					for(var i=0;i<es.length;i++){
						if(i==num){
							card=game.createCard(list2.randomGet());
						}
						else{
							card=game.createCard(list.randomGet());
						}
						if(!card){
							delayed++;
							continue;
						}
						cards.push(card);
						time+=200;
						setTimeout((function(card,name,last){
							return function(){
								game.createCard(card).discard();
								card.init([card.suit,card.number,name,card.nature]);
								card.style.transform='scale(1.1)';
								card.classList.add('glow');
								if(last) game.resume();
								setTimeout(function(){
									card.style.transform='';
									card.classList.remove('glow');
								},500);
							}
						}(es[i],lib.skill.lingjianduanzao.process([card,es[i]]),i==es.length-1)),(i-delayed)*200);
					}
					target.$gain2(cards);
					game.pause();
					'step 1'
					target.addEquipTrigger();
				},
				ai:{
					value:7,
					order:7.5,
					result:{
						// target:function(player,target){
						// 	var es=target.getCards('e');
						// 	var num=0;
						// 	for(var i=0;i<es.length;i++){
						// 		if(lib.inpile.contains(es[i].name)) num++;
						// 	}
						// 	return num;
						// }
						target:1
					}
				}
			},
			jiguanyaoshu:{
				fullskin:true,
				enable:true,
				type:'jiguan',
				range:{global:1},
				wuxieable:true,
				filterTarget:function(card,player,target){
					for(var i=1;i<=5;i++){
						if(!target.getEquip(i)){
							return !target.hasSkill('jiguanyaoshu_skill')&&!target.isMin();
						}
					}
					return false;
				},
				content:function(){
					var types=[];
					for(var i=1;i<=5;i++){
						if(!target.getEquip(i)){
							types.push('equip'+i);
						}
					}
					var list=get.inpile('equip');
					for(var i=0;i<list.length;i++){
						if(!types.contains(lib.card[list[i]].subtype)){
							list.splice(i--,1);
						}
					}
					var card=game.createCard(list.randomGet());
					target.$gain2(card);
					target.equip(card);
					target.addSkill('jiguanyaoshu_skill');
					game.delay();
				},
				ai:{
					wuxie:function(){
						return 0;
					},
					order:10.1,
					value:[5,1],
					result:{
						target:function(player,target){
							return 1/(1+target.countCards('e'));
						}
					}
				}
			},
			hslingjian_xuanfengzhiren:{
				type:'hslingjian',
				fullimage:true,
				vanish:true,
				enable:true,
				derivation:true,
				derivationpack:'swd',
				filterTarget:function(card,player,target){
					return target.countCards('he')>0;
				},
				content:function(){
					target.discard(target.getCards('he').randomGet());
				},
				ai:{
					order:9,
					result:{
						target:-1,
					},
					useful:[2,0.5],
					value:[2,0.5],
				}
			},
			hslingjian_zhongxinghujia:{
				type:'hslingjian',
				fullimage:true,
				vanish:true,
				enable:true,
				derivation:true,
				derivationpack:'swd',
				filterTarget:function(card,player,target){
					return !target.isMin();
				},
				content:function(){
					'step 0'
					var list=[];
					for(var i=0;i<lib.inpile.length;i++){
						if(lib.card[lib.inpile[i]].subtype=='equip2'){
							list.push(lib.inpile[i]);
						}
					}
					if(list.length){
						var card=game.createCard(list.randomGet());
						target.$draw(card);
						game.delay();
						target.equip(card);
					}
					'step 1'
					var hs=target.getCards('h');
					if(hs.length){
						target.discard(hs.randomGet());
					}
				},
				ai:{
					order:4,
					result:{
						target:function(player,target){
							if(target.getEquip(2)){
								if(target.countCards('h')&&!target.hasSkillTag('noe')) return -0.6;
								return 0;
							}
							else{
								var hs=target.getCards('h');
								var num=0;
								if(target.hasSkillTag('noe')){
									num=1;
								}
								if(player==target){
									if(hs.length==2) return num;
									if(hs.length==1) return num+1;
									if(hs.length<=4){
										for(var i=0;i<hs.length;i++){
											if(get.value(hs[i])>6) return num;
										}
									}
									if(hs.length>4) return num+0.5;
								}
								else{
									if(hs.length){
										if(hs.length<=3) return num;
										return num+0.5;
									}
								}
								return num+1;
							}
						}
					},
					useful:[2,0.5],
					value:[2,0.5],
				}
			},
			hslingjian_xingtigaizao:{
				type:'hslingjian',
				fullimage:true,
				vanish:true,
				enable:true,
				derivation:true,
				derivationpack:'swd',
				filterTarget:function(card,player,target){
					return target==player;
				},
				selectTarget:-1,
				content:function(){
					target.draw();
					target.addSkill('hslingjian_xingtigaizao');
					if(typeof target.storage.hslingjian_xingtigaizao=='number'){
						target.storage.hslingjian_xingtigaizao++;
					}
					else{
						target.storage.hslingjian_xingtigaizao=1;
					}
				},
				ai:{
					order:9,
					result:{
						target:function(player,target){
							if(!player.needsToDiscard()) return 1;
							return 0;
						}
					},
					useful:[2,0.5],
					value:[2,0.5],
				}
			},
			hslingjian_shijianhuisu:{
				type:'hslingjian',
				fullimage:true,
				vanish:true,
				enable:true,
				derivation:true,
				derivationpack:'swd',
				filterTarget:function(card,player,target){
					return target!=player&&target.countCards('e')>0;
				},
				content:function(){
					var es=target.getCards('e');
					target.gain(es);
					target.$gain2(es);
				},
				ai:{
					order:5,
					result:{
						target:function(player,target){
							if(target.hasSkillTag('noe')||target.hasSkillTag('reverseEquip')) return target.countCards('e')*2;
							if(target.getEquip('baiyin')&&target.isDamaged()) return 2;
							if(target.getEquip('xuanyuanjian')||target.getEquip('qiankundai')) return 1;
							if(target.hasSkill('jiguanyaoshu_skill')) return 0.5;
							var num=0;
							var es=target.getCards('e');
							for(var i=0;i<es.length;i++){
								var subtype=get.subtype(es[i]);
								if(subtype=='equip1'||subtype=='equip3'){
									num++;
								}
							}
							var mn=target.getEquip('muniu');
							if(mn&&mn.cards&&mn.cards.length){
								num+=mn.cards.length;
							}
							return -num;
						}
					},
					useful:[2,0.5],
					value:[2,0.5],
					tag:{
						loseCard:1,
					}
				}
			},
			hslingjian_jinjilengdong:{
				type:'hslingjian',
				fullimage:true,
				vanish:true,
				enable:true,
				derivation:true,
				derivationpack:'swd',
				filterTarget:function(card,player,target){
					return !target.isTurnedOver()&&target!=player;
				},
				content:function(){
					'step 0'
					target.changeHujia(2);
					target.turnOver();
					'step 1'
					if(target.isTurnedOver()) target.addTempSkill('hslingjian_jinjilengdong',{player:'turnOverAfter'});
				},
				ai:{
					order:2,
					result:{
						target:function(player,target){
							var num=get.threaten(target,player);
							if(target.hasSkillTag('noturn')) return 2*num;
							if(target.hp>4) return -1.2*num;
							else if(target.hp==4) return -1*num;
							else if(target.hp==3) return -0.9*num;
							else if(target.hp==2) return -0.5*num;
							else{
								if(target.maxHp>2){
									if(target.hujia) return 0.5*num;
									return num;
								}
								return 0;
							}
						},
					},
					useful:[2,0.5],
					value:[2,0.5],
				}
			},
			hslingjian_shengxiuhaojiao:{
				type:'hslingjian',
				fullimage:true,
				vanish:true,
				enable:true,
				derivation:true,
				derivationpack:'swd',
				filterTarget:function(card,player,target){
					return !target.hasSkill('hslingjian_chaofeng');
				},
				content:function(){
					target.addTempSkill('hslingjian_chaofeng',{player:'phaseBegin'});
				},
				ai:{
					order:2,
					result:{
						target:function(player,target){
							if(get.distance(player,target,'absolute')<=1) return 0;
							if(target.countCards('h')<=target.hp) return -0.1;
							return -1;
						}
					},
					useful:[2,0.5],
					value:[2,0.5],
				}
			},
			hslingjian_yinmilichang:{
				type:'hslingjian',
				fullimage:true,
				vanish:true,
				enable:true,
				derivation:true,
				derivationpack:'swd',
				filterTarget:function(card,player,target){
					return player!=target&&!target.hasSkill('qianxing');
				},
				content:function(){
					target.tempHide();
				},
				ai:{
					order:2,
					result:{
						target:function(player,target){
							if(get.distance(player,target,'absolute')<=1) return 0;
							if(target.hp==1) return 2;
							if(target.hp==2&&target.countCards('h')<=2) return 1.2;
							return 1;
						}
					},
					useful:[2,0.5],
					value:[2,0.5],
				}
			},
			xingjunyan:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['xingjunyan'],
				ai:{
					basic:{
						equipValue:4
					},
				},
			},
			qinglonglingzhu:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['qinglonglingzhu'],
				ai:{
					basic:{
						equipValue:5
					},
				},
			},
			baihupifeng:{
				fullskin:true,
				type:"equip",
				subtype:"equip2",
				skills:['baihupifeng'],
				ai:{
					equipValue:function(card,player){
						if(player.hp<=2) return 8;
						return 6;
					},
					basic:{
						equipValue:7
					},
				},
			},
			fengxueren:{
				fullskin:true,
				type:"equip",
				subtype:"equip1",
				distance:{attackFrom:-1},
				skills:['fengxueren'],
				ai:{
					basic:{
						equipValue:5
					},
				},
			},
			chilongya:{
				fullskin:true,
				type:"equip",
				subtype:"equip1",
				distance:{attackFrom:-1},
				skills:['chilongya'],
				ai:{
					basic:{
						equipValue:4
					},
				},
			},
			daihuofenglun:{
				type:'equip',
				subtype:'equip4',
				fullskin:true,
				cardnature:'fire',
				distance:{globalFrom:-2,globalTo:-1},
				ai:{
					basic:{
						equipValue:4
					},
				},
			},
			xiayuncailing:{
				type:'equip',
				subtype:'equip3',
				fullskin:true,
				distance:{globalFrom:1,globalTo:2},
			},
			shentoumianju:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['shentou'],
				ai:{
					basic:{
						equipValue:7,
					}
				}
			},
			xianluhui:{
				fullskin:true,
				type:'trick',
				enable:true,
				selectTarget:-1,
				reverseOrder:true,
				filterTarget:function(card,player,target){
					return target.isDamaged();
				},
				content:function(){
					target.changeHujia();
				},
				ai:{
					tag:{
						multitarget:1,
					},
					basic:{
						order:7,
						useful:3,
						value:3,
					},
					result:{
						target:function(player,target){
							if(target.hp<=1) return 1.5;
							if(target.hp==2) return 1.2;
							return 1;
						},
					},
				}
			},
			xiangyuye:{
				type:'basic',
				enable:true,
				fullskin:true,
				filterTarget:function(card,player,target){
					return get.distance(player,target,'attack')>1;
				},
				content:function(){
					"step 0"
					if(!target.countCards('h',{color:'black'})){
						target.loseHp();
						event.finish();
					}
					else{
						target.chooseToDiscard({color:'black'},'弃置一张黑色手牌或受流失一点体力').ai=function(card){
							return 8-get.value(card);
						};
					}
					"step 1"
					if(!result.bool){
						target.loseHp();
					}
				},
				ai:{
					basic:{
						order:9,
						value:3,
						useful:1,
					},
					result:{
						target:-2
					},
					tag:{
						discard:1,
						loseHp:1
					}
				}
			},
			caoyao:{
				fullskin:true,
				type:'basic',
				range:{global:1},
				enable:true,
				filterTarget:function(card,player,target){
					return target.hp<target.maxHp;
				},
				content:function(){
					target.recover();
				},
				ai:{
					basic:{
						useful:[7,2],
						value:[7,2],
					},
					order:2.2,
					result:{
						target:2
					},
					tag:{
						recover:1,
					}
				}
			},
			huanpodan_old:{
				type:'basic',
				enable:function(){return game.dead.length>0},
				notarget:true,
				mode:['identity','guozhan'],
				fullskin:true,
				content:function(){
					"step 0"
					var list=[];
					for(var i=0;i<game.dead.length;i++){
						list.push(game.dead[i].name);
					}
					player.chooseButton(ui.create.dialog('选择要复活的角色',[list,'character']),function(button){
						for(var i=0;i<game.dead.length&&game.dead[i].name!=button.link;i++);
						return get.attitude(_status.event.player,game.dead[i]);
					},true);
					"step 1"
					if(result.bool){
						for(var i=0;i<game.dead.length&&game.dead[i].name!=result.buttons[0].link;i++);
						var dead=game.dead[i];
						dead.revive(1);
						game.addVideo('revive',dead);
						event.dead=dead;
					}
					else{
						event.finish();
					}
					"step 2"
					if(event.dead) event.dead.draw();
				},
				ai:{
					basic:{
						useful:[4,2],
						value:[7,2],
					},
					order:function(card,player){
						for(var i=0;i<game.dead.length;i++){
							if(get.attitude(player,game.dead[i])>3) return 7;
						}
						return -10;
					},
					result:{
						player:function(player){
							for(var i=0;i<game.dead.length;i++){
								if(get.attitude(player,game.dead[i])>3) return 2;
							}
							return -10;
						}
					},
				}
			},
			tianxianjiu:{
				fullskin:true,
				type:'basic',
				toself:true,
				enable:function(event,player){
					return !player.hasSkill('tianxianjiu');
				},
				savable:function(card,player,dying){
					return dying==player;
				},
				usable:1,
				selectTarget:-1,
				logv:false,
				modTarget:true,
				filterTarget:function(card,player,target){
					return target==player;
				},
				content:function(){
					"step 0"
					if(target.isDying()) target.recover();
					else{
						target.addTempSkill('tianxianjiu',['phaseAfter','shaAfter']);
						if(cards&&cards.length){
							card=cards[0];
						}
						if(target==targets[0]&&card.clone&&(card.clone.parentNode==player.parentNode||card.clone.parentNode==ui.arena)){
							card.clone.moveDelete(target);
							game.addVideo('gain2',target,get.cardsInfo([card]));
						}
						if(!target.node.jiu&&lib.config.jiu_effect){
							target.node.jiu=ui.create.div('.playerjiu',target.node.avatar);
							target.node.jiu2=ui.create.div('.playerjiu',target.node.avatar2);
						}
					}
				},
				ai:{
					basic:{
						useful:function(card,i){
							if(_status.event.player.hp>1){
								if(i==0) return 5;
								return 1;
							}
							if(i==0) return 7.3;
							return 3;
						},
						value:function(card,player,i){
							if(player.hp>1){
								if(i==0) return 5;
								return 1;
							}
							if(i==0) return 7.3;
							return 3;
						},
					},
					order:function(){
						return get.order({name:'sha'})+0.2;
					},
					result:{
						target:function(player,target){
							if(target&&target.isDying()) return 2;
							if(lib.config.mode=='stone'&&!player.isMin()){
								if(player.getActCount()+1>=player.actcount) return false;
							}
							var shas=player.getCards('h','sha');
							if(shas.length>1&&player.getCardUsable('sha')>1){
								return 0;
							}
							var card;
							if(shas.length){
								for(var i=0;i<shas.length;i++){
									if(lib.filter.filterCard(shas[i],target)){
										card=shas[i];break;
									}
								}
							}
							else if(player.hasSha()){
								card={name:'sha'};
							}
							if(card){
								if(game.hasPlayer(function(current){
									return (!current.hujia&&
										get.attitude(target,current)<0&&
										target.canUse(card,current,true,true)&&
										get.effect(current,card,target)>0);
								})){
									return 1;
								}
							}
							return 0;
						},
					},
				}
			},
			huanpodan:{
				fullskin:true,
				type:'basic',
				enable:true,
				logv:false,
				filterTarget:function(card,player,target){
					return !target.hasSkill('huanpodan_skill');
				},
				content:function(){
					target.addSkill('huanpodan_skill');
					if(cards&&cards.length){
						card=cards[0];
					}
					if(target==targets[0]&&card.clone&&(card.clone.parentNode==player.parentNode||card.clone.parentNode==ui.arena)){
						card.clone.moveDelete(target);
						game.addVideo('gain2',target,get.cardsInfo([card]));
					}
				},
				ai:{
					basic:{
						value:8,
						useful:4,
					},
					order:2,
					result:{
						target:function(player,target){
							return 1/Math.sqrt(1+target.hp);
						},
					},
				}
			},
			langeguaiyi:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['longfan'],
				ai:{
					basic:{
						equipValue:7,
					}
				}
			},
			guiyoujie:{
				fullskin:true,
				type:'delay',
				filterTarget:function(card,player,target){
					return (lib.filter.judge(card,player,target)&&player!=target);
				},
				judge:function(card){
					if(get.color(card)=='black') return -3;
					return 0;
				},
				effect:function(){
					if(result.bool==false){
						player.loseHp();
						player.randomDiscard();
					}
				},
				ai:{
					basic:{
						order:1,
						useful:1,
						value:6,
					},
					result:{
						target:function(player,target){
							if(target.hasSkillTag('noturn')) return 0;
							return -3;
						}
					},
				}
			},
			yufulu:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['touzhi'],
				ai:{
					basic:{
						equipValue:5
					}
				}
			},
			xixueguizhihuan:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['xixue'],
				ai:{
					basic:{
						equipValue:5
					}
				}
			},
			zhufangshenshi:{
				fullskin:true,
				type:'trick',
				enable:true,
				global:'g_zhufangshenshi',
				filterTarget:function(card,player,target){
					return target!=player;
				},
				content:function(){
					player.storage.zhufangshenshi=target;
					player.addTempSkill('zhufangshenshi');
				},
				ai:{
					tag:{
						norepeat:1
					},
					value:4,
					wuxie:function(){
						return 0;
					},
					useful:[2,1],
					basic:{
						order:7,
					},
					result:{
						player:function(player,target){
							if(get.attitude(player,target)<0){
								if(get.distance(player,target)>1) return 1;
								return 0.6;
							}
							return 0.3;
						}
					}
				},
			},
			jingleishan:{
				fullskin:true,
				type:'trick',
				enable:true,
				selectTarget:-1,
				reverseOrder:true,
				cardcolor:'black',
				cardnature:'thunder',
				filterTarget:function(card,player,target){
					return target!=player;
				},
				content:function(){
					"step 0"
					var next=target.chooseToRespond({name:'sha'});
					next.ai=function(card){
						if(get.damageEffect(target,player,target,'thunder')>=0) return 0;
						if(player.hasSkillTag('notricksource')) return 0;
						if(target.hasSkillTag('notrick')) return 0;
						return 11-get.value(card);
					};
					next.autochoose=lib.filter.autoRespondSha;
					"step 1"
					if(result.bool==false){
						target.damage('thunder');
					}
				},
				ai:{
					wuxie:function(target,card,player,viewer){
						if(get.attitude(viewer,target)>0&&target.countCards('h','sha')){
							if(!target.countCards('h')||target.hp==1||Math.random()<0.7) return 0;
						}
					},
					basic:{
						order:9,
						useful:[5,1],
						value:5
					},
					result:{
						target:function(player,target){
							if(target.hasSkillTag('nothunder')) return 0;
							if(target.hasUnknown(2)) return 0;
							var nh=target.countCards('h');
							if(lib.config.mode=='identity'){
								if(target.isZhu&&nh<=2&&target.hp<=1) return -100;
							}
							if(nh==0) return -2;
							if(nh==1) return -1.7
							return -1.5;
						},
					},
					tag:{
						respond:1,
						respondSha:1,
						damage:1,
						natureDamage:1,
						thunderDamage:1,
						multitarget:1,
						multineg:1,
					}
				}
			},
			chiyuxi:{
				fullskin:true,
				type:'trick',
				enable:true,
				selectTarget:-1,
				reverseOrder:true,
				cardcolor:'red',
				cardnature:'fire',
				filterTarget:function(card,player,target){
					return target!=player;
				},
				content:function(){
					"step 0"
					var next=target.chooseToRespond({name:'shan'});
					next.ai=function(card){
						if(get.damageEffect(target,player,target,'fire')>=0) return 0;
						if(player.hasSkillTag('notricksource')) return 0;
						if(target.hasSkillTag('notrick')) return 0;
						if(target.hasSkillTag('noShan')){
							return -1;
						}
						return 11-get.value(card);
					};
					next.autochoose=lib.filter.autoRespondShan;
					"step 1"
					if(result.bool==false){
						target.damage('fire');
					}
				},
				ai:{
					wuxie:function(target,card,player,viewer){
						if(get.attitude(viewer,target)>0&&target.countCards('h','shan')){
							if(!target.countCards('h')||target.hp==1||Math.random()<0.7) return 0;
						}
					},
					basic:{
						order:9,
						useful:1,
						value:5
					},
					result:{
						target:function(player,target){
							if(target.hasSkillTag('nofire')) return 0;
							if(player.hasUnknown(2)) return 0;
							var nh=target.countCards('h');
							if(lib.config.mode=='identity'){
								if(target.isZhu&&nh<=2&&target.hp<=1) return -100;
							}
							if(nh==0) return -2;
							if(nh==1) return -1.7
							return -1.5;
						},
					},
					tag:{
						respond:1,
						respondShan:1,
						damage:1,
						natureDamage:1,
						fireDamage:1,
						multitarget:1,
						multineg:1,
					}
				}
			},
			guangshatianyi:{
				fullskin:true,
				type:'equip',
				subtype:'equip2',
				skills:['guangshatianyi'],
				ai:{
					basic:{
						equipValue:6
					}
				}
			},
			guilingzhitao:{
				type:'equip',
				fullskin:true,
				subtype:'equip5',
				skills:['nigong'],
				ai:{
					equipValue:function(card,player){
						if(!player.storage.nigong) return 5;
						return 5+player.storage.nigong;
					},
					basic:{
						equipValue:5
					}
				},
				equipDelay:false,
				loseDelay:false,
				clearLose:true,
				onLose:function(){
					player.storage.nigong=0;
					player.unmarkSkill('nigong');
				},
				onEquip:function(){
					player.storage.nigong=0;
					player.markSkill('nigong');
				}
			},
			qipoguyu:{
				type:'equip',
				subtype:'equip5',
				skills:['xujin'],
				equipDelay:false,
				loseDelay:false,
				clearLose:true,
				onLose:function(){
					player.storage.xujin=0;
				},
				onEquip:function(){
					player.storage.xujin=0;
				}
			},
			sadengjinhuan:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['sadengjinhuan'],
				ai:{
					basic:{
						equipValue:5.5
					}
				},
			},
			sifeizhenmian:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['yiluan'],
				ai:{
					basic:{
						equipValue:6
					}
				},
			},
			shuchui:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				skills:['shuchui'],
				ai:{
					basic:{
						equipValue:5.5
					}
				},
			},
			ximohu:{
				type:'equip',
				subtype:'equip5',
				skills:['ximohu'],
				ai:{
					basic:{
						equipValue:6
					}
				},
			},
			guiyanfadao:{
				fullskin:true,
				type:'equip',
				subtype:'equip1',
				distance:{attackFrom:-1},
				ai:{
					basic:{
						equipValue:3
					}
				},
				skills:['guiyanfadao']
			},
			qiankundai:{
				fullskin:true,
				type:'equip',
				subtype:'equip5',
				onLose:function(){
					player.draw();
				},
				skills:['qiankundai'],
				ai:{
					order:9.5,
					equipValue:function(card,player){
						if(player.countCards('h','qiankundai')) return 6;
						return 1;
					},
					basic:{
						equipValue:5,
					}
				}
			},
		},
		skill:{
			qiankundai:{
				mod:{
					maxHandcard:function(player,num){
						return num+1;
					}
				},
			},
			g_hufu_sha:{
				enable:['chooseToRespond','chooseToUse'],
				filter:function(event,player){
					return player.countCards('h','hufu')>0;
				},
				filterCard:{name:'hufu'},
				viewAs:{name:'sha'},
				prompt:'将一张玉符当杀使用或打出',
				check:function(card){return 1},
				ai:{
					order:1,
					useful:7.5,
					value:7.5
				}
			},
			g_hufu_shan:{
				enable:['chooseToRespond','chooseToUse'],
				filter:function(event,player){
					return player.countCards('h','hufu')>0;
				},
				filterCard:{name:'hufu'},
				viewAs:{name:'shan'},
				prompt:'将一张玉符当闪使用或打出',
				check:function(){return 1},
				ai:{
					order:1,
					useful:7.5,
					value:7.5
				}
			},
			g_hufu_jiu:{
				enable:['chooseToRespond','chooseToUse'],
				filter:function(event,player){
					return player.countCards('h','hufu')>0;
				},
				filterCard:{name:'hufu'},
				viewAs:{name:'jiu'},
				prompt:'将一张玉符当酒使用',
				check:function(){return 1},
			},
			zhiluxiaohu:{
				trigger:{source:'damageAfter'},
				forced:true,
				popup:false,
				filter:function(event,player){
					return event.card&&event.card.name=='sha'&&event.getParent(3).name=='zhiluxiaohu';
				},
				content:function(){
					player.draw();
				}
			},
			zhufangshenshi:{
				mod:{
					targetInRange:function(card,player,target,now){
						if(player.storage.zhufangshenshi==target) return true;
					},
				},
				mark:true,
				intro:{
					content:'player'
				},
				onremove:true,
			},
			g_zhufangshenshi:{
				trigger:{player:'useCardAfter'},
				forced:true,
				popup:false,
				filter:function(event,player){
					return event.card.name=='zhufangshenshi';
				},
				content:function(){
					player.draw();
				}
			},
			huanpodan_skill:{
				mark:true,
				intro:{
					content:'防止一次死亡,改为弃置所有牌,将体力值变为1并摸一张牌'
				},
				trigger:{player:'dieBefore'},
				forced:true,
				content:function(){
					'step 0'
					trigger.cancel();
					player.discard(player.getCards('he'));
					player.removeSkill('huanpodan_skill');
					'step 1'
					player.changeHp(1-player.hp);
					'step 2'
					player.draw();
				}
			},
			dujian2:{},
			g_yuchan_swap:{
				trigger:{player:'useCardAfter'},
				silent:true,
				priority:-1,
				content:function(){
					var hs=player.getCards('h');
					var list=['yuchanqian','yuchankun','yuchanzhen','yuchanxun','yuchangen','yuchanli','yuchankan','yuchandui'];
					for(var i=0;i<hs.length;i++){
						if(hs[i].name.indexOf('yuchan')==0){
							hs[i].init([hs[i].suit,hs[i].number,list.randomGet(hs[i].name)]);
						}
					}
				}
			},
			g_yuchan_equip:{
				enable:'phaseUse',
				usable:1,
				filter:function(event,player){
					var skills=player.getSkills();
					for(var i=0;i<skills.length;i++){
						if(skills[i].indexOf('yuchan')==0&&skills[i].indexOf('_equip')!=-1){
							return player.countCards('h',{type:'basic'})>0;
						}
					}
					return false;
				},
				filterCard:{type:'basic'},
				selectCard:[1,Infinity],
				prompt:'弃置任意张基本牌并摸等量的牌',
				check:function(card){
					return 6-get.value(card)
				},
				content:function(){
					player.draw(cards.length);
				},
				ai:{
					order:1,
					result:{
						player:1
					},
				},
			},
			yuchanqian_equip1:{},
			yuchanqian_equip2:{},
			yuchanqian_equip3:{},
			yuchanqian_equip4:{},
			yuchanqian_equip5:{},
			yuchankun_equip1:{},
			yuchankun_equip2:{},
			yuchankun_equip3:{},
			yuchankun_equip4:{},
			yuchankun_equip5:{},
			yuchanzhen_equip1:{},
			yuchanzhen_equip2:{},
			yuchanzhen_equip3:{},
			yuchanzhen_equip4:{},
			yuchanzhen_equip5:{},
			yuchanxun_equip1:{},
			yuchanxun_equip2:{},
			yuchanxun_equip3:{},
			yuchanxun_equip4:{},
			yuchanxun_equip5:{},
			yuchankan_equip1:{},
			yuchankan_equip2:{},
			yuchankan_equip3:{},
			yuchankan_equip4:{},
			yuchankan_equip5:{},
			yuchanli_equip1:{},
			yuchanli_equip2:{},
			yuchanli_equip3:{},
			yuchanli_equip4:{},
			yuchanli_equip5:{},
			yuchangen_equip1:{},
			yuchangen_equip2:{},
			yuchangen_equip3:{},
			yuchangen_equip4:{},
			yuchangen_equip5:{},
			yuchandui_equip1:{},
			yuchandui_equip2:{},
			yuchandui_equip3:{},
			yuchandui_equip4:{},
			yuchandui_equip5:{},
			lianyaohu_skill:{
				mark:true,
				intro:{
					content:function(storage,player){
						var card=player.getEquip('lianyaohu');
						if(card&&card.storage.shouna&&card.storage.shouna.length){
							return '共有'+get.cnNumber(card.storage.shouna.length)+'张牌';
						}
						return '共有〇张牌';
					},
					mark:function(dialog,storage,player){
						var card=player.getEquip('lianyaohu');
						if(card&&card.storage.shouna&&card.storage.shouna.length){
							dialog.addAuto(card.storage.shouna);
						}
						else{
							return '共有〇张牌';
						}
					},
					markcount:function(storage,player){
						var card=player.getEquip('lianyaohu');
						if(card&&card.storage.shouna) return card.storage.shouna.length;
						return 0;
					}
				}
			},
			g_shencaojie:{
				trigger:{source:'damageBegin',player:'damageBegin'},
				direct:true,
				filter:function(event,player){
					if(get.type(event.card)!='trick') return false;
					if(player.hasCard('shencaojie')) return true;
					return false;
				},
				content:function(){
					player.chooseToUse(get.prompt('shencaojie',trigger.player).replace(/发动/,'使用'),function(card,player){
						if(card.name!='shencaojie') return false;
						return lib.filter.cardEnabled(card,player,'forceEnable');
					},trigger.player,-1).targetRequired=true;
				}
			},
			g_shenmiguo:{
				trigger:{player:'useCardAfter'},
				direct:true,
				filter:function(event,player){
					if(event.parent.name=='g_shenmiguo') return false;
					if(_status.currentPhase!=player) return false;
					if(event.parent.parent.name!='phaseUse') return false;
					if(!event.targets||!event.card) return false;
					if(event.card.name=='shenmiguo') return false;
					if(event.card.name=='yuchankan') return false;
					if(player.hasSkill('shenmiguo2')) return false;
					if(get.info(event.card).complexTarget) return false;
					if(!lib.filter.cardEnabled(event.card,player,event.parent)) return false;
					var type=get.type(event.card);
					if(type!='basic'&&type!='trick') return false;
					var card=game.createCard(event.card.name,event.card.suit,event.card.number,event.card.nature);
					var targets=event._targets||event.targets;
					for(var i=0;i<targets.length;i++){
						if(!targets[i].isIn()) return false;
						if(!player.canUse({name:event.card.name},targets[i],false,false)){
							return false;
						}
					}
					if(player.hasCard('shenmiguo')) return true;
					if(player.hasCard('yuchankan')) return true;
					return false;
				},
				content:function(){
					'step 0'
					var card=game.createCard(trigger.card.name,trigger.card.suit,trigger.card.number,trigger.card.nature);
					player.storage.shenmiguo=[card,(trigger._targets||trigger.targets).slice(0)];
					player.chooseToUse('是否使用神秘果?',function(card,player){
						if(card.name!='shenmiguo'&&card.name!='yuchankan') return false;
						return lib.filter.cardEnabled(card,player,'forceEnable');
					},trigger.player,-1).set('cardname',trigger.card.name).targetRequired=true;
					'step 1'
					if(result.bool){
						player.addTempSkill('shenmiguo2');
					}
					delete player.storage.shenmiguo;
				}
			},
			shenmiguo2:{},
			yuruyi:{
				trigger:{player:'drawBegin'},
				silent:true,
				filter:function(){
					return ui.cardPile.childElementCount>1;
				},
				content:function(){
					var value=get.value(ui.cardPile.firstChild);
					var num=Math.min(20,ui.cardPile.childElementCount);
					var list=[],list2=[],list3=[];
					for(var i=1;i<num;i++){
						var val=get.value(ui.cardPile.childNodes[i]);
						if(val>value){
							list.push(ui.cardPile.childNodes[i]);
							if(val>value+1&&val>=7){
								list2.push(ui.cardPile.childNodes[i]);
							}
							if(val>value+1&&val>=8){
								list3.push(ui.cardPile.childNodes[i]);
							}
						}
					}
					var card;
					if(list3.length){
						card=list3.randomGet();
					}
					else if(list2.length){
						card=list2.randomGet();
					}
					else if(list.length){
						card=list.randomGet();
					}
					if(card){
						ui.cardPile.insertBefore(card,ui.cardPile.firstChild);
					}
				}
			},
			shuchui:{
				enable:'phaseUse',
				usable:1,
				filterTarget:function(card,player,target){
					return player.canUse('sha',target);
				},
				filter:function(event,player){
					return player.countCards('h','sha')>0&&lib.filter.cardUsable({name:'sha'},player);
				},
				content:function(){
					'step 0'
					player.addSkill('shuchui2');
					player.storage.shuchui2=false;
					event.num=0;
					'step 1'
					var card=player.getCards('h','sha')[0];
					if(card){
						player.useCard(card,target);
					}
					else{
						if(player.storage.shuchui2){
							player.draw();
						}
						player.removeSkill('shuchui2');
						event.finish();
					}
					'step 2'
					if(event.num++<2&&target.isAlive()){
						event.goto(1);
					}
					else{
						if(player.storage.shuchui2){
							player.draw();
						}
						player.removeSkill('shuchui2');
					}
				},
				ai:{
					order:function(){
						return get.order({name:'sha'})+0.11;
					},
					result:{
						target:function(player,target){
							return get.effect(target,{name:'sha'},player,target);
						}
					}
				}
			},
			shuchui2:{
				trigger:{source:'damageEnd'},
				forced:true,
				popup:false,
				onremove:true,
				filter:function(event,player){
					return event.card&&event.card.name=='sha'&&!player.storage.shuchui2;
				},
				content:function(){
					player.storage.shuchui2=true;
				}
			},
			xuejibingbao:{
				trigger:{player:'phaseDrawBegin'},
				forced:true,
				mark:true,
				temp:true,
				intro:{
					content:'摸牌阶段摸牌数+1'
				},
				nopop:true,
				content:function(){
					trigger.num++;
					player.storage.xuejibingbao--;
					if(player.storage.xuejibingbao<=0){
						player.removeSkill('xuejibingbao');
						delete player.storage.xuejibingbao;
					}
					else{
						player.updateMarks();
					}
				}
			},
			gouhunluo:{
				mark:true,
				intro:{
					content:function(storage,player){
						if(storage==1){
							'在'+get.translation(player.storage.gouhunluo2)+'的下个准备阶段失去一点体力并弃置所有手牌'
						}
						return '在'+storage+'轮后'+get.translation(player.storage.gouhunluo2)+'的准备阶段失去一点体力并弃置所有手牌'
					}
				},
				nopop:true,
				temp:true,
				trigger:{global:'phaseBegin'},
				forced:true,
				popup:false,
				filter:function(event,player){
					return player.storage.gouhunluo2==event.player;
				},
				content:function(){
					'step 0'
					player.storage.gouhunluo--;
					if(player.storage.gouhunluo<=0){
						player.logSkill('gouhunluo');
						player.loseHp();
						player.removeSkill('gouhunluo');
						delete player.storage.gouhunluo;
						delete player.storage.gouhunluo2;
					}
					else{
						player.updateMarks();
						event.finish();
					}
					'step 1'
					var es=player.getCards('h');
					if(es.length){
						player.discard(es);
					}
				},
				group:'gouhunluo2'
			},
			gouhunluo2:{
				trigger:{global:'dieBegin'},
				forced:true,
				popup:false,
				filter:function(event,player){
					return player.storage.gouhunluo2==event.player;
				},
				content:function(){
					player.removeSkill('gouhunluo');
					delete player.storage.gouhunluo;
					delete player.storage.gouhunluo2;
				}
			},
			jiguanyuan:{
				mark:'card',
				intro:{
					content:'cards'
				},
				trigger:{player:'phaseEnd'},
				forced:true,
				temp:true,
				popup:false,
				content:function(){
					player.gain(player.storage.jiguanyuan,'gain2');
					player.removeSkill('jiguanyuan');
					delete player.storage.jiguanyuan;
				}
			},
			g_qinglongzhigui:{
				trigger:{player:'phaseBegin'},
				forced:true,
				filter:function(event,player){
					return player.countCards('h','qinglongzhigui')>0;
				},
				content:function(){
					'step 0'
					player.showCards(get.translation(player)+'发动了【青龙之圭】',player.getCards('h','qinglongzhigui'));
					player.draw(2);
					'step 1'
					player.chooseToDiscard('he',true);
				}
			},
			g_baishouzhihu:{
				trigger:{player:'discardEnd'},
				direct:true,
				filter:function(event,player){
					return player.countCards('h','baishouzhihu')>0;
				},
				content:function(){
					"step 0"
					player.chooseTarget([1,1],get.prompt('baishouzhihu'),function(card,player,target){
						if(player==target) return false;
						return target.countCards('he')>0;
					}).ai=function(target){
						return -get.attitude(player,target);
					};
					"step 1"
					if(result.bool){
						player.showCards(get.translation(player)+'发动了【白兽之琥】',player.getCards('h','baishouzhihu'));
						player.logSkill('_baishouzhihu',result.targets);
						result.targets[0].randomDiscard();
						// player.discardPlayerCard(result.targets[0],'he',true);
					}
					else{
						event.finish();
					}
				},
			},
			g_zhuquezhizhang:{
				trigger:{player:'damageEnd'},
				forced:true,
				filter:function(event,player){
					return event.source&&event.source!=player&&event.source.isAlive()&&player.countCards('h','zhuquezhizhang')>0;
				},
				logTarget:'source',
				check:function(event,player){
					return get.damageEffect(event.source,player,player,'fire')>0;
				},
				content:function(){
					'step 0'
					player.showCards(get.translation(player)+'发动了【朱雀之璋】',player.getCards('h','zhuquezhizhang'));
					trigger.source.damage('fire');
					'step 1'
					game.delay();
				}
			},
			g_xuanwuzhihuang:{
				trigger:{source:'damageEnd'},
				forced:true,
				filter:function(event,player){
					return player.countCards('h','xuanwuzhihuang')>0&&event.num>0&&player.hp<player.maxHp;
				},
				content:function(){
					player.showCards(get.translation(player)+'发动了【玄武之璜】',player.getCards('h','xuanwuzhihuang'));
					player.recover(trigger.num);
				}
			},
			g_huanglinzhicong:{
				trigger:{player:'phaseBegin'},
				forced:true,
				filter:function(event,player){
					return !player.hujia&&player.countCards('h','huanglinzhicong')>0;
				},
				content:function(){
					player.showCards(get.translation(player)+'发动了【黄麟之琮】',player.getCards('h','huanglinzhicong'));
					player.changeHujia();
					player.update();
				},
			},
			g_cangchizhibi:{
				trigger:{player:'phaseBegin'},
				direct:true,
				filter:function(event,player){
					return player.countCards('h','cangchizhibi')>0;
				},
				content:function(){
					'step 0'
					player.chooseTarget([1,3],get.prompt('cangchizhibi')).ai=function(target){
						var att=get.attitude(player,target);
						if(target.isLinked()){
							return att;
						}
						return -att;
					};
					'step 1'
					if(result.bool){
						player.showCards(get.translation(player)+'发动了【苍螭之璧】',player.getCards('h','cangchizhibi'));
						player.logSkill('_cangchizhibi',result.targets);
						for(var i=0;i<result.targets.length;i++){
							result.targets[i].link();
						}
					}
				}
			},
			cangchizhibi_equip1:{
				trigger:{player:'phaseEnd'},
				direct:true,
				content:function(){
					'step 0'
					player.chooseTarget(get.prompt('cangchizhibi_duanzao')).ai=function(target){
						var att=get.attitude(player,target);
						if(target.isLinked()){
							return att;
						}
						return -att;
					};
					'step 1'
					if(result.bool){
						player.logSkill('cangchizhibi_equip1',result.targets);
						result.targets[0].link();
					}
				}
			},
			cangchizhibi_equip2:{
				inherit:'cangchizhibi_equip1'
			},
			cangchizhibi_equip3:{
				inherit:'cangchizhibi_equip1'
			},
			cangchizhibi_equip4:{
				inherit:'cangchizhibi_equip1'
			},
			cangchizhibi_equip5:{
				inherit:'cangchizhibi_equip1'
			},
			huanglinzhicong_equip1:{
				trigger:{player:'phaseEnd'},
				direct:true,
				filter:function(event,player){
					return player.countCards('he',{color:'black'})>0&&player.hujia==0
				},
				content:function(){
					'step 0'
					var next=player.chooseToDiscard('he',{color:'black'},get.prompt('huanglinzhicong_duanzao'));
					next.ai=function(card){
						return 8-get.value(card);
					};
					next.logSkill='huanglinzhicong_equip1'
					'step 1'
					if(result.bool){
						player.changeHujia();
					}
				}
			},
			huanglinzhicong_equip2:{
				inherit:'huanglinzhicong_equip1'
			},
			huanglinzhicong_equip3:{
				inherit:'huanglinzhicong_equip1'
			},
			huanglinzhicong_equip4:{
				inherit:'huanglinzhicong_equip1'
			},
			huanglinzhicong_equip5:{
				inherit:'huanglinzhicong_equip1'
			},
			xuanwuzhihuang_equip1:{
				trigger:{player:'phaseEnd'},
				direct:true,
				filter:function(event,player){
					return player.countCards('he',{color:'red'})>0&&player.hp<player.maxHp;
				},
				content:function(){
					'step 0'
					var next=player.chooseToDiscard('he',{color:'red'},get.prompt('xuanwuzhihuang_duanzao'));
					next.ai=function(card){
						if(get.recoverEffect(player,player,player)<=0) return 0;
						return 8-get.value(card);
					};
					next.logSkill='xuanwuzhihuang_equip1'
					'step 1'
					if(result.bool){
						player.recover();
					}
				}
			},
			xuanwuzhihuang_equip2:{
				inherit:'xuanwuzhihuang_equip1'
			},
			xuanwuzhihuang_equip3:{
				inherit:'xuanwuzhihuang_equip1'
			},
			xuanwuzhihuang_equip4:{
				inherit:'xuanwuzhihuang_equip1'
			},
			xuanwuzhihuang_equip5:{
				inherit:'xuanwuzhihuang_equip1'
			},
			zhuquezhizhang_equip1:{
				trigger:{player:'phaseEnd'},
				direct:true,
				filter:function(event,player){
					return player.countCards('he',{color:'red'})>0;
				},
				content:function(){
					"step 0"
					player.chooseCardTarget({
						position:'he',
						filterTarget:function(card,player,target){
							return player!=target&&target.hp>=player.hp;
						},
						filterCard:function(card,player){
							return get.color(card)=='red'&&lib.filter.cardDiscardable(card,player);
						},
						ai1:function(card){
							return 9-get.value(card);
						},
						ai2:function(target){
							return get.damageEffect(target,player,player,'fire');
						},
						prompt:get.prompt('zhuquezhizhang_duanzao')
					});
					"step 1"
					if(result.bool){
						event.target=result.targets[0];
						player.logSkill('zhuquezhizhang_equip1',event.target,'fire');
						player.discard(result.cards);
					}
					else{
						event.finish();
					}
					"step 2"
					if(event.target){
						event.target.damage('fire');
					}
				},
			},
			zhuquezhizhang_equip2:{
				inherit:'zhuquezhizhang_equip1'
			},
			zhuquezhizhang_equip3:{
				inherit:'zhuquezhizhang_equip1'
			},
			zhuquezhizhang_equip4:{
				inherit:'zhuquezhizhang_equip1'
			},
			zhuquezhizhang_equip5:{
				inherit:'zhuquezhizhang_equip1'
			},
			baishouzhihu_equip1:{
				trigger:{player:'phaseEnd'},
				direct:true,
				content:function(){
					"step 0"
					player.chooseTarget([1,1],get.prompt('baishouzhihu_duanzao'),function(card,player,target){
						if(player==target) return false;
						return target.countCards('he')>0;
					}).ai=function(target){
						return -get.attitude(player,target);
					};
					"step 1"
					if(result.bool){
						player.logSkill('baishouzhihu_equip1',result.targets);
						result.targets[0].randomDiscard();
						// player.discardPlayerCard(result.targets[0],'he',true);
					}
					else{
						event.finish();
					}
				},
			},
			baishouzhihu_equip2:{
				inherit:'baishouzhihu_equip1'
			},
			baishouzhihu_equip3:{
				inherit:'baishouzhihu_equip1'
			},
			baishouzhihu_equip4:{
				inherit:'baishouzhihu_equip1'
			},
			baishouzhihu_equip5:{
				inherit:'baishouzhihu_equip1'
			},
			qinglongzhigui_equip1:{
				trigger:{player:'phaseEnd'},
				forced:true,
				content:function(){
					player.draw();
				}
			},
			qinglongzhigui_equip2:{
				inherit:'qinglongzhigui_equip1'
			},
			qinglongzhigui_equip3:{
				inherit:'qinglongzhigui_equip1'
			},
			qinglongzhigui_equip4:{
				inherit:'qinglongzhigui_equip1'
			},
			qinglongzhigui_equip5:{
				inherit:'qinglongzhigui_equip1'
			},
			kunlunjingc:{
				enable:'phaseUse',
				usable:1,
				filter:function(event,player){
					return player.countCards('h')>0;
				},
				delay:false,
				content:function(){
					'step 0'
					var cards=get.cards(3);
					event.cards=cards;
					player.chooseCardButton('选择一张牌',cards,true);
					'step 1'
					event.card=result.links[0];
					player.chooseCard('h',true,'用一张手牌替换'+get.translation(event.card));
					'step 2'
					if(result.bool){
						event.cards[event.cards.indexOf(event.card)]=result.cards[0];
						player.lose(result.cards,ui.special);
						var cardx=ui.create.card();
						cardx.classList.add('infohidden');
						cardx.classList.add('infoflip');
						player.$throw(cardx,1000,'nobroadcast');
					}
					else{
						event.finish();
					}
					'step 3'
					player.gain(event.card);
					player.$draw();
					for(var i=event.cards.length-1;i>=0;i--){
						event.cards[i].fix();
						ui.cardPile.insertBefore(event.cards[i],ui.cardPile.firstChild);
					}
					game.delay();
				},
				ai:{
					order:10,
					result:{
						player:1
					}
				}
			},
			lianhua:{
				enable:'phaseUse',
				filter:function(event,player){
					var hu=player.getEquip('lianyaohu');
					if(hu&&hu.storage.shouna&&hu.storage.shouna.length>1){
						return true;
					}
					return false;
				},
				usable:1,
				delay:false,
				content:function(){
					"step 0"
					event.hu=player.getEquip('lianyaohu');
					player.chooseCardButton('弃置两张壶中的牌,然后从牌堆中获得一张类别不同的牌',2,event.hu.storage.shouna).ai=function(){
						return 1;
					}
					"step 1"
					if(result.bool){
						var type=[];
						player.$throw(result.links);
						game.log(player,'弃置了',result.links);
						for(var i=0;i<result.links.length;i++){
							event.hu.storage.shouna.remove(result.links[i]);
							result.links[i].discard();
							type.add(get.type(result.links[i],'trick'));
						}
						for(var i=0;i<ui.cardPile.childNodes.length;i++){
							if(!type.contains(get.type(ui.cardPile.childNodes[i],'trick'))){
								player.gain(ui.cardPile.childNodes[i],'gain');
								break;
							}
						}
					}
					else{
						player.getStat('skill').lianhua--;
					}
				},
				ai:{
					order:11,
					result:{
						player:1
					}
				}
			},
			shouna:{
				enable:'phaseUse',
				filter:function(event,player){
					return player.countCards('h')>0;
				},
				usable:1,
				filterCard:true,
				check:function(card){
					return 6-get.value(card);
				},
				filterTarget:function(card,player,target){
					return target!=player&&target.countCards('h')>0;
				},
				content:function(){
					'step 0'
					var card=target.getCards('h').randomGet();
					var hu=player.getEquip('lianyaohu');
					if(card&&hu){
						if(!hu.storage.shouna){
							hu.storage.shouna=[];
						}
						target.$give(card,player);
						target.lose(card,ui.special);
						event.card=card;
						event.hu=hu;
					}
					'step 1'
					if(!event.card.destroyed){
						event.hu.storage.shouna.push(event.card);
						player.updateMarks();
					}
				},
				ai:{
					order:5,
					result:{
						target:function(player,target){
							return -1/Math.sqrt(1+target.countCards('h'));
						}
					}
				}
			},
			shouna_old:{
				trigger:{global:'discardAfter'},
				filter:function(event,player){
					if(player.hasSkill('shouna2')) return false;
					if(_status.currentPhase==event.player) return false;
					if(event.player==player) return false;
					for(var i=0;i<event.cards.length;i++){
						if(get.position(event.cards[i])=='d'){
							return true;
						}
					}
					return false;
				},
				forced:true,
				content:function(){
					var cards=trigger.cards.slice(0);
					for(var i=0;i<cards.length;i++){
						if(get.position(cards[i])!='d'){
							cards.splice(i,1);i--;
						}
					}
					var hu=player.getEquip('lianyaohu');
					if(cards.length&&hu){
						if(!hu.storage.shouna){
							hu.storage.shouna=[];
						}
						player.addTempSkill('shouna2');
						player.$gain2(cards);
						for(var i=0;i<cards.length;i++){
							hu.storage.shouna.push(cards[i]);
							ui.special.appendChild(cards[i]);
						}
						game.log(player,'将',cards,'收入炼妖壶');
					}
				},
			},
			shouna2:{},
			donghuangzhong:{
				trigger:{player:'phaseEnd'},
				direct:true,
				filter:function(event,player){
					return player.countCards('h',{color:'red'})>0;
				},
				content:function(){
					'step 0'
					player.chooseCardTarget({
						filterTarget:true,
						filterCard:function(card,player,event){
							if(get.color(card)!='red') return false;
							return lib.filter.cardDiscardable(card,player,event);
						},
						ai1:function(card){
							return 8-get.useful(card);
						},
						ai2:function(target){
							return -get.attitude(player,target);
						},
						prompt:get.prompt('donghuangzhong')
					});
					'step 1'
					if(result.bool){
						player.logSkill('donghuangzhong',result.targets);
						player.discard(result.cards);
						event.target=result.targets[0];
					}
					else{
						event.finish();
					}
					'step 2'
					var target=event.target;
					var list=[];
					for(var i=0;i<lib.inpile.length;i++){
						var info=lib.card[lib.inpile[i]];
						if(info.type=='delay'&&!info.cancel&&!target.hasJudge(lib.inpile[i])){
							list.push(lib.inpile[i]);
						}
					}
					if(list.length){
						var card=game.createCard(list.randomGet());
						target.addJudge(card);
						target.$draw(card);
						game.delay();
					}
				}
			},
			donghuangzhong_old:{
				mode:['identity','guozhan'],
				enable:'phaseUse',
				usable:1,
				filter:function(event,player){
					return event.player==game.me&&
					(game.dead.length||game.players.length+game.dead.length<8);
				},
				content:function(){
					"step 0"
					var list=[];
					for(var i=0;i<game.dead.length;i++){
						list.push(game.dead[i].name);
					}
					if(game.dead.length){
						player.chooseButton(ui.create.dialog([list,'character']),function(button){
							for(var i=0;i<game.dead.length&&game.dead[i].name!=button.link;i++);
							return -get.attitude(_status.event.player,game.dead[i]);
						},true);
						if(game.players.length+game.dead.length<8){
							event.control=ui.create.control('新角色',ui.click.cancel)
						}
					}
					"step 1"
					if(result.bool){
						for(var i=0;i<game.dead.length&&game.dead[i].name!=result.buttons[0].link;i++);
						game.removePlayer(game.dead[i]);
						player.recover();
					}
					else{
						var group=player.group;
						if(group=='unknown') group=lib.group.randomGet();
						var list=[];
						for(var i in lib.character){
							if(lib.character[i][1]==group) list.push(i);
						}
						var player2=game.addPlayer();
						if(get.config('double_character')){
							var list2=list.randomGets(2);
							player2.init(list2[0],list2[1]);
						}
						else{
							player2.init(list.randomGet())
						}
						player2.identity=player.identity;
						if(player2.identity=='zhu') player2.identity='zhong';
						player2.setIdentity();
						player2.identityShown=true;
						if(group!='unknown') player.loseHp(player2.maxHp);
					}
					if(event.control) event.control.close();
				}
			},
			xuanyuanjian:{
				trigger:{player:'changeHp'},
				forced:true,
				popup:false,
				filter:function(event,player){
					return !player.hasSkill('xuanyuan')&&player.hp<=2
				},
				content:function(){
					var e1=player.getEquip('xuanyuanjian');
					if(e1){
						player.discard(e1);
					}
				},
				ai:{
					threaten:1.5
				}
			},
			xuanyuanjian2:{
				trigger:{source:'damageBefore'},
				forced:true,
				filter:function(event){
					return event.notLink();
				},
				content:function(){
					trigger.num++;
					trigger._xuanyuanjian=true;
					if(!trigger.nature) trigger.nature='thunder';
				}
			},
			xuanyuanjian3:{
				trigger:{source:'damageAfter'},
				forced:true,
				popup:false,
				filter:function(event,player){
					return event._xuanyuanjian&&!player.hasSkill('xuanyuan');
				},
				content:function(){
					player.loseHp();
				}
			},
			pangufu:{
				trigger:{source:'damageEnd'},
				forced:true,
				priority:55,
				filter:function(event){
					if(event._notrigger.contains(event.player)) return false;
					return event.player.countCards('he')>0;
				},
				content:function(){
					trigger.player.chooseToDiscard(true,'he');
				}
			},
			shouhua:{
				mode:['identity','infinity'],
				enable:'phaseUse',
				filter:function(event,player){
					return player==game.me;
				},
				usable:1,
				filterTarget:function(card,player,target){
					return target!=game.zhu&&target!=game.me&&target.hp<target.maxHp;
				},
				filterCard:true,
				check:function(card){
					return get.value(card);
				},
				discard:false,
				prepare:'throw',
				content:function(){
					"step 0"
					target.$turn2();
					target.style.left='calc(50% - 120px)';
					target.style.top='calc(50% - 60px)';
					game.delay(0,2500);
					"step 1"
					target.removeAttribute('style');
					if(Math.random()<(get.value(cards[0])+1)*(target.maxHp-target.hp)/(60*target.maxHp)){
						event.position=target.dataset.position;
						target.dataset.position=player.dataset.position;
						target.delete();
						event.success=true;
					}
					game.delay();
					"step 2"
					if(event.success){
						player.popup('收化成功');
						game.log(player,'将',target,'收化');
						target.dataset.position=event.position;
						var card=player.getEquip('lianyaohu');
						if(!card.storage.shouhua) card.storage.shouhua=[];
						card.storage.shouhua.push(target);
						game.removePlayer(target);
						game.checkResult();
					}
					else{
						player.popup('收化失败');
						target.gain(cards);
						target.$gain2(cards);
					}
					game.delay();
				},
				ai:{
					result:{
						player:function(){
							return Math.random()-0.4;
						}
					}
				}
			},
			haotianta:{
				trigger:{global:'judgeBefore'},
				direct:true,
				content:function(){
					"step 0"
					event.cards=get.cards(2);
					player.chooseCardButton(true,event.cards,'昊天塔:选择一张牌作为'+get.translation(trigger.player)+'的'+trigger.judgestr+'判定结果').ai=function(button){
						if(get.attitude(player,trigger.player)>0){
							return 1+trigger.judge(button.link);
						}
						if(get.attitude(player,trigger.player)<0){
							return 1-trigger.judge(button.link);
						}
						return 0;
					};
					"step 1"
					if(!result.bool){
						event.finish();
						return;
					}
					player.logSkill('haotianta',trigger.player);
					var card=result.links[0];
					event.cards.remove(card);
					var judgestr=get.translation(trigger.player)+'的'+trigger.judgestr+'判定';
					event.videoId=lib.status.videoId++;
					event.dialog=ui.create.dialog(judgestr);
					event.dialog.classList.add('center');
					event.dialog.videoId=event.videoId;

					game.addVideo('judge1',player,[get.cardInfo(card),judgestr,event.videoId]);
					for(var i=0;i<event.cards.length;i++) event.cards[i].discard();
					// var node=card.copy('thrown','center',ui.arena).animate('start');
					var node;
					if(game.chess){
						node=card.copy('thrown','center',ui.arena).animate('start');
					}
					else{
						node=player.$throwordered(card.copy(),true);
					}
					node.classList.add('thrownhighlight');
					ui.arena.classList.add('thrownhighlight');
					if(card){
						trigger.cancel();
						trigger.result={
							card:card,
							judge:trigger.judge(card),
							node:node,
							number:get.number(card),
							suit:get.suit(card),
							color:get.color(card),
						};
						if(trigger.result.judge>0){
							trigger.result.bool=true;
							trigger.player.popup('洗具');
						}
						if(trigger.result.judge<0){
							trigger.result.bool=false;
							trigger.player.popup('杯具');
						}
						game.log(trigger.player,'的判定结果为',card);
						trigger.direct=true;
						trigger.position.appendChild(card);
						game.delay(2);
					}
					else{
						event.finish();
					}
					"step 2"
					ui.arena.classList.remove('thrownhighlight');
					event.dialog.close();
					game.addVideo('judge2',null,event.videoId);
					ui.clear();
					var card=trigger.result.card;
					trigger.position.appendChild(card);
					trigger.result.node.delete();
					game.delay();
				},
				ai:{
					tag:{
						rejudge:1
					}
				}
			},
			shennongding:{
				enable:'phaseUse',
				usable:1,
				filterCard:true,
				selectCard:2,
				check:function(card){
					if(get.tag(card,'recover')>=1) return 0;
					return 7-get.value(card);
				},
				filter:function(event,player){
					return player.hp<player.maxHp&&player.countCards('h')>=2;
				},
				content:function(){
					player.recover();
				},
				ai:{
					result:{
						player:function(player){
							return get.recoverEffect(player);
						}
					},
					order:2.5
				}
			},
			kongdongyin:{
				trigger:{player:'dieBefore'},
				forced:true,
				filter:function(event,player){
					return player.maxHp>0;
				},
				content:function(){
					trigger.cancel();
					player.hp=1;
					player.draw();
					player.discard(player.getCards('e',{subtype:'equip5'}));
					game.delay();
				}
			},

			nvwashi:{
				trigger:{global:'dying'},
				priority:6,
				filter:function(event,player){
					return event.player.hp<=0&&player.hp>1;
				},
				check:function(event,player){
					return get.attitude(player,event.player)>=3&&!event.player.hasSkillTag('nosave');
				},
				logTarget:'player',
				content:function(){
					"step 0"
					trigger.player.recover();
					"step 1"
					player.loseHp();
				},
				ai:{
					threaten:1.2,
					expose:0.2
				}
			},
			kongxin:{
				enable:'phaseUse',
				usable:1,
				filterTarget:function(card,player,target){
					return target!=player&&target.countCards('h');
				},
				filter:function(event,player){
					return player.countCards('h')?true:false;
				},
				content:function(){
					"step 0"
					player.chooseToCompare(target);
					"step 1"
					if(result.bool){
						event.bool=true;
						player.chooseTarget('选择一个目标视为'+get.translation(target)+'对其使用一张杀',function(card,player,target2){
							return player!=target2&&target.canUse('sha',target2);
						}).ai=function(target2){
							return get.effect(target2,{name:'sha'},target,player);
						}
					}
					else{
						target.discardPlayerCard(player);
					}
					"step 2"
					if(event.bool&&result.bool){
						target.useCard({name:'sha'},result.targets);
					}
				},
				ai:{
					order:7,
					result:{
						target:function(player,target){
							if(player.countCards('h')<=1) return 0;
							if(get.attitude(player,target)>=0) return 0;
							if(game.hasPlayer(function(current){
								return (player!=current&&target.canUse('sha',current)&&
									get.effect(current,{name:'sha'},target,player)>0)
							})){
								return -1;
							}
							return 0;
						}
					}
				}
			},
			kongxin2:{
				trigger:{player:'dying'},
				priority:10,
				forced:true,
				popup:false,
				filter:function(event,player){
					return player==game.me;
				},
				content:function(){
					player.removeSkill('kongxin2');
					game.swapPlayer(player);
					player.storage.kongxin.lockOut=false;
					player.storage.kongxin.out();
					if(player==game.me) game.swapPlayer(player.storage.kongxin);
					if(lib.config.mode=='identity') player.storage.kongxin.setIdentity();
					delete player.storage.kongxin;
				},
			},
			qinglianxindeng:{
				trigger:{player:'damageBefore'},
				forced:true,
				priority:15,
				filter:function(event,player){
					if(event.source&&event.source.hasSkillTag('unequip',false,{
						name:event.card?event.card.name:null,
						target:player,
						card:event.card
					})) return false;
					return get.type(event.card,'trick')=='trick';
				},
				content:function(){
					trigger.cancel();
				},
				ai:{
					notrick:true,
					effect:{
						target:function(card,player,target,current){
							if(player.hasSkillTag('unequip',false,{
								name:card?card.name:null,
								target:player,
								card:card
							})) return;
							if(get.type(card)=='trick'&&get.tag(card,'damage')){
								return 'zeroplayertarget';
							}
						},
					}
				}
			},
			yiluan:{
				enable:'phaseUse',
				usable:1,
				filterTarget:function(card,player,target){
					return target!=player&&target.countCards('h');
				},
				content:function(){
					'step 0'
					target.judge();
					'step 1'
					if(result.suit!='heart'){
						var hs=target.getCards('h');
						while(hs.length){
							var chosen=hs.randomRemove();
							if(target.hasUseTarget(chosen)&&!get.info(chosen).multitarget){
								var list=game.filterPlayer(function(current){
									return lib.filter.targetEnabled2(chosen,target,current);
								});
								if(list.length){
									target.useCard(chosen,list.randomGet());
									event.finish();
									break;
								}
							}
						}
					}
				},
				ai:{
					order:10,
					result:{
						target:function(player,target){
							if(!target.countCards('h')) return 0;
							return -1;
						}
					}
				}
			},
			hslingjian_xuanfengzhiren_equip1:{
				trigger:{source:'damageEnd'},
				forced:true,
				filter:function(event){
					if(event._notrigger.contains(event.player)) return false;
					return event.card&&event.card.name=='sha'&&event.player.countCards('he');
				},
				content:function(){
					trigger.player.discard(trigger.player.getCards('he').randomGet());
				}
			},
			hslingjian_xuanfengzhiren_equip2:{
				trigger:{player:'damageEnd'},
				forced:true,
				filter:function(event){
					return event.card&&event.card.name=='sha'&&event.source&&event.source.countCards('he');
				},
				content:function(){
					trigger.source.discard(trigger.source.getCards('he').randomGet());
				}
			},
			hslingjian_xuanfengzhiren_equip3:{
				trigger:{player:'loseAfter'},
				forced:true,
				filter:function(event,player){
					return _status.currentPhase!=player&&!player.hasSkill('hslingjian_xuanfengzhiren_equip3_dist');
				},
				content:function(){
					player.addTempSkill('hslingjian_xuanfengzhiren_equip3_dist');
				}
			},
			hslingjian_xuanfengzhiren_equip3_dist:{
				mod:{
					globalTo:function(from,to,distance){
						return distance+1;
					}
				}
			},
			hslingjian_xuanfengzhiren_equip4:{
				trigger:{player:'loseAfter'},
				forced:true,
				filter:function(event,player){
					return _status.currentPhase==player&&!player.hasSkill('hslingjian_xuanfengzhiren_equip4_dist');
				},
				content:function(){
					player.addTempSkill('hslingjian_xuanfengzhiren_equip4_dist');
				}
			},
			hslingjian_xuanfengzhiren_equip4_dist:{
				mod:{
					globalFrom:function(from,to,distance){
						return distance-1;
					}
				}
			},
			hslingjian_xuanfengzhiren_equip5:{
				enable:'phaseUse',
				usable:1,
				filterCard:true,
				position:'he',
				filter:function(event,player){
					return player.countCards('he')>0;
				},
				filterTarget:function(card,player,target){
					return target.countCards('he')>0;
				},
				check:function(card){
					return 5-get.value(card);
				},
				content:function(){
					target.discard(target.getCards('he').randomGet());
				},
				ai:{
					order:5,
					result:{
						target:function(player,target){
							var dh=player.countCards('he')-target.countCards('he');
							if(dh>0){
								return -Math.sqrt(dh);
							}
							return 0;
						}
					}
				}
			},
			hslingjian_zhongxinghujia_equip1:{
				trigger:{source:'damageEnd'},
				check:function(event,player){
					return !player.getEquip(2);
				},
				filter:function(event){
					return event.card&&event.card.name=='sha';
				},
				content:function(){
					var card=game.createCard(get.inpile('equip2').randomGet());
					player.equip(card);
					player.$draw(card);
					game.delay();
				}
			},
			hslingjian_zhongxinghujia_equip2:{
				trigger:{player:'damageEnd'},
				check:function(event,player){
					return get.attitude(player,event.source)<0;
				},
				filter:function(event){
					return event.card&&event.card.name=='sha'&&event.source&&event.source.getEquip(2);
				},
				content:function(){
					player.line(trigger.source,'green');
					trigger.source.discard(trigger.source.getEquip(2));
				}
			},
			hslingjian_zhongxinghujia_equip3:{
				mod:{
					globalTo:function(from,to,distance){
						if(to.getEquip(2)) return distance+1;
					}
				}
			},
			hslingjian_zhongxinghujia_equip4:{
				mod:{
					globalFrom:function(from,to,distance){
						if(from.getEquip(2)) return distance-1;
					}
				}
			},
			hslingjian_zhongxinghujia_equip5:{
				enable:'phaseUse',
				usable:1,
				filterCard:true,
				position:'he',
				filterTarget:true,
				selectCard:2,
				filter:function(event,player){
					return player.countCards('he')>=2;
				},
				check:function(card){
					return 5-get.value(card);
				},
				content:function(){
					var card=game.createCard(get.inpile('equip2').randomGet());
					target.equip(card);
					target.$draw(card);
					game.delay();
				},
				ai:{
					order:1,
					result:{
						target:function(player,target){
							if(target.getEquip(2)) return 0;
							return 1;
						}
					}
				}
			},
			hslingjian_jinjilengdong_equip1:{
				trigger:{source:'damageEnd'},
				check:function(event,player){
					if(event.player.hasSkillTag('noturn')) return 0;
					if(event.player.isTurnedOver()){
						return get.attitude(player,event.player)>0;
					}
					return get.attitude(player,event.player)<=0;
				},
				filter:function(event){
					if(event._notrigger.contains(event.player)) return false;
					return event.card&&event.card.name=='sha'&&event.player&&event.player.isAlive();
				},
				logTarget:'player',
				content:function(){
					trigger.player.draw(2);
					trigger.player.turnOver();
				}
			},
			hslingjian_jinjilengdong_equip2:{
				trigger:{player:'damageEnd'},
				check:function(event,player){
					if(event.player.hasSkillTag('noturn')) return 0;
					if(event.player.isTurnedOver()){
						return get.attitude(player,event.source)>0;
					}
					return get.attitude(player,event.source)<=0;
				},
				filter:function(event){
					return event.card&&event.card.name=='sha'&&event.source&&event.source.isAlive();
				},
				logTarget:'source',
				content:function(){
					player.line(trigger.source,'green');
					trigger.source.draw(2);
					trigger.source.turnOver();
				}
			},
			hslingjian_jinjilengdong_equip3:{
				mod:{
					globalTo:function(from,to,distance){
						if(to.isTurnedOver()) return distance+2;
					}
				}
			},
			hslingjian_jinjilengdong_equip4:{
				mod:{
					globalFrom:function(from,to,distance){
						if(from.isTurnedOver()) return distance-2;
					}
				}
			},
			hslingjian_jinjilengdong_equip5:{
				trigger:{player:'phaseAfter'},
				direct:true,
				filter:function(event,player){
					return !player.isTurnedOver();
				},
				content:function(){
					"step 0"
					player.chooseTarget(get.prompt('hslingjian_jinjilengdong_duanzao'),function(card,player,target){
						return player!=target&&!target.isTurnedOver();
					}).ai=function(target){
						if(target.hasSkillTag('noturn')) return 0;
						return Math.max(0,-get.attitude(player,target)-2);
					};
					"step 1"
					if(result.bool){
						player.logSkill('hslingjian_jinjilengdong_equip5',result.targets);
						player.turnOver();
						result.targets[0].turnOver();
						game.asyncDraw([player,result.targets[0]],2);
					}
				},
			},
			hslingjian_yinmilichang_equip1:{
				trigger:{source:'damageEnd'},
				direct:true,
				filter:function(event){
					return event.card&&event.card.name=='sha';
				},
				content:function(){
					'step 0'
					player.chooseTarget(get.prompt('hslingjian_yinmilichang_duanzao'),function(card,player,target){
						return target!=player&&!target.hasSkill('qianxing');
					}).ai=function(target){
						var att=get.attitude(player,target);
						if(get.distance(player,target,'absolute')<=1) return 0;
						if(target.hp==1) return 2*att;
						if(target.hp==2&&target.countCards('h')<=2) return 1.2*att;
						return att;
					}
					'step 1'
					if(result.bool){
						player.logSkill('hslingjian_yinmilichang_equip1',result.targets);
						result.targets[0].tempHide();
					}
				}
			},
			hslingjian_yinmilichang_equip2:{
				trigger:{player:'damageEnd'},
				forced:true,
				filter:function(event,player){
					return !player.hasSkill('qianxing');
				},
				content:function(){
					player.addTempSkill('qianxing');
				}
			},
			hslingjian_yinmilichang_equip3:{
				mod:{
					globalTo:function(from,to,distance){
						if(to.hp==1) return distance+1;
					}
				}
			},
			hslingjian_yinmilichang_equip4:{
				mod:{
					globalFrom:function(from,to,distance){
						if(from.hp==1) return distance-1;
					}
				}
			},
			hslingjian_yinmilichang_equip5:{
				mod:{
					targetEnabled:function(card,player,target,now){
						if(target.countCards('h')==0){
							if(card.name=='sha'||card.name=='juedou') return false;
						}
					}
				},
				ai:{
					noh:true,
					skillTagFilter:function(player,tag){
						if(tag=='noh'){
							if(player.countCards('h')!=1) return false;
						}
					}
				}
			},
			hslingjian_xingtigaizao_equip1:{
				trigger:{source:'damageEnd'},
				forced:true,
				filter:function(event){
					return event.card&&event.card.name=='sha';
				},
				content:function(){
					player.draw();
				}
			},
			hslingjian_xingtigaizao_equip2:{
				trigger:{player:'damageEnd'},
				forced:true,
				filter:function(event){
					return event.card&&event.card.name=='sha';
				},
				content:function(){
					player.draw();
				}
			},
			hslingjian_xingtigaizao_equip3:{
				mod:{
					globalTo:function(from,to,distance){
						return distance+1;
					},
					globalFrom:function(from,to,distance){
						return distance+1;
					}
				}
			},
			hslingjian_xingtigaizao_equip4:{
				mod:{
					globalTo:function(from,to,distance){
						return distance-1;
					},
					globalFrom:function(from,to,distance){
						return distance-1;
					}
				}
			},
			hslingjian_xingtigaizao_equip5:{
				mod:{
					maxHandcard:function(player,num){
						return num-1;
					}
				},
				trigger:{player:'phaseDrawBegin'},
				forced:true,
				content:function(){
					trigger.num++;
				}
			},
			hslingjian_shengxiuhaojiao_equip1:{
				trigger:{player:'shaBegin'},
				forced:true,
				filter:function(event,player){
					return event.target.hasSkill('hslingjian_chaofeng');
				},
				content:function(){
					trigger.directHit=true;
				}
			},
			hslingjian_shengxiuhaojiao_equip2:{
				mod:{
					targetEnabled:function(card,player,target){
						if(player.hasSkill('hslingjian_chaofeng')) return false;
					}
				}
			},
			hslingjian_shengxiuhaojiao_equip3:{
				mod:{
					globalTo:function(from,to,distance){
						if(to.hp<to.countCards('h')) return distance+1;
					}
				}
			},
			hslingjian_shengxiuhaojiao_equip4:{
				mod:{
					globalFrom:function(from,to,distance){
						if(from.hp<from.countCards('h')) return distance-1;
					}
				}
			},
			hslingjian_shengxiuhaojiao_equip5:{
				enable:'phaseUse',
				usable:1,
				filterCard:true,
				selectCard:2,
				check:function(card){
					return 5-get.value(card);
				},
				position:'he',
				filterTarget:true,
				content:function(){
					if(target.hasSkill('hslingjian_chaofeng')){
						target.removeSkill('hslingjian_chaofeng');
					}
					else{
						target.addSkill('hslingjian_chaofeng');
					}
				},
				ai:{
					order:2,
					result:{
						target:function(player,target){
							if(target.hasSkill('hslingjian_chaofeng')){
								return -Math.sqrt(target.hp+target.countCards('h'));
							}
							return 0;
						}
					}
				}
			},
			hslingjian_shijianhuisu_equip1:{
				trigger:{player:'equipEnd'},
				forced:true,
				filter:function(event,player){
					return get.subtype(event.card)=='equip2';
				},
				content:function(){
					player.draw();
				},
			},
			hslingjian_shijianhuisu_equip2:{
				trigger:{player:'equipEnd'},
				forced:true,
				filter:function(event,player){
					return get.subtype(event.card)=='equip1';
				},
				content:function(){
					player.draw();
				},
			},
			hslingjian_shijianhuisu_equip3:{
				mod:{
					globalTo:function(from,to,distance){
						if(to.countCards('e')==1) return distance+1;
					}
				}
			},
			hslingjian_shijianhuisu_equip4:{
				mod:{
					globalFrom:function(from,to,distance){
						if(from.countCards('e')==1) return distance-1;
					}
				}
			},
			hslingjian_shijianhuisu_equip5:{
				enable:'phaseUse',
				usable:1,
				filterCard:true,
				selectCard:1,
				filterTarget:function(card,player,target){
					return player!=target&&target.countCards('he')>0;
				},
				position:'he',
				content:function(){
					var es=target.getCards('e');
					target.gain(es);
					target.$gain2(es);
				},
				check:function(card){
					return 4-get.value(card);
				},
				ai:{
					order:5,
					result:{
						target:function(player,target){
							if(target.hasSkillTag('noe')) return target.countCards('e')*2;
							return -target.countCards('e');
						}
					},
				}
			},
			jiguanyaoshu_skill_old:{
				enable:'phaseUse',
				filter:function(event,player){
					return player.countCards('h',{type:['trick','delay']})>0;
				},
				filterCard:{type:['trick','delay']},
				check:function(card){
					return 5-get.value(card);
				},
				viewAs:{name:'jiguanshu'}
			},
			jiguanyaoshu_skill:{
				trigger:{player:'loseEnd'},
				forced:true,
				filter:function(event,player){
					if(_status.currentPhase==player) return false;
					for(var i=0;i<event.cards.length;i++){
						if(event.cards[i].original=='e') return true;
					}
					return false;
				},
				content:function(){
					var num=0;
					for(var i=0;i<trigger.cards.length;i++){
						if(trigger.cards[i].original=='e') num++;
					}
					var list=get.typeCard('hslingjian');
					if(get.mode()=='stone'){
						list.remove('hslingjian_jinjilengdong');
					}
					if(list.length){
						list=list.randomGets(num);
						for(var i=0;i<list.length;i++){
							list[i]=game.createCard(list[i]);
						}
						player.gain(list,'gain2');
					}
				}
			},
			lingjianduanzao:{
				process:function(cards){
					var equip;
					for(var i=0;i<cards.length;i++){
						if(get.type(cards[i])=='equip'){
							equip=cards[i];
							cards.splice(i--,1);
							break;
						}
					}
					var name=equip.name;
					var type=get.type(cards[0]);
					var equipname=equip.name;
					if(type=='hslingjian'){
						name+=cards[0].name.slice(10);
					}
					else{
						name+='_'+cards[0].name;
					}
					if(lib.card[name]) return name;
					lib.card[name]=get.copy(lib.card[equip.name]);
					lib.card[name].cardimage=lib.card[name].cardimage||equip.name;
					lib.card[name].vanish=true;
					lib.card[name].source=[equip.name,cards[0].name];
					if(type=='jiqi'){
						lib.card[name].legend=true;
					}
					else{
						lib.card[name].epic=true;
					}
					var dvalue=(type=='jiqi'?3:1);
					var getValue=function(value,dvalue){
						if(dvalue==1) return Math.min(10,value+dvalue);
						value+=dvalue;
						if(value>10) return 10+(value-10)/10;
						if(value<9) return 8+value/10;
						return value;
					};
					if(typeof lib.card[name].ai.equipValue=='number'){
						lib.card[name].ai.equipValue=getValue(lib.card[name].ai.equipValue,dvalue);
					}
					else if(typeof lib.card[name].ai.equipValue=='function'){
						lib.card[name].ai.equipValue=function(){
							return getValue(lib.card[equipname].ai.equipValue.apply(this,arguments),dvalue);
						}
					}
					else if(lib.card[name].ai.basic&&typeof lib.card[name].ai.basic.equipValue=='number'){
						lib.card[name].ai.basic.equipValue=getValue(lib.card[name].ai.basic.equipValue,dvalue);
					}
					else if(lib.card[name].ai.basic&&typeof lib.card[name].ai.basic.equipValue=='function'){
						lib.card[name].ai.basic.equipValue=function(){
							return getValue(lib.card[equipname].ai.basic.equipValue.apply(this,arguments),dvalue);
						}
					}
					else{
						if(dvalue==3){
							lib.card[name].ai.equipValue=7;
						}
						else{
							lib.card[name].ai.equipValue=dvalue;
						}
					}
					if(Array.isArray(lib.card[name].skills)){
						lib.card[name].skills=lib.card[name].skills.slice(0);
					}
					else{
						lib.card[name].skills=[];
					}
					// lib.card[name].filterTarget=function(card,player,target){
					// 	return !target.isMin();
					// };
					// lib.card[name].selectTarget=1;
					// lib.card[name].range={global:1};
					var str=lib.translate[cards[0].name+'_duanzao'];
					var str2=get.translation(equip.name,'skill');
					lib.translate[name]=str+str2;
					str2=lib.translate[equip.name+'_info']||'';
					if(str2[str2.length-1]=='.'||str2[str2.length-1]=='。'){
						str2=str2.slice(0,str2.length-1);
					}
					for(var i=0;i<cards.length;i++){
						for(var j=1;j<=5;j++){
							lib.translate[cards[i].name+'_equip'+j]=lib.translate[cards[i].name+'_duanzao'];
						}
						var name2=cards[i].name+'_'+get.subtype(equip);
						lib.card[name].skills.add(name2);
						str2+=';'+lib.translate[name2+'_info'];
					}
					lib.translate[name+'_info']=str2;
					try{
						game.addVideo('newcard',null,{
							name:name,
							translate:lib.translate[name],
							info:str2,
							card:equip.name,
							legend:type=='jiqi',
							epic:type=='hslingjian'
						});
					}
					catch(e){
						console.log(e);
					}
					return name;
				},
			},
			_lingjianduanzao:{
				enable:'phaseUse',
				position:'he',
				discard:false,
				losetrigger:false,
				longprompt:true,
				prompt:function(event){
					var lingjians=[],types=[];
					var hs=event.player.getCards('he');
					for(var i=0;i<hs.length;i++){
						switch(get.type(hs[i])){
							case 'equip':types.add(get.subtype(hs[i]));break;
							case 'hslingjian':lingjians.add(hs[i].name);break;
							case 'jiqi':if(!lingjians.contains(hs[i].name)) lingjians.unshift(hs[i].name);break;
						}
					}
					var str='';
					for(var i=0;i<lingjians.length;i++){
						var color;
						var type=get.type(lingjians[i]);
						if(type=='jiqi'){
							color='rgba(233, 131, 255,0.2);';
						}
						else{
							color='rgba(117,186,255,0.2);';
						}
						str+='<div style="text-align:left;line-height:18px;border-radius:4px;margin-top:7px;margin-bottom:10px;position:relative;width:100%">';
						str+='<div class="shadowed" style="position:absolute;left0;top:0;padding:5px;border-radius:4px;background:'+color+'">'+lib.translate[lingjians[i]]+'</div>';
						for(var j=0;j<types.length;j++){
							str+='<div class="shadowed" style="position:relative;left:85px;width:calc(100% - 95px);height:100%;padding:5px;border-radius: 4px;margin-bottom:10px">'+
							(type!='jiqi'?(lib.translate[types[j]]+':'):'')+
							lib.translate[lingjians[i]+'_'+types[j]+'_info']+'</div>';
							if(type=='jiqi') break;
						}
						str+='</div>';
					}
					return str;
				},
				check:function(card){
					if(get.type(card)=='jiqi'){
						if(_status.event.player.needsToDiscard()){
							return 0.5;
						}
						return 0;
					}
					var num=1+get.value(card);
					if(get.position(card)=='e'){
						num+=0.1;
					}
					return num;
				},
				filterCard:function(card){
					var type=get.type(card);
					if(type=='equip'){
						if(!lib.inpile.contains(card.name)) return false;
						if(lib.card[card.name].nopower) return false;
						if(lib.card[card.name].unique) return false;
						if(card.nopower) return false;
					}
					if(ui.selected.cards.length){
						var type2=get.type(ui.selected.cards[0]);
						if(type2=='equip'){
							return type=='hslingjian'||type=='jiqi';
						}
						else{
							return type=='equip';
						}
					}
					else{
						return type=='equip'||type=='hslingjian'||type=='jiqi';
					}
				},
				selectCard:2,
				complexCard:true,
				filter:function(event,player){
					if(!player.countCards('h',{type:['hslingjian','jiqi']})) return false;
					var es=player.getCards('he',{type:'equip'});
					for(var i=0;i<es.length;i++){
						if(lib.inpile.contains(es[i].name)&&
							!lib.card[es[i].name].nopower&&
							!lib.card[es[i].name].unique&&
							!es[i].nopower){
							return true;
						}
					}
					return false;
				},
				prepare:'throw',
				content:function(){
					'step 0'
					for(var i=0;i<cards.length;i++){
						cards[i].discard();
					}
					var name=lib.skill.lingjianduanzao.process(cards);
					var card=game.createCard(name);
					player.chooseTarget(function(card,player,target){
						return !target.isMin()&&get.distance(player,target)<=1;
					},'选择一个目标装备'+get.translation(card.name),true).ai=function(target){
						return get.effect(target,card,player,player);
					}
					event.card=card;
					'step 1'
					if(result.bool){
						var target=result.targets[0];
						player.line(target,'green');
						target.equip(event.card)._triggered=null;
						target.$gain2(event.card);
						game.delay();
					}
					else{
						player.gain(event.card,'gain2');
					}
				},
				ai:{
					order:1,
					result:{
						player:1,
					}
				}
			},
			hslingjian_chaofeng:{
				global:'hslingjian_chaofeng_disable',
				nopop:true,
				unique:true,
				gainable:true,
				mark:true,
				intro:{
					content:'锁定技,与你相邻的角色只能选择你为出杀目标',
				},
				subSkill:{
					disable:{
						mod:{
							targetEnabled:function(card,player,target){
								if(player.hasSkill('hslingjian_chaofeng')) return;
								if(card.name=='sha'){
									if(target.hasSkill('hslingjian_chaofeng')) return;
									if(game.hasPlayer(function(current){
										return (current.hasSkill('hslingjian_chaofeng')&&get.distance(player,current,'pure')<=1);
									})){
										return false;
									}
								}
							}
						}
					}
				}
			},
			hslingjian_xingtigaizao:{
				nopop:true,
				mod:{
					maxHandcard:function(player,num){
						if(typeof player.storage.hslingjian_xingtigaizao=='number'){
							return num-player.storage.hslingjian_xingtigaizao;
						}
					},
				},
				mark:true,
				intro:{
					content:'手牌上限-#'
				},
				trigger:{player:'phaseEnd'},
				silent:true,
				temp:true,
				vanish:true,
				content:function(){
					player.removeSkill('hslingjian_xingtigaizao');
					player.storage.hslingjian_xingtigaizao=0;
				}
			},
			hslingjian_jinjilengdong:{
				mark:true,
				nopop:true,
				temp:true,
				intro:{
					content:'不能使用卡牌,也不能成为卡牌的目标'
				},
				mod:{
					targetEnabled:function(card,player,target){
						return false;
					},
					cardEnabled:function(card,player){
						return false;
					}
				}
			},
			qinglonglingzhu:{
				trigger:{source:'damageEnd'},
				direct:true,
				filter:function(event,player){
					if(event._notrigger.contains(event.player)) return false;
					return event.nature&&event.player&&event.player.isAlive();
				},
				content:function(){
					player.gainPlayerCard(get.prompt('qinglonglingzhu',trigger.player),trigger.player,function(button){
						if(get.attitude(player,trigger.player)<=0){
							return get.buttonValue(button);
						}
						return 0;
					},'he').logSkill=['qinglonglingzhu',trigger.player];
				},
			},
			xingjunyan:{
				trigger:{source:'damageBegin',player:'damageBegin'},
				forced:true,
				filter:function(event,player){
					return event.card&&event.card.name=='sha';
				},
				content:function(){
					trigger.num++;
				},
				ai:{
					effect:{
						target:function(card,player,target){
							if(card.name=='sha'){
								return [1,-2];
							}
						}
					}
				}
			},
			baihupifeng:{
				trigger:{player:'phaseEnd'},
				frequent:true,
				filter:function(event,player){
					return player.isMinHp()&&player.isDamaged();
				},
				content:function(){
					player.recover();
				},
			},
			fengxueren:{
				trigger:{player:'shaHit'},
				check:function(event,player){
					var att=get.attitude(player,event.target);
					if(player.hasSkill('jiu')) return att>0;
					if(event.target.hp==1) return att>0;
					if(event.target.hasSkillTag('maixie')){
						return att<=0;
					}
					if(player.hasSkill('tianxianjiu')) return false;
					return att<=0;
				},
				filter:function(event,player){
					return !event.target.isTurnedOver();
				},
				logTarget:'target',
				content:function(){
					trigger.unhurt=true;
					trigger.target.turnOver();
					trigger.target.draw();
				}
			},
			chilongya:{
				trigger:{source:'damageBegin'},
				forced:true,
				filter:function(event){
					return event.nature=='fire'&&event.notLink();
				},
				content:function(){
					trigger.num++;
				}
			},
			chilongya2:{
				trigger:{source:'damageBegin'},
				filter:function(event,player){
					return (event.card&&event.card.name=='sha');
				},
				popup:false,
				forced:true,
				content:function(){
					if(Math.random()<0.5){
						trigger.num++;
						trigger.player.addSkill('chilongfengxue');
					}
				}
			},
			chilongfengxue:{
				trigger:{global:'shaAfter'},
				forced:true,
				popup:false,
				content:function(){
					player.draw();
					player.removeSkill('chilongfengxue');
				}
			},
			shentou:{
				enable:'phaseUse',
				usable:1,
				filterCard:true,
				filter:function(event,player){
					var nh=player.countCards('h');
					if(nh==0) return false;
					return game.hasPlayer(function(current){
						return current!=player&&current.countCards('h')>nh;
					});
				},
				check:function(card){
					return 8-get.value(card);
				},
				filterTarget:function(card,player,target){
					if(target.countCards('h')==0) return false;
					if(target==player) return false;
					if(target.countCards('h')<=player.countCards('h')) return false;
					return true;
				},
				content:function(){
					"step 0"
					player.judge(function(card){
						if(get.suit(card)=='club') return -1;
						return 1;
					});
					"step 1"
					if(result.bool){
						var card=target.getCards('h').randomGet();
						if(card){
							player.gain(card,target);
							target.$giveAuto(card,player);
						}
					}
				},
				ai:{
					basic:{
						order:5
					},
					result:{
						player:0.3,
						target:-1,
					}
				}
			},
			old_longfan:{
				enable:'phaseUse',
				usable:1,
				prompt:'?',
				filterTarget:true,
				content:function(){
					"step 0"
					if(event.isMine()){
						event.longfan=ui.create.control('〇','〇','〇','〇',function(){
							event.longfan.status--;
						});
						event.longfan.status=4;
						for(var i=0;i<event.longfan.childNodes.length;i++){
							event.longfan.childNodes[i].num=0;
						}
						event.timer=setInterval(function(){
							if(event.longfan.status<=0){
								clearInterval(event.timer);
								game.resume();
								event.longfan.close();
								return;
							}
							event.count(0);
							if(event.longfan.status>1) event.count(1);
							if(event.longfan.status>2) event.count(2);
							if(event.longfan.status>3) event.count(3);
						},200);
						event.count=function(num){
							event.longfan.childNodes[num].num=(event.longfan.childNodes[num].num+1)%10;
							if(event.longfan.childNodes[num].num==2) event.longfan.childNodes[num].innerHTML='二';
							else event.longfan.childNodes[num].innerHTML=get.cnNumber(event.longfan.childNodes[num].num);
						}
						game.pause();
					}
					else{
						event.finish();
						var x=Math.random();
						if(x<0.1) target.draw();
						else if(x<0.2) target.chooseToDiscard(true);
						else if(x<0.3) target.loseHp();
						else if(x<0.4) target.recover();
						else if(x<0.6){
							if(get.attitude(player,target)>0) target.draw();
							else target.chooseToDiscard(true);
						}
						else if(x<0.8){
							if(get.attitude(player,target)>0) target.recover();
							else target.loseHp();
						}
					}
					"step 1"
					var str='';
					for(var i=0;i<event.longfan.childNodes.length;i++){
						str+=event.longfan.childNodes[i].num;
					}
					target.popup(str);
					game.delay();
					switch(str){
						case '0000':target.turnOver();break;
						case '1111':target.chooseToDiscard(2,true);break;
						case '2222':target.chooseToDiscard('e',true);break;
						case '3333':target.damage();break;
						case '4444':target.loseHp();break;
						case '5555':target.link();break;
						case '6666':target.draw();break;
						case '7777':target.recover();break;
						case '8888':target.discard(target.getCards('j'));break;
						case '9999':target.draw(2);target.chooseToDiscard(2,true);break;
						default:
						for(var i=1;i<4;i++){
							if(str[i]==str[0]) return;
						}
						player.chooseToDiscard(true);return;
					}
					player.draw();
				},
				ai:{
					basic:{
						order:10
					},
					result:{
						target:function(){
							return Math.random()-0.5;
						},
					}
				}
			},
			longfan:{
				enable:'phaseUse',
				usable:1,
				content:function(){
					"step 0"
					player.judge(function(card){
						switch(get.suit(card)){
							case 'heart':return player.maxHp>player.hp?2:0;
							case 'diamond':return 1;
							case 'club':return 1;
							case 'spade':return 0;
						}
					});
					"step 1"
					switch(result.suit){
						case 'heart':player.recover();break;
						case 'diamond':player.draw();break;
						case 'club':{
							var targets=player.getEnemies();
							for(var i=0;i<targets.length;i++){
								if(!targets[i].countCards('he')){
									targets.splice(i--,1);
								}
							}
							if(targets.length){
								var target=targets.randomGet();
								player.line(target);
								target.randomDiscard();
							}
							break;
						}
					}
				},
				ai:{
					order:10,
					result:{
						player:1
					}
				}
			},
			touzhi:{
				enable:'phaseUse',
				usable:1,
				filterCard:function(card){
					return get.subtype(card)=='equip1';
				},
				filter:function(event,player){
					return player.countCards('he',{subtype:'equip1'})>0;
				},
				discard:false,
				prepare:'give',
				filterTarget:function(card,player,target){
					if(player==target) return false;
					return true;
				},
				content:function(){
					target.damage();
					target.gain(cards,player);
					// game.delay();
				},
				check:function(card){
					return 10-get.value(card);
				},
				position:'he',
				ai:{
					basic:{
						order:8
					},
					result:{
						target:-1
					}
				}
			},
			xixue:{
				trigger:{source:'damageEnd'},
				forced:true,
				filter:function(event,player){
					return event.card&&event.card.name=='sha'&&player.hp<player.maxHp;
				},
				content:function(){
					player.recover(trigger.num);
				}
			},
			guangshatianyi:{
				trigger:{player:'damageBegin'},
				forced:true,
				filter:function(event,player){
					if(event.source&&event.source.hasSkillTag('unequip',false,{
						name:event.card?event.card.name:null,
						target:player,
						card:event.card
					})) return false;
					if(Math.random()>1/3) return false;
					return true;
				},
				content:function(){
					trigger.num--;
				}
			},
			nigong:{
				trigger:{player:'damageAfter'},
				group:['nigong2','nigong3'],
				forced:true,
				content:function(){
					player.storage.nigong+=trigger.num;
					if(player.storage.nigong>4){
						player.storage.nigong=4;
					}
					player.updateMarks();
				},
				ai:{
					effect:function(card,player,target){
						if(get.tag(card,'damage')&&!target.hujia) return [1,0.5];
					}
				},
				intro:{
					content:'已积攒#点伤害'
				}
			},
			nigong2:{
				enable:'phaseUse',
				filter:function(event,player){
					return player.storage.nigong>1;
				},
				filterTarget:function(card,player,target){
					return player!=target;
				},
				prompt:function(event){
					var str='弃置所有逆攻标记,';
					if(event.player.storage.nigong%2!=0){
						str+='摸一张牌,';
					}
					str+='并对一名其他角色造成'+get.cnNumber(Math.floor(event.player.storage.nigong/2))+'点伤害';
					return str;
				},
				content:function(){
					if(player.storage.nigong%2!=0){
						player.draw();
					}
					target.damage(Math.floor(player.storage.nigong/2));
					player.storage.nigong=0;
					player.updateMarks();
				},
				ai:{
					order:10,
					result:{
						target:function(player,target){
							var num=get.damageEffect(target,player,target);
							if(player.storage.nigong>=4&&num>0){
								num=0;
							}
							return num;
						}
					}
				}
			},
			nigong3:{
				enable:'phaseUse',
				filter:function(event,player){
					return player.storage.nigong==1;
				},
				content:function(){
					player.draw();
					player.storage.nigong=0;
					player.updateMarks();
				},
				ai:{
					order:10,
					result:{
						player:1
					}
				}
			},
			sadengjinhuan:{
				trigger:{player:'shaMiss'},
				check:function(event,player){
					return get.attitude(player,event.target)<0;
				},
				content:function(){
					"step 0"
					player.judge(function(card){
						return get.color(card)=='red'?1:0;
					})
					"step 1"
					if(result.bool){
						trigger.target.chooseToRespond({name:'shan'},'萨登荆环:请额外打出一张闪响应杀').autochoose=lib.filter.autoRespondShan;
					}
					else{
						event.finish();
					}
					"step 2"
					if(!result.bool){
						trigger.untrigger();
						trigger.trigger('shaHit');
						trigger._result.bool=false;
					}
				}
			},
			ximohu:{
				trigger:{player:'damageBefore'},
				forced:true,
				filter:function(event){
					return event.nature=='thunder';
				},
				content:function(){
					trigger.cancel();
					player.recover(trigger.num);
				},
				ai:{
					effect:function(card){
						if(get.tag(card,'thunderDamage')) return [0,2];
					}
				}
			},
			guiyanfadao:{
				trigger:{player:'shaHit'},
				check:function(event,player){
					var att=get.attitude(player,event.target);
					if(player.hasSkill('jiu')) return att>0;
					if(event.target.hasSkillTag('maixie_hp')||event.target.hasSkillTag('maixie_defend')){
						return att<=0;
					}
					if(player.hasSkill('tianxianjiu')) return false;
					if(event.target.hujia>0) return att<0;
					if(event.target.hp==1) return att>0;
					return false;
				},
				content:function(){
					trigger.unhurt=true;
					trigger.target.loseHp();
				}
			},
			guiyanfadao2:{
				trigger:{player:'useCardAfter'},
				forced:true,
				popup:false,
				content:function(){
					delete player.storage.zhuque_skill.nature;
				}
			},
			tianxianjiu:{
				trigger:{source:'damageEnd'},
				filter:function(event){
					return (event.card&&(event.card.name=='sha'));
				},
				forced:true,
				temp:true,
				vanish:true,
				onremove:function(player){
					if(player.node.jiu){
						player.node.jiu.delete();
						player.node.jiu2.delete();
						delete player.node.jiu;
						delete player.node.jiu2;
					}
				},
				content:function(){
					player.draw(2);
					player.removeSkill('tianxianjiu');
				},
				ai:{
					damageBonus:true
				}
			},
		},
		cardType:{
			hslingjian:0.5,
			jiqi:0.4,
			jiguan:0.45
		},
		help:{
			'轩辕剑':'<ul><li>零件、祭器牌可用于煅造装备,煅造得到强化装备,并装备给距离1以内的角色<li>'+
			'煅造装备时失去牌以及装备牌的过程不触发任何技能(如枭姬、祈禳) <li>'+
			'进行洗牌时强化装备将从弃牌堆中消失,不进入牌堆<li>'+
			'专属、特殊装备无法被强化'
		},
		translate:{
			qiankundai:'乾坤袋',
			qiankundai_info:'你的手牌上限+1。当你失去该装备时,你摸一张牌。',
			hufu:'玉符',
			hufu_bg:'符',
			g_hufu_sha:'符杀',
			g_hufu_shan:'符闪',
			g_hufu_jiu:'符酒',
			hufu_info:'你可以将一张玉符当作杀、闪或酒使用或打出',
			// yihuajiemu:'移花接木',
			// yihuajiemu_info:'对一名装备区内有宝物的角色使用,将其宝物牌转移至另一名角色',
			liuxinghuoyu:'流星火羽',
			liuxinghuoyu_info:'出牌阶段,对一名角色使用,令目标弃置2张牌,或受到一点火焰伤害',
			g_yuchan_equip:'玉蝉',
			yuchanqian_duanzao:'玉蝉',
			yuchanqian_equip1_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanqian_equip2_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanqian_equip3_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanqian_equip4_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanqian_equip5_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchankun_duanzao:'玉蝉',
			yuchankun_equip1_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchankun_equip2_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchankun_equip3_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchankun_equip4_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchankun_equip5_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanzhen_duanzao:'玉蝉',
			yuchanzhen_equip1_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanzhen_equip2_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanzhen_equip3_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanzhen_equip4_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanzhen_equip5_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanxun_duanzao:'玉蝉',
			yuchanxun_equip1_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanxun_equip2_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanxun_equip3_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanxun_equip4_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanxun_equip5_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchankan_duanzao:'玉蝉',
			yuchankan_equip1_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchankan_equip2_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchankan_equip3_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchankan_equip4_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchankan_equip5_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanli_duanzao:'玉蝉',
			yuchanli_equip1_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanli_equip2_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanli_equip3_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanli_equip4_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanli_equip5_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchangen_duanzao:'玉蝉',
			yuchangen_equip1_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchangen_equip2_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchangen_equip3_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchangen_equip4_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchangen_equip5_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchandui_duanzao:'玉蝉',
			yuchandui_equip1_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchandui_equip2_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchandui_equip3_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchandui_equip4_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchandui_equip5_info:'出牌阶段限一次,你可以弃置任意张基本牌并摸等量的牌',
			yuchanqian:'乾玉蝉',
			yuchanqian_info:'在你行动时可当作杀使用;可用于煅造装备;在你使用一张牌后,此牌会随机切换形态',
			yuchankun:'坤玉蝉',
			yuchankun_info:'在你行动时可当作草药使用;可用于煅造装备;在你使用一张牌后,此牌会随机切换形态',
			yuchanzhen:'震玉蝉',
			yuchanzhen_info:'在你行动时可当作酒使用;可用于煅造装备;在你使用一张牌后,此牌会随机切换形态',
			yuchanxun:'巽玉蝉',
			yuchanxun_info:'在你行动时可当作桃使用;可用于煅造装备;在你使用一张牌后,此牌会随机切换形态',
			yuchankan:'坎玉蝉',
			yuchankan_info:'在你行动时可当作神秘果使用;可用于煅造装备;在你使用一张牌后,此牌会随机切换形态',
			yuchanli:'离玉蝉',
			yuchanli_info:'在你行动时可当作天仙酒使用;可用于煅造装备;在你使用一张牌后,此牌会随机切换形态',
			yuchangen:'艮玉蝉',
			yuchangen_info:'在你行动时可当作封印之蛋使用;可用于煅造装备;在你使用一张牌后,此牌会随机切换形态',
			yuchandui:'兑玉蝉',
			yuchandui_info:'在你行动时可当作雪肌冰鲍使用;可用于煅造装备;在你使用一张牌后,此牌会随机切换形态',
			yangpijuan:'羊皮卷',
			yangpijuan_info:'出牌阶段对自己使用,选择一种卡牌类别,发现一张该类别的卡牌',
			// pantao:'蟠桃',
			// pantao_info:'出牌阶段对自己使用,或对濒死角色使用,目标回复两点体力并获得一点护甲',
			shencaojie:'神草结',
			shencaojie_info:'你的锦囊牌即将造成伤害时对目标使用,令此伤害+1;你即将受到锦囊牌伤害时对自己使用,令此伤害-1',
			yuruyi:'玉如意',
			yuruyi_ab:'如意',
			yuruyi_info:'你有更高的机率摸到好牌',
			fengyinzhidan:'封印之蛋',
			fengyinzhidan_info:'随机使用两张普通锦囊牌(随机指定目标)',
			shuchui:'鼠槌',
			shuchui_info:'出牌阶段限一次,你可以指定一名攻击范围内的角色,依次将手牌中的至多3张杀对该角色使用,若杀造成了伤害,你摸一张牌',
			zhiluxiaohu:'指路小狐',
			zhiluxiaohu_info:'出牌阶段对自己使用,视为对一名随机敌方角色使用一张杀,若此杀造成伤害,你摸一张牌',
			xuejibingbao:'雪肌冰鲍',
			xuejibingbao_info:'出牌阶段对一名角色使用,该角色摸牌阶段摸牌数+1,持续2个回合',
			gouhunluo:'勾魂锣',
			gouhunluo_info:'出牌阶段对一名角色使用,在3轮后你的准备阶段令该角色失去1点体力并弃置所有手牌',
			jiguan:'机关',
			jiqi:'祭器',
			qinglongzhigui:'青龙之圭',
			g_qinglongzhigui:'青龙之圭',
			qinglongzhigui_info:'可用于煅造装备;此牌在你手牌中时,准备阶段,你摸两张牌然后弃置一张牌',
			qinglongzhigui_duanzao:'云屏',
			qinglongzhigui_equip1_info:'结束阶段,你摸一张牌',
			qinglongzhigui_equip2_info:'结束阶段,你摸一张牌',
			qinglongzhigui_equip3_info:'结束阶段,你摸一张牌',
			qinglongzhigui_equip4_info:'结束阶段,你摸一张牌',
			qinglongzhigui_equip5_info:'结束阶段,你摸一张牌',
			baishouzhihu:'白兽之琥',
			g_baishouzhihu:'白兽之琥',
			baishouzhihu_info:'可用于煅造装备;此牌在你手牌中时,每当你弃置卡牌,你可以弃置一名其他角色的一张随机牌',
			baishouzhihu_duanzao:'风牙',
			baishouzhihu_equip1_info:'结束阶段,你可以弃置一名其他角色的一张随机牌',
			baishouzhihu_equip2_info:'结束阶段,你可以弃置一名其他角色的一张随机牌',
			baishouzhihu_equip3_info:'结束阶段,你可以弃置一名其他角色的一张随机牌',
			baishouzhihu_equip4_info:'结束阶段,你可以弃置一名其他角色的一张随机牌',
			baishouzhihu_equip5_info:'结束阶段,你可以弃置一名其他角色的一张随机牌',
			zhuquezhizhang:'朱雀之璋',
			g_zhuquezhizhang:'朱雀之璋',
			zhuquezhizhang_info:'可用于煅造装备;此牌在你手牌中时,每当你受到其他角色造成的伤害,你对伤害来源造成一点火属性伤害',
			zhuquezhizhang_duanzao:'炽翎',
			zhuquezhizhang_equip1_info:'结束阶段,你可以弃置一张红色牌并对一名体力值不小于你的角色造成一点火属性伤害',
			zhuquezhizhang_equip2_info:'结束阶段,你可以弃置一张红色牌并对一名体力值不小于你的角色造成一点火属性伤害',
			zhuquezhizhang_equip3_info:'结束阶段,你可以弃置一张红色牌并对一名体力值不小于你的角色造成一点火属性伤害',
			zhuquezhizhang_equip4_info:'结束阶段,你可以弃置一张红色牌并对一名体力值不小于你的角色造成一点火属性伤害',
			zhuquezhizhang_equip5_info:'结束阶段,你可以弃置一张红色牌并对一名体力值不小于你的角色造成一点火属性伤害',
			xuanwuzhihuang:'玄武之璜',
			g_xuanwuzhihuang:'玄武之璜',
			xuanwuzhihuang_duanzao:'寒晶',
			xuanwuzhihuang_info:'可用于煅造装备;此牌在你手牌中时,每当你造成伤害,你回复等量的体力',
			xuanwuzhihuang_equip1_info:'结束阶段,你可以弃置一张红色牌并回复一点体力',
			xuanwuzhihuang_equip2_info:'结束阶段,你可以弃置一张红色牌并回复一点体力',
			xuanwuzhihuang_equip3_info:'结束阶段,你可以弃置一张红色牌并回复一点体力',
			xuanwuzhihuang_equip4_info:'结束阶段,你可以弃置一张红色牌并回复一点体力',
			xuanwuzhihuang_equip5_info:'结束阶段,你可以弃置一张红色牌并回复一点体力',
			huanglinzhicong:'黄麟之琮',
			g_huanglinzhicong:'黄麟之琮',
			huanglinzhicong_duanzao:'玄甲',
			huanglinzhicong_info:'可用于煅造装备;此牌在你手牌中时,准备阶段,若你没有护甲,你获得一点护甲',
			huanglinzhicong_equip1_info:'结束阶段,若你没有护甲,你可以弃置一张黑色牌并获得一点护甲',
			huanglinzhicong_equip2_info:'结束阶段,若你没有护甲,你可以弃置一张黑色牌并获得一点护甲',
			huanglinzhicong_equip3_info:'结束阶段,若你没有护甲,你可以弃置一张黑色牌并获得一点护甲',
			huanglinzhicong_equip4_info:'结束阶段,若你没有护甲,你可以弃置一张黑色牌并获得一点护甲',
			huanglinzhicong_equip5_info:'结束阶段,若你没有护甲,你可以弃置一张黑色牌并获得一点护甲',
			cangchizhibi:'苍螭之璧',
			g_cangchizhibi:'苍螭之璧',
			cangchizhibi_duanzao:'灵枢',
			cangchizhibi_info:'可用于煅造装备;此牌在你手牌中时,准备阶段,你可以选择至多3名角色横置或重置之',
			cangchizhibi_equip1_info:'结束阶段,你可以横置或重置一名角色',
			cangchizhibi_equip2_info:'结束阶段,你可以横置或重置一名角色',
			cangchizhibi_equip3_info:'结束阶段,你可以横置或重置一名角色',
			cangchizhibi_equip4_info:'结束阶段,你可以横置或重置一名角色',
			cangchizhibi_equip5_info:'结束阶段,你可以横置或重置一名角色',

			guisheqi:'龟蛇旗',
			guisheqi_info:'出牌阶段对一名角色使用,目标获得一点护甲',
			jiguanfeng:'机关蜂',
			jiguanfeng_info:'出牌阶段对一名其他角色使用,目标需打出一张闪,否则非锁定技失效直到下一回合开始,并受到一点伤害',
			jiguanyuan:'机关鸢',
			jiguanyuan_info:'出牌阶段对一名其他角色使用,你将此牌和一张其它牌置于一名其他角色的武将牌上,然后摸一张牌;该角色于下一结束阶段获得武将牌上的牌',
			jiguantong:'机关火筒',
			jiguantong_ab:'火筒',
			jiguantong_info:'出牌阶段对所有其他角色使用,目标弃置一张手牌,或受到一点火焰伤害;若没有人选择受到伤害,使用者摸一张牌',
			jiutiansuanchi:'九天算尺',
			jiutiansuanchi_info:'每当你使用杀造成伤害,你可以弃置一张牌并展示受伤害角色的一张手牌,若此牌与你弃置的牌花色或点数相同,此杀的伤害+2',
			shenmiguo:'神秘果',
			shenmiguo_info:'出牌阶段内,当你使用一张基本牌或普通锦囊牌后使用,令此牌再结算一次。每阶段限用一次',
			qinglianxindeng:'青莲心灯',
			qinglianxindeng_info:'你防止锦囊牌造成的伤害',
			hslingjian_xuanfengzhiren_duanzao:'风刃',
			hslingjian_xuanfengzhiren_duanzao2:'风',
			hslingjian_xuanfengzhiren_equip1_info:'每当你用杀造成一次伤害,受伤害角色随机弃置一张牌',
			hslingjian_xuanfengzhiren_equip2_info:'每当你受到杀造成的伤害,伤害来源随机弃置一张牌',
			hslingjian_xuanfengzhiren_equip3_info:'当你于回合外失去牌后,你本回合的防御距离+1',
			hslingjian_xuanfengzhiren_equip4_info:'当你于回合内失去牌后,你本回合的进攻距离+1',
			hslingjian_xuanfengzhiren_equip5_info:'出牌阶段限一次,你可以弃置一张牌,然后随机弃置一名其他角色的一张牌',
			hslingjian_zhongxinghujia_duanzao:'重甲',
			hslingjian_zhongxinghujia_duanzao2:'护',
			hslingjian_zhongxinghujia_equip1_info:'每当你用杀造成一次伤害,你可以随机装备一件防具牌',
			hslingjian_zhongxinghujia_equip2_info:'每当你受到杀造成的伤害,你可以弃置伤害来源的防具牌',
			hslingjian_zhongxinghujia_equip3_info:'当你的装备区内有防具牌时,你的防御距离+1',
			hslingjian_zhongxinghujia_equip4_info:'当你的装备区内有防具牌时,你的进攻距离+1',
			hslingjian_zhongxinghujia_equip5_info:'出牌阶段限一次,你可以弃置两张牌,然后令一名角色随机装备一件防具',
			hslingjian_jinjilengdong_duanzao:'冰冻',
			hslingjian_jinjilengdong_duanzao2:'冰',
			hslingjian_jinjilengdong_equip1_info:'每当你用杀造成一次伤害,你可以令目标摸两张牌并翻面',
			hslingjian_jinjilengdong_equip2_info:'每当你受到杀造成的伤害,你可以令伤害来源摸两张牌并翻面',
			hslingjian_jinjilengdong_equip3_info:'你的武将牌背面朝上时防御距离+2',
			hslingjian_jinjilengdong_equip4_info:'你的武将牌背面朝上时进攻距离+2',
			hslingjian_jinjilengdong_equip5_info:'回合结束后,若你的武将牌正面朝上,你可以与一名武将牌正面朝上的其他角色同时翻面,然后各摸两张牌',
			hslingjian_yinmilichang_duanzao:'隐力',
			hslingjian_yinmilichang_duanzao2:'隐',
			hslingjian_yinmilichang_equip1_info:'每当你用杀造成一次伤害,你可以令一名其他角色获得潜行直到其下一回合开始',
			hslingjian_yinmilichang_equip2_info:'每当你受到一次伤害,你本回合内获得潜行',
			hslingjian_yinmilichang_equip3_info:'当你的体力值为1时,你的防御距离+1',
			hslingjian_yinmilichang_equip4_info:'当你的体力值为1时,你的进攻距离+1',
			hslingjian_yinmilichang_equip5_info:'当你没有手牌时,你不能成为杀或决斗的目标',
			hslingjian_xingtigaizao_duanzao:'移形',
			hslingjian_xingtigaizao_duanzao2:'形',
			hslingjian_xingtigaizao_equip1_info:'每当你用杀造成一次伤害,你摸一张牌',
			hslingjian_xingtigaizao_equip2_info:'每当你受到杀造成的伤害,你摸一张牌',
			hslingjian_xingtigaizao_equip3_info:'你的防御距离+1,进攻距离-1',
			hslingjian_xingtigaizao_equip4_info:'你的防御距离-1,进攻距离+1',
			hslingjian_xingtigaizao_equip5_info:'你于摸牌阶段额外摸一张牌;你的手牌上限-1',
			hslingjian_shengxiuhaojiao_duanzao:'号角',
			hslingjian_shengxiuhaojiao_duanzao2:'角',
			hslingjian_shengxiuhaojiao_equip1_info:'有嘲讽的角色不能闪避你的杀',
			hslingjian_shengxiuhaojiao_equip2_info:'有嘲讽的角色不能对你使用杀',
			hslingjian_shengxiuhaojiao_equip3_info:'若你的手牌数大于你的体力值,你的防御距离+1',
			hslingjian_shengxiuhaojiao_equip4_info:'若你的手牌数大于你的体力值,你的进攻距离+1',
			hslingjian_shengxiuhaojiao_equip5_info:'出牌阶段限一次,你可以弃置两张牌,然后令一名角色获得或解除嘲讽',
			hslingjian_shijianhuisu_duanzao:'回溯',
			hslingjian_shijianhuisu_duanzao2:'溯',
			hslingjian_shijianhuisu_equip1_info:'当你装备一张防具牌时,你摸一张牌',
			hslingjian_shijianhuisu_equip2_info:'当你装备一张武器牌时,你摸一张牌',
			hslingjian_shijianhuisu_equip3_info:'当你的装备区内没有其他牌时,你的防御距离+1',
			hslingjian_shijianhuisu_equip4_info:'当你的装备区内没有其他牌时,你的进攻距离+1',
			hslingjian_shijianhuisu_equip5_info:'出牌阶段限一次,你可以弃置一张牌,然后令一名其他角色将其装备区内的牌收回手牌',
			_lingjianduanzao:'煅造',
			_lingjianduanzao_info:'出牌阶段,你可以将一张装备牌和一张可煅造的牌合成为一件强化装备,并装备给距离1以内的一名角色',
			jiguanshu:'机关鼠',
			jiguanshu_info:'出牌阶段对自己使用,用随机祭器强化装备区内的一张随机装备,然后用随机零件强化其余的装备',
			lingjiandai:'零件袋',
			lingjiandai_info:'出牌阶段对自己使用,获得3张随机零件',
			mujiaren:'木甲人',
			mujiaren_info:'出牌阶段限用一次,将你手牌中的非基本牌(含此张)替换为随机的机关牌',
			jiguanyaoshu:'机关要术',
			jiguanyaoshu_skill:'巧匠',
			jiguanyaoshu_skill_info:'每当你于回合外失去装备区内的牌,你获得一个随机零件',
			jiguanyaoshu_info:'出牌阶段对距离1以内的一名角色使用,目标随机装备一件装备牌并获得技能巧匠(每当你于回合外失去装备区内的牌,你获得一个随机零件)',
			hslingjian:'零件',
			hslingjian_xuanfengzhiren:'旋风之刃',
			hslingjian_xuanfengzhiren_info:'可用于煅造装备;随机弃置一名角色的一张牌',
			hslingjian_zhongxinghujia:'重型护甲',
			hslingjian_zhongxinghujia_info:'可用于煅造装备;令一名角色装备一件随机防具,然后随机弃置其一张手牌',
			hslingjian_jinjilengdong:'紧急冷冻',
			hslingjian_jinjilengdong_bg:'冻',
			hslingjian_jinjilengdong_info:'可用于煅造装备;令一名武将牌正面朝上的其他角色获得两点护甲并翻面,该角色不能使用卡牌,也不能成为卡牌的目标直到武将牌翻回正面',
			hslingjian_yinmilichang:'隐秘力场',
			hslingjian_yinmilichang_info:'可用于煅造装备;令一名其他角色获得技能潜行,直到其下一回合开始',
			hslingjian_xingtigaizao:'型体改造',
			hslingjian_xingtigaizao_info:'可用于煅造装备;摸一张牌,本回合手牌上限-1',
			hslingjian_shengxiuhaojiao:'生锈号角',
			hslingjian_shengxiuhaojiao_info:'可用于煅造装备;令一名角色获得技能嘲讽,直到其下一回合开始',
			hslingjian_shijianhuisu:'时间回溯',
			hslingjian_shijianhuisu_info:'可用于煅造装备;令一名其他角色将其装备牌收回手牌',
			hslingjian_chaofeng:'嘲讽',
			hslingjian_chaofeng_info:'锁定技,与你相邻的角色只能选择你为出杀目标',
			qinglonglingzhu:'青龙灵珠',
			qinglonglingzhu_ab:'灵珠',
			qinglonglingzhu_info:'每当你造成一次属性伤害,你可以获得对方的一张牌',
			xingjunyan:'星君眼',
			xingjunyan_info:'你的杀造成的伤害+1;杀对你造成的伤害+1',
			guiyanfadao:'鬼眼法刀',
			guiyanfadao_bg:'眼',
			guiyanfadao_info:'每当你使用杀命中目标,你可以防止伤害,改为令目标失去一点体力',
			tianxianjiu:'天仙酒',
			tianxianjiu_bg:'仙',
			tianxianjiu_info:'出牌阶段对自己使用,你使用的下一张杀造成伤害后可以摸两张牌;濒死阶段,对自己使用,回复1点体力',
			// xiangyuye:'翔羽叶',
			// xiangyuye_info:'出牌阶段,对一名攻击范围外的角色使用,令其弃置一张黑色手牌或流失一点体力',
			// huanpodan:'还魄丹',
			// huanpodan_bg:'魄',
			// huanpodan_info:'出牌阶段对一名角色使用,在目标即将死亡时防止其死亡,改为令其弃置所有牌,将体力值回复至1并摸一张牌',
			// huanpodan_skill:'还魄丹',
			// huanpodan_skill_bg:'丹',
			// huanpodan_skill_info:'防止一次死亡,改为弃置所有牌,将体力值变为1并摸一张牌',
			ximohu:'吸魔壶',
			ximohu_bg:'魔',
			// ximohu_info:'锁定技,你将即将受到的雷属性伤害转化为你的体力值',
			sadengjinhuan:'萨登荆环',
			sadengjinhuan_ab:'荆环',
			sadengjinhuan_info:'当你的杀被闪避后,可以进行一次判定,若结果为红色目标需再打出一张闪',
			sadengjinhuan_bg:'荆',
			qipoguyu:'奇魄古玉',
			xujin:'蓄劲',
			xujin2:'蓄劲',
			// qipoguyu_info:'装备后获得蓄劲技能',
			xujin_info:'回合开始前,若你的蓄劲标记数小于当前的体力值,你可以跳过此回合,并获得一枚蓄劲标记。锁定技,每当你即将造成伤害,你令此伤害+X,然后弃置一枚蓄劲标记,X为你拥有的蓄劲标记数',
			guilingzhitao:'归灵指套',
			nigong:'逆攻',
			nigong2:'逆攻',
			nigong3:'逆攻',
			nigong4:'逆攻',
			guilingzhitao_info:'每当你受到一点伤害,你获得一个逆攻标记,标记数不能超过4。出牌阶段,你可以弃置所有逆攻标记并令对一名其他角色造成标记数一半的伤害(若非整数则向下取整并摸一张牌)',
			nigong_info:'每当你受到一点伤害,你获得一个逆攻标记,标记数不能超过4。出牌阶段,你可以弃置所有逆攻标记并令对一名其他角色造成标记数一半的伤害(若非整数则向下取整并摸一张牌)',
			baihupifeng:'白狐披风',
			baihupifeng_bg:'狐',
			baihupifeng_info:'结束阶段,若你的体力值是全场最小的之一,你可以回复一点体力',
			fengxueren:'封雪刃',
			fengxueren_bg:'雪',
			fengxueren_info:'你使用杀击中目标后,若目标武将牌正面朝上,你可以防止伤害,然后令目标摸一张牌并翻面',
			chilongya:'赤龙牙',
			chilongya_info:'锁定技,你的火属性伤害+1',
			daihuofenglun:'带火风轮',
			daihuofenglun_ab:'风轮',
			daihuofenglun_bg:'轮',
			daihuofenglun_info:'你的进攻距离+2,你的防御距离-1',
			xiayuncailing:'霞云彩绫',
			xiayuncailing_ab:'彩绫',
			xiayuncailing_bg:'云',
			xiayuncailing_info:'你的进攻距离-1,你的防御距离+2',
			shentoumianju:'神偷面具',
			shentoumianju_bg:'偷',
			shentoumianju_info:'出牌阶段,你可以指定一名手牌比你多的角色,弃置一张手牌并进行一次判定,若结果不为梅花,你获得其一张手牌',
			shentou:'神偷',
			shentou_info:'出牌阶段,你可以进行一次判定,若结果不为梅花,你获得任意一名角色的一张手牌',
			xianluhui:'仙炉灰',
			xianluhui_info:'令所有已受伤角色获得一点护甲',
			caoyao:'草药',
			caoyao_info:'出牌阶段,对距离为1以内的角色使用,回复一点体力。',
			langeguaiyi:'蓝格怪衣',
			langeguaiyi_bg:'格',
			langeguaiyi_info:'出牌阶段限一次,你可以进行一次判定,然后按花色执行以下效果。红桃:你回复一点体力;方片:你摸一张牌;梅花:你令一名随机敌方角色随机弃置一张牌;黑桃:无事发生',
			longfan:'龙帆',
			longfan_info:'出牌阶段限一次,你可以进行一次判定,然后按花色执行以下效果。红桃:你回复一点体力;方片:你摸一张牌;梅花:你令一名随机敌方角色随机弃置一张牌;黑桃:无事发生',
			// longfan_info:'0000:翻面;1111:弃手牌;2222:弃装备牌;3333:受伤害;4444:流失体力;5555:连环;6666:摸牌;7777:回复体力;8888:弃置判定牌;9999:置衡',
			guiyoujie:'鬼幽结',
			guiyoujie_bg:'结',
			guiyoujie_info:'出牌阶段,对一名其他角色使用。若判定结果为黑色,其失去一点体力并随机弃置一张牌',
			yufulu:'御夫录',
			yufulu_info:'出牌阶段,可弃置一张武器牌令一名角色受到一点伤害,然后该角色获得此武器牌',
			touzhi:'投掷',
			touzhi_info:'出牌阶段,可弃置一张武器牌令一名角色受到一点伤害,然后该角色获得此武器牌',
			xixueguizhihuan:'吸血鬼指环',
			xixueguizhihuan_ab:'血环',
			xixueguizhihuan_info:'锁定技,每当你使用杀造成一点伤害,你回复一点体力',
			xixue:'吸血',
			xixue_info:'锁定技,每当你使用杀造成一点伤害,你回复一点体力',
			zhufangshenshi:'祠符',
			zhufangshenshi_info:'出牌阶段,对一名其他角色使用,本回合内对其使用卡牌无视距离,结算后摸一张牌',
			jingleishan:'惊雷闪',
			jingleishan_info:'出牌阶段,对所有其他角色使用。每名目标角色需打出一张【杀】,否则受到1点雷电伤害。',
			chiyuxi:'炽羽袭',
			chiyuxi_info:'出牌阶段,对所有其他角色使用。每名目标角色需打出一张【闪】,否则受到1点火焰伤害。',
			guangshatianyi:'光纱天衣',
			guangshatianyi_bg:'纱',
			guangshatianyi_info:'锁定技,每当你即将受到伤害,有三分之一的概率令伤害减一',
			sifeizhenmian:'四非真面',
			sifeizhenmian_info:'出牌阶段限一次,你可以令一名有手牌的其他角色进行一次判定,若结果为不为红桃且目标有可用的手牌,目标随机使用一张手牌(随机指定目标)',
			yiluan:'意乱',
			yiluan_info:'出牌阶段限一次,你可以令一名有手牌的其他角色进行一次判定,若结果为不为红桃且目标有可用的手牌,目标随机使用一张手牌(随机指定目标)',
			donghuangzhong:'东皇钟',
			xuanyuanjian:'轩辕剑',
			xuanyuanjian2:'轩辕剑',
			pangufu:'盘古斧',
			lianyaohu:'炼妖壶',
			lianyaohu_skill:'炼妖壶',
			lianyaohu_skill_bg:'壶',
			haotianta:'昊天塔',
			fuxiqin:'伏羲琴',
			shennongding:'神农鼎',
			kongdongyin:'崆峒印',
			kunlunjingc:'昆仑镜',
			nvwashi:'女娲石',
			donghuangzhong_bg:'钟',
			lianyaohu_bg:'壶',
			haotianta_bg:'塔',
			fuxiqin_bg:'琴',
			shennongding_bg:'鼎',
			kongdongyin_bg:'印',
			kunlunjingc_bg:'镜',
			nvwashi_bg:'石',
			kongxin:'控心',
			lianhua:'炼化',
			// dujian:'毒箭',
			// dujian_info:'出牌阶段,对一名有手牌或装备牌的角色使用,令其展示一张手牌,若与你选择的手牌颜色相同,其流失一点体力',
			lianhua_info:'出牌阶段限一次,你可以弃置两张炼妖壶中的牌,从牌堆中获得一张与弃置的牌类别均不相同的牌',
			shouna:'收纳',
			shouna_info:'出牌阶段限一次,你可以弃置一张手牌,并将一名其他角色的一张手牌置入炼妖壶',
			donghuangzhong_info:'结束阶段,你可以弃置一张红色手牌,并选择一名角色将一张随机单体延时锦囊置入其判定区',
			xuanyuanjian_info:'装备时获得一点护甲;每当你即将造成一次伤害,你令此伤害加一并变为雷属性,并在伤害结算后流失一点体力。任何时候,若你体力值不超过2,则立即失去轩辕剑',
			pangufu_info:'锁定技,每当你造成一次伤害,受伤角色须弃置一张牌',
			haotianta_info:'锁定技,任意一名角色进行判定前,你观看牌堆顶的2张牌,并选择一张作为判定结果,此结果不可被更改,也不能触发技能',
			shennongding_info:'出牌阶段,你可以弃置两张手牌,然后回复一点体力。每阶段限一次',
			kongdongyin_info:'令你抵挡一次死亡,将体力回复至1,并摸一张牌,发动后进入弃牌堆',
			kunlunjingc_info:'出牌阶段限一次,你可以观看牌堆顶的三张牌,然后用一张手牌替换其中的一张',
			nvwashi_info:'当一名角色濒死时,若你的体力值大于1,你可以失去一点体力并令其回复一点体力',
			kongxin_info:'出牌阶段限一次,你可以与一名其他角色进行拼点,若你赢,你可以指定另一名角色视为对方对该角色使用一张杀,否则对方可弃置你一张牌',
			fuxiqin_info:'出牌阶段限一次,你可以与一名其他角色进行拼点,若你赢,你可以指定另一名角色视为对方对该角色使用一张杀,否则对方可弃置你一张牌',
			lianyaohu_info:'出牌阶段各限一次,你可以选择一项:1.弃置一张手牌,并将一名其他角色的一张手牌置入炼妖壶;2.弃置两张炼妖壶中的牌,从牌堆中获得一张与弃置的牌类别均不相同的牌',
		},
		list:[
			['heart',1,'hufu'],
			['spade',1,'hufu'],
			['club',1,'qiankundai'],
			// ['heart',3,'yihuajiemu'],
			// ['diamond',1,'yihuajiemu'],
			// ['diamond',7,'yihuajiemu'],

			['diamond',3,'liuxinghuoyu','fire'],
			['heart',6,'liuxinghuoyu','fire'],
			['heart',9,'liuxinghuoyu','fire'],

			['spade',1,'baihupifeng'],
			['club',1,'fengxueren'],
			['diamond',1,'langeguaiyi'],
			['heart',1,'daihuofenglun','fire'],

			['diamond',2,'xiayuncailing'],
			// ['heart',2,'pantao'],
			// ['heart',2,'huanpodan'],

			['club',3,'caoyao'],
			['diamond',3,'chilongya','fire'],
			['spade',3,'guiyoujie'],

			['club',4,'caoyao'],
			['spade',4,'zhufangshenshi'],
			// ['spade',4,'huanpodan'],

			['club',5,'caoyao'],
			['spade',5,'xixueguizhihuan'],
			// ['diamond',5,'huanpodan'],

			['club',6,'shentoumianju'],
			['spade',6,'yufulu'],

			['diamond',7,'chiyuxi','fire'],
			['club',7,'jingleishan','thunder'],
			['spade',7,'guilingzhitao'],

			['spade',8,'zhufangshenshi'],
			// ['club',8,'xiangyuye','poison'],

			['spade',9,'yangpijuan'],
			['club',9,'guiyoujie'],
			// ['diamond',9,'xiangyuye','poison'],

			// ['diamond',9,'tianxianjiu'],
			['heart',9,'tianxianjiu'],
			['diamond',2,'tianxianjiu'],

			['spade',2,'qinglonglingzhu'],
			['spade',7,'xingjunyan'],

			//['spade',10,'qipoguyu'],
			//['diamond',10,'xiangyuye','poison'],
			['club',7,'yangpijuan'],

			// ['spade',11,'xiangyuye','poison'],

			['spade',12,'guiyanfadao','poison'],

			['spade',13,'xianluhui'],
			['diamond',3,'guangshatianyi'],
			['club',13,'sadengjinhuan'],

			['club',2,'lingjiandai'],
			// ['spade',3,'lingjiandai'],
			// ['heart',5,'lingjiandai'],
			['diamond',8,'lingjiandai'],

			['club',2,'jiguanshu'],
			// ['spade',2,'jiguanshu'],
			// ['heart',2,'jiguanshu'],
			['diamond',2,'jiguanshu'],

			['club',3,'jiguanyaoshu'],
			['spade',3,'jiguanyaoshu'],
			// ['heart',3,'jiguanyaoshu'],
			// ['diamond',3,'jiguanyaoshu'],

			['spade',4,'sifeizhenmian'],
			['heart',13,'qinglianxindeng'],
			['club',3,'jiguanyuan'],
			['diamond',2,'jiguanyuan'],
			['diamond',4,'jiguantong'],
			['club',7,'jiguantong'],
			// ['spade',1,'shenmiguo'],
			['spade',2,'shenmiguo'],
			['heart',1,'shenmiguo'],
			['club',3,'jiguanfeng'],
			['spade',4,'jiguanfeng'],
			['spade',9,'guisheqi'],
			['club',7,'guisheqi'],

			['diamond',13,'donghuangzhong'],
			['diamond',13,'fuxiqin'],
			['spade',13,'kunlunjingc'],
			['spade',13,'xuanyuanjian'],
			['spade',13,'pangufu'],
			['club',13,'lianyaohu'],
			['diamond',13,'haotianta'],
			['club',13,'shennongding'],
			['heart',13,'nvwashi'],
			['heart',13,'kongdongyin'],

			['heart',6,'qinglongzhigui'],
			['diamond',6,'zhuquezhizhang'],
			['spade',6,'baishouzhihu'],
			['club',6,'xuanwuzhihuang'],
			['spade',7,'cangchizhibi'],
			['heart',5,'huanglinzhicong'],

			['spade',9,'gouhunluo'],
			['club',7,'gouhunluo'],

			['spade',1,'xuejibingbao'],
			['club',1,'xuejibingbao'],

			['heart',3,'zhiluxiaohu'],
			['diamond',4,'zhiluxiaohu'],

			['club',7,'mujiaren'],
			['heart',6,'mujiaren'],
			['diamond',11,'mujiaren'],

			['club',6,'shuchui'],

			// ['club',1,'fengyinzhidan'],
			// ['diamond',1,'fengyinzhidan'],
			// ['heart',1,'fengyinzhidan'],
			['spade',1,'fengyinzhidan'],

			['heart',9,'yuruyi'],

			['club',4,'shencaojie'],
			['diamond',4,'shencaojie'],
			['spade',4,'shencaojie'],

			['spade',1,'yuchanqian'],
			['club',2,'yuchankun'],
			['diamond',3,'yuchanzhen'],
			['heart',4,'yuchanxun'],
			['spade',5,'yuchankan'],
			['club',6,'yuchanli'],
			['diamond',7,'yuchangen'],
			['heart',8,'yuchandui'],

			// ['spade',3,'dujian','poison'],
			// ['club',11,'dujian','poison'],
			// ['club',12,'dujian','poison'],
		],
	};
});