Magus Posted November 11, 2016 Share Posted November 11, 2016 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
temnix Posted November 11, 2016 Share Posted November 11, 2016 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. Link to comment
lynx Posted November 11, 2016 Share Posted November 11, 2016 no, one uses 3ed and all are just based on these rules, being severe simplifications. If you're looking for candidates, I'd start with everything that has a short casting time. Link to comment
subtledoctor Posted November 11, 2016 Share Posted November 11, 2016 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
Jarno Mikkola Posted November 11, 2016 Share Posted November 11, 2016 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
subtledoctor Posted November 12, 2016 Share Posted November 12, 2016 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
Jarno Mikkola Posted November 12, 2016 Share Posted November 12, 2016 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
Fiann of the Silver Hand Posted November 12, 2016 Share Posted November 12, 2016 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. Link to comment
Jarno Mikkola Posted November 12, 2016 Share Posted November 12, 2016 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
Fiann of the Silver Hand Posted November 12, 2016 Share Posted November 12, 2016 That was the goal of the thread. There are probably other spells that qualify the same way, like the cleric of Helm sword innate (if it grants extra attacks). The questions are, how would you nerf it, and how would you get the AI to play along (yet another SCS revision/update/patch). Link to comment
Ardanis Posted November 12, 2016 Share Posted November 12, 2016 FWIW cast-and-attack is a standard AI routine in SoD. Link to comment
Jarno Mikkola Posted November 12, 2016 Share Posted November 12, 2016 ... 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
subtledoctor Posted November 12, 2016 Share Posted November 12, 2016 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
Recommended Posts
Archived
This topic is now archived and is closed to further replies.