GithubHelp home page GithubHelp logo

waltercouto / d2ce Goto Github PK

View Code? Open in Web Editor NEW
50.0 5.0 6.0 98.51 MB

Diablo II Character Editor

License: GNU General Public License v3.0

C++ 99.70% C 0.30%
diablo-ii diablo-ii-resurrected diablo2 diablo2lod diablo2resurrected d2s

d2ce's Introduction

Diablo II Character Editor

Copyright (c) 2000-2003 By Burton Tsang
Copyright (c) 2021-2023 By Walter Couto

Diablo is a trademark or registered trademark of Blizzard Entertainment, Inc., in the U.S. and/or other countries.
This utility is in no way affiliated with Blizzard Entertainment.


How To Use

  1. Run the D2Editor.exe file
  2. Open a Diablo II character file (press CTRL-O or click on File, Open) which is located in the "save" directory of where you installed Diablo II: Resurrected.
  3. Make changes (type in a value if editing level, gold, experience, etc. or use the mouse if changing title, class, or state)
  4. Save changes (press CTRL-S or click on File, Save)
  5. Play Diablo II.

alt text

Notes

You can do the following:

  • Modify basic stats (Class, Name, Experience, Strength, Level, Gold in belt, etc.)
  • Modify Skills
  • Modify Quests
  • Modify Waypoints
  • Upgrade Gems to perfect state
  • Upgrade Potions to their highest level
  • Upgrade Potions to Full Rejuvenation
  • Upgrade Durability of all weapons and armor to the max value
  • Upgrade Quantity of all stackable items to the max value
  • Convert a particular type and quality of Gem, Potion or Skull to another type or quality of Gem, Potion or Skull
  • Modify number of Sockets or what is socketed
  • Create, Import and Export of items

Known Issues

  • Tested with Diablo II: Resurrected v1.5.73090 (PTR 2.6) and Diablo II Classic v1.14d (It has unit tests confirming it supports all versions of the d2s file format, but the files used in testing, other than v1.14d and D2R files, have not been tested in a real game)
  • Starting with Diablo II Classic V1.13c the maximum gold in your stash no longer depends on your character's level, and is now a flat cap of 2,500,000 instead. The editor will now use this value when editing Resurrected files or Classic files marked as v1.10 or higher when determining the limit for your gold in your stash.
  • For changes to take effect, you must not have Diablo II running and you should close the character file before playing Diablo II.
  • To open a d2s from a D2R Mod, the D2R Mod must be properly installed on the system and you must open the file from it's mod location i.e. \Saved Games\Diablo II Resurrected\mods\btdiablo.
  • A json export file that contains the D2R Mod name can be opened from any location and will work properly if the D2R Mod is properly installed on the system.
  • An item that has an unknown image, will display with a default image.

Distribution

Please read the LICENSE file for more information regarding the license.

If you have comments, suggestions, bug report, report them at https://github.com/WalterCouto/D2CE/issues

If you want to Contribute, please read the Contribution guidelines for this project

Check the following site for updates at https://github.com/WalterCouto/D2CE

Useful Links

Revision History

Version 2.22 (April 11, 2023)

  • Added: Add logic to read supported slots for Mercenary and update UI to display all supported slots.

Version 2.21 (April 4, 2023)

  • Updated: Fix error message from bad character file
  • Updated: Support added PTR 2.6
  • Updated: Layout of Items Form to take into account possible sizes of inventories in D2R mods.
  • Updated: Json export now adds the D2R mod name if applicable.

  • Added: Support to read D2R standard mod character files, for example BTDiablo and Rebirth.

