Merge branch 'rathena/master'

This commit is contained in:
Cydh Ramdh 2014-03-27 13:48:41 +07:00
commit f756d7e249
18 changed files with 246 additions and 115 deletions

View File

@ -138,7 +138,7 @@
2479:2580:2890:15042,{ bonus bAspd,2; bonus2 bSkillAtk,"RA_ARROWSTORM",50; bonus bLongAtkRate,30; bonus3 bAutoSpell,"AC_DOUBLE",(getskilllv("AC_DOUBLE") < 3)?3:getskilllv("AC_DOUBLE"),20; } 2479:2580:2890:15042,{ bonus bAspd,2; bonus2 bSkillAtk,"RA_ARROWSTORM",50; bonus bLongAtkRate,30; bonus3 bAutoSpell,"AC_DOUBLE",(getskilllv("AC_DOUBLE") < 3)?3:getskilllv("AC_DOUBLE"),20; }
2480:2581:2891:15043,{ bonus bMaxHPRate,15; bonus bFlee2,20; bonus2 bSkillAtk,"RA_CLUSTERBOMB",20; bonus bLongAtkRate,-30; bonus bAspd,-7; } 2480:2581:2891:15043,{ bonus bMaxHPRate,15; bonus bFlee2,20; bonus2 bSkillAtk,"RA_CLUSTERBOMB",20; bonus bLongAtkRate,-30; bonus bAspd,-7; }
2483:2586:15046,{ bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; } 2483:2586:15046,{ bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; }
2484:2587:15047,{ bonus bDex,5; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; } 2484:2586:15047,{ bonus bDex,5; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; }
2485:2587:15048,{ bonus bInt,5; bonus bMdef,10; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; } 2485:2587:15048,{ bonus bInt,5; bonus bMdef,10; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; }
2518:2648:2649:5126,{ bonus bInt,5; bonus bMdef,11; bonus bMaxSPrate,20; bonus bNoCastCancel,0; bonus bVariableCastrate,25; } 2518:2648:2649:5126,{ bonus bInt,5; bonus bMdef,11; bonus bMaxSPrate,20; bonus bNoCastCancel,0; bonus bVariableCastrate,25; }
2519:2650:2651:5127,{ bonus bStr,2; bonus bLuk,9; bonus bCritical,13; bonus bBaseAtk,18; bonus bFlee2,13; } 2519:2650:2651:5127,{ bonus bStr,2; bonus bLuk,9; bonus bCritical,13; bonus bBaseAtk,18; bonus bFlee2,13; }

View File

@ -2579,12 +2579,12 @@
4571,Gertie_Card,Gertie Card,6,20,,10,,,,,,,,4,,,,,{ bonus bFlee,10; skill "RG_CLOSECONFINE",1; },{},{} 4571,Gertie_Card,Gertie Card,6,20,,10,,,,,,,,4,,,,,{ bonus bFlee,10; skill "RG_CLOSECONFINE",1; },{},{}
4572,Randel_Card,Randel Card,6,20,,10,,,,,,,,4,,,,,{ bonus bFlee,10; skill "CR_AUTOGUARD",3; },{},{} 4572,Randel_Card,Randel Card,6,20,,10,,,,,,,,4,,,,,{ bonus bFlee,10; skill "CR_AUTOGUARD",3; },{},{}
4573,Trentini_Card,Trentini Card,6,20,,10,,,,,,,,4,,,,,{ bonus bFlee,10; if(BaseJob==Job_Dancer) { bonus bMaxHPrate,10; bonus bMaxSPrate,5;} },{},{} 4573,Trentini_Card,Trentini Card,6,20,,10,,,,,,,,4,,,,,{ bonus bFlee,10; if(BaseJob==Job_Dancer) { bonus bMaxHPrate,10; bonus bMaxSPrate,5;} },{},{}
4574,General_Daehyon_Card,General Daehyon Card,6,20,,10,,,,,,,,2,,,,,{ if((getiteminfo(getequipid(EQI_HAND_R),14) == 3) || (getiteminfo(getequipid(EQI_HAND_R),14) == 4)) { bonus bBaseAtk,100; } },{},{} 4574,General_Daehyon_Card,General Daehyon Card,6,20,,10,,,,,,,,2,,,,,{ if((getiteminfo(getequipid(EQI_HAND_R),11) == 3) || (getiteminfo(getequipid(EQI_HAND_R),11) == 4)) { bonus bBaseAtk,100; } },{},{}
4575,Armed_Guard_Soheon_Card,Armed Guard Soheon Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,10; if(getiteminfo(getequipid(EQI_HAND_R),14) == 1) { if(getrefine()>=10) { bonus bAspd,1; } if(getrefine()>=14) { bonus bAspd,1; } } },{},{} 4575,Armed_Guard_Soheon_Card,Armed Guard Soheon Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,10; if(getiteminfo(getequipid(EQI_HAND_R),11) == 1) { if(getrefine()>=10) { bonus bAspd,1; } if(getrefine()>=14) { bonus bAspd,1; } } },{},{}
4576,Gioia_Card,Gioia Card,6,20,,10,,,,,,,,4,,,,,{ bonus2 bMagicAtkEle,4,100; bonus2 bMagicAtkEle,8,100; bonus2 bSubEle,0,-30; bonus2 bSubEle,1,-30; bonus2 bSubEle,2,-30; bonus2 bSubEle,3,-30; bonus2 bSubEle,4,-30; bonus2 bSubEle,5,-30; bonus2 bSubEle,6,-30; bonus2 bSubEle,7,-30; bonus2 bSubEle,8,-30; bonus2 bSubEle,9,-30; },{},{} 4576,Gioia_Card,Gioia Card,6,20,,10,,,,,,,,4,,,,,{ bonus2 bMagicAtkEle,4,100; bonus2 bMagicAtkEle,8,100; bonus2 bSubEle,0,-30; bonus2 bSubEle,1,-30; bonus2 bSubEle,2,-30; bonus2 bSubEle,3,-30; bonus2 bSubEle,4,-30; bonus2 bSubEle,5,-30; bonus2 bSubEle,6,-30; bonus2 bSubEle,7,-30; bonus2 bSubEle,8,-30; bonus2 bSubEle,9,-30; },{},{}
4577,Elvira_Card,Elvira Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bMagicAtkEle,4,20; bonus2 bMagicAtkEle,8,20; },{},{} 4577,Elvira_Card,Elvira Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bMagicAtkEle,4,20; bonus2 bMagicAtkEle,8,20; },{},{}
4578,Angry_Student_Pyuriel_Card,Angry Student Pyuriel Card,6,20,,10,,,,,,,,2,,,,,{ bonus bCritAtkRate,30; bonus2 bSubRace,0,-10; bonus2 bSubRace,1,-10; bonus2 bSubRace,2,-10; bonus2 bSubRace,3,-10; bonus2 bSubRace,4,-10; bonus2 bSubRace,5,-10; bonus2 bSubRace,6,-10; bonus2 bSubRace,7,-10; bonus2 bSubRace,8,-10; bonus2 bSubRace,9,-10; },{},{} 4578,Angry_Student_Pyuriel_Card,Angry Student Pyuriel Card,6,20,,10,,,,,,,,2,,,,,{ bonus bCritAtkRate,30; bonus2 bSubRace,0,-10; bonus2 bSubRace,1,-10; bonus2 bSubRace,2,-10; bonus2 bSubRace,3,-10; bonus2 bSubRace,4,-10; bonus2 bSubRace,5,-10; bonus2 bSubRace,6,-10; bonus2 bSubRace,7,-10; bonus2 bSubRace,8,-10; bonus2 bSubRace,9,-10; },{},{}
4579,Warrior_Lola_Card,Warrior Lola Card,6,20,,10,,,,,,,,2,,,,,{ if(getiteminfo(getequipid(EQI_HAND_R),14) == 8) { bonus bBaseAtk,20; bonus bCritical,10; } bonus bBaseAtk,getrefine(); bonus bCritical,getrefine(); },{},{} 4579,Warrior_Lola_Card,Warrior Lola Card,6,20,,10,,,,,,,,2,,,,,{ if(getiteminfo(getequipid(EQI_HAND_R),11) == 8) { bonus bBaseAtk,20; bonus bCritical,10; } bonus bBaseAtk,getrefine(); bonus bCritical,getrefine(); },{},{}
4580,Dark_Guardian_Kades_Card,Dark Guardian Kades Card,6,20,,10,,,,,,,,4,,,,,{ bonus2 bSubEle,1,50; bonus2 bSubEle,2,50; bonus2 bSubEle,3,50; bonus2 bSubEle,4,50; bonus2 bSubEle,7,50; bonus2 bSubEle,9,50; bonus2 bSubEle,6,-100; bonus2 bSubEle,8,-100; },{},{} 4580,Dark_Guardian_Kades_Card,Dark Guardian Kades Card,6,20,,10,,,,,,,,4,,,,,{ bonus2 bSubEle,1,50; bonus2 bSubEle,2,50; bonus2 bSubEle,3,50; bonus2 bSubEle,4,50; bonus2 bSubEle,7,50; bonus2 bSubEle,9,50; bonus2 bSubEle,6,-100; bonus2 bSubEle,8,-100; },{},{}
4581,Rudo_Card,Rudo Card,6,20,,10,,,,,,,,64,,,,,{ /* TODO: { heal 0,-40; bonus_script "{ bonus bAgi,44; }",3,15,0; sc_start SC_SpeedUp1,3000,0; } */},{},{} 4581,Rudo_Card,Rudo Card,6,20,,10,,,,,,,,64,,,,,{ /* TODO: { heal 0,-40; bonus_script "{ bonus bAgi,44; }",3,15,0; sc_start SC_SpeedUp1,3000,0; } */},{},{}
4582,Bungisngis_Card,Bungisngis Card,6,20,,10,,,,,,,,769,,,,,{ bonus bMaxHPrate,(getrefine()/2); },{},{} 4582,Bungisngis_Card,Bungisngis Card,6,20,,10,,,,,,,,769,,,,,{ bonus bMaxHPrate,(getrefine()/2); },{},{}
@ -2612,7 +2612,7 @@
4604,Realized_Corruption_Root_Card,Realized Corruption Root Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,30; bonus5 bAutoSpellWhenHit,"NPC_WIDESTONE",2,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,"NPC_WIDESLEEP",2,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,"NPC_WIDECURSE",2,70,BF_WEAPON,0; },{},{} 4604,Realized_Corruption_Root_Card,Realized Corruption Root Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,30; bonus5 bAutoSpellWhenHit,"NPC_WIDESTONE",2,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,"NPC_WIDESLEEP",2,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,"NPC_WIDECURSE",2,70,BF_WEAPON,0; },{},{}
4605,Agony_Of_Royal_Knight_Card,Agony Of Royal Knight Card,6,20,,10,,,,,,,,16,,,,,{ bonus bMaxHPrate,-44; bonus bHPGainValue,200+10*getrefine(); },{},{} 4605,Agony_Of_Royal_Knight_Card,Agony Of Royal Knight Card,6,20,,10,,,,,,,,16,,,,,{ bonus bMaxHPrate,-44; bonus bHPGainValue,200+10*getrefine(); },{},{}
4606,Grudge_of_Royal_Knight_Card,Grudge of Royal Knight Card,6,20,,10,,,,,,,,4,,,,,{ bonus bMaxSPrate,-44; bonus bSPGainValue,20+(getrefine()/2); },{},{ heal 0,-444; } 4606,Grudge_of_Royal_Knight_Card,Grudge of Royal Knight Card,6,20,,10,,,,,,,,4,,,,,{ bonus bMaxSPrate,-44; bonus bSPGainValue,20+(getrefine()/2); },{},{ heal 0,-444; }
4607,Faithful_Manager_Card,Faithful Manager Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,5; bonus bMatk,5; if(getiteminfo(getequipid(EQI_HAND_R),14) == 15) { if(getrefine()>=10) { bonus bBaseAtk,20; bonus bMatk,20; } if(getrefine()>=14) { bonus bBaseAtk,20; bonus bMatk,20; } } },{},{} 4607,Faithful_Manager_Card,Faithful Manager Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,5; bonus bMatk,5; if(getiteminfo(getequipid(EQI_HAND_R),11) == 15) { if(getrefine()>=10) { bonus bBaseAtk,20; bonus bMatk,20; } if(getrefine()>=14) { bonus bBaseAtk,20; bonus bMatk,20; } } },{},{}
4608,White_Knight_Card,White Knight Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,15; bonus2 bAddSize,Size_Medium,20; bonus2 bAddSize,Size_Large,20; },{},{} 4608,White_Knight_Card,White Knight Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,15; bonus2 bAddSize,Size_Medium,20; bonus2 bAddSize,Size_Large,20; },{},{}
4609,Khalitzburg_Knight_Card,Khalitzburg Knight Card,6,20,,10,,,,,,,,32,,,,,{ bonus bDef,20; bonus2 bSubSize,Size_Medium,25; bonus2 bSubSize,Size_Large,25; },{},{} 4609,Khalitzburg_Knight_Card,Khalitzburg Knight Card,6,20,,10,,,,,,,,32,,,,,{ bonus bDef,20; bonus2 bSubSize,Size_Medium,25; bonus2 bSubSize,Size_Large,25; },{},{}

