Tuesday, January 20, 2009

Java: CharSi Update #16

Quite a lot of information has been gathered up to this point, from the equipment used to the mods the skills provide. However much of this information isn't displayed accurately, or at all, in the Stats panel. Now that is no longer the case. Every mod is now summed and displayed as accurately as I can in the Stats panel, from IAS provided by Fanaticism to the Attack Rating bonus from the Blessed Aim aura. Along with that the Skills panel now displays the elemental damage done while taking into account any bonuses provided by the equipment to increase this type of damage. This means if the virtual character is wearing Trang's gloves, then the poison damage done by the character's skills are increased accordingly.

However that is not all that was accomplished with this update. Quite a few minor points and details were addressed as well, including:
  • Add per level mods to Stats panel displayed values
  • Add elemental damage from equipment to Stats panel displayed values
  • Add skill bonuses to Stats panel displayed values
  • Correct poison damage calculation
  • Add ability to select active aura in Stats panel and add bonuses accordingly
  • Add ability to select attack type in Stats panel and add bonuses accordingly
  • Add hidden bonuses from Fade, Blessed Aim and Resist element auras
  • Set resistance values in Stats panel to no longer display a value higher than what is possible
  • Correct Enchant damage to take into account ranged weapons
  • Add display field for off weapon Increased Attack Speed

I think I caught all of the bugs I could find, but more testing will be needed to ensure that is the case. Now with these updates a character can be fully equipped with Set/Unique/White items, assigned skill points and see them accurately displayed in the Stats panel.


Most of the GUI changes were made in the damage sub-panel. Specifically I removed the assassin kick and paladin smite damage fields and instead Incorporated them into the primary weapon display field. I needed the space as I then had to include a few more JComboBoxes for prebuff skills as well as possible aura selections. Each of these JComboBoxes will be populated with options as those skills are assigned points in the Skills panel.

I believe I have the damage calculation correct. There are exceptions for several of the skills, such as Vengeance, Enchant, Smite, assassin kick skills, Berserk and so forth. As a result that particular method is quite confusing and unless someone points a bug out to me I'll have a devil of a time correcting any problems.

However to avoid some possible problems I did decide that only the physical attacks will be displayed in the Stats panel. If an elemental attack such as Firewall needs to be seen then the user can simply go to the Skills panel an view the values there. It would be a duplication of effort to have them displayed in the Skills panel, besides which would also require quite a few more exceptions as many sources of damage wouldn't be counted then. The only exception to this is Blessed Hammer. Seeing as Hammerdins are a very popular build and Blessed Hammer is given a bonus by Concentration the only way to display the values correctly was in the Stats panel, even though this is a caster skill.

Overall I think it is coming along quite nicely. I'm sure a minor bug or two will pop up and need fixing, although I think I caught most of them already. The GUI itself should be set, so this leaves me with only needing to take into account Set item bonuses to be done with the current panels.

No comments: