Browse Source

Fixed bugreport:8599 http://rathena.org/board/tracker/issue-8599-about-his-items-the-ig-thing/

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
Cydh Ramdh 11 years ago
parent
commit
96a7e476f5
5 changed files with 13 additions and 12 deletions
  1. 2 2
      db/pre-re/item_db.txt
  2. 1 1
      db/re/item_db.txt
  3. 5 5
      sql-files/item_db.sql
  4. 1 1
      sql-files/item_db_re.sql
  5. 4 3
      src/map/itemdb.c

+ 2 - 2
db/pre-re/item_db.txt

@@ -5136,9 +5136,9 @@
 12707,Lucky_Cookie02,Lucky Cookie,11,0,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "PR_MAGNIFICAT",1; },{},{}
 12708,Lucky_Cookie03,Lucky Cookie,11,0,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "PR_IMPOSITIO",3; },{},{}
 12709,Guyak_Candy,Guyak Candy,0,0,,150,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 30,30; },{},{}
-12710,Guyak_Pudding,Guyak Pudding,2,0,,200,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
+12710,Guyak_Pudding,Guyak Pudding,2,0,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SpeedUp1,300000,0; },{},{}
 12711,Pretzel,Pretzel,0,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(50,90),0; },{},{}
-12712,Green_Beer,Green Beer,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
+12712,Green_Beer,Green Beer,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 0,50; },{},{}
 12713,Monster_Extract,Monster Extract,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12714,Easter_Scroll,Easter Scroll,2,1,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_Easter_Scroll),1; },{},{}
 12715,Black_Treasure_Box,Black Treasure Box,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}

+ 1 - 1
db/re/item_db.txt

@@ -6217,7 +6217,7 @@
 12707,Lucky_Cookie02,Lucky Cookie,11,0,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ itemskill "PR_MAGNIFICAT",1; },{},{}
 12708,Lucky_Cookie03,Lucky Cookie,11,0,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ itemskill "PR_IMPOSITIO",3; },{},{}
 12709,Guyak_Candy,Guyak Candy,0,0,,150,,,,,0xFFFFFFFF,63,2,,,,,,{ percentheal 30,30; },{},{}
-12710,Guyak_Pudding,Guyak Pudding,2,0,,200,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
+12710,Guyak_Pudding,Guyak Pudding,2,0,,200,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_SpeedUp1,300000,0; },{},{}
 12711,Pretzel,Pretzel,0,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ itemheal rand(50,90),0; },{},{}
 12712,Green_Beer,Green Beer,2,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ percentheal 0,50; },{},{}
 12713,Monster_Extract,Monster Extract,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}

+ 5 - 5
sql-files/item_db.sql

