June 26th, 2018, 19:25
(This post was last modified: June 26th, 2018, 19:26 by Nelphine.)
Posts: 5,010
Threads: 17
Joined: Aug 2016
considering things like conjuror and specialist reduce the cost, i think you need to use the base cost. Then make disenchant area never trigger it, disjunction always trigger it, create artifact always trigger it. Only odd one is enchant item; i'd be inclined to say never triggers. Would give you strange possibilities with the item creation, but it would at least match rarity correctly.
(I realize it may not be that simple, but i'm throwing out what i think the basic ideal should be, assuming you have a bit but not a ton of space to work with. If that doesn't work, this at least gives a starting point for thoughts.)
June 27th, 2018, 02:10
(This post was last modified: June 27th, 2018, 02:16 by teelaurila.)
Posts: 386
Threads: 43
Joined: Dec 2017
In the same vein, counter magic seems to use the effective cost. Do all dispel effects? The counter magic thing was very prevalent during a mana flux.
Mana flux is of course rare enough, and it sort of fits that sorcery gains in this way during the flux. But spells a wizard is specialized in (e.g. specialist, conjurer, many books), that come with cost reductions, then being easier to dispel and counter is at least to me quite counter to expectation. And it's a common occurrence if it occurs. It's not _that_ critical as the effect is often hard to tell from normal RNG spread. But my 13 book nature specialist conjurer casted earth elementals at 25, so had the Myrran wizard been a sorcerer instead of chaos it would really have been notable, and potentially frustrating.
I suppose the slider is where the problem with base cost is? Which means only dispel magic and dispelling wave? Perhaps it would be possible to handle these two spells separately with counter magic (for example use a middle value)?
Posts: 10,463
Threads: 394
Joined: Aug 2015
Dispel effects use base cost. Counter effects use effective cost.
Create Artifact and Enchant Item are where the base cost is a problem. Both of those have a base cost of 0, and both are capable of creating an item of any cost. You can use Create Artifact to make a +1 attack sword for 50 MP if you want to.
Sliders are not a problem - you can't push Disenchant Area over 250 nor can you reduce Disjunction below 375.
Also this affects both Fairy Ring and Seismic Mastery.
June 27th, 2018, 04:29
(This post was last modified: June 27th, 2018, 04:36 by Seravy.)
Posts: 10,463
Threads: 394
Joined: Aug 2015
One possible way to fix this would be to change what gets stored into the "full cost" variable in the wizard data to the base cost. AI cost advantage already does this, making it the only thing that is ignored by spell effects. Doing this would however affect all spells - countering and spell blasting would use base costs as well. It might have other side effects we don't think of as well.
(Particularly, Evil Omens + Suppress Magic would become much stronger, as the extra cost would not increase dispel resistance.)
Posts: 10,463
Threads: 394
Joined: Aug 2015
...looks like that variable always contains base cost in the first place (with the exception of Enchant Item, I fixed that special case), but it has this weird thing at the end :
If (effective cost>full cost) then (full cost=effective cost).
Basically, if the cost is reduced, that does not affect base cost, but if increased, it affects base cost. It's not my change, but original code. This explains why I thought I've implemented these on base cost in the first place - I actually did, it just doesn't work on cost increasing effects.
If we remove this, it means cost increasing effects will stop helping overcome Suppress Magic, and stop increasing the cost of Spell Blast, but both Fairy Ring and Seismic Mastery will work as intended.
Posts: 386
Threads: 43
Joined: Dec 2017
If I get this right, it means if the cost is reduced it does not affect the dispel/counter resistance, but if the cost is increased it does?
This makes some sense, as the reductions are mostly caster's skill and increases sliders, but the interaction with sliders which were more prolific in the original game, could get a bit weird.
I don't think we want a huge disjunction that can be caught in suppress magic or easily blasted. Particularly as that suppress magic is a likely target.
How does the slider even work with cost reductions? I suppose presently this is relevant only for dispelling wave, with eg specialist 10 book sorcerer. Is his full strength dispelling wave about 100 MP cost but works at 125 MP strenght (as one would presume)?
Presumably spell cost and power should be:
cost=global*skill*flux*(base+slider)
where
base+slider is the "strength" of the spell, and this is what determines dispel, counter, suppression, fairy, seismic and spell blast.
skill is the wizard skill effect that can give same spell at a reduced cost
global is divine order modifier (are there other likewise cost modifiers?) that should act like a skill modifier
flux is 0.5 under mana flux
One can argue whether flux should be included in "strength", either way could be "right". Either way some goovy effects come in under the flux, but presumably more if spell strengths go down.
Skill and flux should probably anyway affect the mp needed to spell blast. Say I am casting a 1000 strength spell and I have extreme reductions so that cost is half and I am 60% through (300/500 in my cost, 600/1000 in base cost). A specialist sorcerer that casts spell blast at 80% cost, should then need 480 MP to blast it. Under a flux all of these are halved. Anyway, this is just one spell so no biggie if it's not quite so.
Assuming we can agree on how it should be, how close can it be done? Can we separate a spell strength from a spell cost?
June 27th, 2018, 06:40
(This post was last modified: June 27th, 2018, 07:04 by Nelphine.)
Posts: 5,010
Threads: 17
Joined: Aug 2016
Yeah, spell blast should be looking at effective strength (a high end disjunction should be costing a lot to spell blast; a crazy reduced 6 mana holy armor should be costing 6 mana to spell blast); however, suppress magic should be looking at base cost *except for sliders where it should look at base slider cost.
Strange case: sliders with mana flux (or other reductions). Again, spell blast should be looking at what it actually costs the casting wizard; however, things like suppress magic, it should be looking at the slider cost before its modified by reductions.
So, my ultimate wish list:
First, a glossary:
Base cost: The amount a spell that does not have a slider costs without any modifications.
Effective cost: The amount a spell that does not have a slider costs with any modifications.
Base slider cost: The amount a spell that does have a slider costs without any modifications and without yet considering the slider.
Modified slider cost: The amount a spell that does have a slider costs with any modifications and not yet considering the slider.
Slider cost: The amount a spell that does have a slider costs without any modifications, but including the slider.
Effective slider cost: The amount a spell that does have a slider costs with any modifications and including the slider.
Modifications to cost:
Primary part of Specialist, Conjuror, Primary part of Runemaster, Artificer, combat range multipliers, Mana Flux, Divine Order, Evil Omens, High Number of Spell Books in one realm
Modifications to cost only for determining required dispelling strength:
Secondary part of Specialist, Secondary part of Runemaster, Aether Binding
Spells where this is relevant:
Group 1: Fairy Ring, Suppress Magic, Seismic Mastery
Group 2: Counter Magic, Disenchant Area, Disjunction, Dispel Magic, Dispelling Wave
Group 3: Spell Blast
Group 1: should look at Base Cost and Slider Cost
Group 2: should look at Base Cost and Slider Cost but also including the secondary group of modifications for determining required dispelling strength
Group 3: should look at Effective Cost and Effective Slider Cost (and should account for decreases)
Anything I'm missing? I think there's at least one more random event that can modify costs (the life one that changes enchant costs?) and there may be another spell or two that I'm forgetting.
Please note: I specifically don't think that things like Evil Omens and Divine Order should actually GRANT protection from things like Suppress Magic. Particularly divine order irregularly gets discussed as potential overpowered as it is. I don't particularly think evil omens is overpowered for a very rare, so I don't feel it should be actually helping your enemies either.
Similarly Spell Blast should be based on the amount that wizard is spending; it feels odd that (with enough modifiers) I might cast a spell for 50 mana, but my enemy would be forced to use 300 to spell blast it (or vice versa).
As a note: I don't know exactly when it happens (and I have no way of testing this), but when your turn ends, any leftover casting skill from that turn should be immediately applied to the spell your casting, so that enemy spell blasts are affected by it.
Also, Suppress Magic might seem like group 2, but I think for standard game play, where the only secondary modifier would be Aether Binding, that would be far too powerful. Maybe it needs to be in its own group that is affected by secondary specialst/secondary runemaster; but then it would be virtually useless against that combo since it wouldn't be affected by aether binding, which also feels off. So I believe it should stay in group 1. I could also see the same argument being applied to Counter Magic, and moving it to group 1, but as that shows up FAR more often (nodes vs specialist), I believe that would be counter intuitive to most people, so it should stay in group 2. Or we could make a new group where Suppress Magic and Counter Magic are affected by secondary modifiers, BUT they are only affected by Aether Binding IF they are also at the time of that cast being affected by either secondary runemaster or secondary specialist. But I suspect there wouldn't be space for that.
June 27th, 2018, 06:42
(This post was last modified: June 27th, 2018, 06:56 by Seravy.)
Posts: 10,463
Threads: 394
Joined: Aug 2015
Quote:dispel/counter resistance, but if the cost is increased it does?
Yes, but only for overland, counter resistance.
Dispelling does not target a spell currently being cast, so it takes the cost directly from spell data without any modifiers. (3 in the list below)
Sliders are part of the "base" cost, as is the cost of the artifact/item.
Cost modifiers (Divine Order, Evil Omens, retorts, AEther Flux) aren't.
It's a bit hard to explain, there are three costs :
1. Cost actually paid. This is stored as "remaining cost" and is updated as casting progresses each turn.
2. Base cost (the cost you would pay if there were no cost modifiers, but including sliders)
3. Base cost (the hardcoded number in spell data, not including sliders)
Spells used "2" but "2" was having this special part that cost increases were included in it, only reductions weren't.
Suppress Magic, looks at 2 as well to determine the cost of the spell. This is also the strength of your Disjunction and Disenchant Area.
All of this only applies to overland. Combat spells are an entirely different procedure.
Spell Blast is special, it looks at 1, but applies the AI modifier to 2 when determining how much was already spent on the spell, otherwise you'd need to pay for the part the AI gets for free.
So in theory the only thing that will change is, Suppress Magic will now get stronger as cost increasing effects can't help bypass it, and disjunction/disenchant will be weaker as cost increasing effects won't make them more powerful.
Regarding combat spells, it seems to be broken, as the "base cost" variable already includes the cost modifiers. I know I had to do a lot of work here to get rid of the cost bugs that caused the AI to spend negative mana, and wasn't entirely sure which cost goes into that variable. I no longer remember if this was intentional (to make sure cost modifiers to affect countering chance) or an accident.
June 27th, 2018, 07:00
(This post was last modified: June 27th, 2018, 07:00 by teelaurila.)
Posts: 386
Threads: 43
Joined: Dec 2017
If the "cost increasing effects" only include cost-increasing modifiers like divine order, and not the sliders/item, then it's not such a big deal? It matters for specific borderline cases of "cost more than X", i.e. Fairy and Seismic, where specific spells are designed to trigger or not trigger these. So keeping the spells where they are in relation to Fairy and Seismic seems more important than a few extra-% here or there for suppress or disenchant.
And one could argue that cost increasing effects should make the same spell harder to cast - not helping that spell overcome suppress nor making the resulting dispel stronger.
June 27th, 2018, 07:04
(This post was last modified: June 27th, 2018, 07:07 by Seravy.)
Posts: 10,463
Threads: 394
Joined: Aug 2015
Quote:I don't know exactly when it happens (and I have no way of testing this), but when your turn ends, any leftover casting skill from that turn should be immediately applied to the spell your casting, so that enemy spell blasts are affected by it.
Unfortunately, that's not the turn order structure the game uses. It goes like this :
1. All players get their turn to move their units, etc
2. All players get their turn to progress production in cities
3. All players get their turn to heal units
4. All players progress in spellcasting
etc.
So while it appears as if players had their own "turn", they actually don't. Everything that does not require player (or AI) interaction, happens after all moves, for everyone, sorted by type of effect, not player.
Basically what you want would require this turn structure instead :
For all players, do { 1,2,3,4, etc }
Instead we have "for all players do 1, for all players do 2, for all players do 3, etc".
The net effect is, the AI always gets to spell blast the human, or AI's before them in turn order, at 0 mana spent, while the human gets to blast everyone only after they have used up all skill for the turn, as they are the first to move.
|