Jump to content


  • Content Count

  • Joined

  • Last visited


About subtledoctor

Profile Information

  • Gender
  • Mods Worked On
    Scales of Balance
    Might & Guile
    Faiths & Powers
    APR on Spec
    Hardcore Dual
    Mac Weidu Launcher

Recent Profile Visitors

17,537 profile views
  1. Would be a good fit for Nalia, I think. She fits the mold of an Agis of Asticles. Could also be interesting for Eldoth. I'm, playing one with the protagonist in my current game, and I've noticed one or two issues in my current playthrough. Nothing too major, just little glitches - like, once or twice it seems like Bioregeneration disappeared, but when I used restorative Meditation it returned. Something to do with the 206 effect, I think I've sorted it out locally. This will be a good opportunity to identify and fix bugs.
  2. Well, TBH the original design of this mod (on v0.8 and earlier - you can download and play that version!) didn't use PSPs. I didn't have any way to track a number like that that I deemed sufficiently user-friendly. (I've seen some Mana mods that use scripts and local variables, and you have to press a key or use an ability to see your current point total... I don't like that at all.) But there is an easy-to-see point total that is always visible on the main game screen: your hit points! So I conceived of psionic powers is being fueled by your health, and I created a pretty complicated system wherein the use of powers would reduce your *maximum* hit points by a set amount, and then it would slowly recover. This made for a mana-caster-type class with a natural limit on the use of powers: use too many and you would become alarmingly vunlerable. OTOH in particularly dire circumstances that might be worth it: if you knock yourself down to 3 hit points but your last bit of energy fuels an Ultrablast that neutralizes the dragon... that's dramatic and satisfying gameplay. The psionicist was a thief kit which generally played like a fairly weak thief, plinking away with a crossbow 2/3 of the time and only using psionics a few times in any given battle. Then, after various iterations of my spontaneous casting mods, I created my Mana Sorcerer kit, and realized I could use that system for PSPs. So now, this mod has two parallel systems. You have a (relatively small) set amount of PSPs, which do not regenerate until you sleep. In my current BG2 game my Psypher has 45 PSPs, and low-level psionic abilities cost 6 PSPs each use. If I played it like a caster, that amount of PSPs would only be good for 1-2 fights. And these are not strong abilities: Project Force is weaker than Magic Missile, Immobilize is weaker than Hold Person, Molecular Agitation is weaker than Flame Blade, Metabolic Acceleration is weaker than Haste, etc. The general designed usage of these abilities is the same as in 0.8: utility spells that can give you a slight edge. So my current concept is, rather than give you a ton of PSPs and play this like a limitless caster, give a small store of PSPs, but if you run out and are not in a position to rest for the night, you can then dip into the original health-based system for using powers - with all the attendant risks. This means that, overall, you have the ability to use abilities more than in 0.8; to offset this, I have increased the cost of using powers and decreased the rate at which your health regenerates. On an average day you don't want to be dipping into your health to use psionics; but if you've slogged all the way through Firkraag's dungeon and you're running on fumes but you really need to defeat Conster and finish the dungeon... you can.
  3. I still maintain that the base IWD-in-EET should simply add the IWD games as campaigns, the way Black Pits is in BGEE. (Specifically, one component to add the three IWD1 campaigns for those who can’t use .exe hacks, and obe component to add the IWD2 campaign for those who can.) And then have separate components and/or separate mods for actually tying those campaigns to the main adventure. Plenty of opportunity for people to make it work however they think would make sense. But! I don’t think it’s going to go in that direction.
  4. I never read any Icewind Dale novels, and the word is obviously familiar to me, so it must have something to do with the video game. It's been a while since I played IWD - Beamdog screwed up the 2.5 patch and prevented iOS players from modding their games - but I recall at the end, you transport form Lower Dorn's Deep back to Easthaven for the end-game, there is some kind of crystal that is important to the plot. You fight the multiple-man Pomab over it? Isn't it how Belhifet opened the Gate? Or, how you teleport to the Gate to stop him? Something like that. You are only missing that K4thos is doing this as he sees fit, period, end of story. So all this discussion is moot... sorry
  5. Agree. I also just finished SoD for the first time. There is also a mention of the Crenshinibon (or whatever) by the fiend at the end who lets you onto the elevator. Pretty minor stuff though. OTOH k4thos is determined to include both IWD1 and IWD2 (which IMHO is unfortunate... this probably would have been playable long ago, and wouldn’t require engine hacks that exclude certain platforms, if it was limited to IWD1). And IWD1 + IWD2 together does need some kind of time-travel nonsense...
  6. Good catch - post edited. I don't love using "WRITE" as an integer variable, when it is so close to something Weidu might construe as a command. Nevertheless, this code works perfectly for me: APPEND ~splprot.2da~ ~KIT_IS_EXACT%TAB%152%TAB%-1%TAB%1~ UNLESS ~KIT_IS_EXACT~ COPY_EXISTING ~splprot.2da~ ~override~ COUNT_2DA_COLS cols READ_2DA_ENTRIES_NOW rows cols FOR (row = 1; row < rows; ++row) BEGIN READ_2DA_ENTRY_FORMER rows row 0 ~stat~ PATCH_IF ~%stat%~ STRING_EQUAL_CASE ~KIT_IS_EXACT~ BEGIN SET kit_is_row = %row% END END BUT_ONLY COPY_EXISTING ~kit.ids~ ~override~ COUNT_2DA_COLS cols READ_2DA_ENTRIES_NOW rows cols FOR (row = 1; row < rows; ++row) BEGIN READ_2DA_ENTRY_FORMER rows row 1 ~kit_name~ READ_2DA_ENTRY_FORMER rows row 0 ~kit_ind~ PATCH_IF (~%kit_name%~ STRING_EQUAL_CASE ~JESTER~) BEGIN SET WRITE = %kit_ind% END END BUT_ONLY COPY_EXISTING ~spwi304.spl~ ~override~ PATCH_IF VARIABLE_IS_SET ~%WRITE%~ BEGIN LPF ADD_SPELL_EFFECT INT_VAR opcode = 318 target = 1 parameter1 = %WRITE% parameter2 = %kit_is_row% timing = 1 STR_VAR resource = ~spwi304~ END END My hypothesis is that it failed for you because it failed to match a kit name to "ECSTATIC." That's why I added the "PATCH_IF VARIABLE_IS_SET" here.
  7. Good point. Yeah, this mod adds the wild talent check to every kit in kitlist.2da, so it should be installed after most kits. The exception is Might & Guile: that mod should be installed after this, and the kits MnG adds will themselves add the wild talent check if it detects WtP has already been installed. So my current install order looks like: — stuff — kits — Will to Power — Might & Guile — tweaks A note on playing with this mod: I just started a ranger/psion in BG2. Level 7/7 with 89K XP gives me 45 PSPs. The whole first level of Chateau Irenicus I used my abilities super sparingly, basically just Regeneration to heal and Mind Ward to not be Dire Charmed by Ilyich’s wizard. Otherwise I played it like a kind of weak fighter. That was a mistake! I got to the 2nd level and met Yoshimo and I still had 33 PSPs left - and realized that the 1st level is actually way harder! I should have been using psionics more to power myself up; even if I ended up running low on PSPs, you can still use psionics when you have no PSPs left! So don’t do what I did... use these abilities!
  8. Faiths & Powers now lets all clerics and druids decide in-game whether they want to learn and cast spells in the Vancian way, or like a Shaman. It requires you to install the sphere system, I think Might & Guile has a bard class overhaul that allows bards to learn spells from scrolls, but cast them spontaneously like sorcerers. (You can choose a selection of your known spells to be available for casting the next day.) These ‘bards’ are multiclass mages, which can cast up to 7th-level spells. I have not ported this casting system over to the general wizard class. These may not be exactly the implementation you want, but they are pretty extraordinarily complex. Some kind of simpler method of modding classes’ hard-coded spellcasting characteristics is simply not possible, I fear.
  9. Yeah, this is cool. I did this a bit a long time ago, before the EEs existed. I have been begging Beamdog for like eight years to add a spell effect or script action to do this in-game. Then you could do all sorts of interesting things with multi/duals. I have had a "demi-human level limits" mod planned for years. But alas, they have never added it.
  10. It's been a long while since I delved into this, but I think the problem with row 109 of SPLPROT is that it uses bit equality, so it can return false positives. Some of my code for adding a better line: APPEND ~splprot.2da~ ~D5_KIT_IS%TAB%152%TAB%-1%TAB%1~ UNLESS ~D5_KIT_IS~ COPY_EXISTING ~splprot.2da~ ~override~ COUNT_2DA_COLS cols READ_2DA_ENTRIES_NOW rows cols FOR (row = 1; row < rows; ++row) BEGIN READ_2DA_ENTRY_FORMER rows row 0 ~stat~ PATCH_IF ~%stat%~ STRING_EQUAL_CASE ~D5_KIT_IS~ BEGIN SET kit_is_row = %row% END END BUT_ONLY If you are doing this for a custom kit and =you just installed that kit in the same mod component, Weidu automatically creates a variable with the kit's IDS number in the kit name. Example code for my kit called "D5_BARD:" OUTER_SET this_kit_code = (0x4000 + %D5_BARD%) To get the IDS number for a different or pre-existing kit, treat KIT.IDS as a .2DA file and use READ_2DA_ENTRY: COPY_EXISTING ~kit.ids~ ~override~ COUNT_2DA_COLS cols READ_2DA_ENTRIES_NOW rows cols FOR (row = 1; row < rows; ++row) BEGIN READ_2DA_ENTRY_FORMER rows row 1 ~kit_name~ READ_2DA_ENTRY_FORMER rows row 0 ~kit_ind~ PATCH_IF (~%kit_name%~ STRING_EQUAL_CASE ~JESTER~) BEGIN SET this_kit_code = %kit_ind% END END BUT_ONLY Then in 318/324/326 effects, use those two variables: LPF ADD_SPELL_EFFECT INT_VAR opcode = 318 target = 1 parameter1 = %this_kit_code% parameter2 = %kit_is_row% timing = 1 STR_VAR resource = EVAL ~%whatever%~ END
  11. Only the initial 36 was a fluke. This can happen at the very beginning of a game, but it corrects itself when you use any power. Should be fine after that. It should just be a bug with the initial display - not with the recording of your actual PSPs. For clarity: wild talents with devotions get 18 PSPs (3 uses/day before you have to dip into your health); wild talents with sciences get 20 PSPs (2 uses/day before dipping into your health).
  12. 109 doesn’t work for kits. I don’t know why they used bit equality in that line, maybe for some game function or maybe it’s an error. But for kits you need to add a new line to SPLPROT which uses normal equality in the RELATION column. Then in 318/324/326 effects, in parameter1, IIRC you use the hex IDS value from KIT.IDS.
  13. I've seen several people ask about that, so I made a brief tutorial over here.
  14. I've mentioned several times recently that I find Near Infinity (or "NI") to be more reliable than EEKeeper for savegame editing. Near Infinity has several benefits, including 1) it only changes what you intentionally change - no hidden and unexplained "features" - and 2) it is cross-platform and available for use by everybody. However, Near Infinity was not purpose built for this, and the interface is slightly clunky. In this post I'll walk you through how to do it. First, download and install Java and Near Infinity. Instructions for that are beyond the scope of this post; I'll go on the assumption that if you can install one program on the web, like EEKeeper, than you can install another one like NI. When you open the program, I advise you to turn on the option to "show hex offsets." This may not be immediately useful, but if you end up using NI more, the ability to spot the offset of a field at a glance will be very useful. Now let's get down to business. On the left side of the app is the window with the game's various file types. For our purposes today, you want to choose the category "save." Now comes the first mildly confusing part: you might think (as I once did) that you should click the .SAV file. But no - you actually want to edit the .GAM file within a savegame: In the .GAM file, you will see the following window to the right. It shows "player characters" (i.e. current party members), "non-player characters," and "variables." Generally, for replicating what most people do with EEKeeper, you want to double-click someone in the "player characters" window. These are the party members, with the first character of their name replaced by an asterisk. So *MOEN, *AFANA, *AHEIRA, et cetera. Charname is called *HARBASE. Double-click one and it will open that character file. This just displays info; now you need to click the "Edit" button at the top of the window. Then you will see this: We're getting closer, but this is still not what we need. Scroll to the bottom of this window, and you will see the "CRE resource" entry. THAT is what we want to edit. Double-click it and we get to the good stuff: This window has everything you might want to edit about your creature: stats, hit points, XP, proficiencies, known and memorized spells, equipment, everything. Editing things is fairly straightforward, in most cases. (Adding items is a bit of a hassle... but honestly you're way better off doing that with console commands in-game, so no big deal anyway.) When you are done editing things, simply close every window one by one, and save when it prompts you to save. Done!
  • Create New...