Jump to content

DavidNYC

Members
  • Posts

    22
  • Joined

  • Last visited

Everything posted by DavidNYC

  1. Hey @subtledoctor, after being away from this for a week, any of these variations are fine. 'Defense' is more succinct than 'mage protection' or 'spell protection'. "Better Spell Defense Visuals" or "Better Spell Defense Visual Feedback". Selection Circle Ioun Animations Here are a few more options to include at your discretion. IMO none of them are as 'necessary' as the ones we've already done. They're more helpful reminders on party members rather than enemies. Shield wouldn't merit an animation at all except that it grants immunity to magic missile, which I tend to use as a spell interrupter, and most SCS mages cast Shield. I've done Shield (white), Protection from Magic Energy (purple), Protection from Fire (red), and Protection from Cold (blue). I haven't done anything for Electricity, Acid or Poison, and even Cold is fairly irrelevant. If I ever thought I wanted to animate some other spells, I wouldn't hesitate to repurpose any/all of these to different spells. ACTION_FOR_EACH file IN SPWI114 dwsw114 // Shield BEGIN LAF DK_Invis_Animations INT_VAR mTarget=1 mCloneOpcode=0 STR_VAR mCode="114" mFile=EVAL "%file%" mAnim1="ion1Shld" mAnim2="ion2Shld" mInsert="first" END END ACTION_FOR_EACH file IN spwi606 dwsw606 // Protection Magical Energy BEGIN LAF DK_Invis_Animations INT_VAR mTarget=2 mCloneOpcode=31 STR_VAR mCode="606" mFile=EVAL "%file%" mAnim1="ion1MagE" mAnim2="ion2MagE" END END ACTION_FOR_EACH file IN spwi319 dwsw319 // Protection Fire BEGIN LAF DK_Invis_Animations INT_VAR mTarget=2 mCloneOpcode=30 STR_VAR mCode="319" mFile=EVAL "%file%" mAnim1="ion1Fire" mAnim2="ion2Fire" END END ACTION_FOR_EACH file IN spwi320 dwsw320 // Protection Cold BEGIN LAF DK_Invis_Animations INT_VAR mTarget=2 mCloneOpcode=28 STR_VAR mCode="320" mFile=EVAL "%file%" mAnim1="ion1Cold" mAnim2="ion2Cold" END END ioun orbit selection circle.zip
  2. @subtledoctor I think I still prefer something like "Better Spell Protection Visual Feedback", but I'm handing off the decision to you. We're both so deep in the details that it just occurred to me how half the animations are COMBATPROTECTIONS rather than SPELLPROTECTIONS. If I had to guess the single most useful feature for an average player, it's being sure when pfMW has been removed from an enemy ("I cast Breach but I still can't damage him!" At least now he'll see the purple bulb is still there). Anyway, the mod's headline descriptive paragraph can contain whatever keywords you think people will search for, and a couple of images are even better. "Have you ever been frustrated when you've cast Breach on an enemy wizard and are not sure if it removed his Protection from Magic Weapons? Have you cast Secret Word and wondered 'did that just remove Immunity:Abjuration or Minor Spell Deflection?' Wonder no more..."
  3. @subtledoctor It's certainly your call if you want to do that. I feel like it happens infrequently enough that I can live with it. I tried to replicate the problem with TRAKK01.CRE (Adratha who turns into a Rakshasa). She uses dw#mg404.bcs and pretty reliably casts multiple protections and then, after a couple of rounds, Shadow Door. However, her animations are reappearing on attack. I looked at dw#mg404.bcs and see why: These blocks alone would prevent the need for the Global Effects that SCS puts in all hostile mage spells (though it might be more responsive by a couple of ticks to have them in the spell Global Effects). Anyway, if every enemy had this in at least one script, that would solve the problem. But I'm not suggesting screwing around with that. I could swear there's at least one Rakshasa floating out there without this scripting component, but this is evidence that SCS is aware of the possibility on certain enemies. The "Dispelling Screen on a Shadow Thief" is still real, but it's less of a concern. As an aside, the posterboy for this mod is the Shade Lord. In SHADEL.BCS he always starts combat with: RESPONSE #100 SetGlobalTimer("mantle","LOCALS",EIGHT_ROUNDS) SetGlobalTimer("castspell","LOCALS",ONE_ROUND) DisplayString(Myself,121651) // Shadow Mantle ApplySpell(Myself,WIZARD_PROTECTION_FROM_MAGIC_WEAPONS) // SPWI611.SPL (Protection from Magical Weapons) ApplySpell(Myself,WIZARD_SPELL_TURNING) // SPWI701.SPL (Greater Spell Deflection) ApplySpell(Myself,WIZARD_MIRROR_IMAGE) // SPWI212.SPL (Mirror Image) ApplySpell means the only log output is 'Shadow Mantle'. The player could understandably assume that refers to vanilla's Mantle or Improved Mantle. But since it's actually pfMW, the new animation reliably tells you what happened. Good point. I agree it should have a ghostly visual. Completely your call what to do with Sanctuary for the mod. If you choose to just go with a SANCTRY.BAM replacement, I'd say scrap my previous one and consider this one instead (file attached). SANCTRY.BAM
  4. @subtledoctor Other comments: 1. Mod Name I'd strongly suggest a name like "Better Mage Protection Visual Feedback" or "Better Spell Protection Visual Feedback". "Better Spell Visuals" is fine but it could refer to "better fireball explosion animations", etc. "Feedback" is the most likely keyword I'd imagine a frustrated player would use when researching the problem this mod addresses. You might be able to think of different/better keywords. If I were putting this on Nexus, I'd seriously name it something like "How the Hell Am I Supposed to Know Which Mage Protection I Dispelled?" I think everyone would click on a mod with that name. 2. ~DavidNYC's Functional Spell Tweaks~ Let's scrap this component. I have > 700 kB's of personal tweaks to my game and there's no good reason to put this particular handful in there with an animations mod. It will just confuse people and it could conflict with the other mods you guys have done. 3. Hiding Animations (HA) improvements SCS' HA works as desired on enemy mages, but there are some edge cases where it doesn't. Since I've gone to the trouble of handling the exceptions, here it is. The easiest way to see if this is all working is to set up a scenario of an enemy mage + several other enemies. Enemy mage casts Dispelling Screen (AoE) and Mass Invisibility. The DS won't be hidden on the mage's allies if those allies start the encounter invisible and/or they turn invisible during the encounter. The DS anim gives away their position and it ruins that element of the encounter. This actually comes up a lot since almost every mage pre-buffs with DS. Good examples are attacking Mae'Var or attacking Aran Linvail's compound (e.g. see AR0328.bcs. Combinations of a Shadow Mage and several shadow thieves, FLYFGT[01-04].CRE) HA Fix 1: Some common SCS Invisibility spells don't have the Animation Hiding code. (e.g. Potion of Invisibility) ACTION_FOR_EACH file IN dw#silin // scs invisibility dw#illin // scs improved invis potn10 // potion of invis sppr516 // pixie dust BEGIN COPY_EXISTING_REGEXP GLOB ~%file%.spl~ ~override~ // remove effects at expiration of this invis spell LPF DK_CLONE_EFFECT INT_VAR match_opcode=20 multi_match=1 opcode=326 timing=4 parameter1=0 parameter2=0 STR_VAR resource=~DW#BLHDA~ END // SCS method applies effects to SOURCE (43). Later change to ALLIES(49) for any AoE Invis. LPF DK_CLONE_EFFECT INT_VAR match_opcode=20 multi_match=1 opcode=326 timing=1 duration=0 parameter1=0 parameter2=43 STR_VAR resource=~DW#HDANI~ END BUT_ONLY END HA Fix 2: Apply animation hiding to allies as well as caster for AoE invisibility spells (e.g. enemy mage casts Invis 10') ACTION_FOR_EACH file IN spwi307 // invis 10' spwi721 // mass inv sppr516 // pixie dust BEGIN COPY_EXISTING_REGEXP GLOB ~%file%.spl~ ~override~ // legacy note: allies do NOT need splstate=180, that check is performed strictly on the caster // 43= source, 49=allies LPF ~ALTER_SPELL_EFFECT~ INT_VAR match_opcode=326 match_parameter2=43 parameter2=49 END BUT_ONLY END HA Fix 3: In preparation for the next step, create a new spell state which is permanently applied to party members. Will need this so that animations only disappear on enemies, not on PC's. I'm hardcoding a new splstate.ids (200 MY_PARTY) but I'm sure there's a more dynamic and mod-friendly way to do it. APPEND ~splstate.ids~ ~200%TAB%MY_PARTY~ // in my custom party .BS script, permanently assign splstate 200 to party members via MY_PARTY.spl // would need a better way to do this in a released mod IF Global("My_splstate_MY_PARTY","GLOBAL",0) THEN RESPONSE #100 ReallyForceSpellRES("MY_PARTY",Myself) SetGlobal("My_splstate_MY_PARTY","GLOBAL",1) END HA Fix 4: EVERY enemy gets animation hiding by ignoring splState!=180 check. Prevent Party animations from being hidden via splstate=200 (MY_PARTY) SCS assigns splstate DW_SCS_CASTER via the numerous mage scripts (e.g. dw#calab.spl is 'apply caster label'). DW_SCS_CASTER is splstate.ids #180 in my game (don't know if it's hardcoded or dynamically assigned). Any invisibility spell target splState!=180 gains protection from DW#HDANI. This method prevents the party's animations from being hidden (good), but it also prevents animation hiding on all non-mage enemies (bad). This most frequently happens on enemies like Shadow Thieves or Invisible Stalkers who have received a Dispelling Screen, but it also happens on any enemy without a mage script. ACTION_FOR_EACH file IN spwi206 // invis spwi307 // invis 10' spwi405 // improved invis spwi505 // shadow door spwi607 // mislead sppr516 // pixie dust spwi721 // mass invisibility dwsw206 // invis cast prev dwsw405 // improved invis cast prev potn10 // invis potion dw#silin // shadow thief stealth proxy dw#illin // shadow thief impInv BEGIN COPY_EXISTING_REGEXP GLOB ~%file%.spl~ ~override~ // remove (opcode 318 splState!=180) from every spell LPF DK_DELETE_EFFECT INT_VAR match_opcode=318 match_parameter1=180 END // prevents my party's anim from ever being hidden, prot from dw#hani.spl if splstate=200 (MY_PARTY) LPF DK_ADD_SPELL_EFFECT INT_VAR opcode=318 target=2 duration=1 parameter1=200 parameter2=110 resist_dispel=0 insert_point=0 STR_VAR resource=~DW#HDANI~ END BUT_ONLY END HA Fix 5: More consistent animation reveals via Divination Divinations without an opcode #220 'Remove spell school ILLUSION' component won't reveal animations when the target is revealed. (e.g. SR Detect Invisibility). I give every divination ability to remove ILLUSION power=0 (because DW#HDANI.spl effects are ILLUSION power 0). This won't unintentionally dispel something like level 1 Reflected Image, and it's only applied when the target is being revealed (i.e. no revealing animations when the target is still fully invisible). Note I've pretty carefully tweaked the Divinations to do what (I think) they are supposed to do, but some of your divination spells may not match mine. But this is also a pretty harmless effect (it's unlikely the enemy will have some other ILLUSION effect power=0). // Match Force Visible ACTION_FOR_EACH file IN sppr114 //faerie fire spwi224e //glitterdust spwi203d //detect invis sppr505d //true sight spwi609d //true sight BEGIN COPY_EXISTING_REGEXP GLOB ~%file%.spl~ ~override~ // correctly copies if Force Visible has a save (e.g. my Glitterdust) // Non-Detection already handled by blocking Child spells with Force Visible LPF DK_CLONE_EFFECT INT_VAR multi_match=1 match_opcode=136 opcode=220 parameter1=0 parameter2=5 END END // Match Cure Invisible COPY_EXISTING ~sppr309d.spl~ ~override~ //Purge Invisibility LPF DK_CLONE_EFFECT INT_VAR multi_match=1 match_opcode=116 opcode=220 parameter1=0 parameter2=5 END BUT_ONLY // Other divination spells // spwi515.spl (Oracle) and Thief Detect Illusion already remove all primary ILLUSION // I replace Detect Illusion spwi322.spl with Invisibilty Purge sppr309. My spwi322.spl calls sppr309d.spl // my SPCL232 SPCL732 Inq/Helm True sight call sppr505d /* optional: // dw#silin.spl is very commonly used by used by shadow thieves, djinni, and many scs scripts // currently dispellable but NONE primary school, therefore Thief Detect Illusion can't dispel // SCS intent unclear. Is this supposed to mimic Thief Modal Stealth? (i.e. non-magical effect) COPY_EXISTING ~dw#silin.spl~ ~override~ WRITE_BYTE 0x25 5 // primary Illusionist. Without this, Thief Detect Illusion won't work LPF ALTER_EFFECT INT_VAR resist_dispel=0 END // make it non-dispellable? */ HA Fix 6: Hide animations on enemies that begin encounter invisible via 'hardcoded' .CRE effect e.g. see AR0328.bcs. The Shadow Thieves start the encounter invisible because of the opcode 20 effect in their CRE. But the Shadow Thief Mage contingencies Dispelling Screen when the party enters the room, immediately revealing all their positions. COPY_EXISTING_REGEXP GLOB ~[^-]+\.cre~ ~override~ // Don't load files with - hyphen. READ_STRREF 0xc n1 //Identified name LPF DK_CLONE_EFFECT INT_VAR match_opcode=20 opcode=326 silent=1 parameter1=0 parameter2=0 STR_VAR resource=~DW#HDANI~ RET mInv=new_fx END PATCH_IF %mInv%>0 BEGIN PATCH_PRINT "CRE starts out invisible: %SOURCE_RES% %n1%" END BUT_ONLY HA Fix 99: General note on how enemy animations are revealed Enemy animations only reappear when: 1. Party casts divination (see #5 though, several divinations do not reveal them without this tweak) 2. Enemy casts a hostile spell (e.g. see the GLOBAL effects in Fireball spwi304.spl) But that's it. So if an enemy breaks invisibility by physically attacking, his hidden animations stay hidden. Often you won't care about this (e.g. Dispelling Screen remains hidden on a Shadow Thief who attacks). But it can be confusing on something like a Rakshasa who casts pfMW + Improved Inv, then physically attacks. The pfMW anim won't be revealed.
  5. @subtledoctor Cool. All your suggestions are tilted in the direction I'd tweak things, so I agree. New files are at: https://www.dropbox.com/s/d0j4l1t4d0q0trz/DavidNYC's Better Spell Protection Feedback v2.zip?dl=0 mGoI now adds a green overlay (myGlobeG.VVC), just like like GoI adds the peach overlay. // Green mGoI overlay ACTION_FOR_EACH file IN spwi406 dwsw406 BEGIN LAF DK_Invis_Animations INT_VAR mTarget=1 mCloneOpcode=102 STR_VAR mCode="406" mFile=EVAL "%file%" mAnim1="myGlobeG" END END Tweaked, same file names. I agree it's nice to have DS brightened up on enemies. Due to its location as much as its intensity, it's tough to see on an enemy with DS+GoI+GSD+SS+FSRed. On the other hand I still prefer it subtle on my party because it's AoE and I often have it running on my PC's. So I like to limit the visual distraction effect. You'll have to decide what you want to put in the mod, but my new solution is to use different anim for the party and for enemies. Of course you can choose to go with a single anim. discBlue.BAM/.VVC is no longer used. k1#scre gets dsGreen (applied to everyone) and dsRed (applied to enemies only). I permanently block dsRed.vvc for all my PC's via my custom party .BS script, but that's not an immediately mod-friendly solution. Assuming you want to implement this, I don't know best practice you guys use to accomplish this in a mod setting. // K1#SCRE used by both dwsw510 and spwi510 ACTION_FOR_EACH file IN k1#scre BEGIN LAF DK_Invis_Animations INT_VAR mTarget=2 mCloneOpcode=101 STR_VAR mCode="510" mFile=EVAL "%file%" mAnim1="dsGreen" mAnim2="dsRed" END END // in my custom Party .bs script, add opcode #296 'Protection from Animation' timing=1 resource="dsRed" to every PC. IF Global("My_block_DS_anim","GLOBAL",0) THEN RESPONSE #100 ReallyForceSpellRES("blockDS",Myself) // permanently block dsRed all PC's via blockDS.spl SetGlobal("My_block_DS_anim","GLOBAL",1) END New animation: Sanctuary New Sanctry.BAM replaces the existing BAM. Requires no changes to the spell and no invisibility handling (already handled by dw#hdani.spl, opcode #291). As an aside, you can eliminate the Sanctuary 'white glow' by externalizing the vvc. But I found I need that glow in-game as a visual proxy for the invisibility effect.
  6. I saw these posts immediately above mine and, fyi, I tweak my game to allow friendly, single-target spells through Spell Deflection by setting their power to 0.
  7. @subtledoctorIt doesn't really matter, but I use "dk" even if you just want to keep track of my 'originals' with a consistent id before using something else in the end.
  8. @subtledoctor Exactly. And just to be sure you saw it, my code to do that is there in the previous post in a Hidden Section (DEFINE_ACTION_FUNCTION DK_Invis_Animations) . If you have SCS installed right now, you should be able to run it almost as-is. Fair enough, and it's all independent to a mod of working animations. I don't know anything about the evolution of SR and didn't even know that documentation wasn't written by the original author. The very thing I love about SR & IR is that they're a rebalance I could adopt (almost) wholesale. I was starting to tweak vanilla, but when I found SR & IR it gave me the feeling of "ok, here are a fair set of rules and I'm going to work in them rather than tweaking things with my own biases." In vanilla, my party would run around with that 8 hours of 10' invisibility simply because it was available and therefore I wasn't 'cheating', but it felt cheap. Then SR' says, no, only 60s duration. I liked that decision being taken out of my hands and thinking, "ok, that option is severely curtailed, here's what I have to do differently."
  9. @subtledoctor Ok, I really have to cut this off but I saw this in my code. Please add these to the SR spell fixes. This first one is a straight up bug rather than an interpretation AFAIK. 1. pfMW is protecting from normal weapons as well as magic. I remember this was one of my first fixes. I know you guys have been working on SRR and may have caught this long ago. 2. SR allows pfNW and pfMW to stack. The base game disallowed it and even created related strref messages. This allowance may be intentional on SR's part, but it feels more like an oversight. Vanilla also disallowed pfMW to stack with Mantle, Improved Mantle or Abs Immunity while SR allows it. I do allow stacking with these since the SR versions feel designed to each have different effects (Prismatic Mantle is a clever protection that's more fun than 'weapons <= +3'). You guys have heard far more feedback though and I could be convinced otherwise.
  10. @subtledoctor Definitely agree. No, SCS would have to hardcode these changes into stratagems\spell\stratagems\invisibility_animations.tpa. That'd be between you and DavidW to see if something could be worked out. The alternative that doesn't touch SCS is what I'm currently doing: install SR + SCS, then add these animations afterwards. This should help. DK_Invis_Animations code: Sounds good. Yeah, I personally don't like ioun stone helmet animations on my PC's so I've always had them disabled. My general preference is I only want to see animations that convey "combat-relevant" information. But it's still a conflict and I leave it to you. This was more of an FYI, certainly no need to include it. I actually started by giving those conditions unique animations and just tried the glows as an experiment. Interesting how the game originally decided that 'confusion' was a condition meriting a unique animation but most other conditions do not. I know we have portrait icons, etc, but the conditions affect both PC's and enemies. Sounds good. BTW, I checked my install and I've been using 65%. Good, and I'd prompt a user message along the lines of "These changes attempt to bring protections in line with their documented behavior on https://gibberlings3.github.io/SpellRevisions/spells/arcane/." (as opposed to yet another random person doing his own thing). I know the documentation is v18, but I believe these spell issues are unchanged since v16. Heh, no, leave it as Moment of Prescience. No point in confusing people. I just made note of that since you'd see 'Improved Mantle' in my code. Thanks and good luck. There's only one other tricky component I'll have to post later. Dispelling Screen is the only AoE animation and SCS invisibility hiding doesn't work out of the box. This actually comes up a lot since virtually every mage buffs with DS and so their allies get it too. Assassinating Mae'Var, attacking the Shadow Thieves, etc., all have fights where the stupid thieves are chugging their 3 invisibility potions but their position is given away by their DS (pic is original SR + SCS animation). Anyway I do have a fix for this, I'll post it in the next few days. dw#hidea.eff dw#hideb.spl dw#hidea.spl dw#hideb.eff
  11. @subtledoctor p.s. I moved all my uploaded images to imgur. If you look back at my first posts, all the embedded images now match the contents of the .zip file.
  12. Ok @subtledoctor, here are the files and a Read Me that explains what goes where. I give everyone permission to use these files as desired. If you publish a mod which incorporates them, please give me a credit for posterity's sake. When working with the files, refer back to my previous posts for images of the various spell animations in action. https://www.dropbox.com/s/teo2grmy373liuq/DavidNYC's Better Spell Protection Feedback v1.zip?dl=0
  13. Cool, I'll have time this weekend. I agree that any discussion of how the spells should behave is an entirely separate issue. It has occurred to me that the vast majority of players play without SR. I'm going to leave this entirely in your hands if you want to release something that distinguishes between a SR game and a vanilla game. e.g. I chose a Dispelling Screen animation knowing it is an AoE effect, but in vanilla, Spell Immunity:Abjuration is single target. Maybe you'll think something else is better in that case. Non-animation issue: I'd assume 95% of people using any version of SR or your SRR are also using SCS. The main reason I switched from SCS "vanilla" to SCS "+ SR" a while back is when @DavidW specifically integrated SR v4b15 with SCS 32. https://www.gibberlings3.net/forums/topic/29765-scs-spell-systems/?tab=comments#comment-264334 "Spell Revisions - specifically, SR v4b15. v31 and earlier were officially supporting v3 of SR, which - although still the "official" version - is badly out of date. v32 goes to quite a lot of effort to systematically allow for SR in its spell choices, sequencers, contingencies, targetting, prebuffing, and strategy. (And almost all of SCS's spell tweaks are disabled on an SR install.)" I 100% agree with both of you that it's open to debate how things should work for best balance. But it seems the real driver is how @DavidW uses things. e.g. I'm almost certain he's using WIZARD_DISPELLING_SCREEN as documented. In Chapters 2 & 3, most mages cast WIZARD_DISPELLING_SCREEN as their only defense (SCS Tactical difficulty, his 'recommended' setting I believe). @subtledoctor, if you change your version of Breach to cancel the screen AND combat protections in one cast, his AI isn't expecting that (presumably he'd throw up a Spell Deflection or Spell Shield too). Anyway, your testing may have shown it still gives a good outcome. Do you guys interact with DavidW? I see he's here occasionally, but the main reason I posted here instead of an SCS thread is you guys are most active. If you do complete something, @subtledoctor, I hope it can be incorporated into SCS for widest use. Makes sense. I looked at my code comments and see I came to the same conclusion. "If cast same spell 2x (SD, SD), still only absorbs 6 levels. Still removed by one secret word. If cast two diff spells (SD, gSD), correctly absorbs 9 levels (not 6+9) BUT NEEDS 2 Secret words to remove! Therefore can't allow more than one version of SD." Since I disallow stacking of (MSD/SD/GSD/ST), always taking the best one, I don't have to consider how these stacked animations look. Heh, yeah. The world of OCD system tweaking. If you mainly attack mages with mages, what you're saying is absolutely correct. It makes things harder for the PC. But if you mainly attack mages by trying to strip combat protections, SR makes things easier by giving the PC several more options (Spell Thrust, Secret Word, etc). I've got you covered. Behold the Absolute Immunity disco ball.
  14. Before I forget, is there an admin I could message to see about adjusting my upload limit as a new poster? After 15 hrs I see I have a grand total of 87 kB upload limit restored. I see the staff page but don't know who would actually respond. If there's someone you know to message on my behalf, please feel free to do so. Yep, that's effectively the exact way I've done it. No, all the MAGICATTACK spells should take out Dispelling Screen (at least according to the documentation through SR v18). And even setting aside the documentation, I agree they should remove it. The main innovation of Dispelling Screen was to avoid the brutal vanilla cheese of Immunity from Abjuration being immune to Dispel Magic AND all the spell removals. No, it's the former. The first Breach takes out Dispelling Screen. A second Breach is then required for the combat protections. Since the two ways to remove combat protections are Dispel and Breach, the main point of Dispelling Screen is to provide one 'spell shield' that blocks the first removal attempt. I can't vouch this little chart is 100% correct for my implementation, but I think it is (again as of SR v4b16, with my fixes for things like this Dispelling Screen issue). Note the 'AoE fireball' column; I implement and expand on SR's "Spell Deflection blocks AoE spells"
  15. 100% I intend for them to have a progression as a visual mnemonic. But I added to the list over time, and Spell Trap got green for absolutely no particular reason. Generally I like 'dim, dull color' for the weakest effect > 'bright, saturated color' for the most powerful. We're on the same page. If I were redoing these four spells I would, in fact, tweak them to better reflect the scheme. I'd emphasize though that you guys should do whatever you think has the broadest appeal. I'm just providing a starting point. I've been playing with this for a while and I'm 100% sure it works as intended, but it's a whole other story to put the work into a usable mod. Yeah, I'm using (Spell Revisions: v4 Beta 16) and I don't even remember what all the starting animations are. But yes, I suppress the 'default' animations like spmagglo and spturni2 where necessary so that each spell has the desired animation and I'm not locked into the defaults. So spmagglo is attached to opcode 201, spturni2 to opcode 200, etc. My solution was (and still is) to shrink down those BAM's by 99% so you can't see them, and then I layer on the new animation I want. I've subsequently learned you can suppress all these animations via code (e.g. #202 (0xCA) Spell: Bounce (by School) -- Maintains animation SPTURNI2 on the target, can be suppressed by opcode #291). That's obviously a cleaner solution, but my method also works fine. At the risk of being all over the place: ---------------------------- I'm certain my code is producing the desired effects, but SR v4b16 definitely has some spell protection errors which I have fixed in my version. e.g. Dispelling Screen is correctly removed by Breach and Dispel (using K1#SCRE.spl), but it isn't removed by MAGICATTACK like Spell Thrust, Secret Word, etc. It's the K1#DISPEL secondary type issue vs SPELLPROTECTIONS. I change spwi510.spl to SPELLPROTECTIONS, and then apply a fix to every Breach and Dispel Magic type spell. Alternatively I could have left it as K1#DISPEL and applied fixes to all the MAGICATTACK. Long-winded way to say I don't really remember the starting point of SR v4b16. But I first started all this as a debugging exercise because I was frustrated by this specific problem. ---------------------------- My general style preference is: if the animation is something frequently on my party as well as enemies, I want the animation very subtle. If's something brief duration and/or mainly on enemies, I favor something bigger and brighter. The best example is Dispelling Screen which affects the whole party and has a 5 turn duration, and I often have it active on my party. So I definitely don't want an eyesore. The exact transparency of the discs are a matter of taste. I size them big enough so they don't get swamped by the other, brighter animations. Meanwhile I rarely use Spell Shield on the party and it's single target even if I do use it, so I give it the big blue bubble. ---------------------------- I consider SCS' "animation invisibility" to be an essential part of this. I run all the animations through a version of his code and all my new animations disappear/reappear as expected on enemies. Mentioning this just because it definitely works as desired. Dispelling screen is the trickiest one since it's an AoE effect, and we want it to disappear on an invisible enemy but not on an invisible party member. I recall that required some special tweaks. ---------------------------- My list of BAM techniques is limited to whatever I can do in Near Infinity. But it's enough. Like with the overhead ioun's, it's not obvious from the .jpg's but I stack them at different heights (in the .VVC) overhead to make them more distinguishable. So if you have a grey ioun at head height, then a blue one head height + 10 pixels, then a red one at + 20 pixels, you can get a lot of mileage from that. For the Spell Deflections, the default spturni2 is shrunk to nothing as mentioned previously, and then I add back a single animation to each one. I implement a fix that prevents a 'worse' deflection replacing a better one. SCS contingencies often do try to cast, say, minor spell deflection when spell deflection is active. I actually checked this and IIRC, the deflected spell levels do stack in SR v4b16 without a fix. I'm glad you guys might be able to do something with this. I may not be able to check back for a couple of days, and hopefully my file upload allowance will be reset!
  16. Hi @FixTesteR, ha, it would be overwhelming to list all the changes I've made over about 3 years as I play on and off. I play few games in general and I prefer to go very deep in a handful of them like BG2EE rather than play new ones. For better or for worse. Off the top of my head, a couple of points about my playstyle: My OCD way of playing is game over if ANY character dies. I greatly prefer playing with a party of 4 or 5 over playing solo. Anyone in the party dies, that's it. This is for reasons of fun, and I'm fully aware of the benefits of a solo run. I like doing every quest and am in no way trying to speed run, I want to beat every encounter. Only rest at inns and strongholds, with a couple of non-optional exceptions. I change the .ARE flags to prevent resting in dungeons or indoors, and outdoors I either disallow rest or I crank up the wandering monsters to 100%. I even replace the wandering monsters with versions that award 0 xp so there's no xp farming. This is EXACTLY the type of change a normal person would impose simply by restricting where they rest. But I like it when the option is physically taken away. One fun mod I created lets me swap in NPC's at will and do their side quests, get their dialogues, etc. I start by creating a party of 5 with my desired set up, and then as I meet each NPC in game, they're available to swap in and out. E.g. my PC #2 is a fighter-thief or whatever, and he can start as Minsc, then I swap in Edwin, then Rasaad, then back to Minsc, etc. My 5 PC's never change, #2 is always the same fighter-thief, I'm simply changing #2's name, 'death variable', override script and soundset. So I have the benefits of a customized party while still getting all the NPC interactions and quests. One example of an anti-cheese tweak is what I call "Door Bumping". We all know how one or two invisible PC's can block a door while the rest of the party hangs back and slaughters them with ranged weapons. Once again, a normal challenge run player would simply disallow that tactic. But I like to make it impossible. In each PC's script, there's a block that detects if the PC is invisible and directly next to an enemy for more than 6 seconds while combat is happening (i.e. my buddies are already shooting arrows at the enemy and he's clearly trying to get past me). After 6 seconds of this, I "force" that enemy to instantly cast a Wing Buffett effect on me (same as Dragon Wing Buffet ) that pushes me well out of the way. This works like a charm and is funny in practice. I can have 4 invisible PC's jammed up against a door vs., say, a troll who can see my 5th PC standing 10' away shooting him a bow. That troll will "door bump" them all out of the way within 1 or 2 rounds. Gotta go now, I'll check back in.
  17. @subtledoctor@Bartimaeus Thanks, I'll continue in this thread then. The main reason I posted here is my game is 100% coded toward SR and not vanilla. I won't have time to come back to this for a couple of days, but I'll be back and upload some files. My motivation is simply I love the game and especially with BG3 coming, it pains me that people revisiting BG2 will understandably find the lack of visual feedback to be painful. So I just wanted to put this out there to people who might have the ability and desire to do something with it. @subtledoctor Yeah, there's nothing special about the ioun animations except I personally remove them from helmets and so I had them available. The nice part is once this is set up, it's extremely easy to swap BAM's into each animation's VVC and pick something that's visually appealing to you. I see I got back another 500 kb file size allowance since I last posted, so here's an alternative where the 'ioun stone' orbits the character's selection circle instead of overhead. The true fiddly part of all this is selecting animations that don't overlap too much with each other, and don't overwhelm the sprite when several of them are active at once.
  18. Hey Jarno, yes, I'm using the ioun stone animations from IR. I'll check in a couple of days from now to see responses and will be able to send .bams. Aside from the ioun stones, every single one I use is a repurposed BG2EE asset. I've been trying to post the rest of my animations but I keep getting feedback that I've reached my total allowed attachment size of 1000 kB. Does this reset after 24 hours or something? It seems to be aggregating my upload sizes across multiple posts.
  19. Post deleted; all images moved to imgur and linked in the previous post.
  20. BETTER VISUAL FEEDBACK FOR MAGE BATTLES part 2 Some more screenshots of spell animations. I differentiate similar protections mainly by color. So you'll see minor spell deflection with a whitish swirling animation, spell deflection is blue, greater spell deflection is gold, spell trap is purple, etc. PfMW is a glowing purple orb over the mage's head, pfNW is a glowing grey-green orb, etc. I run all the new animations through SCS's invisibility function (the DW#HDANI, DW#BLHDA, etc.) so that they also turn invisible if the enemy is invisible, and they reappear when the mage becomes visible, etc. These are also very useful for SCS's prebuffing, since you can instantly see when mages already have precast Non-Detection, protection from Missiles, etc. ATTACHED: more spell & combat protection animations
  21. BETTER VISUAL FEEDBACK FOR MAGE BATTLES Hi Bartimaeus & Subtledoctor, I've been meaning to post this for a while and I don't know the best place where someone could make use of it. I might try the Beamdog forum as well. I've been playing heavily modded BG2EE for a while, with SCS + IR (V4 Beta 10) + SR (v4 Beta 16) being indispensable. My style is permadeath with every ounce of (what I consider to be) cheese or imbalance removed. So I've implemented tons of tweaks and bug fixes to these versions of IR and SR (probably a lot of overlap with what you've done). One of the simplest things I've added are unique animations for every mage spell protection and most mage combat protections. I can't play without it. As far as I can tell, no other mods implement this and yet I think it's the single most useful addition for even experienced players who wonder "Hmm, exactly what did my Secret Word remove on Mage #3 in this giant battle?" I'm also very fussy about subtle paperdoll 3D animations that don't overwhelm the sprites. When a mage has pfMW, Protection from Missiles, Greater Spell Turning, Dispelling Screen, Spell Shield and Minor Globe of Invulnerability on, I can visually see it at a glance. And I get immediate visual feedback as each is removed. To prevent this being too long, attached are some screenshots. I know you'll understand what I'm doing without further explanation. I've done tons of modding on my game but I've never released a mod and I don't intend to. Realistically, if this isn't incorporated into SCS or SR, it'd never get used. Anyway, let me know if you're interested and I could send you some files. I know the idea itself is simple and you could quickly replicate it if desired. e.g. Black mage has cast Dispelling Screen, Non-Detection, Greater Spell Deflection, Spell Shield, Protection from Missiles and pfMW, each with its own animation. Remainder of the spell duel:
×
×
  • Create New...