Skip to content

[BG1, BGEE] Unlimited xp from Abela the Nymph (0824)

Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
edited September 2012 in Fixed
EXPERIENCED PROBLEM:
In ar0126 you can free Abela (just ctrl-y ragefast). Before she vanishes, talk to her again, and again...
2000 xp loop.
http://forum.baldursgate.com/discussion/1994/bugbg1-chapter-5-infinite-xp-trick-nymph-teleporttalk/p1

SOLUTION:
Make Abela unselectable for dialog before poofing away.
This is done by: DialogInterrupt(FALSE)

Sorry, i'm not a weidu guy, but here is the whole action block.

GiveItem("MISC51",LastTalkedToBy)
AddexperienceParty(2000)
EraseJournalEntry(25446)
EraseJournalEntry(25444)
EraseJournalEntry(25447)
DialogInterrupt(FALSE)
ForceSpell(Myself,DRYAD_TELEPORT)


Note: this block can be found twice in the dialog!
Post edited by Bhryaen on

Comments

  • RerelRerel Member Posts: 86
    edited September 2012
    GAME BEHAVIOR AT PRESENT :
    In chapter 5 Baldur's Gate, Middle/Western Section (AR0600), Ragefast's home
    You find Ragefast, you fullfill his quest then at the end you decide to ask him to free Abela the nymph. You slain Ragefast and Abela thank you and give you some of her hair and XP then she tries to cast "Dimension Door".
    If you try to talk to her when she spells "Dimension Door" you stop her spell and get another round of XP (2K not sure). Aaaaand infinite Loop, stop cast, get xp!
    Bug presents in old BG1ToSC 3CDs/6CDs version if i'm not wrong the cast stop trick don't always happen (save before entering house/load game back). I never played Infinity Edge version so not sure if this bug is already fixed (sorry if it is :S ).

    CORRECT GAME BEHAVIOR EXPECTED :
    Abela the nymph shouldn't be disturbed when casting her "Dimension Door" spell and should vanish like a queen (not casting "Dimension Door" and running out || Not being able to be selected/talk to when casting the spell).
    Post edited by Bhryaen on
  • BalquoBalquo Member, Developer Posts: 2,746
    This entire quest is littered with bugs. Certainly needs a look at.
  • RerelRerel Member Posts: 86
    I used this trick a lot trying to reach max xp limit (it starts giving pain to the hand after 5minutes) before Big fights : like the Cult Demon in Ulgoth's Beard.
    But I never succeded beating him without loosing at least one char :-)
  • WispWisp Member Posts: 1,102
    @Avenger_teambg's fix in TP2:

    COPY_EXISTING abela.dlg override
    DECOMPILE_AND_PATCH BEGIN
    REPLACE_TEXTUALLY ~\(ForceSpell(Myself,DRYAD_TELEPORT)\)~ ~DialogueInterrupt(FALSE) \1~
    END
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    edited August 2012
    Wait, @Wisp, will that also keep the forcespell in the dialog? Oh, i see the \1 in the end. Clever :)
  • BalquoBalquo Member, Developer Posts: 2,746
    @Avenger_teambg What does \1 do in this case?
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    edited August 2012
    Balquo said:

    @Avenger_teambg What does \1 do in this case?

    If i understood it correctly, it replaces the first - only - part from the first expression which was enclosed in brackets. Maybe it needs a cr/lf before the \1, though.
  • WispWisp Member Posts: 1,102
    edited August 2012
    \( \)
    groups/captures anything it encloses. When \1 is used in the right-hand expression, it means to copy the first such captured expression to this location.
    The code will work fine as it is. Type of whitespace does not matter.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    DLTCEP chokes on multiple actions in a line, that's sure.
  • WispWisp Member Posts: 1,102
    Note that DECOMPILE_AND_PATCH decompiles the DLG into a D before it makes any changes. Afterwards, the file is compiled back into a DLG. WeiDU standardises whitespace during both compiles and decomplies. All actions are separated by CRLF in the resulting DLG.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    Ahh cool, i'm totally inexperienced in weidu stuff :) thanks for clarifying.
  • SethDavisSethDavis Member Posts: 1,812
    Potentially fixed - @Wisp's fix has been applied
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    Nah, nope, script may have been run, but didn't change the dialog. @SethDavis

    I see this:


    GiveItem("MISC51",LastTalkedToBy)
    AddexperienceParty(2000)
    EraseJournalEntry(26808)
    EraseJournalEntry(26806)
    EraseJournalEntry(26809)
    ForceSpell(Myself,DRYAD_TELEPORT)
  • SethDavisSethDavis Member Posts: 1,812
    @Avenger_tembg - You have no idea how glad I am to see the journal d file get borged. Hopefully this kind of thing will happen less frequently now.

    Potentially fixed - @Wisp's fix has been reapplied.
  • BalquoBalquo Member, Developer Posts: 2,746
    edited August 2012
    It is essentially fixed but It is still possible to get the reward an extra time or two. You have to be very quick though. It's the same story with stealing from shopkeepers that if you are quick enough you can access the dialogue again.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    I call this confirmed fixed.
  • BhryaenBhryaen Member Posts: 2,874
    The Bugs thread by @Rerel addressing this bug has been merged into this thread.
  • RerelRerel Member Posts: 86
    I will wait for the game release to try again this trick but i trust you guys (for the moment ;)
Sign In or Register to comment.