diff --git a/db/re/item_db.txt b/db/re/item_db.txt
index c0e3a9e540..c7a85677f8 100644
--- a/db/re/item_db.txt
+++ b/db/re/item_db.txt
@@ -4740,7 +4740,8 @@
6938,Hedgehog_Picks,Hedgehog Picks,3,10,,10,,,,,,,,,,,,,{},{},{}
6939,Old_Belt,Old Belt,3,10,,10,,,,,,,,,,,,,{},{},{}
6940,Moving_Dark_Matter,Moving Dark Matter,3,10,,10,,,,,,,,,,,,,{},{},{}
-//
+6941,Fragments_Valkyrie_Power,Fragments Valkyrie Power,3,10,,10,,,,,,,,,,,,,{},{},{}
+6942,Will_Master,Will Master,3,10,,10,,,,,,,,,,,,,{},{},{}
6943,Attack_Stone(Upper),Attack Stone(Upper),6,10,,100,,,,,,,,,,,,,{ bonus bAtkRate,1; },{},{}
6944,Magic_Stone(Upper),Magic Stone(Upper),6,10,,100,,,,,,,,,,,,,{ bonus bMatkRate,1; },{},{}
6945,Strength_Stone(Middle),Strength Stone(Middle),6,10,,100,,,,,,,,,,,,,{ bonus bStr,1; },{},{}
@@ -4756,6 +4757,7 @@
6956,Captured_Sheep,Captured Sheep,3,10,,0,,,,,,,,,,,,,{},{},{}
6957,Lamb_Fleece,Lamb Fleece,3,10,,0,,,,,,,,,,,,,{},{},{}
6958,Lamb_Horns,Lamb Horns,3,10,,0,,,,,,,,,,,,,{},{},{}
+6960,Key_Air_Fortress,Key Air Fortress,3,10,,10,,,,,,,,,,,,,{},{},{}
//
7001,Mould_Powder,Mould Powder,3,466,,10,,,,,,,,,,,,,{},{},{}
7002,Ogre_Tooth,Ogre Tooth,3,658,,10,,,,,,,,,,,,,{},{},{}
@@ -9211,6 +9213,7 @@
17552,Garnet_Lucky_Egg,Garnet Lucky Egg,18,0,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Garnet_Lucky_Egg); },{},{}
17567,Event_Almighty_Box__,Event Almighty Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 22902,1; bonus_script "{ bonus bAllStats,10; bonus bBaseAtk,30; bonus bMatk,30; }",1800; },{},{}
17568,Event_Almighty_Box(100)_,Event Almighty Box(100),18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 22902,11; bonus_script "{ bonus bAllStats,10; bonus bBaseAtk,30; bonus bMatk,30; }",1800; },{},{}
+17569,Dungeon_1_hour_Ticket_Box,Dungeon 1 Hour Ticket Box,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 14505,1; },{},{}
17572,Erzulie_Lucky_Egg,Erzulie Lucky Egg,18,0,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Erzulie_Lucky_Egg); },{},{}
17584,Venus_Lucky_Egg,Venus Lucky Egg,18,0,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Venus_Lucky_Egg); },{},{}
17588,Amora_Lucky_Egg,Amora Lucky Egg,18,0,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Amora_Lucky_Egg); },{},{}
@@ -10652,6 +10655,8 @@
22894,(Limited)2015_Neuralizer,(Limited)2015 Neuralizer,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc "F_CashReset"; },{},{}
22895,(Limited)2015_Status_Initialization_Volume,(Limited)2015 Status Initialization Volume,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*Works like item 6320, can reset up to 3x within 1 hour*/ },{},{}
22896,(Limited)Old_Status_Initialization_Volume,(Limited)Old Status Initialization Volume,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*Works like item 6320, can reset up to 3x within 1 hour*/ },{},{}
+22899,Parchment_City,Parchment City,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ itemskill "AL_INCAGI",1; heal -15,0; },{},{}
+22901,Question_Old_Blue_Box,Question Old Blue Box,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ /*No info yet*/ },{},{}
22902,Sealed_Card_Album_Scroll_II,Sealed Card Album Scroll II,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem callfunc("F_Rand",6238,6239,17474,22829,24243,24244,24245),1; },{},{}
//===================================================================
// Shadow Equipments
diff --git a/db/re/item_trade.txt b/db/re/item_trade.txt
index 3d3fa0ad61..9e27bff74e 100644
--- a/db/re/item_trade.txt
+++ b/db/re/item_trade.txt
@@ -929,7 +929,7 @@
6955,499,100 // Piece_Of_Soul_Pig
6956,499,100 // Captured_Sheep
6957,499,100 // Lamb_Fleece
-//6960,467,100 //
+6960,467,100 // Key_Air_Fortress
//6993,475,100 //
//6994,475,100 //
7025,475,100 // Lucifer's_Lament
@@ -3595,7 +3595,7 @@
17550,475,100 // (Limited)High_Density_Kalunium_Box(30)
17567,475,100 // Event_Almighty_Box
17568,475,100 // Event_Almighty_Box(100)
-//17569,475,100 //
+17569,475,100 // Dungeon_1_hour_Ticket_Box
//17570,475,100 //
//17573,475,100 //
//17574,475,100 //
@@ -3824,7 +3824,7 @@
22894,507,100 // (Limited)2015_Neuralizer
22895,507,100 // (Limited)2015_Status_Initialization_Volume
22896,507,100 // (Limited)Old_Status_Initialization_Volume
-//22901,499,100 //
+22901,499,100 // Question_Old_Blue_Box
22902,475,100 // Sealed_Card_Album_Scroll_II
//22906,475,100 //
//22946,475,100 //
diff --git a/sql-files/item_db_re.sql b/sql-files/item_db_re.sql
index 26b6b6a448..7c613eb381 100644
--- a/sql-files/item_db_re.sql
+++ b/sql-files/item_db_re.sql
@@ -4772,7 +4772,8 @@ REPLACE INTO `item_db_re` VALUES (6937,'Silicone_Shell','Silicone Shell',3,10,NU
REPLACE INTO `item_db_re` VALUES (6938,'Hedgehog_Picks','Hedgehog Picks',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6939,'Old_Belt','Old Belt',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6940,'Moving_Dark_Matter','Moving Dark Matter',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-#
+REPLACE INTO `item_db_re` VALUES (6941,'Fragments_Valkyrie_Power','Fragments Valkyrie Power',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (6942,'Will_Master','Will Master',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6943,'Attack_Stone(Upper)','Attack Stone(Upper)',6,10,NULL,100,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAtkRate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6944,'Magic_Stone(Upper)','Magic Stone(Upper)',6,10,NULL,100,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6945,'Strength_Stone(Middle)','Strength Stone(Middle)',6,10,NULL,100,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bStr,1;',NULL,NULL);
@@ -4788,6 +4789,7 @@ REPLACE INTO `item_db_re` VALUES (6955,'Piece_Of_Soul_Pig','Piece Of Soul Pig',3
REPLACE INTO `item_db_re` VALUES (6956,'Captured_Sheep','Captured Sheep',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6957,'Lamb_Fleece','Lamb Fleece',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6958,'Lamb_Horns','Lamb Horns',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (6960,'Key_Air_Fortress','Key Air Fortress',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#
REPLACE INTO `item_db_re` VALUES (7001,'Mould_Powder','Mould Powder',3,466,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (7002,'Ogre_Tooth','Ogre Tooth',3,658,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -9243,6 +9245,7 @@ REPLACE INTO `item_db_re` VALUES (17550,'(Limited)High_Density_Kalunium_Box(30)'
REPLACE INTO `item_db_re` VALUES (17552,'Garnet_Lucky_Egg','Garnet Lucky Egg',18,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Garnet_Lucky_Egg);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (17567,'Event_Almighty_Box__','Event Almighty Box',18,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 22902,1; bonus_script "{ bonus bAllStats,10; bonus bBaseAtk,30; bonus bMatk,30; }",1800;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (17568,'Event_Almighty_Box(100)_','Event Almighty Box(100)',18,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 22902,11; bonus_script "{ bonus bAllStats,10; bonus bBaseAtk,30; bonus bMatk,30; }",1800;',NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (17569,'Dungeon_1_hour_Ticket_Box','Dungeon 1 Hour Ticket Box',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 14505,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (17572,'Erzulie_Lucky_Egg','Erzulie Lucky Egg',18,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Erzulie_Lucky_Egg);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (17584,'Venus_Lucky_Egg','Venus Lucky Egg',18,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Venus_Lucky_Egg);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (17588,'Amora_Lucky_Egg','Amora Lucky Egg',18,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Amora_Lucky_Egg);',NULL,NULL);
@@ -10684,6 +10687,8 @@ REPLACE INTO `item_db_re` VALUES (22893,'New_Year\'s_Shadow_Cube','New Year\'s S
REPLACE INTO `item_db_re` VALUES (22894,'(Limited)2015_Neuralizer','(Limited)2015 Neuralizer',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'callfunc "F_CashReset";',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22895,'(Limited)2015_Status_Initialization_Volume','(Limited)2015 Status Initialization Volume',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*Works like item 6320, can reset up to 3x within 1 hour*/',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22896,'(Limited)Old_Status_Initialization_Volume','(Limited)Old Status Initialization Volume',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*Works like item 6320, can reset up to 3x within 1 hour*/',NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (22899,'Parchment_City','Parchment City',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'itemskill "AL_INCAGI",1; heal -15,0;',NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (22901,'Question_Old_Blue_Box','Question Old Blue Box',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*No info yet*/',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (22902,'Sealed_Card_Album_Scroll_II','Sealed Card Album Scroll II',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem callfunc("F_Rand",6238,6239,17474,22829,24243,24244,24245),1;',NULL,NULL);
#===================================================================
# Shadow Equipments
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 2fee116b1a..c96e004f81 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -1738,7 +1738,8 @@ ACMD_FUNC(bodystyle)
memset(atcmd_output, '\0', sizeof(atcmd_output));
// Limit body styles to certain jobs since not all of them are released yet.
- if (!((sd->class_&MAPID_THIRDMASK) == MAPID_GUILLOTINE_CROSS || (sd->class_&MAPID_THIRDMASK) == MAPID_GENETIC)) {
+ if (!((sd->class_&MAPID_THIRDMASK) == MAPID_GUILLOTINE_CROSS || (sd->class_&MAPID_THIRDMASK) == MAPID_GENETIC
+ || (sd->class_&MAPID_THIRDMASK) == MAPID_MECHANIC)) {
clif_displaymessage(fd, msg_txt(sd,770)); // This job has no alternate body styles.
return -1;
}
diff --git a/src/map/clif.c b/src/map/clif.c
index 6421c5f67d..5176120312 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -988,9 +988,9 @@ static int clif_set_unit_idle(struct block_list* bl, unsigned char* buffer, bool
#elif PACKETVER < 20120221
WBUFW(buf,2) = (uint16)((spawn ? 64 : 65)+strlen(name));
#elif PACKETVER < 20130807
- WBUFW(buf,2) = (spawn ? 77 : 78)+strlen(name);
+ WBUFW(buf,2) = (uint16)((spawn ? 77 : 78)+strlen(name));
#else
- WBUFW(buf,2) = (spawn ? 79 : 80)+strlen(name);
+ WBUFW(buf,2) = (uint16)((spawn ? 79 : 80)+strlen(name));
#endif
WBUFB(buf,4) = clif_bl_type(bl);
offset+=3;
@@ -1185,9 +1185,9 @@ static int clif_set_unit_walking(struct block_list* bl, struct unit_data* ud, un
#elif PACKETVER < 20120221
WBUFW(buf, 2) = (uint16)(71+strlen(name));
#elif PACKETVER < 20130807
- WBUFW(buf, 2) = 84+strlen(name);
+ WBUFW(buf, 2) = (uint16)(84+strlen(name));
#else
- WBUFW(buf, 2) = 86+strlen(name);
+ WBUFW(buf, 2) = (uint16)(86+strlen(name));
#endif
offset+=2;
buf = WBUFP(buffer,offset);
diff --git a/tools/convert_sql.pl b/tools/convert_sql.pl
index 1edb6c1bc0..22c4e39beb 100755
--- a/tools/convert_sql.pl
+++ b/tools/convert_sql.pl
@@ -229,7 +229,8 @@ CREATE TABLE `$db` (
`script` text,
`equip_script` text,
`unequip_script` text,
- PRIMARY KEY (`id`)
+ PRIMARY KEY (`id`),
+ UNIQUE INDEX `UniqueAegisName` (`name_english`)
) ENGINE=MyISAM;
";
#NOTE: These do not match the table struct defaults.
@@ -271,7 +272,8 @@ CREATE TABLE `$db` (
`script` text,
`equip_script` text,
`unequip_script` text,
- PRIMARY KEY (`id`)
+ PRIMARY KEY (`id`),
+ UNIQUE INDEX `UniqueAegisName` (`name_english`)
) ENGINE=MyISAM;
";
#NOTE: These do not match the table struct defaults.
diff --git a/vcproj-14/char-server.vcxproj b/vcproj-14/char-server.vcxproj
index ae520b8131..46e2cd9863 100644
--- a/vcproj-14/char-server.vcxproj
+++ b/vcproj-14/char-server.vcxproj
@@ -114,7 +114,6 @@
libcmt.lib;oldnames.lib;ws2_32.lib;libmysql.lib;%(AdditionalDependencies)
$(OutDir)$(ProjectName).exe
..\3rdparty\mysql\lib;%(AdditionalLibraryDirectories)
- true
%(IgnoreSpecificDefaultLibraries)
true
$(OutDir)$(ProjectName).pdb
diff --git a/vcproj-14/login-server.vcxproj b/vcproj-14/login-server.vcxproj
index 2d8037151d..4aa321e28d 100644
--- a/vcproj-14/login-server.vcxproj
+++ b/vcproj-14/login-server.vcxproj
@@ -118,7 +118,6 @@
libcmt.lib;oldnames.lib;ws2_32.lib;libmysql.lib;%(AdditionalDependencies)
$(OutDir)$(ProjectName).exe
..\3rdparty\mysql\lib;%(AdditionalLibraryDirectories)
- true
%(IgnoreSpecificDefaultLibraries)
true
$(OutDir)$(ProjectName).pdb
diff --git a/vcproj-14/map-server.vcxproj b/vcproj-14/map-server.vcxproj
index b1a6f4d3a1..327cd58dd7 100644
--- a/vcproj-14/map-server.vcxproj
+++ b/vcproj-14/map-server.vcxproj
@@ -113,7 +113,6 @@
libcmt.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;pcre.lib;%(AdditionalDependencies)
$(OutDir)$(ProjectName).exe
..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib;%(AdditionalLibraryDirectories)
- true
%(IgnoreSpecificDefaultLibraries)
true
$(OutDir)$(ProjectName).pdb
diff --git a/vcproj-14/mapcache.vcxproj b/vcproj-14/mapcache.vcxproj
index cf42e31a3b..94283a8a64 100644
--- a/vcproj-14/mapcache.vcxproj
+++ b/vcproj-14/mapcache.vcxproj
@@ -111,7 +111,6 @@
libcmt.lib;oldnames.lib;zdll.lib;%(AdditionalDependencies)
$(OutDir)mapcache.exe
..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)
- true
true
$(OutDir)$(ProjectName).pdb
Console