Skip to content

Understanding Strings

RaduzielRaduziel Member Posts: 4,714
Let's say that I'm checking an opcode (like 267) that have as a parameter a string.

Where can I see what text this string is related to?

I tried to check the Dialogue.tlk using Notepad, but I'm having no success - maybe I'm doing something wrong.

Let's say that the opcode 267 is related to string 26018. I open the dialogue .tlk and search for the row #26018, but the text that displays there doesn't make sense for the opcode propose (in this case, the monk's disease immunity).

Thanks!

Comments

  • PaulaMigratePaulaMigrate Member Posts: 1,201
    The best way to easily access stringref to text is with Near Infinity. It displays any kind of text immediately if you select a file or field in a file.
    I can't tell you what 26018 is because it's different in my game than in yours.
  • RaduzielRaduziel Member Posts: 4,714
    Hi, @PaulaMigrate :)

    Thanks for the reply. Is there any way to use DLTC instead? Because IDK even how to open NearInfinity.
  • PaulaMigratePaulaMigrate Member Posts: 1,201
    Raduziel said:

    Hi, @PaulaMigrate :)

    Thanks for the reply. Is there any way to use DLTC instead? Because IDK even how to open NearInfinity.

    There probably is, I don't use that tool so I have no idea. You open NearInfinity with java.
  • RaduzielRaduziel Member Posts: 4,714
    Does mods alters the original strings of the game?

    Because 26018, for example, is a string for the vanilla monk in a vanilla install.

    I thought that mods just added more strings, leaving the original ones intact (I mean, except for overhauls mods).
  • PaulaMigratePaulaMigrate Member Posts: 1,201
    edited July 2017
    Raduziel said:

    Does mods alters the original strings of the game?

    Because 26018, for example, is a string for the vanilla monk in a vanilla install.

    I thought that mods just added more strings, leaving the original ones intact (I mean, except for overhauls mods).

    That is correct, the first (?40000? don't hit me for the exact number) should be the same in each game. Mine are probabyl different since I have an EET install. (26018 is a dialogue line from BG2, looks like tanner quest).
    In BGEE/SoD the 26018 says *Haste* >>> makes sense as opcode 267 disable diplay string xxx where here xxx is haste. Fits for monk.
  • The user and all related content has been deleted.
  • RaduzielRaduziel Member Posts: 4,714

    BGEE and BG2EE have a bunch of different strings. IWDEE is a lot like BG2EE, but with more at the end.

    You can use STRING_SET in Weidu to change an existing string instead of adding a new one, but it's generally better to add new ones. If for no other reason than STRING_SET written for BGEE might not work for BG2EE, depending on the string, so you have to look up each string in each game... it's a pain.

    If you want to overwrite a string for a class or kit description, you're better off using SET_2DA_ENTRY with clastext.2da, sodcltxt.2da, and kitlist.2da. Example here:
    https://github.com/UnearthedArcana/Might_and_Guile/blob/master/might_and_guile/components/265_monk_fist.tpa
    (Scroll down to the "Update Existing Strings" section.)

    Thanks, but that's not what I want (I think).

    I'll explain: my kit gains disease immunity. I was able to prevent him/her from becoming diseased, prevent the disease icon from showing at the portrait/character sheet, but IDK wich string to block with opcode 267 to prevent the log from saying that the character is diseased.

    My idea was to look at the monk's disease immunity and ditto those strings, but the same spell that bans disease also gives free action and there are severals opcodes 267 associated with one string each, but IDK which one is related to disease immunity and each one is related to free action.
  • OlvynChuruOlvynChuru Member Posts: 3,079
    Here's what you do. Look around in monster item files or spell files that cause disease. See what string they say when the target becomes diseased. Make them immune to that string.
  • The user and all related content has been deleted.
  • PaulaMigratePaulaMigrate Member Posts: 1,201
    In BGEE/SoD 31238 = Diseased
  • RaduzielRaduziel Member Posts: 4,714
    edited July 2017
    I'm trying to use NearInfinity.java but a DOS-Like window just pops up and close.
  • RaduzielRaduziel Member Posts: 4,714


    Then when you COPY the spell in you can use ALTER_EFFECT to set the blocked string based on whichever game the mod is being installed to.

    Can you explain to me how to do this like I was a toddler eating sand?

    Because I was building an ability for the Predator based on the fact that the strings were the same (and now I know that they aren't).

    My solution by now is creating three different installers, one for BGEE-SoD, other for BG2EE and another one for IWDEE (this one will probably need to happen because the Undead use different EA there and one of the abilities of the kit checks the EA to give an AC bonus.

    And @PaulaMigrate thank you very much for the info. Can you tell me if EET uses BGEE or BG2EE strings?
  • The user and all related content has been deleted.
  • RaduzielRaduziel Member Posts: 4,714
    edited July 2017
    @subtledoctor

    What if I have more than one opcode entry per spell?

    One of the kits abilities has 7 opcodes 267 entries (because it combines Negative Plane Protection with Remove Fear), for example.



    Each column is the value of the parameter #1 for every Opcode 267 in each game.

  • CamDawgCamDawg Member, Developer Posts: 3,438
    You can, to a limited degree, also employ RESOLVE_STR_REF to determine which string on a given platform actually says "Diseased" without having to muck about with game detection.

    The one thing to be careful of (especially in the vanilla games) is that there are often duplicates of a given string and you may end up not blocking the one that spells use with this method (i.e. BG2 has, I think, five instances of a "Sleep" string).
  • [Deleted User][Deleted User] Posts: 0
    edited July 2017
    The user and all related content has been deleted.
  • RaduzielRaduziel Member Posts: 4,714
    edited July 2017
    @subtledoctor

    Like that?

    [spoiler]
    COPY ~UndeadPredator/RZ#PABR.spl~ ~override~
    PATCH_IF GAME_IS ~bgee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 25818 END
    END
    PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 17427 END
    END
    PATCH_IF GAME_IS ~iwdee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 35484 END
    END
    match_parameter1 = 1

    PATCH_IF GAME_IS ~bgee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 20568 END
    END
    PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 14007 END
    END
    PATCH_IF GAME_IS ~iwdee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 20568 END
    END
    match_parameter1 = 2

    PATCH_IF GAME_IS ~bgee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 25806 END
    END
    PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 41616 END
    END
    PATCH_IF GAME_IS ~iwdee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 35498 END
    END
    match_parameter1 = 3

    PATCH_IF GAME_IS ~bgee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 25805 END
    END
    PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 41495 END
    END
    PATCH_IF GAME_IS ~iwdee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 35497 END
    END
    match_parameter1 = 4

    PATCH_IF GAME_IS ~bgee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 25804 END
    END
    PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 40979 END
    END
    PATCH_IF GAME_IS ~iwdee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 35496 END
    END
    match_parameter1 = 5

    PATCH_IF GAME_IS ~bgee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 25803 END
    END
    PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 40969 END
    END
    PATCH_IF GAME_IS ~iwdee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 35495 END
    END
    match_parameter1 = 6

    PATCH_IF GAME_IS ~bgee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 25802 END
    END
    PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 40968 END
    END
    PATCH_IF GAME_IS ~iwdee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_opcode = 267 parameter1 = 35472 END
    END
    match_parameter1 = 7
    [/spoiler]

    Right now my tp2 doesn't ask for a game check (if it is BGEE, BG2EE, IWDEE), do I need to add one too?
    Post edited by Raduziel on
  • [Deleted User][Deleted User] Posts: 0
    edited July 2017
    The user and all related content has been deleted.
  • RaduzielRaduziel Member Posts: 4,714
    edited July 2017
    @subtledoctor

    Better?

    It sure looks better.



    COPY ~UndeadPredator/RZ#PABR.spl~ ~override~

    SAY NAME1 ~Bless of Recognition~
    SAY UNIDENTIFIED_DESC ~~

    PATCH_IF GAME_IS ~bgee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 1 match_opcode = 267 parameter1 = 25818 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 2 match_opcode = 267 parameter1 = 20568 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 3 match_opcode = 267 parameter1 = 25806 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 4 match_opcode = 267 parameter1 = 25805 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 5 match_opcode = 267 parameter1 = 20804 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 6 match_opcode = 267 parameter1 = 20803 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 7 match_opcode = 267 parameter1 = 20802 END
    END

    PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 1 match_opcode = 267 parameter1 = 17427 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 2 match_opcode = 267 parameter1 = 14007 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 3 match_opcode = 267 parameter1 = 41616 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 4 match_opcode = 267 parameter1 = 41495 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 5 match_opcode = 267 parameter1 = 40979 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 6 match_opcode = 267 parameter1 = 40969 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 7 match_opcode = 267 parameter1 = 40968 END
    END

    PATCH_IF GAME_IS ~iwdee~ BEGIN
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 1 match_opcode = 267 parameter1 = 35484 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 2 match_opcode = 267 parameter1 = 20568 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 3 match_opcode = 267 parameter1 = 35498 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 4 match_opcode = 267 parameter1 = 35497 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 5 match_opcode = 267 parameter1 = 35496 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 6 match_opcode = 267 parameter1 = 35495 END
    LPF ALTER_EFFECT INT_VAR match_parameter1 = 7 match_opcode = 267 parameter1 = 35472 END
    END
  • The user and all related content has been deleted.
  • RaduzielRaduziel Member Posts: 4,714
    edited July 2017

    Precisely.

    I would put something in the UNIDENTIFIED_DESC field - maybe just repeat the spell name - because that is what shows up when players right-click the ability icon.

    It's a passive ability - all the others I did just that. :)

    About NearInfinity, I do have Java, I've downloaded NearInfinity.jar, it shows a java-program-icon, but when I double click it, it just opens a quick prompt window that closes immediately.

    I'll try to find the "Diseased" strings for BG2EE and IWDEE the hard way, I guess.

    I know I'm saying that a lot, but thanks for all the help.
  • CamDawgCamDawg Member, Developer Posts: 3,438
    I would strongly suggest you either look for an item/spell that already provides the protection your looking for to get the strings, or maybe check out the immunity batches which provide macros for adding immunities easily to items or spells, including disease, fear, and level drain. Some effects are often paired with unexpected strings--for example, disease is usually accompanied by 'diseased', but there are also instances in the game where 'stricken by a foul disease' is used instead.
  • RaduzielRaduziel Member Posts: 4,714
    @CamDawg the item research did the trick. Thank you very much!

    Mod's ready, I'll just do some quick test in all four games (IWDEE, BGEE, BG2EE, EET) before releasing v1.
  • GrammarsaladGrammarsalad Member Posts: 2,582
    edited July 2017
    CamDawg said:

    I would strongly suggest you either look for an item/spell that already provides the protection your looking for to get the strings, or maybe check out the immunity batches which provide macros for adding immunities easily to items or spells, including disease, fear, and level drain. Some effects are often paired with unexpected strings--for example, disease is usually accompanied by 'diseased', but there are also instances in the game where 'stricken by a foul disease' is used instead.

    Yeah, I second this recommendation. This macro is awesomesauce. Edit: the link doesn't seem to work:

    http://gibberlings3.net/forums/index.php?showtopic=28834&st=0

    I have updated this for most effects to account for (EE) games. I'll be posting them shortly on that thread, but here is fear, disease and level drain:


    /
    / turns fear immunity into full immunity
    DEFINE_PATCH_MACRO ~cd_immunity_fear_arrays~ BEGIN
      DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_key BEGIN // these three go last so they don't block their own extras effects
        101,  "-10",  23, "same",  "-10",  "-10", "last" => 1 // immunity to reset morale 
        101,  "-10",  24, "same",  "-10",  "-10", "last" => 1 // immunity to horror
        101,  "-10", 106, "same",  "-10",  "-10", "last" => 1 // immunity to morale break modifier
      END
      DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
         23, "-10", "-10",     "same",     1,     0, "first" => 1 // reset morale
        161, "-10", "-10",     "same",     1,     0, "same"  => 1 // remove fear
        296, "-10", "-10", "cdhorror", "-10", "-10", "same"  => 1 // protection from animation
        106, "-10",     1,     "same",     1,     0, "first" => 1 // morale break
      END
      PATCH_IF cosmetic = 1 BEGIN
        DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
          169, "-10", 36, "same", "-10", "-10", "same" => 1 // prevent panic icon
          240, "-10", 36, "same", "-10", "-10", "same" => 1 // remove panic icon
          142, "-10", 37, "same", "-10", "-10", "same" => 1 // display resist fear icon
        END
      END
      PATCH_IF GAME_IS ~bgee~ BEGIN
       DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
        267, 25818, "-10", "", "-10", "-10", "same"  => 1 // protection from string "panic"                 (BGEE)
        267, 20568, "-10", "", "-10", "-10", "same"  => 1 // protection from string "Morale Failure: Panic" (BGEE)
       END
      END
      PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
       DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
        267, 14007, "-10", "", "-10", "-10", "same"  => 1 // protection from string "panic"   (BG2EE)
        267, 17427, "-10", "", "-10", "-10", "same"  => 1 // protection from string "panic"   (BG2EE)
       END
      END
      PATCH_IF GAME_IS ~iwdee~ BEGIN
       DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
        267, 20568, "-10", "", "-10", "-10", "same"  => 1 // protection from string "Morale Failure: Panic"   (IWDEE)
        267, 35484, "-10", "", "-10", "-10", "same"  => 1 // protection from string "panic"   (IWDEE)
       END
      END
    DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_delete BEGIN END // nothing to delete
      PATCH_IF GAME_IS ~iwdee~ BEGIN
       DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_delete BEGIN
        267, 14007, "-10", "", "-10", "-10", "same"  => 1 // protection from string "panic"   (BG2EE)
        267, 17427, "-10", "", "-10", "-10", "same"  => 1 // protection from string "panic"   (BG2EE)
        267, 25818, "-10", "", "-10", "-10", "same"  => 1 // protection from string "panic"                 (BGEE)
        267, 20568, "-10", "", "-10", "-10", "same"  => 1 // protection from string "Morale Failure: Panic" (BGEE)
       END
      END
      PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
       DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_delete BEGIN
        267, 20568, "-10", "", "-10", "-10", "same"  => 1 // protection from string "Morale Failure: Panic"   (IWDEE)
        267, 35484, "-10", "", "-10", "-10", "same"  => 1 // protection from string "panic"   (IWDEE)
        267, 25818, "-10", "", "-10", "-10", "same"  => 1 // protection from string "panic"                 (BGEE)
        267, 20568, "-10", "", "-10", "-10", "same"  => 1 // protection from string "Morale Failure: Panic" (BGEE)
       END
      END
      PATCH_IF GAME_IS ~bgee~ BEGIN
       DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_delete BEGIN
        267, 20568, "-10", "", "-10", "-10", "same"  => 1 // protection from string "Morale Failure: Panic"   (IWDEE)
        267, 35484, "-10", "", "-10", "-10", "same"  => 1 // protection from string "panic"   (IWDEE)
        267, 14007, "-10", "", "-10", "-10", "same"  => 1 // protection from string "panic"   (BG2EE)
        267, 17427, "-10", "", "-10", "-10", "same"  => 1 // protection from string "panic"   (BG2EE)
       END
      END
    END
    
    // turns disease immunity into full immunity
    DEFINE_PATCH_MACRO ~cd_immunity_disease_arrays~ BEGIN
      DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_key BEGIN
        101,  "-10", 78, "same",  "-10",  "-10", "same" => 1 // immunity to disease
      END
      DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
      END
      PATCH_IF cosmetic = 1 BEGIN
        DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
          169, "-10", 7, "same", "-10", "-10", "same" => 1 // prevent diseased icon
        END
      END
      PATCH_IF GAME_IS ~bgee~ BEGIN
       DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
        267, 31238, "-10", "",  "-10", "-10", "same" => 1 // protection from string "Diseased" (BGEE)
        267, 26453, "-10", "",  "-10", "-10", "same" => 1 // protection from string "Stricken by a foul disease" (BGEE)
       END
      END
      PATCH_IF GAME_IS ~bg2ee eet iwdee~ BEGIN
       DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
        267, 39752, "-10", "same",  "-10", "-10", "same" => 1 // protection from string "stricken by a foul disease"  (BG2EE/IWDEE)
       END
      END
      PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
       DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
        267, 54337, "-10", "same",  "-10", "-10", "same" => 1 // protection from string "diseased"   (BG2EE/ALso EET)
       END
      END
      PATCH_IF GAME_IS ~iwdee~ BEGIN
       DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
        267, 35593, "-10", "same",  "-10", "-10", "same" => 1 // protection from string "diseased"  (IWDEE)
       END
      END
      DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_delete BEGIN 
      END // nothing to delete
      PATCH_IF GAME_IS ~bgee~ BEGIN  //that's a lie!!!
       DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_delete BEGIN
        267, 35593, "-10", "same",  "-10", "-10", "same" => 1 // protection from string "diseased"  (IWDEE)
        267, 39752, "-10", "same",  "-10", "-10", "same" => 1 // protection from string "stricken by a foul disease"  (BG2EE/IWDEE)
       END
      END
      PATCH_IF GAME_IS ~bg2ee eet iwdee~ BEGIN
       DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_delete BEGIN
        267, 31238, "-10", "",  "-10", "-10", "same" => 1 // protection from string "Diseased" (BGEE)
        267, 26453, "-10", "",  "-10", "-10", "same" => 1 // protection from string "Stricken by a foul disease" (BGEE)
       END
      END
      PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
       DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_delete BEGIN
        267, 35593, "-10", "same",  "-10", "-10", "same" => 1 // protection from string "diseased"  (IWDEE)
       END
      END
    END
    
    // turns level drain immunity into full immunity
    DEFINE_PATCH_MACRO ~cd_immunity_level_drain_arrays~ BEGIN
      DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_key BEGIN
        101,  "-10", 216, "same",  "-10",  "-10", "same" => 1 // immunity to level drain
      END
      DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
      END
      PATCH_IF cosmetic = 1 BEGIN
        DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
          169, "-10", 59, "same", "-10", "-10", "same" => 1 // prevent level drain icon
          142, "-10", 90, "same", "-10", "-10", "same" => 1 // display npp icon
        END
      END
      PATCH_IF GAME_IS ~bgee~ BEGIN  //
        DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
          267, 25802, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "one level drained"   (BGEE)
          267, 25803, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "two levels drained"   (BGEE)
          267, 25804, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "three levels drained"  (BGEE)
          267, 25805, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "four levels drained"   (BGEE)
          267, 25806, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "five levels drained"   (BGEE)
        END
      END
      PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
        DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
          267, 41495, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "one level drained"   (BG2EE)
          267, 40968, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "two levels drained"  (BG2EE)
          267, 40969, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "three levels drained"  (BG2EE)
          267, 40979, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "four levels drained"   (BG2EE)
          267, 41616, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "five levels drained"  (BG2EE)
        END
      END
      PATCH_IF GAME_IS ~iwdee~ BEGIN  //FIND OTHER STRINGS!
        DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_extras BEGIN
          267, 35498, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "one level drained"  (IWDEE)
          267, 35497, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "two levels drained"    (IWDEE)
          267, 35496, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "three levels drained"   (IWDEE)
          267, 35472, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "four levels drained"   (IWDEE)
          267, 35495, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "five levels drained"   (IWDEE)
        END
      END
    DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_delete BEGIN 
    END // nothing to delete ...not
      PATCH_IF GAME_IS ~bgee~ BEGIN
        DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_delete BEGIN
          267, 35498, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "one level drained"  (IWDEE)
          267, 35497, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "two levels drained"    (IWDEE)
          267, 35496, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "three levels drained"   (IWDEE)
          267, 35472, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "four levels drained"   (IWDEE)
          267, 35495, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "five levels drained"   (IWDEE)
          267, 41495, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "one level drained"   (BG2EE)
          267, 40968, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "two levels drained"  (BG2EE)
          267, 40969, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "three levels drained"  (BG2EE)
          267, 40979, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "four levels drained"   (BG2EE)
          267, 41616, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "five levels drained"  (BG2EE)
        END
      END
      PATCH_IF GAME_IS ~bg2ee eet~ BEGIN
        DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_delete BEGIN
          267, 35498, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "one level drained"  (IWDEE)
          267, 35497, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "two levels drained"    (IWDEE)
          267, 35496, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "three levels drained"   (IWDEE)
          267, 35472, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "four levels drained"   (IWDEE)
          267, 35495, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "five levels drained"   (IWDEE)
          267, 25802, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "one level drained"   (BGEE)
          267, 25803, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "two levels drained"   (BGEE)
          267, 25804, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "three levels drained"  (BGEE)
          267, 25805, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "four levels drained"   (BGEE)
          267, 25806, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "five levels drained"   (BGEE)
        END
      END
      PATCH_IF GAME_IS ~iwdee~ BEGIN
        DEFINE_ASSOCIATIVE_ARRAY cd_immunity_batches_delete BEGIN
          267, 41495, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "one level drained"   (BG2EE)
          267, 40968, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "two levels drained"  (BG2EE)
          267, 40969, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "three levels drained"  (BG2EE)
          267, 40979, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "four levels drained"   (BG2EE)
          267, 41616, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "five levels drained"  (BG2EE)
          267, 25802, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "one level drained"   (BGEE)
          267, 25803, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "two levels drained"   (BGEE)
          267, 25804, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "three levels drained"  (BGEE)
          267, 25805, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "four levels drained"   (BGEE)
          267, 25806, "-10",     "same",  "-10", "-10", "same" => 1 // protection from string "five levels drained"   (BGEE)
        END
      END
    END
    


    If you just want to use clone/alter effect, you can still use this. The relevant strings are here...

    i.e. after every "267" you will find the stringrefs for each notification as described after the "//"

    e.g., the very last line is:
    267, 25806, "-10", "same", "-10", "-10", "same" => 1 // protection from string "five levels drained" (BGEE). (bold added)

    i.e. the stringref for "five levels drained" in BGEE is "25806"
  • AquadrizztAquadrizzt Member Posts: 1,069
    edited June 2023
    [Comment deleted]
Sign In or Register to comment.