From 20bfb4d0a7e2111703619ba3e13348479abf453b Mon Sep 17 00:00:00 2001 From: Matt Lowe Date: Fri, 3 Apr 2015 18:54:18 +0200 Subject: [PATCH] Fix for hand target casting if you have the setting to NOT play cards to the stack enabled, it meant that any spells (like Lightning Bolt) would be cast to the stack but no arrow would show. This was an edge case I missed. --- cockatrice/src/arrowitem.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cockatrice/src/arrowitem.cpp b/cockatrice/src/arrowitem.cpp index 2544d457..c7361ada 100644 --- a/cockatrice/src/arrowitem.cpp +++ b/cockatrice/src/arrowitem.cpp @@ -4,6 +4,7 @@ #include "arrowitem.h" #include "playertarget.h" #include "carditem.h" +#include "carddatabase.h" #include "cardzone.h" #include "player.h" #include "settingscache.h" @@ -227,7 +228,13 @@ void ArrowDragItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) } if (startZone->getName().compare("hand") == 0) { startCard->playCard(false); - cmd.set_start_zone(settingsCache->getPlayToStack() ? "stack" :"table"); + CardInfo *ci = startCard->getInfo(); + if (((!settingsCache->getPlayToStack() && ci->getTableRow() == 3) || + ((settingsCache->getPlayToStack() && ci->getTableRow() != 0) && + startCard->getZone()->getName().toStdString() != "stack"))) + cmd.set_start_zone("stack"); + else + cmd.set_start_zone(settingsCache->getPlayToStack() ? "stack" :"table"); } player->sendGameCommand(cmd); }