//===== eAthena Script ======================================= 
//= Kafra Script 
//===== By: ================================================== 
//= Lotsa People (1.0)
//= Darlskies (1.1)
//= Darkchild (1.2)
//= Syrus22 (2.0)
//= Syrus22 (2.1)
//= Darkchild (2.2)
//===== Current Version: ===================================== 
//= 2.2
//===== Compatible With: ===================================== 
//= Any eAthena Version In Which functions work.
//===== Description: ========================================= 
//= All The Kafra's In Ro, Incl HQ
//===== Additional Comments: ================================= 
//= Darkskies did all the kafra points stuff.
//= Syrus22 - I compltely rewrote the script pretty much except for
//= the normal conversation text in the Kafra HQ NPCs.
//= Syrus22 - I fixed the Special Reserve in the Kafra HQ to really
//= give you items. I will add the Lottery Chances when I get
//= full info on the prizes.
//= Syrus22 - I will add a Louyang Kafra when I get better location info.
//= Darkchild - Added Comodo
//============================================================ 

//**********************************************//
//Actual Kafra NPCs                             //
//**********************************************//
//These will set the necessary variables for my //
//functions to work.                            //
//**********************************************//
//---Orc Dungeon Kafra---
gef_fild10.gat,73,340,4	script	Kafra#orc1	115,{
set @cutinpic$,"kafra_02";

set @save,1;
set @save1map$,"gef_fild10.gat";
set @save1x,54;
set @save1y,232;

callfunc "kaframain";
break;
}
//---Byalan Kafra---
izlu2dun.gat,106,58,8	script	Kafra	115,{
if (class != Job_Novice) goto Lkafra;
if((job_merchant_q==8) || (job_merchant_q==7)) goto JobMerQE8oE7;
if((job_merchant_q==6) || (job_merchant_q==5)) goto JobMerQE6oE5;

JobMerQE8oE7:
 if(countitem(Delivery_Message) != 0) goto JobMerQE8oE7Cont;
		
JobMerQE8oE7Cont:
 menu "Excuse me.",M0;

  M0:
   mes "[Kafra]";
   mes "Yes?";
   cutin "kafra_03",255;
   close;

JobMerQE6oE5:
 mes "[Kafra]";
 mes "Delivery fro the Merchant Guild?? Ah, Right! Yes! I almost forgot.";
 mes "Okay,Please put down here....";
 if((countitem(1081)==1) || (countitem(1082)==1) || (countitem(1083)==1)) goto MerBox123E1;
 mes ".... I think our orders are almost one Box of Oversized and Heavy....But you seem to carry it on without difficulty.";
 close;

  MerBox123E1:
   next;
   mes "[Kafra]";
   mes "Let me check its Serial numbers, I have to give the receipt to you anyhow.";
   if(nov_1_2_cos_c==7) goto JobMerQ2E7;
   if(nov_1_2_cos_c==8) goto JobMerQ2E8;
   next;
   mes "[Kafra]";
   mes "......? Excuse me! I think you gave me the wrong one.";
   mes "Our order should have the serial numbers as either of 3318702 or 3543625...";
   cutin "kafra_03",255;
   close;

JobMerQ2E7:
 if(countitem(1081) !=0) goto MerBox1NE0;

 MerBox1NE0:
  mes "Um.... 3012685. Yes! This is the right one we ordered. Here, your receipt.";
  delitem 1081,1;
  getitem 1079,1;
  goto JobMerQ2Cont;

JobMerQ2E8:
 if(countitem(1081) !=0) goto MerBox2NE0;

 MerBox2NE0:
  mes "Um.... 3543625. Yes! This is the right one we ordered. Here, your receipt.";
  delitem 1082,1;
  getitem 1080,1;
  goto JobMerQ2Cont;

JobMerQ2Cont:
 if(job_merchant_q==6) goto JobMerQE6;
 getitem 3005,2;
 goto JobMerQ2Cont1;

JobMerQE6:
 getitem 3005,2;
 goto JobMerQ2Cont1;

JobMerQ2Cont1:
 getitem 3017,1;
 if(countitem(Delivery_Message) != 0) goto DevMsg;
 goto DevMsgCont;

DevMsg:
 menu "This is from Mr. Mahnsoo...",M1;

  M1:
   delitem 1072,1;
   set nov_3_merchant,11;
   mes "[Kapra]";
   mes "Oh, my good Lord! Mr. Mansoo wrote me a Letter? Thank you, Thank you~";
   mes "I though he would send one one of these days, but I've never expected it would be so soon like this time~";
   goto DevMsgCont;

   DevMsgCont:
    next;
    mes "[Kafra]";
    mes "I really appreciate you for what you've done so far. This is my Small Gift for you to lay my heart.";
    mes "I hope you will help me next time.";
    set @TEMP,rand(2);
    goto R0;

    R0:
     if(@TEMP !=0) goto R1;
     getitem 513,3;
     cutin "kafra_03",255;
     close;
    R1:
     getitem 512,3;
     cutin "kafra_03",255;
     close;

Lkafra:
set @cutinpic$,"kafra_03";

set @save,1;
set @save1map$,"izlu2dun.gat";
set @save1x,87;
set @save1y,170;

callfunc "kaframain";
break;
}
//---Pyramids Kafra---
moc_ruins.gat,61,156,5	script	Kafra#pyr1	114,{
set @cutinpic$,"kafra_04";

set @save,1;
set @save1map$,"moc_ruins.gat";
set @save1x,41;
set @save1y,141;

callfunc "kaframain";
break;
}
//---Northern Prontera Field Kafra---
prt_fild01.gat,198,47,8	script	Kafra#pfl1	112,{
set @cutinpic$,"kafra_06";

set @save,1;
set @save1map$,"prt_fild01.gat";
set @save1x,197;
set @save1y,50;

callfunc "kaframain";
break;
}
//---Culvert Kafra---
prt_fild05.gat,290,224,1	script	Kafra#pfl2	114,{
set @cutinpic$,"kafra_04";

set @save,1;
set @save1map$,"prt_fild05.gat";
set @save1x,274;
set @save1y,243;

callfunc "kaframain";
break;
}
//---In Alberta Kafras---
alberta.gat,28,229,8	script	Kafra#alb1	115,{
set @cutinpic$,"kafra_02";

set @save1map$,"alberta.gat";
set @save1x,31;
set @save1y,231;
set @save2map$,"pay_fild03.gat";
set @save2x,386;
set @save2y,76;

set @warps,4;

set @warp1$,"Payon";
set @warp1name$,"payon.gat";
set @warp1x,69;
set @warp1y,100;
set @warp1zeny,1300;

set @warp2$,"Prontera";
set @warp2name$,"prontera.gat";
set @warp2x,116;
set @warp2y,75;
set @warp2zeny,2100;

set @warp3$,"Morocc";
set @warp3name$,"morocc.gat";
set @warp3x,156;
set @warp3y,46;
set @warp3zeny,2200;

