diff options
author | euphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-12-27 06:11:18 +0000 |
---|---|---|
committer | euphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-12-27 06:11:18 +0000 |
commit | 847a41f41dc4296c8c2aa42a79c23336f55e665b (patch) | |
tree | 4010b867b2060861d519babb6da86c0879825ff9 | |
parent | f4867954028b6c7b4d37c9860696578b27d6dbd1 (diff) | |
download | hercules-847a41f41dc4296c8c2aa42a79c23336f55e665b.tar.gz hercules-847a41f41dc4296c8c2aa42a79c23336f55e665b.tar.bz2 hercules-847a41f41dc4296c8c2aa42a79c23336f55e665b.tar.xz hercules-847a41f41dc4296c8c2aa42a79c23336f55e665b.zip |
> Follow-up r17048:
- Renamed 'useskilltopc' to 'npcskill';
- Removed cast time from NPC objects, code by mkbu95 (suspected official behavior);
- Documented 'npcskill';
- Replaced all instances in scripts.
* Fixed max level bypass, code by malufett (bugreport:5800).
* Updated Malangdo spawns to official.
* Some standardization of npc/quests/first_class/.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@17049 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | doc/script_commands.txt | 22 | ||||
-rw-r--r-- | npc/merchants/inn.txt | 6 | ||||
-rw-r--r-- | npc/quests/first_class/tu_acolyte.txt | 100 | ||||
-rw-r--r-- | npc/quests/first_class/tu_archer.txt | 184 | ||||
-rw-r--r-- | npc/quests/first_class/tu_ma_th01.txt | 65 | ||||
-rw-r--r-- | npc/quests/first_class/tu_magician01.txt | 20 | ||||
-rw-r--r-- | npc/quests/first_class/tu_merchant.txt | 67 | ||||
-rw-r--r-- | npc/quests/first_class/tu_sword.txt | 88 | ||||
-rw-r--r-- | npc/quests/first_class/tu_thief01.txt | 20 | ||||
-rw-r--r-- | npc/quests/quests_13_1.txt | 6 | ||||
-rw-r--r-- | npc/quests/thana_quest.txt | 7 | ||||
-rw-r--r-- | npc/re/jobs/3-1/guillotine_cross.txt | 7 | ||||
-rw-r--r-- | npc/re/jobs/3-1/rune_knight.txt | 37 | ||||
-rw-r--r-- | npc/re/jobs/novice/novice.txt | 9 | ||||
-rw-r--r-- | npc/re/mobs/dungeons/mal_dun.txt | 16 | ||||
-rw-r--r-- | npc/re/quests/eden/eden_quests.txt | 39 | ||||
-rw-r--r-- | src/map/pc.c | 11 | ||||
-rw-r--r-- | src/map/script.c | 12 | ||||
-rw-r--r-- | src/map/unit.c | 7 |
19 files changed, 271 insertions, 452 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 46583b95f..80c528bdb 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -6336,9 +6336,8 @@ Example: This command will send the message to the server console (map-server window). It will not be displayed anywhere else. - debugmes strcharinfo(0)+" has just done this that and the other"; - // You would see in the map-server window "NAME has just done this that and - // the other" + // Displays "NAME has clicked me!" in the map-server window. + debugmes strcharinfo(0)+" has clicked me!"; --------------------------------------- @@ -6623,6 +6622,23 @@ For the position, the x and y are given in the unitSkillUsePos. --------------------------------------- +*npcskill <skill id>,<skill lvl>,<stat point>,<NPC level>; +*npcskill "<skill name>",<skill lvl>,<stat point>,<NPC level>; + +This command causes the attached NPC object to cast a skill on the attached +player. The skill will have no cast time or cooldown. The player must be +within the default skill range or the command will fail silently. + +The "stat point" parameter temporarily sets all NPC stats to the given value, +and "NPC level" is the temporary level of the NPC (used in some skills). +Neither value can be greater than the max level defined in config. + + // Casts Level 10 Heal on the attached player, calculated with + // all stats 99 and base level 60. + npcskill "AL_HEAL",10,99,60; + +--------------------------------------- + *day; *night; diff --git a/npc/merchants/inn.txt b/npc/merchants/inn.txt index 8d6b63e8a..d9cc39a8e 100644 --- a/npc/merchants/inn.txt +++ b/npc/merchants/inn.txt @@ -4,7 +4,7 @@ //= Darkchild (1.1) //= Playtester (1.2) //===== Current Version: ===================================== -//= 2.9 +//= 2.9a //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -44,6 +44,7 @@ //= 2.7 Removed Morroc Inns as per episode 12.1. [L0ne_W0lf] //= 2.8 Removed Moscovia Inn; Its in quests/quest_moscovia.txt [Kisuka] //= 2.9 Added switch menus, updated to match AEGIS scripts. [Kisuka] +//= 2.9a Added 'npcskill' command. [Euphy] //============================================================ @@ -147,8 +148,7 @@ lhz_in02,230,284,4 script Hotel Employee#01 86,{ close2; warp "lhz_in02",219,150; percentheal 100,100; - sc_start SC_BLESSING,240000,10; - skilleffect AL_BLESSING,0; + npcskill "AL_BLESSING",10,99,99; end; case 3: mes "[Hotel Employee]"; diff --git a/npc/quests/first_class/tu_acolyte.txt b/npc/quests/first_class/tu_acolyte.txt index d42c9a411..017acc7aa 100644 --- a/npc/quests/first_class/tu_acolyte.txt +++ b/npc/quests/first_class/tu_acolyte.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Fix up by Jukka //===== Current Version: ===================================== -//= 1.6 +//= 1.6a //===== Compatible With: ===================================== //= rAthena SVN (Testet in Trunk 88xx) //===== Description: ========================================= @@ -17,10 +17,11 @@ //= 1.4 Misc. updates. [L0ne_W0lf] //= 1.5 Adjusted EXP gains to Renewal values. //= 1.6 Fixed a wrong placed curly bracket. [Joseph] +//= 1.6a Added 'npcskill' command. [Euphy] //============================================================ - -//=================================================Priest Praupin==================================================== +// Priest Praupin +//============================================================ prt_church,179,15,1 script Priest Praupin 110,{ mes "[Priest Praupin]"; if(BaseClass != Job_Acolyte){ @@ -52,7 +53,6 @@ prt_church,179,15,1 script Priest Praupin 110,{ mes "[Priest Praupin]"; mes "Seeing your eyes filled with such determination assures me. But if you run into any trouble, feel free to ask me for help. Good bye for now, blessed child."; close; - break; case 2: mes "[Priest Praupin]"; mes "There is a convent northeast"; @@ -81,7 +81,6 @@ prt_church,179,15,1 script Priest Praupin 110,{ mes "you need help, come to me."; close; } - break; } case 7: mes "You're looking for someone"; @@ -91,7 +90,6 @@ prt_church,179,15,1 script Priest Praupin 110,{ mes "[Priest Praupin]"; mes "Ah, he's away at the convent right now. If you want to meet Bishop Maugins in the Saint Capitolina Convent, travel ^3131FFnorth^000000, ^3131FFeast^000000, ^3131FFeast^000000 and then ^3131FFeast^000000 from Prontera."; close; - break; case 22: if(countitem(7181) > 0){ // Receipt_01 emotion e_gasp; @@ -173,7 +171,8 @@ prt_church,179,15,1 script Priest Praupin 110,{ close; } -//=================================================Asthe==================================================== +// Asthe +//============================================================ prt_monk,230,106,3 script Asthe#tu 79,{ mes "[Asthe]"; switch(tu_acolyte01){ @@ -291,14 +290,13 @@ prt_monk,230,106,3 script Asthe#tu 79,{ next; mes "[Asthe]"; mes "HEAL !!"; - unitskilluseid getcharid(3),28,10; + npcskill "AL_HEAL",10,99,60; set tu_acolyte01, 3; if(getskilllv("AL_HEAL") == 0){ getexp 0,10; specialeffect2 EF_CONE; } close; - break; case 3: mes "I would like to give you an assignment, but what do you"; mes "think? I believe learning the basics is your most important"; @@ -371,10 +369,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "[Asthe]"; mes "Would you like me to take the mace away from your inventory now?"; next; - switch(select("Sure.:Let me check again.")) { - case 1: - break; - case 2: + if(select("Sure.:Let me check again.") == 2) { mes "[Asthe]"; mes "Okay, no problem."; mes "Please make sure that you do not carry any ^FF0000Mace with an elemental Property^000000."; @@ -386,15 +381,12 @@ prt_monk,230,106,3 script Asthe#tu 79,{ emotion e_heh; set tu_acolyte01, 5; delitem 1504, 1; //Mace - if(Class == Job_Acolyte_High){ + if(Class == Job_Acolyte_High) getexp 200,100; - specialeffect2 EF_CONE; - close; - } else { + else getexp 100,50; - specialeffect2 EF_CONE; - close; - } + specialeffect2 EF_CONE; + close; } else { mes "Oh my!"; mes "Welcome back~"; @@ -415,7 +407,6 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "The basics are crucial to gaining mastery of the more advanced skills that you'll learn later. Just keep in mind that all of your efforts and suffering will become glory"; mes "and happiness."; close; - break; case 5: mes "I suppose I can tell you a little more about the Acolyte job. You already know that Novices must train and go to Prontera Church to become an Acolyte, your First Job Class."; next; @@ -440,7 +431,6 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "Ho ho ho~ No need to try to remember everything right now. You'll get the hang of it."; set tu_acolyte01, 6; close; - break; case 6: mes ""+strcharinfo(0)+","; mes "I just received this letter, but it seems to have been a mistake."; @@ -453,7 +443,6 @@ prt_monk,230,106,3 script Asthe#tu 79,{ set tu_acolyte01,7; getitem 7148,1; //Mother_Letter close; - break; case 7: mes "Would you please"; mes "deliver this letter"; @@ -461,13 +450,12 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "You can find him in the"; mes "building nearby."; close; - break; case 9: mes "You went to Prontera on behalf of the convent for Priest Gardron? That must have been tough..."; next; mes "[Asthe]"; mes "Blessing!"; - unitskilluseid getcharid(3),34,10; + npcskill "AL_BLESSING",10,0,0; next; mes "[Asthe]"; mes "Now I'm going to teach you"; @@ -502,7 +490,6 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "you some dog food.^000000"; set tu_acolyte01, 10; close; - break; case 11: case 12: mes "How to expel"; @@ -524,7 +511,6 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "and it will come."; set tu_acolyte01, 12; close; - break; case 13: mes "You remember that"; mes "you can learn Divine"; @@ -554,7 +540,6 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "alright? I'll be right here."; set tu_acolyte01, 14; close; - break; case 14: mes "Now it's time"; mes "for your next lesson."; @@ -576,9 +561,8 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "Try it for"; mes "yourself, okay?"; set tu_acolyte01, 15; - unitskilluseid getcharid(3),29,10; + npcskill "AL_INCAGI",10,0,0; close; - break; case 15: mes "Once you learn"; mes "Level 1 Increase AGI,"; @@ -605,7 +589,6 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "by learning the Heal skill."; set tu_acolyte01, 16; close; - break; case 16: mes "You've been learning"; mes "really quickly. I'm glad"; @@ -667,15 +650,13 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "Alright,"; mes "give me a moment"; mes "to catch my breath~"; - close; } else { mes "[Asthe]"; mes "Ho ho!"; mes "What a smart Acolyte~"; set tu_acolyte01, 17; - close; } - break; + close; case 17: mes "Oh dear...!"; mes "All of these things were delivered to me by accident! And some of these packages were supposed to"; @@ -713,7 +694,6 @@ prt_monk,230,106,3 script Asthe#tu 79,{ getitem 7148,1; //Mother_Letter } close; - break; case 18: case 19: case 20: @@ -735,7 +715,6 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "[Asthe]"; mes "Oh, and this last delivery is a receipt for ^3131FFPriest Praupin^000000, the priest who told you about me. Alright, have a safe trip~"; close; - break; case 23: mes "Ah, you're finishing"; mes "making all of those deliveries? Thank you very much! How was it meeting Priest Praupin after such"; @@ -760,7 +739,6 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "you my final lesson."; set tu_acolyte01, 24; close; - break; case 24: mes "The last skill"; mes "I will teach you"; @@ -813,7 +791,8 @@ prt_monk,230,106,3 script Asthe#tu 79,{ } -//=================================================Priest Gardron==================================================== +// Priest Gardron +//============================================================ monk_in,18,38,6 script Priest Gardron#tu 110,{ mes "[Priest Gardron]"; if(tu_acolyte01 == 7){ @@ -921,7 +900,8 @@ monk_in,18,38,6 script Priest Gardron#tu 110,{ close; } -//=================================================Dog==================================================== +// Dog +//============================================================ prt_monk,235,245,5 script Dog#tu 81,{ mes "[Dog]"; mes "^CDB79EBark bark!"; @@ -968,7 +948,8 @@ prt_monk,235,245,5 script Dog#tu 81,{ close; } -//=================================================Boy==================================================== +// Boy +//============================================================ prt_monk,243,238,5 script Boy#boy_voi 139,5,5,{ OnTouch_: if(tu_acolyte01 != 10)end; @@ -978,7 +959,8 @@ OnTouch_: close; } -//=================================================Ill Girl==================================================== +// Ill Girl +//============================================================ prt_monk,226,257,6 script Ill Girl#tu 93,{ mes "[Angelic]"; if(tu_acolyte01 > 12){ @@ -1056,15 +1038,13 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{ mes "For sure."; set tu_acolyte01, 11; close; - } else - if(tu_acolyte01 == 11){ + } else if(tu_acolyte01 == 11){ next; mes "[Angelic]"; mes "It hurts...!"; mes "I... I can't...!"; close; - } else - if(tu_acolyte01 == 12){ + } else if(tu_acolyte01 == 12){ next; mes "^3355FFYou go towards"; mes "the girl, place your hands"; @@ -1136,12 +1116,10 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{ mes "not able to use it for now.^000000"; close; } - break; case 4: mes "^3355FFThis isn't a skill"; mes "that Acolytes can use...^000000"; close; - break; case 5: if(getskilllv("AL_CRUCIS") > 0){ mes "["+strcharinfo(0)+"]"; @@ -1159,12 +1137,10 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{ mes "not able to use it for now.^000000"; close; } - break; case 6: mes "^3355FFThis isn't a skill"; mes "that Acolytes can use...^000000"; close; - break; } mes "[Angelic]"; @@ -1182,7 +1158,8 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{ close; } -//=================================================Veiner==================================================== +// Veiner +//============================================================ prt_monk,197,228,3 script Veiner 89,{ mes "[Veiner]"; if(countitem(1081) && tu_acolyte01 == 18){ @@ -1225,7 +1202,8 @@ prt_monk,197,228,3 script Veiner 89,{ close; } -//=================================================Hedrick==================================================== +// Hedrick +//============================================================ prt_monk,28,260,5 script Hedrick 50,{ mes "[Hedrick]"; mes "^333333*Whew!*^000000"; @@ -1260,7 +1238,8 @@ prt_monk,28,260,5 script Hedrick 50,{ close; } -//=================================================Weapon Merchant==================================================== +// Weapon Merchant +//============================================================ prt_monk,136,261,0 script Weapon Merchant#tu 139,9,9,{ OnTouch: if(tu_acolyte01 != 20 || countitem(1081)==0) end; @@ -1277,7 +1256,8 @@ OnTouch: close; } -//=================================================Karven==================================================== +// Karven +//============================================================ monk_in,103,176,7 script Karven 60,{ mes "[Karven]"; mes "May you rest"; @@ -1310,7 +1290,8 @@ monk_in,103,176,7 script Karven 60,{ close; } -//=================================================Gloria==================================================== +// Gloria +//============================================================ prt_monk,219,164,3 script Gloria#tu 95,{ mes "[Gloria]"; if(BaseJob != Job_Acolyte){ @@ -1365,7 +1346,6 @@ prt_monk,219,164,3 script Gloria#tu 95,{ mes "Wow, I'm touched!"; emotion e_sob; close; - break; case 2: mes "[Gloria]"; mes "Leave it to me!"; @@ -1374,7 +1354,6 @@ prt_monk,219,164,3 script Gloria#tu 95,{ close2; warp "prontera",116,72; end; - break; } } mes "Wow..."; @@ -1384,7 +1363,8 @@ prt_monk,219,164,3 script Gloria#tu 95,{ close; } -//=================================================Cleope Verce==================================================== +// Cleope Verce +//============================================================ prt_monk,153,210,3 script Cleope Verce 95,{ mes "[Cleope Verce]"; if(BaseJob != Job_Acolyte){ @@ -1557,7 +1537,8 @@ prt_monk,153,210,3 script Cleope Verce 95,{ mes "weather today..."; close; } -//=================================================Range NPC==================================================== +// Range NPC +//============================================================ prt_monk,217,123,0 script #tu_monk 139,10,10,{ OnTouch_: if(BaseJob == Job_Acolyte){ @@ -1577,7 +1558,8 @@ OnTouch_: end; } -//=================================================Eavesdrop==================================================== +// Eavesdrop +//============================================================ prt_monk,223,123,3 script Eavesdrop#tu 111,{ if(BaseJob != Job_Acolyte){ mes "^3355FFThere's nothing here.^000000"; diff --git a/npc/quests/first_class/tu_archer.txt b/npc/quests/first_class/tu_archer.txt index 8ad147a67..2f95cf11a 100644 --- a/npc/quests/first_class/tu_archer.txt +++ b/npc/quests/first_class/tu_archer.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Fix up by Jukka //===== Current Version: ===================================== -//= 1.9 +//= 1.9a //===== Compatible With: ===================================== //= rAthena SVN (Testet in Trunk 88xx) //===== Description: ========================================= @@ -20,10 +20,11 @@ //= 1.7 Added 10.3 dialog and moved Arpesto to hunter skill quest. [Kisuka] //= 1.8 Updated slightly, removed additional emotions from Reiden. [L0ne_W0lf] //= 1.9 Misc. updates. [L0ne_W0lf] +//= 1.9a Added 'npcskill' command. [Euphy] //============================================================ - -//=================================================Bard Jet==================================================== +// Bard Jet +//============================================================ payon_in02,67,65,3 script Bard Jet#tu 51,{ mes "[Jet]"; mes "Every god never grows old"; @@ -158,7 +159,8 @@ payon_in02,67,65,3 script Bard Jet#tu 51,{ close; } -//=================================================Sign==================================================== +// Sign +//============================================================ pay_arche,127,154,4 script Sign#arc 835,{ mes " "; mes " Archer Job Change Office ---> "; @@ -167,7 +169,8 @@ pay_arche,127,154,4 script Sign#arc 835,{ close; } -//=================================================Master Kavaruk==================================================== +// Master Kavaruk +//============================================================ payon_in02,54,13,3 script Master Kavaruk 55,{ mes "[Master Kavaruk]"; mes "Hello, young one."; @@ -366,7 +369,6 @@ payon_in02,54,13,3 script Master Kavaruk 55,{ mes "extremely capable. I believe"; mes "that you can learn much from her."; close; - break; case 2: mes "[Master Kavaruk]"; mes "Ah, I see. Well,"; @@ -375,7 +377,6 @@ payon_in02,54,13,3 script Master Kavaruk 55,{ mes "ever change your mind, feel"; mes "free to come back."; close; - break; } } else if(tu_archer01 == 1 || tu_archer01 == 2){ mes "Hmm...?"; @@ -411,7 +412,8 @@ payon_in02,54,13,3 script Master Kavaruk 55,{ close; } -//=================================================Reidin Corse==================================================== +// Reidin Corse +//============================================================ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "[Reidin Corse]"; if(MaxWeight - Weight < 2000){ @@ -445,7 +447,6 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "to ask me? You had"; mes "that look, you know?"; close; - break; } mes "[Reidin Corse]"; mes "Fine. I'm an incredibly"; @@ -477,7 +478,6 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "back, I'll reconsider"; mes "teaching you."; close; - break; } mes "[Reidin Corse]"; mes "Let's see..."; @@ -577,7 +577,6 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ close2; warp "morocc",156,46; end; - break; case 2: mes "[Reidin Corse]"; mes "Hm...?"; @@ -586,9 +585,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "do whatever it is you"; mes "need to do..."; close; - break; } - break; case 2: emotion e_an; mes "[Reidin Corse]"; @@ -598,7 +595,6 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "you come here, you better"; mes "know Level 3 Owl's Eye!"; close; - break; } } else { @@ -617,7 +613,6 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "teach you all my"; mes "archery secrets!"; close; - break; } } else if(tu_archer01 == 6){ set .@owl, getskilllv(43); @@ -745,14 +740,12 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ close2; warp "geffen",120,39; end; - break; case 2: mes "[Reidin Corse]"; mes "You still need"; mes "to get ready?"; mes "Hurry it up!"; close; - break; } } else { mes "Eh?"; @@ -785,14 +778,12 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ close2; warp "geffen",120,39; end; - break; case 2: mes "[Reidin Corse]"; mes "You still need"; mes "to get ready?"; mes "Hurry it up!"; close; - break; } } else { mes "Ah, so you've learned"; @@ -1096,7 +1087,8 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ close; } -//=================================================Seisner==================================================== +// Seisner +//============================================================ pay_arche,84,139,3 script Seisner 727,{ specialeffect EF_HIT2,"#Target"; mes "[Seisner]"; @@ -1273,7 +1265,6 @@ pay_arche,84,139,3 script Seisner 727,{ mes "[Seisner]"; mes "Someday, I'd like to become a great Archer and use my skills for the good of Rune-Midgard."; close; - break; } } } else if(tu_archer01 == 2){ @@ -1302,10 +1293,12 @@ pay_arche,84,139,3 script Seisner 727,{ close; } -//=================================================Target==================================================== +// Target +//============================================================ pay_arche,76,135,3 script Target#Target 111,{ end; } // empty NPC?? [Jukka] -//=================================================Acolyte==================================================== +// Acolyte +//============================================================ pay_fild08,40,83,5 script Acolyte#tu 95,{ mes "[Acolyte]"; if(tu_archer01 == 14){ @@ -1340,7 +1333,6 @@ pay_fild08,40,83,5 script Acolyte#tu 95,{ mes "I''ll try my very best!"; set tu_archer01, 15; close; - break; case 2: mes "[Acolyte]"; mes "Oh... Oh."; @@ -1350,7 +1342,6 @@ pay_fild08,40,83,5 script Acolyte#tu 95,{ mes "that's alright..."; emotion e_sob; close; - break; case 3: mes "[Acolyte]"; mes "Eh?!"; @@ -1380,7 +1371,6 @@ pay_fild08,40,83,5 script Acolyte#tu 95,{ set tu_archer01, 15; close; } - break; } end; } else { @@ -1393,32 +1383,21 @@ pay_fild08,40,83,5 script Acolyte#tu 95,{ mes "Wait, I know..."; mes "Y-you're... ^666666*Yawn*^000000"; mes "So sleepy. Take this for now..."; - set .@kurae_heal, rand(1,4); - if(.@kurae_heal == 1){ - unitskilluseid getcharid(3),28,3; - } else if(.@kurae_heal == 2){ - unitskilluseid getcharid(3),28,9; - } else if(.@kurae_heal == 3){ - unitskilluseid getcharid(3),28,10; - } else if(.@kurae_heal == 4){ + switch(rand(4)) { + case 0: npcskill "AL_HEAL",3,90,62; break; + case 1: npcskill "AL_HEAL",9,90,62; break; + case 2: npcskill "AL_HEAL",8,90,62; break; + case 3: break; } - - set .@kurae_agi, rand(1,3); - if(.@kurae_agi == 1){ - unitskilluseid getcharid(3),29,0; - } else if(.@kurae_agi == 2){ - unitskilluseid getcharid(3),29,5; - } else if(.@kurae_agi == 3){ - unitskilluseid getcharid(3),29,10; + switch(rand(3)) { + case 0: npcskill "AL_INCAGI",1,0,0; break; + case 1: npcskill "AL_INCAGI",5,0,0; break; + case 2: npcskill "AL_INCAGI",10,0,0; break; } - - set .@kurae_bls, rand(1,3); - if(.@kurae_bls == 1){ - unitskilluseid getcharid(3),34,0; - } else if(.@kurae_bls == 2){ - unitskilluseid getcharid(3),34,5; - } else if(.@kurae_bls == 3){ - unitskilluseid getcharid(3),34,10; + switch(rand(3)) { + case 0: npcskill "AL_BLESSING",1,0,0; break; + case 1: npcskill "AL_BLESSING",5,0,0; break; + case 2: npcskill "AL_BLESSING",10,0,0; break; } close; } @@ -1439,64 +1418,29 @@ pay_fild08,40,83,5 script Acolyte#tu 95,{ mes "^666666Zzzz^000000--Oooh!"; mes "J-just take this before"; mes "I fall asleep again~! ^666666*Yawn*^000000"; - - set .@kurae_heal, rand(1,4); - if(.@kurae_heal == 1){ - unitskilluseid getcharid(3),28,3; - } else if(.@kurae_heal == 2){ - unitskilluseid getcharid(3),28,10; - } else if(.@kurae_heal == 3){ - unitskilluseid getcharid(3),28,8; - } - - set .@kurae_agi, rand(1,3); - if(.@kurae_agi == 1){ - unitskilluseid getcharid(3),29,0; - } else if(.@kurae_agi == 2){ - unitskilluseid getcharid(3),29,5; - } else if(.@kurae_agi == 3){ - unitskilluseid getcharid(3),29,10; - } - - set .@kurae_bls, rand(1,3); - if(.@kurae_bls == 1){ - unitskilluseid getcharid(3),34,0; - } else if(.@kurae_bls == 2){ - unitskilluseid getcharid(3),34,5; - } else if(.@kurae_bls == 3){ - unitskilluseid getcharid(3),34,10; - } - close; } else { mes "Okay~!"; mes "Let me try"; mes "casting a spell"; mes "to help you! Yaa~p!"; - - set .@kurae_heal, rand(1,3); - if(.@kurae_heal == 1){ - unitskilluseid getcharid(3),28,3; - } else if(.@kurae_heal == 2){ - unitskilluseid getcharid(3),28,10; - } else if(.@kurae_heal == 3){ - unitskilluseid getcharid(3),28,8; - } - - set .@kurae_agi, rand(1,2); - if(.@kurae_agi == 1){ - unitskilluseid getcharid(3),29,10; - } else if(.@kurae_agi == 2){ - unitskilluseid getcharid(3),29,5; - } - - set .@kurae_bls, rand(1,2); - if(.@kurae_bls == 1){ - unitskilluseid getcharid(3),34,10; - } else if(.@kurae_bls == 2){ - unitskilluseid getcharid(3),34,5; - } - close; } + switch(rand(4)) { + case 0: npcskill "AL_HEAL",3,90,62; break; + case 1: npcskill "AL_HEAL",10,90,62; break; + case 2: npcskill "AL_HEAL",8,90,62; break; + case 3: break; + } + switch(rand(3)) { + case 0: npcskill "AL_INCAGI",1,0,0; break; + case 1: npcskill "AL_INCAGI",5,0,0; break; + case 2: npcskill "AL_INCAGI",10,0,0; break; + } + switch(rand(3)) { + case 0: npcskill "AL_BLESSING",1,0,0; break; + case 1: npcskill "AL_BLESSING",5,0,0; break; + case 2: npcskill "AL_BLESSING",10,0,0; break; + } + close; } mes "..."; mes "W-why does"; @@ -1507,7 +1451,8 @@ pay_fild08,40,83,5 script Acolyte#tu 95,{ close; } -//=================================================Alchemist Guildmember==================================================== +// Alchemist Guildmember +//============================================================ pay_arche,130,113,3 script Alchemist Guildmember#tu 740,{ mes "[Alchemist Guildmember]"; if(tu_archer02 > 0){ @@ -1550,7 +1495,6 @@ pay_arche,130,113,3 script Alchemist Guildmember#tu 740,{ } set Zeny,Zeny+.@total_zeny; close; - break; case 2: mes "[Alchemist Guildmember]"; mes "Seriously..."; @@ -1558,7 +1502,6 @@ pay_arche,130,113,3 script Alchemist Guildmember#tu 740,{ mes "The Alchemist Guild really needs lots of new supplies to keep our Flora field running!"; emotion e_sob; close; - break; } } else { mes "I don't know if you've heard"; @@ -1582,7 +1525,8 @@ pay_arche,130,113,3 script Alchemist Guildmember#tu 740,{ close; } -//=================================================Arthail==================================================== +// Arthail +//============================================================ prontera,126,335,5 script Arthail 51,{ mes "[Arthail]"; if(tu_archer02 < 3){ @@ -1724,8 +1668,7 @@ prontera,126,335,5 script Arthail 51,{ mes "I'd better go check"; mes "this out on my own."; set tu_archer02, 5; - close2; - end; + close; } else if(tu_archer02 > 4 && tu_archer02 < 7){ mes "^333333Zzzzz...^000000"; @@ -1756,16 +1699,15 @@ prontera,126,335,5 script Arthail 51,{ mes "have a song that"; mes "I can share with you."; set tu_archer02, 9; - close2; - end; + close; } mes "..."; mes "......"; - close2; - end; + close; } -//=================================================New Guild Master==================================================== +// New Guild Master +//============================================================ prontera,167,281,3 script New Guild Master#tu 753,{ mes "[New Guild Master]"; mes "Hearken, all"; @@ -1787,7 +1729,8 @@ prontera,167,281,3 script New Guild Master#tu 753,{ close; } -//=================================================Mage==================================================== +// Mage +//============================================================ prontera,144,301,5 script Mage#tu 123,{ mes "[Mage]"; mes "Did you see that"; @@ -1814,7 +1757,8 @@ prontera,144,301,5 script Mage#tu 123,{ close; } -//=================================================Minister==================================================== +// Minister +//============================================================ prt_castle,76,165,6 script Minister#tu 55,{ mes "[Minister]"; mes "The royal family"; @@ -1873,7 +1817,8 @@ prt_castle,76,165,6 script Minister#tu 55,{ close; } -//=================================================Range NPC==================================================== +// Range NPC +//============================================================ prt_castle,94,150,4 script #sound_tu 139,6,6,{ OnTouch_: if(tu_archer02 == 6) { @@ -1887,7 +1832,8 @@ OnTouch_: end; } -//=================================================Bishop Maugins==================================================== +// Bishop Maugins +//============================================================ monk_in,19,43,1 script Bishop Maugins 60,{ mes "[Bishop Maugins]"; if(tu_archer02 == 7){ @@ -1922,8 +1868,8 @@ monk_in,19,43,1 script Bishop Maugins 60,{ mes "Good luck on"; mes "your journeys,"; mes "brave adventurer."; - unitskilluseid getcharid(3),29,10; - unitskilluseid getcharid(3),34,10; + npcskill "AL_INCAGI",10,0,0; + npcskill "AL_BLESSING",10,0,0; close; } mes "I'm sorry, but I have"; diff --git a/npc/quests/first_class/tu_ma_th01.txt b/npc/quests/first_class/tu_ma_th01.txt index 0399a5112..72c1d4914 100644 --- a/npc/quests/first_class/tu_ma_th01.txt +++ b/npc/quests/first_class/tu_ma_th01.txt @@ -16,8 +16,8 @@ //= 1.3 Misc. updates. [L0ne_W0lf] //============================================================ - -//=================================================Battle Traces 1==================================================== +// Battle Traces 1 +//============================================================ moc_fild12,166,369,0 script Trace of Battle#1 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 5){ @@ -107,7 +107,8 @@ moc_fild12,166,369,0 script Trace of Battle#1 844,{ close; } -//=================================================Battle Traces 2==================================================== +// Battle Traces 2 +//============================================================ moc_fild12,173,215,0 script Trace of Battle#2 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 9){ @@ -156,7 +157,8 @@ moc_fild12,173,215,0 script Trace of Battle#2 844,{ close; } -//=================================================Battle Traces 3==================================================== +// Battle Traces 3 +//============================================================ moc_fild12,276,165,0 script Trace of Battle#3 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 10){ @@ -208,7 +210,8 @@ moc_fild12,276,165,0 script Trace of Battle#3 844,{ close; } -//=================================================Battle Traces 4==================================================== +// Battle Traces 4 +//============================================================ moc_fild11,39,163,0 script Trace of Battle#4 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 11){ @@ -267,7 +270,8 @@ moc_fild11,39,163,0 script Trace of Battle#4 844,{ close; } -//=================================================Battle Traces 5==================================================== +// Battle Traces 5 +//============================================================ moc_fild11,205,52,0 script Trace of Battle#5 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 12){ @@ -305,7 +309,6 @@ moc_fild11,205,52,0 script Trace of Battle#5 844,{ mes "is nothing to be"; mes "concerned about."; close; - break; case 2: mes "["+strcharinfo(0)+"]"; mes "Hey... There's"; @@ -320,9 +323,7 @@ moc_fild11,205,52,0 script Trace of Battle#5 844,{ mes "of cloth from the puddle"; mes "of poison and keep it with you.^000000"; close; - break; } - break; case 2: mes "["+strcharinfo(0)+"]"; mes "Hmm..."; @@ -331,7 +332,6 @@ moc_fild11,205,52,0 script Trace of Battle#5 844,{ mes "trail, rather than stop to"; mes "investigate this scene."; close; - break; } } } else { @@ -378,7 +378,6 @@ moc_fild11,205,52,0 script Trace of Battle#5 844,{ mes "is nothing to be"; mes "concerned about."; close; - break; case 2: mes "["+strcharinfo(0)+"]"; mes "Hey... There's"; @@ -393,9 +392,7 @@ moc_fild11,205,52,0 script Trace of Battle#5 844,{ mes "of cloth from the puddle"; mes "of poison and keep it with you.^000000"; close; - break; } - break; case 2: mes "["+strcharinfo(0)+"]"; mes "Hmm..."; @@ -404,7 +401,6 @@ moc_fild11,205,52,0 script Trace of Battle#5 844,{ mes "trail, rather than stop to"; mes "investigate this scene."; close; - break; } } } else { @@ -423,7 +419,8 @@ moc_fild11,205,52,0 script Trace of Battle#5 844,{ close; } -//=================================================Battle Traces 6==================================================== +// Battle Traces 6 +//============================================================ moc_fild11,226,235,0 script Trace of Battle#6 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 13){ @@ -465,7 +462,8 @@ moc_fild11,226,235,0 script Trace of Battle#6 844,{ close; } -//=================================================Battle Traces 7==================================================== +// Battle Traces 7 +//============================================================ moc_fild11,184,342,0 script Trace of Battle#7 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 13){ @@ -505,7 +503,8 @@ moc_fild11,184,342,0 script Trace of Battle#7 844,{ close; } -//=================================================Battle Traces 8==================================================== +// Battle Traces 8 +//============================================================ moc_fild17,213,358,0 script Trace of Battle#8 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 13){ @@ -565,7 +564,8 @@ moc_fild17,213,358,0 script Trace of Battle#8 844,{ close; } -//=================================================Battle Traces 9==================================================== +// Battle Traces 9 +//============================================================ moc_fild17,228,274,0 script Trace of Battle#9 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 14){ @@ -659,7 +659,8 @@ moc_fild17,228,274,0 script Trace of Battle#9 844,{ close; } -//=================================================Battle Traces 10==================================================== +// Battle Traces 10 +//============================================================ moc_fild17,34,292,0 script Trace of Battle#10 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 16){ @@ -711,7 +712,8 @@ moc_fild17,34,292,0 script Trace of Battle#10 844,{ close; } -//=================================================Battle Traces 11==================================================== +// Battle Traces 11 +//============================================================ moc_fild18,346,296,0 script Trace of Battle#11 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 17){ @@ -767,7 +769,8 @@ moc_fild18,346,296,0 script Trace of Battle#11 844,{ close; } -//=================================================Battle Traces 12==================================================== +// Battle Traces 12 +//============================================================ moc_fild18,309,257,0 script Trace of Battle#12 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 18){ @@ -819,7 +822,8 @@ moc_fild18,309,257,0 script Trace of Battle#12 844,{ close; } -//=================================================Battle Traces 13==================================================== +// Battle Traces 13 +//============================================================ moc_fild18,177,333,0 script Trace of Battle#13 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 19){ @@ -872,7 +876,8 @@ moc_fild18,177,333,0 script Trace of Battle#13 844,{ close; } -//=================================================Battle Traces 14==================================================== +// Battle Traces 14 +//============================================================ moc_fild18,111,303,0 script Trace of Battle#14 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 20){ @@ -924,7 +929,8 @@ moc_fild18,111,303,0 script Trace of Battle#14 844,{ close; } -//=================================================Battle Traces 15==================================================== +// Battle Traces 15 +//============================================================ moc_fild18,109,197,0 script Trace of Battle#15 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 21){ @@ -948,7 +954,6 @@ moc_fild18,109,197,0 script Trace of Battle#15 844,{ mes "in which the battle"; mes "continues...^000000"; close; - break; case 2: mes "^3355FFYou find a bunch of"; mes "traps that use different"; @@ -958,7 +963,6 @@ moc_fild18,109,197,0 script Trace of Battle#15 844,{ mes "haven't been triggered.^000000"; set tu_thief01, 22; close; - break; } } else if(tu_thief01 == 22){ set .@trap_tm, rand(1,3); @@ -988,14 +992,12 @@ moc_fild18,109,197,0 script Trace of Battle#15 844,{ set tu_thief01, 23; close; } - break; case 2: mes "["+strcharinfo(0)+"]"; mes "I guess..."; mes "I'll try investigating"; mes "this area a little more?"; close; - break; } } else { mes "^3355FFBy sheer accident,"; @@ -1106,7 +1108,6 @@ moc_fild18,109,197,0 script Trace of Battle#15 844,{ mes "in which the battle"; mes "continues...^000000"; close; - break; case 2: mes "^3355FFYou find a bunch of"; mes "traps that use different"; @@ -1116,7 +1117,6 @@ moc_fild18,109,197,0 script Trace of Battle#15 844,{ mes "haven't been triggered.^000000"; set tu_magician01, 22; close; - break; } } else if(tu_magician01 == 22){ set .@trap_tm, rand(1,3); @@ -1146,14 +1146,12 @@ moc_fild18,109,197,0 script Trace of Battle#15 844,{ set tu_magician01, 23; close; } - break; case 2: mes "["+strcharinfo(0)+"]"; mes "I guess..."; mes "I'll try investigating"; mes "this area a little more?"; close; - break; } } else { mes "^3355FFBy sheer accident,"; @@ -1254,7 +1252,8 @@ moc_fild18,109,197,0 script Trace of Battle#15 844,{ close; } -//=================================================Battle Traces 16==================================================== +// Battle Traces 16 +//============================================================ moc_fild18,156,96,0 script Trace of Battle#16 844,{ if(BaseClass == Job_Thief){ if(tu_thief01 < 25){ diff --git a/npc/quests/first_class/tu_magician01.txt b/npc/quests/first_class/tu_magician01.txt index f28d8cf71..9beb55b5b 100644 --- a/npc/quests/first_class/tu_magician01.txt +++ b/npc/quests/first_class/tu_magician01.txt @@ -16,15 +16,15 @@ //= 1.3 Misc. updates. [L0ne_W0lf] //============================================================ - -//=================================================Sign==================================================== +// Sign +//============================================================ geffen,61,174,4 script Sign#M 111,{ mes "- Mage Job Change -"; close; } - -//=================================================New Mage Manager==================================================== +// New Mage Manager +//============================================================ geffen,67,180,4 script New Mage Manager#M 102,{ mes "[Mana]"; if(Class == Job_Novice){ @@ -129,9 +129,8 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "continue this later, okay?"; set tu_magician01, 1; getexp BaseLevel*3,BaseLevel*2; - //misceffect EF_HIT5; + specialeffect2 EF_HIT5; close; - break; case 1: mes "Are you ready"; mes "to continue our"; @@ -387,7 +386,6 @@ geffen,67,180,4 script New Mage Manager#M 102,{ set tu_mana,0; } close; - break; } } break; @@ -469,9 +467,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ set tu_magician01, 3; getexp 40,20; specialeffect2 EF_HIT5; - close; - break; case 3: mes "Ah, you're back?"; mes "Let's see if you gathered"; @@ -501,7 +497,6 @@ geffen,67,180,4 script New Mage Manager#M 102,{ specialeffect2 EF_HIT5; close; } - break; case 4: mes "So..."; mes "Did you get"; @@ -530,7 +525,6 @@ geffen,67,180,4 script New Mage Manager#M 102,{ specialeffect2 EF_HIT5; close; } - break; case 5: mes "Now I'll tell you"; mes "what I know about the"; @@ -735,7 +729,6 @@ geffen,67,180,4 script New Mage Manager#M 102,{ } } close; - break; case 6: mes "Oh good, you're back."; mes "Let me tell you about"; @@ -780,7 +773,6 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "and ask me later, okay?"; close; } - break; case 7: mes "I don't know"; mes "what kind of work"; @@ -788,7 +780,6 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "for you, but hopefully"; mes "it won't be too difficult."; close; - break; case 27: mes "Yierhan just sent me"; mes "a message, saying that"; @@ -821,7 +812,6 @@ geffen,67,180,4 script New Mage Manager#M 102,{ set Zeny, Zeny + 3000; getexp 300,100; close; - break; default: if(tu_magician01 < 27){ mes "So..."; diff --git a/npc/quests/first_class/tu_merchant.txt b/npc/quests/first_class/tu_merchant.txt index 44470c483..95810e2c9 100644 --- a/npc/quests/first_class/tu_merchant.txt +++ b/npc/quests/first_class/tu_merchant.txt @@ -16,8 +16,8 @@ //= 1.3 Misc. updates. [L0ne_W0lf] //============================================================ - -//=================================================Guarnien==================================================== +// Guarnien +//============================================================ alberta_in,70,51,5 script Guarnien 98,{ mes "[Guarnien]"; if(Class != Job_Merchant && Class != Job_Baby_Merchant){ @@ -48,7 +48,6 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "If you can be sincerely kind to everyone that you meet, you'll"; mes "have no problem."; close; - break; case 16: mes "So..."; mes "How much have"; @@ -93,7 +92,6 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "the mood strikes you."; mes "Good luck to you~"; close; - break; case 15: mes "I believe it's time"; mes "for my final lecture."; @@ -140,7 +138,6 @@ alberta_in,70,51,5 script Guarnien 98,{ set tu_merchant, 17; completequest 8239; getexp 199,69; - next; } else { mes "[Guarnien]"; @@ -166,7 +163,6 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "the mood strikes you."; mes "Good luck to you~"; close; - break; case 14: mes "So, have you"; mes "learned Push Cart up"; @@ -208,7 +204,6 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "Cart skill. I hope that helps."; close; } - break; case 13: mes "Now to talk about"; mes "^871F78Push Cart^000000. First off, you need to know Level 5 Increase Weight Limit before you can even learn the Push Cart skill."; @@ -252,7 +247,6 @@ alberta_in,70,51,5 script Guarnien 98,{ erasequest 8237; setquest 8238; getexp 186,60; - next; mes "[Guarnien]"; mes "Next time, I'll talk about the skill that sets Merchants apart from all the other classes: ^871F78Vending^000000. So don't miss it!"; @@ -267,7 +261,6 @@ alberta_in,70,51,5 script Guarnien 98,{ set tu_merchant, 14; close; } - break; case 12: mes "So..."; mes "How is it going"; @@ -312,7 +305,6 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "There's no rush, but I won't be able to lecture on anything until you finish this little task."; close; } - break; case 11: mes "Ah, ready to"; mes "learn already,"; @@ -365,7 +357,6 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "Do your best~"; close; } - break; case 10: mes "Let me see those"; mes "Red Potions. Now,"; @@ -386,7 +377,6 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "Now, why don't you go to Prontera and try to buy 10 Red Potions from an NPC for the cheapest price again?"; set tu_merchant, rand(6,8); close; - break; case 9: mes "Let me see those"; mes "Red Potions. Ah, it seems you researched the market and bought the cheapest ones! Great work!"; @@ -398,7 +388,6 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "Alright, next time, we'll talk about the skill that you can learn after knowing how to Discount:"; mes "^871F78Over Charge^000000."; close; - break; case 6: case 7: case 8: @@ -412,7 +401,6 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "[Guarnien]"; mes "First, you'll probably want to research the market price for Red Potions. And always, be careful of scammers and cheats!"; close; - break; case 5: mes "Alright..."; mes "I've given it some thought and I've come up with a little challenge for you. Bring me... 10 Red Potions!"; @@ -433,7 +421,6 @@ alberta_in,70,51,5 script Guarnien 98,{ set tu_merchant, rand(6,8); warp "prontera",155,46; end; - break; case 4: mes "So, how is it going with learning the Discount skill? Like I always say, if you can't make a bargain, you can't be a Merchant!"; next; @@ -467,7 +454,6 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "Well, you should be able to reach that goal soon. After all, it's one of the basics of being a Merchant!"; close; } - break; case 3: mes "Ah, you're back!"; mes "Now, I was going"; @@ -525,7 +511,6 @@ alberta_in,70,51,5 script Guarnien 98,{ setquest 8232; close; } - break; case 2: mes "Ah, you've come back to learn more. Let's see, what was I going to tell you about... Right, Mammonite!"; next; @@ -560,7 +545,6 @@ alberta_in,70,51,5 script Guarnien 98,{ setquest 8231; close; } - break; case 1: mes "So..."; mes "Did you learn the"; @@ -690,8 +674,9 @@ alberta_in,70,51,5 script Guarnien 98,{ close; } } - -//=================================================Sagle==================================================== + +// Sagle +//============================================================ prontera,66,111,3 script Sagle 82,{ mes "[Sagle]"; if(tu_merchant == 8){ @@ -731,7 +716,6 @@ prontera,66,111,3 script Sagle 82,{ getitem 501,10; //Red_Potion close; } - break; case 2: mes "[Sagle]"; mes "Alright..."; @@ -740,7 +724,6 @@ prontera,66,111,3 script Sagle 82,{ mes "these potions"; mes "are sold out!"; close; - break; } } if(tu_merchant == 7){ @@ -781,7 +764,6 @@ prontera,66,111,3 script Sagle 82,{ getitem 501,10; //Red_Potion close; } - break; case 2: mes "[Sagle]"; mes "Alright..."; @@ -790,7 +772,6 @@ prontera,66,111,3 script Sagle 82,{ mes "these potions"; mes "are sold out!"; close; - break; } } if(tu_merchant == 6){ @@ -830,7 +811,6 @@ prontera,66,111,3 script Sagle 82,{ getitem 501,10; //Red_Potion close; } - break; case 2: mes "[Sagle]"; mes "Alright..."; @@ -839,7 +819,6 @@ prontera,66,111,3 script Sagle 82,{ mes "these potions"; mes "are sold out!"; close; - break; } } mes "It's on the tip"; @@ -855,7 +834,8 @@ prontera,66,111,3 script Sagle 82,{ close; } -//=================================================Kellion==================================================== +// Kellion +//============================================================ prontera,93,330,3 script Kellion 97,{ mes "[Kellion]"; if(tu_merchant == 8){ @@ -888,7 +868,6 @@ prontera,93,330,3 script Kellion 97,{ getitem 569,10; //Novice_Potion close; } - break; case 2: mes "[Kellion]"; mes "Well, I'm sorry"; @@ -896,7 +875,6 @@ prontera,93,330,3 script Kellion 97,{ mes "I guess I'll see"; mes "you later."; close; - break; } } if(tu_merchant == 7){ @@ -929,7 +907,6 @@ prontera,93,330,3 script Kellion 97,{ getitem 501,10; //Red_Potion close; } - break; case 2: mes "[Kellion]"; mes "Well, I'm sorry"; @@ -937,7 +914,6 @@ prontera,93,330,3 script Kellion 97,{ mes "I guess I'll see"; mes "you later."; close; - break; } } if(tu_merchant == 6){ @@ -970,7 +946,6 @@ prontera,93,330,3 script Kellion 97,{ getitem 501,10; //Red_Potion close; } - break; case 2: mes "[Kellion]"; mes "Well, I'm sorry"; @@ -978,7 +953,6 @@ prontera,93,330,3 script Kellion 97,{ mes "I guess I'll see"; mes "you later."; close; - break; } } mes "Recently, I hear that something"; @@ -994,7 +968,8 @@ prontera,93,330,3 script Kellion 97,{ close; } -//=================================================Aigie==================================================== +// Aigie +//============================================================ prt_in,169,11,3 script Aigie 92,{ if(tu_merchant == 8){ mes "[Aigie]"; @@ -1031,7 +1006,6 @@ prt_in,169,11,3 script Aigie 92,{ getitem 501,10; //Red_Potion close; } - break; case 2: mes "[Aigie]"; mes "I understand."; @@ -1040,7 +1014,6 @@ prt_in,169,11,3 script Aigie 92,{ mes "you a really good price."; mes "^666666*Sniff Sniff*^000000"; close; - break; } } if(tu_merchant == 7){ @@ -1078,7 +1051,6 @@ prt_in,169,11,3 script Aigie 92,{ getitem 501,10; //Red_Potion close; } - break; case 2: mes "[Aigie]"; mes "I understand."; @@ -1087,7 +1059,6 @@ prt_in,169,11,3 script Aigie 92,{ mes "you a really good price."; mes "^666666*Sniff Sniff*^000000"; close; - break; } } if(tu_merchant == 6){ @@ -1125,7 +1096,6 @@ prt_in,169,11,3 script Aigie 92,{ getitem 569,10; //Novice_Potion close; } - break; case 2: mes "[Aigie]"; mes "I understand."; @@ -1134,7 +1104,6 @@ prt_in,169,11,3 script Aigie 92,{ mes "you a really good price."; mes "^666666*Sniff Sniff*^000000"; close; - break; } } mes "[Aigie]"; @@ -1145,7 +1114,8 @@ prt_in,169,11,3 script Aigie 92,{ close; } -//=================================================Jayon==================================================== +// Jayon +//============================================================ prontera,247,129,3 script Jayon 85,{ if(tu_merchant == 8){ mes "[Jayon]"; @@ -1181,7 +1151,6 @@ prontera,247,129,3 script Jayon 85,{ getitem 501,10; //Red_Potion close; } - break; case 2: mes "[Jayon]"; mes "Just looking"; @@ -1191,7 +1160,6 @@ prontera,247,129,3 script Jayon 85,{ mes "advantage of a real"; mes "deal when you see one!"; close; - break; } } @@ -1229,7 +1197,6 @@ prontera,247,129,3 script Jayon 85,{ getitem 501,10; //Red_Potion close; } - break; case 2: mes "[Jayon]"; mes "Just looking"; @@ -1240,7 +1207,6 @@ prontera,247,129,3 script Jayon 85,{ mes "deal when you see one!"; close2; end; - break; } } @@ -1278,7 +1244,6 @@ prontera,247,129,3 script Jayon 85,{ getitem 501,10; //Red_Potion close; } - break; case 2: mes "[Jayon]"; mes "Just looking"; @@ -1288,7 +1253,6 @@ prontera,247,129,3 script Jayon 85,{ mes "advantage of a real"; mes "deal when you see one!"; close; - break; } } @@ -1302,7 +1266,8 @@ prontera,247,129,3 script Jayon 85,{ close; } -//=================================================Maos==================================================== +// Maos +//============================================================ prt_in,251,129,3 script Maos 709,{ if(tu_merchant == 8){ mes "[Maos]"; @@ -1334,12 +1299,10 @@ prt_in,251,129,3 script Maos 709,{ getitem 501,10; //Red_Potion close; } - break; case 2: mes "[Maos]"; mes "Well, I can't force you to buy these, but I'm telling you that you're passing up a real bargain!"; close; - break; } } if(tu_merchant == 7){ @@ -1371,12 +1334,10 @@ prt_in,251,129,3 script Maos 709,{ getitem 501,10; //Red_Potion close; } - break; case 2: mes "[Maos]"; mes "Well, I can't force you to buy these, but I'm telling you that you're passing up a real bargain!"; close; - break; } } if(tu_merchant == 6){ @@ -1408,12 +1369,10 @@ prt_in,251,129,3 script Maos 709,{ getitem 501,10; //Red_Potion close; } - break; case 2: mes "[Maos]"; mes "Well, I can't force you to buy these, but I'm telling you that you're passing up a real bargain!"; close; - break; } } mes "[Maos]"; diff --git a/npc/quests/first_class/tu_sword.txt b/npc/quests/first_class/tu_sword.txt index 2219810b4..6ae1d7c08 100644 --- a/npc/quests/first_class/tu_sword.txt +++ b/npc/quests/first_class/tu_sword.txt @@ -17,8 +17,8 @@ //= 1.4 Misc. updates. [L0ne_W0lf] //============================================================ - -//=================================================Shurank==================================================== +// Shurank +//============================================================ izlude_in,82,163,3 script Shurank 733,{ mes "[Shurank]"; if(Class == Job_Novice || Class == Job_Baby){ @@ -80,7 +80,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "To improve your skills,"; mes "you must explore this vast world and experience all sorts of battle situations. And always commit yourself to your training."; close; - break; case 22: mes "This will be my"; mes "final lecture to you."; @@ -167,7 +166,6 @@ izlude_in,82,163,3 script Shurank 733,{ completequest 8228; getitem 1113,1; //Scimiter close; - break; case 21: mes "Ah, you've returned. I've just received a communique from"; mes "Dequ'ee. It seems you've been working very hard and that you've made the most of this experience."; @@ -210,11 +208,9 @@ izlude_in,82,163,3 script Shurank 733,{ mes "I'll be here when you're ready to learn more."; set tu_swordman, 22; close; - break; case 13: mes "You should leave as soon as possible to meet Dequ'ee in Geffen. You do remember where to find him, don't you?"; close; - break; case 12: mes "So how has your"; mes "training for the Endure"; @@ -246,7 +242,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "you to double your efforts!"; close; } - break; case 11: mes "So have you"; mes "learned how to use"; @@ -306,7 +301,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "I recommend that you learn it as soon as you can. Endure is an invaluable skill for any Swordman to have!"; close; } - break; case 10: mes "The time has come"; mes "for me to tell you"; @@ -379,7 +373,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Hurry and meet with Dequ'ee and return to me when you complete whatever it is that he wishes for you to do."; close; } - break; case 9: mes "So have you been"; mes "learning more about"; @@ -416,7 +409,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "I can continue my lectures."; close; } - break; case 8: mes "Ah, you've returned."; mes "So how has your training"; @@ -477,7 +469,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Still haven't learned Provoke, eh? As a Swordman, I believe that it's important that you at least be able to use Provoke!"; close; } - break; case 7: mes "Ah, you've returned. For a new Swordman, you are doing quite"; mes "well. So what is the message"; @@ -575,7 +566,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Next time we speak, I will tell you what I know about the ^5D478BEndure^000000 skill. When you're ready to learn, come back to me."; close; } - break; case 6: mes "I wish for you to find a Knight named ^5D478BDequ'ee^000000 in ^5D478BGeffen^000000. Listen carefully, this is the message"; mes "I want you to give him."; @@ -597,7 +587,6 @@ izlude_in,82,163,3 script Shurank 733,{ next; warp "gef_fild07",35,192; close; - break; case 5: mes "Ah, you've returned. I know I said that I would teach you what I know about the Provoke skill, but..."; next; @@ -626,7 +615,6 @@ izlude_in,82,163,3 script Shurank 733,{ set tu_swordman, 6; changequest 8215,8216; close; - break; case 4: mes "Since you've mastered Bash,"; mes "I feel that you're ready to learn more about Swordman skills."; @@ -683,7 +671,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "[Shurank]"; mes "By now, I believe that you know enough about the Increase HP Recovery skill. Next time, I shall teach you what I know about the Provoke skill."; close; - break; case 3: mes "If you want to be"; mes "able to use the full"; @@ -711,7 +698,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "use Bash quite well, but you are not a master of it yet. I encourage you to master Bash in order to unleash its true potential!"; close; } - break; case 2: mes "I hope you've been"; mes "training yourself in using"; @@ -758,7 +744,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "use Bash quite well, but you are not a master of it yet. I encourage you to master Bash in order to unleash its true potential!"; close; } - break; case 1: mes "Have you been learning"; mes "the art of using Bash? I fervently believe that the Bash skill is the essense of Swordmanship!"; @@ -839,7 +824,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "that skill!"; close; } - break; case 0: mes "Ah, a comrade in arms."; mes "Allow me to introduce myself. I am Shurank Chainlier, a Knight in the service of the Prontera Chivalry."; @@ -933,14 +917,14 @@ izlude_in,82,163,3 script Shurank 733,{ getitem 2503,1; //Muffler close; } - break; } mes "..."; mes "......"; close; } -//=================================================Daqu'ee==================================================== +// Daqu'ee +//============================================================ geffen,154,143,3 script Dequ'ee 734,{ if(BaseJob == Job_Novice){ mes "[Dequ'ee]"; @@ -1063,7 +1047,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "made up. You've got"; mes "to try it again!"; close; - break; case 2: mes "[Dequ'ee]"; mes "Bankley...?"; @@ -1084,7 +1067,6 @@ geffen,154,143,3 script Dequ'ee 734,{ close2; warp "moc_fild07",359,201; end; - break; case 3: mes "[Dequ'ee]"; mes "Geil...?"; @@ -1094,7 +1076,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "made up. You've got"; mes "to try it again!"; close; - break; case 4: mes "[Dequ'ee]"; mes "Muetro...?"; @@ -1104,7 +1085,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "made up. You've got"; mes "to try it again!"; close; - break; } } if(tu_swordman == 16){ @@ -1154,7 +1134,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; case 2: mes "[Dequ'ee]"; mes "Muetro, Hans,"; @@ -1176,9 +1155,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; } - break; case 2: mes "[Dequ'ee]"; mes "Geil's...?"; @@ -1209,7 +1186,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; case 2: mes "[Dequ'ee]"; mes "Muetro, Geil,"; @@ -1231,9 +1207,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; } - break; case 3: mes "[Dequ'ee]"; mes "Bankley's...?"; @@ -1264,7 +1238,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; case 2: mes "[Dequ'ee]"; mes "Muetro, Bankley,"; @@ -1286,9 +1259,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; } - break; } break; case 2: @@ -1330,7 +1301,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; case 2: mes "[Dequ'ee]"; mes "Hans, Muetro,"; @@ -1352,9 +1322,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; } - break; case 2: mes "[Dequ'ee]"; mes "Geil's...?"; @@ -1385,7 +1353,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; case 2: mes "[Dequ'ee]"; mes "Hans, Geil,"; @@ -1407,9 +1374,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; } - break; case 3: mes "[Dequ'ee]"; mes "Bankley's...?"; @@ -1440,7 +1405,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; case 2: mes "[Dequ'ee]"; mes "Hans, Bankley,"; @@ -1462,9 +1426,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; } - break; } break; case 3: @@ -1513,7 +1475,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "to formulate an algorithm!"; set tu_swordman, 17; close; - break; case 2: mes "[Dequ'ee]"; mes "Geil, Muetro,"; @@ -1535,9 +1496,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; } - break; case 2: mes "[Dequ'ee]"; mes "Han's...?"; @@ -1568,7 +1527,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; case 2: mes "[Dequ'ee]"; mes "Geil, Hans,"; @@ -1590,9 +1548,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; } - break; case 3: mes "[Dequ'ee]"; mes "Bankley's...?"; @@ -1623,7 +1579,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; case 2: mes "[Dequ'ee]"; mes "Geil, Bankley,"; @@ -1645,9 +1600,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; } - break; } break; case 4: @@ -1689,7 +1642,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; case 2: mes "[Dequ'ee]"; mes "Bankley, Muetro,"; @@ -1711,9 +1663,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; } - break; case 2: mes "[Dequ'ee]"; mes "Hans's...?"; @@ -1744,7 +1694,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; case 2: mes "[Dequ'ee]"; mes "Bankley, Hans,"; @@ -1764,9 +1713,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; } - break; case 3: mes "[Dequ'ee]"; mes "Geil's...?"; @@ -1804,7 +1751,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "to formulate an algorithm!"; set tu_swordman, 18; close; - break; case 2: mes "[Dequ'ee]"; mes "Bankley, Geil,"; @@ -1826,9 +1772,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "way it is now. Let's"; mes "try another combination."; close; - break; } - break; } break; } @@ -2044,7 +1988,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "be the message I'm supposed to receive from Shurack. I need his exact message or I can't send"; mes "a response..."; close; - break; case 2: mes "[" + strcharinfo(0) + "]"; mes "What are we"; @@ -2061,9 +2004,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "be the message I'm supposed to receive from Shurack. I need his exact message or I can't send"; mes "a response..."; close; - break; } - break; case 2: mes "[" + strcharinfo(0) + "]"; mes "Did you figure out"; @@ -2087,7 +2028,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "be the message I'm supposed to receive from Shurack. I need his exact message or I can't send"; mes "a response..."; close; - break; case 2: mes "[" + strcharinfo(0) + "]"; mes "What are we"; @@ -2104,9 +2044,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "be the message I'm supposed to receive from Shurack. I need his exact message or I can't send"; mes "a response..."; close; - break; } - break; } break; case 2: @@ -2141,7 +2079,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "be the message I'm supposed to receive from Shurack. I need his exact message or I can't send"; mes "a response..."; close; - break; case 2: mes "[" + strcharinfo(0) + "]"; mes "What are we"; @@ -2181,9 +2118,7 @@ geffen,154,143,3 script Dequ'ee 734,{ next; warp "izlude",35,78; close; - break; } - break; case 2: mes "[" + strcharinfo(0) + "]"; mes "Did you figure out"; @@ -2209,7 +2144,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "be the message I'm supposed to receive from Shurack. I need his exact message or I can't send"; mes "a response..."; close; - break; case 2: mes "[" + strcharinfo(0) + "]"; mes "What are we"; @@ -2229,9 +2163,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "be the message I'm supposed to receive from Shurack. I need his exact message or I can't send"; mes "a response..."; close; - break; } - break; } break; } @@ -2243,7 +2175,8 @@ geffen,154,143,3 script Dequ'ee 734,{ close; } -//=================================================Geil==================================================== +// Geil +//============================================================ morocc_in,51,101,3 script Geil 89,{ mes "[Geil]"; if(tu_swordman == 15){ @@ -2293,7 +2226,8 @@ morocc_in,51,101,3 script Geil 89,{ close; } -//=================================================Meutro==================================================== +// Meutro +//============================================================ morocc,82,292,5 script Muetro 84,{ mes "[Muetro]"; if(tu_swordman == 15){ @@ -2333,7 +2267,8 @@ morocc,82,292,5 script Muetro 84,{ close; } -//=================================================Hans==================================================== +// Hans +//============================================================ morocc,240,72,3 script Hans 86,{ mes "[Hans]"; if(tu_swordman == 15){ @@ -2390,7 +2325,8 @@ morocc,240,72,3 script Hans 86,{ close; } -//=================================================Bankley==================================================== +// Bankley +//============================================================ morocc_in,12,156,3 script Bankley 97,{ if(tu_swordman > 19){ mes "^3355FFBankley had a pitiable"; diff --git a/npc/quests/first_class/tu_thief01.txt b/npc/quests/first_class/tu_thief01.txt index 75d8f4ba8..fe0d52f87 100644 --- a/npc/quests/first_class/tu_thief01.txt +++ b/npc/quests/first_class/tu_thief01.txt @@ -17,7 +17,8 @@ //= 1.4 Misc. updates. [L0ne_W0lf] //============================================================ -//=================================================Thief Trainer==================================================== +// Thief Trainer +//============================================================ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "[Yierhan]"; if(Class == Job_Novice){ @@ -68,7 +69,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "Yeah, right now!"; mes "But if you're not ready for some reason, I guess I can wait."; close; - break; } mes "[Yierhan]"; mes "Alright, first of all, Thieves use melee attacks. Well, most of us do. There are a few who like using long range Bows. But all of us are good at bein' fast!"; @@ -91,7 +91,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ getexp 20,10; specialeffect2 EF_HIT5; close; - break; case 2: mes "[Yierhan]"; mes "Yeah, that's right! If you wanna increase your damage, you need"; @@ -108,7 +107,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ getexp 40,20; specialeffect2 EF_HIT5; close; - break; case 3: mes "[Yierhan]"; mes "Say whaaat? ^23238EDEX^000000 affects"; @@ -124,7 +122,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ getexp 20,10; specialeffect2 EF_HIT5; close; - break; } } else if(tu_thief01 == 1){ mes "Alright, enough about stats."; @@ -350,7 +347,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ getexp 30,10; } close; - break; } } } else if(tu_thief01 == 4){ @@ -427,7 +423,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ getexp 100,50; specialeffect2 EF_HIT5; close; - break; case 2: mes "[Yierhan]"; mes "Good!"; @@ -438,7 +433,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ getexp 50,20; specialeffect2 EF_HIT5; close; - break; } } else { switch(select("It was nice to meet you.:Nope.")) { @@ -458,7 +452,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ getexp 50,20; specialeffect2 EF_HIT5; close; - break; case 2: mes "[Yierhan]"; mes "Good!"; @@ -469,7 +462,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ getexp 50,20; specialeffect2 EF_HIT5; close; - break; } } } @@ -552,7 +544,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "[Yierhan]"; mes "Ah, gotcha. Well, that's understandable. I mean, these things take time, you know?"; close; - break; case 2: mes "[Yierhan]"; mes "Yeah...?"; @@ -560,7 +551,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "I guess these kinds of things require patience. And thinking."; mes "You know, things I'm horrible at."; close; - break; case 3: mes "[Yierhan]"; mes "Alright...!"; @@ -599,7 +589,6 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ set Zeny, Zeny + 5000; getexp 800,300; close; - break; } } else { mes "[Yierhan]"; @@ -612,7 +601,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ next; mes "[Yierhan]"; mes "I just like telling people to follow their dreams. So do it. Life without anything to look forward to is pretty boring, doncha think?"; - close2; + close; } } else if(Class == Job_Mage || Class == Job_Mage_High || Class == Job_Wizard || Class == Job_High_Wizard || Class == Job_Sage || Class == Job_Professor){ if(tu_magician01 < 7){ @@ -724,8 +713,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ set tu_magician01, 27; set Zeny, Zeny + 5000; getexp 500,200; - close2; - break; + close; } } else { mes "Just as I thought,"; diff --git a/npc/quests/quests_13_1.txt b/npc/quests/quests_13_1.txt index baf70d585..148abeb7f 100644 --- a/npc/quests/quests_13_1.txt +++ b/npc/quests/quests_13_1.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 2.6 +//= 2.6a //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -44,6 +44,7 @@ //= 2.5 Yet more optimization (-22kb). [Euphy] //= 2.5a Minor fixes. [Euphy] //= 2.6 Disabled "Ash Vacuum Warper" as it's no longer in iRO. [Euphy] +//= 2.6a Added 'npcskill' command. [Euphy] //============================================================ // Onward to the New World @@ -8545,8 +8546,7 @@ mid_camp,69,144,0 script Ferocious Gorurug 421,{ } } else if ((ep13_yong1 > 59) && (ep13_yong1 < 300)) { - skilleffect "AL_HEAL",816; - heal 816,0; + npcskill "AL_HEAL",8,50,50; if (countitem(6039) > 9) { mes "[Ferocious Gorurug]"; mes "You've brough Pieces of Fish!"; diff --git a/npc/quests/thana_quest.txt b/npc/quests/thana_quest.txt index e308ff3f0..362695bef 100644 --- a/npc/quests/thana_quest.txt +++ b/npc/quests/thana_quest.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== -//= 1.0 +//= 1.0a //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,6 +11,7 @@ //= Episode 13.1 Thanatos Tower quest. //===== Additional Comments: ================================= //= 1.0 Adapted from official release. [Euphy] +//= 1.0a Added 'npcskill' command. [Euphy] //============================================================ hu_fild01,140,163,5 script Tower Keeper 852,3,3,{ @@ -822,9 +823,7 @@ tha_t02,231,161,5 script Entrance Guide 874,{ mes "Is there a Phantom on the top of this tower?"; if (rand(3) == 1) { mes "You look tired. This isn't a big deal, but it's for you."; -// UseSkillToPC 28 10 50 70 - percentheal 50,70; - specialeffect2 EF_HEAL; + npcskill "AL_HEAL",10,50,70; } close; } diff --git a/npc/re/jobs/3-1/guillotine_cross.txt b/npc/re/jobs/3-1/guillotine_cross.txt index d7ea93877..6d5ef573f 100644 --- a/npc/re/jobs/3-1/guillotine_cross.txt +++ b/npc/re/jobs/3-1/guillotine_cross.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== -//= 1.0 +//= 1.0a //===== Compatible With: ===================================== //= rAthena SVN r16945+ //===== Description: ========================================= @@ -11,6 +11,7 @@ //= Job change Quest from Assassin / Assassin Cross -> Guillotine Cross. //===== Additional Comments: ================================= //= 1.0 Adapted from original script. [Euphy] +//= 1.0a Added 'npcskill' command. [Euphy] //============================================================ que_job01,75,96,3 script Guild Member#3rdgc01 997,{ @@ -2482,9 +2483,7 @@ OnTouch: select("......"); mes "[A man with black clothes]"; mes "May the goddess bless you eternally..."; -// UseSkillToPC 34 0 0 0 - specialeffect2 EF_BLESSING; - sc_start SC_BLESSING,60000,1; + npcskill "AL_BLESSING",10,0,0; next; emotion e_gasp; mes "[A man with black clothes]"; diff --git a/npc/re/jobs/3-1/rune_knight.txt b/npc/re/jobs/3-1/rune_knight.txt index 5cdbaea11..c29c16da0 100644 --- a/npc/re/jobs/3-1/rune_knight.txt +++ b/npc/re/jobs/3-1/rune_knight.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= L0ne_W0lf, Muad_Dib //===== Current Version: ===================================== -//= 1.3 +//= 1.3a //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -13,6 +13,7 @@ //= 1.1 Added forgoten Header. [Masao] //= 1.2 Added Energy Rune item reward. [Masao] //= 1.3 Updated script, optimized. [Euphy] +//= 1.3a Added 'npcskill' command. [Euphy] //============================================================ prt_in,162,24,3 script Splendid-Looking Knight 470,2,2,{ @@ -1810,15 +1811,12 @@ job3_rune02,34,46,5 script Captain Tigris#jrt1 470,2,2,{ switch(rand(6)) { case 0: mapannounce "job3_rune02","Captain Tigris : May Beljeve bless you!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 -// UseSkillToPC 34 0 0 0 - unitskilluseid getnpcid(0),"AL_BLESSING",10,getcharid(3); + npcskill "AL_BLESSING",1,0,0; break; case 1: case 2: mapannounce "job3_rune02","Captain Tigris : The Spark of life... may flame again.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 -// UseSkillToPC 28 8 70 99 - percentheal 100,100; - skilleffect "AL_HEAL",9999; + npcskill "AL_HEAL",8,70,99; break; case 3: mapannounce "job3_rune02","Captain Tigris : Evil demons! I will send you back to your graves!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 @@ -1859,20 +1857,16 @@ job3_rune02,43,46,3 script Rune Knight Lunarea#jrt1 469,2,2,{ switch(rand(6)) { case 0: mapannounce "job3_rune02","Rune Knight Lunarea : Quickly... find and strike at the enemy's weakness!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 -// UseSkillToPC 29 0 0 0 - unitskilluseid getnpcid(0),"AL_INCAGI",10,getcharid(3); + npcskill "AL_INCAGI",1,0,0; break; case 1: case 2: mapannounce "job3_rune02","Rune Knight Lunarea : It's not over... you need more power...",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 -// UseSkillToPC 28 8 60 90 - percentheal 100,100; - skilleffect "AL_HEAL",9999; + npcskill "AL_HEAL",8,60,90; break; case 3: mapannounce "job3_rune02","Rune Knight Lunarea : Everything starts from the beginning!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 -// UseSkillToPC 35 0 0 0 - unitskilluseid getnpcid(0),"AL_CURE",1,getcharid(3); + npcskill "AL_CURE",1,0,0; break; case 4: mapannounce "job3_rune02","Rune Knight Lunarea : There can't be growth without a trial.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 @@ -1908,15 +1902,12 @@ job3_rune02,43,34,1 script Rune Knight Renoa#jrt1 469,2,2,{ switch(rand(6)) { case 0: mapannounce "job3_rune02","Rune Knight Renoa : The rune of Wind! May it give you strength!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 -// UseSkillToPC 29 0 0 0 - unitskilluseid getnpcid(0),"AL_INCAGI",10,getcharid(3); + npcskill "AL_INCAGI",1,0,0; break; case 1: case 2: mapannounce "job3_rune02","Rune Knight Renoa : The rune of Birth! May give you the power of life!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 -// UseSkillToPC 28 8 60 90 - percentheal 100,100; - skilleffect "AL_HEAL",9999; + npcskill "AL_HEAL",8,60,90; break; case 3: mapannounce "job3_rune02","Rune Knight Renoa : I am faster than all of them! Different then the others!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 @@ -1957,20 +1948,16 @@ job3_rune02,34,34,7 script Rune Knight Velpino#jrt1 468,2,2,{ switch(rand(6)) { case 0: mapannounce "job3_rune02","Rune Knight Velpino : You are not one who gets to fall down in this kind of place.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 -// UseSkillToPC 28 8 60 90 - percentheal 100,100; - skilleffect "AL_HEAL",9999; + npcskill "AL_HEAL",8,60,90; break; case 1: case 2: mapannounce "job3_rune02","Rune Knight Velpino : Move on! There are obstacles to overcome.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 -// UseSkillToPC 29 0 0 0 - unitskilluseid getnpcid(0),"AL_INCAGI",10,getcharid(3); + npcskill "AL_INCAGI",1,0,0; break; case 3: mapannounce "job3_rune02","Rune Knight Velpino : You are not alone. We are by your side.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 -// UseSkillToPC 34 0 0 0 - unitskilluseid getnpcid(0),"AL_BLESSING",10,getcharid(3); + npcskill "AL_BLESSING",1,0,0; break; case 4: mapannounce "job3_rune02","Rune Knight Velpino : Fight and win! Don't give in to the pain!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 diff --git a/npc/re/jobs/novice/novice.txt b/npc/re/jobs/novice/novice.txt index 8b18eefb9..ebefaff48 100644 --- a/npc/re/jobs/novice/novice.txt +++ b/npc/re/jobs/novice/novice.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.4 +//= 1.4a //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -15,6 +15,7 @@ //= 1.2 Cleaning. [Euphy] //= 1.3 Fixed Eden Group Officer's level requirement. [Joseph] //= 1.4 Fixed checkquest to check quest accordingly. [Joseph] +//= 1.4a Added 'npcskill' command. [Euphy] //============================================================ // Sprakki (Stard of Novice Training Ground, Outside Castle) @@ -932,8 +933,7 @@ new_1-2,35,176,4 script Soldier#nv 105,{ mes "Kill enough Porings."; mes "Porings are easy to deal with, so cheer up."; mes "Try again."; - percentheal 100,100; - skilleffect 28,9999; + npcskill "AL_HEAL",10,99,60; close; } mes "[Brade]"; @@ -946,8 +946,7 @@ new_1-2,35,176,4 script Soldier#nv 105,{ mes "[Brade]"; mes "Try using the job manuals to find out the characteristics of each job's skills."; mes "I will restore your HP and SP... Keep it up."; - percentheal 100,100; - skilleffect 28,9999; + npcskill "AL_HEAL",10,99,60; close; } diff --git a/npc/re/mobs/dungeons/mal_dun.txt b/npc/re/mobs/dungeons/mal_dun.txt index 30c319240..79efeecbf 100644 --- a/npc/re/mobs/dungeons/mal_dun.txt +++ b/npc/re/mobs/dungeons/mal_dun.txt @@ -3,22 +3,22 @@ //===== By: ================================================== //= Chilly //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Official kRO monster spawns //===== Additional Comments: ================================= //= 1.0 First Release +//= 1.1 Updated to official script. [Euphy] //============================================================ //================================================== // mal_dun01 - Lagoon in the Stars //================================================== -mal_dun01,0,0,0,0 monster Crab 1073,20,0,0,0 -mal_dun01,0,0,0,0 monster Shellfish 1074,20,0,0,0 -mal_dun01,0,0,0,0 monster Aster 1266,20,0,0,0 -mal_dun01,0,0,0,0 monster Red Eruma 2197,120,0,0,0 -mal_dun01,0,0,0,0 monster Siorava 2199,80,0,0,0 -mal_dun01,0,0,0,0 monster Wild Rider 2208,1,20000,10000,1 -mal_dun01,0,0,0,0 monster King Dramoh 2198,1,30000,20000,1 +mal_dun01,0,0,0,0 monster Crab 1073,10,5000,0,0 +mal_dun01,0,0,0,0 monster Shellfish 1074,10,5000,0,0 +mal_dun01,0,0,0,0 monster Aster 1266,20,5000,0,0 +mal_dun01,0,0,0,0 monster Red Eruma 2197,60,5000,0,0 +mal_dun01,0,0,0,0 monster Siorava 2199,45,5000,0,0 +mal_dun01,0,0,0,0 monster Wild Rider 2208,1,5000,0,0 diff --git a/npc/re/quests/eden/eden_quests.txt b/npc/re/quests/eden/eden_quests.txt index a13375198..c6776d9b4 100644 --- a/npc/re/quests/eden/eden_quests.txt +++ b/npc/re/quests/eden/eden_quests.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.3 +//= 1.4a //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -16,6 +16,7 @@ //= 1.3 Added Instructor Ur and the new Quests which come //= alongside him. Special thanks to Chilly for the base. [Masao] //= 1.4 Partial cleaning and bug fixing. [Euphy] +//= 1.4a Added 'npcskill' command. [Euphy] //============================================================ moc_para01,25,35,4 script Instructor Boya#para01 469,{ @@ -1182,7 +1183,7 @@ moc_fild11,180,253,5 script Talking Dog#para03 972,{ mes "Oh, if you are tired I will help you."; next; mes "-When the dog barked, your HP and SP recovered.-"; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } @@ -1220,7 +1221,7 @@ moc_fild11,180,253,5 script Talking Dog#para03 972,{ mes "Oh, if you are tired I will help you."; next; mes "-When the dog barked, your HP and SP recovered.-"; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } @@ -1276,7 +1277,7 @@ moc_fild11,180,253,5 script Talking Dog#para03 972,{ mes "Oh, if you are tired I will help you."; next; mes "-When the dog barked, your HP and SP recovered.-"; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } @@ -1422,7 +1423,7 @@ prt_sewb1,131,262,3 script Timid Cat#para04 422,{ mes "[Timid Cat]"; mes "Take care to check your map so you don't get lost."; mes "It's a service meeow."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 0,100; close; } @@ -1460,7 +1461,7 @@ prt_sewb1,131,262,3 script Timid Cat#para04 422,{ mes "[Timid Cat]"; mes "I will help you a little."; mes "Here, I have recovered your strengh meow.."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } @@ -1495,7 +1496,7 @@ prt_sewb1,131,262,3 script Timid Cat#para04 422,{ mes "It's the last course so cheer up."; mes "I will help you a little."; mes "Here, I have recovered your strengh meow.."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 0,100; close; } @@ -1607,7 +1608,7 @@ pay_arche,41,136,3 script Eden Member Karl#para05 904,{ mes "[Karl]"; mes "Just in case I will recover all your energy."; mes "It's the last step so be careful."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } @@ -1638,7 +1639,7 @@ pay_arche,41,136,3 script Eden Member Karl#para05 904,{ mes "[Karl]"; mes "Just in case I will recover all your energy."; mes "It's the last step so be careful."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 0,100; close; } @@ -1761,7 +1762,7 @@ anthell01,29,264,5 script Eden Member Cloud#para06 899,{ mes "What do you think of Ant Hell?"; mes "Can you stay longer?"; mes "Ok, I will recover your strengh so, keep going."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } @@ -1800,7 +1801,7 @@ anthell01,29,264,5 script Eden Member Cloud#para06 899,{ mes "[Cloud]"; mes "See, to cheer you up I will heal you until you finish the training."; mes "Chin up and cheer up."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } @@ -1828,7 +1829,7 @@ anthell01,29,264,5 script Eden Member Cloud#para06 899,{ mes "[Cloud]"; mes "Just Vitata, isn't that an easy opponent?"; mes "If you see Maya just run away."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } @@ -1943,7 +1944,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{ mes "[Hooksha]"; mes "You look tired I will recover your health."; mes "If you are in trouble just come back here to safety."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } @@ -1974,7 +1975,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{ mes "[Hooksha]"; mes "You look tired, I will recover your health."; mes "If you are in trouble just come back here to safety."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } @@ -2000,7 +2001,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{ mes "[Hooksha]"; mes "You look tired, I will recover your health."; mes "If you are in trouble just come back here to safety."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } @@ -2073,7 +2074,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{ mes "Can you stay longer?"; mes "You look tired, I will recover your health."; mes "If you are in trouble just come back here to safety."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } @@ -2097,7 +2098,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 803,{ mes "Can you stay longer?"; mes "You look tired I will recover your health."; mes "If you are in trouble just come back here to safety."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } @@ -2201,7 +2202,7 @@ iz_dun04,43,46,3 script Eden Member Callandiva 745,{ mes "Oh are you tired?"; mes "Mermans are not easy opponents."; mes "I will help you recover so cheer up."; -// UseSkillToPC 28 10 99 60; + npcskill "AL_HEAL",10,99,60; percentheal 0,100; close; } @@ -2235,7 +2236,7 @@ iz_dun04,43,46,3 script Eden Member Callandiva 745,{ mes "Oh are you tired?"; mes "Strouf are not easy opponents."; mes "I can help you recover so cheer up."; -// UseSkillToPC 28 10 99 60 + npcskill "AL_HEAL",10,99,60; percentheal 100,100; close; } diff --git a/src/map/pc.c b/src/map/pc.c index 017944942..378c44ab5 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -7231,6 +7231,17 @@ int pc_jobchange(struct map_session_data *sd,int job, int upper) sd->class_ = (unsigned short)b_class; sd->status.job_level=1; sd->status.job_exp=0; + + if (sd->status.base_level > pc_maxbaselv(sd)) { + sd->status.base_level = pc_maxbaselv(sd); + sd->status.base_exp=0; + pc_resetstate(sd); + clif_updatestatus(sd,SP_STATUSPOINT); + clif_updatestatus(sd,SP_BASELEVEL); + clif_updatestatus(sd,SP_BASEEXP); + clif_updatestatus(sd,SP_NEXTBASEEXP); + } + clif_updatestatus(sd,SP_JOBLEVEL); clif_updatestatus(sd,SP_JOBEXP); clif_updatestatus(sd,SP_NEXTJOBEXP); diff --git a/src/map/script.c b/src/map/script.c index 55f6d0283..9c89943c8 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -17268,9 +17268,9 @@ BUILDIN_FUNC(cleanmap) return 0; } /* Cast a skill on the attached player. - * useskilltopc <skill_id>, <skill_level>, <stat_point>, <npc_level>; - * useskilltopc "<skill_name>", <skill_level>, <stat_point>, <npc_level>; */ -BUILDIN_FUNC(useskilltopc) + * npcskill <skill id>, <skill lvl>, <stat point>, <NPC level>; + * npcskill "<skill name>", <skill lvl>, <stat point>, <NPC level>; */ +BUILDIN_FUNC(npcskill) { unsigned int skill_id; unsigned short skill_level; @@ -17287,11 +17287,11 @@ BUILDIN_FUNC(useskilltopc) nd = (struct npc_data *)map_id2bl(sd->npc_id); if (stat_point > battle_config.max_third_parameter) { - ShowError("useskilltopc: stat point exceeded maximum of %d.\n",battle_config.max_third_parameter ); + ShowError("npcskill: stat point exceeded maximum of %d.\n",battle_config.max_third_parameter ); return 1; } if (npc_level > MAX_LEVEL) { - ShowError("useskilltopc: level exceeded maximum of %d.\n", MAX_LEVEL); + ShowError("npcskill: level exceeded maximum of %d.\n", MAX_LEVEL); return 1; } if (sd == NULL || nd == NULL) { //ain't possible, but I don't trust people. @@ -17758,7 +17758,7 @@ struct script_function buildin_func[] = { BUILDIN_DEF(getrandgroupitem,"ii"), BUILDIN_DEF(cleanmap,"s"), BUILDIN_DEF2(cleanmap,"cleanarea","siiii"), - BUILDIN_DEF(useskilltopc,"viii"), + BUILDIN_DEF(npcskill,"viii"), /** * @commands (script based) **/ diff --git a/src/map/unit.c b/src/map/unit.c index 07b728f47..e1e9d9690 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1276,6 +1276,10 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh casttime = skill_vfcastfix(src, casttime, skill_num, skill_lv); #endif + if (src->type == BL_NPC) { // NPC-objects do not have cast time + casttime = 0; + } + if(!ud->state.running) //need TK_RUN or WUGDASH handler to be done before that, see bugreport:6026 unit_stop_walking(src,1);// eventhough this is not how official works but this will do the trick. bugreport:6829 // in official this is triggered even if no cast time. @@ -1439,6 +1443,9 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, sh casttime = skill_vfcastfix(src, casttime, skill_num, skill_lv ); #endif + if (src->type == BL_NPC) { // NPC-objects do not have cast time + casttime = 0; + } ud->state.skillcastcancel = castcancel&&casttime>0?1:0; if( !sd || sd->skillitem != skill_num || skill_get_cast(skill_num,skill_lv) ) |