gfx gfx
gfx gfx
Please login or register.

Login with username, password and session length
gfx gfx
gfx gfx

  • Welcome at our new home!!!

    This is the Snej Portal, home of several D2 Modifications and D2SE
  • On our Realmserver you can find this hosted Mods:

    Snej
    Reign of Shadows (RoS)
    Eastern Sun (ES)
  • You can also find the home of the

    Aftermath Mod here

    http://snej.org/forum/index.php?board=674.0
gfx gfx
gfx
November 20, 2018, 01:33:05 PM
*
gfx gfx
gfx* Home Help Search Login Registergfx

Author Topic: Fileguide: ItemRatio.txt - mit Dropchanceberechnung (translate by Destrution)  (Read 2349 times)

0 Members and 1 Guest are viewing this topic.

Offline SirSamusAranTopic starter

  • Administrator
  • Andariel
  • *
  • Posts: 1717
  • Gender: Male
  • Event-Manager
    • SnEj Homepage
ItemRatio.txt

Allgemein:
Die Itemratio.txt bestimmt die Qualität von droppenden Gegenständen. Das Spiel entscheidet die Qualität des Gegenstandes (Unique/.../niedrige Qualität) indem es erst testet, ob es ein Unique ist, wenn nicht ob es ein Set ist, wenn nicht..., und wenn alles fehlschlägt, dann ist der Gegenstand von niedriger Qualität. Die ItemRatio.txt kontrolliert die Wahrscheinlichkeit des Erfolgs und erfolgreicher Tests.
Die Reihenfolge ist:
Unique > Set > Rare > Magisch > Gut > Normal > niedrige Qualität

Verknüpfte txt Dateien:
Soweit ich weiß benutzt diese Datei weder andere Dateien, noch wird sie von anderen Dateien benutzt. Aber das spiel muss wissen, ob der Gegenstand Über/Elite und Klassenspezifisch ist, welches in den Armor.txt/Misc.txt/Weapons.txt und ItemTypes.txt steht. Außerdem ckeckt das Spiel das Qualitätslevel des Gegenstandes (=qlvl; “level” Spalte in der Armor.txt/Misc.txt/Weapons.txt) und das Monsterlevel (dies kommt aus der MonStats.txt und Levels.txt hervor, aber das exakte Verhalten enzieht sich dem Bereich dieses File Guides).

Spaltenbeschreibungen:

Function: Nur Komentar. Das Spiel entscheidet in den nächsten 3 Spalten, was was zuzuordnen ist.

Version: 0=Classic; 1=LoD

Uber: 0=Normale items; 1=Exceptional/Elite items

Class Specific: Klassenspezifisch? 1=ja; 0=nein

Unique: Basis chance auf ein Unique. Je höher desto seltener.

UniqueDivisor: Der Einfluss eines höheren Monster/Qualitätslevels. Ein höherer Wert lässt höherlevelige Monster bessere items droppen.

UniqueMin: Die Eingrenzung des Einflusses des Monster/Qualitätslevels und dem MagicFind bonus. Auch hier gilt: Je höher desto seltener.

Genau das gleiche gilt natürlich auch für die Rare-, Set-, Magisch-, HiQuality- und Normalspalten. Bei HiQuality und Normal gibts allerdings keine Eingrenzungen und MagicFind Einfluss mehr (-Min Spalten).


Nun ist es bei dieser Datei nicht besonders Lohnenswert, nur die spalten zu beschreiben, da daraus niemand ersehen kann, wie das ganze eigentlich Funktioniert. Deshalb werde ich das hier mal etwas näher erläutern.

Lasst uns erstmal sehen, wie das Spiel das ganze überhaupt benutzt: Wenn etwas droppt, dann folgt das Spiel der TC bis es zu einem Basisobjekt gelangt. Nehmen wir als Beispiel einen Eisenhut. Dann testet es, ob der Gegenstand ein Unique/Set/Rare/.../niedriger Qualität wird.
Für diesen Zweck benutzt es die richtige Zeile der Itemratio.txt, den MagicFind Bonus des Chars, der den drop verursacht (Char+Diener wenn der Diener killt) und die Maximalwerte von Unique/Set/Rare/Magisch während des Überprüfens der TreasureclassEx.txt (die maximalen Werte; nicht den erst Besten, nicht den letzten, keine null, nicht die Summe,...).

