Преглед изворни кода

Official Drops and Rates for Wild Poring Rider (#8879)

- Wild Poring Rider now adds individual item drops rather than group drops
- Removed unused groups
- The items that drop from Wild Poring Rider now match jRO
- Official drop rates for all items
- Fixes #8878
Playtester пре 5 месеци
родитељ
комит
f4f60a3e91
4 измењених фајлова са 130 додато и 242 уклоњено
  1. 110 28
      db/re/item_db_equip.yml
  2. 16 0
      db/re/item_db_usable.yml
  3. 0 213
      db/re/item_group_db.yml
  4. 4 1
      doc/item_bonus.txt

+ 110 - 28
db/re/item_db_equip.yml

@@ -93022,36 +93022,118 @@ Body:
     View: 1422
     Refineable: true
     Script: |
-      if ((eaclass()&EAJ_UPPERMASK) == EAJ_KNIGHT)
-         bonus2 bAddMonsterDropItemGroup,IG_RUNE_CRAFT_MATERIALS,100;
-      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_CRUSADER)
-         bonus2 bAddMonsterDropItemGroup,IG_JUICE,100;
+      if ((eaclass()&EAJ_UPPERMASK) == EAJ_KNIGHT) {
+         bonus2 bAddMonsterDropItem,1034,13;
+         bonus2 bAddMonsterDropItem,7030,15;
+         bonus2 bAddMonsterDropItem,7097,12;
+         bonus2 bAddMonsterDropItem,7938,11;
+         bonus2 bAddMonsterDropItem,7221,12;
+         bonus2 bAddMonsterDropItem,1035,13;
+         bonus2 bAddMonsterDropItem,1096,13;
+         bonus2 bAddMonsterDropItem,7002,13;
+         bonus2 bAddMonsterDropItem,7123,12;
+         bonus2 bAddMonsterDropItem,1048,13;
+         bonus2 bAddMonsterDropItem,518,10;
+         bonus2 bAddMonsterDropItem,716,13;
+         bonus2 bAddMonsterDropItem,7069,12;
+         bonus2 bAddMonsterDropItem,7099,13;
+         bonus2 bAddMonsterDropItem,7210,13;
+         bonus2 bAddMonsterDropItem,714,2;
+      }
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_CRUSADER) {
+         bonus2 bAddMonsterDropItem,532,1000;
+         bonus2 bAddMonsterDropItem,531,1000;
+         bonus2 bAddMonsterDropItem,534,1000;
+         bonus2 bAddMonsterDropItem,536,2000;
+      }
       else if ((eaclass()&EAJ_UPPERMASK) == EAJ_PRIEST)
-         bonus2 bAddMonsterDropItem,523,100;
+         bonus2 bAddMonsterDropItem,523,200;
       else if ((eaclass()&EAJ_UPPERMASK) == EAJ_MONK)
