diff options
author | L0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-09-04 23:41:59 +0000 |
---|---|---|
committer | L0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-09-04 23:41:59 +0000 |
commit | ad176fadd0e7e095f91f122776ccaad6f3416540 (patch) | |
tree | edc1ec913dbb9e2db9fe2430a321d5252099b66a | |
parent | 1963a8147972d6febede94ff5ff51f6642fb9551 (diff) | |
download | hercules-ad176fadd0e7e095f91f122776ccaad6f3416540.tar.gz hercules-ad176fadd0e7e095f91f122776ccaad6f3416540.tar.bz2 hercules-ad176fadd0e7e095f91f122776ccaad6f3416540.tar.xz hercules-ad176fadd0e7e095f91f122776ccaad6f3416540.zip |
* Updated mmo.h, increased merc max count to 36.
* Fixed save crash related to non-guilded mercenaries.
* Removed job and level restriction on Mercenary ASPD potions.
* Added Monster Mercenaries using mobs original stats.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13192 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | db/Changelog.txt | 3 | ||||
-rw-r--r-- | db/item_db.txt | 13 | ||||
-rw-r--r-- | db/mercenary_db.txt | 8 | ||||
-rw-r--r-- | src/common/mmo.h | 2 | ||||
-rw-r--r-- | src/map/mercenary.c | 8 |
6 files changed, 31 insertions, 6 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 6c3b75456..2f5a2ffe1 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,9 @@ Date Added AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. +2008/09/05 + * Rev. 13192 Updated mmo.h, increased merc max count to 36. [L0ne_W0lf] + * Fixed save crash related to non-guilded mercenaries. 2008/09/01 * Removed hardcoded equip position names from getequipname (bugreport:2156) - now it's the npc's responsibility to store and display the names diff --git a/db/Changelog.txt b/db/Changelog.txt index 409c338ff..454556660 100644 --- a/db/Changelog.txt +++ b/db/Changelog.txt @@ -40,6 +40,9 @@ 2385 Recuvative_Armor Should trigger HP/SP return with magical kills as well. ======================= +2008/09/05 + * Rev. 13192 Removed job and level restriction on Mercenary ASPD potions. [L0ne_W0lf] + * Added Monster Mercenaries using mobs original stats. 2008/09/03 * Fixed minor inconsistencies with mob_skill_db. (bugreport:2148) [L0ne_W0lf] 2008/08/31 diff --git a/db/item_db.txt b/db/item_db.txt index 832a4d8fd..7c8abc3d0 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -3586,8 +3586,8 @@ 12239,New_Year_Rice_Cake_2,New Year Rice Cake,0,20,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ if(rand(1000)<100) sc_start SC_DPoison,10000,0; sc_start SC_Poison,50000,0; },{},{} 12240,Old_Yellow_Box,Old Yellow Box,2,20,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_YellowBox),1; },{},{} 12241,M_Center_Potion,Concentration Potion,2,800,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ mercenary_sc_start SC_ASPDPOTION0,1800000,0; },{},{} -12242,M_Awakening_Potion,Awakening Potion,2,1500,,150,,,,,0xFFF7FEEF,7,2,,,40,,,{ mercenary_sc_start SC_ASPDPOTION1,1800000,0; },{},{} -12243,M_Berserk_Potion,Berserk Potion,2,3000,,200,,,,,0x01E646A6,7,2,,,85,,,{ mercenary_sc_start SC_ASPDPOTION2,1800000,0; },{},{} +12242,M_Awakening_Potion,Awakening Potion,2,1500,,150,,,,,0xFFFFFFFF,7,2,,,0,,,{ mercenary_sc_start SC_ASPDPOTION1,1800000,0; },{},{} +12243,M_Berserk_Potion,Berserk Potion,2,3000,,200,,,,,0xFFFFFFFF,7,2,,,0,,,{ mercenary_sc_start SC_ASPDPOTION2,1800000,0; },{},{} 12244,Old_Gift_Box,Old Gift Box,2,20,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_OldGiftBox),1; },{},{} //St. Patrick's Day Event (2007) 12245,Green_Ale_US,Green Ale,0,5000,,500,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 100,0; },{},{} @@ -3621,6 +3621,9 @@ 12273,Military_Rations_C,Military Rations C,0,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCFLEE,600000,33; },{},{} 12274,Daehwandan,Daehwandan,0,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCMHPRATE,36000000,5; percentheal 10,0; },{},{} 12275,Taecheongdan,Taecheongdan,0,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCMSPRATE,36000000,5; percentheal 0,10; },{},{} +12276,Mimic_Summon_Scroll,Mimic Summon Scroll Level 1,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ createmercenary 1191,1800000; },{},{} +12277,Disguise_Summon_Scroll,Disguise Summon Scroll Level 1,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ createmercenary 1506,1800000; },{},{} +12278,Alice_Summon_Scroll,Alice Summon Scroll Level 1,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ createmercenary 1275,1800000; },{},{} 12279,Undead_Element_Scroll,Shadow Armor Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start4 SC_ARMOR_RESIST,300000,20,20,20,20; },{},{} 12280,Holy_Element_Scroll,Holy Armor Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ specialeffect2 91; sc_start SC_BENEDICTIO,300000,1; },{},{} 12281,Event_Treasure_Box,.Event Treasure Box,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{} @@ -3636,9 +3639,9 @@ //Net Cafe Premium 12298,SP_Reduction_Potion,SP Reduction Potion,0,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SPCOST_RATE,36000000,15; },{},{} 12299,Status_Resist_Potion,Status Resistance Potion,0,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_COMMONSC_RESIST,36000000,10; },{},{} -12300,Wild_Rose_Summoning_Book,Wild_Rose Summoning Book,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{} -12301,Doppleganger_Summoning_Book,Doppleganger Summoning Book,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{} -12302,Egnigem_Cenia_Summoning_Book,Egnigem Cenia Summoning Book,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{} +12300,Wild_Rose_Summoning_Book,Wild_Rose Summoning Book,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ createmercenary 1965,1800000; },{},{} +12301,Doppeleganger_Summoning_Book,Doppleganger Summoning Book,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ createmercenary 1966,1800000; },{},{} +12302,Egnigem_Cenia_Summoning_Book,Egnigem Cenia Summoning Book,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ createmercenary 1967,1800000; },{},{} 12303,Blessing_Of_Water,Blessing Of Water,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{} 12304,Diary_Magic_Powder,Diary Magic Powder,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{} 12305,Mini_Heart_Magic_Powder,Mini Heart Magic Powder,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{} diff --git a/db/mercenary_db.txt b/db/mercenary_db.txt index 01f50fe76..572228229 100644 --- a/db/mercenary_db.txt +++ b/db/mercenary_db.txt @@ -1,4 +1,12 @@ //ID,Sprite_Name,Name,LV,HP,SP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Speed,aDelay,aMotion,dMotion
+// Monster Mercenaries
+1191,MIMIC,Mimic,51,6120,100,2,150,900,10,40,44,121,1,60,75,110,10,12,1,0,60,100,972,500,288
+1506,DISGUISE,Disguise,55,7543,100,2,279,546,18,29,0,72,45,35,48,65,10,12,1,6,82,147,516,768,384
+1275,ALICE,Alice,62,10000,100,2,550,700,5,5,64,64,42,85,100,130,10,12,1,7,60,200,502,2304,480
+1965,M_WILD_ROSE,Wild Rose,38,2980,130,2,315,360,0,15,65,85,15,35,65,80,10,12,0,2,24,100,964,864,288
+1966,M_DOPPELGANGER,Doppelganger,72,249000,200,2,1340,1590,60,35,88,90,30,35,125,65,10,12,1,6,67,100,480,480,288
+1967,M_YGNIZEM,Egnigem Cenia,58,11200,320,2,823,1212,35,8,60,35,52,18,79,20,10,12,1,7,43,145,576,432,288
+// 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
6018,MER_ARCHER02,Dororu,30,457,70,10,228,114,11,7,1,18,8,1,40,11,10,0,0,7,20,150,700,432,300
6019,MER_ARCHER03,Nami,40,732,93,10,260,130,15,9,3,21,12,4,52,17,10,0,0,7,20,150,700,432,300
diff --git a/src/common/mmo.h b/src/common/mmo.h index fc48f3194..94c72690f 100644 --- a/src/common/mmo.h +++ b/src/common/mmo.h @@ -107,7 +107,7 @@ //Mercenary System #define MC_SKILLBASE 8201 #define MAX_MERCSKILL 37 -#define MAX_MERCENARY_CLASS 30 +#define MAX_MERCENARY_CLASS 36 enum item_types { IT_HEALING = 0, diff --git a/src/map/mercenary.c b/src/map/mercenary.c index 566aab6c1..4775f9beb 100644 --- a/src/map/mercenary.c +++ b/src/map/mercenary.c @@ -110,6 +110,8 @@ int mercenary_get_faith(struct mercenary_data *md) return sd->status.spear_faith; if( class_ >= 6037 && class_ <= 6046 ) return sd->status.sword_faith; + else + return 0; return 0; } @@ -130,6 +132,8 @@ int mercenary_set_faith(struct mercenary_data *md, int value) faith = &sd->status.spear_faith; else if( class_ >= 6037 && class_ <= 6046 ) faith = &sd->status.sword_faith; + else + return 0; *faith += value; *faith = cap_value(*faith, 0, SHRT_MAX); @@ -154,6 +158,8 @@ int mercenary_get_calls(struct mercenary_data *md) return sd->status.spear_calls; if( class_ >= 6037 && class_ <= 6046 ) return sd->status.sword_calls; + else + return 0; return 0; } @@ -174,6 +180,8 @@ int mercenary_set_calls(struct mercenary_data *md, int value) calls = &sd->status.spear_calls; else if( class_ >= 6037 && class_ <= 6046 ) calls = &sd->status.sword_calls; + else + return 0; *calls += value; *calls = cap_value(*calls, 0, INT_MAX); |