Skip to content

[(BGEE) Usability bugs] Item usability roundup

CamDawgCamDawg Member, Developer Posts: 3,438
edited November 2012 in Fixed
Looking through BG2 Fixpack for usability fixes applicable to BGEE yields:
  • boot01 (boots of speed) should by usable by monks
  • brac06 (gauntlets of ogre power) should be usable by bards
  • brac21 (gauntlets of extraordinary specialization) should be usable by barbarians, bounty hunters, assassins
  • clck09 (mage robe of cold resistance) should be usable by wizard slayers
  • clck10 (mage robe of fire resistance) should be usable by wizard slayers
  • clck11 (mage robe of electrical resistance) should be usable by wizard slayers
  • clck12 (knave's robe) should be usable by wizard slayers
  • clck13 (traveller's robe) should be usable by wizard slayers
  • clck14 (adventurer's robe) should be usable by wizard slayers
  • clck15 (robe of the good archmagi) should be usable by wizard slayers
  • clck16 (robe of the neutral archmagi) should be usable by wizard slayers
  • clck17 (robe of the evil archmagi) should be usable by wizard slayers
  • clck18 (knave's robe ) should be usable by wizard slayers
  • clck19 (robe of the good archmagi) should be usable by wizard slayers
  • hgwra02 (robe of the good archmagi) should be usable by wizard slayers
  • potn25 (potion of healing) should be usable by wizard slayers
  • potn32 (antidote) should be usable by wizard slayers
  • potn36 (potion of master thievery) should be unusable by monks
  • ring22 (ring of holiness) should be unusable by monks
  • scrl3h (scroll of protection from evil) should be unusable by transmuters
  • scrl5w (scroll of greater malison) should be unusable by monks
  • sw1h20 (scimitar) should be unusable by beast masters
  • sw1h22 (scimitar +1) should be unusable by beast masters
  • sw1h23 (scimitar +2, rashad's talon) should be unusable by beast masters
  • wand02 (wand of fear) should be unusable by monks
  • wand04 (wand of paralyzation) should by unusable by monks
  • wand05 (wand of fire) should by unusable by monks
  • wand06 (wand of frost) should by unusable by monks
  • wand07 (wand of lightning) should by unusable by monks
  • wand09 (wand of polymorphing) should by unusable by monks
  • wand10 (wand of monster summoning) should by unusable by monks
I tried to limit this to items actually used in BGEE but there may be a few you can ignore.



Post edited by Tanthalas on
AndreaColomboIgneousBhryaen

Comments

  • CamDawgCamDawg Member, Developer Posts: 3,438
    hgwra02 is actually unused, and I missed the monks should also be restricted from the gauntlets of extraordinary specialization.
    COPY_EXISTING ~boot01.itm~ ~override~ // boots of speed
    PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN // protects against invalid files
    READ_BYTE 0x21 "use"
    WRITE_BYTE 0x21 ("%use%" BAND 0b11011111) // removes monk flag
    END
    BUT_ONLY_IF_IT_CHANGES

    COPY_EXISTING ~brac06.itm~ ~override~ // Gauntlets of Ogre Power
    READ_BYTE 0x1e "use"
    WRITE_BYTE 0x1e ("%use%" BAND 0b10111111) // removes bard flag
    BUT_ONLY_IF_IT_CHANGES

    COPY_EXISTING ~brac21.itm~ ~override~ // gauntlet of ex specialization
    PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN // protects against invalid files
    READ_BYTE 0x29 "use"
    WRITE_BYTE 0x29 ("%use%" BAND 0b10111111) // removes barbarian flag
    END
    BUT_ONLY_IF_IT_CHANGES

    COPY_EXISTING ~brac21.itm~ ~override~ // gauntlet of ex specialization
    PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN // protects against invalid files
    READ_BYTE 0x2b "use"
    WRITE_BYTE 0x2b ("%use%" BAND 0b11110111) // remove bounty hunter flag
    END
    BUT_ONLY_IF_IT_CHANGES

    COPY_EXISTING ~brac21.itm~ ~override~ // gauntlet of ex specialization
    PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN // protects against invalid files
    READ_BYTE 0x2b "use"
    WRITE_BYTE 0x2b ("%use%" BAND 0b11111011) // remove assassin flag
    END
    BUT_ONLY_IF_IT_CHANGES

    COPY_EXISTING ~brac21.itm~ ~override~ // guantlets of ex specialization
    ~potn36.itm~ ~override~ // potion of master thievery
    ~ring22.itm~ ~override~ // ring o' holiness
    ~scrl5w.itm~ ~override~ // >> malison
    ~wand02.itm~ ~override~ // wand of fear
    ~wand04.itm~ ~override~ // wand of paralyzation
    ~wand05.itm~ ~override~ // wand of fire
    ~wand06.itm~ ~override~ // wand of frost
    ~wand07.itm~ ~override~ // wand of lightning
    ~wand09.itm~ ~override~ // wand of polymorphing
    ~wand10.itm~ ~override~ // wand of monster summoning
    PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN // protects against invalid files
    READ_BYTE 0x21 "use"
    WRITE_BYTE 0x21 ("%use%" BOR 0b00100000) // adds monk flag
    END
    BUT_ONLY_IF_IT_CHANGES

    COPY_EXISTING ~clck09.itm~ ~override~ // mage robe of cold resistance
    ~clck10.itm~ ~override~ // mage robe of fire resistance
    ~clck11.itm~ ~override~ // mage robe of electric resistance
    ~clck12.itm~ ~override~ // knave's robe
    ~clck13.itm~ ~override~ // traveller's robe
    ~clck14.itm~ ~override~ // adventurer's robe
    ~clck15.itm~ ~override~ // robe of the good archmagi
    ~clck16.itm~ ~override~ // robe of the neutral archmagi
    ~clck17.itm~ ~override~ // robe of the evil archmagi
    ~clck18.itm~ ~override~ // knave's robe
    ~clck19.itm~ ~override~ // robe of the good archmagi
    ~potn25.itm~ ~override~ // healing potion (cursed)
    ~potn32.itm~ ~override~ // antidote (cursed)
    PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN // protects against invalid files
    READ_BYTE 0x2f "use"
    WRITE_BYTE 0x2f ("%use%" BAND 0b11111101) // removes wizardslayer flag
    END
    BUT_ONLY_IF_IT_CHANGES

    COPY_EXISTING ~scrl3h.itm~ ~override~ // protection from evil
    READ_BYTE 0x2d "use"
    WRITE_BYTE 0x2d ("%use%" BOR 0b00100000) // adds transmuter flag
    BUT_ONLY_IF_IT_CHANGES

    COPY_EXISTING ~sw1h20.itm~ ~override~ // scimitar
    ~sw1h22.itm~ ~override~ // Scimitar +1
    ~sw1h23.itm~ ~override~ // Scimitar +2, Rashad's Talon
    PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN // protects against invalid files
    READ_BYTE 0x2b "use"
    WRITE_BYTE 0x2b ("%use%" BOR 0b00000010) // adds beastmaster flag
    END
    BUT_ONLY_IF_IT_CHANGES
    AndreaColomboBhryaen
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    edited July 2012
    Hmm, you want the wizard slayer able to use mage robes?
  • CamDawgCamDawg Member, Developer Posts: 3,438
    Wizard slayers are allowed magical armor.
  • CuvCuv Member, Developer Posts: 2,535
    But robes arent really armour, I dont know... doesnt look right to me either.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    I just find it very odd that a wizardslayer is allowed to don a robe of the evil archmagi. Luckily this is only a theoretical problem, they are not dual/multi classed into mage anyway :)
  • SethDavisSethDavis Member Posts: 1,812
    edited July 2012
    checking this one now

    [EDIT] Potentially fixed - @CamDawg 's fix has been applied
  • TanthalasTanthalas Member Posts: 6,738
    edited August 2012
    @SethDavis, @Camdawg

    Everything is Confirmed Fixed except:

    brac21 (gauntlets of extraordinary specialization)

    These gauntlets are still unusable for Bounty Hunter and Assassin. But Thief and Swashbuckler can't wear them either. Should all Thief kits be able to use these? Or is there something special about Bounty Hunters and Assassins?

    clck09 (mage robe of cold resistance) should be usable by wizard slayers
    clck10 (mage robe of fire resistance) should be usable by wizard slayers
    clck11 (mage robe of electrical resistance) should be usable by wizard slayers
    clck12 (knave's robe) should be usable by wizard slayers
    clck13 (traveller's robe) should be usable by wizard slayers
    clck14 (adventurer's robe) should be usable by wizard slayers
    clck15 (robe of the good archmagi) should be usable by wizard slayers
    clck16 (robe of the neutral archmagi) should be usable by wizard slayers
    clck17 (robe of the evil archmagi) should be usable by wizard slayers
    clck18 (knave's robe ) should be usable by wizard slayers
    clck19 (robe of the good archmagi) should be usable by wizard slayers
    hgwra02 (robe of the good archmagi) should be usable by wizard slayers


    I'm not sure what CamDawg meant with these changes, but in Build 0803 none of the them can be used by Wizard Slayers, but they could all be used by Wizard Slayers dual-classed to Mages.

    Another thing: clck18 and clck19 can't be removed from inventory

    w1h23 (scimitar +2, rashad's talon) should be unusable by beast masters

    Beast Masters can still use this Scimitar in Build 0803
  • CamDawgCamDawg Member, Developer Posts: 3,438
    I probably should have placed some notes with these changes. Because there are two sets of usability flags (one set for main classes and races, a second set for kits) some of these issues show up for dual-classes.

    For example, thieves can't use gauntlets of extraordinary specialization because the thief flag is set, but they're usable by fighter-thieves. Because the redundant bounty hunter and assassin flags are set, it means that assassin > fighter and bounty hunter > fighter dual-classes would be restricted from these, when they should be able to wear them. Just about everything you've noted falls into this category--wizard slayers can't use mage robes even with the flag removed (the fighter flag still supersedes it), but if they dualed to mage then the flag would prevent them from using a robe they should be able to use. (Setting aside, of course, how silly a wizard slayer > mage would be from an RP standpoint, of course.)

    Rashad's Talon still needs its beast master flag.
    AndreaColombo
  • TanthalasTanthalas Member Posts: 6,738
    Ok, with CamDawg's explanation I can now also confirm that dual-classed Assassin/Fighter and Bounty Hunter/Fighter can both equip BRAC21.

    @SethDavis
    The only thing that needs to be fixed is:

    w1h23 (scimitar +2, rashad's talon) should be unusable by beast masters

    Everything else is working.
  • SethDavisSethDavis Member Posts: 1,812
    edited August 2012
    @Tanthalas @CamDawg - Unless this is another instance of LUA fixing things, my beast master cannot use Rashad's Talon.

    Is there something missing in the above code for this flag? It looks like it's adding the flag correctly in
    COPY_EXISTING ~sw1h20.itm~   ~override~ // scimitar
    ~sw1h22.itm~ ~override~ // Scimitar +1
    ~sw1h23.itm~ ~override~ // Scimitar +2, Rashad's Talon
    PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN // protects against invalid files
    READ_BYTE 0x2b "use"
    WRITE_BYTE 0x2b ("%use%" BOR 0b00000010) // adds beastmaster flag
    END
    BUT_ONLY_IF_IT_CHANGES
  • TanthalasTanthalas Member Posts: 6,738
    edited August 2012
    @SethDavis

    I can't help you with the code. But I can definitely confirm that my Beast Master can equip Rashad's Talon.

    Also:

    If I go to my override folder and remove sw1h20.itm and SW1H22.itm, my Beast Master goes back to being able to equip those weapons. So those files work. Not sure why sw1h23.itm isn't working.
  • WispWisp Member Posts: 1,102
    @SethDavis
    The code is fine (and working locally).
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    edited August 2012
    @SethDavis sw1h23 has no scimitar proficiency set.
    You wanted sw1h23 to not be equipable, well, it is equipable in 0803. You may have disabled it locally.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    sw1h23 seems to be fixed.
  • TanthalasTanthalas Member Posts: 6,738
    Forgot to check this one. Tagging for later.
  • TanthalasTanthalas Member Posts: 6,738
    Yep, the last issue was fixed already.
Sign In or Register to comment.