set @warp4$,"Comodo";
set @warp4name$,"comodo.gat";
set @warp4x,209;
set @warp4y,143;
set @warp4zeny,2400;

set @kaflocations,1;
set @location1x,113;
set @location1y,60;

set @special,1;

callfunc "kaframain";
break;
}
alberta.gat,113,60,5	script	Kafra#alb2	112,{
set @cutinpic$,"kafra_06";

set @save,1;
set @save1map$,"alberta.gat";
set @save1x,117;
set @save1y,57;

set @warps,4;

set @warp1$,"Payon";
set @warp1name$,"payon.gat";
set @warp1x,69;
set @warp1y,100;
set @warp1zeny,1300;

set @warp2$,"Prontera";
set @warp2name$,"prontera.gat";
set @warp2x,116;
set @warp2y,75;
set @warp2zeny,2100;

set @warp3$,"Morocc";
set @warp3name$,"morocc.gat";
set @warp3x,156;
set @warp3y,46;
set @warp3zeny,2200;

set @warp4$,"Comodo";
set @warp4name$,"comodo.gat";
set @warp4x,209;
set @warp4y,143;
set @warp4zeny,2400;

set @kaflocations,1;
set @location1x,28;
set @location1y,229;

set @special,1;

callfunc "kaframain";
break;
}
//---Sunken Ship Kafra---
alb2trea.gat,59,69,1	script	Kafra#snk1	117,{
set @cutinpic$,"kafra_03";

set @save,1;
set @save1map$,"alb2trea.gat";
set @save1x,92;
set @save1y,64;

callfunc "kaframain";
break;
}
//---In Al De Baran Kafra---
aldebaran.gat,143,119,4	script	Kafra#ald1	113,{
set @cutinpic$,"kafra_05";

set @save,1;
set @save1map$,"aldebaran.gat";
set @save1x,143;
set @save1y,109;

set @warps,3;

set @warp1$,"Geffen";
set @warp1name$,"geffen.gat";
set @warp1x,120;
set @warp1y,39;
set @warp1zeny,1600;

set @warp2$,"Mjolnir Dead Pit";
set @warp2name$,"mjolnir_02.gat";
set @warp2x,99;
set @warp2y,351;
set @warp2zeny,1700;

set @warp3$,"Comodo";
set @warp3name$,"comodo.gat";
set @warp3x,209;
set @warp3y,143;
set @warp3zeny,2200;

set @special,1;

callfunc "kaframain";
break;
}
//---In Geffen Kafras---
geffen.gat,120,62,8	script	Kafra#gef1	115,{
set @cutinpic$,"kafra_03";

set @save,1;
set @save1map$,"geffen.gat";
set @save1x,119;
set @save1y,40;

set @warps,5;

set @warp1$,"Prontera";
set @warp1name$,"prontera.gat";
set @warp1x,116;
set @warp1y,75;
set @warp1zeny,1400;

set @warp2$,"Izlude";
set @warp2name$,"izlude.gat";
set @warp2x,91;
set @warp2y,105;
set @warp2zeny,1800;

set @warp3$,"Al De Baran";
set @warp3name$,"aldebaran.gat";
set @warp3x,143;
set @warp3y,110;
set @warp3zeny,2100;

set @warp4$,"Morocc";
set @warp4name$,"morocc.gat";
set @warp4x,156;
set @warp4y,46;
set @warp4zeny,2200;

set @warp5$,"Comodo";
set @warp5name$,"comodo.gat";
set @warp5x,209;
set @warp5y,143;
set @warp5zeny,2400;

set @kaflocations,1;
set @location1x,203;
set @location1y,123;

set @special,1;

callfunc "kaframain";
break;
}
geffen.gat,203,123,3	script	Kafra#gef2	114,{
set @cutinpic$,"kafra_04";

set @save1map$,"geffen.gat";
set @save1x,200;
set @save1y,124;
set @save2map$,"gef_fild00.gat";
set @save2x,51;
set @save2y,194;

set @warps,5;

set @warp1$,"Prontera";
set @warp1name$,"prontera.gat";
set @warp1x,116;
set @warp1y,75;
set @warp1zeny,1400;

set @warp2$,"Izlude";
set @warp2name$,"izlude.gat";
set @warp2x,91;
set @warp2y,105;
set @warp2zeny,1800;

set @warp3$,"Al De Baran";
set @warp3name$,"aldebaran.gat";
set @warp3x,143;
set @warp3y,110;
set @warp3zeny,2100;

set @warp4$,"Morocc";
set @warp4name$,"morocc.gat";
set @warp4x,156;
set @warp4y,46;
set @warp4zeny,2200;

set @warp5$,"Comodo";
set @warp5name$,"comodo.gat";
set @warp5x,209;
set @warp5y,143;
set @warp5zeny,2400;

set @kaflocations,1;
set @location1x,120;
set @location1y,62;

set @special,1;

callfunc "kaframain";
break;
}
//---In Izlude Kafra---
izlude.gat,124,115,6	script	Kafra#izl1	117,{
set @cutinpic$,"kafra_01";

set @save1map$,"izlude.gat";
set @save1x,128;
set @save1y,111;
set @save2map$,"prt_fild08.gat";
set @save2x,349;
set @save2y,202;

set @warps,4;

set @warp1$,"Prontera";
set @warp1name$,"prontera.gat";
set @warp1x,116;
set @warp1y,75;
set @warp1zeny,900;

set @warp2$,"Payon";
set @warp2name$,"payon.gat";
set @warp2x,69;
set @warp2y,100;
set @warp2zeny,1700;

set @warp3$,"Geffen";
set @warp3name$,"geffen.gat";
set @warp3x,120;
set @warp3y,39;
set @warp3zeny,1800;

set @warp4$,"Comodo";
set @warp4name$,"comodo.gat";
set @warp4x,209;
set @warp4y,143;
set @warp4zeny,2000;

set @special,1;

callfunc "kaframain";
break;
}
//---In Morocc Kafras---
morocc.gat,156,97,4	script	Kafra#moc1	115,{
set @cutinpic$,"kafra_03";

set @save,1;
set @save1map$,"morocc.gat";
set @save1x,156;
set @save1y,46;

set @warps,5;

set @warp1$,"Prontera";
set @warp1name$,"prontera.gat";
set @warp1x,116;
set @warp1y,75;
set @warp1zeny,1800;

set @warp2$,"Payon";
set @warp2name$,"payon.gat";
set @warp2x,69;
set @warp2y,100;
set @warp2zeny,1800;

set @warp3$,"Alberta";
set @warp3name$,"alberta.gat";
set @warp3x,117;
set @warp3y,56;
set @warp3zeny,2200;

set @warp4$,"Geffen";
set @warp4name$,"geffen.gat";
set @warp4x,120;
set @warp4y,39;
set @warp4zeny,2200;

set @warp5$,"Comodo";
set @warp5name$,"comodo.gat";
set @warp5x,209;
set @warp5y,143;
set @warp5zeny,1800;

set @kaflocations,1;
set @location1x,163;
set @location1y,260;

set @special,1;

