1.07 News, Info and Gossip

You're right -- with "ilvl" I referred to the "internal level" the cube function uses, it's indeed clvl*66/100. Sorry for the confusion.

Edit: clvl 91 is sufficient for +3 to a skilltab.
 
Last edited:
Prefix 1113 Amulet of Frost Shield
Required Level: 9
Item Version: Expansion
Item Level: 60
Fingerprint: 0x591832b
Fire Resist +29%
Lightning Resist +34%
Cold Resist +6%
Poison Resist +30%
+3 to Passive and Magic Skills (Amazon Only)

5% Chance to cast Level 3 Frost Nova when struck
 
How do you people level up a character in the earlier levels if rushing isn't an option. My one leveled character is stuck in her Balrog Skin map so I need to make a new one for rushing other characters from scratch and it's been very slow. I'm 29 and hoping getting frozen orb and cold mastery next level helps speed things along.

Also what are the other rack targets I should look out for. My list was

Bone Knife (luckily a weapon rack in my balrog skin map also roles bone knifes ~30% of the time)
Shako
Winged Helm
Grim Helm
Thresher (for eth 4 socket weapons)
Bramble Mitts
Sharkskin Belt (Can't see wanting more than one of these)

The Grandfather (Colossus Blade) - 150% ED, but +175 life and 25% life and mana bonus
Baranar's Star (Devil Star) - 1.5 vitality per level, no elemental damage
Lightsabre (Elegant Blade) - 200% ED, 30% lightning absorb, interesting item type
Hellslayer (Decapitator) - +2 vitality per level, 150% ED, Indestructible, but the Enhanced max damage is less than in v1.09

don't forget a THUNDER MAUL! (In Nilly's temple). Having someone else try to get one will be good. Also, have you killed the ancients in the quest? Best way to level from the quest reward.
 
If it's clvl *0.66, it should be ilvl 60?

It just happens to work out like that in this case:
The formula will subtract (qlvl/2) from (clvl*66/100), but because (qlvl/2) is truncated to 0, it subtracts 0 from 60. Had an Amulet be qlvl 2, then you would need clvl93 for level 60 affixes.

Also, the final item level is not actually what directly determines the highest possible affix level:
If an Amulet was qlvl 2, then the highest possible affix level would be 59, while the final item level would still be 60.

Lastly, this is not the formula; just like in later patches, different formulas are used depending on the ratio between qlvl and (clvl*66/100), and whether or not the item has a magic level.

( It is a bug, by the way. The game wants/tries to do (clvl*66/100) + (ilvl*66/100), but the rune causes the second calculation to bug out and it ends up setting the value to 0, so this part always ends up as (clvl*66/100) + 0. Real shame that such a tiny mistake robbed us from truly incredible 1.07 crafts. :< )
 
What are the 1.07 thundermaul stats? Haven't found anything while searching. Any who could give me an additional rundown for the items to check for in 1.07 will be highly appreciated! Very curious about this stuff :)
 
What are the 1.07 thundermaul stats? Haven't found anything while searching. Any who could give me an additional rundown for the items to check for in 1.07 will be highly appreciated! Very curious about this stuff :)

As per this page.
https://web.archive.org/web/2002120....com:80/LOD/itemlist/Elite/D2Unique_Maces.asp

The Cranium Basher Thunder Maul
Two-Hand Damage: 92 To 504 (Base Damage: 30-180)
Required Level: 87
Required Strength: 253
Base Weapon Speed: [20]
+180% Enhanced Damage
Adds 50-80 Damage
150% Damage To Undead
60% Chance Of Crushing Blow
4% Chance To Cast Level 4 Amplify Damage On Attack
20% Increased Attack Speed
All Resistances +45
+25 To Strength
Indestructible

I levelled to 91 at p1 with no rushing.. that's one option. :confused:
Just curious. Do you see Patch 1.07 as a patch to play? Or do you see it as a patch to get nifty gear to use in other patches. I'm the latter and will probably never touch the patch (except maybe to get more max damage charms) once I get all the key uniques in the quantities I desire.
 
Last edited:
In this thread here, 1.07 mercenaries came up, and one thing in particular was act 5 mercenary damage as he has a one-handed sword equipped. I've taken a closer look, and thought I'd share:

If he uses Bash or Stun with a one-handed sword, his base damage is:
hireling_damage + item_damage + item_damage - 1
So, yes, his item damage gets doubled, and then 1 is subtracted.

However, when he does not use Bash or Stun, it actually gets even worse, because when he does not use these skills, then his damage from monstats.txt is added as well.
On Hell, this damage is a juicy 69-92, basically an extra weapon.

When using a two-handed sword, this doubling does not happen, and no monstats damage is added.

As for Bash and Stun, the reason they don't get any damage added from monstats is because these skills do "Attack 5", which (in monstats) deals 0-0 damage. His regular attack however does "Attack 4", so the game simply adds this damage from the monstats file.
(For your information, on Normal this damage is only 1-1, and on Nightmare it's is 37-49.)

His damage is then further increased by things like Strength and auras.

Bash unfortunately is bugged and does not add the flat +Damage that the skill description says it adds, because this +Damage is only added to the value that's used to calculate leech, and not to the actual attack damage that's dealt to the monster. This is also the case when the Barbarian uses this skill (sorry Bash enthusiasts!).

As for that hireling_damage, this is taken from hireling.txt, and assuming your merc was bought on Normal, this damage is calculated as:
Code:
level 42 and above:
Minimum: 27 + mercenary_level - 42
Maximum: 31 + mercenary_level - 42

level 28-41:
Minimum: 16 + ( ( mercenary_level - 28 ) * 6 / 8 )
Maximum: 20 + ( ( mercenary_level - 28 ) * 6 / 8 )
(As usual, the remainder is truncated after the division.)

To give you an idea, let's say you bought a mercenary on Normal that's now level 80, and on Hell he does a regular attack using a Hydra Edge that has something like +100% Enhanced Damage:

item_damage: 48-126
item_damage: 48-126
hireling_damage: 65-69
monstats_damage: 69-92
subtract: 1-1
base strength: 199

The damage added up makes 229-413, then multiplied by strength makes 684-1234, and that's with a pretty mediocre sword.
Bash will have a lower base damage because of the lack of monstats damage, but this skill does have +% skill damage to make up for some of that loss. Stun lacks +%, so that deals the lowest damage.


Lastly, the mercenary screen is way off about his damage. I wouldn't even bother using it as a reference. :p
 
Last edited:
Well I used mine for cows where they absolutely need the HP boost. Really a general purpose merc, and things like oblivion knights would slowly kill it even with MDR armor + helm iirc.

I usually settled on skullders + GF sword + shako to grant an extra ~1k life iirc, with some mdr
 
Last edited:
@pharphis
As @zemaj implied, two-handed damage is calculated "normally". In the hireling's case, that means hireling_damage + item_damage.
I don't have a Grandfather myself unfortunately so I'm not sure if the damage per level stat is applied correctly. I remember reading about some bug related to two-handed weapons here at diabloii, but I can't remember what patch or what particular stat it was about. Something about a stat not being applied to two-handed weapon damage at all. (Maybe it was the +%Damage / level from Hellslayer, but not the stat from Grandfather that was broken?)

I can see the +life argument though since monsters are pretty relentless in 1.07, and mercenaries don't have a lot of hitpoints. If Holy Freeze was reliable/permanent I certainly would've picked that merc over the A5 one.

Oh, and I've edited my prior post, as I had actually forgotten to double the item damage in the example calculation. :D The damage looks a lot better now.


But for reference, this would be the calculation with a Colossus Blade with +150% Enhanced Damage in similar circumstances:

item_damage: 42-267
hireling_damage: 65-69
base strength: 199

The damage added up makes 107-336, then multiplied by strength makes 319-1004. So, still not too bad. :) And this hasn't even included the damage/level stat, so if that works properly, it's good damage. For final DPS there is of course the attack speed factor as well, but without the botty bnet economy you can't just give your merc a bunch of 40/15 jewels. :p
 
I think mine just has a shael in it...

The bug you're referring to I THINK might be when you combine +dmg and %ED, or something like that. IIRC eth kelpie was severely nerfed for some reason related to this but maybe I'm totally misremembering what someone told me. Hopefully that sparks your memory or gives you an idea where to look.

