Friday, June 10, 2016

2016 6월 휴가

압구정 황소곱창 - 모듬곱창
미아삼거리 대머리곱창 - 막창
맘스터치 화이트갈릭버거

Tuesday, March 8, 2016

Modding D2: Casting Delay

In Diablo II patch v1.07, Blizzard added casting delays to many skills to "prevent slow down of graphical performance and to avoid abusive use of the skills." I am going to remove these casting delays, since:

  • Modern PCs can handle the graphical load
  • Encourages players to increase maximum mana & mana regen, and invest in energy
  • Moving around creates a DPS loss, hence players need invest more in defensive options
  • Balancing skills is easier

I aim to remove casting delays whenever possible, while keeping the amount of missiles on screen low enough to prevent lag.

Note: 1 second = 25 frames.

Sorceress Skills

Sorceress cast rate is 7-13 frames (4-7 up to action frame) for everything except Lightning/Chain Lightning.

Fire Wall

  • Casting delay: 35 frames (39-42 including action frame) removed
  • Fire duration: 89 frames -> 35 frames (stack up to 3-5)


  • Casting delay: 30 frames (34-37 including action frame) removed
  • Fire duration: 14(+15 per level) frames -> 25 frames
  • 60 frame delay between casting and impact.


  • Casting delay: 40 frames (44-47 including action frame) removed
  • Hydras last 10 seconds (250 frames)
  • There is a maximum of 99 Hydras (33 packs) per character.


  • Casting delay: 45 frames (49-52 including action frame) removed
  • Duration: 100 frames -> 50 frames (stack up to 4-7)
  • Ice shards randomly fall every 4 frames -> 8 frames (25 -> 7 total).

Frozen Orb

Frozen Orb spawns ice bolts every frame, which cannot be modified without changing its visuals.
  • Casting delay: 25 frames (29-32 including action frame)
  • Duration: 30 frames
  • Spawns 1 ice bolt every frame, and 16 ice bolts when exploding, for a total of 46 ice bolts.

Paladin Skills

Paladin cast rate is 9-15 frames.

Fist of the Heavens

  • Casting delay: 25 frames (31-34 including action frame) removed

Amazon Skills

Immolation Arrow

  • Casting delay: 25 frames, use attack rate removed
  • Fire duration: 99 frames -> 25 frames (stack up to 2-4)
  • Note: This skill may need reworking.

Poison Javelin

  • Casting delay: 15 frames, use attack rate removed
  • Note: This skill may need reworking.

Plague Javelin

  • Casting delay: 100 frames, use attack rate removed
  • Note: This skill may need reworking.


This has a casting delay possibly to prevent rerolling randomly generated equipment.

Druid Skills

Druid cast rate is 10-18 frames (6-10 up to action frame).


  • Casting delay: 15 frames (21-25 including action frame) removed
  • Fire duration: 14 frames
  • Spawner missile travels for 40 frames.

Molten Boulder

  • Casting delay: 50 frames (56-60 including action frame) removed
  • Fire duration: 36 frames (stack up to 2-4)


  • Casting delay: 50 frames (56-60 including action frame) removed
  • Duration: 80 frames -> 40 frames (stack up to 3-4)
  • Each crack lasts 84 frames.
  • Cracks randomly appear every 6 frames -> 12 frames (14 -> 4 total).


Similar to Frozen Orb, Volcano cannot have its delay removed without significantly changing its visual effects.
  • Casting delay: 100 frames
  • Duration: 150 frames
  • Launches rocks beginning at 5th frame and every 2 frames afterwards, up to 62 total.


These skills apparently require a casting delay to synchronize the client and the server, hence their delays are not removed.

Assassin Skills

Shock Web

  • Casting delay: 15 frames, use attack rate removed
  • Duration: 90 frames -> 45 frames (stack up to 3-6)

Blade Sentinel

  • Casting delay: 50 frames, use attack rate removed
  • Duration: 100(+12 per level) frames
  • Next delay: 25
  • There is a maximum of 5 traps per character.

Dragon Flight

  • Casting delay: 25 frames, use attack rate removed

Shadow Warrior/Shadow Master

These skills have a casting delay possibly to prevent rerolling randomly generated equipment.

Thursday, March 3, 2016

Modding D2: Monsters

Monster Stats Per Level

Monster attack rating, defense, and life are nerfed in Nightmare and Hell.

Monster attack rating is reduced to make player defense more important, even in smaller doses. This makes strength--necessary for high-defense equipment--more important for all characters.

Monster defense is reduced to match monster attack rating, otherwise Confuse, Attract, Revive, Conversion, and Mind Blast will be useless.

Monster life is nerfed in Nightmare and Hell, so that:
  • Thorns, Iron Maiden, etc. actually kills monsters.
  • Skill damage and synergy does not become massively inflated.
  • Players don't need to farm unique items to solo Hell.

Monster Attack Rating

Individual attack rating of monsters are closer to 100% of the level-dependent values in MonLvl.txt. This allows defense to behave in a more consistent fashion. Specifically, the following formula is applied to coerce attack rating values closer to 100%:

(new attack rating %) = sqrt( 100 × (old attack rating %) )

AI Delay and Wake Up Distances

Monsters attack much faster and notice players from further away.

Monster AI delays (aidel columns in MonStats.txt) in Normal/Nightmare/Hell are reduced to 7/5/3.

Monster wake-up distances (aidist columns in MonStats.txt) in Normal/Nightmare/Hell are increased to 50/60/70. Note: These values are recommended by Brother Laz.

Special Monster Properties

