Wormbo's Enhanced Items
Scripting Guide

Enhanced Status Icon - Introduction

Boss icon with chest armor
Boss icon with shield and jump boots
Male status icon Female status icon Boss status icon The Enhanced Status Icon replaces UT's player status icon. It can correctly draw the status icons for the male, the female and the boss model.UT's icon has some difficulties drawing the boss model, e.g. the lower part of the chest armor is only drawn when the player has the Thigh Pads, but then even when the player does not have the chest armor. The enhanced status icon can also display whether the player is invisible by making the icon more transparent. This can be helpful when playing with hidden weapons. The shield belt icon is drawn darker when the shield belt is not at full charge.
The enhanced status icon can display five different types of items. These can either be drawn in the HUD's color to indicate armor items or in inverted color to indicate special items like jump boots or the Chaos UT gravity belt.

Chest armor Thigh armor Boots Belt Gloves
Every PickupPlus can be displayed as any combination of these options. Non-PickupPlus items need to be subclasses of certain items to be displayed. Subclasses of UnrealShare.Armor (assault vest) and Botpack.Armor2 (body armor) are displayed as chest armor. Botpack.Thighpads and its subclasses are shown as thigh armor. Subclasses of UnrealShare.JumpBoots, Botpack.UT_JumpBoots and UTChaosMap.c_JumpBoots (Chaos UT SUPER Jump Boots) are displayed as special boots. ChaosUT.GravBelt and its subclasses are displayed as special belt. Any subclass of UnrealShare.Suits like the Kevlar Suit and the Asbestos Suit are displayed as all five armor types. If any subclasses of Botpack.UT_Invisibility or UnrealI.Invisibility are found in the player's inventory the the player will be considered invisible. UnrealShare.ShieldBelt and Botpack.UT_Shieldbelt and their subclasses result the shield icon to be drawn. When the player has a damage factor greater than 2.0 the icon will be drawn pink. Items are still drawn in the HUD's color.

The Enhanced Player Icon is drawn by the EIChallengeHUD mutator in the EIChallengeHUD.u package. Some textures used for drawing special shields are contained in the EITextures.utx package, but the Enhanced Player Icon will work without this file.

Custom HUD Icon

The Enhanced Status Icon supports custom add-ons for special HUD classes. This is done via the CustomHUDIcon class. It is a subclass of EIChallengeHUD (the mutator used to draw the Enhanced Status Icon which is a subclass of EnhancedMutator) and offers the following functions:

CheckCustomHUDConfig (EIChallengeHUD MyOwner) [simulated]
Checks the configuration of the custom HUD icon. By default the configuration of the Enhanced Status Icon is used.
bool AllowDrawCustomStatus (EIChallengeHUD MyOwner) [simulated]
Returns whether the icon should be drawn. By default it returns the value of MyOwner.AllowDrawStatus.
DrawCustomStatus (Canvas Canvas, EIChallengeHUD MyOwner) [simulated]
Draws the player status icon. By default MyOwner.DrawStatus(Canvas) is called.
Make the new custom icon available write an INT file for your package. Put the following line in the [Public] section of that file:

Object=(Name=MyPackage.MyCustomIconClass, Class=Class, MetaClass=EIChallengeHUD.CustomHUDIcon, Description="HUDPackage.HUDClass")

MyPackage.MyCustomIconClass
This is the custom HUD icon class.
HUDPackage.HUDClass
The HUD class the custom icon is used for. The custom icon will be used for any subclass of this class. The Enhanced Player Icon looks for the custom HUD icon whose HUD class is exactly the class currently used or the closest superclass.