View File

@ -1964,6 +1964,64 @@ with this command when a script is parsed.
--------------------------------------- ---------------------------------------
*switch (expression);
The switch statement is similar to a series of if statements on the same expression.
In many occasions, you may want to compare the same variable (or expression)
with many different values, and execute a different piece of code depending
on which value it equals to. This is exactly what the switch statement is for.
It is important to understand how the switch statement is executed in order
to avoid mistakes. The switch statement executes line by line (actually, statement by statement).
In the beginning, no code is executed. Only when a case statement is found
with a value that matches the value of the switch expression the case statement(s)
will to executed. The parser continues to execute the statements until the end
of the switch block, or the first time it sees a break statement. If you don't
write a break statement at the end of a case's statement list, the parser will
go on executing the statements of the following case (fall-through).
Example 1:
switch(select("Yes:No")) {
case 1:
mes "You said yes!";
break;
case 2:
mes "Aww, why?";
break;
}
close;
The example above would work like a menu and would go to the first case if
the user selects option, otherwise, would go to the second one.
Example 2:
switch(getgroupid()) {
case 1:
mes "Wow, you're super!";
break;
case 2:
mes "A helping hand!";
break;
case 3:
mes "10001010010011";
break;
case 4:
mes "Yes, milord?";
break;
default:
mes "Hello there!";
break;
}
The example above would print a message depending on the player's groupid.
If there is no statement declared for the corresponding groupid, the script
would use the 'default' statement that applies to rest of possible values,
similar to 'else' in the if-else statement.
---------------------------------------
*while (<condition>) <statement>; *while (<condition>) <statement>;
This is probably the simplest and most frequently used loop structure. The 'while' This is probably the simplest and most frequently used loop structure. The 'while'

View File

@ -49,7 +49,7 @@ bat_room,164,178,5 script KVM Mercenary Officer#1 418,{
if (BaseLevel > 79) warp "bat_room",169,223; if (BaseLevel > 79) warp "bat_room",169,223;
else if (BaseLevel < 60) warp "bat_room",197,223; else if (BaseLevel < 60) warp "bat_room",197,223;
else warp "bat_room",225,223; else warp "bat_room",225,223;
close; end;
case 2: case 2:
mes "[Guillaume Mercenary Officer]"; mes "[Guillaume Mercenary Officer]";
mes "We will win!"; mes "We will win!";
@ -149,7 +149,7 @@ bat_room,164,121,1 script KVM Mercenary Officer#2 414,{
if (BaseLevel > 79) warp "bat_room",169,207; if (BaseLevel > 79) warp "bat_room",169,207;
else if (BaseLevel < 60) warp "bat_room",197,207; else if (BaseLevel < 60) warp "bat_room",197,207;
else warp "bat_room",225,207; else warp "bat_room",225,207;
close; end;
case 2: case 2:
mes "[Croix Mercenary Officer]"; mes "[Croix Mercenary Officer]";
mes "We will win!"; mes "We will win!";

View File

