- Upstreamed GetClipAmount() from Doomreal, for inter-compatibility. - Fix missing unique pickup messages for clips and single flak shell. - Implement ice death support. - Fix frictionless corpses sliding around. - Add support for a Red Heretic key, should work with any custom maps that use it. - Added anti-bd feature, thanks to Skerion for letting me use this hilarious video. - Fixed missing drown sound for Female skins. - Added missing Redeemer altfire sound. - Fix damage scaling of Biorifle alt. - Flak Cannon altfire has been adjusted so it fires faster and reloads slower, like in UT. - Voodoo dolls can now produce liquid splashes. - Pain and death sounds will always be overriden by drowning when underwater, like in UT. - Add player portraits to each class for the settings menu.
278 lines
4.1 KiB
Text
278 lines
4.1 KiB
Text
// Heretic keys
|
|
Class UTHereticYellowKey : KeyYellow
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_YELLOWKEY";
|
|
Species "KeyYellow";
|
|
Inventory.PickupMessage "$I_YELLOWKEY";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
UKEY B -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class UTHereticGreenKey : KeyGreen
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_GREENKEY";
|
|
Species "KeyGreen";
|
|
Inventory.PickupMessage "$I_GREENKEY";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
UKEY D -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class UTHereticBlueKey : KeyBlue
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_BLUEKEY";
|
|
Species "KeyBlue";
|
|
Inventory.PickupMessage "$I_BLUEKEY";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
UKEY C -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// for heretic mods that add it
|
|
Class UTHereticRedKey : HereticKey
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_REDKEY";
|
|
Species "KeyRed";
|
|
Inventory.PickupMessage "$I_REDKEY";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
UKEY A -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Base class for items that can be activated from the inventory bar
|
|
Class UTActivatable : Inventory
|
|
{
|
|
Class<Inventory> GiveItem;
|
|
|
|
Property GiveItem: GiveItem;
|
|
|
|
override bool Use( bool pickup )
|
|
{
|
|
if ( !Owner ) return true;
|
|
let i = GetDefaultByType(GiveItem);
|
|
if ( Owner.GiveInventory(GiveItem,i.Amount) )
|
|
{
|
|
Owner.A_PlaySound(i.PickupSound,CHAN_ITEM);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
Default
|
|
{
|
|
+INVENTORY.INVBAR;
|
|
Inventory.DefMaxAmount;
|
|
Inventory.PickupSound "misc/p_pkup";
|
|
Inventory.UseSound "";
|
|
}
|
|
}
|
|
|
|
Class ActUDamage : UTActivatable
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_UDAMAGE";
|
|
Inventory.Icon "ItemUdmg";
|
|
Inventory.PickupMessage "$I_UDAMAGE";
|
|
+COUNTITEM;
|
|
+INVENTORY.BIGPOWERUP;
|
|
UTActivatable.GiveItem "UDamage";
|
|
Inventory.RespawnTics 4200;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
UDAM A -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class ActUTInvulnerability : UTActivatable
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_UTINVUL";
|
|
Inventory.Icon "ItemInvl";
|
|
Inventory.PickupMessage "$I_UTINVUL";
|
|
+COUNTITEM;
|
|
+INVENTORY.BIGPOWERUP;
|
|
UTActivatable.GiveItem "UTInvulnerability";
|
|
Inventory.RespawnTics 4200;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
UKEY A -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class ActUTInvisibility : UTActivatable
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_INVISIBILITY";
|
|
Inventory.Icon "ItemInvs";
|
|
Inventory.PickupMessage "$I_INVISIBILITY";
|
|
+COUNTITEM;
|
|
+INVENTORY.BIGPOWERUP;
|
|
UTActivatable.GiveItem "UTInvisibility";
|
|
Inventory.RespawnTics 4200;
|
|
}
|
|
override void PostBeginPlay()
|
|
{
|
|
Super.PostBeginPlay();
|
|
tracer = Spawn("UTInvisibilityX",pos);
|
|
tracer.angle = angle;
|
|
tracer.target = self;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
INVS A -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class ActUTNightVision : UTActivatable
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_UTVISION";
|
|
Inventory.Icon "ItemLite";
|
|
Inventory.PickupMessage "$I_UTVISION";
|
|
+COUNTITEM;
|
|
+INVENTORY.BIGPOWERUP;
|
|
UTActivatable.GiveItem "UTNightVision";
|
|
Inventory.RespawnTics 4200;
|
|
}
|
|
override void PostBeginPlay()
|
|
{
|
|
Super.PostBeginPlay();
|
|
tracer = Spawn("UTNightVisionX",pos);
|
|
tracer.angle = angle;
|
|
tracer.target = self;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
UKEY A -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class ActJumpBoots : UTActivatable
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_JUMPBOOTS";
|
|
Inventory.Icon "ItemBoot";
|
|
Inventory.PickupMessage "$I_JUMPBOOTS";
|
|
UTActivatable.GiveItem "UTJumpBoots";
|
|
Inventory.RespawnTics 1050;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
JBUT A -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// These have to be subclassed from HealthPickup for auto-use
|
|
Class UTActivatableHealth : HealthPickup
|
|
{
|
|
Default
|
|
{
|
|
+INVENTORY.INVBAR;
|
|
Inventory.DefMaxAmount;
|
|
Inventory.PickupSound "misc/p_pkup";
|
|
Inventory.UseSound "misc/ut_heal";
|
|
HealthPickup.Autouse 1;
|
|
}
|
|
}
|
|
|
|
Class ActHealthPack : UTActivatableHealth
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_SUPERHEALTH";
|
|
Inventory.Icon "ItemHbox";
|
|
Inventory.PickupMessage "$I_SUPERHEALTH";
|
|
+COUNTITEM;
|
|
Health 100;
|
|
Inventory.UseSound "misc/ut_keg";
|
|
Inventory.RespawnTics 3500;
|
|
HealthPickup.Autouse 2;
|
|
}
|
|
override bool Use( bool pickup )
|
|
{
|
|
return Owner.GiveBody(health,200);
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
HBOX A -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class ActHealthBox : UTActivatableHealth
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_HEALTHBOX";
|
|
Inventory.Icon "ItemHbxb";
|
|
Inventory.PickupMessage "$I_HEALTHBOX";
|
|
Health 50;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
HBOX B -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class ActMedBox : UTActivatableHealth
|
|
{
|
|
Default
|
|
{
|
|
Tag "$T_MEDBOX";
|
|
Inventory.Icon "ItemMbox";
|
|
Inventory.PickupMessage "$I_MEDBOX";
|
|
Health 20;
|
|
Inventory.RespawnTics 700;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
HBOX C -1;
|
|
Stop;
|
|
}
|
|
}
|