![](http://content.invisioncic.com/u284679/set_resources_4/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
Angel
Modders-
Posts
729 -
Joined
-
Last visited
About Angel
![](http://content.invisioncic.com/u284679/team_g3modder.png)
- Birthday 05/23/1973
Profile Information
-
Gender
Not Telling
-
Location
Netherlands
-
Mods Worked On
D0Tweak
XPMOD
Unfinished Business
Recent Profile Visitors
9,208 profile views
Angel's Achievements
-
I personally like the structure as it is, especially since I usually don't kill Balthazar anyway, so the dream coming after making him a permanent ally makes sense to me.
-
I'm not Wheels' author, that would be @DavidW. Back then I only got permission to make one update to fix one issue, an incompatibility with the new WeiDU version, which is in 8.5 (otherwise you wouldn't have been able to install it). I'm not touching it any further, so there was no need to keep that fork up. I know of the Wheels/Ascension issue (kinda hard not to, it keeps popping up everywhere) but I have no idea what causes it or how to fix it. I never could trigger it in my own non-Ascension games no matter which path I took, which leads me to think it's a bad interaction between Wheels and Ascension, not a bug specific to Wheels.
-
It has some issues, but overall I'm fairly fond of it, and the Underground River is one of my favorite dungeons in the series. I'm only disappointed that there was no effort done to make the SoD events canon in BG2EE.
-
I thought it best to start a new thread since I updated the version of SFO2E I use to SCS 35.6. And do I have a bag of bugs for you already. lib_spl, line 99: Thanks for the force_class flag, but it doesn't work properly. You do a string comparison of %type% to "class", but type here comes from struct_get, which returns a numerical value. So this condition always fails. Thoughts: Do we really need this test? What's wrong with class abilities having wizard- or priest type? Maybe I want to use them for specialty wizards/priests... Perhaps it would be better to give an option to set the spell type and only derive it from the spell file if none is given? --- a/mih_fr/third_party/sfo2e/lib_spl.tph +++ b/mih_fr/third_party/sfo2e/lib_spl.tph @@ -96,7 +96,7 @@ BEGIN LPF struct_get STR_VAR arguments=level RET level=value END LPF struct_get STR_VAR arguments=type RET type=value END PATCH_IF force_class BEGIN - PATCH_IF "%type%" STR_EQ "innate" BEGIN + PATCH_IF type = 4 BEGIN SPRINT type "class" END ELSE BEGIN PATCH_WARN "spl_copy warning: you set force_class=1, but this spell is type %type%" lib_spl, lines 110, 115, 117, 121 and 158: At these points the variable spl has been altered by either the call to return_first_pair (line 58) or return_first_entry (line 60) at the start of the function, and the warning prints no useful information. Using %ids% for the former four and %spell_resref% for the latter fixes the issue. Note: I did not check if spl_make has similar issues. OUTER_SET proceed=1 ACTION_IF already_present BEGIN ACTION_IF overwrite BEGIN - LAF warning STR_VAR warning="%spl% is already present; overwriting." END + LAF warning STR_VAR warning="%ids% is already present; overwriting." END END ELSE ACTION_IF mismatch BEGIN ACTION_IF overwrite_on_mismatch BEGIN LAF spl_resolve_ids INT_VAR level force_extended replace_on_mismatch=1 STR_VAR type ids RET spell_resref=resref END - LAF warning STR_VAR warning="%spl% is already present, but at the wrong level/the wrong type; overwriting." END + LAF warning STR_VAR warning="%ids% is already present, but at the wrong level/the wrong type; overwriting." END END ELSE BEGIN - LAF warning STR_VAR warning="%spl% is already present, although at at the wrong level/the wrong type; aborting spl_copy." END + LAF warning STR_VAR warning="%ids% is already present, although at at the wrong level/the wrong type; aborting spl_copy." END OUTER_SET proceed=0 END END ELSE BEGIN - LAF warning STR_VAR warning="%spl% is already present; aborting spl_copy." END + LAF warning STR_VAR warning="%ids% is already present; aborting spl_copy." END OUTER_SET proceed=0 END END @@ -155,7 +155,7 @@ BEGIN END END ELSE ACTION_IF "%icon_base_name%" STR_CMP "" BEGIN - WARN "spl_copy WARNING (%spl%): you have specified icon_base_name but have not told sfo where to find the icon" + WARN "spl_copy WARNING (%spell_resref%): you have specified icon_base_name but have not told sfo where to find the icon" END END ELSE BEGIN OUTER_SPRINT spell_resref "" lib_struct, line 3594: Again, thanks for the new feature, but it is bugged. Variable %label% is undefined here and should be %arguments%. --- a/stratagems/sfo2e/lib_struct.tph +++ b/stratagems/sfo2e/lib_struct.tph @@ -3590,7 +3590,7 @@ BEGIN READ_STRREF offset value END flag BEGIN - n=$"SFO_%strtype%_flags"("%label%") + n=$"SFO_%strtype%_flags"("%arguments%") READ_BYTE offset byte value = (byte BAND (2**n)) >> n END @@ -4187,4 +4187,4 @@ BEGIN BUT_ONLY
-
Very nice, I will add information about spheres of added spells to MiH Fixes&Restorations and MiH Spellpack. Something to consider: What about a similar mechanism to tell SCS about new spells mages and priests can use?
-
I realized that when I was comparing code for struct_get and struct_read, but this was a particular case that I needed. I wanted to find stores that sell cures. Thanks!
-
lib_bam: The function to recenter bam frames went missing between SFO and SFO2E. I'd write my own, but I'm uncertain about BAM v2 trickery for EE. I used this one to restore misc9k (Third Journal of Irenicus) in BG2, which has a way off center description image. Not a biggy as I can do the fix in a different way, but it would be a nice to have, please?
-
I haven't decided yet. I'm basically rewriting E&Q from the ground up, and nothing is planned for golems at the moment.
-
Yes, I may have overdone them a notch, they won't be in the next version. Anyway, fire- or acid arrows, Flame Blade, Melf's Minute Meteors or the Alchemist Fire- and Acid Flasks from my item pack should all work, at least they do in my game. MR only protects against spells, not against hits from enchanted weapons. However, there is a bug with the golem in SoD, that one is unkillable due to a scripting issue.
-
lib_struct Function struct_get fails to fetch fields of type 'flag', such as the can_buy or can_buy_cures flags of a store. Suggested fix: --- a/mih_fr/third_party/sfo2e/lib_struct.tph +++ b/mih_fr/third_party/sfo2e/lib_struct.tph @@ -3583,6 +3583,11 @@ BEGIN strref BEGIN READ_STRREF offset value END + flag BEGIN + n=$"SFO_%strtype%_flags"("%arguments%") + READ_BYTE offset byte + value = (byte BAND (2**n)) >> n + END DEFAULT PATCH_WARN "unrecognized type %type% in struct_get" END
-
Indeed, although it did give me an idea on how to properly implement a P&P-friendly version of Meteor Swarm. ^^ I'm currently rewriting MiH F&R from the ground up in the new SFO version. I *should* have something in a few days, but no guarantees there. NB: The new version will require EE Fixpack.
-
I just ran into that last one myself. Unfortunately that's a library bug and not so easily fixed, it'll have to wait until I get around to rewriting F&R in SFO2E. (Hot fixing it in DLTCEP/NI: Edit potn13/potn26 item, change projectile to 1, opcode of the effect to 148 and target of the effect to 1.) I'll see what I can do about the others.
-
str_cre_v1 Combined fields "ac" and "level_all" do not actually work due to missing commas. --- a/mih_eq/third_party/sfo2e/structures/str_cre_v1.2da +++ b/mih_eq/third_party/sfo2e/structures/str_cre_v1.2da @@ -6,8 +6,8 @@ name_short 0xc strref both_names -1 multiple_name_long,name_short both_names-strref -1 multiple_name_long-strref,name_short-strref hp -1 multiple_hp_current,hp_max -level_all -1 multiple_level1_level2_level3 -ac -1 multiple_ac_natural_ac_effective +level_all -1 multiple_level1,level2,level3 +ac -1 multiple_ac_natural,ac_effective show_longname 0x10 flag_0 no_corpse 0x10 flag_1 permanent_corpse 0x10 flag_2
-
Both Ascension and UB restore these. I think the necessary fixes are in there, but I'll have to double-check.
-
str_eff_v2: Offset for dicesize is off; should be 0x3c, not 0x34. This one requires regenerating auto_struct.tpc --- a/mih_sp/third_party/sfo2e/structures/str_eff_v2.2da +++ b/mih_sp/third_party/sfo2e/structures/str_eff_v2.2da @@ -14,7 +14,7 @@ probability1[100] 0x2c short probability2 0x2e short resource 0x30 ascii_8 dicenumber 0x38 long -dicesize 0x34 long +dicesize 0x3c long save_vs_spells 0x40 flag_0 save_vs_breath 0x40 flag_1 save_vs_poison 0x40 flag_2