Custom boss brain unconditionally kills all monsters on death.

Various random adjustments.
This commit is contained in:
Mari the Deer 2021-01-13 12:10:14 +01:00
commit 18c47e67eb
7 changed files with 99 additions and 37 deletions

View file

@ -2,5 +2,3 @@ STARTUPCOLORS = "FF FF FF", "80 40 FF"
STARTUPTITLE = "Some Weird Weapons Mod: GZDoom Edition"
STARTUPTYPE = "Hexen"
STARTUPSONG = "music/H2I4D2E.XM"
LOADLIGHTS = 1
LOADBRIGHTMAPS = 1

View file

@ -1,2 +1,2 @@
[default]
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r745 \cu(Tue 12 Jan 18:28:12 CET 2021)";
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r746 \cu(Wed 13 Jan 12:10:14 CET 2021)";

View file

@ -14,7 +14,7 @@ GameInfo
"$QUITMSG12", "$QUITMSG13", "$QUITMSG14", "$QUITMSG15",
"$QUITMSG16", "$QUITMSG17", "$QUITMSG18", "$QUITMSG19"
ChatSound = "misc/chat"
//DefaultConversationMenuClass = "SWWMConversationMenu"
DefaultConversationMenuClass = "SWWMConversationMenu"
NoMergePickupMsg = true
CursorPic = "graphics/swwmcurs.png"
DimColor = "Black"
@ -40,42 +40,53 @@ GameInfo
// weapons
"DeepImpact",
"PusherWeapon",
"ItamexHammer",
"ExplodiumGun",
"DualExplodiumGun",
"PlasmaBlast",
"DualPlasmaBlast",
"Spreadgun",
"PuntzerBeta",
"Wallbuster",
"PuntzerGamma",
"Eviscerator",
"HeavyMahSheenGun",
"Hellblazer",
"Quadravol",
"Sparkster",
"BlackfireIgniter",
"SilverBullet",
"EMPCarbine",
"CandyGun",
"RayKhom",
"Ynykron",
"GrandLance",
// gestures and items with gesture states
"SWWMGesture",
"SWWMRedCard",
"SWWMBlueCard",
"SWWMYellowCard",
"SWWMSilverCardKDiZD",
"SWWMGreenCardKDiZD",
"SWWMOrangeCardKDiZD",
"SWWMGreenCard",
"SWWMRedSkull",
"SWWMBlueSkull",
"SWWMYellowSkull",
"SWWMKeyGreen",
"SWWMKeyBlue",
"SWWMKeyYellow",
"SWWMKeyRed",
"MothPlushy",
"AkariProject",
"LoveSignalsCD",
"NutatcoBar",
"FrispyCorn",
"DemoPlush",
"SayaBean",
"KirinCummies",
"MilkBreads",
"KirinManga",
"KirinPlush"
"SWWMRedCardGesture",
"SWWMBlueCardGesture",
"SWWMYellowCardGesture",
"SWWMSilverCardGesture",
"SWWMGreenCardGesture",
"SWWMOrangeCardGesture",
"SWWMRedSkullGesture",
"SWWMBlueSkullGesture",
"SWWMYellowSkullGesture",
"SWWMGreenKeyGesture",
"SWWMBlueKeyGesture",
"SWWMYellowKeyGesture",
"SWWMRedKeyGesture",
"MothPlushyGesture",
"AkariProjectGesture",
"LoveSignalsCDGesture",
"NutatcoBarGesture",
"FrispyCornGesture",
"DemoPlushGesture",
"SayaBeanGesture",
"KirinCummiesGesture",
"MilkBreadsGesture",
"KirinMangaGesture",
"KirinPlushGesture"
}
ClearSkills
@ -121,7 +132,7 @@ Skill lunatic
MustConfirm = "$SWWM_SKLUNATICCONFIRM"
}
Map TITLEMAP "SWWM GZ - Title Map"
Map TITLEMAP "SWWM GZ Title Map"
{
Music = ""
EventHandlers = "SWWMTitleStuff"

View file

@ -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
{
}

View file

@ -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
{

View file

@ -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
{

View file

@ -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;