Inspiring Armor vs already dead ally

Discussion in 'Bugs' started by Phaselock, Jun 14, 2013.

  1. Phaselock

    Phaselock Bugblatter

    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Msg=The active player is now Gary
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Player=Gary,Actor=Crung,Event=Move,Origin=(1, 4),StartFacing=(0, -1),Destination=(1, 4),EndFacing=(0, -1)
    BATTLE LOG: Player=Gary,Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Event=PlayAction,Action=Shattering Sweep,Instigator=Crung,Targets=
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Msg=DWiz_test1 took 11 damage
    BATTLE LOG: Player=Gary,Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Event=TriggerSucceed,Trigger=Mindless Battlerage,TriggeringActor=Crung,AffectedActors=,TriggerType=Death,TriggerLocation=ActorAttachment
    BATTLE LOG: Player=Gary,Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Event=TriggerSucceed,Trigger=Inspiring Armor,TriggeringActor=HW_test1,AffectedActors=,TriggerType=PreDamage,TriggerLocation=Hand
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Msg=phaselock drew Strong Stab for HW_test1
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Group=HW_test1,Event=Discard,Card=Inspiring Armor
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Msg=HW_test1 took 2 damage
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Msg=Detaching and discarding Dimensional Traveller from DWiz_test1
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Msg=DWiz_test1 died
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Group=DWiz_test1,Event=Discard,Card=Force Blast
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Group=DWiz_test1,Event=Discard,Card=Ember Spray
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Group=DWiz_test1,Event=Discard,Card=Walk
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Msg=HW_test1 took 11 damage
    BATTLE LOG: Player=Gary,Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Event=TriggerSucceed,Trigger=Mindless Battlerage,TriggeringActor=Crung,AffectedActors=,TriggerType=Death,TriggerLocation=ActorAttachment
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Msg=Detaching and discarding Impaler from HW_test1
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Msg=HW_test1 died
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Group=HW_test1,Event=Discard,Card=Strong Stab
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Group=HW_test1,Event=Discard,Card=All Out Attack
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Group=HW_test1,Event=Discard,Card=Lunging Hack
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Group=HW_test1,Event=Discard,Card=Run
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Group=HW_test1,Event=Discard,Card=Jump Back
    BATTLE LOG: Scenario=Rose Dragon Ogre Sentries,Room=ROSE (phaselock),RoomID=18875,Msg=The active player is now phaselock

    Crung makes a sweeping attack!
    DWiz_test1 took 10 Crushing damage.
    (unknown actor) is driven into a rage by the smell of blood-
    and rains blows all around!
    HW_test1 is wearing armor -
    HW_test1 and its closest ally are inspired!
    HW_test1 drew Strong Stab.
    HW_test1 discarded Inspiring Armor.
    HW_test1 took 2 Crushing damage.
    DWiz_test1 died.
    Gary scored 2 points.
    DWiz_test1 discarded Force Blast.
    DWiz_test1 discarded Ember Spray.
    DWiz_test1 discarded Walk.
    HW_test1 took 1 Crushing damage.
    (unknown actor) is driven into a rage by the smell of blood-
    and rains blows all around!
    HW_test1 died.
    Gary scored 2 points.
    HW_test1 discarded Strong Stab.
    HW_test1 discarded All Out Attack.
    HW_test1 discarded Lunging Hack.
    HW_test1 discarded Run.
    HW_test1 discarded Jump Back.

    Story: Complex interactions

    a) Ogre bruiser used shattering sweep on my dwarf wizard (DWiz_test1) who had 10 hp left and died.
    b) This triggered MBR to hit my human warrior (standing beside DWiz_test1) who had 3 hp with Inspiring Armor in hand. Inspiring Armor procs, drops MBR's damage to 2, triggers card draw for the human warrior BUT does not trigger a card draw for my dwarven priest spectator or the closest (DWiz_test1) ally and discards.
    c) Human warrior is now at 1 hp. DWiz_test1 dies, hand is discarded. Shattering sweep continues and kills my human warrior, MBR triggers on nothing and human warrior's hand discards.

    I'm guessing that the bug here is how inspiring armor should behave when the closest ally is pronounced dead but not yet completely dead ? Logically, IA should have triggered the card draw for the warrior AND the priest. Instead, it MIGHT have been targeting the warrior and the already dead wizard. Resulting in no new cards for either the wizard or the priest.

    [​IMG]
     
  2. Jon

    Jon Blue Manchu Staff Member

    Yeah, I think you are right in your evaluation, i.e. Inspiring Armor attempted to draw cards for your already dead Wizard.

    So, Mindless Battlerage triggers "when any other character dies". Internally, this is handled by an event that is generated when the character takes damage, but before they are actually marked as being dead. The reason for this is that there might be need to reference their location on the board in that event.

    The net result is that the Mindless Battlerage and the Inspiring Armor resolve while the killed character is still located on the board, meaning that they are marked as the closest ally to draw cards. By the time they come to draw them, they are actually dead and so the draw is wasted.

    I can modify the Inspiring Armor code to check the ally's health - which should work around this issue.
     

Share This Page