- Reduce number of collectibles (some might come back in the future).
- Merge both DLC weaponsets into one, removing redundant weapons.
- Readjust prices of some items.
- Initial work on collectibles (currently Frispy Corn is done).
- Added bigfont for main menu, based on Source Han Sans.
- Reduced default HUD margin to 10.
- Added blob shadows.
- Added precise crosshair drawing.
- Tweaked decals, imported more stuff from UT.
- Swapped the Ynykron impact decal for something better.
- Fixes to slope alignment code.
- Implemented headpats for MBF Helper Dogs and Cacodemons.
- Implemented partial HDoom support, with love and headpats.
- Fix various string functions breaking on unicode.
- Added cracktro-style text scroll to Titlemap.
- Fixed handling of healthbars for friendly monsters.
- Workaround for maps that use the old author name hack (" - by: " separator).
- Fixed Silver Bullet not autoswitching on first pickup.
- Fixed misalignment of Silver Bullet zoomed aim.
- Silver Bullet is unchambered on first pickup, consistent with Candygun.
- Adjusted collision sizes of all items across the board.
- Implemented "Use To Pickup" to work around any issues introduced by the previous change.
- Swapped CHANF_LOOPING for CHANF_LOOP in many cases, this was a typo.
- Tweaked Biospark arc lengths, for balance and higher performance.
- Fix misaligned fire offsets of some weapons (most noticeable on Wallbuster).
- Prettified the loading disclaimers for BD and HDoom.
- Add pickup flash to all items.
- Add custom key models for Doom and Heretic.
- Fix blown kisses giving you "need key" messages.
- Fix worn armor and embiggeners not being removed on scripted inventory resets.
- Remove all references to the no longer planned Radio.
- Workaround for gzdoom devbuild quirk where MenuSound changed its argument type.
- Added timezone to fake clock.
- Fix some times and dates in said clock.
- SWWM blood now also hits ceilings.
- Added default properties to DLC ammo and weapon stubs.
- Lore entries for collectibles and dlc weapons (incomplete).
- Massive amount of typo fixes across the board.
152 lines
3.2 KiB
Text
152 lines
3.2 KiB
Text
// All the armor items go here
|
|
Class ArmorNugget : SWWMArmor
|
|
{
|
|
Default
|
|
{
|
|
Inventory.Icon "graphics/HUD/Icons/I_ArmorNugget.png";
|
|
Inventory.Amount 5;
|
|
Inventory.MaxAmount 200;
|
|
Inventory.InterHubAmount 200;
|
|
SWWMArmor.ArmorPriority 10;
|
|
SWWMArmor.GiverArmor "ArmorNuggetItem";
|
|
}
|
|
|
|
override int HandleDamage( int damage, Name damageType, int flags )
|
|
{
|
|
double factor = amount*.01;
|
|
return int(ceil(damage*factor));
|
|
}
|
|
}
|
|
Class ArmorNuggetItem : SWWMSpareArmor
|
|
{
|
|
override Inventory CreateCopy( Actor other )
|
|
{
|
|
// additional lore
|
|
SWWMLoreLibrary.Add(other.player,"Nugget");
|
|
return Super.CreateCopy(other);
|
|
}
|
|
Default
|
|
{
|
|
Tag "$T_NUGGETA";
|
|
Stamina 300;
|
|
Inventory.Icon "graphics/HUD/Icons/I_ArmorNugget.png";
|
|
Inventory.PickupMessage "$T_NUGGETA";
|
|
Inventory.MaxAmount 20;
|
|
Inventory.InterHubAmount 20;
|
|
Inventory.UseSound "misc/armor_pkup";
|
|
SWWMSpareArmor.GiveArmor "ArmorNugget";
|
|
+INVENTORY.ALWAYSPICKUP;
|
|
+COUNTITEM;
|
|
Radius 6;
|
|
Height 20;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
XZW1 # -1 NoDelay
|
|
{
|
|
frame = Random[Nugget](0,7);
|
|
}
|
|
Stop;
|
|
Dummy:
|
|
XZW1 ABCDEFGH -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class BlastSuit : SWWMArmor
|
|
{
|
|
Default
|
|
{
|
|
Inventory.Icon "graphics/HUD/Icons/I_BlastSuit.png";
|
|
Inventory.Amount 150;
|
|
Inventory.MaxAmount 150;
|
|
Inventory.InterHubAmount 150;
|
|
SWWMArmor.ArmorPriority 2;
|
|
SWWMArmor.DrainMessage "$D_BLASTSUIT";
|
|
SWWMArmor.GiverArmor "BlastSuitItem";
|
|
}
|
|
|
|
override int HandleDamage( int damage, Name damageType, int flags )
|
|
{
|
|
double factor = .3;
|
|
if ( flags&DMG_EXPLOSION ) factor = 1.-(1.-factor)*.5;
|
|
return int(ceil(damage*factor));
|
|
}
|
|
}
|
|
Class BlastSuitItem : SWWMSpareArmor
|
|
{
|
|
override Inventory CreateCopy( Actor other )
|
|
{
|
|
// additional lore
|
|
SWWMLoreLibrary.Add(other.player,"BlastSuit");
|
|
return Super.CreateCopy(other);
|
|
}
|
|
Default
|
|
{
|
|
Tag "$T_BLASTSUIT";
|
|
Stamina 40000;
|
|
Inventory.Icon "graphics/HUD/Icons/I_BlastSuit.png";
|
|
Inventory.PickupMessage "$T_BLASTSUIT";
|
|
Inventory.UseSound "armor/blastsuit";
|
|
SWWMSpareArmor.GiveArmor "BlastSuit";
|
|
Radius 12;
|
|
Height 30;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
XZW1 A -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
Class WarArmor : SWWMArmor
|
|
{
|
|
Default
|
|
{
|
|
Inventory.Icon "graphics/HUD/Icons/I_WarArmor.png";
|
|
Inventory.Amount 250;
|
|
Inventory.MaxAmount 250;
|
|
Inventory.InterHubAmount 250;
|
|
SWWMArmor.ArmorPriority 6;
|
|
SWWMArmor.DrainMessage "$D_WARARMOR";
|
|
SWWMArmor.GiverArmor "WarArmorItem";
|
|
}
|
|
|
|
override int HandleDamage( int damage, Name damageType, int flags )
|
|
{
|
|
double factor;
|
|
// should be enough "elemental" damage types I guess
|
|
if ( (damageType == 'Fire') || (damageType == 'Ice') || (damageType == 'Slime') || (damageType == 'Electric') || (damageType == 'Wind') || (damageType == 'Water') ) factor = .8;
|
|
else factor = .5;
|
|
if ( flags&DMG_EXPLOSION ) factor = 1.-(1.-factor)*.7;
|
|
return int(ceil(damage*factor));
|
|
}
|
|
}
|
|
Class WarArmorItem : SWWMSpareArmor
|
|
{
|
|
override Inventory CreateCopy( Actor other )
|
|
{
|
|
// additional lore
|
|
SWWMLoreLibrary.Add(other.player,"WarArmor");
|
|
return Super.CreateCopy(other);
|
|
}
|
|
Default
|
|
{
|
|
Tag "$T_WARARMOR";
|
|
Stamina 100000;
|
|
Inventory.Icon "graphics/HUD/Icons/I_WarArmor.png";
|
|
Inventory.PickupMessage "$T_WARARMOR";
|
|
Inventory.UseSound "armor/wararmor";
|
|
SWWMSpareArmor.GiveArmor "WarArmor";
|
|
Radius 16;
|
|
Height 32;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
XZW1 A -1;
|
|
Stop;
|
|
}
|
|
}
|