It is currently 12 Aug 2020, 16:02
Text Size

multi-player scrying

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, friarsol, Blacksmith, KrazyTheFox, Agetian, CCGHQ Admins

multi-player scrying

Postby pfps » 12 Jan 2019, 15:13

[Thanks to Hanmac for analysis of multi-player scry.]

The rules for multi-player scry indicate that scyring proceeds in three phases.

The rules are:

701.17. Scry
701.17a To “scry N” means to look at the top N cards of your library, put any number of them on
the bottom of your library in any order and the rest on top of your library in any order.
701.17b If a player is instructed to scry 0, no scry event occurs. Abilities that trigger whenever a
player scries won’t trigger.
701.17c If multiple players scry at once, each of those players looks at the top cards of their library
at the same time. Those players decide in APNAP order (see rule 101.4) where to put those
cards, then those cards move at the same time.

So it looks like Scry needs to have three game actions/events - look, decide, move. Right now, there is one event, GameEventScry, which communicates the number of cards that go to the top and the number that go to the bottom, and actions for putting a card on the top or bottom of the library.

So the GameEventScry signals that the player made the scry decisions, and the actions do the moves (and signal them?).

Does anything special need to be done to correctly implement multi-player scry?

One option would be to add a new game event, making the look part of scry available to players, perhaps as a game event for each look, GameEventScryLook(player,num). Or maybe this just needs to be GameEventLibraryLook(player,num) because the look happens during a scry and this is already implicit in the log.

But maybe nothing needs to be done at all (except in a shared teams game where the looked-at cards can be shared amongst team members so the looking has to be done early) if all the information is available from the casting of scry. (I haven't figured out what information is available.) If this is the case the no new game actions are needed. I'm going to try out an implementation of multi-player scry under this assumption, as it is easier and the extra game action can easily be added later.

There also appears to be a buglet in the single-player scry. I think that the scry should only be nullified if N=0, not when N=0 or the library is empty. If the library is empty the player gets to make
Posts: 53
Joined: 09 Jan 2015, 14:34
Has thanked: 0 time
Been thanked: 7 times

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 3 guests

Who is online

In total there are 3 users online :: 0 registered, 0 hidden and 3 guests (based on users active over the past 10 minutes)
Most users ever online was 1371 on 09 Feb 2020, 16:22

Users browsing this forum: No registered users and 3 guests

Login Form