diff options
Diffstat (limited to 'npc/custom')
-rw-r--r-- | npc/custom/platinum_skills.txt | 91 | ||||
-rw-r--r-- | npc/custom/quests/berzebub.txt | 81 | ||||
-rw-r--r-- | npc/custom/warper.txt | 2 |
3 files changed, 67 insertions, 107 deletions
diff --git a/npc/custom/platinum_skills.txt b/npc/custom/platinum_skills.txt index 2a30e00f1..7eb933106 100644 --- a/npc/custom/platinum_skills.txt +++ b/npc/custom/platinum_skills.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Keichii, DarkChild //===== Current Version: ===================================== -//= 2.7 +//= 2.8 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -17,6 +17,7 @@ //= 2.5 Added dialog for if the user is none of the listed jobs. [Kisuka] //= 2.6 Fixed 2nd advanced classes not being able to get their advanced skills. [Ancyker] //= 2.7 Rewrote to give all correct skills to all proper classes. [Paradox924X] +//= 2.8 Clustered conditionals replaced with switch to include all Upper types. [Euphy] //============================================================ prontera,128,200,6 script Platinum Skill NPC 94,{ @@ -27,66 +28,34 @@ prontera,128,200,6 script Platinum Skill NPC 94,{ if (select("Yes Please:No") == 2) { mes "[Platinum Skill NPC]"; mes "Have a nice day... >.>"; - close; - } - skill 142,1,0; // First Aid - if (BaseClass == Job_Novice) { - skill 143,1,0; // Play Dead - } else if (BaseClass == Job_Swordman) { - skill 144,1,0; // Moving HP-Recovery - skill 145,1,0; // Fatal Blow - skill 146,1,0; // Auto Berserk - } else if (BaseClass == Job_Mage) { - skill 157,1,0; // Energy Coat - } else if (BaseClass == Job_Archer) { - skill 147,1,0; // Arrow Crafting - skill 148,1,0; // Arrow Repel - } else if (BaseClass == Job_Merchant) { - skill 153,1,0; // Cart Revolution - skill 154,1,0; // Change Cart - skill 155,1,0; // Crazy Uproar - } else if (BaseClass == Job_Thief) { - skill 149,1,0; // Sand Attack - skill 150,1,0; // Back Slide - skill 151,1,0; // Find Stone - skill 152,1,0; // Stone Fling - } else if (BaseClass == Job_Acolyte) { - skill 156,1,0; // Holy Light - } - if (Class == Job_Knight || Class == Job_Lord_Knight) { - skill 1001,1,0; // Charge Attack - } else if (Class == Job_Crusader || Class == Job_Paladin) { - skill 1002,1,0; // Shrink - } else if (Class == Job_Wizard || Class == Job_High_Wizard) { - skill 1006,1,0; // Sight Blaster - } else if (Class == Job_Sage || Class == Job_Professor) { - skill 1007,1,0; // Create Elemental Converter - skill 1008,1,0; // Elemental Change Water - skill 1017,1,0; // Elemental Change Earth - skill 1018,1,0; // Elemental Change Fire - skill 1019,1,0; // Elemental Change Wind - } else if (Class == Job_Hunter || Class == Job_Sniper) { - skill 1009,1,0; // Phantasmic Arrow - } else if (Class == Job_Bard || Class == Job_Clown) { - skill 1010,1,0; // Pang Voice - } else if (Class == Job_Dancer || Class == Job_Gypsy) { - skill 1011,1,0; // Wink of Charm - } else if (Class == Job_Blacksmith || Class == Job_Whitesmith) { - skill 1012,1,0; // Unfair Trick - skill 1013,1,0; // Greed - } else if (Class == Job_Alchemist || Class == Job_Creator) { - skill 238,1,0; // Bioethics - } else if (Class == Job_Assassin || Class == Job_Assassin_Cross) { - skill 1003,1,0; // Sonic Acceleration - skill 1004,1,0; // Throw Venom Knife - } else if (Class == Job_Rogue || Class == Job_Stalker) { - skill 1005,1,0; // Close Confine - } else if (Class == Job_Priest || Class == Job_High_Priest) { - skill 1014,1,0; // Redemptio - } else if (Class == Job_Monk || Class == Job_Champion) { - skill 1015,1,0; // Ki Translation - skill 1016,1,0; // Ki Explosion - } + close; } + + skill 142,1,0; + switch(BaseClass) { + case 0: if (Class !=23) skill 143,1,0; break; + case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break; + case 2: skill 157,1,0; break; + case 3: skill 147,1,0; skill 148,1,0; break; + case 4: skill 156,1,0; break; + case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break; + case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break; + default: break; } + switch(roclass(eaclass()&EAJ_UPPERMASK)) { + case 7: skill 1001,1,0; break; + case 8: skill 1014,1,0; break; + case 9: skill 1006,1,0; break; + case 10: skill 1012,1,0; skill 1013,1,0; break; + case 11: skill 1009,1,0; break; + case 12: skill 1003,1,0; skill 1004,1,0; break; + case 14: skill 1002,1,0; break; + case 15: skill 1015,1,0; skill 1016,1,0; break; + case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break; + case 17: skill 1005,1,0; break; + case 18: skill 238,1,0; break; + case 19: skill 1010,1,0; break; + case 20: skill 1011,1,0; break; + default: break; } + mes "[Platinum Skill NPC]"; mes "There you go!"; close; diff --git a/npc/custom/quests/berzebub.txt b/npc/custom/quests/berzebub.txt index 6fbb60960..cfaf78980 100644 --- a/npc/custom/quests/berzebub.txt +++ b/npc/custom/quests/berzebub.txt @@ -10,64 +10,55 @@ //= Quest to get the Berzebub Card //===== Additional Comments: ================================= //= 1.1 Fixed ingredients. Was too exploitable [Lupus] +//= 1.2 Optimized. [Euphy] //============================================================ prontera,165,178,8 script Old Woman 103,{ - mes "[Old Woman]"; - if(BerzQuest == 1) goto L_Already; - mes "Greeting lad. I found a really nifty item while I was picking mushrooms near Glast Heim."; + + setarray .@Items[0],714,25,1061,100,1095,200,618,10,1551,2,1614,1,727,20; + set .@n$,"[Old Woman]"; + + mes .@n$; + if(BerzQuest == 1) { + mes "Hey, I remember you! I already told you that you may only complete this quest once."; + close; } + mes "Greeting, lad. I found a really nifty item while I was picking mushrooms near Glast Heim."; next; - menu "Keep talking",-, "Leave", M_Leave; - - mes "[Old Woman]"; - mes "I have never seen an item like this before. I am told it can be placed inside am accessory that has a slot avaiable in it."; + if(select("Keep Talking:Leave")==2) goto M_Leave; + + mes .@n$; + mes "I have never seen an item like this before. I am told it can be placed inside any accessory with a slot available."; next; - mes "[Old Woman]"; - mes "If you're interested in this item, tell me and I'll tell you what you need for me to make you one of your own. I can only give one of these to each player, so once you finish this quest once, you may not do it again."; + mes .@n$; + mes "If you're interested in this item, I'll tell you what you need for me to make you one of your own. I can only give one of these to each player, so once you finish this quest, you may not do it again."; next; - menu "Tell me more about it",-, "Nah, I don't care about it", M_Leave; - - mes "[Old Woman]"; - mes "I believe the item is called a ^FF0000Berzebub Card^000000. It can make any spell caster cast spells really fast!"; + if(select("Tell me more about it:Nah, I don't care about it")==2) goto M_Leave; + + mes .@n$; + mes "I believe the item is called a ^FF0000Berzebub Card^000000. It makes you cast spells really fast!"; next; - mes "[Old Woman]"; + mes .@n$; mes "I need all of the following items:"; - mes "^0080FF25^000000 Emperiums"; - mes "^0080FF100^000000 Witched Starsands"; - mes "^0080FF200^000000 Needles of Alarm"; - mes "^0080FF10^000000 Worn Out Scrolls"; - mes "^0080FF2^000000 Biblies"; - mes "^0080FF1^000000 Wand of the Occult"; - mes "^0080FF20^000000 Opals"; + for(set .@i,0; .@i<getarraysize(.@Items); set .@i,.@i+2) { + mes " ~ "+.@Items[.@i+1]+"x "+getitemname(.@Items[.@i]); + if (countitem(.@Items[.@i]) < .@Items[.@i+1]) set .@nr,1; } next; - menu "I have all that!",-, "I'll get those ASAP", M_Leave; - - mes "[Old Woman]"; - mes "Anyone can say they have the items, but do they really have them? Let's take a look here..."; - next; - mes "[Old Woman]"; - if(countitem(714) < 25 || countitem(1061) < 100 || countitem(1095) < 200 || countitem(618) < 10 || countitem(1551) < 2 || countitem(1614) < 1 || countitem(727) < 20) goto L_noItems; - delitem 714, 25; - delitem 1061, 100; - delitem 1095, 200; - delitem 618, 10; - delitem 1551, 2; - delitem 1614, 1; - delitem 727, 20; - getitem 4145, 1; + if(select("I have all of that!:I'll get those ASAP")==2) goto M_Leave; + + mes .@n$; + if (.@nr) { + mes "You lie! Get out of here and get those items, you sorry excuse for a rock star."; + close; } + for(set .@i,0; .@i<getarraysize(.@Items); set .@i,.@i+2) + delitem .@Items[.@i], .@Items[.@i+1]; + getitem 4145,1; set BerzQuest, 1; - mes "Well congratulations! You have all the items. Here is your ^FF0000Berzebub Card^000000, just as I promised."; + mes "Congratulations! You have all the items. Here is your ^FF0000Berzebub Card^000000, as promised."; emotion e_grat; close; M_Leave: - mes "[Old Woman]"; + mes .@n$; mes "Such a great item I have right here..."; close; -L_noItems: - mes "I knew you were lying! Get out of here and get those items you sorry excuse for a rock star."; - close; -L_Already: - mes "Hey I remember you! I already told you that you may only complete this quest once."; - close; -} +}
\ No newline at end of file diff --git a/npc/custom/warper.txt b/npc/custom/warper.txt index 8c85997e5..7fec440cb 100644 --- a/npc/custom/warper.txt +++ b/npc/custom/warper.txt @@ -181,7 +181,7 @@ F26: setarray @c[2],371,212; Disp("Dewata Field",1,1); Pick("dew_fild"); F27: setarray @c[2],97,314; Disp("Eclage Field",1,1); Pick("ecl_fild"); -F28: setarray @c[2],40,272,266,359; +F28: setarray @c[2],40,272,207,180; Disp("Malaya Field",1,2); Pick("ma_fild"); // -------------------------------------------------- |