Generate valid d2s file using simple parameters.
After run, application will ask to provide following parameters for the character:
- name
- from 2 to 15 characters
- only letters with maximum one hyphen ("-") or underscore ("_")
- need to start and end with a letter
- class
- number or class name from following:
- 1 - Amazon
- 2 - Sorceress
- 3 - Necromancer
- 4 - Paladin
- 5 - Barbarian
- 6 - Druid
- 7 - Assassin
- number or class name from following:
- mode
- SC for softcore, HC for hardcore
- level
- value from 1 to 99, note completed difficulty constraints below
- completed difficulty
- name of difficulty that character completed: NORMAL, NIGHTMARE or HELL, or NONE if character should be created at the start of the game
- there is minimal level constraint to finish each difficulty (due to "Rite of Passage" quest requirements)
- Normal - level 20
- Nightmare - level 40
- Hell - level 60
- stashed gold
- value of gold from 0 to 2500000 (2.5 million)
- gold would be placed in character stash
Based on that parameters application generates d2s file that follows game rules regarding character statistics, skill points etc. Stats and skill points would be available in game for manual distribution. All completed difficulties (selected one and all below that) would have completed all quests and discovered all waypoints. All quests rewards would be included in character statistics, that is:
- + 4 skill points for each completed difficulty ("Den of Evil", "Radament's Lair" and "The Fallen Angel" quests rewards)
- + 5 stats points for each completed difficulty ("Lam Esen's Tome" quest reward)
- + 20 life for each completed difficulty ("The Golden Bird" quest reward)
- + 10% to all resistances for each completed difficulty ("Prison of Ice" quest reward)
Application creates file named {character_name}.d2s
in working directory. If such file already exists, execution will fail with an error, leaving existing file untouched.
References
During development, I used following resources that describes d2s file format:
Test cases for characters at level 1 was prepared using Diablo II LoD v.1.14d. Other test cases was prepared using Hero Editor v1.04 together with values calculated with maxroll.gg D2 planner.
Run from sources
You need to install Rust first. Then execute command cargo run
in application root directory to run application.