Skip to content

Conversation

@kphoenix137
Copy link
Collaborator

@kphoenix137 kphoenix137 commented Apr 13, 2025

My original PR to add the Lightning Resistance back to Stormshield was made since we had removed the IPL_INVCURS item power, leaving space to add the item power that originally occupied this power slot on Stormshield in the PR-demo

I now believe this was not well thought out on my end, as we can see in this table that many other unique items had their powers changed and power values changed. There is no way to know if they would have kept the Lightning Resistance on Stormshield if they had 7 power slots available, and if they had, we have no way of knowing if they would have settled on the value of +50%. Therefore I think it would be better to remove this change.

@FitzRoyX
Copy link

The name of the shield implies lightning protection. Future versions of this shield also possess lightning resistance. What other 7 power items are you referring to from the original list?

@kphoenix137
Copy link
Collaborator Author

kphoenix137 commented Apr 13, 2025

The name of the shield implies lightning protection. Future versions of this shield also possess lightning resistance. What other 7 power items are you referring to from the original list?

7 powers on unique items would have allowed them to keep lightning resistance, but it's hard to say if they actually would have or not. At the time, They had 6 powers on Stormshield, and then added the new power for adding a custom graphic. They wanted to add the custom graphic to Stormshield, which means they would need to cut one of its powers. This would lead us to believe they cut Lightning Resistance to give it a custom graphic, although that's just speculative.

@StephenCWills
Copy link
Member

Because I do think it's relevant, here is the full list of items from the pre-release demo that have six item powers.

https://gitlab.com/moralbacteria/diablo-prdemo-decomp/-/blob/main/src/itemdat.cpp

{"The Bonesaw"              , UITYPE_CLAYMORE     , 6   , 6  , 1500   , FALSE  , IPL_DAMMOD         , 10   , 10   , IPL_STR             , 10   , 10   , IPL_MAG_CURSE       , 5    , 5    , IPL_DEX_CURSE       , 5    , 5    , IPL_LIFE         , 10   , 10   , IPL_MANA_CURSE  , 10  , 10  , },
{"The Grandfather"          , UITYPE_GREATSWR     , 27  , 6  , 23667  , FALSE  , IPL_GRANDFATHER    , 0    , 0    , IPL_ATTRIBS         , 5    , 5    , IPL_TOHIT           , 20   , 20   , IPL_DAMP            , 100  , 100  , IPL_ALLRES       , 25   , 25   , IPL_X           , 25  , 25  , },
{"The Humongous Edge"       , UITYPE_GREATAXE     , 25  , 6  , 11250  , FALSE  , IPL_DAMP           , 200  , 200  , IPL_DAMMOD          , 15   , 15   , IPL_ATTRIBS         , 5    , 5    , IPL_LIFE_CURSE      , 50   , 50   , IPL_DUR          , 200  , 200  , IPL_FIREDAM     , 2   , 12  , },
{"Baranar's Star"           , UITYPE_MORNSTAR     , 5   , 6  , 5550   , FALSE  , IPL_TOHIT          , 12   , 12   , IPL_DAMP            , 80   , 80   , IPL_SCARE           , 0    , 0    , IPL_VIT             , 4    , 4    , IPL_DEX_CURSE    , 4    , 4    , IPL_SETDUR      , 60  , 60  , },
{"Gnarled Root"             , UITYPE_CLUB         , 9   , 6  , 7000   , FALSE  , IPL_TOHIT          , 20   , 20   , IPL_DAMP            , 300  , 300  , IPL_DEX             , 10   , 10   , IPL_MAG             , 5    , 5    , IPL_ALLRES       , 10   , 10   , IPL_ACP_CURSE   , 10  , 10  , },
{"Schaefer's Hammer"        , UITYPE_WARHAMMER    , 16  , 6  , 14625  , FALSE  , IPL_DAMP_CURSE     , 100  , 100  , IPL_LIGHTDAM        , 1    , 50   , IPL_LIFE            , 50   , 50   , IPL_TOHIT           , 30   , 30   , IPL_LIGHTRES     , 100  , 100  , IPL_LIGHT       , 1   , 1   , },
{"Skull & Chain"            , UITYPE_FLAIL        , 20  , 6  , 14500  , FALSE  , IPL_DAMP_CURSE     , 100  , 100  , IPL_SKULLCHAIN      , 9    , 9    , IPL_ATTRIBS_CURSE   , 5    , 5    , IPL_ALLRES          , 25   , 25   , IPL_LIGHT_CURSE  , 1    , 1    , IPL_INVIS       , 5   , 5   , },
{"Dreamflange"              , UITYPE_MACE         , 26  , 6  , 14600  , FALSE  , IPL_MAG            , 30   , 30   , IPL_MANA            , 50   , 50   , IPL_MAGICRES        , 50   , 50   , IPL_LIGHT           , 2    , 2    , IPL_SPLLVLADD    , 1    , 1    , IPL_SEE_INVIS   , 0   , 0   , },
{"Naj's Puzzler"            , UITYPE_LONGSTAFF    , 18  , 6  , 9100   , FALSE  , IPL_MAG            , 20   , 20   , IPL_DEX             , 10   , 10   , IPL_ALLRES          , 20   , 20   , IPL_INVIS           , 3    , 3    , IPL_SPLCOST      , 25   , 25   , IPL_LIFE_CURSE  , 25  , 25  , },
{"Demonspike Coat"          , UITYPE_FULLPLATE    , 25  , 6  , 23000  , FALSE  , IPL_X              , 50   , 50   , IPL_X               , 6    , 6    , IPL_STR             , 10   , 10   , IPL_X               , 0    , 0    , IPL_SEE_INVIS    , 0    , 0    , IPL_FIRERES     , 50  , 50  , },
{"Stormshield"              , UITYPE_TOWERSHIELD  , 24  , 6  , 14250  , FALSE  , IPL_X              , 25   , 25   , IPL_X               , 4    , 4    , IPL_STR             , 10   , 10   , IPL_X               , 0    , 0    , IPL_SEE_INVIS    , 0    , 0    , IPL_LIGHTRES    , 50  , 50  , },