callfunc "kaframain";
break;
}
morocc.gat,163,260,4	script	Kafra	114,{
set @cutinpic$,"kafra_04";

set @save1map$,"morocc.gat";
set @save1x,187;
set @save1y,281;
set @save2map$,"moc_fild07.gat";
set @save2x,212;
set @save2y,30;

set @warps,5;

set @warp1$,"Prontera";
set @warp1name$,"prontera.gat";
set @warp1x,116;
set @warp1y,75;
set @warp1zeny,1800;

set @warp2$,"Payon";
set @warp2name$,"payon.gat";
set @warp2x,69;
set @warp2y,100;
set @warp2zeny,1800;

set @warp3$,"Alberta";
set @warp3name$,"alberta.gat";
set @warp3x,117;
set @warp3y,56;
set @warp3zeny,2200;

set @warp4$,"Geffen";
set @warp4name$,"geffen.gat";
set @warp4x,120;
set @warp4y,39;
set @warp4zeny,2200;

set @warp5$,"Comodo";
set @warp5name$,"comodo.gat";
set @warp5x,209;
set @warp5y,143;
set @warp5zeny,1800;

set @kaflocations,1;
set @location1x,156;
set @location1y,97;

set @special,1;

callfunc "kaframain";
break;
}
//---In Payon Kafra---
payon.gat,99,116,4	script	Kafra#pay1	113,{
set @cutinpic$,"kafra_05";

set @save1map$,"payon.gat";
set @save1x,69;
set @save1y,100;
set @save2map$,"pay_fild01.gat";
set @save2x,340;
set @save2y,347;

set @warps,4;

set @warp1$,"Alberta";
set @warp1name$,"alberta.gat";
set @warp1x,117;
set @warp1y,56;
set @warp1zeny,1300;

set @warp2$,"Prontera";
set @warp2name$,"prontera.gat";
set @warp2x,116;
set @warp2y,72;
set @warp2zeny,1800;

set @warp3$,"Morocc";
set @warp3name$,"morocc.gat";
set @warp3x,156;
set @warp3y,46;
set @warp3zeny,1800;

set @warp4$,"Comodo";
set @warp4name$,"comodo.gat";
set @warp4x,209;
set @warp4y,143;
set @warp4zeny,2000;

set @special,1;

callfunc "kaframain";
break;
}
//---Archer Village Kafra---
pay_arche.gat,55,123,8	script	Kafra	117,{
set @cutinpic$,"kafra_01";

set @save,1;
set @save1map$,"pay_arche.gat";
set @save1x,49;
set @save1y,144;

callfunc "kaframain";
break;
}
//---In Prontera Kafras---
prontera.gat,29,207,6	script	Kafra#pro2	113,{
set @cutinpic$,"kafra_05";

set @warps,6;

set @warp1$,"Izlude";
set @warp1name$,"izlude.gat";
set @warp1x,91;
set @warp1y,105;
set @warp1zeny,900;

set @warp2$,"Geffen";
set @warp2name$,"geffen.gat";
set @warp2x,120;
set @warp2y,39;
set @warp2zeny,1400;

set @warp3$,"Payon";
set @warp3name$,"payon.gat";
set @warp3x,69;
set @warp3y,100;
set @warp3zeny,1700;

set @warp4$,"Morocc";
set @warp4name$,"morocc.gat";
set @warp4x,156;
set @warp4y,46;
set @warp4zeny,1800;

set @warp5$,"Orc Dungeon";
set @warp5name$,"gef_fild10.gat";
set @warp5x,52;
set @warp5y,326;
set @warp5zeny,1700;

set @warp6$,"Comodo";
set @warp6name$,"comodo.gat";
set @warp6x,209;
set @warp6y,143;
set @warp6zeny,2000;

set @save1map$,"prontera.gat";
set @save1x,33;
set @save1y,208;
set @save2map$,"prt_fild05.gat";
set @save2x,367;
set @save2y,205;

set @kaflocations,1;
set @location1x,146;
set @location1y,89;
set @location2x,282;
set @location2y,200;
set @location3x,151;
set @location3y,29;

set @special,1;

callfunc "kaframain";
break;
}
prontera.gat,146,89,6	script	Kafra#pro1	115,{
set @cutinpic$,"kafra_03";

set @warps,6;

set @warp1$,"Izlude";
set @warp1name$,"izlude.gat";
set @warp1x,91;
set @warp1y,105;
set @warp1zeny,900;

set @warp2$,"Geffen";
set @warp2name$,"geffen.gat";
set @warp2x,120;
set @warp2y,39;
set @warp2zeny,1400;

set @warp3$,"Payon";
set @warp3name$,"payon.gat";
set @warp3x,69;
set @warp3y,100;
set @warp3zeny,1700;

set @warp4$,"Morocc";
set @warp4name$,"morocc.gat";
set @warp4x,156;
set @warp4y,46;
set @warp4zeny,1800;

set @warp5$,"Orc Dungeon";
set @warp5name$,"gef_fild10.gat";
set @warp5x,52;
set @warp5y,326;
set @warp5zeny,1700;

set @warp6$,"Comodo";
set @warp6name$,"comodo.gat";
set @warp6x,209;
set @warp6y,143;
set @warp6zeny,2000;

set @save,1;
set @save1map$,"prontera.gat";
set @save1x,116;
set @save1y,73;

set @kaflocations,1;
set @location1x,29;
set @location1y,207;
set @location2x,282;
set @location2y,200;
set @location3x,151;
set @location3y,29;

set @special,1;

