1.0 release. Requires 4.2.3 or higher.
- Migrated screen projection code to libeye. - Some pickups emit light, like in Doomreal. - Backported map revealer item from Doomreal. - Brand new Invulnerability and Night Vision powerups. - Add option to allow Shield Belt and armors simultaneously. - Backported armor bonus model from Doomreal. - Added Dual Enforcers icon for HUD. - Changed player class names to their character names, like in Doomreal. - Terrain splashes. - Translocator doesn't telefrag other players in coop. - Reduced view shake from Impact Hammer. - Various other updates and bug fixes.
This commit is contained in:
parent
0ed1e6aa4f
commit
b79d29f071
91 changed files with 1994 additions and 511 deletions
|
|
@ -1,8 +1,9 @@
|
|||
Class UTArmor : Armor
|
||||
{
|
||||
int absorb;
|
||||
int absorb, priority;
|
||||
|
||||
Property ArmorAbsorption : absorb;
|
||||
Property AbsorptionPriority : priority;
|
||||
|
||||
Default
|
||||
{
|
||||
|
|
@ -11,6 +12,23 @@ Class UTArmor : Armor
|
|||
+INVENTORY.KEEPDEPLETED;
|
||||
+INVENTORY.ALWAYSPICKUP;
|
||||
}
|
||||
override void AttachToOwner( Actor other )
|
||||
{
|
||||
Super.AttachToOwner(other);
|
||||
// find last armor that's better than us
|
||||
Inventory found = null;
|
||||
for ( Inventory i=other.Inv; i; i=i.Inv )
|
||||
{
|
||||
if ( !(i is 'UTArmor') || (i == self) || (UTArmor(i).priority < priority) ) continue;
|
||||
found = i;
|
||||
}
|
||||
if ( !found ) return;
|
||||
// place ourselves right after it
|
||||
Inventory saved = found.Inv;
|
||||
found.Inv = self;
|
||||
other.Inv = Inv;
|
||||
Inv = saved;
|
||||
}
|
||||
override void AbsorbDamage( int damage, Name damageType, out int newdamage )
|
||||
{
|
||||
int saved;
|
||||
|
|
@ -48,6 +66,7 @@ Class UTArmorBonus : UTArmor
|
|||
Inventory.MaxAmount 50;
|
||||
Inventory.InterHubAmount 50;
|
||||
UTArmor.ArmorAbsorption 25;
|
||||
UTArmor.AbsorptionPriority 1;
|
||||
Inventory.PickupMessage "$I_ARMORBONUS";
|
||||
Inventory.PickupSound "misc/ut_shard";
|
||||
}
|
||||
|
|
@ -63,7 +82,7 @@ Class UTThighPads : UTArmor
|
|||
{
|
||||
override bool HandlePickup( Inventory item )
|
||||
{
|
||||
if ( item is 'UTThighPads' )
|
||||
if ( flak_vanillaarmor && (item is 'UTThighPads') )
|
||||
{
|
||||
let s = Owner.FindInventory("UTShieldBelt");
|
||||
if ( s )
|
||||
|
|
@ -87,6 +106,7 @@ Class UTThighPads : UTArmor
|
|||
Inventory.MaxAmount 50;
|
||||
Inventory.InterHubAmount 50;
|
||||
UTArmor.ArmorAbsorption 50;
|
||||
UTArmor.AbsorptionPriority 7;
|
||||
Inventory.PickupMessage "$I_THIGHPADS";
|
||||
Inventory.PickupSound "misc/ut_armor";
|
||||
}
|
||||
|
|
@ -102,7 +122,7 @@ Class UTBodyArmor : UTArmor
|
|||
{
|
||||
override bool HandlePickup( Inventory item )
|
||||
{
|
||||
if ( item is 'UTBodyArmor' )
|
||||
if ( flak_vanillaarmor && (item is 'UTBodyArmor') )
|
||||
{
|
||||
let s = Owner.FindInventory("UTShieldBelt");
|
||||
if ( s )
|
||||
|
|
@ -126,6 +146,7 @@ Class UTBodyArmor : UTArmor
|
|||
Inventory.MaxAmount 100;
|
||||
Inventory.InterHubAmount 100;
|
||||
UTArmor.ArmorAbsorption 75;
|
||||
UTArmor.AbsorptionPriority 7;
|
||||
Inventory.PickupMessage "$I_BODYARMOR";
|
||||
Inventory.PickupSound "misc/ut_armor";
|
||||
}
|
||||
|
|
@ -156,7 +177,7 @@ Class UTShieldBelt : UTArmor
|
|||
}
|
||||
override bool HandlePickup( Inventory item )
|
||||
{
|
||||
if ( (item is 'UTBodyArmor') || (item is 'UTThighPads') )
|
||||
if ( flak_vanillaarmor && ((item is 'UTBodyArmor') || (item is 'UTThighPads')) )
|
||||
{
|
||||
// sum up current amounts
|
||||
let a = Owner.FindInventory("UTBodyArmor");
|
||||
|
|
@ -177,8 +198,11 @@ Class UTShieldBelt : UTArmor
|
|||
override bool Use( bool pickup )
|
||||
{
|
||||
// removes thigh pads and body armor like in UT
|
||||
Owner.TakeInventory("UTThighPads",50);
|
||||
Owner.TakeInventory("UTBodyArmor",150);
|
||||
if ( flak_vanillaarmor )
|
||||
{
|
||||
Owner.TakeInventory("UTThighPads",50);
|
||||
Owner.TakeInventory("UTBodyArmor",150);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
Default
|
||||
|
|
@ -190,6 +214,7 @@ Class UTShieldBelt : UTArmor
|
|||
Inventory.MaxAmount 150;
|
||||
Inventory.InterHubAmount 150;
|
||||
UTArmor.ArmorAbsorption 100;
|
||||
UTArmor.AbsorptionPriority 10;
|
||||
Inventory.PickupMessage "$I_SHIELDBELT";
|
||||
Inventory.PickupSound "belt/pickup";
|
||||
Inventory.RespawnTics 2100;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue