Skip to content

Commit

Permalink
[bg. bg2] Misc fixes from JohnBob
Browse files Browse the repository at this point in the history
  • Loading branch information
CamDawg committed Oct 28, 2022
1 parent c34ff56 commit d6b8adb
Show file tree
Hide file tree
Showing 5 changed files with 65 additions and 23 deletions.
Binary file modified docs/eefixpack_arrays.ods
Binary file not shown.
18 changes: 18 additions & 0 deletions eefixpack/files/tph/bg2ee.tph
Expand Up @@ -654,6 +654,12 @@ WITH_SCOPE BEGIN
//LAUNCH_ACTION_FUNCTION ~RESTORATION~ END
END

//tbd, cam
// inconsistent targeting (unused, fixed anyway)
COPY_EXISTING ~bhaal1a.spl~ ~override~
LPF ALTER_EFFECT INT_VAR target = 2 END // some op164s are target party (3)
BUT_ONLY

// tbd, cam
// Hexxat's ability is supposed to summon 1d4 creatures, does something wacky intstead
COPY_EXISTING ~ohhsumm.spl~ ~override~ // children of the night
Expand Down Expand Up @@ -695,6 +701,12 @@ COPY_EXISTING ~spin804.spl~ ~override~ // psychic drain - plays spmindat
COPY_EXISTING ~spin807.spl~ ~override~ // Slayer Fear - causes fear - portrait icon 36
LPF ALTER_EFFECT INT_VAR match_duration = 120 duration = 12 END

//tbd, cam
// should be setting ex str, not incrementing
COPY_EXISTING ~spin826.spl~ ~override~ // mazzy strength buff
LPF ALTER_EFFECT INT_VAR match_opcode = 97 parameter2 = 1 END // wrong on first header only
BUT_ONLY

// tbd, cam
// delayed sound effect doesn't bypass mr though the rest of the spell does
COPY_EXISTING ~spin910.spl~ ~override~ // psionic domination
Expand All @@ -714,6 +726,12 @@ COPY_EXISTING ~spwi208.spl~ ~override~ // know alignment, arcane - lacks saving
LPF ALTER_EFFECT INT_VAR savingthrow = BIT0 savebonus = 0 END
BUT_ONLY

//tbd, cam
// conjure fire elemental pauses the caster five rounds at level 19, correct three rounds at all other levels
COPY_EXISTING ~spwi620.spl~ ~override~ // conjure fire elemental
LPF ALTER_EFFECT INT_VAR match_opcode = 165 duration = 18 END // pause target is wrong specifically at level 19
BUT_ONLY

// tbd, cam (from jmerry)
// self-stack protection only targets self, not party, like the rest of the effects
COPY_EXISTING ~spwish12.spl~ ~override~
Expand Down
18 changes: 18 additions & 0 deletions eefixpack/files/tph/bgee.tph
Expand Up @@ -812,6 +812,12 @@ COPY_EXISTING ~princess.itm~ ~override~ // (placeholder) story ring - immune to
LPF CLONE_EFFECT INT_VAR multi_match = 1 match_opcode = 101 match_parameter2 = 128 opcode = 296 parameter2 = 0 STR_VAR resource = spconfus END
BUT_ONLY IF_EXISTS

//tbd, cam
// unused, but shield of devotion adding two level 1-2 spells instead of one level 1-3 spells
COPY_EXISTING ~shld09p.itm~ ~override~ // hell hound flame
LPF ALTER_EFFECT INT_VAR match_opcode = 62 match_parameter2 = (BIT0 + BIT1) parameter2 = BIT2 END
BUT_ONLY

// the feeblemind effect already sets INT=3, so purging redundant effects
COPY_EXISTING ~sirine.itm~ ~override~ // Ghoul hand - causes feeblemind - unknown long effect - plays sound EFF_E05 - portrait icon 48
LPF DELETE_EFFECT INT_VAR match_opcode = 19 END
Expand Down Expand Up @@ -1019,6 +1025,12 @@ COPY_EXISTING ~spin804.spl~ ~override~ // psychic drain - plays spmindat
LPF ALTER_EFFECT INT_VAR match_opcode = 215 STR_VAR match_resource = spmindat resource = spflayer END
BUT_ONLY

//tbd, cam
// should be setting ex str, not incrementing
COPY_EXISTING ~spin826.spl~ ~override~ // mazzy strength buff
LPF ALTER_EFFECT INT_VAR match_opcode = 97 parameter2 = 1 END // wrong on first header only
BUT_ONLY

// tbd, cam
// delayed sound effect doesn't bypass mr though the rest of the spell does
COPY_EXISTING ~spin910.spl~ ~override~ // psionic domination
Expand All @@ -1045,6 +1057,12 @@ COPY_EXISTING ~spwi208.spl~ ~override~ // know alignment, arcane - lacks saving
LPF ALTER_EFFECT INT_VAR savingthrow = BIT0 savebonus = 0 END
BUT_ONLY

//tbd, cam
// conjure fire elemental pauses the caster five rounds at level 19, correct three rounds at all other levels
COPY_EXISTING ~spwi620.spl~ ~override~ // conjure fire elemental
LPF ALTER_EFFECT INT_VAR match_opcode = 165 duration = 18 END // pause target is wrong specifically at level 19
BUT_ONLY

// luke
// Mis-indexed effects
WITH_SCOPE BEGIN
Expand Down
49 changes: 26 additions & 23 deletions eefixpack/files/tph/tbd_bulk_spl_fixes_bg2ee.tph
Expand Up @@ -2,29 +2,29 @@
ACTION_DEFINE_ASSOCIATIVE_ARRAY cd_bulk_changes_spl BEGIN

//file, power, resist_dispel, stack, level, wild_magic, speed, range, animation, school, secondary, type => file // notes
~%CLERIC_CURE_CRITICAL_WOUNDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_CURE_CRITICAL_WOUNDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~%CLERIC_CURE_LIGHT_WOUNDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_CURE_LIGHT_WOUNDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~%CLERIC_CURE_MEDIUM_WOUNDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_CURE_MEDIUM_WOUNDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~%CLERIC_CURE_SERIOUS_WOUNDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_CURE_SERIOUS_WOUNDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~%CLERIC_HEAL%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_HEAL%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~%CLERIC_LESSER_RESTORATION%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_LESSER_RESTORATION%~ // luke: restoration spells should be 0 range, not dispellable (from files/tph/luke/restoration.tph)
~%CLERIC_MASS_CURE%~, null, 2, null, null, null, null, null, null, null, null, null => ~%CLERIC_MASS_CURE%~ // luke: healing spells should not be dispellable (from files/tph/luke/cure_wounds.tph)
~%CLERIC_RESTORATION%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_RESTORATION%~ // luke: restoration spells should be 0 range, not dispellable (from files/tph/luke/restoration.tph)
~%ENEMY_CLERIC_HARM%~, null, null, null, null, null, null, 0, null, null, null, null => ~%ENEMY_CLERIC_HARM%~ // luke: cause wounds spells should be 0 range, not dispellable (from files/tph/luke/cause_wounds.tph)
~%ENEMY_CLERIC_SLAY_LIVING%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%ENEMY_CLERIC_SLAY_LIVING%~ // luke: cause wounds spells should be 0 range, not dispellable (from files/tph/luke/cause_wounds.tph)
~%EVIL_LAYONHANDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%EVIL_LAYONHANDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~%FINAL_HEAL%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%FINAL_HEAL%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~%HEAL_NO_VISUAL%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%HEAL_NO_VISUAL%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~%INNATE_CURE_LIGHT_WOUNDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%INNATE_CURE_LIGHT_WOUNDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~%MAZZY_LAY%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%MAZZY_LAY%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~%MONK_LAY_ON_HANDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%MONK_LAY_ON_HANDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~%PALADIN_LAY_ON_HANDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%PALADIN_LAY_ON_HANDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~%ULITHARID_CURE_SERIOUS_WOUNDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%ULITHARID_CURE_SERIOUS_WOUNDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~%WIZARD_CHILL_TOUCH%a~, 0, null, null, null, null, null, null, null, null, null, null => ~%WIZARD_CHILL_TOUCH%a~ // luke: Chill Touch – should not interact with spell protections
~%WIZARD_DEAFNESS%~, null, 1, null, null, null, null, null, null, null, null, null => ~%WIZARD_DEAFNESS%~ // luke: Deafness – should not bypass Magic Resistance
~%WIZARD_SPHERE_OF_CHAOS%~, null, 1, null, null, null, null, null, null, null, null, null => ~%WIZARD_SPHERE_OF_CHAOS%~ // luke: Sphere of Chaos – make sure all effects are subjected to Magic Resistance
~%WIZARD_STONE_TO_FLESH%~, null, 2, null, null, null, null, null, null, null, null, null => ~%WIZARD_STONE_TO_FLESH%~ // luke: Stone to Flesh – make sure all effects bypass Magic Resistance
~%WIZARD_WRAITH_FORM%~, null, 3, null, null, null, null, null, null, null, null, null => ~%WIZARD_WRAITH_FORM%~ // luke: Wraithform – make sure all limited effects are dispellable
~%CLERIC_CURE_CRITICAL_WOUNDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_CURE_CRITICAL_WOUNDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph) sppr502
~%CLERIC_CURE_LIGHT_WOUNDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_CURE_LIGHT_WOUNDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph) sppr103
~%CLERIC_CURE_MEDIUM_WOUNDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_CURE_MEDIUM_WOUNDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph) sppr315
~%CLERIC_CURE_SERIOUS_WOUNDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_CURE_SERIOUS_WOUNDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph) sppr401
~%CLERIC_HEAL%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_HEAL%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph) sppr607
~%CLERIC_LESSER_RESTORATION%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_LESSER_RESTORATION%~ // luke: restoration spells should be 0 range, not dispellable (from files/tph/luke/restoration.tph) sppr417
~%CLERIC_MASS_CURE%~, null, 2, null, null, null, null, null, null, null, null, null => ~%CLERIC_MASS_CURE%~ // luke: healing spells should not be dispellable (from files/tph/luke/cure_wounds.tph) sppr514
~%CLERIC_RESTORATION%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%CLERIC_RESTORATION%~ // luke: restoration spells should be 0 range, not dispellable (from files/tph/luke/restoration.tph) sppr713
~%ENEMY_CLERIC_HARM%~, null, null, null, null, null, null, 0, null, null, null, null => ~%ENEMY_CLERIC_HARM%~ // luke: cause wounds spells should be 0 range, not dispellable (from files/tph/luke/cause_wounds.tph) sppr608
~%ENEMY_CLERIC_SLAY_LIVING%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%ENEMY_CLERIC_SLAY_LIVING%~ // luke: cause wounds spells should be 0 range, not dispellable (from files/tph/luke/cause_wounds.tph) sppr511
~%EVIL_LAYONHANDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%EVIL_LAYONHANDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph) spin773
~%FINAL_HEAL%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%FINAL_HEAL%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph) spin711
~%HEAL_NO_VISUAL%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%HEAL_NO_VISUAL%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph) spin679
~%INNATE_CURE_LIGHT_WOUNDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%INNATE_CURE_LIGHT_WOUNDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph) spin101
~%MAZZY_LAY%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%MAZZY_LAY%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph) spin827
~%MONK_LAY_ON_HANDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%MONK_LAY_ON_HANDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph) spcl815
~%PALADIN_LAY_ON_HANDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%PALADIN_LAY_ON_HANDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph) spcl211
~%ULITHARID_CURE_SERIOUS_WOUNDS%~, null, 2, null, null, null, null, 0, null, null, null, null => ~%ULITHARID_CURE_SERIOUS_WOUNDS%~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph) spin958
~%WIZARD_CHILL_TOUCH%a~, 0, null, null, null, null, null, null, null, null, null, null => ~%WIZARD_CHILL_TOUCH%a~ // luke: Chill Touch – should not interact with spell protections (spwi117a)
~%WIZARD_DEAFNESS%~, null, 1, null, null, null, null, null, null, null, null, null => ~%WIZARD_DEAFNESS%~ // luke: Deafness – should not bypass Magic Resistance spwi223
~%WIZARD_SPHERE_OF_CHAOS%~, null, 1, null, null, null, null, null, null, null, null, null => ~%WIZARD_SPHERE_OF_CHAOS%~ // luke: Sphere of Chaos – make sure all effects are subjected to Magic Resistance spwi711
~%WIZARD_STONE_TO_FLESH%~, null, 2, null, null, null, null, null, null, null, null, null => ~%WIZARD_STONE_TO_FLESH%~ // luke: Stone to Flesh – make sure all effects bypass Magic Resistance spwi625
~%WIZARD_WRAITH_FORM%~, null, 3, null, null, null, null, null, null, null, null, null => ~%WIZARD_WRAITH_FORM%~ // luke: Wraithform – make sure all limited effects are dispellable spwi315
~bdcaela3~, null, 2, null, null, null, null, 0, null, null, null, null => ~bdcaela3~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~cdpr417~, null, 2, null, null, null, null, 0, null, null, null, null => ~cdpr417~ // luke: restoration spells should be 0 range, not dispellable (from files/tph/luke/restoration.tph)
~devaheal~, null, 2, null, null, null, null, 0, null, null, null, null => ~devaheal~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
Expand All @@ -44,13 +44,16 @@ ACTION_DEFINE_ASSOCIATIVE_ARRAY cd_bulk_changes_spl BEGIN
~spin691~, null, null, null, null, null, null, null, null, 0, 0, null => ~spin691~ // tbd, cam: dragon breath fixes: generalist mages shouldn't get +2 to saves; also blank secondary type; other fixes for blue dragon breath
~spin691v~, null, null, null, null, null, null, null, null, 0, 0, null => ~spin691v~ // tbd, cam: dragon breath fixes: generalist mages shouldn't get +2 to saves; also blank secondary type; other fixes for blue dragon breath
~spin693~, null, null, null, null, null, null, null, null, 0, 0, null => ~spin693~ // tbd, cam: dragon breath fixes: generalist mages shouldn't get +2 to saves; also blank secondary type; other fixes for blue dragon breath
~spin685~, null, 1, null, null, null, null, null, null, null, null, null => ~spin685~ // tbd, cam: cutscene magic missile has wrong resist/dispel on first header
~spin828~, 3, null, null, null, null, null, null, null, null, null, null => ~spin828~ // tbd, cam: mazzy’s haste: power is wrong (1) on first header
~spin832~, null, null, null, null, null, null, null, null, 0, 0, null => ~spin832~ // tbd, cam: dragon breath fixes: generalist mages shouldn't get +2 to saves; also blank secondary type; other fixes for blue dragon breath
~spin832v~, null, null, null, null, null, null, null, null, 0, 0, null => ~spin832v~ // tbd, cam: dragon breath fixes: generalist mages shouldn't get +2 to saves; also blank secondary type; other fixes for blue dragon breath
~spin833~, null, null, null, null, null, null, null, null, 0, 0, null => ~spin833~ // tbd, cam: dragon breath fixes: generalist mages shouldn't get +2 to saves; also blank secondary type; other fixes for blue dragon breath
~spin833v~, null, null, null, null, null, null, null, null, 0, 0, null => ~spin833v~ // tbd, cam: dragon breath fixes: generalist mages shouldn't get +2 to saves; also blank secondary type; other fixes for blue dragon breath
~spin893~, null, null, null, null, null, null, null, null, 0, 0, null => ~spin893~ // tbd, cam: dragon breath fixes: generalist mages shouldn't get +2 to saves; also blank secondary type; other fixes for blue dragon breath
~spin893v~, null, null, null, null, null, null, null, null, 0, 0, null => ~spin893v~ // tbd, cam: dragon breath fixes: generalist mages shouldn't get +2 to saves; also blank secondary type; other fixes for blue dragon breath
~spin894~, null, null, null, null, null, null, null, null, 0, 0, null => ~spin894~ // tbd, cam: dragon breath fixes: generalist mages shouldn't get +2 to saves; also blank secondary type; other fixes for blue dragon breath
~spwi411~, null, 1, null, null, null, null, null, null, null, null, null => ~spwi411~ // tbd, cam: a few opcodes bypassed MR at level 16 specifically
~spwish07~, null, 2, null, null, null, null, 0, null, null, null, null => ~spwish07~ // luke: restoration spells should be 0 range, not dispellable (from files/tph/luke/restoration.tph)
~spwish28~, null, 2, null, null, null, null, 0, null, null, null, null => ~spwish28~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~spwish39~, null, 2, null, null, null, null, 0, null, null, null, null => ~spwish39~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
Expand Down
3 changes: 3 additions & 0 deletions eefixpack/files/tph/tbd_bulk_spl_fixes_bgee.tph
Expand Up @@ -34,6 +34,9 @@ ACTION_DEFINE_ASSOCIATIVE_ARRAY cd_bulk_changes_spl BEGIN
~senspihe~, null, 2, null, null, null, null, 0, null, null, null, null => ~senspihe~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~spin109~, null, 2, null, null, null, null, 0, null, null, null, null => ~spin109~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~spin200~, null, 2, null, null, null, null, 0, null, null, null, null => ~spin200~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~spin685~, null, 1, null, null, null, null, null, null, null, null, null => ~spin685~ // tbd, cam: cutscene magic missile has wrong resist/dispel on first header
~spin828~, 3, null, null, null, null, null, null, null, null, null, null => ~spin828~ // tbd, cam: mazzy’s haste: power is wrong (1) on first header
~spwi411~, null, 1, null, null, null, null, null, null, null, null, null => ~spwi411~ // tbd, cam: a few opcodes bypassed MR at level 16 specifically
~spwish07~, null, 2, null, null, null, null, 0, null, null, null, null => ~spwish07~ // luke: restoration spells should be 0 range, not dispellable (from files/tph/luke/restoration.tph)
~spwish28~, null, 2, null, null, null, null, 0, null, null, null, null => ~spwish28~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
~spwish39~, null, 2, null, null, null, null, 0, null, null, null, null => ~spwish39~ // luke: healing spells should be 0 range, not dispellable (from files/tph/luke/cure_wounds.tph)
Expand Down

0 comments on commit d6b8adb

Please sign in to comment.