Jump to content

Wild Mage Remix


CamDawg

Recommended Posts

This was an idea brought up by Sim in the G3 IRC channel.

 

 

Cam: I propose Wild Mage Remix.

Details?

Oh I remember you mentioning this before

Twas a good idea

Yeh, I mentionned it before. All spells have Wild Magic effects varying from very minor to fairly major (increasing probabilities, obviously). The exact effects would depend on the spell you were trying to cast.

So any mage casting any spell has a wild surge chance?

No, just wild mages.

But the possiblities are more interesting than hiccups...

Are there any pnp Wild Mage tables or anything?

But say I cast fireball. There's a 5% chance it gets cast normally, a 5% chance it goes wrong one way, a 5% chance it goes wrong another... you get the idea. And a 5% chance of blowing you up.

Fuck PnP.

So an 80% chance nothing happens?

How is this different than the existing wild surge tables, though? There's already a chance that the target changes or that it goes wrong in a variety of ways?

-? +.

The existing system means that there's a low chance that something random happens every time you cast a spell.

My proposed system means it goes wrong almost every time, but in ways relevant to the spell being cast.

Got it.

Bypassing the existing wild surge effects may be sucky, though.

Just make all the spells do nothing.

Or a roll modifier which means you always get the "normal casting" surge.

Alternatively, keep the existing effects, since we want some major randomness sometimes. Just remove the sucky ones like sex change and deleting all your money, which prompt instant reload.

Yeh, that's what I was thinking. To suppress the dialogue window we'd also need to blank the strref's and the actual 'Wild Surge' string.

In fact, yeh, I'd suggest keeping the major surges too.

Just make the sucky ones less sucky.

Aside from having to make hundreds of spells with slightly different extension headers, the problem I noted with the idea was replacing the regular mage spells with special wild mage versions.

BUT I figured you might have some code from Cleric Remix that would vaguely cover that.

Hmm. Wild mages are treated as a kit, aren't they?

Yes.

Shit, EFFs are out then.

Although because they're a separate class on the character generation screen, a certain degree of hackyness is permissable because there's nothing to compare with.

Yeh, EFFs are out unless you use specifics. Which is probably a no-no.

First order idea: replace sucky WM effects with new spells with a shedload of EFFs targeted by gender.

Why by gender?

Add headers to mage spells that change gender to X for say, 2 seconds, then revert.

Oh, oh.

Hmm.

That way we can utilize the existing mage system of spells with the existing wild surges.

Are you sure it's not possible to detect what spells the player has picked for their mage and assign wild mage versions in their place?

And we can have unique wild surges for a spell.

I don't think you can detect what spells are in a spellbook--memorized, yeah, but not known.

Fuck.

And removing and adding a spell adds the hardcoded XP bonus for learning a spell.

Fuck again.

(something we discovered with CR)

Ah, the problem I was having?

Okay, so... the gender thing.

thinks

It was the first problem we encountered with the solution to fix your problem. :D

I think the gender thing is too hacky. Can't we change their class to an arbitrary value but keep the kit?

Oh. Greyed casting button.

I think non-mage class values lose access to the--yeh.

Grargh.

General.ids.

Coz the gender thing is very hacky.

SURELY that's not used for anything by PCs.

That should work and it won't show up in the character screen.

Right.

And no other mods will use it because nobody's thought of it.

We should be able to (knock on wood) use arbitrary values there and I can only think of one item that uses it for targeting.

The only side effect I can think of should be that spells and scripts which affect humanoids have to target that general too. Scripts are easy to change with the amazing (DE)COMPILE_BCS.

And it's BROEK AFAIK.

Heh, right.

But we only need to change it for a few seconds for the wild surge--it'll expire nearly instantly.

Yeh, that's a better solution.

Uhm. It IS possible to make Wild Surges happen 100% (or whatever) of the time, right?

I'm not sure about that.

Well, that's the next important thing to investigate, heh.

Opcode 280 seems to suggest yes.

That's Nahal's Reckless Dweomer, right?

Ah. Effect 281 plz.

Nah, that's 281--it affects the roll on the wild surge table.

280: Applies the wild magic effect to the targetted creature(s).

281 looks like what we want.

Because, with 280, we'd have to make all the spells cast that effect, which would cause problems with regular mages.

So we just set the chance of a Wild Surge very high for wild mages, and do the gender changing trick.

Hmm. But the idea was to use the existing wild surge structure, just using EFF targeting to implement custom surges for the various spells.

But if you just generate a wild surge for each spell, how do you tell what spell was cast?

Maybe I'm not thinking clearly. I don't quite see what you're thinking.

OK, here's what I'm thinking.

BevH is now known as Bev|away

For each spell with which we want custom surges, we add the general or gender changing effect. It'll only last a few seconds.

We replace the WM surge spells that we don't like with custom ones that target via EFF the values in gender/general that we set.

Wait. There's a problem I think.

You can't do spells that target other creatures.

So, if a WM has a surge, it uses the existing framework, but thanks to the EFFs it gets a custom effect.

Because you have to IDS target the caster.

We can just use the target:caster field for the general change and target: preset target for the surge.

But how does the surge spell know what the general is? It has to use an EFF targetted on the caster, no?

Or wait, I think I see what you mean.

Gah.

Well atm all of the wild surges affect the caster, no? Would we be looking to change that?

Or no, they don't.

Yeh, I was thinking that a Fireball might work normally except doing cold damage, or something. Okay, that's shitty, but...

Oh?

They have the same range of targeting, so I think they just take the target designated by the original spell.

Right, but if we use an EFF targetted on the caster, that's gonna get messed up.

Yeah. Shit.

What I reckon we need to do is have a different Wild Surge # assigned to every spell.

So roll 32 in the surge table is Fireball.

Fireball sets the chance of a surge to 100% and modifies the roll to 32.

Yeah, but then chaos shield is no longer useful.

That'd work for the offensive spells. Then we use the EFF targetting for anything that affects the caster.

Hmm.

I could live without chaos shield, but yes, it's a sub-optimal solution.

Maybe Chaos Shield should just protect against the mega wild surge effects which we can script in or something.

Or do with EFFs.

Well, at the least we can replace the crappy surge effects as a first step.

So do I take it you're up for helping with this? Heh.

It's an interesting idea and has the bonus of looking to be fun to code. :rolleyes:

I like trying to break the engine in new and fun ways.

Yeh, it's the kinda oldskool crazy coding that I haven't done for ages.

Did you ever see my multi-caster spell system? That was amazing(ly bad).

Hehe. No, I can't say I have.

I know you guys use a completely different casting system for DLTC but I honestly haven't even taken a look at it yet.

It was horrific, and is now lost in the annals of history, thank god. I recoded it from the ground up about 5 times, until I finally got a solution which technically worked but was no fun ingame.

So I gave up.

Anyway, can you save the log of this discussion somewhere (G3 forums?) and I'll give the chaos shield stuff some more thought tomorrow.

Anyone got logging on? I can copy-paste but it'll look crappy.

Not me.

Link to comment

Obviously someone was logging it. :rolleyes: tomas?

 

If you are at it what seems to be a very interesting project, could you make gnomes be eligible to become WMs too, please? They seem natural WMs to me.

 

Btw the fireball does cold damage is not that bad as very often you target creatures with specific immunities and healing a fire creature with a cone of cold would be unwanted indeed.

 

I completely agree on the money or sex change thing. Even more for the first as instant reload options are !options. :/

Link to comment
<CamDawg> And removing and adding a spell adds the hardcoded XP bonus for learning a spell.

You can use AddSpecialAbility() with arcane or divine spells as well to add to the spellbook without the XP bonuses...it should really be called AddToSpellArsenal(). The only drawback I've found is that it displays the text "Charname has gained a special ability: XXXX". I've used this to add spells to a Sorcerer spellbook, and I don't see why it would be a problem for Wild Mages.

Link to comment

As Wildmages came into being after I stopped playing PnP, I don't feel too terrible about the breach. :rolleyes:

As Sim said, this sounds like some old-fashioned work-around coding. Lotsa fun and nightmarish to boot. (Sim, not all is lost! I certainly have that particular coding release you mentioned in my archives. heheh) Just thought I'd throw in my own ideas on coding this baby up.

