Wow looks like I got a lot of stuff in here.

Added brightmaps and gldefs entries for most stuff.
Imported a bunch of sprites, including some recycled stuff from old mods.
Made new icons for the 0.83 status bar.
Remade "Teleport Gun" model.
Made new models for some ammo variants.
Made skeleton code for a lot of stuff, this temporarily makes a lot of items disappear.
Began working on ASMD. Flak Cannon has no projectiles yet.
This commit is contained in:
Marisa the Magician 2019-08-15 02:38:46 +02:00
commit 76cd3a5207
465 changed files with 1330 additions and 58 deletions

View file

@ -57,7 +57,7 @@ Class UnrealBackpack : BackpackItem replaces Backpack
}
return Inventory.CreateCopy(other);
}
override bool HandlePickup (Inventory item)
override bool HandlePickup( Inventory item )
{
// Since you already have a backpack, that means you already have every
// kind of ammo in your inventory, so we don't need to look at the
@ -83,6 +83,41 @@ Class UnrealBackpack : BackpackItem replaces Backpack
}
return false;
}
override void DoPickupSpecial( Actor toucher )
{
Super.DoPickupSpecial(toucher);
if ( gameinfo.gametype&GAME_DOOMCHEX )
{
static const Class<Inventory> xitems[] = {"Flare", "Seeds", "SentryItem", "VoiceBox", "ForceField", "Dampener"};
int xitemn[6];
xitemn[0] = max(0,Random[BackpackExtra](-3,5));
xitemn[1] = max(0,Random[BackpackExtra](-3,5));
xitemn[2] = max(0,Random[BackpackExtra](-4,1));
xitemn[3] = max(0,Random[BackpackExtra](-2,1));
xitemn[4] = max(0,Random[BackpackExtra](-3,1));
xitemn[5] = max(0,Random[BackpackExtra](-2,1));
// random doubling
if ( !Random[BackpackExtra](0,4) ) xitemn[0] *= 2;
if ( !Random[BackpackExtra](0,4) ) xitemn[1] *= 2;
if ( !Random[BackpackExtra](0,9) ) xitemn[2] *= 2;
if ( !Random[BackpackExtra](0,7) ) xitemn[3] *= 2;
if ( !Random[BackpackExtra](0,6) ) xitemn[4] *= 2;
if ( !Random[BackpackExtra](0,5) ) xitemn[5] *= 2;
int total = 0;
for ( int i=0; i<6; i++ ) total += xitemn[i];
if ( total <= 0 ) return;
String extratxt = StringTable.Localize("$I_BACKPACKEXTRA");
for ( int i=0; i<6; i++ )
{
if ( xitemn[i] <= 0 ) continue;
extratxt = extratxt..String.Format("%dx %s, ",xitemn[i],GetDefaultByType(xitems[i]).GetTag());
toucher.GiveInventory(xitems[i],xitemn[i]);
}
// remove trailing comma
extratxt.Truncate(extratxt.Length()-2);
PrintPickupMessage(true,extratxt..".");
}
}
Default
{
Tag "$T_BACKPACK";
@ -149,3 +184,53 @@ Class UTranslator : UnrealInventory
Inventory.MaxAmount 1;
}
}
Class VoiceBox : UnrealInventory
{
}
Class Flare : UnrealInventory
{
}
Class LightFlare : UnrealInventory
{
}
Class DarkFlare : UnrealInventory
{
}
Class Dampener : UnrealInventory
{
static bool Active( Actor Owner )
{
let d = Dampener(Owner.FindInventory("Dampener"));
if ( d && d.bActive ) return true;
return false;
}
}
Class Forcefield : UnrealInventory
{
}
Class ForcefieldEffect : Actor
{
}
Class UFlashlight : UnrealInventory
{
}
Class USearchlight : UnrealInventory
{
}
Class SentryItem : UnrealInventory
{
}
Class MinigunSentry : Actor
{
}