Badge time.png   The Paragon Wiki Archive documents the state of City of Heroes/Villains as it existed on December 1, 2012.

User:Fleeting Whisper/Tease

From Paragon Wiki Archive
Jump to: navigation, search

Screenshots on this page are taken in either Fedora 9 Linux, or Windows 7. Although Fedora 9 is no longer a supported release of the operating system, there have been no major changes in Fedora 10 or 11 which would affect this program.

"This program", of course, is the cross-platform compatible Mids' Hero Designer that I am working on. The intent is to make one program which runs on any operating system capable of handling the City of Heroes client either officially or unofficially. Thus, Windows, Mac OS, and Linux are the targeted platforms.

Below are a set of teasers/screenshots for the program, sorted by version number. Each section also includes the date the version was completed. The most recent version number listed here does not necessarily reflect the current development version.

Version 0.0.38

Date: November 4, 2009

No Image Available

  • Backend modifications to help support user modifications

Detailed Information

One of my goals with this project is to improve the player's ability to modify the database without fear of conflicts causing corruption either due to an official update, or making issues with previously saved builds. Specifically, any user modifications to the database may always be undone, at the user's option. While there is currently no interface support for this, v0.0.38 has correct support in the database's structure.

  • If you modify existing values in the database, you can remove your modifications at no harm to the original values.
  • If you modify existing values in the database and download an official update, you can remove your modifications at no harm to the new values.
  • If you delete values in the database, you can restore them, before or after an update.
  • If you create new values in the database, they will not conflict with existing or new values in the database, and they can be removed at will.

Currently, while there is "undo" support, there is no "redo" support. At this point, I believe some kind of database-supported user redo would be infeasible. However, creating backups of the user files is well within reach.

You can think of this setup like so: the official database values are immutable; they cannot be modified by any means except a new update. However, you (the user) may create your own version of the values, which the program will read instead of the official values, if your user values exist.

Version 0.0.37

Date: September 13, 2009

No Image Available

  • Added support to Power Pools
  • Fixed some layout issues
  • Fixed some APP/PPP issues
  • Sped up loading times by approximately 10x compared to 0.0.31

Version 0.0.31

Date: August 20, 2009

No Image Available

Due to an alteration in how data is loaded, changing ATs now takes a noticeably long time. To compensate, a loading indicator has been added.

Version 0.0.25

Date: August 4, 2009

No Image Available

The first tab of the power information window is essentially complete. The damage graph at the base of the tab, and the ability to lock/unlock a power in the window is not yet available.

Version 0.0.17

Date: July 23, 2009

Yes, this is exactly what it looks like

Templating

Also included in this version, but not shown above, are the popup windows for Archetype, Origin, Primary and Secondary Power Sets, and individual powers. One innovation in this program over the standard Mids' you're used to is that the popup windows are actually being generated by an HTML file.

All popups use the following file:

<html>
<head>
   <style type="text/css">
   <!-- Full CSS omitted from this page for brevity -->
   </style>
</head>
<body>
{BODY}
</body>
</html>

As you might guess, {BODY} is a variable, used to insert the content of the popup. Not much exists in this file, but you could easily modify the CSS to customize how your popups look to your own design.

Of course, the body of the popup is also served by HTML rendering. The {BODY} variable is substituted with another file. The second file is incomplete, because it is designed to exist between the <body></body> tags.

As an example, and to demonstrate the abilities of this HTML templating system, here is the full file used for the popup of an individual power:

<div class="body">
<h1>{TITLE}</h1>
<p class="powerset">Powerset: {POWERSET}</p>
<p class="available">Available: Level {LEVEL}</p>
<!-- BEGIN switch_placed -->
<p class="placed">Placed: Level {switch_placed.LEVEL}</p>
<!-- END switch_placed -->
<p class="shortdesc">{DESCRIPTION}</p>
<!-- BEGIN switch_enhanced -->
<table>
  <tr>
    <th>Buff/Debuff</th>
    <th>Value</th>
  </tr>
<!-- END switch_enhanced -->
<!-- BEGIN enhancement_buffs -->
  <tr>
    <td>{enhancement_buffs.ASPECT}:</td>
    <td class="none">{enhancement_buffs.VALUE}</td>
  </tr>
<!-- END enhancement_buffs -->
<!-- BEGIN ed_enhancement_buffs -->
  <tr>
    <td>{ed_enhancement_buffs.ASPECT}:</td>
    <td class="{ed_enhancement_buffs.ED_THRESHOLD}">
      {ed_enhancement_buffs.VALUE}
      (Pre-ED: {ed_enhancement_buffs.PRE_ED})
    </td>
  </tr>
<!-- END ed_enhancement_buffs -->
<!-- BEGIN switch_enhanced -->
</table>
<!-- END switch_enhanced -->
</div>

Here we can see portions of the template separated into various blocks. The HTML between a set of <!-- BEGIN ... --><!-- END ... --> comments will only be displayed in the popup if certain conditions are met. Depending on the block, it could be displayed multiple times. The block's purpose can generally be easily identified by the block's name.

Block Name Description
switch_placed If the power has been placed, this block will display the level it has been placed at, in case the power was taken after the level it becomes available. If the power has not been selected, this block will not be displayed.
switch_enhanced If one or more enhancements have been placed into the power, this block will display the header labeling the enhancement percentage table. Additionally, since it appears again later, this same block name will also close the table.
enhancement_buffs This block will display each enhancement aspect and its value which has not yet reached any of the ED thresholds. As implied earlier, this block can be displayed multiple times, for multiple different enhancement aspects.
ed_enhancement_buffs Much like the enhancement_buffs block, this block displays enhancement aspects which have reached some ED threshold, and displays what the value would have been without ED.

Flaws

Selecting a branch of one of the Arachnos primaries will only give you access to the linked secondary; access to the root powerset is lost.