Custom boss brain unconditionally kills all monsters on death.
Various random adjustments.
This commit is contained in:
parent
e97ded30e8
commit
18c47e67eb
7 changed files with 99 additions and 37 deletions
|
|
@ -13,3 +13,8 @@ Class SWWMConversationMenu : ConversationMenu
|
|||
Class SWWMCompatSigil : Inventory
|
||||
{
|
||||
}
|
||||
|
||||
// TODO base class for all vanilla Strife item replacements that just get swapped out for cash
|
||||
Class SWWMLootable : Inventory
|
||||
{
|
||||
}
|
||||
|
|
|
|||
|
|
@ -301,6 +301,26 @@ Class SWWMBossBrain : BossBrain
|
|||
}
|
||||
}
|
||||
|
||||
// kill every single monster in the map, burn away spawn cubes, remove eyes
|
||||
// just let players have their 100% kills in peace
|
||||
void EverythingDies()
|
||||
{
|
||||
let ti = ThinkerIterator.Create("Actor");
|
||||
Actor a;
|
||||
while ( a = Actor(ti.Next()) )
|
||||
{
|
||||
if ( a is 'BossEye' ) a.SetStateLabel("Null");
|
||||
else if ( a is 'SpawnShot' )
|
||||
{
|
||||
a.Spawn("SpawnFire",a.pos,ALLOW_REPLACE);
|
||||
a.SetStateLabel("Null");
|
||||
}
|
||||
else if ( (a.Health > 0) && (a.bBossSpawned || a.bCOUNTKILL) )
|
||||
a.DamageMobj(self,self,int.max,'EndMii',DMG_FORCED|DMG_THRUSTLESS);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Default
|
||||
{
|
||||
Tag "$FN_BOSSBRAIN";
|
||||
|
|
@ -328,7 +348,11 @@ Class SWWMBossBrain : BossBrain
|
|||
{
|
||||
A_StartSound("brain/death",CHAN_VOICE,attenuation:ATTN_NONE);
|
||||
A_QuakeEx(9,9,9,120,0,65535,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:1.);
|
||||
if ( !eyeless ) SpawnBrainExpl(true);
|
||||
if ( !eyeless )
|
||||
{
|
||||
SpawnBrainExpl(true);
|
||||
EverythingDies();
|
||||
}
|
||||
Spawn("SWWMBossBrainPain",pos);
|
||||
}
|
||||
MBRN A -1 A_BrainDie();
|
||||
|
|
@ -1433,7 +1457,7 @@ Class SWWMShadow : Actor
|
|||
private void Update( bool nointerpolate = false )
|
||||
{
|
||||
// update scale / alpha
|
||||
if ( (target is 'Inventory') && (Inventory(target).Owner || !target.bSPECIAL) || target.bKILLED || target.bINVISIBLE || (target.sprite == target.GetSpriteIndex('TNT1')) )
|
||||
if ( ((target is 'Inventory') && Inventory(target).Owner) || target.bKILLED || target.bINVISIBLE || (target.sprite == target.GetSpriteIndex('TNT1')) || (target.sprite == target.GetSpriteIndex('ACLO') )
|
||||
alpha = 0.;
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -316,6 +316,7 @@ Class MothPlushy : SWWMCollectible
|
|||
{
|
||||
Tag "$T_MOTHPLUSH";
|
||||
Inventory.PickupMessage "$T_MOTHPLUSH";
|
||||
SWWMCollectible.GestureWeapon "MothPlushyGesture";
|
||||
Stamina 4000;
|
||||
}
|
||||
}
|
||||
|
|
@ -325,6 +326,7 @@ Class AkariProject : SWWMCollectible
|
|||
{
|
||||
Tag "$T_AKARIPROJECT";
|
||||
Inventory.PickupMessage "$T_AKARIPROJECT";
|
||||
SWWMCollectible.GestureWeapon "AkariProjectGesture";
|
||||
Stamina 2000;
|
||||
Radius 4;
|
||||
Height 22;
|
||||
|
|
@ -336,6 +338,7 @@ Class LoveSignalsCD : SWWMCollectible
|
|||
{
|
||||
Tag "$T_LOVESIGNALS";
|
||||
Inventory.PickupMessage "$T_LOVESIGNALS";
|
||||
SWWMCollectible.GestureWeapon "LoveSignalsCDGesture";
|
||||
Stamina 3000;
|
||||
Radius 4;
|
||||
Height 21;
|
||||
|
|
@ -347,6 +350,7 @@ Class NutatcoBar : SWWMCollectible
|
|||
{
|
||||
Tag "$T_NUTATCO";
|
||||
Inventory.PickupMessage "$T_NUTATCO";
|
||||
SWWMCollectible.GestureWeapon "NutatcoBarGesture";
|
||||
Stamina 200;
|
||||
Radius 3;
|
||||
Height 22;
|
||||
|
|
@ -358,6 +362,7 @@ Class FrispyCorn : SWWMCollectible
|
|||
{
|
||||
Tag "$T_FRISPYCORN";
|
||||
Inventory.PickupMessage "$T_FRISPYCORN";
|
||||
SWWMCollectible.GestureWeapon "FrispyCornGesture";
|
||||
Stamina 400;
|
||||
Radius 5;
|
||||
Height 23;
|
||||
|
|
@ -371,6 +376,7 @@ Class SayaBean : SWWMCollectible
|
|||
{
|
||||
Tag "$T_SAYABEAN";
|
||||
Inventory.PickupMessage "$T_SAYABEAN";
|
||||
SWWMCollectible.GestureWeapon "SayaBeanGesture";
|
||||
Stamina 5000;
|
||||
Radius 6;
|
||||
Height 23;
|
||||
|
|
@ -384,6 +390,7 @@ Class DemoPlush : SWWMCollectible
|
|||
Tag "$T_DEMOPLUSH";
|
||||
Inventory.PickupMessage "$T_DEMOPLUSH";
|
||||
SWWMCollectible.Availability AVAIL_Heretic;
|
||||
SWWMCollectible.GestureWeapon "DemoPlushGesture";
|
||||
Stamina 6000;
|
||||
Radius 12;
|
||||
Height 36;
|
||||
|
|
@ -397,6 +404,7 @@ Class KirinCummies : SWWMCollectible
|
|||
Tag "$T_PEACH";
|
||||
Inventory.PickupMessage "$T_PEACH";
|
||||
SWWMCollectible.Availability AVAIL_Hexen;
|
||||
SWWMCollectible.GestureWeapon "KirinCummiesGesture";
|
||||
Stamina 300;
|
||||
Radius 3;
|
||||
Height 21;
|
||||
|
|
@ -409,6 +417,7 @@ Class MilkBreads : SWWMCollectible
|
|||
Tag "$T_MILKBREAD";
|
||||
Inventory.PickupMessage "$T_MILKBREAD";
|
||||
SWWMCollectible.Availability AVAIL_Hexen;
|
||||
SWWMCollectible.GestureWeapon "MilkBreadsGesture";
|
||||
Stamina 900;
|
||||
Radius 4;
|
||||
Height 21;
|
||||
|
|
@ -421,6 +430,7 @@ Class KirinManga : SWWMCollectible
|
|||
Tag "$T_KIRINMANGA";
|
||||
Inventory.PickupMessage "$T_KIRINMANGA";
|
||||
SWWMCollectible.Availability AVAIL_Hexen;
|
||||
SWWMCollectible.GestureWeapon "KirinMangaGesture";
|
||||
Stamina 1600;
|
||||
Radius 4;
|
||||
Height 22;
|
||||
|
|
@ -433,12 +443,26 @@ Class KirinPlush : SWWMCollectible
|
|||
Tag "$T_KIRINPLUSH";
|
||||
Inventory.PickupMessage "$T_KIRINPLUSH";
|
||||
SWWMCollectible.Availability AVAIL_Hexen;
|
||||
SWWMCollectible.GestureWeapon "KirinPlushGesture";
|
||||
Stamina 8000;
|
||||
Radius 14;
|
||||
Height 37;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO them gestures
|
||||
Class MothPlushyGesture : SWWMItemGesture {}
|
||||
Class AkariProjectGesture : SWWMItemGesture {}
|
||||
Class LoveSignalsCDGesture : SWWMItemGesture {}
|
||||
Class NutatcoBarGesture : SWWMItemGesture {}
|
||||
Class FrispyCornGesture : SWWMItemGesture {}
|
||||
Class DemoPlushGesture : SWWMItemGesture {}
|
||||
Class SayaBeanGesture : SWWMItemGesture {}
|
||||
Class KirinCummiesGesture : SWWMItemGesture {}
|
||||
Class MilkBreadsGesture : SWWMItemGesture {}
|
||||
Class KirinMangaGesture : SWWMItemGesture {}
|
||||
Class KirinPlushGesture : SWWMItemGesture {}
|
||||
|
||||
// yay!
|
||||
Class FancyConfetti : Actor
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1257,13 +1257,13 @@ Class SWWMUtility
|
|||
if ( i is 'DeepImpact' ) return true;
|
||||
if ( i is 'ExplodiumGun' ) return true;
|
||||
if ( i is 'Wallbuster' ) return true;
|
||||
//if ( i is 'HeavyMahSheenGun' ) return true;
|
||||
//if ( i is 'Quadravol' ) return true;
|
||||
if ( i is 'HeavyMahSheenGun' ) return true;
|
||||
if ( i is 'Quadravol' ) return true;
|
||||
if ( i is 'Sparkster' ) return true;
|
||||
//if ( i is 'EMPCarbine' ) return true;
|
||||
if ( i is 'EMPCarbine' ) return true;
|
||||
if ( i is 'CandyGun' ) return true;
|
||||
//if ( i is 'RayKhom' ) return true;
|
||||
//if ( i is 'GrandLance' ) return true;
|
||||
if ( i is 'RayKhom' ) return true;
|
||||
if ( i is 'GrandLance' ) return true;
|
||||
if ( i is 'HealthNuggetItem' ) return true;
|
||||
if ( i is 'ArmorNuggetItem' ) return true;
|
||||
if ( i is 'WarArmor' ) return true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue