Jump to content

a good way to distinguish legit cast-n-attack spells


Magus

Recommended Posts

Cast-n-attack is an often employed tactic, and for the most part it's non-legit according to dnd rules. Cast should take full round. But there are exclusions - mostly attack modifiers, such as kai ability, whirlwind, blade spins, etc.

What I'm looking for is criteria that allow to determine sensibly whether a specific spl file is supposed to be "full action" or "free action" in dnd terms, by looking at that spl file only.

The best I came up with so far is that max effect duration should be short (under 2 rounds or so), and it should have one of the specified opcodes in it (apr mod, dmg mod, etc). I'm not sure it's good enough, though.

So, thoughts on how it possible or why is it impossible are welcome.

Link to comment

Are you trying to come up with an automated way to differentiate between spells/abilities that should allow actions in the rest of the round, vs. those which should not?

 

That is hard. At the outset I would separate those which are coded as arcane or divine spells. Just

READ_SHORT 0x1c spell_type
PATCH_IF (spell_type = 1) OR (spell_type = 2) BEGIN

Then check the casting speed for each one:

   READ_LONG 0x64 abil_offset
   READ_BYTE (%abil_offset% + 0x12) cast_speed

Then you could add a period after casting where APR = 0, to prevent the cast + attack combo

   PATCH_IF (cast_speed = 0) OR (cast_speed = 1) BEGIN
      ADD_SPELL_EFFECT INT_VAR opcode = 1 parameter1 = 0 parameter2 = 1 duration = 5 END
   END
   PATCH_IF (cast_speed = 2) OR (cast_speed = 3) BEGIN
      ADD_SPELL_EFFECT INT_VAR opcode = 1 parameter1 = 0 parameter2 = 1 duration = 4 END
   END
...etc.

It won't be precise because casting speed is measured in .6 seconds, while duration is measured in whole seconds.

 

But honestly, if this is the intent, I think it might be sufficient to add such effect to all arcane and divine spells, and allow all innate abilities to have the cast+attack ability. At least in a first pass, that would be an effective and interesting tweak. As you and others play and you get feedback, you could build a list of innate abilities that should also get the treatment, and then add that in an update.

Link to comment

All Infinity Engine games use AD&D rules, where there is no such thing as a free action or a full action. You get to do one thing per round, period.

Well... this is a high rules including game, so this is not true either, as you have the HLA that removes this restriction for ... mages, the Improved Alacrity, and everyone else that uses the opcode #188 correctly. *Goes to cast 50 magic missiles in a round.*

Link to comment

Actually, it's not just Improved Alacrity. That allows you to cast two (or more) spells in a round, but the lowliest level 1 fighter/mage can cast a magic missile (or use a wand or potion) in 1/10 of a round, and spend the remaining 9/10ths of the round attacking.

 

This is indeed contrary to the AD&D 2E rules, but it is how the Infinity Engine works. If you want to bring the I.E. games into line with the PnP rules, the method I outlined above is my best idea for how to do it.

Link to comment

Actually, it's not just Improved Alacrity. That allows you to cast two (or more) spells in a round, but the lowliest level 1 fighter/mage can cast a magic missile (or use a wand or potion) in 1/10 of a round, and spend the remaining 9/10ths of the round attackin...

Yeah, wopdidoo, the whole 1 attack per round. That's so broken one needs to fuck up the whole rest of the game to get around that. Why not just set the mages walk speed to zero as well... ouh and take 20 damage while at it.

Sometimes I am just puzzled with how you reason your proposed changes ...

Link to comment

It really applies to MMM, where you get 5 apr. You shouldn't be able to cast any spell and still have that kind of firepower after in 1 round. There are certainly other case too, like Black Blade + Haste, where this "one action per round" really ought to be enforced.

Well, you can make those spells not allow spell casting can't you not ?

Link to comment

... how would you get the AI to play along (yet another SCS revision/update/patch).

I have a great doubt that players will have any pity on the AI exploiting the fact that they can do this in the original game, so removing this from EVERYONE should correct that. PS, the spell just becomes a smaller polymorph spell so that's not a great deal either. And considering that if one sets the casting times of these spells to instantaneous, the actual casting time is the number of attacks per attack speed, which is likely to be a non zero.

 

So, to conclude, DO NOT fuck up the rest of the spells, but only nerf - and power up these specific spells, on how ever you see them to fit into the rule system(that you implement).

Link to comment

 

Actually, it's not just Improved Alacrity. That allows you to cast two (or more) spells in a round, but the lowliest level 1 fighter/mage can cast a magic missile (or use a wand or potion) in 1/10 of a round, and spend the remaining 9/10ths of the round attackin...

Yeah, wopdidoo, the whole 1 attack per round. That's so broken one needs to fuck up the whole rest of the game to get around that. Why not just set the mages walk speed to zero as well... ouh and take 20 damage while at it.

Sometimes I am just puzzled with how you reason your proposed changes ...

1) Hyperbole much? We're just talking about making it such that you can cast a spell in one round, and perform melee attacks in the next round. Which is what the rules of AD&D are. No part of the game is being F'd up here.

 

If you're worried about situations where you should/need to be able to do this (though I can't think of any) then you could code the zero-APR effect as a distinct spell and apply it via 146. And then temporarily it permanently, whenever necessary, you could grant immunity to that spell. Heck, it could even be an HLA for fighter/mages, or something.

 

2) I didn't propose anything - if I wanted to do this, I would have done it already. someone else proposed making a change to bring the IE in-line with the actual game rules, for their own benefit on their own game (and why do you even care???), and I'm trying to help.

 

3) This would work fine with AI, no updates needed... I think. SCS/SoD AI might try to cast + attack, but for the remainder of one round it simply won't work. And st the beginning of the next round they will be able to cast, OR attack, once again.

Link to comment

Archived

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

×
×
  • Create New...