Skip to content

Animal Companions for Rangers and Druids in IWD:EE?

I was so sad to see that Rangers and Druids have no animal companions in IWD:EE. I know it's true to the original but still...with IWD II:EE probably never happening, this is the only game set in IWD proper and it would be wonderful to just have the same options as in BG II:EE.

This awesome mod: https://forums.beamdog.com/discussion/50975/mod-animal-companions-for-rangers-and-druids-for-bg1ee-sod-bg2ee-eet/p1 lets rangers and druids have nameable and leveling animal companions for BG and BG EEs, anyone want to take a stab at making it work in IWD:EE? I'd be so grateful!

Comments

  • sarevok57sarevok57 Member Posts: 5,975
    well rangers and druids are really good in IWD, so it might make the game more unbalancing implementing this

    also, the beast master i believe gets the summon animal spells at certain levels
    and the totemic druid gets the spirit animals, so they are kind of like animal companions

    so at least in the meantime you could do that
  • UlbUlb Member Posts: 295
    Hey, if anyone provides me with (all) the starting area codes (or rather their .bcs script file names) I can add them to the mod.

    In the mean time you should be able to actually install the mod on IWD, you'll just have give your character the starting ability, everything else should work just fine from there on out.

    The initial ability is UBRPETA.SPL (Find Animal Companion), once a character has that one everything should work.

    DISCLAIMER: I'm assuming that IWD uses the same area flags as the BG games do, otherwise there may be further issues.
  • UlbUlb Member Posts: 295
    Not quite. I never played IWD so I need someone to tell me which areas are the starting areas.
  • RaduzielRaduziel Member Posts: 4,714
    Ulb said:

    Not quite. I never played IWD so I need someone to tell me which areas are the starting areas.

    What information do you need exactly, @Ulb ?

    The only starting area in IWDEE is Easthaven. What do you need to know about it?
  • UlbUlb Member Posts: 295
    Ifyou just drop me the area script name (something like AR008.BCS) that should do it.
  • RaduzielRaduziel Member Posts: 4,714
    @Ulb AR1006.BCS

    IF
    !Global("AR1006_visited","GLOBAL",1)
    THEN
    RESPONSE #100
    SetGlobal("AR1006_visited","GLOBAL",1)
    Continue()
    END

    IF
    Died([0.0.0.INNOCENT])
    !Global("SPRITE_IS_DEADTOWNIE","GLOBAL",1)
    THEN
    RESPONSE #100
    SetGlobal("SPRITE_IS_DEADTOWNIE","GLOBAL",1)
    Continue()
    END

    IF
    Global("CDOpeningCut","AR1006",0)
    Global("CHAPTER_BREAK_0","GLOBAL",1)
    THEN
    RESPONSE #100
    MultiPlayerSync()
    StartCutSceneMode()
    ClearAllActions()
    MultiPlayerSync()
    FadeFromColor([30.0],0)
    SetGlobal("CDOpeningCut","AR1006",1)
    TakeItemListPartyNum("IWDPLOT",99)
    ApplySpellRES("OHSTAFF",Player1) // No such index
    StartCutScene("EHHROTHT")
    END

    IF
    Global("CHAPTER_BREAK_0","GLOBAL",0)
    THEN
    RESPONSE #100
    IncrementChapter("CHPTXT0")
    FadeToColor([0.0],0)
    HideGUI()
    ActionOverride(Player1,Face(E))
    ActionOverride(Player2,Face(N))
    ActionOverride(Player3,Face(N))
    SetGlobal("Chapter","GLOBAL",0)
    SetGlobal("CHAPTER_BREAK_0","GLOBAL",1)
    END

    IF
    Global("MURDER_ALARM","GLOBAL",0)
    !Global("SPRITE_IS_DEADEVERARD","GLOBAL",0)
    THEN
    RESPONSE #100
    SetGlobal("MURDER_ALARM","GLOBAL",1)
    Continue()
    END

    IF
    Global("MURDER_ALARM","GLOBAL",0)
    !Global("SPRITE_IS_DEADPOMAB","GLOBAL",0)
    THEN
    RESPONSE #100
    SetGlobal("MURDER_ALARM","GLOBAL",1)
    Continue()
    END

    IF
    Global("MURDER_ALARM","GLOBAL",0)
    !Global("AREA_HOSTILE","MYAREA",0)
    THEN
    RESPONSE #100
    SetGlobal("MURDER_ALARM","GLOBAL",1)
    Continue()
    END

    IF
    Global("AREA_HOSTILE","MYAREA",0)
    !Global("MURDER_ALARM","GLOBAL",0)
    THEN
    RESPONSE #100
    SetGlobal("AREA_HOSTILE","MYAREA",1)
    Continue()
    END

    IF
    !Global("SPRITE_IS_DEADTOWNIE","GLOBAL",0)
    THEN
    RESPONSE #100
    SetGlobal("TOWNIE_HOSTILE","MYAREA",0)
    SetGlobal("SPRITE_IS_DEADTOWNIE","GLOBAL",0)
    Continue()
    END

    IF
    !Global("RETURN_TO_LONELYWOOD","GLOBAL",0)
    THEN
    RESPONSE #100
    StartCutSceneMode()
    StartCutScene("keRtrnLW")
    SetGlobal("RETURN_TO_LONELYWOOD","GLOBAL",0)
    END

    IF
    OnCreation()
    THEN
    RESPONSE #100
    NoAction()
    Continue()
    END

    IF
    Global("BD_SOLO_PLAYER","GLOBAL",0)
    NumInParty(1)
    THEN
    RESPONSE #100
    SetGlobal("BD_SOLO_PLAYER","GLOBAL",1)
    END

    IF
    Global("BD_SOLO_PLAYER","GLOBAL",0)
    NumInPartyGT(1)
    THEN
    RESPONSE #100
    SetGlobal("BD_SOLO_PLAYER","GLOBAL",3)
    END

    IF
    Global("BD_NIGHTMARE_ON","GLOBAL",0)
    NightmareModeOn()
    THEN
    RESPONSE #100
    SetGlobal("BD_NIGHTMARE_ON","GLOBAL",1)
    END

    IF
    Global("BD_NIGHTMARE_ON","GLOBAL",0)
    !NightmareModeOn()
    THEN
    RESPONSE #100
    SetGlobal("BD_NIGHTMARE_ON","GLOBAL",3)
    END

    IF
    Global("BD_STORYMODE_ON","GLOBAL",0)
    StoryModeOn()
    THEN
    RESPONSE #100
    SetGlobal("BD_STORYMODE_ON","GLOBAL",1)
    END

    IF
    Global("BD_STORYMODE_ON","GLOBAL",0)
    !StoryModeOn()
    THEN
    RESPONSE #100
    SetGlobal("BD_STORYMODE_ON","GLOBAL",3)
    END
  • UlbUlb Member Posts: 295
    Thanks, I'll add IWD compatibility and release a new version once I'm done.
  • inethineth Member Posts: 707
    AR1006 (Easthaven, tavern) is the starting area for a normal IWD game.

    AR9100 (Lonelywood, outdoors) is the starting area for an expansion-only (HoW) game.

    In both cases, the script is the area code plus the .BSC suffix.
  • UlbUlb Member Posts: 295
    Hey, sorry I'm late, kind of forgot about this. :)

    Anyway, mod is updated to work with IWD1EE now, thanks @ineth for looking up the area codes.
Sign In or Register to comment.