It is currently 14 Nov 2025, 20:56
   
Text Size

Shandalar - Feature Requests

Right mouse click option-autotrigger-or not (implemented)

 

I have a wish both for Shandalar and Manalink.If it doesn't need too much work(which I fear is needed)please insert to right mouse click menu with options for cards a duh mode for the specific card.e.g. Auto-trigger for this card/No Auto-trigger for this card.Like it is for lands,autotap/tap manually this card.The other duh mode we had for Manalink through Manalink.ini caused lots of problems because either triggered for all or none and you couldn't do anything while gaming,instead this could be used at will and select individual cards and change them any time back or forth.
Last edited by Korath on 26 Jul 2016, 21:07, edited 2 times in total.
Reason: no version yet

Comments

Posted by Korath » 26 Jul 2016, 21:11

This is impractical in Manalink, since each individual card manually changes the event_result for EVENT_TRIGGER. There's only a half dozen or so that do that in Shandalar, though; almost everything goes through the generic TRIGGER() interface there I made to ease transition to triggers getting put properly on the stack.

This changes optional triggers to either mandatory or no trigger at all, so it's a bit imperfect: if you have two Soul's Attendant both set to "Accept optional triggers", for example, you still get prompted for which one to resolve first; on the other hand, if you click "Done", they'll both automatically trigger rather than both getting declined.

Posted by Korath » 26 Jul 2016, 21:57

commit 9be3f9dd5690d59d152d60bf164ac05dc7fc5cac
Author: Korath <dgk@Dirge.none>
Date: Tue Jul 26 17:56:16 2016 -0400

[HS] FIX #1047: "Accept"/"Decline optional triggers" in card context menu

These change RESOLVE_TRIGGER_OPTIONAL (when reason_for_trigger_controller == 0)
to either RESOLVE_TRIGGER_MANDATORY or RESOLVE_TRIGGER_0, respectively.

Draw "Accept optional triggers" as a wide yellow border (same hue as the
default card title for optional triggers), and "Decline optional triggers" as a
wide orange border (same hue as the default card title for mandatory triggers).
Drawn inside the blue border for "Don't auto tap this card" if that's present
as well.

(On reflection, an arbitrary image to be drawn over the entire smallcard, like
triggering.png for STATE_IS_TRIGGERING, may have worked better.)

This can't possibly work in multiplayer; it would need a second pair of bits
for player 1, and to communicate to the remote host whenever a card got one of
these bits added or removed. (Which would also let a malfeasant remote client
to tell when the other player decided to auto-accept or -decline triggers for a
specific card.)

Implementation details:
STATE_ACCEPT_OPTIONAL_TRIGGER
STATE_DECLINE_OPTIONAL_TRIGGER
trigger_mode_for_ai() => trigger_mode(); add player,card params to it

Use WM_COMMAND ids 0x1000 and 0x1001 for the new context menu items. Nothing
above 0x266 is sent to CardClass, but I want to reserve ids in the low end of
that range for debug commands (which is what the highest ones are), and
starting new ones after this large a gap makes the additions easily-
distinguishable.

Make the remaining raw responses to EVENT_TRIGGER (all of which were either
RESOLVE_TRIGGER_MANDATORY or checked themselves whether it was for the AI) go
through trigger_mode():
Harmonic Sliver
Leviathan
Plague Sliver
Soul Link
Tetravus
Teysa, Envoy of Ghosts
fx_persist_or_undying()
generic_deals_damage_impl()
impose_upkeep_cost()
optional_untap_for_controllers()
tawnoss_weaponry_lookalike_untap()
whenever_card_to_graveyard_from_anywhere_count()

Incidental:
Add accelerator &A to "Don't auto tap this card" context menu item.

Move accelerators for debug items in card context menu to mid-word where they
belong.

"Don't auto tap this card" can be toggled for any (mana-producing) card
controlled by player 0, rather than any card currently in his territory. This
allows you to pre-emptively set it on cards in your hand or on the stack (which
is harmless), but more importantly prevents you from changing it for player 1's
auras, equipment, and effects attached to your permanents and allows you to
change it for your auras, equipment, and effects attached to player 1's.

Remove STATE_NO_AUTO_TAPPING whenever a card changes control (in particular, it
affects AI behavior)

Ticket details

  • Ticket ID: 1047
  • Project: Shandalar
  • Status: Implemented
  • Component: (unknown)
  • Project version: (unknown)
  • Priority: Normal
  • Assigned to: Korath
  • Reported by: Aswan jaguar
  • Reporter's tickets: List all tickets
  • Reported on: 11 Mar 2016, 04:43
  • Last visited by Korath » 26 Jul 2016, 21:57.
 

Main Menu

User Menu

Our Partners


Login Form