ya mercs really need +life if they're going to actually tank at all, and the +life and +%life help quite a bit
 
@pharphis
Well I can confirm now that the +Max Damage per level on Grandfather does work, both when the sword is used one-handed as Barbarian, or two-handed as Barbarian or mercenary. The +%Max Damage per level on Hellslayer does not work however, and the +30-50 on Kelpie Snare also does not work. But this same stat is also found on Bloodletter, and on that weapon it does work, so it looks like it's a problem with two-handed specifically, and not so much the stat per say.
I was hoping the Kelpie Snare thing was just a display bug, but alas. At this point I feel like items like the The Grandfather are actually the exceptions when their stats are working. :p



And then some racking stuff. It was brought up on this page here, but it felt more appropriate to post this here for now. So far I've only checked the 1.07 weapon rack, but it's a start. (The idea is to find out the differences between 1.07 and 1.14 racks.)


OK, the weapon rack function will check every single weapon from the weapons.txt file, which in 1.07 has 305 entries. Every "eligible" item that is found is added to a list. If an item has spawnable set to 0, or quest set to anything other than 0, then the item does not get added to the list at all.
As expected, these are those items:
Code:
decoy dagger
Gidbinn
Wirt's Leg
Horadric Malus
Hellforge Hammer
Horadric Staff
Staff of the Kings
KhalimFlail
SuperKhalimFlail

If the weapon passed those checks, but its level is higher than (area_level - 1), it also is not added to the list.

If the weapon is not excluded at this point, then there's a small table that's accessed:
Code:
       39 then x = 0
 40 -  74 then x = 1
 75 - 102 then x = 2
103 - 108 then x = 3
109 - 132 then x = 4
133       then x = 0
This evaluates (area_level - 1), and sets x to the appropriate value. So if (area_level - 1) is 87 like in Lower Kurast, then x = 2. Or if for example (area_level - 1) is 107, then x = 3. If you're wondering why this goes all the way up to 133+, well I'm just the messenger. :p Maybe they had great plans!

But what is this value? Well, every item has a rarity in weapons.txt. The chance that an item has for it to be added to the list is essentially (100/divisor)%, so if the divisor is 4, then there's a 25% chance it will be added to the list. If the divisor is 1 or below, the chance is 100%.
Now, this divisor is simply (rarity - x), while that rarity value is anywhere between 1 and 5, depending on the item, so some items inherently have a 100% chance to be added to the list, while the lowest possible chance is 20%.

To clarify the above, first x is subtracted from rarity, and then a random roll is done based on the result. If the random number generator returns 0, then the item is added to the list. This means that by the time you hit Lower Kurast, all items with a rarity of 3 and below have a 100% chance of being added to the list, as long as their level is not too high.


At this point, the function makes sure that if you're playing Classic, that the item is not expansion-only. For this purpose there's an expansion column in weapons.txt. Figured I'd mention it before someone gets ideas. :D


So, after all 305 entries from weapons.txt have been checked, a random roll is done. This random roll is simply the size of the list, so if there were 123 items added to the list, it'll be a random(123). As expected, the result simply points to the number on the list, so if the RNG returns 10, then whatever item was added 10th, that is the one that's picked.


Then, one last check is done, according to a bitfield, which is another column in weapons.txt. I suppose you could refer to this as "material", since it's used for more things, like Iron Golem. I think it's fair to say that anything "non-metal" is not allowed to drop.

So when the game checks this bitfield value of the item, and its material is non-metal, then the entire process starts over from the beginning. So it will create a new list from scratch, and finally does a random roll based on that new list. It will repeat this process until the random number generator finally picks a metal item.


The following items are considered non-metal, and when "picked" will cause the function to start over from the beginning:
Code:
Rancid Gas Potion
Oil Potion
Choking Gas Potion
Exploding Potion
Strangling Gas Potion
Fulminating Potion

Club
Spiked Club
Crystal Sword

Short Bow
Hunter's Bow
Long Bow
Composite Bow
Short Battle Bow
Long Battle Bow
Short War Bow
Long War Bow

Light Crossbow
Crossbow
Heavy Crossbow
Repeating Crossbow

Cudgel
Barbed Club
Dimensional Blade

