MArcomage

Free multiplayer on-line fantasy card game

Please log in

DPsycho on 23:14, 2. Mar, 2011
Fog of War, Uncommon, 10 gems

Replaces all revealed cards in game with cards of same rarity


Very interesting. I assume, since it isn't specified, that these cards are entirely random and not from each player's deck?

This would be an additional headache for people trying to get a Titan victory in non-Hidden games. Hidden as well, of course, but in non-hidden, it would replace all 15 remaining cards in both hands.
andi on 19:06, 3. Mar, 2011
I think the "revealed" attribute is only present in hidden games.
In non-hidden games this card would simply have no effect.
I might be wrong though.
DPsycho on 19:20, 3. Mar, 2011
Oracle gives full effect when played in a standard game. I was basing my understanding on this behavior.
andi on 19:41, 3. Mar, 2011
OK.
I never play non-hidden games though, so I just guessed.
HivedOne on 14:44, 14. Apr, 2011
I also think, that this card makes a too big difference between hidden and non-hidden-games... also the "title" of the card would make in non-hidden-games no sense...
However I like the idea... to the coders: I guess, it is impossible for cards, to check, if in a hidden or non-hidden game?? ;-)

Maybe by stating: If all cards are revealed: effect B, else the stated card effect... as in hidden games always one card should be unrevealed (the last position played).

Ideas, what "effect B" could be?! ;-)
Mojko on 14:55, 14. Apr, 2011
HivedOne wrote:
However I like the idea... to the coders: I guess, it is impossible for cards, to check, if in a hidden or non-hidden game?? ;-)


Of course it can. It has to. How do you think the Oracle could work without it :P
DPsycho on 18:03, 14. Apr, 2011
Oracle doesn't check whether the game mode is Hidden or Standard, though. I think you misunderstood him, Mojko, and thought he meant checking whether individual cards were hidden.

To have the card effect not function if all cards are revealed (that is, #hidden=0) should work. Good suggestion. This would mean that the effect would fail in a hidden game where both players had revealed both hands (and would require a Quick/Swift before this one), but the chances of that are small enough not to worry about it.
Mojko on 18:09, 14. Apr, 2011
Well, let's look at the code:

$tmp = 0; for ($i = 1; $i <= 8; $i++) if (!$hidden_cards OR isset($hisdata->Revealed[$i])) $tmp++; $tmp = min($tmp, 4); $mydata->Gems+= $tmp;

The variable $hidden_cards is true if hidden cards mode is active and false otherwise. So yes, the cards can verify if hidden cards mode is active or not.
DPsycho on 18:12, 14. Apr, 2011
Ah, so it does check that. To be fair, though, you asked "How do you think the Oracle could work without it?" and I figure it would work just fine by counting 4+ revealed cards. =P
Mojko on 18:38, 14. Apr, 2011
Well, yeah I agree that the system may not be so intuitive. :P To further confuse you, I'll explain how it actually works. You see whether hidden cards mode is active or not, the cards are allowed to modify "revealed" flags. This is because it avoids much if-then-else coding.

So, the cards are allowed to do whatever they wish with "revealed" flags, but the game knows which game mode it is and will simply ignore the "revealed" flags if the hidden cards game mode is inactive.

Hmm... I think I could find a way to simplify the current system.
dimitris on 20:08, 14. Apr, 2011
Actually this chunk of code could undergo some minor optimisation. Just put the if(!hidden_cards) outside the for loop. You don't need to perform 8 checks for this, only one. So it will go like this:

if ($hidden_cards) {
for .....
}
else {
$mydata->Gems+= 4;
}

Not that it would have any real impact in performance, some nanoseconds maybe :P

Mojko on 20:10, 14. Apr, 2011
Indeed. :P
HivedOne on 16:16, 15. Apr, 2011
Back to topic:
If it is that easy to check "hidden-game-mode", I have three ideas in mind:

A: just let it only "fog" your cards in "non-hidden-mode" (don't bother the titan!)
B: ALWAYS let only your cards be "fogged"... but then it would "only" be an uncontrolled dream-shift with higher cost and no (potential) illusion effect :-/ maybe lower it's cost?? Or summons rare?
C: What about reducing the "damage" to 3 or four cards (such as in oracle?) Would "cap" the wipe-out-effect a bot in "non-hidden" games...