Angel
-
Posts
729 -
Joined
-
Last visited
Content Type
Forums
Events
Downloads
Gallery
Mods
News
Store
Posts posted by Angel
-
-
No matter what I try, it drops me to Dropbox's login page.
-
Static Charge not working as designed is a known issue. From the readme, under "Known Issues":
"Just like IWD-in-BG2, a small number of spells cannot currently be converted at all. The current list is: Seven Eyes, Soul Eater, (Great) Shout, Mordenkainen's Force Missiles, Spiritual Wrath, Mold Touch, Wall of Moonlight, and Smashing Wave. A few other spells are converted a bit suboptimally, and don't work quite the way they did in IWD. The current list is Blood Rage, Animal Rage, Static Charge, and Whirlwind."
This is because the BG and IWD engines are not the same, there is a difference in which opcodes and projectiles are available, what they do and how they work. So unless someone steps up and hacks in the missing stuff, or thinks of a clever way to emulate the effects within the BG2 engine, not all spells can be converted one to one.
As for Sunscorch, it works fine in my game (old BG2 with BGT). Already burned quite a few ghasts. :-)
-
A few things I came across while I was creating a new sword for a mod:
- The effect file lycnhit2.eff affects vampires, not lycanthropes like you'd expect.
- The effect file undhit2.eff gives a +3 bonus instead of the expected +2.
Impact is likely minimal as there are no items or spells using these in an unmodded game. (lycnhit3.eff, lycnhit4.eff, undhit1.eff and undhit3.eff function like you'd expect)
-
replace_cre_script, find and replace a creature script
Written out of frustration when trying to give ankhegs and winter wolves different scripts for their special attacks and finding that almost every single version of the critters had it in a different slot.
DEFINE_PATCH_FUNCTION replace_cre_script INT_VAR check_override = 1 check_class = 1 check_race = 1 check_general = 1 check_default = 1 STR_VAR old_script = "" new_script = "" RET found BEGIN SET found = 0 PATCH_IF check_override BEGIN READ_ASCII SCRIPT_OVERRIDE script PATCH_IF ("%script%" STRING_EQUAL_CASE "%old_script%") BEGIN WRITE_EVALUATED_ASCII SCRIPT_OVERRIDE "%new_script%" SET found = 1 END END PATCH_IF check_class BEGIN READ_ASCII SCRIPT_CLASS script PATCH_IF ("%script%" STRING_EQUAL_CASE "%old_script%") BEGIN WRITE_EVALUATED_ASCII SCRIPT_CLASS "%new_script%" SET found = 1 END END PATCH_IF check_race BEGIN READ_ASCII SCRIPT_RACE script PATCH_IF ("%script%" STRING_EQUAL_CASE "%old_script%") BEGIN WRITE_EVALUATED_ASCII SCRIPT_RACE "%new_script%" SET found = 1 END END PATCH_IF check_general BEGIN READ_ASCII SCRIPT_GENERAL script PATCH_IF ("%script%" STRING_EQUAL_CASE "%old_script%") BEGIN WRITE_EVALUATED_ASCII SCRIPT_GENERAL "%new_script%" SET found = 1 END END PATCH_IF check_default BEGIN READ_ASCII SCRIPT_DEFAULT script PATCH_IF ("%script%" STRING_EQUAL_CASE "%old_script%") BEGIN WRITE_EVALUATED_ASCII SCRIPT_DEFAULT "%new_script%" SET found = 1 END END END
-
A small cosmetic one for your consideration:
The Boots of the North (boot03) display the Resist Fire/Cold icon (#26), but Protection from Cold (#25) would be much more appropriate since thet don't give fire resistance and the protection against cold they give is quite significant.
Compare the Ring of Fire Resistance (ring02), and the Potion of Cold Resistance (potn22) which both use the protection icons. This is also the way these boots work in IWD1 (with G3 fixpack).
(Personally I also don't like the Resist Fire/Cold icon, it looks to much like the Protection from Fire icon and it feels redundant to me.)
-
Prevent a spell from stacking with itself. Does not work with vanilla BG1 since it lacks opcode 206, but it does work with IWD1. Has to be given a match_opcode to find a suitable header to clone.
I'd like to offer two refinements here, if I may. Both IWD1 and the EEs have superior ways of handling spell stacking, namely the 'Remove effects by resource' opcode (IIRC 254 for IWD, and 321 for EEs). Put it first in the effects stack (timing mode 0, duration 0) and you'll have a vastly superior stacking solution for the engines that support it. Second, I'd set the default match_opcode to 142--Fixpack patches 20+ spells to not self-stack, and 142 works for all but three of them.
Heh, you certainly may! I've only recently begun to extend my meddlings to IWD1, so I have yet to learn all the subtleties of it. (Not that I claim to know them for BG, mind you!) As for the EE games, I have yet to touch them at all. It's on my to-do list, just hesitant to spend more money on games I already own. But knowing myself, I'll probably give in sooner or later. :-)
I checked IESDP and it looks like you got the codes exactly right, so here's the adapted version:
DEFINE_PATCH_FUNCTION prevent_spell_effect_stacking INT_VAR match_opcode = 142 BEGIN PATCH_IF ENGINE_IS "iwd1 how totlm" BEGIN LAUNCH_PATCH_FUNCTION CLONE_EFFECT INT_VAR match_opcode multi_match = 1 silent = 1 // Don't care about warnings opcode = 254 // Remove effects by resource timing = 0 // Duration duration = 0 parameter1 = 0 parameter2 = 0 STR_VAR insert = "first" resource = "%SOURCE_RES%" END END PATCH_IF ENGINE_IS "bgee bg2ee" BEGIN LAUNCH_PATCH_FUNCTION CLONE_EFFECT INT_VAR match_opcode multi_match = 1 silent = 1 // Don't care about warnings opcode = 321 // Remove effects by resource timing = 0 // Duration duration = 0 parameter1 = 0 parameter2 = 0 STR_VAR insert = "first" resource = "%SOURCE_RES%" END END PATCH_IF ENGINE_IS "bg2 tob" BEGIN LAUNCH_PATCH_FUNCTION CLONE_EFFECT INT_VAR match_opcode multi_match = 1 silent = 1 // Don't care about warnings opcode = 206 // Spell Effect: Immunity Spell parameter1 = RESOLVE_STR_REF ("Multiple castings of this spell have no effect.") parameter2 = 0 // Default (IWD1) STR_VAR insert = "last" resource = "%SOURCE_RES%" END END END
-
Real nice work, I integrated them into my custom item pack right away. Well, currently there are only two items that use them, my Green Dragon Scale (poison immunity) and my Mutamin's Cloak (prevents petrification), but I am adding a couple more. Currently working out the details of the Cloak of Arachnida. :-)
-
My version of the "extend-o-matic", written for two personal mods, one that makes healing spells scale with level and the other to make Flame Blade behave as the 3E version. I'll probably switch to CamDawg's since it is superior. This one only works with spells that have a single header and does not update them in any way.
EDIT: Forget mine, CamDawg's version is superior in every way. It even has a much cooler name. ^^
Add a level-drain effect to an item or spell, and patch in a simulate for games that don't support opcode 216 (vanilla BG and IWD). The simulate lowers THAC0 by 2 and max. HP by 5 for 8 hours. Written for a personal mod to make Wraith Spiders more like their PnP version.
EDIT: Turns out that in BG2, the level drain icon is set by the engine when opcode 216 is used. So, don't set it ourselves as it won't be removed.
DEFINE_PATCH_FUNCTION add_energy_drain INT_VAR levels_drained = 1 BEGIN READ_ASCII 0x0000 signature (4) PATCH_MATCH "%signature%" WITH "ITM " WHEN ENGINE_IS "bg1 totsc iwd1 how totlm" BEGIN LAUNCH_PATCH_FUNCTION ADD_ITEM_EFFECT INT_VAR type = 1 // Melee opcode = 18 // HP: Maximum HP Modifier target = 2 // Pre-target duration = 2400 parameter1 = ((0 - 5) * levels_drained) END LAUNCH_PATCH_FUNCTION ADD_ITEM_EFFECT INT_VAR type = 1 // Melee opcode = 54 // Stat: THAC0 Modifier target = 2 // Pre-target duration = 2400 parameter1 = ((0 - 2) * levels_drained) END LAUNCH_PATCH_FUNCTION ADD_ITEM_EFFECT INT_VAR type = 1 // Melee opcode = 142 // Graphics: Display Special Effect Icon target = 2 // Pre-target duration = 2400 parameter2 = 53 END END "ITM " BEGIN LAUNCH_PATCH_FUNCTION ADD_ITEM_EFFECT INT_VAR type = 1 // Melee opcode = 216 // Spell Effect: Level Drain target = 2 // Pre-target timing = 1 // Permanent parameter1 = levels_drained END END "SPL " WHEN ENGINE_IS "bg1 totsc iwd1 how totlm" BEGIN LAUNCH_PATCH_FUNCTION ADD_SPELL_EFFECT INT_VAR opcode = 18 // HP: Maximum HP Modifier target = 2 // Pre-target duration = 2400 parameter1 = ((0 - 5) * levels_drained) END LAUNCH_PATCH_FUNCTION ADD_SPELL_EFFECT INT_VAR opcode = 54 // Stat: THAC0 Modifier target = 2 // Pre-target duration = 2400 parameter1 = ((0 - 2) * levels_drained) END LAUNCH_PATCH_FUNCTION ADD_SPELL_EFFECT INT_VAR opcode = 142 // Graphics: Display Special Effect Icon target = 2 // Pre-target duration = 2400 parameter2 = 53 END END "SPL " BEGIN LAUNCH_PATCH_FUNCTION ADD_SPELL_EFFECT INT_VAR type = 1 // Melee opcode = 216 // Spell Effect: Level Drain target = 2 // Pre-target timing = 1 // Permanent parameter1 = levels_drained END END DEFAULT PATCH_FAIL "add_energy_drain() used on incompatible file!" END END
Add magic missile immunity to an item or spell. Has to be given match_opcode to determine which effect header will be cloned.
First, have this in your ALWAYS block somewhere. This finds 'Magic Missile'-like spells in BG1, BG2 and IWD1.
('Improved Magic Missile' is from a personal mod of mine, it's a third level version that shoots up to 11 missiles. Yes, the magic missile projectile actually goes that high in the BG and IWD engines. ^^).// List of spells to be blocked by the Shield spell, like Magic Missile, Mordenkainen's Force Missiles, etc. ACTION_FOR_EACH spell_name IN "WIZARD_MAGIC_MISSILE" "WIZARD_IMPROVED_MAGIC_MISSILE" "WIZARD_MORDENKAINENS_FORCE_MISSILES" "GORION_MAGIC_MISSILE" "BEHOLDER_MAGIC_MISSILE" "TRAP_MAGIC_MISSILE" "TRAP_MAGIC_MISSILE_5" BEGIN ACTION_IF IDS_OF_SYMBOL ("spell" "%spell_name%") >= 0 BEGIN LAUNCH_ACTION_FUNCTION RES_NUM_OF_SPELL_NAME STR_VAR spell_name RET spell_num spell_res END PRINT "Found %spell_name% as %spell_res%" ACTION_DEFINE_ASSOCIATIVE_ARRAY magic_missiles BEGIN "%spell_name%" => "%spell_res%" END END END
And the actual function:DEFINE_PATCH_FUNCTION add_magic_missile_immunity INT_VAR match_opcode = 0 // Stat:AC against specific BEGIN PATCH_FOR_EACH projectile IN 36 67 68 69 70 71 72 73 74 75 76 77 BEGIN LAUNCH_PATCH_FUNCTION CLONE_EFFECT INT_VAR match_opcode multi_match = 1 // Just once, please silent = 1 // Don't care about warnings opcode = 83 // Protection: From Projectile parameter1 = 0 // Irrelevant parameter2 = projectile STR_VAR insert = "last" END END PATCH_IF NOT ENGINE_IS "bg1 totsc" BEGIN PHP_EACH magic_missiles AS spell_name => spell_res BEGIN LAUNCH_PATCH_FUNCTION CLONE_EFFECT INT_VAR match_opcode multi_match = 1 // Just once, please silent = 1 // Don't care about warnings opcode = 206 // Spell: Protection From Spell parameter1 = 0 parameter2 = 0 STR_VAR insert = "last" resource = "%spell_res%" END END END END
Prevent a spell from stacking with itself. Does not work with vanilla BG1 since it lacks opcode 206, but it does work with IWD1. Has to be given a match_opcode to find a suitable header to clone.EDIT: Use the improved version below, it plays nicer with IWD1 and EE games.
-
Add a new actor to an area. This is a simple wrapper around fj_area_struct that saves having to type a bunch of variables.
DEFINE_PATCH_FUNCTION add_area_actor BEGIN PATCH_IF FILE_EXISTS_IN_GAME "%cre_resref%.cre" BEGIN INNER_PATCH_FILE "%cre_resref%.cre" BEGIN READ_STRREF 0x0008 cre_name END END ELSE BEGIN PATCH_FAIL "Adding non-existent actor %cre_resref% to area!" END LAUNCH_PATCH_FUNCTION fj_are_structure INT_VAR fj_loc_x = x_position fj_loc_y = y_position fj_dest_x = x_position fj_dest_y = y_position fj_orientation = orientation STR_VAR fj_structure_type = "actor" fj_name = "%cre_name%" fj_cre_resref = "%cre_resref%" END END
Clear all actors from an area. Useful if you want to give a generic house in BG1 some new purpose.DEFINE_PATCH_MACRO remove_all_area_actors BEGIN FOR (i = SHORT_AT 0x0058; i > 0; --i) BEGIN LAUNCH_PATCH_FUNCTION fj_are_structure INT_VAR fj_delete_mode = i - 1 STR_VAR fj_structure_type = "actor" END END END
Add a simple trap to an area. Care should be taken that the trap form a long thin rectangle, or thieves may not be able to get close enough to disarm it. Another wrappper around fj_area_struct to save typing because I'm lazy. :-)DEFINE_PATCH_FUNCTION add_simple_trap INT_VAR trap_detect = 10 trap_remove = 10 STR_VAR trap_script = "gtar" BEGIN PATCH_IF ll_x < ul_x BEGIN SET min_x = ll_x END ELSE BEGIN SET min_x = ul_x END PATCH_IF lr_x > ur_x BEGIN SET max_x = lr_x END ELSE BEGIN SET max_x = ur_x END PATCH_IF ul_y < ur_y BEGIN SET min_y = ul_y END ELSE BEGIN SET min_y = ur_y END PATCH_IF ll_y > lr_y BEGIN SET max_y = ll_y END ELSE BEGIN SET max_y = lr_y END LAUNCH_PATCH_FUNCTION fj_are_structure INT_VAR fj_type = 0 // Trap fj_box_left = min_x fj_box_top = min_y fj_box_right = max_x fj_box_bottom = max_y fj_trap_active = 1 fj_loc_x = (min_x + max_x) / 2 fj_loc_y = (min_y + max_y) / 2 fj_alt_x = (min_x + max_x) / 2 fj_alt_y = (min_y + max_y) / 2 fj_trap_detect = trap_detect fj_trap_remove = trap_remove fj_flags = BIT3 fj_vertex_0 = ul_x + (ul_y << 16) fj_vertex_1 = ur_x + (ur_y << 16) fj_vertex_2 = lr_x + (lr_y << 16) fj_vertex_3 = ll_x + (ll_y << 16) STR_VAR fj_structure_type = "region" fj_name = "%trap_name%" fj_reg_script = "%trap_script%" END END
Batch-add new actors to an area from a table. Table takes the form <resref> <xpos> <ypos> <orientation>. Uses add_area_actor().DEFINE_PATCH_FUNCTION add_area_actors_from_2da STR_VAR path_to_2da = "none" BEGIN PATCH_IF FILE_EXISTS "%path_to_2da%" BEGIN INNER_PATCH_FILE "%path_to_2da%" BEGIN COUNT_2DA_COLS cols COUNT_2DA_ROWS cols rows READ_2DA_ENTRIES_NOW __actor_data cols END FOR (i = 0; i < rows; ++i) BEGIN READ_2DA_ENTRY_FORMER __actor_data i 0 cre_resref READ_2DA_ENTRY_FORMER __actor_data i 1 x_position READ_2DA_ENTRY_FORMER __actor_data i 2 y_position READ_2DA_ENTRY_FORMER __actor_data i 3 orientation LAUNCH_PATCH_FUNCTION add_area_actor INT_VAR x_position y_position orientation STR_VAR cre_resref END END END ELSE BEGIN PATCH_FAIL "add_area_actors_from_2da called with invalid path %path_to_2da%!" END END
-
Okay, I have NO idea what I'm doing wrong, but I just can't get this to work. I got this script, for a friendly cleric who wants to help the party:
BEGIN_ACTION_DEFINITION Name(Heal_PC) TRIGGER !GlobalTimerNotExpired("heal_pc", "LOCALS") HaveSpell(scsargument1) Allegiance(Myself, NEUTRAL) ACTION RESPONSE #scsprob1 SetGlobalTimer("heal_pc", "LOCALS", ONE_ROUND) Spell(scstarget, scsargument1) END IF TRIGGER TargetBlock(PCsInOrder) StateCheck(scstarget, STATE_POISONED) THEN DO Action(Heal_PC, CLERIC_NEUTRALIZE_POISON) Action(Heal_PC, CLERIC_SLOW_POISON) END [...]
But when I try to compile it, I get this:
angel@phoenix /virtual/warbler/baldur $ perl ssl.pl mh#cath.ssl -l library.slb This is Stratagems Scripting Language Input file is mh#cath.ssl Unrecognised TargetBlock (PCsInOrder) near line 14 at ssl.pl line 252.
The library.slb file is an unaltered copy of the one in SCS (stratagems/ssl/library.slb) and it has the TARGET=PCsInOrder right there at line 300.
Does anyone have any idea what I am doing wrong? (By the way, the above is done on Linux, but I get the same on Windows as well.)
Btw, it also took me way too long to figure out BEGIN_ACTION_DEFINITION is supposed to have underscores, the tutorial makes it look like they are three separate words with spaces.
-
Oh heh, I totally forgot about stoneskin. I remember seeing that a long time ago and I guess I never remembered to drop it into the Fixpack.
The game is actually a bit schizophrenic about whether this is a true quest or not. In udduer01.d it sets it as an UNSOLVED_JOURNAL in state 10, but as a regular old JOURNAL in state 17 (triggered if you already have Adalon's drow illusion cast on you).
Well spotted; it definitely needs to be consistent between the two states. I'm leaning towards a bogstandard journal entry.
Fixed and fixed, as well as another batch of area orientation fixes.
Again, thanks. And I agree, standard journal entry seems best to me since "Tracking Irenicus" takes pretty much all of the Shadows of Amn part of BG2. :-)
I spotted a bundle of inconsistencies while I was doing stuff for my own mod and for Unfinished Business, but my notes on them are scattered all about. I might come up with a few more things as I remember/find them.
I have at times considered doing my own fixpack, indeed I might actually do one for the BG1 portion of BGT. I just spent three days correcting alignments on BG1 critters so my paladin's HoW-style Smite Evil (and BG2's Holy Smite) will actually affect gnolls and Sarevok's assassins. Hope you don't mind me borrowing your code to correct creature alignments from an editable file. ;-)
-
Wow, that must have been a lot of work! I was going to reinstall BGT to update a couple of mods after I finish my current IWD game, this one will go right in.
By the way, does this version fix the illegal dual-wielding in ar18prie.cre? This one can cause a CTD with SCS. More details here:
http://gibberlings3.net/forums/index.php?showtopic=27035&p=252697
For this guy in particular, when he runs out of spells he's supposed to use his sling (if nearest enemy is > 4 feet away) or go to melee. He also had the superior weapon in his offhand (mace +1 vs. mace +0), so Fixpack now moves his mace +1 to the main hand and then drops in a shield in the offhand. This allows him to use his scripted ranged and/or melee attacks.
Oh, and as or beta 2's code name...
Thanks for addressing this one, it has caused quite a bit of grief. I can't install it on my main BGT as I'm in the middle of a new game now and don't want to install all my 70+ mods again, but I'll be sure to test it on a backup I have. EDIT: Done, no new issues found so far.
Here's another small fix for your consideration: For a level 7 caster, Stoneskin creates too many skins. (More than for a level 8 caster!) Details and suggested fix here: http://gibberlings3.net/forums/index.php?showtopic=28798
Also, regarding this:
The 'Tracking Irenicus' journal entry never goes away
The game is actually a bit schizophrenic about whether this is a true quest or not. In udduer01.d it sets it as an UNSOLVED_JOURNAL in state 10, but as a regular old JOURNAL in state 17 (triggered if you already have Adalon's drow illusion cast on you).
-
Wow, you really went to town on this mod. And to think some people were saying that fixpack had been abandoned. :-) Thank you for all your hard work!
-
Problem is, the BGT-weidu won't probably ever be updated. A64 has not been in SHS for a long time(last post, October 2013).
So it's like ALIEN said...
Heh, normally I'd be happy to do a little maintenance on a "dead" mod. But BGT? Eh, I wouldn't even know where to start on that one. :-)
Well, installing BGT before the fixpack seems to work fine so I guess I'll go that way.
-
Attached. I had intended to do that in the first place, but I was struggling with file size limitations.
-
BGT installs with warnings if it is installed after the v11 fixpack. With v10, this was never an issue. I could not find the cause.
-
And here is the first bug: With ToBex installed, the beta core fixes fail to install due to a missing file, spcl741d.spl. Debug file attached.
Problem seems to start in this block, which creates spcl741d.spl but is skipped if ToBEx is installed:
ACTION_IF NOT FILE_EXISTS_IN_GAME ~tobex_ini/tobexcore.ini~ BEGIN // skip this song and dance if TobEx is present // MMM APR fixes; shuffle APR to shell spell for easier blockage (see also spcl521.spl, spcl521d.spl, spcl741.spl, melfmet.itm) COPY_EXISTING ~spcl741.spl~ ~override/spcl741d.spl~ LPF DELETE_EFFECT END // delete all existing effects SAY NAME1 #-1 SAY NAME2 #-1 // erase the name of the secondary spells to prevent feedback duplication WRITE_ASCIIT 0x10 ~~ // completion sound WRITE_SHORT 0x22 0x00 // casting graphics READ_SHORT 0x68 abil_num FOR (index = 1 ; index < (abil_num + 1) ; ++index) BEGIN LPF ADD_SPELL_EFFECT INT_VAR header = index opcode = 1 target = 1 parameter1 = 1 duration = (54 + (6 * index)) power = 4 resist_dispel = 3 END // +1 apr LPF ADD_SPELL_EFFECT INT_VAR header = index opcode = 206 target = 1 parameter1 = "-1" duration = (54 + (6 * index)) power = 4 resist_dispel = 3 STR_VAR resource = spwi325 END // block MMM END BUT_ONLY
But then further ahead, this block goes and tries to copy spcl741d.spl anyway:
// boon of lathander missing headers COPY_EXISTING ~spcl741.spl~ ~override~ ~spcl741d.spl~ ~override~ LPF CD_MISSING_SPELL_HEADERS INT_VAR first_missing = 2 last_missing = 10 END // adds headers 2-10 READ_SHORT 0x68 abil_num FOR (index = 1 ; index < (abil_num + 1) ; ++index) BEGIN LPF ALTER_SPELL_EFFECT INT_VAR silent = 1 check_globals = 0 header_type = 1 header = index duration_high = (index * 6) END // one round/level END BUT_ONLY
I hotfixed this by adding an IF_EXISTS like so:
// boon of lathander missing headers COPY_EXISTING ~spcl741.spl~ ~override~ ~spcl741d.spl~ ~override~ LPF CD_MISSING_SPELL_HEADERS INT_VAR first_missing = 2 last_missing = 10 END // adds headers 2-10 READ_SHORT 0x68 abil_num FOR (index = 1 ; index < (abil_num + 1) ; ++index) BEGIN LPF ALTER_SPELL_EFFECT INT_VAR silent = 1 check_globals = 0 header_type = 1 header = index duration_high = (index * 6) END // one round/level END IF_EXISTS BUT_ONLY
But I'm not sure if this the correct permanent solution.
-
Wow, that must have been a lot of work! I was going to reinstall BGT to update a couple of mods after I finish my current IWD game, this one will go right in.
By the way, does this version fix the illegal dual-wielding in ar18prie.cre? This one can cause a CTD with SCS. More details here:
http://gibberlings3.net/forums/index.php?showtopic=27035&p=252697
-
Oh man, thanks Avenger, this is a big help! So, it's the filename that decides what kind of bonus it gets. Kinda messed up if you ask me, but at least that means my little sword +1, +2 vs. Undead is still possible after all.
-
Indeed, it appears to be hardcoded. All the ZZ* weapons lack anything extra, but have the bonus in the description. There are several hits for ZZ in the exe, of course, but it'd be the place to start looking.
Yeah, that's what I thought too. And .exe hacking is beyond my current skills I'm afraid. (Is there even a guide to it?)
No item or spell in IWD uses opcodes 177, 178 or 179, and there isn't a single .eff file in the game so my guess is they won't work at all. But I can give it a try, who knows, maybe they did carry over from BG. :-)
-
I'm currently looking at using some of my own mods with Icewind Dale (the original, not EE), and ran into something.
Icewind Dale has several weapons that are supposed to a special to-hit bonus against a certain creature type, for example Conlan's Hammer (+1, +5 vs. Iron Golems), Giant Killer (+1, +4 vs. Giants), Inconsequence (+4, +5 vs. Good and Evil), The Axe of Caged Souls (+3, +5 vs. Cadaverous Undead) and Pale Justice +4, +7 vs. Evil). However, when I look at the item definitions of such items, I do not see any effects that give such a bonus.
So, does anyone know, how do such bonuses for these items work in the original Icewind Dale? Do they even work at all?
-
Hello,
I just want to ask if someone knows, which mods are Planned to be converted ?
I am looking especially for:
[...]
Dingos tweak PackI volunteered to maintain D0Tweak, the current version is v23 and available from PPG.
However, I do not own any of the EE games, is there a problem with D0Tweak on those?
-
I think it is pretty safe to consider the BG2 Fixpack as no longer maintained by anyone.
Mm. Well I suppose I could edit the Fixpack to include this fix, it would be three, four lines at max. I think the BWP people are doing something with it though, the version of BWP Fixpack I have patches the BG2 Fixpack to "v11 Alpha 1". Maybe I'll drop a message on the Fixpack forum later, see if anyone responds.
-
I don't know. It's not exactly a new problem, I have encountered messages about it over at SHS as well. I'm not even sure who, if anyone, is maintaining the BG2 Fixpack, it doesn't seem to have been updated in a long time.
Download link does not work
in Oversight
Posted
That fixed it, thanks. And kudos on doing the Lanthorn lenses quest. I wanted to add that to UB v27, but I guess I can save myself the trouble now. :-)