callfunc "kaframain";
break;
}
prontera.gat,282,199,6	script	Kafra	115,{
set @cutinpic$,"kafra_03";

set @warps,6;

set @warp1$,"Izlude";
set @warp1name$,"izlude.gat";
set @warp1x,91;
set @warp1y,105;
set @warp1zeny,900;

set @warp2$,"Geffen";
set @warp2name$,"geffen.gat";
set @warp2x,120;
set @warp2y,39;
set @warp2zeny,1400;

set @warp3$,"Payon";
set @warp3name$,"payon.gat";
set @warp3x,69;
set @warp3y,100;
set @warp3zeny,1700;

set @warp4$,"Morocc";
set @warp4name$,"morocc.gat";
set @warp4x,156;
set @warp4y,46;
set @warp4zeny,1800;

set @warp5$,"Orc Dungeon";
set @warp5name$,"gef_fild10.gat";
set @warp5x,52;
set @warp5y,326;
set @warp5zeny,1700;

set @warp6$,"Comodo";
set @warp6name$,"comodo.gat";
set @warp6x,209;
set @warp6y,143;
set @warp6zeny,2000;

set @save,1;
set @save1map$,"prontera.gat";
set @save1x,117;
set @save1y,73;

set @kaflocations,1;
set @location1x,29;
set @location1y,207;
set @location2x,146;
set @location2y,89;
set @location3x,151;
set @location3y,29;

set @special,1;

callfunc "kaframain";
break;
}
prontera.gat,151,29,8	script	Kafra	115,{
set @cutinpic$,"kafra_03";

set @warps,6;

set @warp1$,"Izlude";
set @warp1name$,"izlude.gat";
set @warp1x,91;
set @warp1y,105;
set @warp1zeny,900;

set @warp2$,"Geffen";
set @warp2name$,"geffen.gat";
set @warp2x,120;
set @warp2y,39;
set @warp2zeny,1400;

set @warp3$,"Payon";
set @warp3name$,"payon.gat";
set @warp3x,69;
set @warp3y,100;
set @warp3zeny,1700;

set @warp4$,"Morocc";
set @warp4name$,"morocc.gat";
set @warp4x,156;
set @warp4y,46;
set @warp4zeny,1800;

set @warp5$,"Orc Dungeon";
set @warp5name$,"gef_fild10.gat";
set @warp5x,52;
set @warp5y,326;
set @warp5zeny,1700;

set @warp6$,"Comodo";
set @warp6name$,"comodo.gat";
set @warp6x,209;
set @warp6y,143;
set @warp6zeny,2000;

set @save1map$,"prontera.gat";
set @save1x,150;
set @save1y,33;
set @save2map$,"prt_fild08.gat";
set @save2x,170;
set @save2y,369;

set @kaflocations,1;
set @location1x,29;
set @location1y,207;
set @location2x,146;
set @location2y,89;
set @location3x,282;
set @location3y,199;

set @special,1;

callfunc "kaframain";
break;
}
//---In Yuno Kafras---
yuno.gat,328,108,6	script	Kafra	117,{
set @cutinpic$,"kafra_02";

set @save,1;
set @save1map$,"yuno.gat";
set @save1x,332;
set @save1y,107;

set @warps,4;

set @warp1$,"Izlude";
set @warp1name$,"izlude.gat";
set @warp1x,91;
set @warp1y,105;
set @warp1zeny,900;

set @warp2$,"Geffen";
set @warp2name$,"geffen.gat";
set @warp2x,120;
set @warp2y,39;
set @warp2zeny,2100;

set @warp3$,"Payon";
set @warp3name$,"payon.gat";
set @warp3x,69;
set @warp3y,100;
set @warp3zeny,2100;

set @warp4$,"Morocc";
set @warp4name$,"morocc.gat";
set @warp4x,156;
set @warp4y,46;
set @warp4zeny,2100;

set @kafralocations,1;
set @location1x,151;
set @location1y,87;
set @location2x,278;
set @location2y,221;

set @special,1;

callfunc "kaframain";
break;
}
yuno.gat,151,87,4	script	Kafra	115,{
set @cutinpic$,"kafra_02";

set @save,1;
set @save1map$,"yuno.gat";
set @save1x,154;
set @save1y,75;

set @warps,4;

set @warp1$,"Izlude";
set @warp1name$,"izlude.gat";
set @warp1x,91;
set @warp1y,105;
set @warp1zeny,900;

set @warp2$,"Geffen";
set @warp2name$,"geffen.gat";
set @warp2x,120;
set @warp2y,39;
set @warp2zeny,2100;

set @warp3$,"Payon";
set @warp3name$,"payon.gat";
set @warp3x,69;
set @warp3y,100;
set @warp3zeny,2100;

set @warp4$,"Morocc";
set @warp4name$,"morocc.gat";
set @warp4x,156;
set @warp4y,46;
set @warp4zeny,2100;

set @kafralocations,1;
set @location1x,328;
set @location1y,108;
set @location2x,278;
set @location2y,221;

set @special,1;

callfunc "kaframain";
break;
}
yuno.gat,278,221,6	script	Kafra	117,{
set @cutinpic$,"kafra_02";

set @save,1;
set @save1map$,"yuno.gat";
set @save1x,332;
set @save1y,107;

set @warps,4;

set @warp1$,"Izlude";
set @warp1name$,"izlude.gat";
set @warp1x,91;
set @warp1y,105;
set @warp1zeny,900;

set @warp2$,"Geffen";
set @warp2name$,"geffen.gat";
set @warp2x,120;
set @warp2y,39;
set @warp2zeny,2100;

set @warp3$,"Payon";
set @warp3name$,"payon.gat";
set @warp3x,69;
set @warp3y,100;
set @warp3zeny,2100;

set @warp4$,"Morocc";
set @warp4name$,"morocc.gat";
set @warp4x,156;
set @warp4y,46;
set @warp4zeny,2100;

set @kafralocations,1;
set @location1x,328;
set @location1y,108;
set @location2x,151;
set @location2y,87;

set @special,1;

callfunc "kaframain";
break;
}
//---In Umbala Kafra---
umbala.gat,128,133,4	script	Kafra	115,{
set @cutinpic$,"kafra_02";

set @save,1;
set @save1map$,"umbala.gat";
set @save1x,126;
set @save1y,131;

set @warps,4;

set @warp1$,"Izlude";
set @warp1name$,"izlude.gat";
set @warp1x,91;
set @warp1y,105;
set @warp1zeny,900;

set @warp2$,"Geffen";
set @warp2name$,"geffen.gat";
set @warp2x,120;
set @warp2y,39;
set @warp2zeny,2100;

set @warp3$,"Payon";
set @warp3name$,"payon.gat";
set @warp3x,69;
set @warp3y,100;
set @warp3zeny,2100;

set @warp4$,"Morocc";
set @warp4name$,"morocc.gat";
set @warp4x,156;
set @warp4y,46;
set @warp4zeny,2100;

set @special,1;

callfunc "kaframain";
break;
}
//---In Gonryun Kafra---
//Note: Gave this Kafra the same warps as Umbala and Yuno till I get the
//real warp information.
gonryun.gat,159,122,4	script	Kafra	116,{
set @cutinpic$,"kafra_02";

set @save,1;
set @save1map$,"gonryun.gat";
set @save1x,160;
set @save1y,62;

set @warps,4;

set @warp1$,"Izlude";
set @warp1name$,"izlude.gat";
set @warp1x,91;
set @warp1y,105;
set @warp1zeny,900;

set @warp2$,"Geffen";
set @warp2name$,"geffen.gat";
set @warp2x,120;
set @warp2y,39;
set @warp2zeny,2100;

set @warp3$,"Payon";
set @warp3name$,"payon.gat";
set @warp3x,69;
set @warp3y,100;
set @warp3zeny,2100;

set @warp4$,"Morocc";
set @warp4name$,"morocc.gat";
set @warp4x,156;
set @warp4y,46;
set @warp4zeny,2100;

set @special,1;

callfunc "kaframain";
break;
}
//---Comodo---
comodo.gat,166,163,3	script	Kafra	721,{
set @cutinpic$,"kafra_02";

set @save,1;
set @save1map$,"comodo.gat";
set @save1x,188;
set @save1y,148;

set @warps,2;

set @warp1$,"Morroc";
set @warp1name$,"morocc.gat";
set @warp1x,156;
set @warp1y,46;
set @warp1pay,2400;

set @warp2$,"Geffen";
set @warp2name$,"geffen.gat";
set @warp2x,120;
set @warp2y,39;
set @warp2zeny,2100;

set @special,1;

callfunc "kaframain";
break;
}
//**********************************************//
//Kafra Main                                    //
//**********************************************//
//The main kafra script. This will call the     //
//necessary functions from the rest of the      //
//script.                                       //
//**********************************************//
function	script	kaframain	-1,{
cutin @cutinpic$,2;
mes "[Kafra Employee]";
mes "Welcome to Kafra Corporation. The Kafra services are always by your side.";
mes "How may I assist you?";
next;
if ((@warps > 0) && (@special > 0)) goto Lallmenu;
if ((@warps > 0) && (@special == 0)) goto Lwarpmenu;
if (@warps == 0) goto Lnowarpmenu;

Lallmenu:
menu "Save",Lsave,"Use Storage",Lstorage,"Use Teleport Service",Lwarp,"Rent a Cart",Lcart,"Check Other Information",Lother,"Cancel",Lcancel;

Lwarpmenu:
menu "Save",Lsave,"Use Storage",Lstorage,"Use Teleport Service",Lwarp,"Rent a Cart",Lcart,"Cancel",Lcancel;

Lnowarpmenu:
menu "Save",Lsave,"Use Storage",Lstorage,"Rent a Cart",Lcart,"Cancel",Lcancel;

Lsave:
callfunc "kafrasave";
break;

Lstorage:
callfunc "kafrastorage";
break;

Lwarp:
callfunc "kafrawarps";
break;

Lcart:
callfunc "kafracart";
break;

Lother:
callfunc "kafrainfo";
break;

Lcancel:
callfunc "kafraend";
break;
}
//**********************************************//
//Kafra Save                                    //
//**********************************************//
//This will handle the save function for all the//
//kafras.                                       //
//**********************************************//
function	script	kafrasave	-1,{
if (@save == 1) goto Lsavein;
mes "[Kafra]";
mes "Where would you like to save?";
next;
menu "Save Outside City",Lsaveout,"Save Inside City",Lsavein;

Lsavein:
 savepoint @save1map$,@save1x,@save1y;
 mes "[Kafra]";
 mes "Your respawn point has been saved. Thank you.";
 callfunc "kafraend";
 break;

Lsaveout:
 savepoint @save2map$,@save2x,@save2y;
 mes "[Kafra]";
 mes "Your respawn point has been saved. Thank you.";
 callfunc "kafraend";
 break;
}
//**********************************************//
//Kafra Storage                                 //
//**********************************************//
//This will handle the storage functions for    //
//all the kafras.                               //
//**********************************************//
function	script	kafrastorage	-1,{
if (getskilllv(1) < 6) goto NeedJobLevel;
if (Zeny < 30) goto NeedZenys;
set specialreserve,specialreserve + 30;
set Zeny, Zeny - 30;
mes "[Kafra]";
mes "Ok let me just open your storage for you.";
openstorage;
callfunc "kafraend";
break;

NeedJobLevel:
 mes "[Kafra]";
 mes "I'm sorry but you must have Basic Skill 6 to use storage.";
 callfunc "kafraend";
 break;

NeedZenys:
 mes "[Kafra]";
 mes "I'm sorry but you are short on Zeny.";
 callfunc "kafraend";
 break;
}
//**********************************************//
//Kafra Warps                                   //
//**********************************************//
//This will handle all the actual warping and   //
//the payment of Zeny                           //
//**********************************************//
function	script	kafrawarps	-1,{
mes "[Kafra]";
mes "Please choose your destination.";
next;
if (@warps == 7) goto L7;
if (@warps == 6) goto L6;
if (@warps == 5) goto L5;
if (@warps == 4) goto L4;
if (@warps == 3) goto L3;
if (@warps == 2) goto L2;

L2:
 menu @warp1$ + " -> " + @warp1zeny,Lwarp1,@warp2$ + " -> " + @warp2zeny,Lwarp2,"Cancel",Lcancel;

L3:
 menu @warp1$ + " -> " + @warp1zeny,Lwarp1,@warp2$ + " -> " + @warp2zeny,Lwarp2,@warp3$ + " -> " + @warp3zeny,Lwarp3,"Cancel",Lcancel;

L4:
 menu @warp1$ + " -> " + @warp1zeny,Lwarp1,@warp2$ + " -> " + @warp2zeny,Lwarp2,@warp3$ + " -> " + @warp3zeny,Lwarp3,@warp4$ + " -> " + @warp4zeny,Lwarp4,"Cancel",Lcancel;

L5:
 menu @warp1$ + " -> " + @warp1zeny,Lwarp1,@warp2$ + " -> " + @warp2zeny,Lwarp2,@warp3$ + " -> " + @warp3zeny,Lwarp3,@warp4$ + " -> " + @warp4zeny,Lwarp4,@warp5$ + " -> " + @warp5zeny,Lwarp5,"Cancel",Lcancel;

L6:
 menu @warp1$ + " -> " + @warp1zeny,Lwarp1,@warp2$ + " -> " + @warp2zeny,Lwarp2,@warp3$ + " -> " + @warp3zeny,Lwarp3,@warp4$ + " -> " + @warp4zeny,Lwarp4,@warp5$ + " -> " + @warp5zeny,Lwarp5,@warp6$ + " -> " + @warp6zeny,Lwarp6,"Cancel",Lcancel;

L7:
 menu @warp1$ + " -> " + @warp1zeny,Lwarp1,@warp2$ + " -> " + @warp2zeny,Lwarp2,@warp3$ + " -> " + @warp3zeny,Lwarp3,@warp4$ + " -> " + @warp4zeny,Lwarp4,@warp5$ + " -> " + @warp5zeny,Lwarp5,@warp6$ + " -> " + @warp6zeny,Lwarp6,@warp7$ + " -> " + @warp7zeny,Lwarp7,"Cancel",Lcancel;

Lwarp1:
 if (Zeny < @warp1zeny) goto Lneedzeny;
 set specialreserve,specialreserve + @warp1zeny;
 set Zeny,Zeny - @warp1zeny;
 warp @warp1name$,@warp1x,@warp1y;
 set @end,1;
 callfunc "kafraend";
 break;

Lwarp2:
 if (Zeny < @warp2zeny) goto Lneedzeny;
 set specialreserve,specialreserve + @warp2zeny;
 set Zeny,Zeny - @warp2zeny;
 warp @warp2name$,@warp2x,@warp2y;
 set @end,1;
 callfunc "kafraend";
 break;

Lwarp3:
 if (Zeny < @warp3zeny) goto Lneedzeny;
 set specialreserve,specialreserve + @warp3zeny;
 set Zeny,Zeny - @warp3zeny;
 warp @warp3name$,@warp3x,@warp3y;
 set @end,1;
 callfunc "kafraend";
 break;

Lwarp4:
 if (Zeny < @warp4zeny) goto Lneedzeny;
 set specialreserve,specialreserve + @warp4zeny;
 set Zeny,Zeny - @warp4zeny;
 warp @warp4name$,@warp4x,@warp4y;
 set @end,1;
 callfunc "kafraend";
 break;

Lwarp5:
 if (Zeny < @warp5zeny) goto Lneedzeny;
 set specialreserve,specialreserve + @warp5zeny;
 set Zeny,Zeny - @warp5zeny;
 warp @warp5name$,@warp5x,@warp5y;
 set @end,1;
 callfunc "kafraend";
 break;

Lwarp6:
 if (Zeny < @warp6zeny) goto Lneedzeny;
 set specialreserve,specialreserve + @warp6zeny;
 set Zeny,Zeny - @warp6zeny;
 warp @warp6name$,@warp6x,@warp6y;
 set @end,1;
 callfunc "kafraend";
 break;

Lwarp7:
 if (Zeny < @warp7zeny) goto Lneedzeny;
 set specialreserve,specialreserve + @warp7zeny;
 set Zeny,Zeny - @warp7zeny;
 warp @warp7name$,@warp7x,@warp7y;
 set @end,1;
 callfunc "kafraend";
 break;

Lneedzeny:
 mes "[Kafra]";
 mes "I'm sorry you don't have the necessary amount of zeny.";
 callfunc "kafraend";
 break;

Lcancel:
 mes "[Kafra]";
 mes "Ok, Come again soon.";
 callfunc "kafraend";
 break;
}
//**********************************************//
//Kafra Cart                                    //
//**********************************************//
//This will handle the cart rental function for //
//all the Kafras.                               //
//**********************************************//
function	script	kafracart	-1,{
if ((class == Job_Merchant) || (class == Job_Blacksmith) || (class == Job_Alchem) || (class == Job_Merchant_High) || (class == Job_Whitesmith) || (class == Job_Creator)) goto Lrentcart;
mes "[Kafra]";
mes "Sorry this service is only provided for Merchant classes.";
callfunc "kafraend";
break;

Lrentcart:
 if (getskilllv(39) < 1) goto Lnopush;
 mes "[Kafra]";
 mes "The cart rental fee is 800 zeny. Do you want to rent a cart?";
 next;
 menu "Rent a Cart",Lrent,"Cancel",Lcancel;

Lrent:
 if (Zeny < 800) goto Lneedzeny;
 set specialreserve,specialreserve + 800;
 set Zeny,Zeny - 800;
 setcart;
 mes "[Kafra]";
 mes "There ya go...";
 callfunc "kafraend";
 break;

Lnopush:
 mes "[Kafra]";
 mes "Sorry but you must have at least ^ff0000Pushcart^000000 level 1.";
 callfunc "kafraend";
 break;

Lneedzeny:
 mes "[Kafra]";
 mes "Sorry but you don't have the zeny.";
 callfunc "kafraend";
 break;

Lcancel:
 mes "[Kafra]";
 mes "Ok. Goodbye then";
 callfunc "kafraend";
 break;
}
//**********************************************//
//Kafra Information                             //
//**********************************************//
//This will handle the extra Kafra functions    //
//such as your kafra points and the locations of//
//other kafras.                                 //
//**********************************************//
function	script	kafrainfo	-1,{
if (@kaflocations == 1) goto Lfullmenu;
menu "Check Special Reserve Points",Lreserve,"Cancel",Lcancel;

Lfullmenu:
 menu "Check Special Reserve Points",Lreserve,"Location Tip",Llocation,"Cancel",Lcancel;

Lreserve:
 mes "[Kafra]";
 mes strcharinfo(0) + ", you have accumulated " + specialreserve + " Special Reserve Points.";
 next;
 mes "[Kafra]";
 mes "You can redeem your points at our Headquarters in Al De Baran.";
 callfunc "kafraend";
 break;

Llocation:
 mes "[Kafra]";
 mes "Ok I'll mark them on your map.";
 if (@location1x == 0) goto Lfinished;
 viewpoint 0,@location1x,@location1y,1,0x0000FF;
 if (@location2x == 0) goto Lfinished;
 viewpoint 1,@location2x,@location2y,1,0x0000FF;
 if (@location3x == 0) goto Lfinished;
 viewpoint 2,@location3x,@location3y,1,0x0000FF;
 if (@location4x == 0) goto Lfinished;
 viewpoint 3,@location4x,@location4y,1,0x0000FF;
 callfunc "kafraend";
 break;

Lfinished:
 callfunc "kafraend";
 break;

Lcancel:
 mes "[Kafra]";
 mes "Ok. Bye then...";
 callfunc "kafraend";
 break;
}
//**********************************************//
//End Kafra Function                            //
//**********************************************//
//This will empty all possible variables and end//
//the kafra scripts.                            //
//**********************************************//
function	script	kafraend	-1,{
set @warps,0;
set @save,0;
set @special,0;
set @kaflocations,0;
set @location1x,0;
set @location2x,0;
set @location3x,0;
set @location4x,0;
if (@end == 1) goto Lbreak;
cutin @cutinpic$,255;
close;

Lbreak:
 set @end,0;
 cutin @cutinpic$,255;
 break;
}
//---Kafra Warehouse---
aldeba_in.gat,24,245,4	script	 Kafra Service	115,{
	cutin "kafra_03",2;
	mes "[Kapra Jasmine]";
	mes "Hi~ I am Kafra No. 1 Type Jasmine.";
	mes "Thank you for comming all the way to Kafra Main Office here at Al De Baran!";
	next;
	mes "[Kapra Jasmine]";
	mes "Our Kapra Service is always together with our customers!";
	mes "Our Kapra Service has a history and legacy of 5 thousand 8 hundred years old...";
	mes "Blah-blah-blah.....";
	next;
	menu "FIVE THOUSNAD AND EIGHT HUNDRED YEARS?!",L0,"Ahh~ Shut Up!",L1,"You go a boyfriend?",L3;
	
	L0:
		mes "[Kapra Jasmine]";
		mes "Shut UP! And listen! It to me a week to memorice this!";
		mes "I've got poor memory unlike other Kafra agents!";
		mes "..... Eh!... What did I just say...";
		next;
		mes "[Kapra Jasmine]";
		mes "Hohohoho. S-sorry... I-it was a show, a standing comedy...";
		mes "Right... Dream Show only for Ka-Kafra customers~!";
		mes "(but a solo show)";
		close;
	L1:
		mes "[Kapra Jasmine]";
		mes ". . . . .";
		mes "I was the member of Kafra Garrion before I joined Kafra Service Team...";
		mes "The speciality was 'Bash'!!";
		mes "I'm trying to be feminine and live a quiet life";
		mes "So please don0t tempt me...";
		close;
	L2:
		mes "[Kapra Jasmine]";
		mes "My, my~. Kafra Service has a ridiculous rule that no Agent can have a boyfriend";
		mes ". . . . .";
		mes ". . . . . . . . . .";
		next;
		mes "[Kapra Jasmine]";
		mes "Just kidding~~ Hehe";
		close;
}

