dulsi wrote:Methuselas wrote:Oh and dulsi, I really need a X Rounds Per X Level +/-N spell duration.
I really wanted to refactor monsters to give more attacks but that has proven more difficult than I initially expected. I was thinking about this request and how ugly it would be to implement. It occurred to me I was thinking about it the wrong way.
You generally wouldn't make 1 spell have 5 rounds + 1 round/level, 1 spell have 6 rounds + 1 round/level, 1 spell have 5 rounds + 2 round/level, etc. You would probably use the same durations multiple times. So instead of "Short" you want to pick "5 Rounds + Level". By moving duration into an xml file, I can add an editor to allow you to add your own duration types.
Another thing that could be potentially useful is "apply effect after a delay of X rounds." Why, you ask? Well, as is there's really no way to implement a magical status effect that ends after a given duration - you hit a monster (or PC) with a paralyze effect with a "short" duration, they don't get paralyzed and then stay paralyzed for the "short" duration and then get cured. They have to make a save or be paralyzed every single round - and the moment a save fails they are paralyzed.
That does make a certain kind of sense, but it limits your options (for one, paralysis may as well be a death effect). But this way you could have a spell apply a paralysis effect (one try to do it), and then, say 10 rounds later apply a "cure paralysis" effect to remove it.
However, I imagine that could potentially be very messy (and tricky) to actually implement.
One more technical question for you dulsi:
When a spell applies multiple effects, are they applied in order listed in the spell? In reverse order? Or is the order hardcoded (e.g. save bonus is always applied after damage, damage is always applied after healing, etc.)?
I ask because I've been trying to "creatively" use save bonuses to tinker with the relative probability that a spell will work (e.g. make a "turn to stone" spell a bit easier to resist than a "death" spell), but I see absolutely no evidence it actually works.
E.g.:
Duration: One Turn
Effect: Save Bonus +8
Effect: Damage 0 + Paralysis, effects only "Weak Humanoids"
...definitely only affects things flagged as weak humanoids, but (unless I'm just getting spectacularly unlucky with my rolls many, many, MANY times in a row) does not seem to make it any less likely the targets will be affected (my monsters are set to have a base save of 20, improving by 1 every few levels - I want them fairly vulnerable to magic overall; that spell should only affect about 60% of the targets, but seems to still affect 95% of them every time).
Is the problem that the code applies spell effects in reverse order? Or are "save bonuses" hardcoded to always apply after damage effects? (Or is it something more subtle, like a bug and the code is just plain ignoring save bonuses?)