Selaa lähdekoodia

quest 634, Dimensional Diamonds:
Fix for party drops. Thanks GodKratos.
Fix for chance. Thanks Aikimaniac.
More proper application of rates. Thanks myself ^_^

Fulminus 17 vuotta sitten
vanhempi
sitoutus
7c16180716

+ 7 - 5
datapack_development/data/scripts/quests/634_InSearchofDimensionalFragments/__init__.py

@@ -42,13 +42,15 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet):
-    partyMember = self.getRandomPartyMemberState(player, State.STARTED) 
-    st = player.getQuestState(qn)
+    partyMember = self.getRandomPartyMemberState(player, State.STARTED)
+    if not partyMember : return
+    st = partyMember.getQuestState(qn)
     if st :
         if st.getState() == State.STARTED :
-            numItems = int((npc.getLevel() * 0.15 +1.6)*Config.RATE_DROP_QUEST)
-            if st.getRandom(100)>=10 :
-                numItems = 0
+            itemMultiplier,chance = divmod(15*Config.RATE_DROP_QUEST,1000)
+            if st.getRandom(1000) < chance :
+                itemMultiplier += 1
+            numItems = int(itemMultiplier * (npc.getLevel() * 0.15 +1.6))
             if numItems > 0 :    
                 st.giveItems(DIMENSION_FRAGMENT_ID,numItems)
     return