aldeba_in.gat,79,161,6	script	Kafra	115,{
	mes "[Kafra]";
	mes "Welcome, my dearest " + strcharinfo(0) + ".";
	mes "Take goods as many as you've got speacial reserve from Kafra Service~";
	next;
	mes "[Kafra]";
	mes "Please keep in mind that each window requires a different special reserve for your information.";
	mes "Window I am at allows you to use special reserve form ^FF00FF100p to 3000p^000000.";
	next;
	mes "[Kafra]";
	mes "Your special reserve is ^FF0000" + specialreserve + "^000000~";
	mes "Please choose the items you want.";
	next;
	menu "100 = Carrot 7 ea",100,"200 = Carrot 15 ea",200,"300 = Carrot 25 ea",300,"400 = Carrot 35 ea",400,"500 = Carrot 50 ea",500,"600 = Carrot 60 ea",600,"700 = Carrot 75 ea",700,"800 = Carrot 85 ea",800,"900 = Carrot 100 ea",900,"1000 = 1st Lotery Chance!",1000,"Next Articles",L0,"Cancel",LEnd;

	100:
		if(specialreserve < 100) goto Lneedpoints;
		mes "[Kafra]";
		mes "Good choice... Here ya go.";
		getitem 515,7;
		set specialreserve,specialreserve - 100;
		close;
	200:
		if(specialreserve < 200) goto Lneedpoints;
		mes "[Kafra]";
		mes "Good choice... Here ya go.";
		getitem 515,15;
		set specialreserve,specialreserve - 200;
		close;
	300:
		if(specialreserve < 300) goto Lneedpoints;
		mes "[Kafra]";
		mes "Good choice... Here ya go.";
		getitem 515,25;
		set specialreserve,specialreserve - 300;
		close;
	400:
		if(specialreserve < 400) goto Lneedpoints;
		mes "[Kafra]";
		mes "Good choice... Here ya go.";
		getitem 515,35;
		set specialreserve,specialreserve - 400;
		close;
	500:
		if(specialreserve < 500) goto Lneedpoints;
		mes "[Kafra]";
		mes "Good choice... Here ya go.";
		getitem 515,50;
		set specialreserve,specialreserve - 500;
		close;
	600:
		if(specialreserve < 600) goto Lneedpoints;
		mes "[Kafra]";
		mes "Good choice... Here ya go.";
		getitem 515,60;
		set specialreserve,specialreserve - 600;
		close;
	700:
		if(specialreserve < 700) goto Lneedpoints;
		mes "[Kafra]";
		mes "Good choice... Here ya go.";
		getitem 515,75;
		set specialreserve,specialreserve - 700;
		close;
	800:
		if(specialreserve < 800) goto Lneedpoints;
		mes "[Kafra]";
		mes "Good choice... Here ya go.";
		getitem 515,85;
		set specialreserve,specialreserve - 800;
		close;
	900:
		if(specialreserve < 900) goto Lneedpoints;
		mes "[Kafra]";
		mes "Good choice... Here ya go.";
		getitem 515,100;
		set specialreserve,specialreserve - 900;
		close;
	1000:
		mes "^FF0000Under Construction^000000";
		close;
	L0:
		menu "1100 = Red Potion 7 ea",1100,"1300 = Red Potion 15 ea",1300,"1500 = Red Potion 25 ea",1500,"1700 = Red Potion 35 ea",1700,"1900 = Red Potion 50 ea",1900,"2100 = Red Potion 60 ea",2100,"2300 = Red Potion 75 ea",2300,"2500 = Red Potion 85 ea",2500,"2800 = Red Potion 100 ea",2800,"3000 = 2nd Lotery Chance!",3000,"Cancel",EndL0;
		
		1100:
			if(specialreserve < 1100) goto Lneedpoints;
			mes "[Kafra]";
			mes "Good choice... Here ya go.";
			getitem 501,7;
			set specialreserve,specialreserve - 1100;
			close;
		1300:
			if(specialreserve < 1300) goto Lneedpoints;
			mes "[Kafra]";
			mes "Good choice... Here ya go.";
			getitem 501,15;
			set specialreserve,specialreserve - 1300;
			close;
		1500:
			if(specialreserve < 1500) goto Lneedpoints;
			mes "[Kafra]";
			mes "Good choice... Here ya go.";
			getitem 501,25;
			set specialreserve,specialreserve - 1500;
			close;
		1700:
			if(specialreserve < 1700) goto Lneedpoints;
			mes "[Kafra]";
			mes "Good choice... Here ya go.";
			getitem 501,35;
			set specialreserve,specialreserve - 1700;
			close;
		1900:
			if(specialreserve < 1900) goto Lneedpoints;
			mes "[Kafra]";
			mes "Good choice... Here ya go.";
			getitem 501,50;
			set specialreserve,specialreserve - 1900;
			close;
		2100:
			if(specialreserve < 2100) goto Lneedpoints;
			mes "[Kafra]";
			mes "Good choice... Here ya go.";
			getitem 501,60;
			set specialreserve,specialreserve - 2100;
			close;
		2300:
			if(specialreserve < 2300) goto Lneedpoints;
			mes "[Kafra]";
			mes "Good choice... Here ya go.";
			getitem 501,75;
			set specialreserve,specialreserve - 2300;
			close;
		2500:
			if(specialreserve < 2500) goto Lneedpoints;
			mes "[Kafra]";
			mes "Good choice... Here ya go.";
			getitem 501,85;
			set specialreserve,specialreserve - 2500;
			close;
		2800:
			if(specialreserve < 2800) goto Lneedpoints;
			mes "[Kafra]";
			mes "Good choice... Here ya go.";
			getitem 501,100;
			set specialreserve,specialreserve - 2800;
			close;
		3000:
			mes "^FF0000Under Construction^000000";
			close;
Lend:
	mes "[Kafra]";
	mes "Ok then... Come again if you change your mind.";
	close;
}