Version 2.20 (January 5, 2023)

  • Updated: Item tooltip to display red for unmet requirements and blue for magically enhanced attributes
  • Updated: Character progression logic to adjust character level to at least match the recommended level.
  • Updated: Updated logic for level change to reduce outstanding Stat/Skill points when level is reduced.
  • Updated: If file is corrupt on open and a backup exists, ask if user would like to replace the file with the backup.
  • Updated: Some character files may incorrectly mark Act IV complete and Act V introduced causing program to incorrectly mark all of the last quest of Act IV as completed. The program now corrects the data by checking if the town waypoint is active.

  • Added: Set Items now display all the possible Bonus attribues in the tooltip
  • Added: Add Create Item Form to allow creation of any item available in the game.
  • Added: Add ability to make items Ethereal or not in item forms.

Version 2.19 (October 3, 2022)

  • Updated: fix up bugs for unique items that incorrectly showed up in some cases, like the new 2.5 Charms

Version 2.18 (October 2, 2022)

  • Updated: allow poison and cold max attribute to be specified on it's own
  • Updated: Fix up tooltip display when min and max damage are both present

Version 2.17 (September 30, 2022)

  • Updated: fix up reading of character files for PTR 2.5
  • Updated: fix issue with renaming character missing one file
  • Updated: fix up some edge cases for adding runeword to item
  • Updated: fix logic to make sure unique items report the highest required level
  • Updated: "Max Everything" now will make all applicable items have superior quality and upgrade the item tier to the highest possible tier

  • Added: add support for making an item Superior
  • Added: add support for upgrading item tier to be exceptional or elite depending on character level

Version 2.16 (June 5, 2022)

  • Updated: fix up mercenary for PTR 2.4 changes to Barbarian
  • Updated: reorganized item context menu
  • Updated: fixed "reload" issue with mercenary data that would not read the items.
  • Updated: modified json export to contain more information to allow it to recreate a d2s file more accurately.

  • Added: add support for dragging and dropping items.
  • Added: add d2i item files and support for import/export of items. The application supports the standard d2i files that exists today but if the item being exported is a D2R PTR 2.4 ear or personalized item that contains utf-8 characters outside the ASCII range, it will export the d2i file as a D2R v1.2.x item which is not the same as the format of existing d2i files.
  • Added: add ability to socket and unsocket items
  • Added: add ability to convert character file to a different version via the "Change Version" menu item.
  • Added: add ability to apply runewords to item via the "Apply Runeword" context menu item.

Version 2.15 (April 26, 2022)

  • Updated: Reorganize resources and add txt file to allow for future localization and customizations.
  • Updated: Create GPS Dialog now chooses a beltable item by default when launched from the belt inventory.
  • Updated: Fixed some bugs related to item tooltip strings
  • Updated: Fixed bugs retrieving skill names for magical attributes for non-character specific skills
  • Updated: Fixed D2R items with realm GUID. D2R now stores 128 bits instead of the 96 bits for realm GUID
  • Updated: Properly calculate the displayed requirements for items. (level, dexterity and Strength)
  • Updated: Fixed player name reading for PTR2.4 and allow use of UTF-8 characters in player name

Version 2.14 (Mar 11, 2022)

  • Updated: Updated jewel alternate images.
  • Updated: Updated item context menus across forms showing items.
  • Updated: Fixed hiring of new mercenary to properly save items.

  • Added: Shared Stash support. Users can now view and edit items in the shared stash if the file is present in the same location as their character.

Version 2.13 (Feb 28, 2022)

  • Updated: Fix detection of ID for set items.
  • Updated: Fix up logic for reading/writing 1.00 - 1.06 files
  • Updated: Add alternate ring/amulet images
  • Updated: Fix issue with upgrading unsupported potion
  • Updated: Fix dexterity "+" button to work properly
  • Updated: Display items in sockets in all locations.

  • Added: Ability to personalize items or remove the personalization from items.
  • Added: Ability to make weapons or armor indestructible.
  • Added: Gems, Potions & Skulls Creator dialog and menu items. This allows you to add Gems, Potions, Skulls or Runes to empty slots in our inventory.

Version 2.12 (Feb 14, 2022)

  • Updated: Fix detection of change in Character Form.
  • Updated: Fix logic for handling character title/progression
  • Updated: Fix logic handling skill choices left that could cause duplication of skill points

  • Added: Ability to add sockets to all items or in the Item form. Number of sockets that can be added it limited by the type of item and the item level.

