mofr / Diablerie

Diablo 2 reimplementation on unity
MIT License
962 stars 217 forks source link

Use item description groups (ItemStat.dgrp) #110

Open mofr opened 4 years ago

mofr commented 4 years ago

Grouped description : If the property has a value in dgrp that indicate a group it is in, there is 2 groups : 1) all attributes (STR / ENE / DEX / VIT) 2) all resistances (fire / cold / light / poison)

If the property has a group, it is required to load all other stats from that group and check if the property has them. The property res-all has the 4 stats of group 2. If it’s the case, it has to check if all the stats on the property will have the same value. For res-all, the block do not give a value per property, so all properties have the same value. If it’s the case, each property description string is not used and instead it is the group description that is use (the same group description is defined on all the property of the group), and it has to be used only once not 4 times.

That will replace :

+10% to Fire Resistance
+10% to Cold Resistance
+10% to Light Resistance
+10% to Poison Resistance

By

+10% to All Resistances

That check has be done before the loop for each block, here is some code implementation of it in PHP that should explained it better:

image

image

cc @giviz