aldeba_in.gat,81,166,4	script	Kafra Service	117,{
	cutin "kafra_01",2;
	mes "[Kafra Pavianne]";
	mes "Welcome! I'm Kafra service's the first Kapra Type 'Pavianne'";
	next;
	mes "[Kafra Pavianne]";
	mes "Our Kapra Service is always trying to meet 100% customers satisfaction based on 3 principles, Trust, Devotion and Truest.";
	mes "With complete Service training and supervision, we serve our customers to meet thier needs.";
	next;
	menu "Buy Kafra Pass",L0,"What is Kafra Pass",L1,"Good Bye",L3;
	
	L0:
		getitem 1084,1;
		set Zeny, Zeny-2000;
		mes "[Kafra Pavianne]";
		mes "Thank you for using our Kapra Service all the time!";
		mes "Have a Nice Day!";
		cutin "kafra_01",255;
		close;
	L1:
		mes "[Kafra Pavianne]";
		mes "The best gift you could get only at Kafra Main Office!";
		mes "^4040FF'K A P R A's   P A S S'^000000!!";
		mes "TaDa~!";
		next;
		mes "[Kafra Pavianne]";
		mes "With Kafra Pass, you could experience the convenience of Kafra Service world-wide! No Hassle!";
		mes "The price is 2000 zeny~~";
		next;
		mes "[Kafra Pavianne]";
		mes "Visit any Kafra Service in Midgard, and you could enjoy Kafra Service any time any where for once.";
		mes "Ending a a conversation with Kafra Service Agent will expire the pass.";
		cutin "kafra_01",255;
		close;
	L3:
		mes "[Kafra Pavianne]";
		mes "Thank you for using Kafra Service!";
		mes "It was Kafra Pavianne";
		cutin "kafra_01",255;
		close;
}

