Jump to content

WanderingScholar

Members
  • Posts

    89
  • Joined

  • Last visited

Everything posted by WanderingScholar

  1. I'm glad you mentioned this. I never looked at the wands. For some reason I assumed they just referenced the appropriate wizard spell. I've already edited out the lightning bolt from SRR so I can have the original...Now it looks like I'll need to adjust IRR's wands also. The .ini option for OG lightning bolt would be greatly appreciated.
  2. Yeah many if not most of these changes are done with Spell Revisions. You can pull out the individual spell files if you want just a few changes, but just make sure you know what you're doing. It'll depend on the spell, but you'll have to make sure all the resources for it are being included. Alternatively, you can edit out most spells from Spell Revisions pretty easily without issue.
  3. Is there an easy way to revert the price changes done by item revisions? Maybe some code I can add to the setup files so I don't have to manually change the price of tons of items? The "Sensible Prices" really aren't very sensible in many ways. The original prices were batter balanced around the amount of gold you got in the game. When playing BGT, for example, you can get access to full plate almost right out of the gate since it's only 1000gp at the Thunderhammer Smithy.
  4. Is there any benefit to having the Big World Fixpack patch your mods? For instance, it patches the following in my current setup (BGT): Is this something I should be using outside of a Big World Project type install? Does it fix actual bugs or is it more of a compatibility thing with the BWP?
  5. Solved. Post can be removed. I can't seem to figure out what's causing this one. I added some lines into the scripts for dw#kanga.ssl (Kagnaxx the Demi-Lich) and dw#wkdem.ssl (Watcher's Keep Demi-Lich) so that these two would get access to instant pre-buffs that mages of their level would be expected to receive. Ordinarily, they only get an initial contingency. Any help is always appreciated. I've also attached the original unedited script for comparison. Here's the error: Input file is stratagems/demilich/ssl/dw#kanga.ssl Output file is stratagems_external\workspace\ssl_out/dw#kanga.baf Compiling 1 script ... [tb#_compile_eval_buffer/stratagems_external/workspace\ssl_out\dw#kanga.baf] PARSE ERROR at line 105 column 1-4 Near Text: THEN syntax error ERROR: parsing [tb#_compile_eval_buffer/stratagems_external/workspace\ssl_out\dw#kanga.baf]: Parsing.Parse_error ERROR: error compiling [tb#_compile_eval_buffer/stratagems_external/workspace\ssl_out\dw#kanga.baf]: Parsing.Parse_error ERROR: compiling [stratagems_external/workspace\ssl_out\dw#kanga.baf]! Here's the edited dw#kanga.ssl. All of it I just copied over from other scripts I only adjusted the spells in his CC. ///////////////////////////////////////////////////////////////// ///// Block pro/undead scrolls ///////////////////////////////////////////////////////////////// IF !GlobalTimerNotExpired("blockproundead","LOCALS") See(NearestEnemyOf(Myself)) THEN RESPONSE #100 ApplySpellRES("dw#nprun",Player1) ApplySpellRES("dw#nprun",Player2) ApplySpellRES("dw#nprun",Player3) ApplySpellRES("dw#nprun",Player4) ApplySpellRES("dw#nprun",Player5) ApplySpellRES("dw#nprun",Player6) SetGlobalTimer("blockproundead","LOCALS",300) Continue() END ////////////////////////////////////////////////////////////////////////////////////// /// I'm a lich /////////////////////////////////////////////////////////////////////////////////// VARIABLE(IsLich=True) VARIABLE(HasL1=True) VARIABLE(HasL2=True) VARIABLE(HasL3=True) VARIABLE(HasL4=True) VARIABLE(HasL5=True) VARIABLE(HasL6=True) VARIABLE(HasL7=True) VARIABLE(HasL8=True) VARIABLE(HasL9=True) VARIABLE(slowspell= ) VARIABLE(IsInvoker=True) ////////////////////////////////////////////////////////////////////////////////// /// /// Define actions /// //////////////////////////////////////////////////////////////////////////////////////// BEGIN LOOP(scsspellsubstitute1|| ) BEGIN LOOP(scsspellsubstitute2|| ) INCLUDE FILE(%scsroot%/mage/ssl/mage_definitions.ssl) END LOOP END LOOP /////////////////////////////////////////////////////////////////////////////////////// //// Setup /////////////////////////////////////////////////////////////////////////////////////// INCLUDE FILE (%scsroot%/mage/ssl/bg2/generalblocks/rest.ssl) IF !Global("DMWWKangaxxWalks","GLOBAL",1) THEN RESPONSE #100 SetGlobal("DMWWKangaxxWalks","GLOBAL",1) MakeGlobal() END IF !Global("chaincontingencyfired","LOCALS",1) OR(7) Detect(NearestEnemyOf(Myself)) BEGIN LOOP(scsplayer||1;2;3;4;5;6) Range(Playerscsplayer,15) END LOOP THEN RESPONSE #100 ReallyForceSpell(Myself,WIZARD_SPELL_IMMUNITY_ABJURATION) SetGlobal("chaincontingencyfired","LOCALS",1) DisplayStringHead(Myself,26328) ReallyForceSpellRES("dw#sumgl",Myself) ReallyForceSpell(Myself,WIZARD_SHADOW_DOOR) ReallyForceSpell(Myself,WIZARD_SPELL_IMMUNITY_DIVINATION) DisplayString(Myself,25942) ReallyForceSpell(Myself,WIZARD_PROTECTION_FROM_MAGIC_WEAPONS) SetGlobal("spelltrigger","LOCALS",40) SetGlobal("spellsequencer","LOCALS",2) ReallyForceSpell(Myself,DEMILICH_DEATH) SetGlobal("melfnum","LOCALS",10) SetGlobal("seeabjuration","LOCALS",45) // this may seem long, but the demilich is likely to get several timestops off END ///////////////////////////////////////////////////////////////////////////// //// Preps ////////////////////////////////////////////////////////////////////////////// INCLUDE FILE(%scsroot%/mage/ssl/bg2/prepblocks\instantprep.ssl) INCLUDE FILE(%scsroot%/mage/ssl/bg2/prepblocks\longprep.ssl) /////////////////////////////////////////////////////////////////// /// Set the redefend timer, to avoid recasting everything //////////////////////////////////////////////////////////////////// IF IgnoreBlock(IsOptionThree) Global("instantprep","LOCALS",0) See(NearestEnemyOf(Myself)) THEN RESPONSE #100 SetGlobal("instantprep","LOCALS",1) SetGlobalTimer("redefend","LOCALS",5) SetGlobal("nocaststoneskin","LOCALS",0) Continue() END IF RequireBlock(IsOptionThree) Global("instantprep","LOCALS",0) See(NearestEnemyOf(Myself)) CheckStatGT(Myself,17,Level) THEN RESPONSE #100 SetGlobal("instantprep","LOCALS",1) SetGlobalTimer("redefend","LOCALS",5) Continue() END IF RequireBlock(IsOptionThree) Global("instantprep","LOCALS",0) OR(2) !See(NearestEnemyOf(Myself)) !CheckStatGT(Myself,17,Level) THEN RESPONSE #100 SetGlobal("instantprep","LOCALS",1) SetGlobalTimer("redefend","LOCALS",0) Continue() END ///////////////////////////////////////////////////////////////////////////////////// //// Kangaxx risks Timestops before renewing defences ///////////////////////////////////////////////////////////////////////////////////// DEFAULT TRIGGER(!GlobalTimerNotExpired("castspell","LOCALS")) INCLUDE FILE(%scsroot%/mage/ssl/bg2/combatblocks/timestop.ssl) ////////////////////////////////////////////////////////////////////////////// //// Kangaxx summons Planetar ////////////////////////////////////////////////////////////////////////////// IF TRIGGER TargetBlock(PCsPreferringWeak) TargetBlock(Celestials) TriggerBlock(Enemy) RequireBlock(HasL9) IgnoreBlock(IsEvokerStreamline) !See([ENEMY.0.DARKPLANATAR]) // only one at a time !See([ENEMY.0.PLANATAR]) THEN DO Combine() ActionCondition(SpellAreaRESReplace,"dw#plane",WIZARD_SUMMON_PLANATAR_EVIL;!Alignment(Myself,MASK_GOOD)|150|50) ActionCondition(SpellAreaRESReplace,"dw#plane",WIZARD_SUMMON_PLANATAR_GOOD;!Alignment(Myself,MASK_GOOD)|150|50) ActionCondition(SpellAreaRESReplace,"dw#plang",WIZARD_SUMMON_PLANATAR_EVIL;Alignment(Myself,MASK_GOOD)|150|50) ActionCondition(SpellAreaRESReplace,"dw#plang",WIZARD_SUMMON_PLANATAR_EVIL;Alignment(Myself,MASK_GOOD)|150|50) END ////////////////////////////////////////////////////////////////////////////////////// /// Custom spell trigger ////////////////////////////////////////////////////////////////////////////////////// IF TRIGGER !CheckStatGT(Myself,0,WIZARD_PROTECTION_FROM_MAGIC_WEAPONS) Target(Myself) !GlobalTimerNotExpired("timestop","LOCALS") !GlobalTimerNotExpired("DMWWTimestopRunning","GLOBAL") GlobalTimerExpired("redefend","LOCALS") Detect(NearestEnemyOf(Myself)) THEN DO Action(Trigger,40,WIZARD_SPELL_DEFLECTION,WIZARD_PROTECTION_FROM_MAGIC_WEAPONS,WIZARD_SPELL_IMMUNITY_ABJURATION) // Spell Deflection, Pro/MW, SI:Abj SetGlobal("redefend","LOCALS",8) // don't get stuck in a defend-defend-defend loop and forget to do any damage END /////////////////////////////////////////////////////////////////////////// // Melee /////////////////////////////////////////////////////////////////////////// IF GlobalGT("melfnum","LOCALS",0) !HasItem("dw#melf",Myself) THEN RESPONSE #100 IncrementGlobal("melfnum","LOCALS",-1) ApplySpellRes("dw#melf",Myself) Continue() END INCLUDE FILE(%scsroot%/mage/ssl/bg2/meleeblocks/demilich.ssl) ////////////////////////////////////////////////////////////////////////// // Renew and retreat ////////////////////////////////////////////////////////////////////////// INCLUDE FILE(%scsroot%/mage/ssl/bg2/generalblocks/renew.ssl) ////////////////////////////////////////////////////////////////////////// // Look for PCs ////////////////////////////////////////////////////////////////////////// DEFAULT TRIGGER() INCLUDE FILE(%scsroot%/mage/ssl/bg2/generalblocks/mill.ssl) DEFAULT TRIGGER(!GlobalTimerNotExpired("castspell","LOCALS")) //////////////////////////////////////////////////////////////////////////// // Core magic block /////////////////////////////////////////////////////////////////////////// INCLUDE FILE(%scsroot%/mage/ssl/bg2/magetypes/demilich.ssl) //////////////////////////////////////////////////////////////////////////// //// Kill innocent people //////////////////////////////////////////////////////////////////////////// IF !GlobalTimerNotExpired("castspell","LOCALS") See([NEUTRAL]) THEN RESPONSE #100 SetGlobalTimer("castspell","LOCALS",6) ForceSpell(LastSeenBy(Myself),DEMILICH_TRAP_SOUL) RESPONSE #100 SetGlobalTimer("castspell","LOCALS",6) SpellNoDec(LastSeenBy(Myself),WIZARD_FLAME_ARROW) RESPONSE #100 SetGlobalTimer("castspell","LOCALS",6) SpellNoDec(LastSeenBy(Myself),WIZARD_SKULL_TRAP) END IF AreaType(OUTDOOR) !See([PC]) THEN RESPONSE #100 RandomWalkContinuous() END //////////////////////////////////////////////////////////////////////////// ///// Chase PCs //////////////////////////////////////////////////////////////////////////// INCLUDE FILE(%scsroot%/mage/ssl/bg2/generalblocks/chase.ssl) ////////////////////////////////////////////////////// /// If everyone is helpless, kill'em. ////////////////////////////////////////////////////// IF See(NearestEnemyOf(Myself)) OR(2) Class(Myself,MAGE) Class(Myself,MAGE_THIEF) BEGIN LOOP(scsloopvar||1;2;3;4;5;6) OR(3) !See(Playerscsloopvar) StateCheck(Playerscsloopvar,STATE_IMMOBILE) CheckStatGT(Playerscsloopvar,0,HELD) END LOOP THEN RESPONSE #100 AttackReevaluate(NearestEnemyOf(Myself),15) END INCLUDE FILE(%scsroot%/mage/ssl/bg2/generalblocks/closedown.ssl) ////////////////////////////
  6. Thanks, I tracked this down. It was the "END" at line 546 I found if I add blank rows within the code I can narrow things down by re-installing and checking the number.
  7. Any idea where I should start looking to narrow it down? Is it possible the error is in one of the setup files being included?
  8. How do I diagnose this type of error? What does (state 970) and [0] EOF mean? Is there an index for these codes. I made some edits in mage.tpa, but when I look at this file, it doesn't seem like there's anything going on at line 633. mage.tpa
  9. I just got finished reading your list and a have some thoughts. First, I suspect you might be overlooking some easier and more systematic ways to provide challenge to the player. For instance, you get an egregious amount of experience in BG2 (especially quest XP) that can boost you to high levels early if you play in any sort of completionist fashion. The enhanced editions have only made this worse, especially if you play through the whole saga (SoD included) with all the quests. I think you'd find that if you simply nerf quest or creature xp by 25-50%, and there are mods that do this, many of the encounters you face mid to late game will be on more even footing. There's really no good reason the player should be dropping HLA's, for example, before they reach ToB, if they want any semblance of challenge. Taking this type of approach is much easier than trying to manipulate the AC, THAC0, HP....etc of enemies in specific encounters. Also, if I'm not mistaken, there are still .ini options available in SCS where you can tweak the levels of enemies up or down to specified offsets. It might achieve some of the effects you are aiming for. Secondly, I'd try various mod combinations like SCS + Ascension + Spell Revisions + Item Revisions, if you haven't. There are already mods that address some of the things you've mentioned if you look. You can also shift a lot of the challenge in the game by tweaking some of the more exploitative things the player can do . In my own game, for example, I've done things like disable area transitions during combat, with the ToBexAfterlife mod, or set a flag on Chain Contingency type spells so they can't be cast in battle. Lastly, I do agree with many things in your list when it comes to spicing up encounters and various AI improvements. Even though SCS is already pushing the engine to the limits of its capabilities . I think my approach would probably be to focus more on the capstone encounters, much like SCS has already done with components such as tougher "end of chapter" battles. Something like the final showdown with Carston, at the end of Watcher's Keep level 4 could probably use some spicing up. Perhaps he panics before being broken from the machine, randomly pressing buttons and pulling levers which summon a random assortment of enemies that the party has to face alongside him.
  10. Hey @DavidW, it's nice to see you back on the forums. It looks like you started a brief guide on the stratagems function library some time ago. Chapter 1 of this is contained in sfo.docx, but I've never been able to locate any subsequent chapters. Did you ever write or publish them?
  11. Thanks, this is what I suspected. I missed the correlation to file names.
  12. What assigns a given spell it's symbolic name and # in SPELL.IDS? When viewing a spell file in NI I can see the name and number listed, but there's no field referencing it under the "edits" tab. So, I'm either missing it or it can't be changed. What happens when two different names share the same # in SPELL.IDS? Many mods that add or edit spells append SPELL.IDS with this being the result. I have a hunch as to why this is done, but I don't want to speculate.
  13. I like this idea of making Spellstrike remove Spell Shield + all spell protections. That seems like a decent upgrade from it's vanilla without going too overboard. Taking a cursory glance over the SCS combatblocks doesn't raise any apparent conflicts. I don't see any triggers that prevent Spellstrike from being cast on a SS protected target. Although, you might consider adding this if you wanted to give the AI an incentive to use it on Spell Shield protected PC's. Worth mentioning here is that Spellstrike has to compete with other 9th level spells, such as Chain Contingency, which can release triple Pierce Shields in a single round mid-combat. This is even deadlier since SR gives Pierce Shield the ability to remove combat protections in addition to magic ones, making it potentially more powerful than Spellstrike just on it's own. That aside, I think some of SR's anti-magic could benefit from a bit of tweaking in general. For instance, in my own game I changed these slightly: Pierce Magic-> Removed the 2 round MR nullification and replaced it with lowering MR 2% per level. Similar to vanilla Pierce Shield-> Removed the "breach" component and replaced it with the 2 round MR nullification that Pierce Magic had.
  14. What are the differences between override, class, race, general, and default scripts? Is there an order of priority? I can't seem to find any resources explaining this on IESDP. Also, do I use something like: WRITE_ASCII 0x260 None //remove general script if I want to remove a given script. Thanks
  15. Yes, the Death Knight is very strong and could probably use some adjustments. It's a 7th level summon with 8th and 9th level spell access. For player use the SR demon scripts check your level and stats to determine the chance of the demon turning hostile on summon. I guess a possible way you could "balance" this is through a player imposed restriction. Instead of save scumming for a non-hostile demon you could accept the risk and consequences. For enemy use, the newest versions of SCS reduces demon summoning quite significantly, restricting it to only liches and a handful of named casters. Because of this it likely won't have much of an overall impact on your game if you include it. It's also worth mentioning that the vampires are given another trick up their sleeve in their ability to drain CON on hit from SCS. This addition gives vampires a bit more teeth since they're a major plot monster in SoA, and the player has to stay on their toes regardless of having NPP or not. In fact, those of you that played older versions of SCS probably remember this ability got nerfed in v32 because of how deadly it was in major vampire fights. Players have a massive disincentive to send unprotected party members into combat with level draining creatures given the hassle of having to restore them + the penalties of level drain itself. In the base game, most people would just pass around items that granted NPP to appropriate NPC's when the encounter called for it. If you think the duration is now too long I'd wonder what your trying to aim for. Aside from a handful of encounters like Improved Shade Lord with SCS, I doubt you'd memorize more than 1 or 2 of these anyway.
  16. Just though I'd chime in here. I'm currently making my way through a SCS SRR+IRR install on BGT. I can confirm that those bonuses, at least with my mods, are indeed being applied. Furthermore, the increased hit point components from SCS are also stacking on top of some summons modified by SR. For example, pit fiends like "DEMPITSU.CRE" have ~270hp and -7 THACO in my game with all the bonuses applied. I have SR fiends=1 mostly because I prefer the improved stat blocks, but needless to say this could use some tweaking. The SR pit fiends also hit like trucks since they're boasting a strength of 25 (dragons), and IMO should be lowered to be more in-line with say, Balors at 21. In any case, I'm actually planning to systematically re-adjust the stats of many creatures, fiends in particular, in what will hopefully be my first tweaks mod. With SR installed broad inconsistencies arise between the SR summoned creatures, and others of the same type that exist in game. I want to rectify this and make some other small stat adjustments to creatures that should probably receive some improvements, but are left out of the party. When I finish my playthrough and testing I'm going to do a write up in the SRR and IRR forums, so hopefully if time allows that will be coming in the next few weeks.
  17. This should do it ACTION_FOR_EACH ~file~ IN ~AMLICH01~ ~CEDELICH~ ~D0LICH02~ ~DW#LICH1~ ~DW#LICH2~ ~DW#LICH3~ ~DW#LICH4~ ~DW#LICH5~ ~DW#LICH6~ ~DW#LICH7~ ~DW#LICH8~ ~DW#LICH9~ ~FIRLCH01~ ~GRVLCH01~ ~HLKANG~ ~HLLICH~ ~HLSHADE~ ~HLSHANG~ ~JARLICH~ ~LICHEL01~ ~SENLICH~ ~UDTRAP04~ ~CELICH~ BEGIN ACTION_IF FILE_EXISTS_IN_GAME ~%file%.cre~ BEGIN COPY_EXISTING ~%file%.cre~ ~override~ ADD_CRE_ITEM ~RING95~ #0 #0 #0 ~IDENTIFIED~ ~RING~ END BUT_ONLY END I checked each for an empty ring slot
  18. Well I play the original BGT so no SoD, but it looks like I'll have to read both of the ring slots and use patch if neither of them contain RING95.ITM since ADD_CRE_ITEM is going to put it in regardless. I guess there are other ways I could do this like patching the opcodes for poison immunities, which are probably the most urgently needed, directly into the creatures. Edit: Scratch that, it's probably better if I just list out the individual creatures that are missing it. I just found a lich with 2 rings so it's not going to work the other way
  19. @jmerryOK, are you saying that DEFINE_PATCH_FUNCTION would break the above? I was a bit worried about this. At a cursory glance most creatures with race=lich already have either LICH.ITM as their only ring, or both. I wasn't sure how to write this to check for RING95.ITM (possibly READ_ some offsets), but I figured I should be safe about the bumping since BUT_ONLY should prevent liches with RING95.ITM from being patched at all? Neither here nor there but did they ever fix this in the EE editions? I don't have them installed but you can check if you look at HLSHANG.CRE or HLKANG.CRE. It's rather embarrassing to die from poison as a lich.
  20. This may be a bit elementary, but is there an easy rule of thumb to differentiate between using DEFINE_ACTION_FUNCTION or DEFINE_PATCH FUNCTION? From what I understand WeiDU goes from patch and action context depending on the command it encounters. For instance, I wrote this bit of code below to ensure that all liches in my game receive their undead immunities through RING95.ITM. //// liches should have undead immunities DEFINE_ACTION_FUNCTION minor_lich STR_VAR race="" BEGIN COPY_EXISTING_REGEXP ".*\.cre" ~override~ PATCH_IF ~%race%~ STRING_EQUAL_CASE LICH BEGIN ADD_CRE_ITEM ~RING95~ #0 #0 #0 ~IDENTIFIED~ ~RING~ END BUT_ONLY END I used DAF here so I can easily append the top of this setup file with: Could I just have easily used DPF in this instance? I've see plenty examples of mods using patch functions like COPY_EXISTING under both.
  21. @jmerry Thanks, that's just what I was looking for! Sure enough, LPF ALTER_SPELL_EFFECT is under the macro section in WeiDU doc, totally missed that. This is more concerning to me. Maybe I should mention the full context of what I'm trying to do. Spell Revisions makes changes to meteor swarm that I don't like so I've gone and edited out all the lines in spell_rev\components\main_component.tpa which add the new meteor swarm into the game. As well as the projectile change. That being done I'd like to make my own changes to the vanilla spell that remains. /*ADD_PROJECTILE ~spell_rev\projectles\dvmswarm.pro~ COPY ~spell_rev\spwi9##\spwi911.spl~ ~override~ // Meteor Swarm SAY NAME1 @825 SAY UNIDENTIFIED_DESC @826 WRITE_SHORT 0x98 %dvmswarm% COPY ~spell_rev\spwi9##\scrl9t.itm~ ~override~ SAY NAME2 @825 SAY IDENTIFIED_DESC @826 COPY ~spell_rev\spwi9##\dvmeteor.vvc~ ~override~*/ spwi911d.spl is in my game despite this being edited out. Indeed, it is a subspell with the damage effect for spwi911.spl. Now, I'm modding the originals so maybe this is a discrepancy between them and EE editions, but I doubt it. Else I'll have to figure out where spwi911d.spl is coming from. Here are some clues Mods affecting SPWI911.SPL: 00000: /* created or unbiffed */ ~SPELL_REV/SETUP-SPELL_REV.TP2~ 0 20 // Mirror Image Fixv4 Beta 18 (Revised v1.3.900) 00001: ~SPELL_REV/SETUP-SPELL_REV.TP2~ 0 55 // Spell Deflection blocks AoE spellsv4 Beta 18 (Revised v1.3.900) 00002: ~STRATAGEMS/SETUP-STRATAGEMS.TP2~ 0 1000 // Initialise mod (all other components require this)v31 RC3 + kreso's Spell Revisions compatibility 00003: /* acted upon in an undefined manner */ ~GENERALIZED_BIFFING/GENERALIZED_BIFFING.TP2~ 0 1 // Generalized BiffingBiff all files (recommended by the Big World Dudes)v2.6 PS C:\Games\GOG\Baldurs Gate 2> Well, my best guess is that the spell deflection component of spell_rev is editing meteor swarm (the vanilla in my case) so that it allows spell deflection to absorb it since "spwi911" is listed in spell_rev\components\nwn_spell_deflection.tpa. I'm still too green to understand how this setup file works, but if this is the case then I do indeed need to edit "spwi911d". I just need to make sure my code is executed after it's been created. Holy smokes, glad you caught that. Edit: Disregard this last part. I still suspect it's part of the spell deflection component.
  22. I'm new to WeiDU and I'm looking for the easiest way to edit existing spells. This is the first bit of code I wrote to edit Meteor Swarm so that it does 12d6 damage and bypasses MR. Then I change it's description to match. I'll admit, I'm still getting confused on the correct "WRITE_X" syntax to use and how to write the offset location in WeiDU. I think I've deduced that the size column in NI corresponds to the syntax. 1 for BYTE, 2 for SHORT, 4 for LONG, and 8+ ASCII. The offset part is also tripping me up. When using the Find tool in NI and searching for hex values I can't get anything to return so I must be entering something wrong. My best effort is that start offset | A7h (167) is written as 0x0a7. I see many mods using "LAF edit_spell STR_VAR..." which looks like a much cleaner and easier way to do this, but I couldn't find the right examples to feel confident enough.
  23. @Bartimaeus See @subtledoctor's comments. Everything should be fine from your end. Like he said, this issue is because I'm mixing mods from different eras.
  24. Ok it looks like SR uses REPLACE_TEXTUALLY ~^2508[ %TAB%]+WIZARD_CHAOS to change the original entry to WAVES_OF_FATIGUE because it later appends CLERIC_CHAOS and WIZARD_CHAOS into spell.ids for the 7th level sphere of chaos and there needs to be differentiation? cleric sphere of chaos wizard sphere of chaos I think I can remedy this by removing the cleric APPEND line to and then remove the append line from the wizard since 2711 WIZARD_SPHERE_OF_CHAOS already exists in spell.ids. My confusion comes from my ignorance of how WeiDU code identifies spells in game and the inner workings of SCS. "CHAOS" and "SPHERE_OF_CHAOS" is referenced in many of the SCSv31 .tpa/tph files concerning mages. If I don't do the above edits, but simply replace CHAOS with WAVES_OF FATIGUE in the spellchoices\demivrgvs .2da's won't that still lead to problems? I suppose in that regard I'd also have to update all CLERIC_CHAOS and WIZARD_CHAOS references in SR's setup files if I did do these edits. Something could break. @subtledoctorI see your comments while I'm writing this. Sorry to drag you guys into this. Yes, if memory serves I do believe this specific problem is corrected with the latest version of SCS. Only the latest version has other problems which likely won't be resolved until David returns from his hiatus.
×
×
  • Create New...