/*
========================================================

- 腳本名稱: 20關副本道館

- 腳本作者: Nick

- 使用說明:

db/instance_db.txt

自定編號,初階道館,3600,1@guild,50,50,1@guild

- 映射地圖部分: 要有自行新增地圖的能力

data/resnametable.txt

1@guild.gat#guild_vs1.gat#
1@guild.gnd#guild_vs1.gnd#
1@guild.rsw#guild_vs1.rsw#

data/texture
嶸盪檣攪檜蝶\map\1@guild.bmp#嶸盪檣攪檜蝶\map\guild_vs1.bmp#

db/map_index.txt

1@guild

Conf/maps_athena.conf

mep: 1@guild

>>>>>>>>>>>>如有轉載請保留以上,非常感激<<<<<<<<<<<<<<
=============================================================*/

amatsu,128,154,4	script	20關道場管理員	734,{

	if ( !getcharid(1) ) {
		mes .@npc_name$;
		mes "請先組隊再來報名";
		close;
	}
	if ( getcharid(0) != getpartyleader(getcharid(1),2) ) {
		mes .@npc_name$;
		mes "對不起,你不是隊長。";
		close;
	}
	set .Zeny,10; //入場費用(萬元單位)
	set .@map_name$,"初階道館";
	set .@npc_name$,"[20關道場管理員]";
	mes .@npc_name$;
	mes "您是隊伍 " + getpartyname(getcharid(1)) + " 的隊長吧?";
	mes "道場需交 "+.Zeny+" 萬入場費用,你要參與嗎?";
	next;
	switch(select("我想報名 "+.@map_name$,"離開","銷毀副本")) {

	case 1:
		if ( instance_create(.@map_name$) < 0 ) {
			mes .@npc_name$;
			mes "隊伍名稱: "+getpartyname(getcharid(1));
			mes "隊伍隊長: "+strcharinfo(0);
			mes "^0000ff"+.@map_name$+" ^000000- 創建失敗!";
			close;
		}
		if ( Zeny < .Zeny*10000) {
			mes .@npc_name$;
			mes "很抱歉,您的金錢不足!";
			close;
		}
		set Zeny,Zeny- .Zeny*10000;
		instance_enter(.@map_name$);
		warpparty instance_mapname("1@guild", instance_id()),50,50,getcharid(1);
		announce "隊伍 "+getpartyname(getcharid(1))+" 進入了20關道場 "+.@map_name$+".",0;
		//----腳本設置
		//----怪物編號設置
		setarray 'monsterid[1],1001,1002,1007,1008,1009,1010,1011;
		//---怪物數量(設定幾隻就是關卡)
		setarray 'monsternum[1],1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20;
		//---休息場數
		setarray 'enterromob[1],5,9;
		//---獎品設置
		setarray 'enterItem[1],501,502,503,504,505;
		//---獎品數量
		setarray 'enterCou[1],1,2,3,4,5;
		//---獎金設置
		setarray 'enterZeny[1],100,300;
		close;
	case 2:
		mes .@npc_name$;
		mes "若想挑戰道館,請記得來報名!";
		close;
	case 3:
		instance_destroy;
		close;
	}
OnInit:
	waitingroom "20關道館挑戰",0;
	end;
}


1@cd_dao,50,49,4	script	道館裁判	758,{

	if ( getcharid(0) != getpartyleader(getcharid(1),2) ) {
		mes "[道館裁判]";
		mes "只有隊長有權力開起挑戰";
		close;
	}
	mes "[道館裁判]";
	mes "請問藥開始挑戰了嗎?";
	next;
	switch(select("開始挑戰!","不小心點到!")){
	case 1:
		disablenpc  instance_npcname("道館裁判", instance_id());
		doevent instance_npcname("道館出怪",instance_id())+"::OnMobstar";
		close;
	case 2:
		mes "[道館裁判]";
		mes "那您以後別在那麼不小心哩!";
		close;
	}
}

1@guild,0,0,0	script	道館出怪	-1,{

OnMobstar:
	set 'Checkpoint,'Checkpoint+1;
	for (set .@n,0; .@n < 'monsternum['Checkpoint]; set .@n,.@n+1) {
		monster instance_mapname("1@guild", instance_id()),rand(45,55),rand(45,55),"--ja--",'monsterid[rand(1,getarraysize('monsterid)-1)],1,instance_npcname("道館出怪")+"::OnKill_Mob";
	}
	set 'mobs,'mobs+.@n;
	end;

OnKill_Mob:
	set 'mobs,'mobs-1;
	if( 'mobs > 0 ) {
		end;
	}
	if ( 'Checkpoint ==  getarraysize('monsternum)-1 ) {
		announce "隊伍 "+getpartyname(getcharid(1))+" 挑戰成功.",0;
		sleep2 2000;
		enablenpc  instance_npcname("獎金發放員", instance_id());
		enablenpc  instance_npcname("獎品發放員", instance_id());
		end;
	}
	if ( 'Checkpoint ==  getarraysize('monsternum)-2 ) {
		instance_announce instance_id(),"道館裁判 : 恭喜第 ["+'Checkpoint+"] 關挑戰成功,最後一關挑戰將開始,請繼續努力!",0;
	}
	else {
		instance_announce instance_id(),"道館裁判 : 恭喜第 ["+'Checkpoint+"] 關挑戰成功!",0;
	}
	for (set .@n,1; .@n<getarraysize('enterromob); set .@n,.@n+1)
		if ('Checkpoint ==  'enterromob[.@n]){
			enablenpc  instance_npcname("道館裁判", instance_id());
			end;
		}
	addtimer 5000,instance_npcname("道館出怪")+"::OnMobstar";
	end;
}

1@guild,46,53,4	script	獎金發放員	736,{
		mes "[獎金發放員]";
		mes "你很厲害!能打到這裡,讓我給你一些獎勵吧!";
	        percentheal 100,100;
		next;
		mes "[獎金發放員]";
		mes "我是負責發放獎金的";
		mes "你可以獲得金錢 "+'enterZeny[1]+" 到 "+'enterZeny[2]+" 萬";
		mes "你確定你要選擇獎金嗎?";
		next;
		if(select("對,我要領獎金!","不了,讓我在考慮一下!") == 2 ) { close; }
		set zeny,zeny+rand('enterZeny[1],'enterZeny[2])*10000;
		warp "amatsu",156,108; //回城設置
		close;
OnInstanceInit:
	disablenpc  instance_npcname("獎金發放員", instance_id());
	end;
}
1@guild,53,53,4	script	獎品發放員	736,{
		mes "[獎品發放員]";
		mes "你很厲害!能打到這裡,讓我給你一些獎勵吧!";
	        percentheal 100,100;
		next;
		mes "[獎品發放員]";
		mes "你可以獲得獎品";
		for(set .@n,1; .@n< getarraysize('enterItem); set .@n,.@n+1) {
			mes ""+getitemname('enterItem[.@n])+" x "+'enterCou[.@n]+" 個";
		}
		mes "你確定你要選擇獎品嗎?";
		next;
		if(select("對,我要領獎品!","不了,讓我在考慮一下!") == 2 ) { close; }
		set .@n,rand(1,getarraysize('ChestItem)-1);
		getitem 'enterItem[.@n],'enterCou[.@n];
		warp "amatsu",156,108; //回城設置
		close;
OnInstanceInit:
	disablenpc  instance_npcname("獎品發放員", instance_id());
	end;
}