Edge Bow
Razor Bow
Cedar Bow
Double Bow
Short Siege Bow
Long Siege Bow
Rune Bow
Gothic Bow

Arbalest
Siege Crossbow
Balista
Chu-Ko-Nu

Truncheon
Tyrant Club
Phase Blade

Spider Bow
Blade Bow
Shadow Bow
Great Bow
Diamond Bow
Crusader Bow
Ward Bow
Hydra Bow

Pellet Bow
Gorgon Crossbow
Colossus Crossbow
Demon Crossbow

Stag Bow
Reflex Bow
Ashwood Bow
Ceremonial Bow
Matriarchal Bow
Grand Matron Bow

Wand
Yew Wand
Bone Wand
Grim Wand

Short Staff
Long Staff
Gnarled Staff
Battle Staff
War Staff

Burnt Wand
Petrified Wand
Tomb Wand
Grave Wand

Jo Staff
Quarterstaff
Cedar Staff
Gothic Staff
Rune Staff

Polished Wand
Ghost Wand
Lich Wand
Unearthed Wand

Walking Stick
Stalagmite
Elder Staff
Shillelah
Archon Staff

Eagle Orb
Sacred Globe
Smoked Sphere
Clasped Orb
Dragon Stone

Glowing Orb
Crystalline Globe
Cloudy Sphere
Sparkling Ball
Swirling Crystal

Heavenly Stone
Eldritch Orb
Demon Heart
Vortex Orb
Dimensional Shard

Which leaves us to these items as contenders. I've included their rarity and level for completion's sake:
Code:
Hand Axe              1        3
Axe                   1        7
Double Axe            1       13
Military Pick         2       19
War Axe               2       25
Large Axe             1        6
Broad Axe             1       12
Battle Axe            1       17
Great Axe             2       23
Giant Axe             4       27
Scepter               1        3
Grand Scepter         3       15
War Scepter           4       21
Mace                  1        8
Morning Star          1       13
Flail                 1       19
War Hammer            4       25
Maul                  1       21
Great Maul            1       32
Short Sword           1        1
Scimitar              1        5
Saber                 1        8
Falchion              2       11
Broad Sword           1       15
Long Sword            1       20
War Sword             1       27
Two-Handed Sword      1       10
Claymore              2       17
Giant Sword           2       21
Bastard Sword         1       24
Flamberge             3       27
Great Sword           4       33
Dagger                1        3
Dirk                  1        9
Kriss                 3       17
Blade                 3       23
Throwing Knife        1        2
Throwing Axe          1        7
Balanced Knife        1       13
Balanced Axe          2       16
Javelin               1        1
Pilum                 1       10
Short Spear           1       15
Glaive                1       23
Throwing Spear        1       29
Spear                 1        5
Trident               1        9
Brandistock           1       16
Spetum                1       20
Pike                  1       24
Bardiche              1        5
Voulge                1       11
Scythe                4       15
Poleaxe               1       21
Halberd               3       29
War Scythe            3       34
Hatchet               1       31
Cleaver               1       34
Twin Axe              1       39
Crowbill              2       43
Naga                  2       48
Military Axe          1       34
Bearded Axe           1       38
Tabar                 1       42
Gothic Axe            2       46
Ancient Axe           4       51
Rune Scepter          1       31
Holy Water Sprinkler  3       40
Divine Scepter        4       45
Flanged Mace          1       35
Jagged Star           1       39
Knout                 1       43
Battle Hammer         4       48
War Club              1       45
Martel de Fer         1       53
Gladius               1       30
Cutlass               1       43
Shamshir              1       35
Tulwar                2       37
Battle Sword          1       40
Rune Sword            1       44
Ancient Sword         1       49
Espadon               1       37
Dacian Falx           2       42
Tusk Sword            2       45
Gothic Sword          1       48
Zweihander            3       49
Executioner Sword     4       54
Poignard              1       31
Rondel                1       36
Cinquedeas            3       42
Stilleto              3       46
Battle Dart           1       31
Francisca             1       34
War Dart              1       39
Hurlbat               2       41
War Javelin           1       30
Great Pilum           1       37
Simbilan              1       40
Spiculum              1       46
Harpoon               1       51
War Spear             1       33
Fuscina               1       36
War Fork              1       41
Yari                  1       44
Lance                 1       47
Lochaber Axe          1       33
Bill                  1       37
Battle Scythe         4       40
Partizan              1       35
Bec-de-Corbin         3       51
Grim Scythe           3       55
Katar                 2        1
Wrist Blade           2        9
Hatchet Hands         3       12
Cestus                3       15
Claws                 4       18
Blade Talons          4       21
Scissors Katar        5       24
Quhab                 2       26
Wrist Spike           2       32
Fascia                3       34
Hand Scythe           3       36
Greater Claws         4       39
Greater Talons        4       41
Scissors Quhab        5       43
Suwayyah              2       54
Wrist Sword           2       59
War Fist              3       61
Battle Cestus         3       62
Feral Claws           4       64
Runic Talons          4       66
Scissors Suwayyah     5       67
Tomahawk              1       58
Small Crescent        1       61
Ettin Axe             1       64
War Spike             2       67
Berserker Axe         2       71
Feral Axe             1       61
Silver Edged Axe      1       64
Decapitator           1       67
Champion Axe          2       70
Glorious Axe          4       73
Mighty Scepter        1       58
Seraph Rod            3       65
Caduceus              4       69
Reinforced Mace       1       61
Devil Star            1       64
Scourge               1       67
Legendary Mallet      4       71
Ogre Maul             1       69
Thunder Maul          1       75
Falcata               1       58
Ataghan               1       67
Elegant Blade         1       61
Hydra Edge            2       63
Conquest Sword        1       65
Cryptic Sword         1       68
Mythical Sword        1       72
Legend Sword          1       63
Highland Blade        2       67
Balrog Blade          2       69
Champion Sword        1       71
Colossal Sword        3       72
Colossus Blade        4       76
Bone Knife            1       58
Mithral Point         1       62
Fanged Knife          3       67
Legend Spike          3       70
Flying Knife          1       58
Flying Axe            1       61
Winged Knife          1       64
Winged Axe            2       66
Hyperion Javelin      1       58
Stygian Pilum         1       63
Balrog Spear          1       65
Ghost Glaive          1       70
Winged Harpoon        1       73
Hyperion Spear        1       60
Stygian Pike          1       62
Mancatcher            1       66
Ghost Spear           1       68
War Pike              1       70
Ogre Axe              1       60
Colossus Voulge       1       63
Thresher              4       65
Cryptic Axe           1       61
Great Poleaxe         3       73
Giant Thresher        3       76
Maiden Spear          3       18
Maiden Pike           3       24
Maiden Javelin        3       24
Ceremonial Spear      3       39
Ceremonial Pike       3       43
Ceremonial Javelin    3       43
Matriarchal Spear     3       64
Matriarchal Pike      3       67
MatriarchalJavelin    3       67


