Jump to content

CamDawg

Gibberling Poobah
  • Posts

    12,003
  • Joined

Everything posted by CamDawg

  1. Yeah, cd_scroll_placement is invoked explicitly (and AFAIK exclusively) by IWDification's arcane spell component for bespoke placement of scrolls to supplement the process David's discussing.I was basically shooting to guarantee at least one scroll available for every spell installed.
  2. Fixpack we can discuss, but if not, another accessibility option for Tweaks is good. Two options, quick and dirty: added a gray and black border: The 'used' icon: The spell list: The spell list, but highlighted:
  3. v9 is out with this fixed.
  4. Version 9 is up, which actually for real fixes the offset issue.
  5. Cheers, I've got this fixed in the repo.
  6. Not until I finally get those patents, daggummit! In seriousness: unlike the CLONE/ALTER/DELETE_EFFECT series I don't think there's a broad enough use case for their inclusion, even if Wisp had the time. ALTER_HEADER, on the other hand, I could see a case for as I use it in a number of my mods.
  7. When I first introduced the EXTEND-O-MATIC way back in the third post, I had this to say: Well, it wasn't quite as simple as that. I paired the EXTEND-O-MATIC (patent still pending) with a new function, the TRIM-O-MATIC (patent pending), and then unified them under an umbrella function, the LEVEL_SELECT-O-MATIC (patent pending). The EXTEND-O-MATIC has been further enhanced and now scale damage; more info below. All three functions return the abil_delta variable which tracks how many abilities have been added or removed. CD_LEVEL_SELECT-O-MATIC The LEVEL_SELECT-O-MATIC will call the TRIM or EXTEND-O-MATIC depending on whether the spell needs to be cut down (e.g. you're capping a spell below its current maximum level) or expanded (you're increasing the existing level cap). As such, it takes all of the parameters of the TRIM and EXTEND-O-MATIC functions, which are covered in detail below. The only parameter that is unique to it specifically is min_abil, which is the number of abilities (aka spell headers) required for changes to be made. CD_TRIM-O-MATIC About as simple as it gets: it will delete all headers with a minimum level greater than what you specify in the level_cap variable. CD_EXTEND-O-MATIC This aims to extend a spell to the level specified in the level_cap variable by copying the highest existing level header and adjusting the duration and damage as specified. step_size is used to determine how many levels should be between every header. If you have a spell that increases a duration of something like +1 round/4 levels, you'd need a new header every four levels, and would set step_size to 4 accordingly. min_lev_alt is used if you're extending a spell with only one header. By convention the first header in a spell is always set to minimum level 1, even though it's generally the effects of a higher level, e.g. the first header of a Fireball spell is actually the level 5 effects since it does 5d6 damage. In this case you would use min_lev_alt to tell the function to ignore the minimum level and use this value instead. For multi-header abilities, keep this value at 0 so that it will read and use the level from the last header. Durations can be extended in a number of ways. Durations below min_dur will be ignored; use this to prevent short cosmetic or audio effects from being extended to the full duration of the spell. Otherwise it will calculate durations based on on of two formulas: If duration_special is set to 0, it will calculate the duration by multiplying step_dur with the level and then adding base_dur. So if a spell lasts 4 rounds + 1 round/level, you'd use base_dur = 24 step_dur = 6. If duration_special is set to 1, it will simply add step_dur to every new header created. If a spell has a duration like +1 round/4 levels, you'd use duration_special = 1 step_size = 4 and step_dur = 6. If duration_special is set, base_dur is ignored. Similarly, damage can now be extended in this new iteration of the function. The function does not change the size of dice rolled (if any), only the number of rolls and fixed damage. If damage_special is set to 0, it will calculate damage based on the header's level. Damage rolls are level multiplied with damage_rolls plus base_dmg_rolls. Fixed damage is level multiplied with damage_fixed plus base_dmg_fixed. If damage_special is set to 1 it will simply add dice rolls from damage_rolls and fixed damage from damage_fixed to every new header. The base damage variables are ignored. save_for_half allows for four values to account for the various ways that the original games split uneven damage. For example, when Fireball is cast at level 5, it rolls 3d6 damage (for which there is no save) and 2d6 damage (which can be negated with a save). On other spells, the 'extra die' goes to the save damage. The function will simply look for the save-for-half bit and do the normal damage calculations if it's found, otherwise the following information applies: If set to 1, it will split the damage such that 'extra' die rolls or fixed damage both go to the no-save damage (most spells use this, see example: Fireball). If set to 2, it will split the damage such that 'extra' die rolls or fixed damage both go to the save damage (example: Chain Lightning). If set to 3, extra die damage goes to the save damage but extra fixed damage goes to the no-save damage. Cone of Cold does 1d4+1 per level and alternates its die and fixed splits. At level 11 it does 11d4+11, but split as 5d4+6 (no save) and 6d4+5 (save). If set to 4, extra die damage goes to the no-save damage but extra fixed damage goes to the save damage (no examples in the base games) If a spell needs scaling outside of duration and damage you'll have to go in and make changes the old-fashioned way. Even some of spells that scale damage can't be handed, e.g. Magic Missile (achieves damage scaling via projectile changes) or Flame Arrow (achieve damage scaling via additional effects). Examples The best thing I can do is direct folks to Spell-50 (specifically the spell50_foo libraries), which is probably the most comprehensive and repeated use of these functions. Spell-50 sets the variable round to 7 for oIWD and 6 otherwise, and the round variable is used throughout the patches and is used as some of the function's default. I'll provide two examples which are not covered by Spell-50. Let's say you're making a kit and you want it to have an innate Protection From Lightning ability. There are any number of functions in this thread of converting a divine/arcane spell to an innate, but since the innate is given at level 1, you want the duration to scale properly from level one as well. So: COPY_EXISTING ~sppr407.spl~ ~override/cdpr407.spl~ LPM spell_to_innate // or your choice of macro/function LPF CD_TRIM-O-MATIC INT_VAR level_cap = 1 END // delete all but the level 1 header LPF ALTER_EFFECT INT_VAR match_duration = 210 duration = 30 END // correect level 1 durations LPF CD_EXTEND-O-MATIC INT_VAR level_cap = 20 base_dur = 0 step_dur = 30 END // now scale it back out to level 20 with 5 rounds/level Another example would be to fix bugs with wild surges. If a level 5 wild mage casts Fireball, but gets a 'caster level reduced by 2' wild surge, then the Fireball should do 3d6 damage. However, since the spell lacks real headers for levels 1-4, it will always do a minimum of 5d6 damage. Easy enough: COPY_EXISTING ~spwi304.spl~ ~override~ LPF CD_LEVEL_SELECT-O-MATIC INT_VAR level_cap = 1 END // delete all but the level 1 header LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 12 match_dicenumber = 3 dicenumber = 1 END // original, no-save damage LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 12 match_dicenumber = 2 dicenumber = 0 END // original, save damage LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 12 match_dicenumber = 5 dicenumber = 1 END // EEs LPF CD_LEVEL_SELECT-O-MATIC INT_VAR level_cap = 10 base_dur = 0 step_dur = 0 damage_rolls = 1 save_for_half = 1 END // scale it back out to 10d6, save for half BUT_ONLY Note that the ALTER_EFFECT has to be tailored to the EEs unitary damage opcode or the original's dual opcodes, but otherwise the patch is identical. Note that in the second I'm using the CD_LEVEL_SELECT-O-MATIC function to trim and then extend the spell, since it basically passes along the parameters to the respective functions. This is also the approach used in Spell-50.
  8. I think you're overgeneralizing my answer. I'm perfectly willing not to use AI to mimic a VA's actual work as I think it's a reasonable request from artists I respect. Apple's ongoing attempts to destroy right of repair or Disney's quest to make copyright never expire will continue to receive the same GFY that I've always given them, no matter how politely they ask. I've helped on the technical, but not creative, side of the mod. I'd characterize my contributions as minor at best, especially when contrasted against the work of others, and that it's very kind that BG1 NPC mentions me at all. This is a long-winded way to say that I'm not the final arbiter on this issue generally or specifically.
  9. Right, so Cam's handy guide to maintaining old mods: Contact the original author and get permission. Establish bounds on what changes they're comfortable with (fixes, new content?). If you can't contact the author... If it's hosted at one of the main modding sites, post in the mod's forum. The author may be gone, but there may be other folks maintaining it already--e.g. at G3 we regularly update mods with fixes or translations if the original author is gone. Failing those two, you've nominated yourself as the maintainer. Now we move to stage two: Keep the mod at its current site if at all possible. Don't take a mod and host it at your home page. Keep a copy of the original documentation somewhere, ideally in the updated mod itself. If you're going to add content, delineate original vs. what you've added. Make them separate components if possible. Don't remove references to the original author or contributors. You can and should take credit for your additions and changes. Document your changes, big and small. A good changelog is the first stop for players to see if they want the updates.
  10. Usually when I drop into a thread that's gotten to four pages this quickly, it's to politely rap some knuckles and ask a person or three to behave, but so far this has been relatively peaceful despite some decidedly oppositional views, so thanks to everyone involved. Second, I'm going to move this into one of the general discussion forums since the topic has broadened beyond BG1 NPC. What follows are my own views. We're still discussing internally how or if G3 will host mods with AI-generated content. ...to you. That voice actors, individually and/or collectively, have asked me not to do it is sufficient. Whether I have a legal right to do so is secondary. Any noble motivations I might have--that it's a tribute or that I'm trying to honor their work--are also secondary. Whether there's a meaningful philosophical difference between an algorithm and a human iteratively learning to create art is (you guessed it) also secondary. They've asked me not to do it, and that's enough. This simple bit of kindness is what has kept the IE modding community going for a quarter century. Nothing is stopping anyone from grabbing one of my mods and putting it on Dropbox or Github except for me politely asking them not to. It's one of the few unifying principles we have, collectively, , which is why it's something that I take very seriously.
  11. Interesting, I wonder if the rest spawn scaling has the same 100x scaling as the spawn points--oIWD has more in common with the oBG engine after all. If so, we may need to look at BGEE rest spawns since they didn't get the same scaling as spawn points.
  12. Right, but oBG and oBG2 use the same area version but infamously use different spawn point calculations. We may have found something different in rest spawns between oIWD and oBG2 and forgotten about it, or we could have just been wrong.
  13. Same and same. I seem to recall that any cleric/innate casting an arcane spell this way would also trip the CWs in Athkatla.
  14. Looking at my IWD-in-BG2 install, this is from the original converter. I'm going to ping @DavidW as well--I can't remember any reason for this change offhand.
  15. It removes an invalid item from type2.sto (unused), removes dupes from 25spell2.sto (unused), fixes the duplicated gem bags in Amketheran (already fixed), and adds names to a bunch of stores. It also names a fence (bshop02) in the Bridge District and changes her avatar and class; the avatar change makes sense (she's using the female elven cleric avatar but she's classed as a thief). I have no idea where or why she gets named since I can't find any existing references in the tlk. The class gets changed from thief to innocent (meaning it introduces a rep penalty for killing her) but that's not really in line with other fences.
  16. Update your WeiDU. It's choking on RESOURCE_CONTAINS, a command added in v247.
  17. Thanks to Lewis Liu, who has supplied a Simplified Chinese translation. It's released in version 18 from the links above.
  18. The Gibberlings Three This mod adds crossmod content - including banters, interjections and romance conflicts - to several NPC mods for Icewind Dale: Enhanced Edition, as well as serving as a hub for crossmod of future mods for IWD:EE. Version 2 adds content for Lava's Xikâsz and makes a ton of changes under-the-hood. Project Page Forum Readme Download
  19. This mod adds crossmod content - including banters, interjections and romance conflicts - to several NPC mods for Icewind Dale: Enhanced Edition, as well as serving as a hub for crossmod of future mods for IWD:EE. Version 2 adds content for Lava's Xikâsz and makes a ton of changes under-the-hood. Project Page Readme Download Mods with content: From Lava Dendjelion, a neutral evil halfling blackguard of Bhaal - Download - Forum Dusky, a male half-orcish cleric/thief of chaotic neutral alignment - Download - Forum Hommet, a unique necromancer from different times - Download - Forum Ina, a true neutral undead bardess, introducing potential romance with a female PC - Download - Forum L'anna, an elven paladin, a Mythseeker of Mythrien Sarath - Download - Forum Oak-Maw, a lawful evil dark fey stalker, son of the Stag King from Rashemen, introducing a romance for both male and female PC - Download - Forum Orra, a fighter/mage/cleric - Download - Forum T'viy, a chaotic evil gnome, a little bit insane follower of Urdlen - Download - Forum Tipps, a neutral evil halfling geomantic sorcerer, introducing a romance for both male and female PC - Download - Forum Urchin, a true neutral altraloth, the powerful creation of a Night Hag, with an intellect of a child - Download - Forum Xikâsz, an elven fighter/wildmage/thief of neutral alignment - Download - Forum From Kulyok, the The IWD NPC Project which includes: Holvir, paladin Korin, ranger, alternate class: multiclass cleric/ranger Nella, fighter, possible dual-class - cleric, druid, alternate class: multiclass fighter/cleric, multiclass fighter/druid Severn, bard, alternate class: mage, multiclass fighter/mage Teri, multiclass fighter/thief, alternate class: thief, multiclass mage/thief, multiclass fighter/mage/thief From The Artisan: Karihi, a chaotic neutral pyromancer, scholar and fallen noble, introducing a romance for male PC - Download - Forum Minerva, a neutral good gnome fighter/artificer with relations to Aura, a mod character for BG Series, introducing a romance for both male and female PC - Download - Forum Arvendor's Cassia, a young tieflng cleric of Helm who originally hails from Mirabar- Download - Forum Version 2 changelog: Added banters for Lava's Xikâsz with Dendjelion, Dusky, Hommet, Ina, L'anna, Oak-Maw, Orra, T'viy, Tipps, Urchin, and NPCs from the IWD NPC Project Restructured installer so that the components are available separately Many under-the-hood changes to make maintenance substantially easier Tra-ified all files to allow for future translations
  20. WeiDU.org From Wes: Quite a few priest, druid and mage spells are extended (linearly) in all respects up to 50th level. For example, a 50th level mage casting Fireball does 50d6 damage (save for half). A 50th level mage casting Blur gains the blur benefits for 150 rounds. Note that this applies to you and to your enemies. From Cam: This is not meant to be a balanced mod and, while you may eat a 30d6 Fireball once in a while, for the most part it's going to make the game substantially easier by buffing your spellcasters. It's meant to be fun, even if it can be a bit silly. This mod has been recoded from the bottom up and quite a few improvements have been made along the way, notably, that it covers many more spells than before; that it now covers the original Icewind Dale and Baldur's Gate games, BGEE, BG2EE, IWDEE, BGT, Tutu, and BGT; that any level cap from 1 to 50 can be selected; that it does so without overwriting the old spells; and that it also updates game text and spell descriptions. Download v7 Discussion forum Readme v7 changelog Updated to work with several additional games: BGEE, BG2EE, IWDEE, BGT, Tutu, EET, original Baldur's Gate, and original Icewind Dale Spell extensions are now done semi-automatically at install time and no longer overwrite existing spells Ability to select level cap from a variety of options Updated to cover spells from Icewind Dale imported into BG/BG2 games via IWDification, SCS, or Talents of Faerûn Spell descriptions are now updated, mainly to remove phrases indicating a maximum damage or other effects Extended to cover these additional BG2 spells: Arcane: Grease; Magic Missile; Shocking Grasp; Melf's Acid Arrow; Flame Arrow; Spell Shield; Contingency; Symbol, Fear; Symbol, Stun Divine: Armor of Faith; Call Lightning; Hold Animal; Holy Smite; Unholy Blight; Shield of the Archons; Sunray Other: Kit versions of spells (Lathander's Hold Undead; Avenger's Chain Lightning; &c.); other class/kit abilities like Lay On Hands
  21. WeiDU.org The Item Upgrade mod allows Cromwell and Cespenar to upgrade additional items in BGII. One third of them are convenience functions (e.g., they save you ring or boot space), one third of them try to beef up categories of weapons that are "weak by comparison" (e.g., clubs and spears), and one third of them upgrade NPC-specific items. Version 52 features a new (Simplified) Chinese translation, a fix to the bugged Polish translation, and a new Ring of Protection +3 upgrade. Download v52 Discussion forum Readme v52 changelog Added a Chinese (Simplified) translation, courtesy of Lzw104522773 Fixed an encoding bug in the Polish readme; thanks Roberciiik Added a new upgrade: Ring of Preservation +3 This shiny new HTML readme
  22. WeiDU.org A pair of updates for some of Wes' older IWD2 mods to shake out some old bugs and ensure compatibility with the new IWD2EE mod. IWD2 Bonus Merchant This is a mod that makes a bonus merchant in IWD2 selling equipment from BG2. If you've played BG2, you know how these bonus merchants work: vastly overpriced, moderately powerful items that you wouldn't get anywhere else. Download v5 Discussion forum Readme Changelog IWD2 Ease of Use This is a collection of useful mods put together by Westley Weimer for use on IWD2. Many of them were written by others. Download v16 Discussion forum Readme Changelog
×
×
  • Create New...