Some monsters have special properties.
This monster cannot be chilled or frozen.
This monster becomes faster when chilled.
Dry Skin
This monster is resistance to leeching (life steal/mana steal reduced by 50%).
This monster cannot be leeched from.
This monster gains Damage Reduction and Magic Damage Reduction relative to its level.

Special Monster Stats

Special monsters are nerfed to make boss packs less of a threat, and to counter the buffs applied to normal monsters. Note: These settings are controlled by MonUMod.txt and DifficultyLevels.txt.


  • Bonus HP(Normal / Nightmare / Hell) : 100% / 75% / 50% → 20% / 15% / 10%
  • Attack rating (Extra Strong minions): +50% → +10%
  • Enhanced Damage (Extra Strong minions): +75% → +15%
  • Elemental bonus damage*: 0% / 33-50% / 33-50%
  • ED/AR modifier per difficulty: 90% / 75% / 66% → 100% / 80% / 60%


  • Bonus HP(Normal / Nightmare / Hell)** : 200% / 150% / 100% → 40% / 30% / 20%
  • Attack rating***: +75% → +15%
  • Enhanced Damage****: +100% → +20%
  • Bonus cold damage (Ghostly): 33-50% / 33-50% / 33-50%
  • ED/AR modifier per difficulty: 90% / 75% / 66% → 100% / 80% / 60%


  • Bonus HP(Normal / Nightmare / Hell) : 300% / 200% / 100% → 60% / 50% / 40%
  • Attack rating (Extra Strong uniques): +100% → +20%
  • Enhanced Damage (Extra Strong uniques): +150% → + 30%
  • Elemental bonus damage*: 66-100% / 66-100% / 66-100%
  • ED/AR modifier per difficulty: 90% / 75% / 66% → 100% / 80% / 60%

* Applies to Cold Enchanted, Lightning Enchanted, Fire Enchanted, Poison Enchanted, Spectral Hit, and Mana Burn unique bosses.
** Berserkers have 1/4 hit points and Possessed have 2x hit points.
*** Berserkers receive 4x attack rating bonus.
**** Berserkers receive 3x enhanced damage bonus.


Friday, February 12, 2016

Modding D2 - Removing Attack/Defense

Edit: I am going to ditch the idea. As Brother Laz points out, "there is nothing inherently wrong with defense rating to make it worth going through all this effort to replace it with a % damage reduction."

Why Remove Attack and Defense?

Attack and defense are poorly balanced in vanilla D2.

From the player's viewpoint, missing attacks is not a positive experience. Also tanking based on defense is unreliable and potentially dangerous. Obsoleting the hit/chance formula removes a complicated aspect of the game.


Both players and monsters have high attack rating and negative defense; armors provide Damage Resistance +% instead of defense. Players' damage resistance is affected by Nightmare/Hell penalties. Ranged attacks never miss.

Removing attack/defense would also obsolete the following properties on items:

  • Bonus Defense
  • - Enemy Defense per Hit
  • Target Defense -%
  • Bonus Attack Rating
  • Ignore Target Defense

The following socket items would have to be given new functions:

Socket ItemEffect on WeaponsEffect on ArmorEffect on Shields
Amethysts+40/60/80/100/150 AR+3/4/6/8/10 to Strength+8/12/18/24/30 Defense
Diamonds+28%/34%/44%/54%/68% Damage vs Undead+20/40/60/80/100 AR+6%/8%/11%/14%/19% to Resist All
El rune+1 Light Radius, +50 AR+1 Light Radius, +15 Defense
Eld rune+75% Damage vs. Undead, +50 Attack Rating vs. Undead
Nef rune+30 Defense vs. Missile
Eth rune-25% Target Defense
Pul rune+75% Damage to Demons, +100 AR against Demons+30% Defense
Gul rune+20% AR
Jah runeIgnores Target Defense

But What Is Armor Good For?

All armor items provide physical resistance(AKA Damage Resistance). To encourage players to wear heavy armor, physical resistance is subject to Nightmare/Hell penalties. Unfortunately I have no idea how to implement this purely with text files. The best method I can think of is to add a hidden passive skill that provides negative physical resistance based on character level.

Players will have much more Life. To prevent blocking from becoming even more dominant, base blocking chance is drastically reduced. Thorns damage would have to be nerfed.

Other Changes

Running has lesser penalties than in vanilla. To compensate for this, increase walk speed and reduce overall stamina so players have to run strategically.

Wednesday, February 10, 2016

Visual C++ 2003 Toolkit

Back in 2011 I needed to make Win32 API programs without installing Visual Studio, and was forced to work with Visual C++ Toolkit 2003, the Platform SDK, and Code::Blocks. Back then, the VC2003 toolkit was still available on many places around the web, but I kept a copy on my Google Drive out of habit.

Fast forward to 2016, VC2003 toolkit is next to impossible to find on the web. I only recently found the forgotten copy of the installer in my drive, and until I have a decent file hosting server, I plan to link it here.

Wednesday, February 3, 2016

Diablo II Modding Resources

Phrozen Keep Guides

Librarian's D2 FAQtoids

The Amazon Basin Wiki

This particular website was unfortunately down for several months, but it looks like the wiki is back up again!

단군폰트 (DgKorFont.mpq)

한글판 디아블로 2의 글씨체를 바꾸는 커스텀 폰트 파일이다. 직접 설치할 수는 없고, 여기서 내려받은 뒤 MPQ Editor로 디아블로 2 설치 폴더에 압축을 풀고 나서 디아블로 2 실행 시 -direct -txt 옵션을 넣어주면 된다.