header general

Sentient Glowing Mushroom

  • DeVloek
  • DeVloek's Avatar Topic Author
  • Arachnotron
  • Arachnotron
More
6 years 1 month ago - 6 years 1 month ago #1 by DeVloek
Sentient Glowing Mushroom was created by DeVloek
Information:

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
Last edit: 6 years 1 month ago by DeVloek. Reason: re-uploaded file with above edits

Please Log in or Create an account to join the conversation.

  • Blue Shadow
  • Blue Shadow's Avatar
  • Administrator
  • Administrator
More
6 years 1 month ago #2 by Blue Shadow
Replied by Blue Shadow on topic Sentient Glowing Mushroom
The player doesn't suffer any damage from the spores in Hexen. This could do with fixing.

Please Log in or Create an account to join the conversation.

  • DeVloek
  • DeVloek's Avatar Topic Author
  • Arachnotron
  • Arachnotron
More
6 years 1 month ago #3 by DeVloek
Replied by DeVloek on topic Sentient Glowing Mushroom
I was able to fix the damage in Hexen. I found out that the player in Hexen takes only 25% of any radius damage. Even worse, the spore cloud does only 1 damage in Doom and Hexen reduces it to 0. If I change that to 4 damage, Hexen does 1. So I made two different spawn states, Hexen is default and if the player is of DoomPlayer class or derives from it the state with only 1 damage is called. Now it should do the same damage in both games. I still have to test infighting, I think Hexen's damage reduction only applies to players not monsters. And I haven't tested Heretic or Strife yet :XD:

Please Log in or Create an account to join the conversation.

  • DeVloek
  • DeVloek's Avatar Topic Author
  • Arachnotron
  • Arachnotron
More
6 years 1 month ago #4 by DeVloek
Replied by DeVloek on topic Sentient Glowing Mushroom
Alright the code I cobbled together this morning didn't quite work out :roll: Well it did work for Doom and hexen, but the logic was flawed so it didn't work as intended in Strife and Heretic.
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
  • Blue Shadow's Avatar
  • Administrator
  • Administrator
More
6 years 1 month ago #5 by Blue Shadow
Replied by Blue Shadow on topic Sentient Glowing Mushroom
To be honest, I think it's better to just adjust the damage for Hexen, while adding a comment explaining things about Hexen's player classes resistance to splash damage, and suggesting alternative damage values if this is used with other games.

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
  • DeVloek's Avatar Topic Author
  • Arachnotron
  • Arachnotron
More
6 years 1 month ago #6 by DeVloek
Replied by DeVloek on topic Sentient Glowing Mushroom
Yeah you're probably right, that was a bit too much I guess :P I got rid of the player class check.

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
  • Blue Shadow's Avatar
  • Administrator
  • Administrator
More
6 years 1 month ago #7 by Blue Shadow
Replied by Blue Shadow on topic Sentient Glowing Mushroom

Poison Damage (damage over time) doesn't seem to work in Heretic and Strife.

Works fine, here.

A_Explode (which I'm using for the spore cloud attack) seems to behave differently in each game.

In my tests, the results are consistent between Doom, Heretic and Strife. They all work the same.

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
  • DeVloek's Avatar Topic Author
  • Arachnotron
  • Arachnotron
More
6 years 1 month ago #8 by DeVloek
Replied by DeVloek on topic Sentient Glowing Mushroom

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
  • Blue Shadow's Avatar
  • Administrator
  • Administrator
More
6 years 1 month ago #9 by Blue Shadow
Replied by Blue Shadow on topic Sentient Glowing Mushroom

DeVloek wrote: except that other monsters just got stun-locked but never died.

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.

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.

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.

Thank you again for your help :)

No problem. I think this is now ready, so I'm approving it.

Please Log in or Create an account to join the conversation.

  • Blue Shadow
  • Blue Shadow's Avatar
  • Administrator
  • Administrator
More
6 years 4 weeks ago #10 by Blue Shadow
Replied by Blue Shadow on topic Sentient Glowing Mushroom

Please Log in or Create an account to join the conversation.