Well, that should be the entire thing already. As far as I could tell, there doesn't seem to be a flaw in the function that would allow an illegal item to drop, which is probably why we haven't seen them yet in 1.07. (Right?)

And I realize not all of this is news, but I figured it should be posted somewhere for proper comparison to 1.14. :)



Edit: And just my luck to spawn a top-tier LK layout when I'm testing stuff on Normal...

pqZJPeJ.png
 
Last edited:
Oh I can assure you this is only one of many examples where they waste resources by looping stuff like this. It hurts to go through the code at times. :P In this case they could've even cheaply simplified it so that it just checks the next item on the list, and move down until one is finally valid. I assume that 1.14 is not this bad, but 1.00 - 1.07 has a ton of code like this. Cases like where it calculates all the damage and does all these random rolls and such, and only then it checks if the attack even hits at all, and if it doesn't hit, all those calculations for nothing. It's depressing. :P
 
Oh I can assure you this is only one of many examples where they waste resources by looping stuff like this. It hurts to go through the code at times. :p In this case they could've even cheaply simplified it so that it just checks the next item on the list, and move down until one is finally valid. I assume that 1.14 is not this bad, but 1.00 - 1.07 has a ton of code like this. Cases like where it calculates all the damage and does all these random rolls and such, and only then it checks if the attack even hits at all, and if it doesn't hit, all those calculations for nothing. It's depressing. :p
Hey Fruit, do you have to reverse compile it or is there source code somewhere?
 
Back
Top