kieranmillar
Level: Smitemaster
Rank Points: 2842
Registered: 07-11-2014
IP: Logged
|
Better ways to utilise special monster features (+2)
Not all monsters in RPG are just bundles of stats, some of the stock monsters have special properties too. It would be nice to have easier ways to utilise these for your own custom monsters, as some of them present challenges currently.
-------------------------------------
The 3 snakes, and Rock Giant
These monsters are big and take up multiple tiles. You can't directly turn characters into these monsters, and trying to script your own custom version would be a hassle, although it can be done (but I certainly wouldn't want to try and make a custom rock giant that animates and turns). In all custom holds so far, these monsters have only been used when the stock monsters with stock stats have been acceptable, but the stock monster stats do not always play nicely with the balancing of your hold. These 4 monsters make for great boss monsters, so it would be nice to have an easier way to place versions with different stats.
The problem is you can't modify the stock monster stats directly without using the global mutliplier variables. These have two problems:
1) Changing the values back and forth as you need to can be a problem, and the HP multiplier variable even has an unfortunate bug that currently renders it effectively unusable for all practical purposes. It's easiest to put the monster on its own in a separate room, and have an empty connecting corridor with the rest of the level where you can change the values back and forth. However as these variables are global and apply dynamically, if you look at other rooms via the minimap, these variables will change all of their monster's stats too, so either this monster's stats will be wrong, or every other monster's stats will be wrong.
2) The variables only allow changes in 1% increments, which means you can't always change the numbers to the exact value you want.
It would be nice to have some method of directly manipulating the base stats of these monsters, for example by placing a stock version in the room then having some script command to overwrite its base stats. But I don't really have any great suggestions on how this might work. A scripting command that when executed, checks the room for any instances of these 4 monsters and then modifies the appropriate stat?
-------------------------------------
Tarstuff Mothers and Babies
Currently custom mothers are supported by the engine. If you place any character on top of tarstuff, you'll fight it when you cut any connected tarstuff. There are even two currently published holds that have custom mothers. But they have some major problems:
1) Resetting their health. In order to refight the custom mother on the next cut you need to make sure the monster does not die, and also give it its health back. Sadly there is no nice way to do this. Wait for defeat would force you to wait a turn before you could reset the monster's health, but for some reason fails to activate at all for characters on top of tarstuff (which is probably a bug?). If you try to check for health being zero on each defend, trying to reset the character's health on the same turn fails and logs an error. This means the only thing you can do is wait until next turn, and that usually means also throwing the character into a quick 1-turn cutscene, but this also has the problem of now preventing you from undoing past the cutscene. It feels janky, because it is. The current behaviour of a character on top of tarstuff acting like a mother feels only half-implemented.
2) You have to make sure the monster actually dies for real if you attack the tile it is on, so need to detect this. This is possible to script by checking player position and orientation, but is another major pain, and also prevents a behaviour of the stock mothers, that it's possible to body kill them in some instances while holding a weapon to make less cuts.
3) The babies. One of the biggest reasons tarstuff in general can be hard to use in custom holds is because of the way it spawns the stock baby monsters, and lots of them. This turns areas of your hold into major greckle farms, and the stats of the stock monsters are most likely not going to match what you need at that time. It would be nice to have a way to change what monster is spawned from unstable tarstuff.
Number 3 could probably be handled by a global variable that accepts a character id, one variable for each tarstuff type. I'm unsure about how to go about fixing points 1 and 2, it would be nice if the game could handle the behaviours properly for you, but I don't know of a good way to store the mother's original intended health to reset to if you wanted to change that value for your custom mothers.
-------------------------------------
Roach Queens
When you attack a monster, stock Roach Queens lay eggs. Now to be fair, it's possible to script an alternative to this, and arguably not even all that difficult.
Having said that, it would be nice to have an easy way to hook into the hardcoded behaviour of the stock monster and also change what is spawned rather than just the stock roach egg. I was thinking something like a _MySpawn variable that if set to a valid character ID would make that character get spawned in the way that roach eggs do. But it's not super important and I largely list it here for completeness.
[Last edited by kieranmillar at 11-09-2020 08:16 PM]
|