Sentient Glowing Mushroom
- DeVloek
- Topic Author
- Arachnotron
- Posts: 401
Name: Sentient Glowing Mushroom
Difficulty: very easy
Connections: none
Summon: SentientGlowingMushroom, GlowingMushroomSpawner
Melee: no
Distance: projectile
Type: magical, fungi, trap
Brightmaps: no
Actor modification: no
ACS: no
Credits:
Code: Gothic, DeVloek
GLDefs: Gothic, DeVloek
Sounds: Raven Software, Monolith Productions
Sprites: Raven Software
Sprite Edit: Gothic, DeVloek
Idea Base: Sentient Mushroom monster and Glowing Mushrooms prop
Description:
While most glowing mushrooms just illuminate their surroundings, this rather malicious specimen ambushes the unwary explorer with a toxic spore cloud.
Being not much larger than a regular glowing mushroom it may be hard to spot, but is easily killed. The spore cloud glows just like the mushroom itself
and deals poison damage over time.
Includes prop variant and random spawner.
Sprite Examples:
I made this monster for a map with lots of dark cave areas full of glowing mushrooms. It's basically a recolor of the Sentient Mushroom monster, with a 0.5 scale to match the larger variants from Captain Toenail's glowing mushrooms prop, and of course a green pulse light for the glow effect. It's intended as a low level trap, so it has only 50 hitpoints and does much less damage than the original sentient shroom.
When the player is within a certain range, it releases a toxic spore cloud which lasts for about 6 seconds and does minor poison damage. The spore cloud is fluorescent as well, so the careful player may use it to their advantage in dark areas. Killing the mushroom will release a final spore cloud, unless you burn or freeze it.
It uses the same sounds as the original sentient mushroom, but I got rid of the idle sound because it contradicts the purpose as a trap.
The monster is pretty much done in context of my own map, but I'm open for suggestions regarding this submission.
Edits:
- fixed spore cloud damage in Hexen
- fixed obituaries, improved spore cloud animations
- fixed damage consistency
Please Log in or Create an account to join the conversation.
- Blue Shadow
- Administrator
- Posts: 1129
Please Log in or Create an account to join the conversation.
- DeVloek
- Topic Author
- Arachnotron
- Posts: 401
Please Log in or Create an account to join the conversation.
- DeVloek
- Topic Author
- Arachnotron
- Posts: 401
I just rewrote a few lines, now the spore cloud no longer checks for the DoomPlayer but for Hexen player classes: ClericPlayer, FighterPlayer, MagePlayer and any class deriving from those. If anyone wants to use this in their Hexen Mod which doesn't have a player class deriving from any of those, well I'm sure they'll figure it out
Anyway I tested it in all the games I have available (incl Strife and Heretic) and it works fine.
I noticed this trap is super effective against all kinds of enemies. They won't trigger the spore cloud but if you do and manage to catch enemies within it, it's a quick death for most smaller enemies. Anything with a painchance higher than ~25 will be stun-locked most of the time.
Please Log in or Create an account to join the conversation.
- Blue Shadow
- Administrator
- Posts: 1129
Now, one thing I noticed is that the game displays "[Player] killed [him/her/it]self." obituary message when you're killed by the monster, suggesting that the player is the killer, not the monster itself.
Note that I don't know if the obituary thing still applies to the latest version or not, as I didn't test it with that.
Please Log in or Create an account to join the conversation.
- DeVloek
- Topic Author
- Arachnotron
- Posts: 401
Also I changed the attack method to A_SpawnProjectile, which fixed the obituaries. And I added some randomness to the animation and momentum so the cloud looks much more natural now.
Then I did some further testing and found out quite a few things regarding damage handling. Some of which led me to believe that I'm pretty much stuck here.
Poison Damage (damage over time) doesn't seem to work in Heretic and Strife. I've tested this with the original Sentient Mushroom too, same issue.
A_Explode (which I'm using for the spore cloud attack) seems to behave differently in each game. In Hexen, Strife and Heretic, if the explosion damage is 3 or lower you don't receive any damage at all, while in Doom you receive damage as usual.
If the damage is 4 or higher, you receive reduced damage in Hexen (25%) but the full damage in Doom, Strife and Heretic. In Doom that's no problem, as we can set the damage to 1 and all is fine. But in Strife and Heretic the monster is either useless (no damage at all) or overpowered (too much damage).
I've tried every other attack function, none of which gave the desired effect in every game without overcomplicating things with class checks and whatnot.
Anyway, damage is now adjusted to Hexen and I added a hint comment how to change it to Doom. As mentioned above, Heretic and Strife damage does kinda work but not the way as intended.
So yeah I'm done with this for now as I already have moved on to the next monster, which I'm actually doing in Zscript in order to learn stuff
So if this version is still not good enough for approval (which I would perfectly understand given the incompatibility issues), please close this thread for now.
One day I might convert this monster to Zscript and see if I can fix the remaining issues.
Please Log in or Create an account to join the conversation.
- Blue Shadow
- Administrator
- Posts: 1129
Works fine, here.Poison Damage (damage over time) doesn't seem to work in Heretic and Strife.
In my tests, the results are consistent between Doom, Heretic and Strife. They all work the same.A_Explode (which I'm using for the spore cloud attack) seems to behave differently in each game.
Here's the deal with how all that works: the spores call A_Explode with a certain amount of damage. That damage is adjusted by RadiusDamageFactor (among other things). If the damage resulted in a value of 0, neither splash damage nor poison is inflicted (poison does get inflicted, though, if the FORCEZERORADIUSDMG flag is set on the spores). If it didn't, the poison code gets executed and the player starts losing health due to poison. This code also reduces the damage further by 50% (the splash damage, that is). If it resulted in a value of 0, the player won't receive splash damage, obviously.
With current damage values of 8/4 for the spores, Hexen player classes get poisoned and receive reduced splash damage of 1/0 (this is assuming no other factors are involved that would reduce the splash damage even further, like armor, protection powerups, damage resistances, etc.).
So based on the above, I have a suggestion: make the spores do 0 splash damage while setting the FORCEZERORADIUSDMG flag on them. By doing that, it'd mean the spores would do poison and poison only, which, as far as I can see, is the main idea behind the monster. It'd also make the monster work consistently between all games, even Hexen (no need to adjust damage for different games). What do you think?
Please Log in or Create an account to join the conversation.
- DeVloek
- Topic Author
- Arachnotron
- Posts: 401
In my tests, the results are consistent between Doom, Heretic and Strife. They all work the same.
I was either stupid or overtired yesterday... I just found out why it stopped working on my end. It was a savegame issue. If I start a fresh game and summon the mushroom via console everything works as intended again. *facepalm*
So yeah with some fresh motivation, I went with your idea of using +FORCEZERORADIUSDMG and 0 explosion damage, and after some radius adjustments it worked just fine, except that other monsters just got stun-locked but never died.
So I lowered the attack frame rate and set the damage to 1, which is not noticable for the player in Doom/Strife/Heretic but still damages monsters enough to kill them eventually. I think this is a lot better than the older version where any monster caught in the cloud died within seconds.
As the mushroom now does less damage to the player than the first version, I changed the difficulty description to "very easy".
Thank you again for your help
Please Log in or Create an account to join the conversation.
- Blue Shadow
- Administrator
- Posts: 1129
Oh, yeah. Apparently, it inflicted pain even though it didn't cause damage. The spores use the Hexen poison style, which affects players but not monsters. The "new" style affects both. Unfortunately, the new poison style relies on collision to be inflicted, something the spores don't do.DeVloek wrote: except that other monsters just got stun-locked but never died.
With a damage of 1, it won't affect the player. Remember, the poison cuts that splash damage in half, effectively making that one point of damage zero.So I lowered the attack frame rate and set the damage to 1, which is not noticable for the player in Doom/Strife/Heretic but still damages monsters enough to kill them eventually.
No problem. I think this is now ready, so I'm approving it.Thank you again for your help
Please Log in or Create an account to join the conversation.
- Blue Shadow
- Administrator
- Posts: 1129
Please Log in or Create an account to join the conversation.