public static void GetElementalDamages( BaseWeapon weapon, bool randomizeOrder ) { int fire, phys, cold, nrgy, pois; weapon.GetDamageTypes( null, out phys, out fire, out cold, out pois, out nrgy ); int totalDamage = phys; AosElementAttribute[] attrs = new AosElementAttribute[] { AosElementAttribute.Cold, AosElementAttribute.Energy, AosElementAttribute.Fire, AosElementAttribute.Poison }; if( randomizeOrder ) { for( int i = 0; i < attrs.Length; i++ ) { int rand = Utility.Random( attrs.Length ); AosElementAttribute temp = attrs[i]; attrs[i] = attrs[rand]; attrs[rand] = temp; } } /* totalDamage = AssignElementalDamage( weapon, AosElementAttribute.Cold, totalDamage ); totalDamage = AssignElementalDamage( weapon, AosElementAttribute.Energy, totalDamage ); totalDamage = AssignElementalDamage( weapon, AosElementAttribute.Fire, totalDamage ); totalDamage = AssignElementalDamage( weapon, AosElementAttribute.Poison, totalDamage ); weapon.AosElementDamages[AosElementAttribute.Physical] = 100 - totalDamage; * */ for( int i = 0; i < attrs.Length; i++ ) totalDamage = AssignElementalDamage( weapon, attrs[i], totalDamage ); //Order is Cold, Energy, Fire, Poison -> Physical left //Cannot be looped, AoselementAttribute is 'out of order' weapon.Hue = weapon.GetElementalDamageHue(); }
public static void AssignElementalDamage( BaseWeapon weapon, ElementAttribute attr ) { int fire, phys, cold, nrgy, pois; weapon.GetDamageTypes( null, out phys, out fire, out cold, out pois, out nrgy ); AssignElementalDamage( weapon, attr, phys ); weapon.Hue = weapon.GetElementalDamageHue(); }