-         bonus2 bAddMonsterDropItem,605,100;
-      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_WIZARD)
-         bonus2 bAddMonsterDropItemGroup,IG_GEMSTONE,100;
-      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_SAGE)
-         bonus2 bAddMonsterDropItemGroup,IG_ELEMENTAL_CONVERTER,100;
-      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_ASSASSIN)
-         bonus2 bAddMonsterDropItemGroup,IG_POISONS,100;
-      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_ROGUE || (eaclass()&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE)
-         bonus2 bAddMonsterDropItem,23660,100;
-      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_HUNTER || (eaclass()&EAJ_UPPERMASK) == EAJ_BARDDANCER)
-         bonus2 bAddMonsterDropItemGroup,IG_QUIVER,100;
-      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_BLACKSMITH)
-         bonus2 bAddMonsterDropItemGroup,IG_BLACKSMITH,100;
-      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_ALCHEMIST)
-         bonus2 bAddMonsterDropItemGroup,IG_POTION_CRAFT_MATERIALS,100;
-      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_NINJA)
-         bonus2 bAddMonsterDropItemGroup,IG_KUNAI_BOX,100;
-      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_GUNSLINGER)
-         bonus2 bAddMonsterDropItemGroup,IG_BULLET_CASE,100;
-      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_SOUL_LINKER)
-         bonus2 bAddMonsterDropItemGroup,IG_SOUL_LINKER,100;
-      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_STAR_GLADIATOR)
-         bonus2 bAddMonsterDropItemGroup,IG_ELEMENTAL_STONES,100;
+         bonus2 bAddMonsterDropItem,605,125;
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_WIZARD) {
+         bonus2 bAddMonsterDropItem,717,350;
+         bonus2 bAddMonsterDropItem,716,300;
+         bonus2 bAddMonsterDropItem,715,300;
+      }
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_SAGE) {
+         bonus2 bAddMonsterDropItem,947,100;
+         bonus2 bAddMonsterDropItem,1013,100;
+         bonus2 bAddMonsterDropItem,904,100;
+         bonus2 bAddMonsterDropItem,946,100;
+      }
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_ASSASSIN) {
+         bonus2 bAddMonsterDropItem,7937,7;
+         bonus2 bAddMonsterDropItem,709,3;
+         bonus2 bAddMonsterDropItem,7934,7;
+         bonus2 bAddMonsterDropItem,7935,7;
+         bonus2 bAddMonsterDropItem,7933,7;
+         bonus2 bAddMonsterDropItem,7932,14;
+         bonus2 bAddMonsterDropItem,7936,7;
+         bonus2 bAddMonsterDropItem,7565,53;
+         bonus2 bAddMonsterDropItem,7155,55;
+         bonus2 bAddMonsterDropItem,7033,55;
+         bonus2 bAddMonsterDropItem,957,55;
+         bonus2 bAddMonsterDropItem,7003,55;
+         bonus2 bAddMonsterDropItem,950,55;
+      }
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_ROGUE) {
+         bonus2 bAddMonsterDropItem,23059,70;
+         bonus2 bAddMonsterDropItem,23060,30;
+      }
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_HUNTER) {
+         bonus2 bAddMonsterDropItem,12008,35;
+         bonus2 bAddMonsterDropItem,12010,34;
+         bonus2 bAddMonsterDropItem,12011,34;
+         bonus2 bAddMonsterDropItem,12012,34;
+         bonus2 bAddMonsterDropItem,23061,24;
+      }
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_BARDDANCER) {
+         bonus2 bAddMonsterDropItem,12008,35;
+         bonus2 bAddMonsterDropItem,12010,34;
+         bonus2 bAddMonsterDropItem,12011,34;
+         bonus2 bAddMonsterDropItem,12012,34;
+         bonus2 bAddMonsterDropItem,12014,5;
+      }
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_BLACKSMITH) {
+         bonus2 bAddMonsterDropItem,998,300;
+         bonus2 bAddMonsterDropItem,7054,100;
+         bonus2 bAddMonsterDropItem,999,50;
+      }
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_ALCHEMIST) {
+         bonus2 bAddMonsterDropItem,510,30;
+         bonus2 bAddMonsterDropItem,507,90;
+         bonus2 bAddMonsterDropItem,508,70;
+         bonus2 bAddMonsterDropItem,509,50;
+         bonus2 bAddMonsterDropItem,511,110;
+         bonus2 bAddMonsterDropItem,952,20;
+         bonus2 bAddMonsterDropItem,1017,16;
+         bonus2 bAddMonsterDropItem,1061,10;
+      }
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE)
+         bonus2 bAddMonsterDropItem,12709,146;
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_NINJA) {
+         bonus2 bAddMonsterDropItem,12638,2;
+         bonus2 bAddMonsterDropItem,12639,2;
+         bonus2 bAddMonsterDropItem,12640,100;
+      }
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_GUNSLINGER) {
+         bonus2 bAddMonsterDropItem,12150,6;
+         bonus2 bAddMonsterDropItem,12151,100;
+         bonus2 bAddMonsterDropItem,12637,5;
+      }
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_SOUL_LINKER) {
+         bonus2 bAddMonsterDropItem,748,5;
+         bonus2 bAddMonsterDropItem,732,4;
+         bonus2 bAddMonsterDropItem,929,150;
+      }
+      else if ((eaclass()&EAJ_UPPERMASK) == EAJ_STAR_GLADIATOR) {
+         bonus2 bAddMonsterDropItem,994,20;
+         bonus2 bAddMonsterDropItem,995,20;
+         bonus2 bAddMonsterDropItem,997,20;
+         bonus2 bAddMonsterDropItem,996,20;
+         bonus2 bAddMonsterDropItem,1000,20;
+         bonus2 bAddMonsterDropItem,1001,110;
+      }
       else
          bonus2 bAddMonsterDropItem,522,100;
   - Id: 19109

