OPMonsters - Customizable monsters (Version 1b)

Maps, modifications, add-ons, projects, and other releases for Zandronum. Also includes announcers.
Post Reply
User avatar
Empyre
Zandrone
Posts: 1316
Joined: Sun Jul 08, 2012 6:41 am
Location: Garland, TX, USA

OPMonsters - Customizable monsters (Version 1b)

#1

Post by Empyre » Wed May 11, 2022 3:59 am

I am proud to announce the release of version one of OPMonsters, designed to accompany weapons-only mods like Russian Overkill or my own OPWeapons. This might at first appear to be just a compilation of monsters from Realm 667, but it is more than that. I have implemented eight nine CVars that you can use to customize just how OP the monsters are.

Code: Select all

 - float OMHealth = 1.0; //0.1 - 10.0, Monster health multiplier
 - bool OMVile = False; //Can all monsters raise other monsters?
 - bool OMRaiseBoss = False; // Can bosses be raised?
 - int OMMult = 1; //1 - 10, Multiply monster by how many?
 - int OMFadeTime = 180; //0 - 600, in seconds, 0 means no fading.  How long until dead monsters fade away.
 - float OMDmgTaken = 1.0; //0.1 - 10.0, Player damage taken multiplier, for ports without sv_coop_damagefactor, which is better.
 - bool OMMThru = False; //Do monster missiles go through other monsters of same species? (all monsters if OMMult > 1)
 - bool OMBlockMons = True; //Are monsters blocked by monster-blocking lines?
 - int OMDrop = 15; //0 - 15, What do monsters drop?  Add the following together as desired: (added in version 1b)
		//1 = drop powerups
		//2 = drop weapons
		//4 = drop health (and armor)
		//8 = drop ammo
Download Link:
https://allfearthesentinel.net/zandronu ... rs_v1b.pk3
Last edited by Empyre on Sun Jun 12, 2022 3:30 am, edited 2 times in total.
"For the world is hollow, and I have touched the sky."

User avatar
Empyre
Zandrone
Posts: 1316
Joined: Sun Jul 08, 2012 6:41 am
Location: Garland, TX, USA

Re: OPMonsters - Customizable monsters

#2

Post by Empyre » Sun May 22, 2022 6:41 am

I quickly discovered that a bug fix was required. The Shades were spawning other Shades with no limit, and soon, there were thousands killing framerates. Here is the changelog so far (plus the CVars above):
Spoiler: Changelog (Open)
Changes in OPMonsters_v1a.pk3:

- Imposed a limit on how many monsters can be summoned by other monsters. No
more games slowed to a slide show by thousands of summoned monsters.
- Fixed a bug which sometimes granted the Tornado Demon permanent invulnerability.
- Fixed some decals not fading.
- Added or edited Tags so monsters' names show as desired in HPBar.

--------------------------------------------------------------------------------

Changes in opmonsters_v1.pk3 (changed from unedited Realm 667 monsters):

- Copied many monsters from Realm 667 and pasted them into this pk3, organizing
them neatly into folders.
- After checking them all out, deleted quite a few.
- Buffed the health and/or attack strength of many of the monsters, but nerfed
a few, to try to make them balanced relative to each other.
- Renamed some actors and some sprites to avoid them interfering with each
other, and with some sprites in OPWeapons.
- Fixed bugs in several monsters.
- Combined Blood Demon and Mauler into Blood Mauler, because they use the same
sprite. Blood Mauler has Blood Demon's projectile, and Mauler's melee attacks.
- Gave the Female Zombie the attack of Rifle Guy, and deleted Rifle Guy.
- Gave Snake Imp Vulgar's fireball, and deleted Vulgar.
- Added "regular" Pain Elemental, who spawns various Lost Soul replacements,
and has a "bite" melee attack.
- Made several Pain Elemental replacements summon a Lost Soul replacement.
- Made all Arch Vile replacements raise monsters even if OMVile is False.
- Added a rail attack to the Cyber Imp.
- Made sure all bosses have +BOSSDEATH and A_BossDeath, and the big bosses also
have +BOSS.
- Gave all monsters a unique DoomEd number and a //$Category so mappers can
make maps using these monsters.
- Gave a Tag to all monsters whose actor names aren't already a nice name.
- Made all monsters have the appropriate blood color.
- Gave all monsters a Death.Massacre state, so they die quickly and quietly
when the "kill monsters" command is used. (Thanks to rf' from Doomworld for the
idea)
- Implemented the eight CVars described above, no small task because it involved
extensively editing each and every monster.
- The monster multiplier also multiplies the ammo and how many cubes the Icon
of Sin launches.
- Added GLDEFS and DECALDEF to all monsters that didn't already have them.
- Included a custom version of HPBar inside this pk3, with permission, to
correctly display the multiplied health of the monsters, needed because of the
hacky method I had to use to multiply their health above their default starting
health.
Download Link:
https://allfearthesentinel.net/zandronu ... rs_v1a.pk3
Last edited by Empyre on Sun Jun 12, 2022 8:02 am, edited 1 time in total.
"For the world is hollow, and I have touched the sky."

User avatar
Doomenator
Forum Regular
Posts: 300
Joined: Wed Apr 01, 2015 4:27 am

Re: OPMonsters - Customizable monsters (Version 1a)

#3

Post by Doomenator » Sun May 22, 2022 6:31 pm

You need to solve the problem with sound overlay. Otherwise it's not playable.

User avatar
Empyre
Zandrone
Posts: 1316
Joined: Sun Jul 08, 2012 6:41 am
Location: Garland, TX, USA

Re: OPMonsters - Customizable monsters (Version 1a)

#4

Post by Empyre » Mon May 23, 2022 4:30 am

What problem is that? I haven't noticed anything.
"For the world is hollow, and I have touched the sky."

User avatar
Doomenator
Forum Regular
Posts: 300
Joined: Wed Apr 01, 2015 4:27 am

Re: OPMonsters - Customizable monsters (Version 1a)

#5

Post by Doomenator » Tue May 24, 2022 2:32 am

I'm talking about the sound is played repeatedly at once and becomes very loud.

User avatar
Empyre
Zandrone
Posts: 1316
Joined: Sun Jul 08, 2012 6:41 am
Location: Garland, TX, USA

Re: OPMonsters - Customizable monsters (Version 1a)

#6

Post by Empyre » Tue May 24, 2022 5:57 pm

I haven't had sound problems, so it is hard to ix what I can't reproduce.

I have had lag from too many monsters dropping stuff, so I plan a fix for that.
"For the world is hollow, and I have touched the sky."

User avatar
Doomenator
Forum Regular
Posts: 300
Joined: Wed Apr 01, 2015 4:27 am

Re: OPMonsters - Customizable monsters (Version 1a)

#7

Post by Doomenator » Thu May 26, 2022 3:21 am

I also have no problems with sound. This is a built-in bug of the engine, reproduced by poor Actors and quite often found in the mods.
Spoiler: example (Open)

