summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--db/Changelog.txt3
-rw-r--r--db/item_db.txt13
-rw-r--r--db/mercenary_db.txt8
-rw-r--r--src/common/mmo.h2
-rw-r--r--src/map/mercenary.c8
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);