Version 2.11 (Feb 6, 2022)

  • Updated: Fix bug in Gem convertor in Resurrected when new huffman code is of a different size then the original, the result caused game to crash on startup.

Version 2.10 (Jan 18, 2022)

  • Updated: Fix bug with validation of Act V on Hell difficulty if game has been complete
  • Updated: Fix bug with identifying Zakarum and Vortex shields
  • Updated: Fix bug with combining multiple instances of a single magical attribute
  • Updated: Fix bug with determining if an item is indestructible when the max durability is zero.
  • Updated: Fix logic to keep reading magical properties even if a non-supported time based property exists.

  • Added: Helper methods for character progression changes along with unit tests.

🌟 Star History

Star History Chart

d2ce's People

Contributors

waltercouto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

d2ce's Issues

Cannot add items on 2.6 (1.3.70409)

Adding any item to the inventory using the editor on a 2.6 (1.3.70409) character appears to corrupt the save file. Attempting to enter an offline game results in "Failed to join game" message. This was replicated on two fresh offline characters. Waypoints and quest progress can be added without issue. I know this was updated for 2.6 PTR at least, but something seems to have changed since then. Is there any plan to update for 1.3.70409-PROD?

OS: Windows 10

Application closing

Describe the bug
When I open the file, the application closes
Генацвале.zip
.

To Reproduce
Steps to reproduce the behavior:

  1. Go to menu "file - open" and select the file I attached

OS: windows 10 x64.

BTDiablo

Can you please add support for BT Diablo?

Uncap lvl 20 on skill tree when editing

Is your feature request related to a problem? Please describe.
when a type a number higher than lvl20 in the editor it rewrites it for the 20 cap.

Describe the solution you'd like
Make the cap to 40.

Describe alternatives you've considered
It should be easy to change the formula in the skill tree unfourtunately I couldnt find it in your files, lost 4hours already reviewing the files

Additional context
This editor allows to set a lvl 40 on skill tree or even more and i have no issues when playing D2R.

https://d2s.dschu012.dev/#

Meus chars continuam dando mensagem de item corrompido!

Olá.

Todos os meus chars "Single Player" continuam dando mensagem "invalid item in inventory". Os itens são "legítimos", mas com atributos hackeados.

Qual a finalidade de fazer um editor que não permite abrir caracteres com itens que tem stats hackeadas!? Nem precisa editor se for pra utilizar itens normais do jogo!

Em anexo abaixo um dos saves versão 2.5 que dá problema ao abrir.

D2CEBug

Konan.zip

Decimal Values Round Incorrectly

Describe the bug
I've tested a few save editor tools and all of them (including this one) have this issue: they all round values differently than the game itself.
I happen to have a Superior Kite Shield I found in an NPC shop, which has +15% Enhanced Defense. I added the runes KalOrtTal to it, which brings it to a total of +65 Enhanced Defense. That shield has a defense value of 31.

When editing or creating that same item on a save editor, it ends up with 29 defense points, even though the base defense value is the same: 18.

The way the game seems to make the calculation is by, first, adding the 50% bonus and rounding up. So, 18 + 50%, resulting in 27. After that, it adds the 15% of 27, coming to 31.05.

It doesn't do 15% of 18 (2.7) first, then 50% of 21 (10.5). That would be result in 31.5, which would round up to 32.

It doesn't do 65%, like the tools, either, as the result of that is 29.7 and the tools round it down to 29.

Actually, just creating the base item, within the editor, comes up 1 point short: instead of 21 defense, it rounds the 20.7 result down to 20 points.

Another thing I've noticed is that the game mostly rounds up. For example, a Superior Studded Leather with 15% Enhanced Defense gets 41 defense, instead of 40, as 15% bonus on 35 is 40.25.

