- Fixed an error in the event handler stack that was causing removed stack items to remain on the stack when the DOM element is not destroyed.
Added destruction of non-supported troops to the CaptureTerritory game event, along with associated log entries.
Fixed a lot of explicit calls to the popup class.
Fixed a technical bug in the Datetime log entry attribute.
Fixed a bug in the Titles class which was preventing the Titles scripts being loaded.
Fixed a bug in the right checking method.
Fixed a bug in the InGameFunction icon generation which was causing ID duplication in the DOM.
Fixed event stacking references across the site.
Fixed a bug in the GetUnsupportedTroops method.
- Removed a bunch of defunct popup files.
- Rewrote the popup code so that it is now a jQuery custom widget.
Simplified the Alert and Ajax popup code.
Consolidated the KeypressEscapeKey Handlers into two forms, simplifying the management of escape keypresses.
Removed the elimination of residual sentient troops from the AttackTerritory wrap-up, as this will now be handled by the CaptureTerritory event.
Rewrote the Script Caching class so that it locates script paths a bit better.
Reworked the InGameFunction scripts to hook into the new popup widget.
- Added a shop so that users can purchase premium membership.
Added an option in the create game page that allows premium and VIP members to turn off scaling in games, which is also off by default.
Added on-hover descriptions to the InGameFunction icons.
Changed the recruitment popup so that it is 75-90% height and 25-45% width, which fixes an issue where games with many teams made it hard to choose an empire.
Added customisation to sidebar link CSS classification.
Altered the right checking method so that it can be calculated by UserID.
Added transaction logging against the InsertUserRole method, so that user roles can be associated with premium membership purchases.
Added several missing on-hover cursors to the create game page.
- Added a few supporting CSS classes for the shop.
Added functionality to cancel expired speed games.
Added a User function to check if a user is VIP or premium.
Added a game status Cancelled to support speed games in the future.
Created Rights, Roles and Security Clearance models to support premium membership.