@@ -4969,9 +4969,9 @@ REPLACE INTO `item_db` VALUES (12388,'Runstone_Crush','Rhydo Runestone For Appre
 REPLACE INTO `item_db` VALUES (12389,'Runstone_Storm','Pertz Runestone For Apprentice',11,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'/* if(strcharinfo(3)=="job3_rune02") { itemskill "RK_STORMBLAST",1; } */',NULL,NULL);
 REPLACE INTO `item_db` VALUES (12390,'Runstone_Millennium','Verkana Runestone For Apprentice',11,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'/* if(strcharinfo(3)=="job3_rune02") { itemskill "RK_MILLENNIUMSHIELD",1; } */',NULL,NULL);
 REPLACE INTO `item_db` VALUES (12391,'Lucky_Egg_C','Lucky Egg',2,0,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (12392,'Repair_A','Repair A',0,220,NULL,100,NULL,NULL,NULL,NULL,0x00000400,8,2,NULL,NULL,NULL,NULL,NULL,'if ( checkmadogear() ) { itemheal rand(200,300),0;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (12393,'Repair_B','Repair B',0,500,NULL,140,NULL,NULL,NULL,NULL,0x00000400,8,2,NULL,NULL,NULL,NULL,NULL,'if ( checkmadogear() ) { itemheal rand(300,400),0;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (12394,'Repair_C','Repair C',0,1100,NULL,180,NULL,NULL,NULL,NULL,0x00000400,8,2,NULL,NULL,NULL,NULL,NULL,'if ( checkmadogear() ) { itemheal rand(400,500),0;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (12392,'Repair_A','Repair A',2,220,NULL,100,NULL,NULL,NULL,NULL,0x00000400,8,2,NULL,NULL,NULL,NULL,NULL,'if ( checkmadogear() ) { itemheal rand(200,300),0; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (12393,'Repair_B','Repair B',2,500,NULL,140,NULL,NULL,NULL,NULL,0x00000400,8,2,NULL,NULL,NULL,NULL,NULL,'if ( checkmadogear() ) { itemheal rand(300,400),0; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (12394,'Repair_C','Repair C',2,1100,NULL,180,NULL,NULL,NULL,NULL,0x00000400,8,2,NULL,NULL,NULL,NULL,NULL,'if ( checkmadogear() ) { itemheal rand(400,500),0; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (12395,'Tantanmen','Tantan Noodle',2,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'pet 1519;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (12396,'Fools_Day_Box','Gift Box?',11,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'if(rand(1,10)==1) itemskill "AL_TELEPORT",1; else if(rand(1,10)==2) itemskill "AL_TELEPORT",3; else if(rand(1,10)==3) percentheal 50,0; else if(rand(1,10)==4) percentheal 0,50; else if(rand(1,10)==5) end; else if(rand(1,10)==6) getitem 512,1; else if(rand(1,10)==7) itemskill "ALL_REVERSEORCISH",1; else if(rand(1,10)==8) specialeffect2 247; else if(rand(1,10)==9) specialeffect2 338; else specialeffect2 10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (12397,'Fools_Day_Box2','Gift Box?',11,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'if(rand(1,10)==1) itemskill "TF_DETOXIFY",1; else if(rand(1,10)==2) itemskill "TF_PICKSTONE",1; else if(rand(1,10)==3) itemskill "BA_FROSTJOKER",1; else if(rand(1,10)==4) itemskill "DC_SCREAM",1; else if(rand(1,10)==5) end; else if(rand(1,10)==6) getitem 909,1; else if(rand(1,10)==7) itemskill "AL_RUWACH",1; else if(rand(1,10)==8) specialeffect2 328; else if(rand(1,10)==9) specialeffect2 68; else specialeffect2 196;',NULL,NULL);
@@ -5167,9 +5167,9 @@ REPLACE INTO `item_db` VALUES (12706,'Lucky_Cookie01','Lucky Cookie',11,0,NULL,1
 REPLACE INTO `item_db` VALUES (12707,'Lucky_Cookie02','Lucky Cookie',11,0,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'itemskill "PR_MAGNIFICAT",1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (12708,'Lucky_Cookie03','Lucky Cookie',11,0,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'itemskill "PR_IMPOSITIO",3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (12709,'Guyak_Candy','Guyak Candy',0,0,NULL,150,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 30,30;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (12710,'Guyak_Pudding','Guyak Pudding',2,0,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `item_db` VALUES (12710,'Guyak_Pudding','Guyak Pudding',2,0,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SpeedUp1,300000,0;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (12711,'Pretzel','Pretzel',0,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'itemheal rand(50,90),0;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (12712,'Green_Beer','Green Beer',2,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `item_db` VALUES (12712,'Green_Beer','Green Beer',2,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 0,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (12713,'Monster_Extract','Monster Extract',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (12714,'Easter_Scroll','Easter Scroll',2,1,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_Easter_Scroll),1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (12715,'Black_Treasure_Box','Black Treasure Box',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);

+ 1 - 1
sql-files/item_db_re.sql

@@ -6248,7 +6248,7 @@ REPLACE INTO `item_db_re` VALUES (12706,'Lucky_Cookie01','Lucky Cookie',11,0,NUL
 REPLACE INTO `item_db_re` VALUES (12707,'Lucky_Cookie02','Lucky Cookie',11,0,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'itemskill "PR_MAGNIFICAT",1;',NULL,NULL);
 REPLACE INTO `item_db_re` VALUES (12708,'Lucky_Cookie03','Lucky Cookie',11,0,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'itemskill "PR_IMPOSITIO",3;',NULL,NULL);
 REPLACE INTO `item_db_re` VALUES (12709,'Guyak_Candy','Guyak Candy',0,0,NULL,150,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'percentheal 30,30;',NULL,NULL);
-REPLACE INTO `item_db_re` VALUES (12710,'Guyak_Pudding','Guyak Pudding',2,0,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (12710,'Guyak_Pudding','Guyak Pudding',2,0,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_SpeedUp1,300000,0;',NULL,NULL);
 REPLACE INTO `item_db_re` VALUES (12711,'Pretzel','Pretzel',0,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'itemheal rand(50,90),0;',NULL,NULL);
 REPLACE INTO `item_db_re` VALUES (12712,'Green_Beer','Green Beer',2,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'percentheal 0,50;',NULL,NULL);
 REPLACE INTO `item_db_re` VALUES (12713,'Monster_Extract','Monster Extract',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);

+ 4 - 3
src/map/itemdb.c

@@ -717,7 +717,7 @@ static void itemdb_read_itemgroup_sub(const char* filename, bool silent)
 		}
 
 		//Checking sub group
-		if (rand_group > MAX_ITEMGROUP_RANDGROUP) {
+		if (rand_group < 0 || rand_group > MAX_ITEMGROUP_RANDGROUP) {
 			ShowWarning("itemdb_read_itemgroup: Invalid sub group %d for group '%s' in %s:%d\n", rand_group, str[0], filename, ln);
 			continue;
 		}
@@ -726,7 +726,6 @@ static void itemdb_read_itemgroup_sub(const char* filename, bool silent)
 			ShowWarning("itemdb_read_itemgroup: Invalid probaility for group '%s' sub: %d in %s:%d\n", str[0], rand_group, filename, ln);
 			continue;
 		}
-		rand_group -= 1;
 
 		//Checking item
 		trim(str[1]);
@@ -745,7 +744,7 @@ static void itemdb_read_itemgroup_sub(const char* filename, bool silent)
 		dur = cap_value(dur,0,UINT16_MAX);
 		bound = cap_value(bound,0,4);
 
-		//Must item, place it here
+		//Must item (rand_group == 0), place it here
 		if (!rand_group) {
 			uint16 idx = itemgroup_db[group_id].must_qty;
 			if (!idx)
@@ -767,6 +766,8 @@ static void itemdb_read_itemgroup_sub(const char* filename, bool silent)
 			}
 			rand_group = 0;
 		}
+		else
+			rand_group -= 1;
 
 		random = &itemgroup_db[group_id].random[rand_group];