And here is the same list of items from Devilution, filtered down to the ones with matching names.

{  "The Bonesaw",             UITYPE_CLAYMORE,     6,       6,    4400, IPL_DAMMOD,         10,       10, IPL_STR,             10,       10, IPL_MAG_CURSE,        5,        5, IPL_DEX_CURSE,        5,        5, IPL_LIFE,            10,        10, IPL_MANA_CURSE,       10,        10 },
{  "The Grandfather",         UITYPE_GREATSWR,    27,       6,  119800, IPL_ONEHAND,         0,        0, IPL_ATTRIBS,          5,        5, IPL_TOHIT,           20,       20, IPL_DAMP,            70,       70, IPL_LIFE,            20,        20, IPL_INVCURS,         161,         0 },
{  "Baranar's Star",          UITYPE_MORNSTAR,     5,       6,    6850, IPL_TOHIT,          12,       12, IPL_DAMP,            80,       80, IPL_FASTATTACK,       1,        1, IPL_VIT,              4,        4, IPL_DEX_CURSE,        4,         4, IPL_SETDUR,           60,        60 },
{  "Gnarled Root",            UITYPE_SPIKCLUB,     9,       6,    9820, IPL_TOHIT,          20,       20, IPL_DAMP,           300,      300, IPL_DEX,             10,       10, IPL_MAG,              5,        5, IPL_ALLRES,          10,        10, IPL_AC_CURSE,         10,        10 },
{  "Schaefer's Hammer",       UITYPE_WARHAMMER,   16,       6,   56125, IPL_DAMP_CURSE,    100,      100, IPL_LIGHTDAM,         1,       50, IPL_LIFE,            50,       50, IPL_TOHIT,           30,       30, IPL_LIGHTRES,        80,        80, IPL_LIGHT,             1,         1 },
{  "Dreamflange",             UITYPE_MACE,        26,       5,   26450, IPL_MAG,            30,       30, IPL_MANA,            50,       50, IPL_MAGICRES,        50,       50, IPL_LIGHT,            2,        2, IPL_SPLLVLADD,        1,         1, IPL_TOHIT,             0,         0 },
{  "Naj's Puzzler",           UITYPE_LONGSTAFF,   18,       5,   34000, IPL_MAG,            20,       20, IPL_DEX,             10,       10, IPL_ALLRES,          20,       20, IPL_SPELL,           23,       57, IPL_LIFE_CURSE,      25,        25, IPL_TOHIT,             0,         0 },
{  "Demonspike Coat",         UITYPE_FULLPLATE,   25,       5,  251175, IPL_SETAC,         100,      100, IPL_GETHIT,           6,        6, IPL_STR,             10,       10, IPL_INDESTRUCTIBLE,   0,        0, IPL_FIRERES,         50,        50, IPL_TOHIT,             0,         0 },
{  "Stormshield",             UITYPE_GOTHSHIELD,  24,       6,   49000, IPL_SETAC,          40,       40, IPL_GETHIT_CURSE,     4,        4, IPL_STR,             10,       10, IPL_INDESTRUCTIBLE,   0,        0, IPL_FASTBLOCK,        1,         1, IPL_INVCURS,         148,         0 },