@ -224,7 +224,7 @@ function script F_Invest_Abyss {
} }
} }
// Script Core // Script Core :: agit_fund
//============================================================ //============================================================
prt_gld,1,1,0 script #fund_master 844,{ prt_gld,1,1,0 script #fund_master 844,{
end; end;
@ -1252,7 +1252,7 @@ L_Enter:
} }
} }
// Item Investments // Item Investments :: tooja_namis
//============================================================ //============================================================
malangdo,218,126,4 script Cat Paw Merchants Notice 857,{ malangdo,218,126,4 script Cat Paw Merchants Notice 857,{
mes "<< Cat Paw Merchants Notice >>"; mes "<< Cat Paw Merchants Notice >>";
@ -1458,7 +1458,7 @@ OnTouch:
end; end;
} }
// Investment Rewards // Investment Rewards :: tooja_japanki
//============================================================ //============================================================
malangdo,215,119,4 script Thanks Ticket Machine 564,{ malangdo,215,119,4 script Thanks Ticket Machine 564,{
if (MaxWeight - Weight < 4500 || checkweight(1201,1) == 0) { if (MaxWeight - Weight < 4500 || checkweight(1201,1) == 0) {

View File

@ -18,6 +18,8 @@
//= 1.0 Added Malangdo Refiner "Holink". [Euphy] //= 1.0 Added Malangdo Refiner "Holink". [Euphy]
//============================================================ //============================================================
// Main NPC :: mal_jerun
//============================================================
malangdo,221,174,6 script Holink#mal_cash 559,{ malangdo,221,174,6 script Holink#mal_cash 559,{
disable_items; disable_items;
mes "[Holink]"; mes "[Holink]";

View File

@ -14,6 +14,8 @@
//= Updated dialogue to match the official script. //= Updated dialogue to match the official script.
//============================================================ //============================================================
// Main NPC :: craft_book_alche_skill_npc
//============================================================
alde_alche,31,186,3 script Craft Book Merchant#alde 883,{ alde_alche,31,186,3 script Craft Book Merchant#alde 883,{
mes "[Craft Book Merchant]"; mes "[Craft Book Merchant]";
mes "Welcome."; mes "Welcome.";

View File

@ -17,6 +17,8 @@
//= 1.0 First version. [Euphy] //= 1.0 First version. [Euphy]
//============================================================ //============================================================
// Main NPC :: new_smelting612
//============================================================
- script ::BlacksmithDister -1,{ - script ::BlacksmithDister -1,{
disable_items; disable_items;
mes "[Blacksmith Dister]"; mes "[Blacksmith Dister]";

View File

@ -1,5 +1,5 @@
//===== rAthena Script ======================================= //===== rAthena Script =======================================
//= Cash Shop NPCs //= idRO Cash Shop NPCs
//===== By: ================================================== //===== By: ==================================================
//= Cydh //= Cydh
//===== Current Version: ===================================== //===== Current Version: =====================================
@ -7,7 +7,7 @@
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= rAthena Project //= rAthena Project
//===== Description: ========================================= //===== Description: =========================================
//= Sell Cash shop items based on idRO's Cash shop //= Sells cash shop items based on idRO's cash shop.
//===== Additional Comments: ================================= //===== Additional Comments: =================================
//= 1.0 Initial release. 2014-Jan-13 [Cydh] //= 1.0 Initial release. 2014-Jan-13 [Cydh]
//= 1.1 2014-Jan-18 [Cydh] //= 1.1 2014-Jan-18 [Cydh]
@ -17,7 +17,6 @@
// - Added Cash Trader with special offer for Chinese New Year // - Added Cash Trader with special offer for Chinese New Year
//============================================================ //============================================================
//============================================================
// Main NPCs // Main NPCs
//============================================================ //============================================================
- cashshop idROCK::idRO_kafra 721,12202:150,12203:150,12204:150,12205:150,12206:150,12207:150,12208:200,12209:250,12909:375,12910:375,12213:25000,12214:250,12215:150,12216:150,12217:150,12218:150,12219:150,12220:150,7619:200,7620:150,7621:100,12210:200,5210:20000,2234:10000,2235:10000,2271:10000,5229:7500,5227:7500,5229:7500,5233:7500,5231:7500,5232:7500,5230:7500,5236:7500,5235:7500,5237:7500,5241:7500,5240:7500,5238:7500,5239:7500,5242:7500,5294:12500,5292:12500,5291:12500,5284:12500,5139:12500,5140:12500,13569:350,13849:250,13850:450,13851:250,13852:450,13853:250,13854:450,13855:205,13856:450,13857:400,13858:750,13905:5500,13906:32500,13907:2750,13908:20000,13909:1000,13910:3750,5478:12500,5385:12500,5137:12500,5491:12500,5335:12500,5463:12500,5293:12500,5198:12500,5289:12500,5258:12500,5143:12500,5334:12500,5099:12500,5211:12500,5333:12500,5288:12500,5257:12500,5285:12500,5189:12500,5146:12500,5142:12500,5138:12500,5188:12500,5212:12500,5181:12500,5182:12500,5129:12500,5185:12500,5186:12500,5253:12500,5256:12500,5287:12500,5490:12500,5501:12500,5502:12500,5498:12500,5495:12500,5503:12500,5499:12500,5505:12500,5496:12500,2289:5000,5066:5000,5003:5000,5497:12500,5504:6250,5508:12500,5467:12500,13420:12500,5364:12500,5546:12500,5545:12500,2291:725,2274:4250,5550:12500,5549:12500,5547:12500,5657:7500,5548:7500,5537:12500,5538:12500,5539:12500,5470:12500,5471:12500,5511:12500,5526:12500,5529:12500,5527:12500,5509:12500,5363:12500,5395:12500,5464:12500,5563:12500,5528:12500,5558:12500,5554:12500,5555:12500,5556:12500,5557:12500,5514:12500,5515:12500,5316:12500,6240:7500,6241:10000,5396:12500,5573:12500,15008:12500,7823:100,5584:12500,5765:12500,5766:12500,5767:12500,2855:12500,5789:12500,5790:12500,5776:12500,5413:12500,5594:12500,5585:12500,17079:12500,18533:12500,5777:12500,18531:12500,6114:100,6115:100,5148:12500,5530:12500,5359:15000,18616:7500,18618:10000,18626:15000,18589:12500,18596:12500,18619:12500,18620:12500,19507:12500,19515:12500,19517:12500,19516:12500,19509:12500,19510:10000,19513:7500,19514:7500,6046:2500,6047:2500 - cashshop idROCK::idRO_kafra 721,12202:150,12203:150,12204:150,12205:150,12206:150,12207:150,12208:200,12209:250,12909:375,12910:375,12213:25000,12214:250,12215:150,12216:150,12217:150,12218:150,12219:150,12220:150,7619:200,7620:150,7621:100,12210:200,5210:20000,2234:10000,2235:10000,2271:10000,5229:7500,5227:7500,5229:7500,5233:7500,5231:7500,5232:7500,5230:7500,5236:7500,5235:7500,5237:7500,5241:7500,5240:7500,5238:7500,5239:7500,5242:7500,5294:12500,5292:12500,5291:12500,5284:12500,5139:12500,5140:12500,13569:350,13849:250,13850:450,13851:250,13852:450,13853:250,13854:450,13855:205,13856:450,13857:400,13858:750,13905:5500,13906:32500,13907:2750,13908:20000,13909:1000,13910:3750,5478:12500,5385:12500,5137:12500,5491:12500,5335:12500,5463:12500,5293:12500,5198:12500,5289:12500,5258:12500,5143:12500,5334:12500,5099:12500,5211:12500,5333:12500,5288:12500,5257:12500,5285:12500,5189:12500,5146:12500,5142:12500,5138:12500,5188:12500,5212:12500,5181:12500,5182:12500,5129:12500,5185:12500,5186:12500,5253:12500,5256:12500,5287:12500,5490:12500,5501:12500,5502:12500,5498:12500,5495:12500,5503:12500,5499:12500,5505:12500,5496:12500,2289:5000,5066:5000,5003:5000,5497:12500,5504:6250,5508:12500,5467:12500,13420:12500,5364:12500,5546:12500,5545:12500,2291:725,2274:4250,5550:12500,5549:12500,5547:12500,5657:7500,5548:7500,5537:12500,5538:12500,5539:12500,5470:12500,5471:12500,5511:12500,5526:12500,5529:12500,5527:12500,5509:12500,5363:12500,5395:12500,5464:12500,5563:12500,5528:12500,5558:12500,5554:12500,5555:12500,5556:12500,5557:12500,5514:12500,5515:12500,5316:12500,6240:7500,6241:10000,5396:12500,5573:12500,15008:12500,7823:100,5584:12500,5765:12500,5766:12500,5767:12500,2855:12500,5789:12500,5790:12500,5776:12500,5413:12500,5594:12500,5585:12500,17079:12500,18533:12500,5777:12500,18531:12500,6114:100,6115:100,5148:12500,5530:12500,5359:15000,18616:7500,18618:10000,18626:15000,18589:12500,18596:12500,18619:12500,18620:12500,19507:12500,19515:12500,19517:12500,19516:12500,19509:12500,19510:10000,19513:7500,19514:7500,6046:2500,6047:2500
@ -32,7 +31,6 @@
- cashshop idROCA2::idRO_acc2 80,4253:7500,4113:3750,4268:2000,2888:5000,2751:5000 - cashshop idROCA2::idRO_acc2 80,4253:7500,4113:3750,4268:2000,2888:5000,2751:5000
- cashshop idROCR::idRO_rental 874,12936:625,13775:925,13770:1000,13767:1000,13772:625,13768:925,12944:925,12940:625,13956:925,13954:1000,13955:1000,13958:1000,13957:1000,12951:625,12953:625,13783:625,13784:925,13953:652,12947:652,12948:652,12949:652,13502:652,13778:925,13779:625,13782:925,12938:1000,13952:925,12937:1000,13766:1000,13773:625,14321:1000,14322:925,14323:925,14324:925,14325:925,14326:925,14327:925,14328:925,14329:925,14330:925,14426:925,14427:925,14428:925,14429:1000,14430:1000,14431:1000,14432:1250,14433:1500,14434:1500,14435:625,14436:625,14437:925,14242:925,14243:925,14244:925,14245:925,14246:925,14247:925,14248:925,14249:925,14250:925,14251:925,14252:1500,14253:1500,14254:1500,14255:1500,14256:1500,14257:1500,14258:1500,14259:1500,14260:1500,14261:1500,13771:1000,13654:925,13656:625,13653:925,13663:625,13671:925,13672:925,13673:925,13674:925,13675:925,13650:925,13657:925,16638:625,16639:1000,16374:625,16389:1000,16372:625,16385:1000,17396:1250,17397:7000,17398:1250,17399:7000,17416:1250,17417:7000,17422:1250,17423:7000,16628:10000,17311:2000,17404:1250,17405:7000,17408:1250,17409:7000,17418:1250,17419:7000,17420:1250,17421:7000,16625:10000,17308:2000,17400:1250,17401:7000,17406:1250,17407:7000,17410:1250,17411:7000,17412:1250,17413:7000,17414:1250,17415:7000,17424:1250,17425:7000,17426:1250,17427:7000,16682:2500 - cashshop idROCR::idRO_rental 874,12936:625,13775:925,13770:1000,13767:1000,13772:625,13768:925,12944:925,12940:625,13956:925,13954:1000,13955:1000,13958:1000,13957:1000,12951:625,12953:625,13783:625,13784:925,13953:652,12947:652,12948:652,12949:652,13502:652,13778:925,13779:625,13782:925,12938:1000,13952:925,12937:1000,13766:1000,13773:625,14321:1000,14322:925,14323:925,14324:925,14325:925,14326:925,14327:925,14328:925,14329:925,14330:925,14426:925,14427:925,14428:925,14429:1000,14430:1000,14431:1000,14432:1250,14433:1500,14434:1500,14435:625,14436:625,14437:925,14242:925,14243:925,14244:925,14245:925,14246:925,14247:925,14248:925,14249:925,14250:925,14251:925,14252:1500,14253:1500,14254:1500,14255:1500,14256:1500,14257:1500,14258:1500,14259:1500,14260:1500,14261:1500,13771:1000,13654:925,13656:625,13653:925,13663:625,13671:925,13672:925,13673:925,13674:925,13675:925,13650:925,13657:925,16638:625,16639:1000,16374:625,16389:1000,16372:625,16385:1000,17396:1250,17397:7000,17398:1250,17399:7000,17416:1250,17417:7000,17422:1250,17423:7000,16628:10000,17311:2000,17404:1250,17405:7000,17408:1250,17409:7000,17418:1250,17419:7000,17420:1250,17421:7000,16625:10000,17308:2000,17400:1250,17401:7000,17406:1250,17407:7000,17410:1250,17411:7000,17412:1250,17413:7000,17414:1250,17415:7000,17424:1250,17425:7000,17426:1250,17427:7000,16682:2500
//============================================================
// Payon // Payon
//============================================================ //============================================================
payon,172,128,3 duplicate(idRO_kafra) Kafra Shop#pay 721 payon,172,128,3 duplicate(idRO_kafra) Kafra Shop#pay 721
@ -55,32 +53,34 @@ payon,177,226,3 duplicate(idRO_kafra) Kafra Shop#pay-2 721
payon,178,226,3 duplicate(idRO_kafra2) Kafra Shop 2#pay-2 80 payon,178,226,3 duplicate(idRO_kafra2) Kafra Shop 2#pay-2 80
payon,181,226,3 duplicate(idRO_rental) Rental Shop#pay-2 874 payon,181,226,3 duplicate(idRO_rental) Rental Shop#pay-2 874
//============================================================
// Archer Village // Archer Village
//============================================================ //============================================================
pay_arche,57,125,3 duplicate(idRO_kafra) Kafra Shop#payarc 721 pay_arche,57,125,3 duplicate(idRO_kafra) Kafra Shop#payarc 721
pay_arche,58,125,1 duplicate(idRO_kafra2) Kafra Shop 2#payarc 80 pay_arche,58,125,1 duplicate(idRO_kafra2) Kafra Shop 2#payarc 80
pay_arche,61,125,8 duplicate(idRO_rental) Rental Shop#payarc 874 pay_arche,61,125,8 duplicate(idRO_rental) Rental Shop#payarc 874
//============================================================
// Prontera // Prontera
//============================================================ //============================================================
// East-Gate // East-Gate
prontera,282,198,1 duplicate(idRO_kafra) Kafra Shop#prt-1 721 prontera,282,198,1 duplicate(idRO_kafra) Kafra Shop#prt-1 721
prontera,282,197,1 duplicate(idRO_kafra2) Kafra Shop 2#prt-1 80 prontera,282,197,1 duplicate(idRO_kafra2) Kafra Shop 2#prt-1 80
prontera,282,194,1 duplicate(idRO_rental) Rental Shop#prt-1 874 prontera,282,194,1 duplicate(idRO_rental) Rental Shop#prt-1 874
// West-Gate // West-Gate
prontera,29,209,5 duplicate(idRO_kafra) Kafra Shop#prt-2 721 prontera,29,209,5 duplicate(idRO_kafra) Kafra Shop#prt-2 721
prontera,29,210,5 duplicate(idRO_kafra2) Kafra Shop 2#prt-2 80 prontera,29,210,5 duplicate(idRO_kafra2) Kafra Shop 2#prt-2 80
prontera,32,212,5 duplicate(idRO_rental) Rental Shop#prt-2 874 prontera,32,212,5 duplicate(idRO_rental) Rental Shop#prt-2 874
// South // South
prontera,146,91,5 duplicate(idRO_kafra) Kafra Shop#prt-3 721 prontera,146,91,5 duplicate(idRO_kafra) Kafra Shop#prt-3 721
prontera,146,92,5 duplicate(idRO_kafra2) Kafra Shop 2#prt-3 80 prontera,146,92,5 duplicate(idRO_kafra2) Kafra Shop 2#prt-3 80
prontera,146,95,5 duplicate(idRO_rental) Rental Shop#prt-3 874 prontera,146,95,5 duplicate(idRO_rental) Rental Shop#prt-3 874
// South-Gate // South-Gate
prontera,149,29,8 duplicate(idRO_kafra) Kafra Shop#prt-4 721 prontera,149,29,8 duplicate(idRO_kafra) Kafra Shop#prt-4 721
prontera,148,29,8 duplicate(idRO_kafra2) Kafra Shop 2#prt-4 80 prontera,148,29,8 duplicate(idRO_kafra2) Kafra Shop 2#prt-4 80
prontera,145,29,8 duplicate(idRO_rental) Rental Shop#prt-4 874 prontera,145,29,8 duplicate(idRO_rental) Rental Shop#prt-4 874
// Center // Center
prontera,164,183,3 duplicate(idRO_kafra) Kafra Shop#prt 721 prontera,164,183,3 duplicate(idRO_kafra) Kafra Shop#prt 721
prontera,164,185,3 duplicate(idRO_kafra2) Kafra Shop 2#prt 80 prontera,164,185,3 duplicate(idRO_kafra2) Kafra Shop 2#prt 80
@ -94,31 +94,12 @@ prontera,161,183,3 duplicate(idRO_acc) Acc and Kartu#prt 721
prontera,161,185,3 duplicate(idRO_acc2) Acc and Kartu 2#prt 80 prontera,161,185,3 duplicate(idRO_acc2) Acc and Kartu 2#prt 80
prontera,148,183,3 duplicate(idRO_rental) Rental Shop#prt 874 prontera,148,183,3 duplicate(idRO_rental) Rental Shop#prt 874
//============================================================ // Izlude
//Izlude-Old (Use this if use old Izlude Map)
//============================================================
//izlude,134,86,3 duplicate(idRO_kafra) Kafra Shop#izl-1 721
//izlude,134,85,3 duplicate(idRO_kafra2) Kafra Shop 2#izl-1 80
//izlude,134,91,3 duplicate(idRO_rental) Rental Shop#izl-1 874
//Center
//izlude,136,113,3 duplicate(idRO_kafra) Kafra Shop#izl 721
//izlude,136,115,3 duplicate(idRO_kafra2) Kafra Shop 2#izl 80
//izlude,124,113,3 duplicate(idRO_cons) Consumable#izl 721
//izlude,124,115,3 duplicate(idRO_cons2) Consumable 2#izl 80
//izlude,127,113,3 duplicate(idRO_gear) Headgear#izl 721
//izlude,127,115,3 duplicate(idRO_gear2) Headgear 2#izl 80
//izlude,130,113,3 duplicate(idRO_eq) Equipment#izl 721
//izlude,130,115,3 duplicate(idRO_eq2) Equipment 2#izl 80
//izlude,133,113,3 duplicate(idRO_acc) Acc and Kartu#izl 721
//izlude,133,115,3 duplicate(idRO_acc2) Acc and Kartu 2#izl 80
//izlude,121,113,3 duplicate(idRO_rental) Rental Shop#izl 874
//============================================================
//Izlude-New
//============================================================ //============================================================
izlude,135,99,3 duplicate(idRO_kafra) Kafra Shop#izl-1 721 izlude,135,99,3 duplicate(idRO_kafra) Kafra Shop#izl-1 721
izlude,135,100,3 duplicate(idRO_kafra2) Kafra Shop 2#izl-1 80 izlude,135,100,3 duplicate(idRO_kafra2) Kafra Shop 2#izl-1 80
izlude,135,102,3 duplicate(idRO_rental) Rental Shop#izl-1 874 izlude,135,102,3 duplicate(idRO_rental) Rental Shop#izl-1 874
// Center // Center
izlude,135,142,3 duplicate(idRO_kafra) Kafra Shop#izl 721 izlude,135,142,3 duplicate(idRO_kafra) Kafra Shop#izl 721
izlude,135,144,3 duplicate(idRO_kafra2) Kafra Shop 2#izl 80 izlude,135,144,3 duplicate(idRO_kafra2) Kafra Shop 2#izl 80
@ -132,20 +113,38 @@ izlude,133,142,3 duplicate(idRO_acc) Acc and Kartu#izl 721
izlude,133,144,3 duplicate(idRO_acc2) Acc and Kartu 2#izl 80 izlude,133,144,3 duplicate(idRO_acc2) Acc and Kartu 2#izl 80
izlude,121,142,3 duplicate(idRO_rental) Rental Shop#izl 874 izlude,121,142,3 duplicate(idRO_rental) Rental Shop#izl 874
//============================================================ /* Pre-Renewal locations */
//izlude,134,86,3 duplicate(idRO_kafra) Kafra Shop#izl-1 721
//izlude,134,85,3 duplicate(idRO_kafra2) Kafra Shop 2#izl-1 80
//izlude,134,91,3 duplicate(idRO_rental) Rental Shop#izl-1 874
// Center
//izlude,136,113,3 duplicate(idRO_kafra) Kafra Shop#izl 721
//izlude,136,115,3 duplicate(idRO_kafra2) Kafra Shop 2#izl 80
//izlude,124,113,3 duplicate(idRO_cons) Consumable#izl 721
//izlude,124,115,3 duplicate(idRO_cons2) Consumable 2#izl 80
//izlude,127,113,3 duplicate(idRO_gear) Headgear#izl 721
//izlude,127,115,3 duplicate(idRO_gear2) Headgear 2#izl 80
//izlude,130,113,3 duplicate(idRO_eq) Equipment#izl 721
//izlude,130,115,3 duplicate(idRO_eq2) Equipment 2#izl 80
//izlude,133,113,3 duplicate(idRO_acc) Acc and Kartu#izl 721
//izlude,133,115,3 duplicate(idRO_acc2) Acc and Kartu 2#izl 80
//izlude,121,113,3 duplicate(idRO_rental) Rental Shop#izl 874
// Byalan // Byalan
//============================================================ //============================================================
izlu2dun,108,57,3 duplicate(idRO_kafra) Kafra Shop#byl 721 izlu2dun,108,57,3 duplicate(idRO_kafra) Kafra Shop#byl 721
izlu2dun,109,57,3 duplicate(idRO_kafra2) Kafra Shop 2#byl 80 izlu2dun,109,57,3 duplicate(idRO_kafra2) Kafra Shop 2#byl 80
izlu2dun,104,57,3 duplicate(idRO_rental) Rental Shop#byl 874 izlu2dun,104,57,3 duplicate(idRO_rental) Rental Shop#byl 874
//============================================================
// Alberta // Alberta
//============================================================ //============================================================
// Center // Center
alberta,113,63,5 duplicate(idRO_kafra) Kafra Shop#alb-1 721 alberta,113,63,5 duplicate(idRO_kafra) Kafra Shop#alb-1 721
alberta,114,64,3 duplicate(idRO_kafra2) Kafra Shop 2#alb-1 80 alberta,114,64,3 duplicate(idRO_kafra2) Kafra Shop 2#alb-1 80
alberta,110,59,5 duplicate(idRO_rental) Rental Shop#alb-1 874 alberta,110,59,5 duplicate(idRO_rental) Rental Shop#alb-1 874
// Left-Top // Left-Top
alberta,32,229,8 duplicate(idRO_kafra) Kafra Shop#alb-2 721 alberta,32,229,8 duplicate(idRO_kafra) Kafra Shop#alb-2 721
alberta,31,229,8 duplicate(idRO_kafra2) Kafra Shop 2#alb-2 80 alberta,31,229,8 duplicate(idRO_kafra2) Kafra Shop 2#alb-2 80
@ -163,7 +162,6 @@ alberta,37,238,3 duplicate(idRO_acc) Acc and Kartu#alb 721
alberta,37,240,3 duplicate(idRO_acc2) Acc and Kartu 2#alb 80 alberta,37,240,3 duplicate(idRO_acc2) Acc and Kartu 2#alb 80
alberta,40,238,3 duplicate(idRO_rental) Rental Shop#alb 874 alberta,40,238,3 duplicate(idRO_rental) Rental Shop#alb 874
//============================================================
// Brasilis // Brasilis
//============================================================ //============================================================
brasilis,199,218,3 duplicate(idRO_kafra) Kafra Shop#bra 721 brasilis,199,218,3 duplicate(idRO_kafra) Kafra Shop#bra 721
@ -178,28 +176,24 @@ brasilis,197,218,3 duplicate(idRO_acc) Acc and Kartu#bra 721
brasilis,196,220,3 duplicate(idRO_acc2) Acc and Kartu 2#bra 80 brasilis,196,220,3 duplicate(idRO_acc2) Acc and Kartu 2#bra 80
brasilis,201,218,3 duplicate(idRO_rental) Rental Shop#bra 874 brasilis,201,218,3 duplicate(idRO_rental) Rental Shop#bra 874
//============================================================
// Amatsu // Amatsu
//============================================================ //============================================================
amatsu,101,147,3 duplicate(idRO_kafra) Kafra Shop#ama 721 amatsu,101,147,3 duplicate(idRO_kafra) Kafra Shop#ama 721
amatsu,100,146,5 duplicate(idRO_kafra2) Kafra Shop 2#ama 80 amatsu,100,146,5 duplicate(idRO_kafra2) Kafra Shop 2#ama 80
amatsu,100,144,5 duplicate(idRO_rental) Rental Shop#ama 874 amatsu,100,144,5 duplicate(idRO_rental) Rental Shop#ama 874
//============================================================
// Ayothaya // Ayothaya
//============================================================ //============================================================
ayothaya,212,171,5 duplicate(idRO_kafra) Kafra Shop#ayo 721 ayothaya,212,171,5 duplicate(idRO_kafra) Kafra Shop#ayo 721
ayothaya,212,172,5 duplicate(idRO_kafra2) Kafra Shop 2#ayo 80 ayothaya,212,172,5 duplicate(idRO_kafra2) Kafra Shop 2#ayo 80
ayothaya,212,175,5 duplicate(idRO_rental) Rental Shop#ayo 874 ayothaya,212,175,5 duplicate(idRO_rental) Rental Shop#ayo 874
//============================================================
// Louyang // Louyang
//============================================================ //============================================================
louyang,208,102,3 duplicate(idRO_kafra) Kafra Shop#lou 721 louyang,208,102,3 duplicate(idRO_kafra) Kafra Shop#lou 721
louyang,207,102,3 duplicate(idRO_kafra2) Kafra Shop 2#lou 80 louyang,207,102,3 duplicate(idRO_kafra2) Kafra Shop 2#lou 80
louyang,205,102,3 duplicate(idRO_rental) Rental Shop#lou 874 louyang,205,102,3 duplicate(idRO_rental) Rental Shop#lou 874
//============================================================
// Dewata // Dewata
//============================================================ //============================================================
dewata,204,178,3 duplicate(idRO_kafra) Kafra Shop#dew 721 dewata,204,178,3 duplicate(idRO_kafra) Kafra Shop#dew 721
@ -214,25 +208,25 @@ dewata,201,178,3 duplicate(idRO_acc) Acc and Kartu#dew 721
dewata,201,180,3 duplicate(idRO_acc2) Acc and Kartu 2#dew 80 dewata,201,180,3 duplicate(idRO_acc2) Acc and Kartu 2#dew 80
dewata,207,178,3 duplicate(idRO_rental) Rental Shop#dew 874 dewata,207,178,3 duplicate(idRO_rental) Rental Shop#dew 874
//============================================================
// Juno // Juno
//============================================================ //============================================================
// Center // Center
yuno,149,187,3 duplicate(idRO_kafra) Kafra Shop#yun-1 721 yuno,149,187,3 duplicate(idRO_kafra) Kafra Shop#yun-1 721
yuno,148,187,3 duplicate(idRO_kafra2) Kafra Shop 2#yun-1 80 yuno,148,187,3 duplicate(idRO_kafra2) Kafra Shop 2#yun-1 80
yuno,146,187,3 duplicate(idRO_rental) Rental Shop#yun-1 874 yuno,146,187,3 duplicate(idRO_rental) Rental Shop#yun-1 874
// Right // Right
yuno,329,108,3 duplicate(idRO_kafra) Kafra Shop#yun-2 721 yuno,329,108,3 duplicate(idRO_kafra) Kafra Shop#yun-2 721
yuno,330,108,3 duplicate(idRO_kafra2) Kafra Shop 2#yun-2 80 yuno,330,108,3 duplicate(idRO_kafra2) Kafra Shop 2#yun-2 80
yuno,332,108,3 duplicate(idRO_rental) Rental Shop#yun-2 874 yuno,332,108,3 duplicate(idRO_rental) Rental Shop#yun-2 874
//============================================================
// Morocc // Morocc
//============================================================ //============================================================
// Center // Center
morocc,154,97,3 duplicate(idRO_kafra) Kafra Shop#moc-1 721 morocc,154,97,3 duplicate(idRO_kafra) Kafra Shop#moc-1 721
morocc,153,97,3 duplicate(idRO_kafra2) Kafra Shop 2#moc-1 80 morocc,153,97,3 duplicate(idRO_kafra2) Kafra Shop 2#moc-1 80
morocc,151,97,3 duplicate(idRO_rental) Rental Shop#moc-1 874 morocc,151,97,3 duplicate(idRO_rental) Rental Shop#moc-1 874
// Top // Top
morocc,163,258,3 duplicate(idRO_kafra) Kafra Shop#moc-2 721 morocc,163,258,3 duplicate(idRO_kafra) Kafra Shop#moc-2 721
morocc,162,258,3 duplicate(idRO_kafra2) Kafra Shop 2#moc-2 80 morocc,162,258,3 duplicate(idRO_kafra2) Kafra Shop 2#moc-2 80
@ -250,24 +244,24 @@ morocc,164,261,3 duplicate(idRO_acc) Acc and Kartu#moc 721
morocc,164,263,3 duplicate(idRO_acc2) Acc and Kartu 2#moc 80 morocc,164,263,3 duplicate(idRO_acc2) Acc and Kartu 2#moc 80
morocc,152,261,3 duplicate(idRO_rental) Rental Shop#moc 874 morocc,152,261,3 duplicate(idRO_rental) Rental Shop#moc 874
//============================================================
// Gonryun // Gonryun
//============================================================ //============================================================
gonryun,156,122,3 duplicate(idRO_kafra) Kafra Shop#gon 721 gonryun,156,122,3 duplicate(idRO_kafra) Kafra Shop#gon 721
gonryun,155,122,3 duplicate(idRO_kafra2) Kafra Shop 2#gon 80 gonryun,155,122,3 duplicate(idRO_kafra2) Kafra Shop 2#gon 80
gonryun,153,122,3 duplicate(idRO_rental) Rental Shop#gon 874 gonryun,153,122,3 duplicate(idRO_rental) Rental Shop#gon 874
//============================================================
// Geffen // Geffen
//============================================================ //============================================================
// South // South
geffen,122,62,8 duplicate(idRO_kafra) Kafra Shop#gef-1 721 geffen,122,62,8 duplicate(idRO_kafra) Kafra Shop#gef-1 721
geffen,122,60,3 duplicate(idRO_kafra2) Kafra Shop 2#gef-1 80 geffen,122,60,3 duplicate(idRO_kafra2) Kafra Shop 2#gef-1 80
geffen,124,62,8 duplicate(idRO_rental) Rental Shop#gef-1 874 geffen,124,62,8 duplicate(idRO_rental) Rental Shop#gef-1 874
// East // East
geffen,200,124,1 duplicate(idRO_kafra) Kafra Shop#gef-2 721 geffen,200,124,1 duplicate(idRO_kafra) Kafra Shop#gef-2 721
geffen,201,124,3 duplicate(idRO_kafra2) Kafra Shop 2#gef-2 80 geffen,201,124,3 duplicate(idRO_kafra2) Kafra Shop 2#gef-2 80
geffen,198,124,1 duplicate(idRO_rental) Rental Shop#gef-2 874 geffen,198,124,1 duplicate(idRO_rental) Rental Shop#gef-2 874
// Center // Center
geffen,129,103,3 duplicate(idRO_kafra) Kafra Shop#gef 721 geffen,129,103,3 duplicate(idRO_kafra) Kafra Shop#gef 721
geffen,129,105,3 duplicate(idRO_kafra2) Kafra Shop 2#gef 80 geffen,129,105,3 duplicate(idRO_kafra2) Kafra Shop 2#gef 80
@ -281,61 +275,54 @@ geffen,126,103,3 duplicate(idRO_acc) Acc and Kartu#gef 721
geffen,126,105,3 duplicate(idRO_acc2) Acc and Kartu 2#gef 80 geffen,126,105,3 duplicate(idRO_acc2) Acc and Kartu 2#gef 80
geffen,114,103,3 duplicate(idRO_rental) Rental Shop#gef 874 geffen,114,103,3 duplicate(idRO_rental) Rental Shop#gef 874
//============================================================
// Aldebaran // Aldebaran
//============================================================ //============================================================
aldebaran,146,119,3 duplicate(idRO_kafra) Kafra Shop#alde 721 aldebaran,146,119,3 duplicate(idRO_kafra) Kafra Shop#alde 721
aldebaran,145,119,3 duplicate(idRO_kafra2) Kafra Shop 2#alde 80 aldebaran,145,119,3 duplicate(idRO_kafra2) Kafra Shop 2#alde 80
aldebaran,148,119,3 duplicate(idRO_rental) Rental Shop#alde 874 aldebaran,148,119,3 duplicate(idRO_rental) Rental Shop#alde 874
//============================================================
// Comodo // Comodo
//============================================================ //============================================================
comodo,198,148,3 duplicate(idRO_kafra) Kafra Shop#cmd 721 comodo,198,148,3 duplicate(idRO_kafra) Kafra Shop#cmd 721
comodo,200,148,3 duplicate(idRO_kafra2) Kafra Shop 2#cmd 80 comodo,200,148,3 duplicate(idRO_kafra2) Kafra Shop 2#cmd 80
comodo,202,148,3 duplicate(idRO_rental) Rental Shop#cmd 874 comodo,202,148,3 duplicate(idRO_rental) Rental Shop#cmd 874
//============================================================
// Umbala // Umbala
//============================================================ //============================================================
umbala,90,159,3 duplicate(idRO_kafra) Kafra Shop#um 721 umbala,90,159,3 duplicate(idRO_kafra) Kafra Shop#um 721
umbala,89,159,3 duplicate(idRO_kafra2) Kafra Shop 2#um 80 umbala,89,159,3 duplicate(idRO_kafra2) Kafra Shop 2#um 80
umbala,94,158,3 duplicate(idRO_rental) Rental Shop#um 874 umbala,94,158,3 duplicate(idRO_rental) Rental Shop#um 874
//============================================================
// Hugel // Hugel
//============================================================ //============================================================
hugel,97,167,3 duplicate(idRO_kafra) Kafra Shop#hu 721 hugel,97,167,3 duplicate(idRO_kafra) Kafra Shop#hu 721
hugel,95,167,3 duplicate(idRO_kafra2) Kafra Shop 2#hu 80 hugel,95,167,3 duplicate(idRO_kafra2) Kafra Shop 2#hu 80
hugel,100,167,3 duplicate(idRO_rental) Rental Shop#hu 874 hugel,100,167,3 duplicate(idRO_rental) Rental Shop#hu 874
//============================================================
// Einbroch // Einbroch
//============================================================ //============================================================
// West // West
einbroch,58,200,8 duplicate(idRO_kafra) Kafra Shop#einbr 721 einbroch,58,200,8 duplicate(idRO_kafra) Kafra Shop#einbr 721
einbroch,58,201,8 duplicate(idRO_kafra2) Kafra Shop 2#einbr 80 einbroch,58,201,8 duplicate(idRO_kafra2) Kafra Shop 2#einbr 80
einbroch,58,197,8 duplicate(idRO_rental) Rental Shop#einbr 874 einbroch,58,197,8 duplicate(idRO_rental) Rental Shop#einbr 874
// East // East
einbroch,245,205,3 duplicate(idRO_kafra) Kafra Shop#einbr-1 721 einbroch,245,205,3 duplicate(idRO_kafra) Kafra Shop#einbr-1 721
einbroch,244,205,3 duplicate(idRO_kafra2) Kafra Shop 2#einbr-1 80 einbroch,244,205,3 duplicate(idRO_kafra2) Kafra Shop 2#einbr-1 80
einbroch,248,205,3 duplicate(idRO_rental) Rental Shop#einbr-1 874 einbroch,248,205,3 duplicate(idRO_rental) Rental Shop#einbr-1 874
//============================================================ // Einbech
//Einbeich
//============================================================ //============================================================
einbech,174,132,8 duplicate(idRO_kafra) Kafra Shop#ein 721 einbech,174,132,8 duplicate(idRO_kafra) Kafra Shop#ein 721
einbech,175,132,8 duplicate(idRO_kafra2) Kafra Shop 2#ein 80 einbech,175,132,8 duplicate(idRO_kafra2) Kafra Shop 2#ein 80
einbech,170,132,8 duplicate(idRO_rental) Rental Shop#ein 874 einbech,170,132,8 duplicate(idRO_rental) Rental Shop#ein 874
//============================================================
// Lighthalzen // Lighthalzen
//============================================================ //============================================================
lighthalzen,167,101,3 duplicate(idRO_kafra) Kafra Shop#lhz 721 lighthalzen,167,101,3 duplicate(idRO_kafra) Kafra Shop#lhz 721
lighthalzen,166,101,3 duplicate(idRO_kafra2) Kafra Shop 2#lhz 80 lighthalzen,166,101,3 duplicate(idRO_kafra2) Kafra Shop 2#lhz 80
lighthalzen,169,103,3 duplicate(idRO_rental) Rental Shop#lhz 874 lighthalzen,169,103,3 duplicate(idRO_rental) Rental Shop#lhz 874
//============================================================
// Rachel // Rachel
//============================================================ //============================================================
rachel,98,131,3 duplicate(idRO_kafra) Kafra Shop#ra 721 rachel,98,131,3 duplicate(idRO_kafra) Kafra Shop#ra 721
@ -350,8 +337,7 @@ rachel,100,131,3 duplicate(idRO_acc) Acc and Kartu#ra 721
rachel,100,133,3 duplicate(idRO_acc2) Acc and Kartu 2#ra 80 rachel,100,133,3 duplicate(idRO_acc2) Acc and Kartu 2#ra 80
rachel,95,131,3 duplicate(idRO_rental) Rental Shop#ra 874 rachel,95,131,3 duplicate(idRO_rental) Rental Shop#ra 874
//=========================================================== // Special Prices for Chinese New Year 2014
//Special Prices of Chinese New Year 2014 //============================================================
//=========================================================== //- cashshop idROC2014::idRO_C2014 721,2936:6250,2177:6250,18574:6250,6225:7500,6226:5625,5381:7500,5210:10000,5294:6250,5463:6250,5335:6250,5256:6250,5495:6250,18630:6250,19518:6250,19519:6250,19520:6250,2573:6250,15058:6250,5490:6250,5498:6250,5253:6250,5502:6250,5526:6250,5529:6250,19509:6250,5359:7500,18729:6250,18666:6250,5284:6250,5471:6250,5467:6250,5363:6250,5546:6250,5334:6250,1472:5000,13420:6250,1392:5000,15008:6250,1731:3750,1825:2500,1261:1875,5545:6250,5550:6250,5549:6250,5515:6250,5514:6250,5470:6250,5505:6250,18695:6250,18694:6250
- cashshop idROC2014::idRO_C2014 721,2936:6250,2177:6250,18574:6250,6225:7500,6226:5625,5381:7500,5210:10000,5294:6250,5463:6250,5335:6250,5256:6250,5495:6250,18630:6250,19518:6250,19519:6250,19520:6250,2573:6250,15058:6250,5490:6250,5498:6250,5253:6250,5502:6250,5526:6250,5529:6250,19509:6250,5359:7500,18729:6250,18666:6250,5284:6250,5471:6250,5467:6250,5363:6250,5546:6250,5334:6250,1472:5000,13420:6250,1392:5000,15008:6250,1731:3750,1825:2500,1261:1875,5545:6250,5550:6250,5549:6250,5515:6250,5514:6250,5470:6250,5505:6250,18695:6250,18694:6250 //prontera,156,178,3 duplicate(idRO_C2014) Kafra Shop#C2014_prt 721
prontera,156,178,3 duplicate(idRO_C2014) Kafra Shop#C2014_prt 721

View File

@ -18,6 +18,8 @@
//= 1.5 Added This Version History (#15429) //= 1.5 Added This Version History (#15429)
//============================================================ //============================================================
// Main NPC :: diamond
//============================================================
- script RareDiamondMerchant 58,{ - script RareDiamondMerchant 58,{
set .@npc$, "[Rare Diamond Merchant]"; set .@npc$, "[Rare Diamond Merchant]";

View File

@ -14,6 +14,8 @@
//= 1.1 Standardizing, grammar and bug fixes. [Euphy] //= 1.1 Standardizing, grammar and bug fixes. [Euphy]
//============================================================ //============================================================
// Main NPC :: 201105_luk_enc
//============================================================
prt_in,28,73,3 script Devil Enchant Master#prq 63,{ prt_in,28,73,3 script Devil Enchant Master#prq 63,{
disable_items; disable_items;
if (checkweight(1201,1) == 0) { if (checkweight(1201,1) == 0) {

View File

@ -15,6 +15,7 @@
//= 1.2 Added Wolf Flute trader, optimized. [Euphy] //= 1.2 Added Wolf Flute trader, optimized. [Euphy]
//= 1.2a Fixed some conditions. [Euphy] //= 1.2a Fixed some conditions. [Euphy]
//============================================================ //============================================================
// Falcon Flute :: falcon_flute // Falcon Flute :: falcon_flute
//============================================================ //============================================================
- script Falcon Flute Trader::fflute -1,{ - script Falcon Flute Trader::fflute -1,{

View File

@ -18,7 +18,7 @@
//= 1.0 First version. [Euphy] //= 1.0 First version. [Euphy]
//============================================================ //============================================================
// Blacksmith Mighty Hammer (+7~9) // Blacksmith Mighty Hammer (+7~9) :: cash_smelting79
//============================================================ //============================================================
- script ::MightyHammer -1,{ - script ::MightyHammer -1,{
disable_items; disable_items;
@ -153,7 +153,7 @@ lhz_in02,280,19,3 duplicate(MightyHammer) Mighty Hammer#lhz 826
// iRO NPC locations: // iRO NPC locations:
// payon,174,133,4 duplicate(MightyHammer) Mighty Hammer#im 826 // payon,174,133,4 duplicate(MightyHammer) Mighty Hammer#im 826
// Basta (+10 and up) // Basta (+10 and up) :: cash_smelting
//============================================================ //============================================================
- script ::Basta -1,{ - script ::Basta -1,{
disable_items; disable_items;

View File

@ -19,6 +19,8 @@
//= 1.1 Updated to match the official scripts. [Euphy] //= 1.1 Updated to match the official scripts. [Euphy]
//============================================================ //============================================================
// Mora :: ep14_1_tre
//============================================================
mora,106,117,3 script Quiver Maker#mora 516,{ mora,106,117,3 script Quiver Maker#mora 516,{
if (checkweight(1201,1) == 0) { if (checkweight(1201,1) == 0) {
mes "[Quiver Maker]"; mes "[Quiver Maker]";

View File

@ -2610,12 +2610,12 @@ REPLACE INTO `item_db_re` VALUES (4570,'Flamel_Card','Flamel Card',6,20,NULL,10,
REPLACE INTO `item_db_re` VALUES (4571,'Gertie_Card','Gertie Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus bFlee,10; skill "RG_CLOSECONFINE",1;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4571,'Gertie_Card','Gertie Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus bFlee,10; skill "RG_CLOSECONFINE",1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4572,'Randel_Card','Randel Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus bFlee,10; skill "CR_AUTOGUARD",3;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4572,'Randel_Card','Randel Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus bFlee,10; skill "CR_AUTOGUARD",3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4573,'Trentini_Card','Trentini Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus bFlee,10; if(BaseJob==Job_Dancer) { bonus bMaxHPrate,10; bonus bMaxSPrate,5;}',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4573,'Trentini_Card','Trentini Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus bFlee,10; if(BaseJob==Job_Dancer) { bonus bMaxHPrate,10; bonus bMaxSPrate,5;}',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4574,'General_Daehyon_Card','General Daehyon Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'if((getiteminfo(getequipid(EQI_HAND_R),14) == 3) || (getiteminfo(getequipid(EQI_HAND_R),14) == 4)) { bonus bBaseAtk,100; }',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4574,'General_Daehyon_Card','General Daehyon Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'if((getiteminfo(getequipid(EQI_HAND_R),11) == 3) || (getiteminfo(getequipid(EQI_HAND_R),11) == 4)) { bonus bBaseAtk,100; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4575,'Armed_Guard_Soheon_Card','Armed Guard Soheon Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,10; if(getiteminfo(getequipid(EQI_HAND_R),14) == 1) { if(getrefine()>=10) { bonus bAspd,1; } if(getrefine()>=14) { bonus bAspd,1; } }',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4575,'Armed_Guard_Soheon_Card','Armed Guard Soheon Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,10; if(getiteminfo(getequipid(EQI_HAND_R),11) == 1) { if(getrefine()>=10) { bonus bAspd,1; } if(getrefine()>=14) { bonus bAspd,1; } }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4576,'Gioia_Card','Gioia Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus2 bMagicAtkEle,4,100; bonus2 bMagicAtkEle,8,100; bonus2 bSubEle,0,-30; bonus2 bSubEle,1,-30; bonus2 bSubEle,2,-30; bonus2 bSubEle,3,-30; bonus2 bSubEle,4,-30; bonus2 bSubEle,5,-30; bonus2 bSubEle,6,-30; bonus2 bSubEle,7,-30; bonus2 bSubEle,8,-30; bonus2 bSubEle,9,-30;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4576,'Gioia_Card','Gioia Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus2 bMagicAtkEle,4,100; bonus2 bMagicAtkEle,8,100; bonus2 bSubEle,0,-30; bonus2 bSubEle,1,-30; bonus2 bSubEle,2,-30; bonus2 bSubEle,3,-30; bonus2 bSubEle,4,-30; bonus2 bSubEle,5,-30; bonus2 bSubEle,6,-30; bonus2 bSubEle,7,-30; bonus2 bSubEle,8,-30; bonus2 bSubEle,9,-30;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4577,'Elvira_Card','Elvira Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bMagicAtkEle,4,20; bonus2 bMagicAtkEle,8,20;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4577,'Elvira_Card','Elvira Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bMagicAtkEle,4,20; bonus2 bMagicAtkEle,8,20;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4578,'Angry_Student_Pyuriel_Card','Angry Student Pyuriel Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,30; bonus2 bSubRace,0,-10; bonus2 bSubRace,1,-10; bonus2 bSubRace,2,-10; bonus2 bSubRace,3,-10; bonus2 bSubRace,4,-10; bonus2 bSubRace,5,-10; bonus2 bSubRace,6,-10; bonus2 bSubRace,7,-10; bonus2 bSubRace,8,-10; bonus2 bSubRace,9,-10;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4578,'Angry_Student_Pyuriel_Card','Angry Student Pyuriel Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,30; bonus2 bSubRace,0,-10; bonus2 bSubRace,1,-10; bonus2 bSubRace,2,-10; bonus2 bSubRace,3,-10; bonus2 bSubRace,4,-10; bonus2 bSubRace,5,-10; bonus2 bSubRace,6,-10; bonus2 bSubRace,7,-10; bonus2 bSubRace,8,-10; bonus2 bSubRace,9,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4579,'Warrior_Lola_Card','Warrior Lola Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'if(getiteminfo(getequipid(EQI_HAND_R),14) == 8) { bonus bBaseAtk,20; bonus bCritical,10; } bonus bBaseAtk,getrefine(); bonus bCritical,getrefine();',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4579,'Warrior_Lola_Card','Warrior Lola Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'if(getiteminfo(getequipid(EQI_HAND_R),11) == 8) { bonus bBaseAtk,20; bonus bCritical,10; } bonus bBaseAtk,getrefine(); bonus bCritical,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4580,'Dark_Guardian_Kades_Card','Dark Guardian Kades Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus2 bSubEle,1,50; bonus2 bSubEle,2,50; bonus2 bSubEle,3,50; bonus2 bSubEle,4,50; bonus2 bSubEle,7,50; bonus2 bSubEle,9,50; bonus2 bSubEle,6,-100; bonus2 bSubEle,8,-100;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4580,'Dark_Guardian_Kades_Card','Dark Guardian Kades Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus2 bSubEle,1,50; bonus2 bSubEle,2,50; bonus2 bSubEle,3,50; bonus2 bSubEle,4,50; bonus2 bSubEle,7,50; bonus2 bSubEle,9,50; bonus2 bSubEle,6,-100; bonus2 bSubEle,8,-100;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4581,'Rudo_Card','Rudo Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'/* TODO: { heal 0,-40; bonus_script "{ bonus bAgi,44; }",3,15,0; sc_start SC_SpeedUp1,3000,0; } */',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4581,'Rudo_Card','Rudo Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'/* TODO: { heal 0,-40; bonus_script "{ bonus bAgi,44; }",3,15,0; sc_start SC_SpeedUp1,3000,0; } */',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4582,'Bungisngis_Card','Bungisngis Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,(getrefine()/2);',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4582,'Bungisngis_Card','Bungisngis Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,(getrefine()/2);',NULL,NULL);
@ -2643,7 +2643,7 @@ REPLACE INTO `item_db_re` VALUES (4603,'Corruption_Root_Card','Corruption Root C
REPLACE INTO `item_db_re` VALUES (4604,'Realized_Corruption_Root_Card','Realized Corruption Root Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,30; bonus5 bAutoSpellWhenHit,"NPC_WIDESTONE",2,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,"NPC_WIDESLEEP",2,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,"NPC_WIDECURSE",2,70,BF_WEAPON,0;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4604,'Realized_Corruption_Root_Card','Realized Corruption Root Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,30; bonus5 bAutoSpellWhenHit,"NPC_WIDESTONE",2,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,"NPC_WIDESLEEP",2,70,BF_WEAPON,0; bonus5 bAutoSpellWhenHit,"NPC_WIDECURSE",2,70,BF_WEAPON,0;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4605,'Agony_Of_Royal_Knight_Card','Agony Of Royal Knight Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,-44; bonus bHPGainValue,200+10*getrefine();',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4605,'Agony_Of_Royal_Knight_Card','Agony Of Royal Knight Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,-44; bonus bHPGainValue,200+10*getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4606,'Grudge_of_Royal_Knight_Card','Grudge of Royal Knight Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus bMaxSPrate,-44; bonus bSPGainValue,20+(getrefine()/2);',NULL,'heal 0,-444;'); REPLACE INTO `item_db_re` VALUES (4606,'Grudge_of_Royal_Knight_Card','Grudge of Royal Knight Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus bMaxSPrate,-44; bonus bSPGainValue,20+(getrefine()/2);',NULL,'heal 0,-444;');
REPLACE INTO `item_db_re` VALUES (4607,'Faithful_Manager_Card','Faithful Manager Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,5; bonus bMatk,5; if(getiteminfo(getequipid(EQI_HAND_R),14) == 15) { if(getrefine()>=10) { bonus bBaseAtk,20; bonus bMatk,20; } if(getrefine()>=14) { bonus bBaseAtk,20; bonus bMatk,20; } }',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4607,'Faithful_Manager_Card','Faithful Manager Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,5; bonus bMatk,5; if(getiteminfo(getequipid(EQI_HAND_R),11) == 15) { if(getrefine()>=10) { bonus bBaseAtk,20; bonus bMatk,20; } if(getrefine()>=14) { bonus bBaseAtk,20; bonus bMatk,20; } }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4608,'White_Knight_Card','White Knight Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,15; bonus2 bAddSize,Size_Medium,20; bonus2 bAddSize,Size_Large,20;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4608,'White_Knight_Card','White Knight Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,15; bonus2 bAddSize,Size_Medium,20; bonus2 bAddSize,Size_Large,20;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4609,'Khalitzburg_Knight_Card','Khalitzburg Knight Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus bDef,20; bonus2 bSubSize,Size_Medium,25; bonus2 bSubSize,Size_Large,25;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (4609,'Khalitzburg_Knight_Card','Khalitzburg Knight Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus bDef,20; bonus2 bSubSize,Size_Medium,25; bonus2 bSubSize,Size_Large,25;',NULL,NULL);

View File

@ -1646,6 +1646,9 @@ int map_quit(struct map_session_data *sd) {
return 0; return 0;
} }
if (sd->expiration_tid != INVALID_TIMER)
delete_timer(sd->expiration_tid, pc_expiration_timer);
if (sd->npc_timer_id != INVALID_TIMER) //Cancel the event timer. if (sd->npc_timer_id != INVALID_TIMER) //Cancel the event timer.
npc_timerevent_quit(sd); npc_timerevent_quit(sd);

View File

@ -62,8 +62,10 @@ static unsigned int level_penalty[3][CLASS_MAX][MAX_LEVEL*2+1];
// h-files are for declarations, not for implementations... [Shinomori] // h-files are for declarations, not for implementations... [Shinomori]
struct skill_tree_entry skill_tree[CLASS_COUNT][MAX_SKILL_TREE]; struct skill_tree_entry skill_tree[CLASS_COUNT][MAX_SKILL_TREE];
// timer for night.day implementation // timer for night.day implementation
int day_timer_tid; int day_timer_tid = INVALID_TIMER;
int night_timer_tid; int night_timer_tid = INVALID_TIMER;
int pc_expiration_tid = INVALID_TIMER;
struct fame_list smith_fame_list[MAX_FAME_LIST]; struct fame_list smith_fame_list[MAX_FAME_LIST];
struct fame_list chemist_fame_list[MAX_FAME_LIST]; struct fame_list chemist_fame_list[MAX_FAME_LIST];
@ -1033,6 +1035,7 @@ bool pc_authok(struct map_session_data *sd, int login_id2, time_t expiration_tim
sd->invincible_timer = INVALID_TIMER; sd->invincible_timer = INVALID_TIMER;
sd->npc_timer_id = INVALID_TIMER; sd->npc_timer_id = INVALID_TIMER;
sd->pvp_timer = INVALID_TIMER; sd->pvp_timer = INVALID_TIMER;
sd->expiration_tid = INVALID_TIMER;
#ifdef SECURE_NPCTIMEOUT #ifdef SECURE_NPCTIMEOUT
// Initialize to defaults/expected // Initialize to defaults/expected
@ -1138,12 +1141,8 @@ bool pc_authok(struct map_session_data *sd, int login_id2, time_t expiration_tim
clif_displaymessage(sd->fd, motd_text[i]); clif_displaymessage(sd->fd, motd_text[i]);
} }
// message of the limited time of the account if (expiration_time != 0)
if (expiration_time != 0) { // don't display if it's unlimited or unknow value sd->expiration_time = expiration_time;
char tmpstr[1024];
strftime(tmpstr, sizeof(tmpstr) - 1, msg_txt(sd,501), localtime(&expiration_time)); // "Your account time limit is: %d-%m-%Y %H:%M:%S."
clif_wis_message(sd->fd, wisp_server_name, tmpstr, strlen(tmpstr)+1);
}
/** /**
* Fixes login-without-aura glitch (the screen won't blink at this point, don't worry :P) * Fixes login-without-aura glitch (the screen won't blink at this point, don't worry :P)
@ -1345,6 +1344,15 @@ int pc_reg_received(struct map_session_data *sd)
clif_parse_LoadEndAck(sd->fd, sd); clif_parse_LoadEndAck(sd->fd, sd);
} }
if (sd->expiration_time != 0) { // don't display if it's unlimited or an unknown value
time_t exp_time = sd->expiration_time;
char tmpstr[1024];
strftime(tmpstr, sizeof(tmpstr) - 1, msg_txt(sd,501), localtime(&sd->expiration_time)); // "Your account time limit is: %d-%m-%Y %H:%M:%S."
clif_wis_message(sd->fd, wisp_server_name, tmpstr, strlen(tmpstr)+1);
pc_expire_check(sd);
}
return 1; return 1;
} }
@ -10501,6 +10509,56 @@ void pc_damage_log_clear(struct map_session_data *sd, int id)
} }
} }
int pc_expiration_timer(int tid, unsigned int tick, int id, intptr_t data) {
struct map_session_data *sd = map_id2sd(id);
if( !sd ) return 0;
sd->expiration_tid = INVALID_TIMER;
if( sd->fd )
clif_authfail_fd(sd->fd,10);
map_quit(sd);
return 0;
}
/* this timer exists only when a character with a expire timer > 24h is online */
/* it loops thru online players once an hour to check whether a new < 24h is available */
int pc_global_expiration_timer(int tid, unsigned int tick, int id, intptr_t data) {
struct s_mapiterator* iter;
struct map_session_data* sd;
iter = mapit_getallusers();
for( sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); sd = (TBL_PC*)mapit_next(iter) )
if( sd->expiration_time )
pc_expire_check(sd);
mapit_free(iter);
return 0;
}
void pc_expire_check(struct map_session_data *sd) {
/* ongoing timer */
if( sd->expiration_tid != INVALID_TIMER )
return;
/* not within the next 24h, enable the global check */
if( sd->expiration_time > (time(NULL) + ((60 * 60) * 24)) ) {
/* global check not running, enable */
if( pc_expiration_tid == INVALID_TIMER ) /* Starts in 1h, repeats every hour */
pc_expiration_tid = add_timer_interval(gettick() + ((1000 * 60) * 60), pc_global_expiration_timer, 0, 0, ((1000 * 60) * 60));
return;
}
sd->expiration_tid = add_timer(gettick() + (unsigned int)(sd->expiration_time - time(NULL)) * 1000, pc_expiration_timer, sd->bl.id, 0);
}
/** /**
* Deposit some money to bank * Deposit some money to bank
* @param sd * @param sd
@ -10734,6 +10792,8 @@ void do_init_pc(void) {
add_timer_func_list(pc_follow_timer, "pc_follow_timer"); add_timer_func_list(pc_follow_timer, "pc_follow_timer");
add_timer_func_list(pc_endautobonus, "pc_endautobonus"); add_timer_func_list(pc_endautobonus, "pc_endautobonus");
add_timer_func_list(pc_talisman_timer, "pc_talisman_timer"); add_timer_func_list(pc_talisman_timer, "pc_talisman_timer");
add_timer_func_list(pc_global_expiration_timer, "pc_global_expiration_timer");
add_timer_func_list(pc_expiration_timer, "pc_expiration_timer");
add_timer(gettick() + autosave_interval, pc_autosave, 0, 0); add_timer(gettick() + autosave_interval, pc_autosave, 0, 0);

View File

@ -587,8 +587,15 @@ struct map_session_data {
int16 icon; int16 icon;
int tid; int tid;
} bonus_script[MAX_PC_BONUS_SCRIPT]; } bonus_script[MAX_PC_BONUS_SCRIPT];
/* Expiration Timer ID */
int expiration_tid;
time_t expiration_time;
}; };
/* Global Expiration Timer ID */
extern int pc_expiration_tid;
enum weapon_type { enum weapon_type {
W_FIST, //Bare hands W_FIST, //Bare hands
W_DAGGER, //1 W_DAGGER, //1
@ -831,6 +838,10 @@ int pc_checkskill(struct map_session_data *sd,uint16 skill_id);
short pc_checkequip(struct map_session_data *sd,int pos); short pc_checkequip(struct map_session_data *sd,int pos);
bool pc_checkequip2(struct map_session_data *sd,int nameid,int min, int max); bool pc_checkequip2(struct map_session_data *sd,int nameid,int min, int max);
int pc_expiration_timer(int tid, unsigned int tick, int id, intptr_t data);
int pc_global_expiration_timer(int tid, unsigned tick, int id, intptr_t data);
void pc_expire_check(struct map_session_data *sd);
int pc_calc_skilltree(struct map_session_data *sd); int pc_calc_skilltree(struct map_session_data *sd);
int pc_calc_skilltree_normalize_job(struct map_session_data *sd); int pc_calc_skilltree_normalize_job(struct map_session_data *sd);
void pc_clean_skilltree(struct map_session_data *sd); void pc_clean_skilltree(struct map_session_data *sd);