From 263aa1fc7f457c610ca93eb830ad180b561116ab Mon Sep 17 00:00:00 2001 From: euphyy Date: Thu, 21 Mar 2013 22:33:07 +0000 Subject: [PATCH] * Updated mob spawns for Undersea Tunnel floor 6. (ea:15236) * Added new mercenaries to mercenary_db. No skills as of yet. (ea:15235) * Fixed bug where 'unequip' command would override 'disable_items'. (Hercules d642604) * Minor changes to Moscovia quests. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17205 54d463be-8e91-2dee-dedb-b68131a5f0ec --- db/mercenary_db.txt | 17 +++++++++++++++++ doc/script_commands.txt | 18 +++++++++--------- npc/quests/quests_moscovia.txt | 26 +++----------------------- npc/re/mobs/dungeons/iz_dun.txt | 13 +++++++------ src/common/mmo.h | 2 +- src/map/pc.c | 9 +++++++-- 6 files changed, 44 insertions(+), 41 deletions(-) diff --git a/db/mercenary_db.txt b/db/mercenary_db.txt index 8c841a32dd..db84c6889f 100644 --- a/db/mercenary_db.txt +++ b/db/mercenary_db.txt @@ -18,6 +18,23 @@ 2058,M_MIMIC,Mimic,51,6120,182,1,800,950,10,40,44,121,1,60,75,110,10,12,1,0,60,100,972,500,288 2059,M_DISGUISE,Disguise,55,7543,180,2,526,693,18,29,0,72,45,35,48,65,10,12,1,6,82,147,516,768,384 2060,M_ALICE,Alice,62,10000,221,1,700,850,5,5,64,64,42,85,100,130,10,12,1,7,60,200,502,1999,480 +2213,M_WANDER_MAN,Wander Man,81,8614,220,2,1100,1300,60,20,80,110,63,51,85,90,10,12,1,6,24,100,672,500,192 +2214,M_WICKED_NYMPH,Wicked Nymph,85,6157,256,2,420,620,30,45,40,50,40,92,60,110,10,12,1,6,67,200,637,1008,360 +2215,M_KASA,Kasa,83,9815,234,2,1100,1300,60,60,85,90,71,43,85,105,10,12,2,0,63,150,800,600,288 +2216,M_SALAMANDER,Salamander,87,9517,260,2,900,1100,60,68,90,80,65,45,87,95,10,12,2,0,63,160,140,384,288 +2217,M_TEDDY_BEAR,Teddy Bear,85,14493,243,1,600,800,100,70,60,20,85,50,75,130,10,12,0,0,60,200,512,780,504 +2325,M_BAPHOMET_,Baphomet,57,7510,204,1,810,955,70,40,52,60,36,17,57,25,10,12,0,6,27,100,868,480,120 +2326,M_GALAPAGO,Galapago,45,7513,201,1,760,915,70,40,30,28,29,18,30,16,10,12,0,2,22,165,1430,1080,1080 +2342,MER_DIABOLIC,Diabolic,83,9815,234,2,1100,1300,60,60,85,90,71,43,85,105,10,12,0,6,47,150,1080,780,180 +2344,MER_WISH_MAIDEN,Wish Maiden,83,9815,234,2,1100,1300,60,60,85,90,71,43,85,105,10,12,0,6,47,150,1080,780,180 +2345,MER_ZHERLTHSH,Zherlthsh,83,9815,234,2,1100,1300,60,60,85,90,71,43,85,105,10,12,0,6,47,150,1080,780,180 +2346,MER_KTULLANUX,Ktullanux,83,9815,234,2,1100,1300,60,60,85,90,71,43,85,105,10,12,0,6,47,150,1080,780,180 +2347,MER_EDDGA,Eddga,83,9815,234,2,1100,1300,60,60,85,90,71,43,85,105,10,12,0,6,47,150,1080,780,180 +2348,MER_CIVIL_SERVANT,Civil Servant,83,9815,234,2,1100,1300,60,60,85,90,71,43,85,105,10,12,0,6,47,150,1080,780,180 +2349,MER_LOLI_RURI,Loli Ruri,83,9815,234,2,1100,1300,60,60,85,90,71,43,85,105,10,12,0,6,47,150,1080,780,180 +2350,MER_SEDORA,Sedora,83,9815,234,2,1100,1300,60,60,85,90,71,43,85,105,10,12,0,6,47,150,1080,780,180 +2351,MER_CHEPET,Chepet,83,9815,234,2,1100,1300,60,60,85,90,71,43,85,105,10,12,0,6,47,150,1080,780,180 +2378,MER_ANTLER_SCARABA,Antler Scaraba,136,30000,1,1,1418,1828,155,102,23,99,59,129,137,45,10,12,1,4,42,200,504,624,360 // Normal Mercenaries 6017,MER_ARCHER01,Mina,20,256,200,10,170,85,7,5,1,16,5,1,28,8,10,0,0,7,20,150,700,432,300 diff --git a/doc/script_commands.txt b/doc/script_commands.txt index a8b74fc69c..f7df5cb419 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -4568,9 +4568,9 @@ since jAthena, so probably nobody knows for sure why is it so. *downrefitem ; -This command will downgrade an item by - 1 in the specified equipment slot of the -invoking character. So the item will not be destroyed unlike in the failedrefitem script command. -This will also display a 'refine failure' effect on the character and put appropriate +This command will downgrade an item in the specified equipment slot of the invoking +character by -1. For a list of equipment slots see 'getequipid'. This command will +also display a 'refine failure' effect on the character and put appropriate messages into their chat window. The official scripts seems to use the 'downrefitem' command as a function @@ -7359,20 +7359,20 @@ If parameter "HUNTING" is supplied: *showevent , ; Show a colored mark in the mini-map like "viewpoint" and an emotion on top of a NPC. -This is used to indicate that a NPC has a quest or an event to certain player/s. +This is used to indicate that a NPC has a quest or an event to certain players. state can be: - 0 = disable ( Used to disable and remove the mark and the emotion from the NPC. ) - 1 = exclamation emotion ( Used to show an important quest event to certain player. ) - 2 = interrogation emotion ( Used to show an non-important quest event to certain player. ) - Other value may cause client crashes. + 0 = disable (Used to disable and remove the mark and the emotion from the NPC.) + 1 = exclamation emotion (Used to show an important quest event to certain player.) + 2 = interrogation emotion (Used to show an non-important quest event to certain player.) + Other values may cause client crashes. color can be: 0 = yellow "Quest" 1 = orange "Job" 2 = green "Event" 3 = an MVP flag - other values show a transparent mark in the mini-map. + Other values show a transparent mark in the mini-map. --------------------------------------- diff --git a/npc/quests/quests_moscovia.txt b/npc/quests/quests_moscovia.txt index bf6177bed6..d0ae67e4ac 100644 --- a/npc/quests/quests_moscovia.txt +++ b/npc/quests/quests_moscovia.txt @@ -1096,31 +1096,11 @@ mosk_ship,101,111,4 script rudder#ship 111,{ mes "We should make sure to kill any"; mes "monsters onboard."; close; - } else if (mos_whale_edq == 22 && $@mos1_edq > 0) { - mes "[Mr. Ibanoff]"; - mes "We should make sure to kill any"; - mes "monsters onboard."; - close; - } else if (mos_whale_edq == 23 && $@mos1_edq > 0) { - mes "[Mr. Ibanoff]"; - mes "We should make sure to kill any"; - mes "monsters onboard."; - close; - } else if (mos_whale_edq == 25 && $@mos1_edq > 0) { - mes "[Mr. Ibanoff]"; - mes "We should make sure to kill any"; - mes "monsters onboard."; - close; } else if (mos_whale_edq == 25 && $@mos1_edq == 0) { mes "[Mr. Ibanoff]"; mes "You can adjust the rudder,"; mes "under my direction."; close; - } else if (mos_whale_edq > 239 && mos_whale_edq < 250 && $@mos1_edq > 0) { - mes "[Mr. Ibanoff]"; - mes "We should make sure to kill any"; - mes "monsters onboard."; - close; } else if (mos_whale_edq == 26) { mes "[Mr. Ibanoff]"; mes "Hey! Listen to what I am saying."; @@ -2022,7 +2002,7 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ mes "Stay here as long as you want, and"; mes "enjoy yourself to the fullest this summer."; close; - } if (mos_whale_edq < 16) { + } else if (mos_whale_edq < 16) { mes "[Csar Alexsay III]"; mes "Welcome to Moscovia!"; mes "I am the ruler, Csar Aleksay III, of Moscovia."; @@ -2033,7 +2013,7 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ } else if (mos_whale_edq == 16) { mes "[Csar Alexsay III]"; mes "A foreign traveler...?"; - mes " Do you have something to tell me?"; + mes "Do you have something to tell me?"; next; mes "[Csar Alexsay III]"; mes "If it is not important,"; @@ -4401,7 +4381,7 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "[Baba Yaga, the Horrible]"; mes "Let me see...where the season spell..."; next; - mes "rummaging.."; + mes "rummaging..."; next; mes "[Baba Yaga, the Horrible]"; mes "Ah, here it is... I found it!"; diff --git a/npc/re/mobs/dungeons/iz_dun.txt b/npc/re/mobs/dungeons/iz_dun.txt index 8518d020da..f095c5c18b 100644 --- a/npc/re/mobs/dungeons/iz_dun.txt +++ b/npc/re/mobs/dungeons/iz_dun.txt @@ -3,13 +3,14 @@ //===== By: ================================================== //= Athena (1.0) //===== Current Version: ===================================== -//= 1.3 +//= 1.4 //===== Compatible With: ===================================== //= Any Athena Version //===== Additional Comments: ================================= //= 1.1 Official kRO 10.1 spawns for 1-4 [Playtester] //= 1.2 More accurate spawns [Playtester] //= 1.3 Added Izlude Dungeon F6 spawns [Chilly] +//= 1.4 Official F6 spawns. //============================================================ //================================================== @@ -112,8 +113,8 @@ iz_dun04,33,115,0,0 monster Hydra 1068,1,321000,150000,0 //================================================== // iz_dun05 - Undersea Tunnel F6 //================================================== -iz_dun05,0,0,0,0 monster King Dramoh 2198,20,0,0,0 -iz_dun05,0,0,0,0 monster Sropho 2201,50,0,0,0 -iz_dun05,0,0,0,0 monster Pot Dofle 2203,30,0,0,0 -iz_dun05,0,0,0,0 monster Sedora 2204,50,0,0,0 -iz_dun05,0,0,0,0 boss_monster Kraken 2202,1,7200000,600000,1 +iz_dun05,0,0,0,0 monster Sropho 2201,50,5000,0,0 +iz_dun05,0,0,0,0 monster Sedora 2204,60,5000,0,0 +iz_dun05,0,0,0,0 monster Pot Dofle 2203,30,5000,0,0 +iz_dun05,0,0,0,0 monster King Dramoh 2198,25,5000,0,0 +iz_dun05,0,0,0,0 boss_monster Kraken 2202,1,7200000,1800000,0 diff --git a/src/common/mmo.h b/src/common/mmo.h index 194f169a1f..a213d75336 100644 --- a/src/common/mmo.h +++ b/src/common/mmo.h @@ -152,7 +152,7 @@ //Mercenary System #define MC_SKILLBASE 8201 #define MAX_MERCSKILL 40 -#define MAX_MERCENARY_CLASS 44 +#define MAX_MERCENARY_CLASS 61 //Elemental System #define MAX_ELEMENTALSKILL 42 diff --git a/src/map/pc.c b/src/map/pc.c index 1bbc88d2e9..392a16713f 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -8413,7 +8413,7 @@ int pc_load_combo(struct map_session_data *sd) { *------------------------------------------*/ int pc_equipitem(struct map_session_data *sd,int n,int req_pos) { - int i,pos,flag=0; + int i,pos,flag=0,iflag; struct item_data *id; nullpo_ret(sd); @@ -8564,6 +8564,7 @@ int pc_equipitem(struct map_session_data *sd,int n,int req_pos) } pc_checkallowskill(sd); //Check if status changes should be halted. + iflag = sd->npc_item_flag; /* check for combos (MUST be before status_calc_pc) */ if ( id ) { @@ -8606,6 +8607,8 @@ int pc_equipitem(struct map_session_data *sd,int n,int req_pos) } } } + sd->npc_item_flag = iflag; + return 0; } @@ -8617,7 +8620,7 @@ int pc_equipitem(struct map_session_data *sd,int n,int req_pos) * 2 - force unequip *------------------------------------------*/ int pc_unequipitem(struct map_session_data *sd,int n,int flag) { - int i; + int i,iflag; bool status_cacl = false; nullpo_ret(sd); @@ -8716,6 +8719,7 @@ int pc_unequipitem(struct map_session_data *sd,int n,int flag) { sd->state.autobonus &= ~sd->status.inventory[n].equip; //Check for activated autobonus [Inkfish] sd->status.inventory[n].equip=0; + iflag = sd->npc_item_flag; /* check for combos (MUST be before status_calc_pc) */ if ( sd->inventory_data[n] ) { @@ -8767,6 +8771,7 @@ int pc_unequipitem(struct map_session_data *sd,int n,int flag) { } } } + sd->npc_item_flag = iflag; return 0; }