Das Spiel entscheidet die Qualität des Gegenstandes (Unique/.../niedrige Qualität) indem es erst testet, ob es ein unique ist, wenn nicht ob es ein Set ist, wenn nicht..., und wenn alles fehlschlägt, dann ist der Gegenstand von niedriger Qualität.
Die Reihenfolge ist:
Unique > Set > Rare > Magisch > Gut > Normal > niedrige Qualität

Der Unique Test:
Die Basiswahrscheinlichkeit, dass es ein Unique wird lässt sich folgendermaßen darstellen:
Basiswahrscheinlichkeit=Unique; Unique von dieser txt

Dann wird diese Basischance durch folgende Formel verringert:
(Monsterlevel-Qualitätslevel)/UniqueDevisor

Qualitätslevel ist hierbei wieder der Wert der Spalte "level" in der armor.txt/misc.txt/weapons.txt.

Nun wird dieser Wert mit 128 multipliziert (fragt nicht warum, is so^^; ist der sogenannte "extra Genauigkeitsfaktor").

Nun kommt das Effektive Magic Find (EMF). Dieses wird folgendermaßen ausgerechnet:
MF*X/(MF+X)
X steht für: Unique=250, Set=500, Rare=600, Magisch=MF
Dies wird nun in die MF-Berechnung mit einbezogen:
Realechance=Basischance(mit verringerung+Faktor)*100/(100+EMF)

Nun wird diese Realechance mit der UniqueMin Spalte verglichen (beachtet, dass dieser Wert XXXmin in Wirklichkeit 128 mal größer ist, als XXX).

Zum Schluss wird noch der TreasureclassBonus von der Spalte Unique von der TreasureclassEx.txt draufgeschlagen:
Uniquechance=Realechance-(Realechance*Unique)/1024

Nun sucht sich das Spiel irgendeine zufällige Nummer zwischen 0 und Uniquechance-1 raus. Ist diese <=127 dann ist es ein Unique.


Da das ganze da oben sehr verwirrend ist, werde ich hier nochmal ein Beispiel anführen. Hierbei gehen wir von folgender Situation aus:
Ein Ring (qlvl=1) wird von Andariel Hell (monlvl=78) mit 300%MF gedroppt (mit der qTC: uniquebonus=995).
Dabei werde ich nochmal die theoretischen über die praktischen Formeln schreiben.

Basischance mit verringerung:
Basiswahrscheinlichkeit-(monlvl-qlvl)/UniqueDivisor
400-(78-1)/1=323

extra Genauigkeitsfaktor:
Basischance*128
323*128=41344

Mit MF zuschlag=Realechance:
Basischance(mit Faktor)*100/(100+EMF)
da wir EMF noch nicht kennen (hier X=250 weils unique sein soll):
MF*X/(MF+X)

EMF:
300*250/(300+250)=136
Realechance:
41344*100/(100+136)=17518


Da nun UniqueMin kleiner als die Realechance ist, wird der Eintrag ignoriert.

Uniquechance:
Realechance-(Realechance*Unique)/1024
17518-(17518*995)/1024=496

Nun wird irgendein Wert zwischen 0 und der errechneten Chance ausgewählt. Ist dieser <=127 dann wird es ein Unique. Um die %uale Chance auszurechnen benutzt man folgende Formel:
128/Uniquechance
128/496=25,18%
Gruß euer Cola-Vampir SirSamusAran

Ich poste nur wahllos auf meiner Tastatur getippte Buchstaben, sollten dabei Silben, Wörter oder gar sinnige Sätze entstehen, ist dies purer Zufall.
I only type randomly on my keyboard. Should thereby syllables, words or even meaningfull sentences be created, that would be totally by accident.

Snejportal  |  D2SE  |  General Modding  |  Fileguides (Moderator: SirSamusAran)  |  Topic: Fileguide: ItemRatio.txt - mit Dropchanceberechnung (translate by Destrution)
 

gfxgfx
gfx
SMF 2.0.10 | SMF © 2015, Simple Machines  Snejtheme V2 by Seltsamuel/Faust (based on Helios Multi by Bloc)
gfx