Death:
JPZM A 0 A_StopSound(7)
JPZM A 0 A_Scream
JPZM E 2 ThrustThingZ(0, random(2, 8), 0, 0)
JPZM E 0 ThrustThing (random(0, 255), random(2, 8), 0, 0)
JPZM F 2 A_NoBlocking
JPZM GHIEFGH 2
JPZM A 0 A_ChangeFlag("FloatBob", 0)
// JPZM A 0 A_StopSoundEx("JetpackZombie/Fly")
JPZM A 0 A_SpawnItemEx("JetpackZombieGoreSpawner", Random(-15, 15), Random(-15, 15), Random(20, 30), 0, 0, 0, 0, 128)
JPZM IE 2
JPZM F 2 A_SpawnItemEx("JetpackZombieExplosion", Random(-20, 20), Random(-20, 20), Random(20, 40), 0, 0, 0, 0, 128)
JPZM A 0 A_SpawnItemEx("JetpackZombieGoreSpawner", Random(-15, 15), Random(-15, 15), Random(20, 30), 0, 0, 0, 0, 128)
JPZM GH 2
JPZM E 2 A_SpawnItemEx("JetpackZombieExplosion", Random(-20, 20), Random(-20, 20), Random(20, 40), 0, 0, 0, 0, 128)
JPZM A 0 A_SpawnItemEx("JetpackZombieGoreSpawner", Random(-15, 15), Random(-15, 15), Random(20, 30), 0, 0, 0, 0, 128)
JPZM FG 2
JPZM H 2 A_SpawnItemEx("JetpackZombieExplosion", Random(-20, 20), Random(-20, 20), Random(20, 40), 0, 0, 0, 0, 128)
JPZM AAAAAAAAAAA 0 A_SpawnItemEx("JetpackZombieExplosion", Random(-30, 30), Random(-30, 30), Random(20, 40), 0, 0, 0, 0, 128)
JPZM AAA 0 A_SpawnItemEx("JetpackZombieGoreSpawner", Random(-15, 15), Random(-15, 15), Random(20, 30), 0, 0, 0, 0, 128)
TNT1 A 0 A_Gravity
TNT1 A 0 A_TakeInventory("OPMFade",21000)
TNT1 A 0 A_GiveInventory("OPMFade",CallACS("GetOMFadeTics"))
TNT1 A 0 A_JumpIfInventory("OPMFade",1,"FadeWaitLoop")
Goto DontGoAway

User avatar
Empyre
Zandrone
Posts: 1316
Joined: Sun Jul 08, 2012 6:41 am
Location: Garland, TX, USA

Re: OPMonsters - Customizable monsters (Version 1a)

#8

Post by Empyre » Thu May 26, 2022 4:00 am

So, each of those spawned explosion actors is playing a sound? I do recall that that monster's death is rather loud.

Thanks for that. Now that I know what to look for, I think I can fix it.
"For the world is hollow, and I have touched the sky."

User avatar
Empyre
Zandrone
Posts: 1316
Joined: Sun Jul 08, 2012 6:41 am
Location: Garland, TX, USA

Re: OPMonsters - Customizable monsters (Version 1b)

#9

Post by Empyre » Sun Jun 12, 2022 3:20 am

Here's another bugfix update.

Changes in OPMonsters_v1b.pk3:

- Made sure that monsters don't play multiple copies of the same sound at the
same time, building up to be too loud. Thanks to Doomenator in the Zandronum
forums for pointing this problem out.
- Added a new CVar that limits what the monsters drop, in an attempt to reduce
lag from too much dropped stuff:

int OMDrop = 15; //0 - 15, What do monsters drop? Add the following together as desired:
//1 = drop powerups
//2 = drop weapons
//4 = drop health (and armor)
//8 = drop ammo

With OMDrop set to 3 (powerups and weapons only), the lag problem on crowded maps seems to be fixed.

Download Link:
https://allfearthesentinel.net/zandronu ... rs_v1b.pk3
"For the world is hollow, and I have touched the sky."

User avatar
Empyre
Zandrone
Posts: 1316
Joined: Sun Jul 08, 2012 6:41 am
Location: Garland, TX, USA

Re: OPMonsters - Customizable monsters (Version 1b)

#10

Post by Empyre » Fri Jun 24, 2022 4:04 am

If you run OPMonsters with the OMHealth CVar not 1.0, and you also load OPWeapons_v43, the ghost and turret health are displayed incorrectly. Here is a patch to fix that, already built into the still-in-development OPWeapons_v44.
Download:
https://allfearthesentinel.net/zandronu ... foropm.wad
"For the world is hollow, and I have touched the sky."

Post Reply