Suggestions for upcoming patch

Threads that no longer serve a purpose. Read-only.
User avatar
Dude Love
Grubber
312 | 16
Common Popularity Badge
Has a thread with over 10.000 views
What I imagine would be fairly easy is allowing you to input your own word for customization instead of just your character name. Median XL Offline Tools figured it out, as well as allowing you to personalize everything you own (I giggle every time I play SP with my personalized horadric cube)
PodolskyV
Gravedigger
184 | 6
Food wrote:First of all, I gave you a negative cookie by mistake :(
If somebody could rectify this it would be great.

Second, I was going to say never assume something's gonna be easy or fast in programming, too often modifying a seemingly simple piece of code can change a program behaviour in far-reaching ways.

Also remember that the code is closed, so the only way to modify it is by reverse engineering it, which is always time consuming.

And there will need to be GUI work to enable the user to enter a name of his choice. And input validation.

Also, the feasibility of it depends on the way the data structure for an item is laid out. What if instead of a simple "item_name" string record that gets modified when personalizing it, D2 developers decided that it would be more appropriate to have an "item_name" string record, an "personalized" boolean record and a "personalizer_name" string record, and calculate the full item name based on those three?

In that case to provide the behaviour you propose you would need to work around this. Maybe by having personalization not set the boolean, but that would mean that a personalized item can be personalized again, which may be not desirable.

If it is not desirable the you need to find another way, that will have its own considerations etc.

That's to say, almost everything is doable, but even the most apparently simple changes may bring serious architectural challenges or considerations.


I'm greatly appreciate your deep looking on a problem. That's awesome!
User avatar
Quirinus
Team Member
1510 | 184
Common Posting Badge
Posted over 1.000 messages
Legendary Popularity Badge
Has a thread with over 250.000 views
Great Love Badge
Earned over 100 cookies
Common Supporter Badge
Donated 1 time
Legendary Contribution Badge
Median XL Team Member
Food wrote:First of all, I gave you a negative cookie by mistake :(
If somebody could rectify this it would be great.


gave a positive one.

as for personalization. don't think this will be changed. and even if it gets changed, it'll be so low on the priority list that it's going to be one of the last things - we have much important/impactful things to do first. it's kinda inefficient to do all the work of address/function searching just to play with the item name a bit, and dunno if it could be easily stored.
"but if it's simple it's not that hard" - Quirinus 2017
"small things like this are not a big deal" - Quirinus 2017
User avatar
Dude Love
Grubber
312 | 16
Common Popularity Badge
Has a thread with over 10.000 views
Food wrote:Also, the feasibility of it depends on the way the data structure for an item is laid out. What if instead of a simple "item_name" string record that gets modified when personalizing it, D2 developers decided that it would be more appropriate to have an "item_name" string record, an "personalized" boolean record and a "personalizer_name" string record, and calculate the full item name based on those three?

In that case to provide the behaviour you propose you would need to work around this. Maybe by having personalization not set the boolean, but that would mean that a personalized item can be personalized again, which may be not desirable.


That would make it more accessible for future modding opportunities, no?

Not only could you theoretically add a function that reverses the boolean so you can unpersonalize stuff, but you could have a separate boolean property and following string that could be something like replaced_name to completely rename the item.

So if the replaced_name boolean was YES, and the string was FUCKER-UPPER, then the item no matter what it is would go from something like

Superior Cap [4]

to

Superior FUCKER-UPPER (pretty sure tier is part of the item name, so that would be sacrificed)

With a little gui work and borrowing the code from either Anya or possibly Charsi's imbue script you could theoretically make a new NPC that would edit the base item value. Anya's personalize only works with the formal name for the item (Tzeech, Hellspeak, Queen of Glass, ect) and not the base item, so I'm not sure whose code would be more efficient to modify for this.

Given, I'm talking out of my ass and I've been up for a while, but it might be cool to look at down the road.
Food
Core Lord
360 | 32
Great Popularity Badge
Has a thread with over 50.000 views
Common Love Badge
Earned over 20 cookies
Great Patron Badge
Patreon Contributor
Common Contribution Badge
Has collaborated to our forums, realms or mod
You could have a function that the reverses the (theoretical, since I don't know how the item data structure is laid out) "personalized" boolean, but adding stuff to a data structure is trickier.

Without going into too much detail, the original D2 code is written in a high-level language (I think C++) that is later compiled to machine code.
The high-level language lets you avoid having to manually manage certain low-level detail, such as exact data layout and size.
The generated machine code, though, knows exactly how many bytes a piece of data contains and its layout, and can thus make assumptions on this information.

What this means, in practice, is that you must be very cautious in modifying a data structure because its size and existing layout must stay the same, so I think the only way to add stuff to an existing data structure is by using its so-called padding which could very well be 0 bytes.

Of course, I only have a passing knowledge of such matters so I may be completely wrong on much of what I said, and obviously I'm just theorizing here, this particular thing (item personalization) could also be very easy, my point is that it could also be quite difficult and a lot depends on the situation.

By the way sorry for hijacking the suggestions thread, I'll know stop my OT
User avatar
Dude Love
Grubber
312 | 16
Common Popularity Badge
Has a thread with over 10.000 views
Last post on this I swear

I think a part of what you were describing might be why ubers didn't exist in 'new' areas in XL and beyond and replaced areas instead. Sigma has gotten past that restriction (lots more ubers confirmed and lots of new levels that are like uber entrances and shit) so there's a possibility that adding new data structures and branches might be even easier than I proposed.

Either way, fun stuff is possible!
cronos
Sasquatch
64 | 4
Great Supporter Badge
Donated 5 times
Allow barbs to have caster morph as a uber skill :)
User avatar
archon256
Cog
227 | 10
Legendary Patron Badge
Patreon Contributor
Game needs less morphs, not more :D
But some skill changes to help caster barbs could be nice, like a caster passive in the Summoner tree (which should be a hybrid caster/summoner tree IMO) which gives spell damage synergy on Eagle Stance.

Anyway, speaking of Barb, if it's possible to make minions that can cast skills and follow you in Sigma, I suggest changing Wolf Companions so that they don't cast their Hunter's Mark curse when they attack enemies, but to instead give them a teleport skill (like ghost wolf reanimates on Wolfpack TU Backsword have Blink) which releases a nova that applies Hunter's Mark. This would allow them to apply their curse faster as well as keep up with the barb.
User avatar
Goodkidscc
Core Lord
369 | 0
Maybe add jewels with 1% chance to reanimate (Elite Monster)? Similar to the COTW jewels, but with random elite reanimates.
kikinak
Vampiress
36 | 1
it'd be nice to have an indestructable rune again. It's really expensive to repair my thinking cap