Two of these items received IPL_INVCURS: The Grandfather and Stormshield. Just as KP said, the item powers are quite different overall between the two versions of each of these weapons that it's a bit hard to justify making any specific change, even if it makes sense thematically. Rather, you have to wonder.. if the lightning resist was so important to the identity of Stormshield, why would that be the item power they chose to drop from the item in order to introduce IPL_INVCURS?

@wkdgmr
Copy link
Contributor

wkdgmr commented Apr 13, 2025

I do agree with KP and Staphen it is hard to decipher intent here. We can guess at things and try our best to analyze intent, but at the end of the day the item was shipped without lightning resistance.

With that said, we know all of the INVCURS's were put at the end of the item, so maybe they chopped off the end of things and forgot about them. I think the argument for Lightning resistance on Stormshield is viable enough to have this change. And at the 50% rate which is in line with other uniques like Veil of Steel granting a whopping 50% all res.

Since the project is no longer using INVCURS as the original code did, restoring this seems to be within the spirit of the project, albeit a grey area. I vote keep it in!

@kphoenix137
Copy link
Collaborator Author

kphoenix137 commented Apr 14, 2025

I do agree with KP and Staphen it is hard to decipher intent here. We can guess at things and try our best to analyze intent, but at the end of the day the item was shipped without lightning resistance.

With that said, we know all of the INVCURS's were put at the end of the item, so maybe they chopped off the end of things and forgot about them. I think the argument for Lightning resistance on Stormshield is viable enough to have this change. And at the 50% rate which is in line with other uniques like Veil of Steel granting a whopping 50% all res.

Since the project is no longer using INVCURS as the original code did, restoring this seems to be within the spirit of the project, albeit a grey area. I vote keep it in!

I'd like to highlight that there are 2 problems at play:

  • Was the power truly intended to be on the item if not for the existence of IPL_INVCURS
  • If the power was truly intended to be on the item, was the intended value for retail actually +50%

I feel 2 questions that cannot be answered with any degree of certainty warrant removal. I'm confident with the other changes I did to various items/unique items, but not this one.

@FitzRoyX
Copy link

Grandfather lost its resist all, but that was its 5th power and not its 6th. Stormshield is the only item that had its 6th power replaced by INVCURS.

But yeah there are examples of items losing powers and having powers changed. Shaefer's hammer had its res changed from 100 to 80, and grandfather dmg amp went from 100 to 70. So we do not know if 50 would have stuck.

The vanilla data is a mess and the uniques are poorly designed, so I don't lose sleep over it either way. The most important item power (attack speed) is missing from almost every unique weapon lol.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants