[Bug] A Weak Block in one character's hand blocked for a different character - Geomancy

Discussion in 'Bugs' started by Scarponi, Jul 9, 2015.

  1. Scarponi

    Scarponi Moderator

    So was in a game of Geomancy and forced coned a group of characters.

    Friar Roq moves into position
    Friar Roq moved.
    Friar Roq drew a card.
    Friar Roq drew a card.

    Friar Lump blasts a cone of force!
    Friar Roq blocked with Weak Block.
    Master Geo Frai discarded Weak Block.

    Weak Block failed! <- [This is the block in Brother Clay's hand and is not part of the bug]
    Brother Clay took 1 Arcane damage.
    Brother Clay heals 3 points in response!
    Brother Clay recovered 1 HP.
    Master Geo Logi took 1 Arcane damage.
    Brother Stone took 1 Arcane damage.
    Master Geo Frai took 1 Arcane damage.
    Brother Clay moved.
    Master Geo Logi moved.
    Brother Stone moved.
    Master Geo Frai moved.
    Friar Roq muscles its way through
    Friar Roq moved.
    Master Geo Logi took 0 Crushing damage.
    Brother Stone took 0 Crushing damage.
    Master Geo Frai took 0 Crushing damage.
    Brother Clay took 0 Crushing damage.
    Master Geo Logi moved.
    Brother Stone moved.
    Master Geo Frai moved.
    Brother Clay moved.

    Geo.jpg

    Stars mark where the characters were before Friar Lump played a Force Cone. Master Geo Frai and Friar Roq were both standing on Mud (however Master Geo Frai has Hover), thus Friar Roq shouldn't get a block roll even if he has a block (I'm assuming Hover would allow Master Geo Frai to block even though I've never tested this).

    Friar Lump
    plays a Force Cone, and Friar Roq blocks with the Weak Block in Master Geo Frai's hand! As you can see Friar Roq remains where he was still on mud while Master Geo Frai has been pushed back even though he discarded his block.[/spoiler][/spoiler]
     
    timeracers likes this.
  2. Jon

    Jon Blue Manchu Staff Member

    Wow, that sounds odd. I don't suppose you have the battle log saved (from the chat box or from the console)?
     
  3. Scarponi

    Scarponi Moderator

    You mean the part in the original post above the screen shot called "spoiler: battle log"? Sorry it's only the chat box log, not the console.
     
  4. Scarponi

    Scarponi Moderator

    Out of curiosity I went back and was able to repro this. This time Geo Frai had 2 week blocks and he blocked first for Friar Roq and second for himself:

    upload_2015-7-10_5-16-9.png

    Friar Lump blasts a cone of force!
    Friar Roq blocked with Weak Block.
    Master Geo Frai discarded Weak Block.
    Master Geo Frai blocked with Weak Block.
    Master Geo Frai discarded Weak Block.

    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=The active player is now Scarponi01
    startTimer 1 737
    BATTLE LOG: Player=Scarponi01,Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Event=PlayAction,Action=Force Cone,Instigator=Friar Lump,Targets=
    stopTimer 1 725
    stopTimer 1 713
    stopTimer 1 701
    stopTimer 1 689
    startTimer 0 778
    BATTLE LOG: Player=Scarponi01,Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Event=TriggerSucceed,Trigger=Weak Block,TriggeringActor=Master Geo Frai,AffectedActors=Friar Roq,Master Geo Frai,TriggerType=Action,TriggerLocation=Hand
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=Friar Roq, health = 19 (pi:0, gi:0, ai:0) blocks Force Cone
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Group=LE GeoWiz,Event=Discard,Card=Weak Block
    BATTLE LOG: Player=Scarponi01,Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Event=TriggerSucceed,Trigger=Weak Block,TriggeringActor=Master Geo Frai,AffectedActors=Master Geo Frai,TriggerType=Action,TriggerLocation=Hand
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=Master Geo Frai, health = 19 (pi:0, gi:1, ai:0)
    Attached cards: Hover (1) blocks Force Cone
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Group=LE GeoWiz,Event=Discard,Card=Weak Block
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=Brother Clay took 1 damage
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=Master Geo Logi took 1 damage
    BATTLE LOG: Player=Scarponi01,Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Event=TriggerFail,Trigger=,TriggeringActor=Brother Stone,AffectedActors=,TriggerType=PreDamage,TriggerLocation=Hand
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=Brother Stone took 1 damage
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Player=Scarponi01,Participant=Scarponi01,Actor=Brother Clay,Event=Move,Origin=(5, 6),StartFacing=(1, 0),Destination=(5, 7),EndFacing=(1, 0)
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Player=Scarponi01,Participant=Scarponi01,Actor=Master Geo Logi,Event=Move,Origin=(6, 6),StartFacing=(-1, 0),Destination=(7, 7),EndFacing=(-1, 0)
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Player=Scarponi01,Participant=Scarponi01,Actor=Brother Stone,Event=Move,Origin=(5, 5),StartFacing=(0, 1),Destination=(5, 6),EndFacing=(0, 1)
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=The active player is now Scarponi02

    > clip

    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=The active player is now Scarponi01
    BATTLE LOG: Player=Scarponi01,Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Event=PlayAction,Action=Force Cone,Instigator=Friar Lump,Targets=
    stopTimer 1 725
    stopTimer 1 713
    stopTimer 1 701
    stopTimer 1 689
    startTimer 0 778
    BATTLE LOG: Player=Scarponi01,Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Event=TriggerSucceed,Trigger=,TriggeringActor=Master Geo Frai,AffectedActors=Friar Roq,Master Geo Frai,TriggerType=Action,TriggerLocation=Hand
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=Friar Roq, health = 19 (pi:0, gi:0, ai:0) blocks Force Cone
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Group=LE GeoWiz,Event=Discard,Card=Weak Block
    BATTLE LOG: Player=Scarponi01,Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Event=TriggerSucceed,Trigger=Weak Block,TriggeringActor=Master Geo Frai,AffectedActors=Master Geo Frai,TriggerType=Action,TriggerLocation=Hand
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=Master Geo Frai, health = 19 (pi:0, gi:1, ai:0)
    Attached cards: Hover (1) blocks Force Cone
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Group=LE GeoWiz,Event=Discard,Card=Weak Block
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=Brother Clay took 1 damage
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=Master Geo Logi took 1 damage
    BATTLE LOG: Player=Scarponi01,Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Event=TriggerFail,Trigger=Arrogant Armor,TriggeringActor=Brother Stone,AffectedActors=,TriggerType=PreDamage,TriggerLocation=Hand
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=Brother Stone took 1 damage
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Player=Scarponi01,Participant=Scarponi01,Actor=Brother Clay,Event=Move,Origin=(5, 6),StartFacing=(1, 0),Destination=(5, 7),EndFacing=(1, 0)
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Player=Scarponi01,Participant=Scarponi01,Actor=Master Geo Logi,Event=Move,Origin=(6, 6),StartFacing=(-1, 0),Destination=(7, 7),EndFacing=(-1, 0)
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Player=Scarponi01,Participant=Scarponi01,Actor=Brother Stone,Event=Move,Origin=(5, 5),StartFacing=(0, 1),Destination=(5, 6),EndFacing=(0, 1)
    BATTLE LOG: Scenario=LG Clash of Geomancy,Room=Scarponi01's battle (looking for opponent),RoomID=7,Msg=The active player is now Scarponi02

    > clip
     
    ParodyKnaveBob and Sir Veza like this.
  5. DunDunDun

    DunDunDun Thaumaturge

    This sounds vaguely similar (at least by way of both being block-related) to the bug I had in a league where lifesaving block didn't work [on Whorl, was it?].

    Then again, I didn't manage to repro that [and stopped playing leagues soon after], but might be interesting when poking at the problem to consider if it's related.
     
  6. Kalin

    Kalin Begat G'zok

    You put a lot of effort into exactly reproducing the circumstances!

    This is what it sounds like it is doing:
    • Attack affects multiple chars, so block checking will be complicated.
    • Game makes a list of potentially affected chars (A,B,...).
    • A pointer (CurrentChar) is set to first char in the list (A).
    • A second pointer (CurrentCard) normally would be set to the newest card in A's hand, but the game notices that A is standing in Mud so it sets CurrentCard to newest card in B's hand.
    • Game forgets to change CurrentChar to B.
    • CurrentCard goes through B's hand until it finds a block.
    • Block succeeds and is discarded, CurrentChar (still A) is removed from list of affected chars.
    • CurrentChar is now moved to B and CurrentCard is once again set to newest card in B's hand.
    So Jon should look at the code for detecting Mud while checking blocks on multiple chars.
     
    ParodyKnaveBob likes this.
  7. Dieben

    Dieben Lizardman Shopkeeper

    I just experienced this as well, very frustrating as it benefited an enemy who had only an armor card in hand. Effectively cost me the match.
     

Share This Page