I love the smell of UnrealEd crashing in the morning. – tarquin
Created by: Wormbo
The EnhancedItems package can be used to create mods with interesting features:
- firing speed of weapons can easily be changed by inventory items
- death and suicide messages based on the weapon or projectile that caused the death
- multiple pickups spawning at the same location (similar to the method used by Chaos UT)
- some fixes and new features for the UWindow system like auto-size for combo boxes and the ability of creating complex pulldown menus (these are also available as Open Source scripts)
- an enhanced player icon (EIChallengeHUD package)
- extended INT file definitions (can also be used by non-EnhancedItems mods)
- many more...
Note: Like the UnrealScript Source downloads for UT200x, the EnhancedItems source should only be used as a reference.
Do not recompile the EnhancedItems, EIChallengeHUD or MIConverter packages!
- EnhancedItems packages and source code
- EIClassReference.rar – UnCodeX output of the EnhancedItems and EWindow classes
EnhancedItems is currently used in Rockets UT, Arena Match, BUF Bonus Pack, Quake 3 Tournament, the Enhanced Items Mod, Who Pushed Me? and various smaller mutators.
There will be no EnhancedItems package for Unreal Tournament 200x.
Also see Legacy:EnhancedItems/Class Hierarchy for the full class tree of all EnhancedItems classes.
Actor (UT) subclasses:
Effects (UT) >> Legacy:EnhancedItems/EIEffects >> Legacy:EnhancedItems/PlayerShellEffect
Effects (UT) >> Legacy:EnhancedItems/EIEffects >> Legacy:EnhancedItems/PlayerShellEffect >> Legacy:EnhancedItems/PlayerShell
Effects (UT) >> Legacy:EnhancedItems/EIEffects >> Legacy:EnhancedItems/PlayerShellEffect >> Legacy:EnhancedItems/PlayerSphere
These are used for visual effects. If an effects causes damage it can also use the new death messages.
Info (UT) >> Mutator (UT) >> DMMutator >> Legacy:EnhancedItems/EIDMMutator
Info (UT) >> Mutator (UT) >> Legacy:EnhancedItems/EnhancedMutator
Info (UT) >> Mutator (UT) >> Legacy:EnhancedItems/EnhancedMutator >> Legacy:EnhancedItems/EIDeathMessageMutator
Info (UT) >> Mutator (UT) >> Legacy:EnhancedItems/EnhancedMutator >> Legacy:EnhancedItems/MIConverter
EnhancedMutator subclasses class can easily create and modify MultiPickupPlus actors. They can also replace the DMMutator (UT's BaseMutator for most gametypes) with EIDMMutator, a configurable version of DMMutator. The mutator can then choose, which Unreal weapons and items should be replaced by their UT counterparts.
EIDeathMessageMutator and MIConverter are utility classes that are spawned automatically by EnhancedMutators. The EIDeathMessageMutator handles the extended death message support in EnhancedItems-based mods, while the MIConverter converts Chaos UT MultiItems to MultiPickupPlus actors.
The MultiPickupPlus is a nice tool for coders as well as mappers. If placed on the map it can spawn a random item from a given list. Once that item is picked up the MPP spawns another (probably the same) item from the list.
See MultiPickupBase for a UT2003 version of this actor.
Inventory (UT) >> Pickup (UT) >> Ammo (UT) >> TournamentAmmo >> Legacy:EnhancedItems/EnhancedAmmo
Projectile (UT) >> Legacy:EnhancedItems/EnhancedProjectile
EnhancedProjectiles can display death messages indepentantly from the weapon the player used or currently holds.
EnhancedWeapons allow HUD mutators and PickupPlus items to draw on the Canvas right before or after the RenderOverlays function is executed. This function is called before the HUD mutators' PostRender function.
The firing speed of an EnhancedWeapon can be changed easily from the PickupPlus class.
Inventory (UT) >> Pickup (UT) >> TournamentPickup >> Legacy:EnhancedItems/PickupPlus >> Legacy:EnhancedItems/HoldablePowerup
Inventory (UT) >> Pickup (UT) >> TournamentPickup >> Legacy:EnhancedItems/PickupPlus >> Legacy:EnhancedItems/TimedPowerup
The PickupPlus class and it's subclasses can be used to create complex items that can interact with each other and with EnhancedWeapons. The effects of multiple PickupPlus items can stack, i.e. if two items want to increase the player's speed or want to be the Affector of the player's weapon they don't have to access those values directly. Instead they call special functions (in this case SetOwnerSpeed() or RegisterAsAffector(Weapon)) and the PickupPlus code applies the changes, respecting the changes made by the other item.
Object (UT) >> UWindowBase subclasses:
UWindowWindow >> UWindowDialogClientWindow >> UWindowPageWindow >> UMenuPageWindow >> EWindowPageWindow
UWindowWindow >> UWindowDialogControl >> UWindowCheckbox >> EWindowCheckbox
UWindowWindow >> UWindowDialogControl >> UWindowComboControl >> EWindowComboControl
UWindowWindow >> UWindowDialogControl >> UWindowEditControl >> EWindowEditControl
UWindowWindow >> UWindowDialogControl >> UWindowListControl >> UWindowPulldownMenu >> EWindowPulldownMenu
UWindowWindow >> UWindowDialogControl >> UWindowListControl >>UWindowPulldownMenu >> EWindowPulldownMenu >> EWindowRightClickMenu
UWindowList >> UWindowPulldownMenuItem >> EWindowPulldownMenuItem
Various improvements for the UWindow system. The editbox, combobox and checkbox controls allow automatic resizing. The dialog client window displays help texts of its controls by default. The pull-down/pop-up menus allow any number of submenus.
The CustomHUDIcon class is used by the enhanced player status icon HUD mutator (EIChallengeHUD) to customize the appearance of the status icon in non-standard game types.