My guess, based on these 2 items, is that the game will round up, as long as the tenths place is higher than .0. As in 31.05 will round down to 31, but 31.1 would round up to 32.

Screenshots
The legitimate shield:
Screenshot001

The edited shield:
Screenshot002

Superior Studded Leather getting rounded up:
Screenshot003

D2CE new item (it should have 21 defense):
D2CE

Desktop (please complete the following information):

  • Game: Diablo II Resurrected

[1.14d] Unsocketing items is awesome! /s

It seems unsocketing items upgrades the base item both in quality and attributes to some interesting values.

To Reproduce

  1. Open a Diablo 2 LoD 1.14d character in the editor (I suppose, attached zip with one that leads to the bug).
  2. Go to the items view and unsocket an item.
  3. Profit, see before your eyes how the item changes.

Expected behavior

Whatever is in the socket(s), put in the inventory (if there is space? warning otherwise), the item remains the same, but with empty sockets.

Video

Video_2023-06-29_104805.mp4

System:

  • OS: Windows, 10 Pro 22H2 up to date.
  • Game: Diablo 2 Lord of Destruction, installed from Blizzard's 1.14b installers.
  • Version: 1.14d (patch installed afterwards).

Lynn.zip

"linux" nowhere in repository?

Is your feature request related to a problem? Please describe.
I'm always frustrated when I see a cool GUI Windows program and there are no comments as to how well the program runs in Linux.

Describe the solution you'd like
I want the 'linux.txt' in the repository describing how successful people have been running the most latest D2CE release as D2Editor.exe tested, e.g.:
D2Editor.exe release 2.1.9 October 3rd, 2022 runs flawlessly on Debian 11.5 with XFCE4 Desktop Environment using wine version 5.0.3 with my D2 LoD 1.14d save files with over 20 minutes of testing.

Describe alternatives you've considered
The alternative is to download the .exe, and try it but I hate trying new software if I can't guarantee it doesn't work for somebody else flawlessly for at least 10 minutes straight without crashing or weird GUI glitches.

Additional context
Linux basically means Ubuntu 22.04, and therefore what I prefer, which is Xubuntu 22.04
https://xubuntu.org/

Changing character name also resets the map

Hello, I am playing diablo 2 resurrected on pc and I love the editor so far, thanks. I did encounter a bug, everytime I change the name of a character it also resets the map so I have to reveal the map again, the weird thing is that it is still the same map as before, but I have to reveal all again. I am on windows 10 pro and I am using the latest version of diablo 2 resurrected and the latest verison of the editor (Version 2.16.).

Also I do have a question, if I change the character name it creates two files with the old character name. One of the files is a BAK file with the old character name that has a long number behind it and the second file is a ctl file with the old character name. I did delete both files and nothing bad happened, but I am not sure if this is a good idea, can I delete these 2 files?

Thanks for your work, I appreciate it.

Savegame Versions -> Converter

Como o formato do savegame na versão 2.4 aparentemente foi ligeiramente alterado em relação à versão 2.3, gostaria de solicitar uma opção de menu, ou uma configuração do programa que permita gravar o savegame no formato antigo da versão 2.3 ou no formato novo da versão 2.4.

Enfim, se for possível adicionar a versão do savegame no editor seria ótimo!

Atributos dos Set Itens mostrados no Editor

Olá.

Apenas uma sugestão ...

Quando mostrando os atributos de um SET item, o editor bem que poderia mostrar também os atributos adicionais da parte do SET em questão. Tipos alguns itens de alguns sets tem algum atributo individual adicional. Na foto abaixo, um exemplo do War Scepter "Milabrega Rod", hackeado obviamente :)

Sugestion

Obrigado.

Patch 2.5 Compatibility Issue

Corrupt Diablo II character file detected. Invalid item inventory, when trying to open character file.

No such issue before patch 2.5.

After removing equipped amulet to shared stash, character file can be opened normally. Some set items, small charms may also cause this issue.

When trying to convert potions (any) in jewels, it doesn't work! My game version is 1.06

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.