123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- //===== rAthena Script =======================================
- //= Eden Group Quests - Mission [91 - 99]
- //===== By: ==================================================
- //= Chilly
- //===== Current Version: =====================================
- //= 1.5
- //===== Compatible With: =====================================
- //= rAthena Project
- //===== Description: =========================================
- //= Repetable Quests for Players between Baselevel 91 - 99.
- //===== Additional Comments: =================================
- //= 1.0 First Version. [Chilly]
- //= 1.1 Some little improvements here and there. [Masao]
- //= 1.2 Optimized. [Euphy]
- //= 1.3 Updated to match the official script. [Euphy]
- //= 1.4 Added support to Para_Team_Mark_ in Eden Group. [Ragno]
- //= 1.5 Added use of F_HasEdenGroupMark function. [Ragno]
- //============================================================
- moc_para01,48,177,3 script 91-99 Mission Board 857,{
- if (!callfunc("F_HasEdenGroupMark")) {
- mes "Wait a minute!";
- mes "-You need to have an-";
- mes "-^4d4dff'Eden Group Mark'^000000-";
- mes "-to receive these missions.-";
- next;
- switch(select("Just walk away.:^0000FFEden Group^000000 missions?:How can I be a member of the ^0000FFEden Group^000000?")) {
- case 1:
- close;
- case 2:
- mes "::The Eden Group Missions";
- mes "::are basically missions";
- mes "::requested by";
- mes "::people from all around the kingdom.";
- mes "::We just categorize them.";
- next;
- mes "::In the Eden Group,";
- mes "::we sorted out the missions";
- mes "::according to the level of difficulty.";
- mes "::According to this level,";
- mes "::you can find";
- mes "::missions that";
- mes "::suit you.";
- next;
- mes "::When you are done,";
- mes "::you can come back";
- mes "::to the mission board.";
- next;
- mes "::Then you will be";
- mes "::rewarded!!";
- mes "::Simple, isn't it!!";
- mes "::No commission required!!";
- close;
- case 3:
- mes "::You can become a member";
- mes "::of the Eden Group";
- mes "::to ^0000FFLaime Evenor^000000,";
- mes "::who is waiting on the 1st floor.";
- next;
- mes "::If you become a member,";
- mes "::you will get an";
- mes "::\"^006400Eden Group Mark^000000\".";
- mes "::Then you will be able";
- mes "::to see the mission board.";
- close;
- }
- }
- if (BaseLevel < 91 || BaseLevel > 99) {
- // Quest IDs: 4181-4196
- // Quest cooldown IDs: 4212-4227
- setarray .@names$[0],
- "Solider","Freezer","Heater",
- "Injustice","Rybio","Dark Priest",
- "Stapo","Roween","Siroma",
- "Shinobi","Evil Nymph",
- "Deviruchi","Mineral","Kaho","Neraid","Disguise";
- setarray .@exp[0],
- 90000,94000,114000,
- 96000,96000,146000,
- 96000,102000,110000,
- 102000,108000,
- 110000,138000,118000,96000,134000;
- mes "You must be within level 91-99 to accept these missions.";
- for(set .@quest,4181; .@quest<=4196; set .@quest,.@quest+1) {
- set .@hunting, checkquest(.@quest,HUNTING);
- if (.@hunting == 0 || .@hunting == 1) {
- next;
- mes ":: You cannot proceed in";
- mes ":: ^0000FF"+.@names$[.@quest-4181]+" Hunting^000000.";
- mes ":: The registration to the mission";
- mes ":: is cancelled.";
- erasequest .@quest;
- close;
- } else if (.@hunting == 2) {
- next;
- mes ":: You added information";
- mes ":: about the mission";
- mes ":: ^0000FF"+.@names$[.@quest-4181]+" Hunting^000000";
- mes ":: on the mission board.";
- mes ":: You've got a";
- mes ":: salutary experience.";
- erasequest .@quest;
- getexp .@exp[.@quest-4181],0;
- close;
- }
- }
- close;
- }
- mes "[91-99 Mission Board]";
- mes "There are several requests on this board.";
- next;
- switch(select("^8B4513Turtle Island^000000:^8B4513Glast Heim^000000:^8B4513Rachel / Veins^000000:^8B4513Expansion Cities^000000:^8B4513Other regions^000000")) {
- case 1:
- mes "^8B4513Turtle Island^000000.";
- mes "Which monster will you hunt or have you finished hunting?";
- next;
- switch(select("^0000FFSolider^000000:^0000FFFreezer^000000:^0000FFHeater^000000")) {
- case 1: callsub L_Quest,4181,"Solider",90000,"솔리더카드","There is a monster that only can be found on ^8B4513Turtle Island^000000.";
- case 2: callsub L_Quest,4182,"Freezer",94000,"프리저카드","There is a monster that only can be found on ^8B4513Turtle Island^000000.";
- case 3: callsub L_Quest,4183,"Heater",114000,"히터카드","There is a monster that only can be found on ^8B4513Turtle Island^000000.";
- }
- case 2:
- mes "^8B4513Glast Heim^000000.";
- mes "Which monster will you hunt or have you finished hunting?";
- next;
- switch(select("^0000FFInjustice^000000:^0000FFRybio^000000:^0000FFDark Priest^000000")) {
- case 1: callsub L_Quest,4184,"Injustice",96000,"인저스티스카드","There is a monster only found in ^8B4513Glast Heim prison^000000.";
- case 2: callsub L_Quest,4185,"Rybio",96000,"리비오카드","There is a monster only found in ^8B4513Glast Heim prison^000000.";
- case 3: callsub L_Quest,4186,"Dark Priest",146000,"다크프리스트카드","There is a monster only found in ^8B4513Glast Heim prison^000000.";
- }
- case 3:
- mes "^8B4513Rachel / Veins^000000.";
- mes "Which monster will you hunt or have you finished hunting?";
- next;
- switch(select("^0000FFStapo^000000:^0000FFRoween^000000:^0000FFSiroma^000000")) {
- case 1: callsub L_Quest,4187,"Stapo",96000,"스태포카드","There is a monster only found in ^8B4513Veins^000000.";
- case 2: callsub L_Quest,4188,"Roween",102000,"로우윈카드","There is a monster only found in ^8B4513Rachel^000000.";
- case 3: callsub L_Quest,4189,"Siroma",110000,"시로마카드","There is a monster only found in ^8B4513Ice Dungeon^000000.";
- }
- case 4:
- mes "^8B4513Expansion Cities^000000.";
- mes "Which monster will you hunt or have you finished hunting?";
- next;
- switch(select("^0000FFShinobi^000000:^0000FFEvil Nymph^000000")) {
- case 1: callsub L_Quest,4190,"Shinobi",102000,"시노비카드","There is a monster only found in ^8B4513Amatsu Dungeon^000000.";
- case 2: callsub L_Quest,4191,"Evil Nymph",108000,"요선녀카드","There is a monster only found in ^8B4513Kunlun Dungeon^000000.";
- }
- case 5:
- mes "Other Regions.";
- mes "Which monster will you hunt or have you finished hunting?";
- next;
- switch(select("^0000FFDeviruchi^000000:^0000FFMineral^000000:^0000FFKaho^000000:^0000FFNeraid^000000:^0000FFDisguise^000000")) {
- case 1: callsub L_Quest,4192,"Deviruchi",110000,"데비루치카드","There is a monster only found in ^8B4513Geffen Dungeon^000000.";
- case 2: callsub L_Quest,4193,"Mineral",138000,"미네랄","There is a monster only found in ^8B4513Einbech Dungeon^000000.";
- case 3: callsub L_Quest,4194,"Kaho",118000,"카호카드","There is a monster found in ^8B4513Nogg Road Magma 1^000000.";
- case 4: callsub L_Quest,4195,"Neraid",96000,"네레이드카드","There is a monster only found in ^8B4513Comodo Dungeon^000000.";
- case 5: callsub L_Quest,4196,"Disguise",134000,"디스가이즈카드","There is a monster only found in ^8B4513Niflheim^000000.";
- }
- }
- end;
- //callsub L_Quest,<quest ID>,"<monster name>",<reward EXP>,"<cutin image>","<description>"{,"s"};
- L_Quest:
- set .@quest1, getarg(0);
- set .@quest2, .@quest1+31;
- .@cutin$ = getarg(3);
- set .@playtime, checkquest(.@quest2,PLAYTIME);
- if (.@playtime == 0 || .@playtime == 1) {
- mes "[91-99 Mission Board]";
- mes "You need to wait 3 hours before you can take this mission again.";
- close;
- }
- set .@hunting, checkquest(.@quest1,HUNTING);
- if (.@hunting == 0 || .@hunting == 1) {
- mes "[91-99 Mission Board]";
- mes "Have you finished hunting all 30 "+getarg(1)+getarg(5,"")+" yet?";
- close;
- } else if (.@hunting == 2) {
- mes "[91-99 Mission Board]";
- mes "You have completed the hunting.";
- mes "Please accept this reward as a compensation.";
- erasequest .@quest1;
- if (.@playtime > -1) erasequest .@quest2;
- setquest .@quest2;
- // Job Experience calculation.
- if (JobLevel > 50 && JobLevel < 56) set .@jexp,67000;
- else if (JobLevel > 55 && JobLevel < 61) set .@jexp,94000;
- else if (JobLevel > 60 && JobLevel < 66) set .@jexp,141000;
- else if (JobLevel > 65 && JobLevel < 69) set .@jexp,212000;
- else if (JobLevel == 69) set .@jexp,311000;
- getexp getarg(2),.@jexp;
- close;
- }/* else if (.@hunting == 3) {
- // recall_completequest .@quest1
- erasequest .@quest1;
- mes "[91-99 Mission Board]";
- mes "You have re-accepted the "+getarg(1)+" Hunting mission.";
- close;
- }*/ else {
- mes "[91-99 Mission Board]";
- mes getarg(4);
- next;
- if (.@cutin$ != "") cutin .@cutin$,3;
- mes "[91-99 Mission Board]";
- mes "Hunt 30 "+getarg(1)+" monsters there and post your success on this board.";
- next;
- if (.@cutin$ != "") cutin .@cutin$,255;
- if(select("I'll hunt them.:No thanks.") == 1) {
- mes "[91-99 Mission Board]";
- mes "When you have completed the mission, post it on this board and collect your reward.";
- if (.@playtime > -1) erasequest .@quest2;
- setquest .@quest1;
- }
- close;
- }
- }
|