aldeba_in.gat,83,244,4	script	Kafra Service	116,{
	cutin "kafra_02",2;
	mes "[Kafra Blossom]";
	mes "..... Pavianne is such an old-timer!";
	mes "Too stubborn...";
	mes "We should make customers to experience more unique, never-seen, aspects of Kafra here at Main Office.";
	next;
	mes "[Kafra Blossom]";
	mes "Now! WELCOOOOOME~~ I am Kafra Tailing Type.";
	mes "Please don't forget to continue using our Kafra Service, and ask for me, Tailing~~";
	next;
	menu "I'm an admirer of you~!",L0,"Ehhaha",L1;
	
	L0:
		mes "[Kafra Blossom]";
		mes "Really!";
		mes "Thank you sooo much~";
		mes "Here is... my... autograph...";
		next;
		mes "[Kafra Blossom]";
		mes "Don't even bother to look in your Item Iventory. It won't be there... Hehe..";
		mes "My autograph will remail win your heart.";
		cutin "kafra_02",255;
		close;
	L1:
		mes "[Kafra Blossom]";
		mes "Huh?";
		mes ". . . . .";
		mes "That's all?";
		mes "Phew~ such a dull customer...";
		cutin "kafra_02",255;
		close;
}

aldeba_in.gat,91,244,4	script	Kafra Service	112,{
	cutin "kafra_06",2;
	mes "[Kafra Curly Sue]";
	mes "Hello, hello?!!";
	mes "The youngest of all! Kafra cutty~~";
	mes "I am Kafra Type 'Curly Sue'";
	next;
	mes "[Kafra Curly Sue]";
	mes "It hasn't been long meeting customers since I am new, but I am always doing my best!!";
	next;
	menu "Where is your mom?",L0,"End conversation",LEnd;
	
	L0:
		mes "[Kafra Curly Sue]";
		mes ". . . . .";
		mes "Sob sob ...";
		mes "I am no a KID!!";
		next;
		cutin "kafra_06",255;
		close;
	LEnd:
		mes "[Kafra Curly Sue]";
		mes "Here at Kafra Service, We're all doing out B-E-S-T! to provide our customers the B-E-S-T! services.";
		mes "We really appreciate your business with us.";
		next;
		cutin "kafra_06",255;
		close;
}