I'm thinking this might work, and with your auto-spell-extention changes it might work fairly well too. Create a custom kit identifier for WildMages, tagged onto the kit IDS. Then you can target the Kit.IDS with effs. Then using a targetting effect cascade to first remove the just-learned spell, and replace it with the "wild" version of the spell. This way you can keep the original surge values (Although by all means lose those dumb instant-reload-game value ones.) and there's no scripting involved. The "wild" versions of the spells can have the % chances of working right/wrong/sideways built into them which also allows for some freedom of later upgrade, as well as community contributions.

*Awaits the legions of modders ready to drive oxcarts through the holes in his idea's logic.*

 

Edit: Nevermind, I just remembered the Kit.IDS isn't effect targetable, just fixed for script targetable. So, the option that presents itself is to use the aformentioned new kit value, to check with a script periodically and replace non-WM spells with the new version. Sloppy, but workable.

*Continues driving his own oxcart through the hole to the tavern for ale.*

Link to comment

But then we run into the same problem of how to determine what's in a mage's spellbook and how to prevent them from learning the same spell repeatedly. More ponderation is required.

 

Do wild mages get surges when casting via scrolls? If so that's one more problem with the shadow spell concept.

Link to comment
But then we run into the same problem of how to determine what's in a mage's spellbook and how to prevent them from learning the same spell repeatedly. More ponderation is required.

True enough. Ideally it would be limited to just affecting the indiviudal spells themselves to determine to do the "surge" or not. Less mess that way, and least secondary problems to worry about.

Sim and you seemed to agree that using the specifics is out. Why? Wouldn't it make sense to add a script block to one of the always-run scripts that checks to see if the character is a wildmage kit (as per my initial post) and if the specific matches the "wildmage" value. If it doesn't, it'll change the specific to the wildmage value. Then eff targeting is possible. I know that the specific slot doesn't survive reloads, etc... but a matching check like the above will work for all but a few seconds each game. Unless of course you're discounting it as an option due to it's heavy use from another mod. Then perhaps some kind of combined value could be used? *shrugs* Just a thought.

 

Do wild mages get surges when casting via scrolls? If so that's one more problem with the shadow spell concept.

 

Good question! I've never played a wildmage myself so I can't answer nor test atm. I also wonder if the game treats scrolls and wands/items with spell effects the same.

Link to comment

I'd like to sum up my suggestion.

 

Every spell that is cast changes the specifics (or general) of the caster for a brief time in the global effects.

Defensive spells have EFFs targetted onto this specific or general with their wild magic variations. All's good so far.

Offensive spells are where it gets horrible, because EFFs targetted on the caster are out. I propose that every spell targetted on another creature be assigned a specific number on the wild surge table, from 1 to 100. When the spell is cast, the wild surge roll is set to this in the global effects. Effect #280 is used in the global effects to force the spell to cause a wild surge when cast. These effects can both be targetted on the caster using IDS targetting of the wild mage specific or general. Then, the wild surge spell for that particular roll maintains the target of the actual spell, but with the wild magic effects.

For example, if I cast Fireball, the wild magic roll is set to 36 or whatever, and a surge is caused. SPWM036 or whatever is fired off, which contains a number of slightly varied fireball effects, randomly selected.

The problems: 1) Damn messy. 2) Are there enough SPWMxxx spells?

Link to comment
Good question! I've never played a wildmage myself so I can't answer nor test atm. I also wonder if the game treats scrolls and wands/items with spell effects the same.

Wands, probably not, because they create spell-like effects locally, from data in their own ITM definitions.

 

Scrolls, except for Protection Scrolls, probably yes, because they cast from actual SPL files via an effect.

Link to comment
Good question! I've never played a wildmage myself so I can't answer nor test atm. I also wonder if the game treats scrolls and wands/items with spell effects the same.

Wands, probably not, because they create spell-like effects locally, from data in their own ITM definitions.

 

Scrolls, except for Protection Scrolls, probably yes, because they cast from actual SPL files via an effect.

I reasoned that myself, I just wanted some in-game confirmation. :rolleyes:

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...