It is currently 07 Jul 2021, 11:58
   
Text Size

Shandalar - Program Bugs

Draw replacement trigger allows response (fix completed in vcs)

 

Horizon Chimera triggers ability/prompts to use ability when you draw a card even when it is in hand or even when opponent draws a card.Doesn't gain life if you click on it however but it triggers.
Last edited by Korath on 25 Oct 2016, 05:15, edited 2 times in total.
Reason: retitle from "Horizon Chimera triggers/prompts while on hand"; Individual Card => Duel Engine

Comments

Posted by TheKillerNacho » 23 Sep 2016, 15:23

My guess it has something to do with Flash. I know Korath mentioned he had to do some work-around stuff to get the ability to work and I've heard it caused a few problems like this.

Posted by Korath » 25 Oct 2016, 05:33

It's not triggering. What's happening is that the card-drawn trigger is set to allow response, which lets you interleave instants and instant-speed activations among the triggering cards. You only see it when there's a Horizon Chimera or similar card in a player's hand because normally this trigger isn't dispatched at all for performance reasons; and it's being highlit because you're able to cast it normally.

Interleaving instants with normal triggers like this doesn't work very well at all, which is why it's not normally done. It doesn't even amount to a poor man's version of putting triggers on the stack.

The original game does it for TRIGGER_PAY_TO_ATTACK (listened for by Leviathan, Brainwash, and Jade Statue), TRIGGER_PAY_TO_BLOCK (Jade Statue), TRIGGER_DRAW_PHASE (Nafs Asp effect), and TRIGGER_REPLACE_DRAW (Ring of Ma'ruf, Aladdin's Lamp), presumeably so you can cast Dark Ritual or Sacrifice to pay their mana costs. It's also set, less explicably, for TRIGGER_END_DRAW, TRIGGER_END_MAIN, TRIGGER_DISCARD (all just Basalt Monolith). I expect I set it for XTRIGGER_CARD_DRAWN because all the other triggers and replacement effects in draw_a_card() have it.

It's not actually needed to play Dark Ritual and similar for those costs, though, since the game lets you cast them at the 5th-edition-era Mana Source speed. So I'm going to forcibly disable it by ignoring that argument.
Last edited by Korath on 25 Oct 2016, 05:34, edited 1 time in total.
Reason: fix autocard

Posted by Korath » 25 Oct 2016, 05:37

commit a6d25f0d757b322b498823b26ab91a9b2e349b8e
Author: Korath <dgk@Beleriand.none>
Date: Tue Oct 25 01:35:01 2016 -0400

[HS] FIX #1193: dispatch_trigger_impl(): always set allow_response = 0

Ticket details

  • Ticket ID: 1193
  • Project: Shandalar
  • Status: Fix completed in VCS
  • Component: Duel Engine
  • Project version: Hall of the Sultan 2
  • Priority: Normal
  • Severity: Normal
  • Assigned to: Korath
  • Reported by: Aswan jaguar
  • Reporter's tickets: List all tickets
  • Reported on: 21 Sep 2016, 19:37
  • Last visited by Korath » 25 Oct 2016, 05:37.
 

Login Form