aldeba_in.gat,96,181,4	script	Kafra Service	113,{
	cutin "kafra_05",2;
	mes "[Kafra Leilah]";
	mes "Kafra Service.";
	mes "What can I do for you?";
	next;
	menu "Save.",Lsave,"Use Storage Service",Lstorage,"Use Cart Service.",Lcart,"End conversation.",Lcancel;

	Lsave:
		mes "[Kafra Leilah]";
		mes "Please. This is Kafra Service Command Center in charge of training Kafra Service Agent.";
		next;
		mes "[Kafra Leilah]";
		mes "For Actual Services you must visit Kafra Service Center Agent at each city including Al De Baran.";
		mes "... But I will do that for you...";
		next;
		savepoint "aldeba_in.gat",96,179;		
		cutin "kafra_05",255;
		close;
	Lstorage:
		if((class ==Job_Novice) && (JobLevel<6)) goto NeedJobLevel;
		if(Zeny<30) goto NeedZenys;
		set Zeny, Zeny-30;
		openstorage;
		cutin "kafra_02",255;
		close;

                NeedJobLevel:
                	mes "[Kafra Leilah]";
                	mes "I am sorry but you have to be at least novice with job level 6 if you want to use the storage";
                	cutin "kafra_05",255;
                	close;
                NeedZenys:
	                mes "[Kafra Leilah]";
                	mes "Dear, you don't have enough zeny. The Storage fee is 30 Zeny.";
                	cutin "kafra_05",255;
                	close;
	Lcart:
		if((class ==Job_Merchant) || (class==Job_Blacksmith) || (class==Job_Alchem)) goto UseCart;
		mes "[Kafra Leilah]";
		mes "I'm sorry. The cart service is only provided for Merchants, Blacksmiths and Alchemists only.";
		cutin "kafra_04",255;
		close;

		UseCart:
			mes "[Kafra Leilah]";
			mes "The Cart Fee is 800 Zeny. Do you want to Rent a Cart?";
			next;
			menu "Rent a Cart.",RentCart,"Cancel.",RCCancel;

			RentCart:
				if(Zeny<800) goto RCNeedZenys;
				if(getskilllv(39) < 1) got Lneedskill;
				if((CheckCart)==1) goto GetCart;
			
				GetCart:
					set Zeny,Zeny-800;
					set specialreserve,specialreserve + 800;
					setcart;
					mes "[Kafra]";
					mes "There you go..";
					cutin "kafra_08",255;
					close;
			RCNeedZenys:
				mes "[Kafra Leilah]";
				mes "Dear, you don't have enough zeny. You need 800 Zeny.";
				cutin "kafra_04",255;
				close;
			Lneedskill:
				mes "[Kafra Leilah]";
				mes "Sorry dear but you need the Pushcart skill to rent a cart.";
				cutin "kafra_04",255;
				close;
		RCCancel:
			cutin "kafra_04",255;
			close;
	Lcancel:
		cutin "kafra_05",2;
		close;
}	

aldeba_in.gat,142,238,4	script	Kafra Service	114,{
	cutin "kafra_04",2;
	mes "[Kafra Roxie]";
	mes "Welcome! I'm Kafra Type 'Roxie'";
	mes "The Special Secret about Kapra only for you Kapra!";
	next;
	mes "[Kafra Roxie]";
	mes "You know... Our Kapra Service wasn't actually called Kapra originally~~";
	mes "Well what do you think it actually was?~";
	next;
	mes "[Kafra Roxie]";
	mes "TaDa~ Surprisingly it was~~~!";
	mes "Ka! P (Ring Ring Ring)";
	mes "Oh... my phone... Sorry please wait...";
	next;
	mes "[Kafra Roxie]";
	mes "Hi? Kapra Type Roxie";
	mes "Huh! Director, sir! Yes! Yes! I understand! ..... Sure!";
	mes "Ah... Huh?!";
	next;
	mes "[Kafra Roxie]";
	mes "No-no sir!";
	mes "Yes! I understand!!";
	next;
	mes "[Kafra Roxie]";
	mes "*Click*";
	mes "..... Hehehe...";
	mes ". . . . .";
	next;
	mes "[Kafra Roxie]";
	mes "Ah... Please ignore what you've just heard from me, haha.";
	mes ". . . . .";
	close;
}