+ 16 - 0
db/re/item_db_usable.yml

@@ -60753,6 +60753,22 @@ Body:
       Container: true
     Script: |
       getgroupitem(IG_Enchant_Stone_Box9);
+  - Id: 23059
+    AegisName: Face_Paint_Box
+    Name: Face Paint Box
+    Type: Usable
+    Buy: 20
+    Weight: 150
+    Script: |
+      getitem 6120,50; /* Face Paint */
+  - Id: 23060
+    AegisName: Surface_Paint_Box
+    Name: Surface Paint Box
+    Type: Usable
+    Buy: 20
+    Weight: 150
+    Script: |
+      getitem 6123,50; /* Surface Paint */
   - Id: 23061
     AegisName: Incisive_Arrow_Cntr
     Name: Sharp Arrow Quiver

+ 0 - 213
db/re/item_group_db.yml

@@ -43174,219 +43174,6 @@ Body:
             Item: Up_Demon_S_Shot
             RefineMinimum: 7
             RefineMaximum: 7
-  - Group: RUNE_CRAFT_MATERIALS
-    SubGroups:
-      - SubGroup: 1
-        List:
-          - Index: 0
-            Item: Emperium
-            Rate: 1
-          - Index: 1
-            Item: Ogre_Tooth
-            Rate: 1
-          - Index: 2
-            Item: Cobold_Hair
-            Rate: 1
-          - Index: 3
-            Item: Broken_Armor_Piece
-            Rate: 1
-          - Index: 4
-            Item: Claw_Of_Desert_Wolf
-            Rate: 1
-          - Index: 5
-            Item: Tangled_Chain
-            Rate: 1
-          - Index: 6
-            Item: Dullahan_Armor
-            Rate: 1
-          - Index: 7
-            Item: Dragon's_Skin
-            Rate: 1
-          - Index: 8
-            Item: Dragon_Canine
-            Rate: 1
-          - Index: 9
-            Item: Honey
-            Rate: 1
-          - Index: 10
-            Item: Light_Granule
-            Rate: 1
-          - Index: 11
-            Item: Old_Magic_Circle
-            Rate: 1
-          - Index: 12
-            Item: Slender_Snake
-            Rate: 1
-          - Index: 13
-            Item: Round_Shell
-            Rate: 1
-          - Index: 14
-            Item: Burning_Heart
-            Rate: 1
-          - Index: 15
-            Item: Red_Gemstone
-            Rate: 1
-  - Group: ELEMENTAL_CONVERTER
-    SubGroups:
-      - SubGroup: 1
-        List:
-          - Index: 0
-            Item: Scorpion's_Tail
-            Rate: 1
-          - Index: 1
-            Item: Snail's_Shell
-            Rate: 1
-          - Index: 2
-            Item: Horn
-            Rate: 1
-          - Index: 3
-            Item: Colorful_Shell
-            Rate: 1
-  - Group: POISONS
-    SubGroups:
-      - SubGroup: 1
-        List:
-          - Index: 0
-            Item: Anolian_Skin
-            Rate: 1
-          - Index: 1
-            Item: Izidor
-            Rate: 1
-          - Index: 2
-            Item: Poison_Toad's_Skin
-            Rate: 1
-          - Index: 3
-            Item: Poison_Spore
-            Rate: 1
-          - Index: 4
-            Item: Poison_Herb_Amoena
-            Rate: 1
-          - Index: 5
-            Item: Poison_Herb_Scopolia
-            Rate: 1
-          - Index: 6
-            Item: Poison_Herb_Seratum
-            Rate: 1
-          - Index: 7
-            Item: Poison_Herb_Makulata
-            Rate: 1
-          - Index: 8
-            Item: Poison_Herb_Rantana
-            Rate: 1
-          - Index: 9
-            Item: Poison_Herb_Nerium
-            Rate: 1
-          - Index: 10
-            Item: Heart_Of_Mermaid
-            Rate: 1
-          - Index: 11
-            Item: Sticky_Poison
-            Rate: 1
-          - Index: 12
-            Item: Decayed_Nail
-            Rate: 1
-  - Group: BLACKSMITH
-    SubGroups:
-      - SubGroup: 1
-        List:
-          - Index: 0
-            Item: Steel
-            Rate: 1
-          - Index: 1
-            Item: Iron
-            Rate: 1
-          - Index: 2
-            Item: Brigan
-            Rate: 1
-  - Group: POTION_CRAFT_MATERIALS
-    SubGroups:
-      - SubGroup: 1
-        List:
-          - Index: 0
-            Item: Red_Herb
-            Rate: 1
-          - Index: 1
-            Item: Yellow_Herb
-            Rate: 1
-          - Index: 2
-            Item: White_Herb
-            Rate: 1
-          - Index: 3
-            Item: Blue_Herb
-            Rate: 1
-          - Index: 4
-            Item: Green_Herb
-            Rate: 1
-          - Index: 5
-            Item: Cactus_Needle
-            Rate: 1
-          - Index: 6
-            Item: Starsand_Of_Witch
-            Rate: 1
-          - Index: 7
-            Item: Moustache_Of_Mole
-            Rate: 1
-  - Group: KUNAI_BOX
-    SubGroups:
-      - SubGroup: 1
-        List:
-          - Index: 0
-            Item: Dried_Squid_Box
-            Rate: 1
-          - Index: 1
-            Item: Flying_Fish_Box
-            Rate: 1
-          - Index: 2
-            Item: Starfish_Box
-            Rate: 1
-  - Group: BULLET_CASE
-    SubGroups:
-      - SubGroup: 1
-        List:
-          - Index: 0
-            Item: Bullet_Case
-            Rate: 1
-          - Index: 1
-            Item: Bullet_Case_Silver
-            Rate: 1
-          - Index: 2
-            Item: Bullet_Case_Blood
-            Rate: 1
-  - Group: SOUL_LINKER
-    SubGroups:
-      - SubGroup: 1
-        List:
-          - Index: 0
-            Item: Witherless_Rose
-            Rate: 1
-          - Index: 1
-            Item: Crystal_Jewel__
-            Rate: 1
-          - Index: 2
-            Item: Immortal_Heart
-            Rate: 1
-  - Group: ELEMENTAL_STONES
-    SubGroups:
-      - SubGroup: 1
-        List:
-          - Index: 0
-            Item: Flame_Heart
-            Rate: 1
-          - Index: 1
-            Item: Mistic_Frozen
-            Rate: 1
-          - Index: 2
-            Item: Rough_Wind
-            Rate: 1
-          - Index: 3
-            Item: Great_Nature
-            Rate: 1
-          - Index: 4
-            Item: Star_Crumb
-            Rate: 1
-          - Index: 5
-            Item: Sparkling_Dust
-            Rate: 1
   - Group: SHADOW_CUBE_ARMOR
     SubGroups:
       - SubGroup: 1

+ 4 - 1
doc/item_bonus.txt

@@ -481,7 +481,10 @@ bonus3 bAddMonsterDropItemGroup,ig,r,n;	Adds a n/100% chance to get an item of g
 bonus3 bAddClassDropItemGroup,ig,c,n;	Adds a n/100% chance to get an item of group type ig when killing a monster of class c
                                      	NOTE: If 'x' is negative value, then it's a part of formula:
                                      	      chance = -n*(killed_mob_level/10)+1
-                                     	LIMIT: Only 10 of these bonuses can be set. Those which exceed 10 are ignored.
+                                     	NOTE: Officially, the drop bonus for groups always activates to 100% so n should be 10000 for all
+                                              official items. The actual drop rate of each item is defined in the item_group_db instead.
+                                              Please note that each time only one random item in the group is checked for its drop rate.
+                                              That means that the chance is divided by the number of items in the group.
 
 bonus2 bGetZenyNum,x,n;   		Adds a n% chance of gaining 1~x zeny when killing a monster (only the highest among all is applied)
 bonus2 bAddGetZenyNum,x,n;		Adds a n% chance of gaining 1~x zeny when killing a monster