Compare commits
20 Commits
wagic-v0.2
...
VS2019
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a2f510bbd5 | ||
|
|
4605d38982 | ||
|
|
d9452b02d9 | ||
|
|
1cfee14caa | ||
|
|
fd3777f08e | ||
|
|
a27216c317 | ||
|
|
8315acbe86 | ||
|
|
7a2f23db45 | ||
|
|
711f52e5ce | ||
|
|
0cf8c1a970 | ||
|
|
2750b34b4f | ||
|
|
b023dd89b6 | ||
|
|
3d9526a1dd | ||
|
|
1b8157ef0e | ||
|
|
8d20fd6483 | ||
|
|
66741957c3 | ||
|
|
eb7d8850f4 | ||
|
|
934b9d2856 | ||
|
|
0af443b753 | ||
|
|
41e160ae34 |
10
.travis.yml
10
.travis.yml
@@ -1,4 +1,5 @@
|
||||
language: cpp
|
||||
dist: trusty
|
||||
branches:
|
||||
except:
|
||||
- latest-master
|
||||
@@ -9,9 +10,9 @@ before_install:
|
||||
- export BUILD_Qt=YES
|
||||
- export BUILD_MAC=NO
|
||||
# Only building on Mac when not handling pull request
|
||||
- if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
|
||||
export BUILD_MAC=YES;
|
||||
fi
|
||||
# - if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
|
||||
# export BUILD_MAC=YES;
|
||||
# fi
|
||||
- sudo apt-get update -qq
|
||||
# Building for PSP here
|
||||
- if [ "$BUILD_PSP" == "YES" ]; then
|
||||
@@ -33,7 +34,7 @@ before_install:
|
||||
export ANDROID="android-sdk-linux/tools/android" &&
|
||||
if [ `uname -m` = x86_64 ]; then
|
||||
sudo dpkg --add-architecture i386 && sudo apt-get update &&
|
||||
sudo apt-get install -qq --force-yes libgd2-xpm-dev libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1 jq; fi &&
|
||||
sudo apt-get install -qq --force-yes libgd2-xpm-dev libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1 jq ant; fi &&
|
||||
wget http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 -nv &&
|
||||
wget http://dl.google.com/android/android-sdk_r24.3.4-linux.tgz -nv;
|
||||
fi
|
||||
@@ -48,6 +49,7 @@ install:
|
||||
$ANDROID list sdk --extended -a &&
|
||||
echo yes | $ANDROID update sdk -a -t tools,platform-tools,build-tools-23.0.1,android-10 --no-ui --force --no-https;
|
||||
fi
|
||||
- sudo python -m easy_install --upgrade pyOpenSSL
|
||||
- sudo pip install pyjavaproperties
|
||||
- sudo pip install github3.py
|
||||
- sudo pip install cpp-coveralls
|
||||
|
||||
@@ -25,6 +25,7 @@ std::string ToHex(T* pointer)
|
||||
|
||||
#ifdef LINUX
|
||||
#define OutputDebugString(val) (std::cerr << val);
|
||||
#define OutputDebugStringA(val) (std::cerr << val);
|
||||
#endif
|
||||
|
||||
#ifdef _DEBUG
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#define _JSOCKET_H_
|
||||
|
||||
#include <queue>
|
||||
#include "Threading.h"
|
||||
using namespace std;
|
||||
|
||||
#define SERVER_PORT 5001
|
||||
|
||||
@@ -26,8 +26,16 @@
|
||||
#include "JAudio.h"
|
||||
|
||||
#else
|
||||
|
||||
#ifdef IOS
|
||||
#include <tr1/cstdint>
|
||||
#else
|
||||
#include <stdint.h>
|
||||
//#include <cstdint>
|
||||
#endif
|
||||
//#include <stdint.h>
|
||||
//the MSC version might only define _MSC_STDINT_H_
|
||||
//and that might cause redefinition of standard types
|
||||
//#define _STDINT_H_
|
||||
|
||||
#endif
|
||||
|
||||
@@ -140,9 +148,14 @@ typedef uint32_t u32;
|
||||
#include <GLES/gl.h>
|
||||
#include <GLES/glext.h>
|
||||
#elif defined (WIN32) || defined (LINUX)
|
||||
#if defined(__APPLE__)
|
||||
#include <OpenGL/gl.h>
|
||||
#include <OpenGL/glu.h>
|
||||
#else
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
#endif
|
||||
#endif
|
||||
#else
|
||||
#include <QtOpenGL>
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef THREADING_H
|
||||
#define THREADING_H
|
||||
|
||||
#if !defined(PSP) && !defined(QT_CONFIG) && !(__cplusplus > 199711L)
|
||||
#if !defined(PSP) && !defined(QT_CONFIG) && !(__cplusplus > 199711L) && !(_MSC_VER >= 1700)
|
||||
#include <boost/date_time.hpp>
|
||||
|
||||
#ifdef WIN32
|
||||
@@ -537,7 +537,7 @@ namespace boost
|
||||
}
|
||||
}
|
||||
|
||||
#elif (__cplusplus > 199711L)
|
||||
#elif (__cplusplus > 199711L) || (_MSC_VER >= 1700)
|
||||
|
||||
#include <thread>
|
||||
#include <mutex>
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
*/
|
||||
|
||||
#define __STDC_LIMIT_MACROS
|
||||
|
||||
#include "../include/DebugRoutines.h"
|
||||
#include "../include/JNetwork.h"
|
||||
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
#define __STDC_LIMIT_MACROS
|
||||
|
||||
#include "../../include/DebugRoutines.h"
|
||||
#include "Threading.h"
|
||||
|
||||
#include <errno.h>
|
||||
#ifdef WIN32
|
||||
#pragma comment(lib,"WSOCK32.LIB")
|
||||
#include <stdio.h>
|
||||
#include <conio.h>
|
||||
#include <winsock.h>
|
||||
#include <winsock.h>
|
||||
#include <fcntl.h>
|
||||
#elif LINUX
|
||||
#include <unistd.h>
|
||||
@@ -16,7 +20,6 @@
|
||||
#endif //WINDOWS
|
||||
|
||||
#include "../../include/JSocket.h"
|
||||
#include "../../include/DebugRoutines.h"
|
||||
|
||||
|
||||
JSocket::JSocket(string ipAddr)
|
||||
|
||||
96
projects/mtg/bin/Res/sets/CM1/_cards.dat
Normal file
96
projects/mtg/bin/Res/sets/CM1/_cards.dat
Normal file
@@ -0,0 +1,96 @@
|
||||
[meta]
|
||||
author=Wagic Team
|
||||
name=Commander's Arsenal
|
||||
year=2012
|
||||
total=18
|
||||
[/meta]
|
||||
[card]
|
||||
primitive=Chaos Warp
|
||||
id=338441
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Command Tower
|
||||
id=338442
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Decree of Pain
|
||||
id=338453
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Desertion
|
||||
id=338454
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Diaochan, Artful Beauty
|
||||
id=338449
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Dragonlair Spider
|
||||
id=338446
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Duplicant
|
||||
id=338451
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Edric, Spymaster of Trest
|
||||
id=338443
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Kaalia of the Vast
|
||||
id=338444
|
||||
rarity=M
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Loyal Retainers
|
||||
id=338450
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Maelstrom Wanderer
|
||||
id=338447
|
||||
rarity=M
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Mind's Eye
|
||||
id=338452
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Mirari's Wake
|
||||
id=338455
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Rhystic Study
|
||||
id=338457
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Scroll Rack
|
||||
id=338458
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Sylvan Library
|
||||
id=338456
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=The Mimeoplasm
|
||||
id=338445
|
||||
rarity=M
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Vela the Night-Clad
|
||||
id=338448
|
||||
rarity=M
|
||||
[/card]
|
||||
File diff suppressed because it is too large
Load Diff
1561
projects/mtg/bin/Res/sets/WAR/_cards.dat
Normal file
1561
projects/mtg/bin/Res/sets/WAR/_cards.dat
Normal file
File diff suppressed because it is too large
Load Diff
@@ -2278,7 +2278,7 @@ type=Artifact
|
||||
[card]
|
||||
name=Rhonas's Monument
|
||||
auto=lord(creature[green]|mycastingzone) altercost(colorless,-1)
|
||||
auto=@movedto(creature|mystack):target(creature|mybattlefield) 2/2 ueot && trample ueot
|
||||
auto=@movedto(creature|mystack):target(creature|mybattlefield) transforms((,newability[2/2 ueot],newability[trample ueot]))
|
||||
text=Green creature spells you cast cost {1} less to cast. -- Whenever you cast a creature spell, target creature you control gets +2/+2 and gains trample until end of turn.
|
||||
mana={3}
|
||||
type=Legendary Artifact
|
||||
|
||||
@@ -288,7 +288,7 @@ auto=draw:7 opponent
|
||||
auto=moveto(mylibrary) all(*|myhand)
|
||||
auto=moveto(mylibrary) all(*|mygraveyard) && shuffle
|
||||
auto=draw:7 controller
|
||||
auto=moveto(exile) all(this)
|
||||
auto=moveto(exile)
|
||||
text=Assist (Another player can pay up to {5} of this spell's cost.) -- Each player shuffles their hand and graveyard into their library, then draws seven cards. Exile Game Plan.
|
||||
mana={5}{U}
|
||||
type=Sorcery
|
||||
|
||||
@@ -238,7 +238,8 @@ toughness=2
|
||||
|
||||
[card]
|
||||
name=Unbreakable Formation
|
||||
auto=if compare(restriction{assorcery}~morethan~0) then all(creature|myBattlefield) counter(1/1) else
|
||||
auto=if compare(restriction{assorcery}~morethan~0) then all(creature|myBattlefield) counter(1/1)
|
||||
auto=if compare(restriction{assorcery}~morethan~0) then all(creature|myBattlefield) vigilance
|
||||
auto=all(creature|myBattlefield) indestructible ueot
|
||||
text=Creatures you control gain indestructible until end of turn. -- Addendum — If you cast this spell during your main phase, put a +1/+1 counter on each of those creatures and they gain vigilance until end of turn.
|
||||
mana={2}{W}
|
||||
|
||||
@@ -501,7 +501,9 @@ subtype=Davriel
|
||||
[card]
|
||||
name=Deathsprout
|
||||
target=creature
|
||||
auto=destroy and!(moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary))!
|
||||
auto=destroy
|
||||
aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(*[basic]|myLibrary)
|
||||
auto=name(search card) reveal:plibrarycount optionone name(choose card) target(*[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend
|
||||
text=Destroy target creature. Search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.
|
||||
mana={1}{B}{B}{G}
|
||||
type=Instant
|
||||
|
||||
@@ -150,7 +150,7 @@ toughness=3
|
||||
|
||||
[card]
|
||||
name=Imperial Lancer
|
||||
auto=aslongas type(dinosaur|mybattlefield)~morethan~0 double strike
|
||||
auto=aslongas(dinosaur|mybattlefield) double strike
|
||||
text=Imperial Lancer has double strike as long as you control a Dinosaur.
|
||||
mana={W}
|
||||
type=Creature
|
||||
@@ -601,7 +601,7 @@ toughness=2
|
||||
name=Lookout's Dispersal
|
||||
target=*|stack
|
||||
auto=name(counter spell) target(*|stack) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?fizzle])) forever
|
||||
autohand=aslongas type(pirate|mybattlefield)~morethan~0 altercost(colorless,-1)
|
||||
autohand=aslongas(pirate|mybattlefield) altercost(colorless,-1)
|
||||
text=Lookout's Dispersal costs {1} less to cast if you control a Pirate. -- Counter target spell unless its controller pays {4}.
|
||||
mana={2}{U}
|
||||
type=Instant
|
||||
@@ -725,7 +725,7 @@ type=Legendary Land
|
||||
|
||||
[card]
|
||||
name=Shaper Apprentice
|
||||
auto=aslongas type(other merfolk|mybattlefield)~morethan~0 then flying
|
||||
auto=aslongas(other merfolk|mybattlefield) flying
|
||||
text=Shaper Apprentice has flying as long as you control another Merfolk.
|
||||
mana={1}{U}
|
||||
type=Creature
|
||||
@@ -1004,7 +1004,7 @@ toughness=4
|
||||
|
||||
[card]
|
||||
name=Desperate Castaways
|
||||
auto=aslongas type(artifact|mybattlefield) ~lessthan~ 0 then cantattack
|
||||
auto=aslongas(artifact|mybattlefield)<1 cantattack
|
||||
text=Desperate Castaways can't attack unless you control an artifact.
|
||||
mana={1}{B}
|
||||
type=Creature
|
||||
@@ -1372,7 +1372,6 @@ toughness=2
|
||||
|
||||
[card]
|
||||
name=Captivating Crew
|
||||
abilities=haste
|
||||
auto={3}{R}:target(creature) untap && haste && alias=129767
|
||||
text={3}{R}: Gain control of target creature an opponent controls until end of turn. Untap that creature. It gains haste until end of turn. Activate this ability only any time you could cast a sorcery.
|
||||
mana={3}{R}
|
||||
@@ -1454,7 +1453,7 @@ toughness=2
|
||||
[card]
|
||||
name=Headstrong Brute
|
||||
abilities=cantblock
|
||||
auto=aslongas type(other pirate|mybattlefield)~morethan~0 then menace
|
||||
auto=aslongas(other pirate|mybattlefield) menace
|
||||
text=Headstrong Brute can't block. -- Headstrong Brute has menace as long as you control another Pirate.
|
||||
mana={2}{R}
|
||||
type=Creature
|
||||
@@ -1642,8 +1641,8 @@ subtype=Aura
|
||||
|
||||
[card]
|
||||
name=Thrash of Raptors
|
||||
auto=aslongas type(dinosaur|mybattlefield)~morethan~0 then 2/0
|
||||
auto=aslongas type(dinosaur|mybattlefield)~morethan~0 then trample
|
||||
auto=aslongas(other dinosaur|mybattlefield) 2/0
|
||||
auto=aslongas(other dinosaur|mybattlefield) trample
|
||||
text=As long as you control another Dinosaur, Thrash of Raptors gets +2/+0 and has trample.
|
||||
mana={3}{R}
|
||||
type=Creature
|
||||
@@ -1951,7 +1950,7 @@ toughness=1
|
||||
|
||||
[card]
|
||||
name=Kumena's Speaker
|
||||
auto=aslongas type(other merfolk,island|mybattlefield)~morethan~0 then 1/1
|
||||
auto=aslongas(other merfolk,island|mybattlefield) 1/1
|
||||
text=Kumena's Speaker gets +1/+1 as long as you control another Merfolk or an Island.
|
||||
mana={G}
|
||||
type=Creature
|
||||
@@ -2629,8 +2628,8 @@ type=Sorcery
|
||||
|
||||
[card]
|
||||
name=Jace's Sentinel
|
||||
auto=aslongas type(jace|mybattlefield)~morethan~0 then 1/0
|
||||
auto=aslongas type(jace|mybattlefield)~morethan~0 then unblockable
|
||||
auto=aslongas(jace|mybattlefield) 1/0
|
||||
auto=aslongas(jace|mybattlefield) unblockable
|
||||
text=As long as you control a Jace planeswalker, Jace's Sentinel gets +1/+0 and can't be blocked.
|
||||
mana={1}{U}
|
||||
type=Creature
|
||||
|
||||
@@ -15273,8 +15273,9 @@ toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Brood Birthing
|
||||
auto=aslongas(eldrazi spawn|myBattlefield) token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*3
|
||||
text=If you control at least one 0/1 Eldrazi Spawn creature token, put three 0/1 colorless Eldrazi Spawn creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool."
|
||||
auto=aslongas(eldrazi spawn|myBattlefield) token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*2
|
||||
auto=token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!
|
||||
text=If you control an Eldrazi Spawn, create three 0/1 colorless Eldrazi Spawn creature tokens. They have "Sacrifice this creature: Add {C}." Otherwise, create one of those tokens.
|
||||
mana={1}{R}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
@@ -19978,7 +19979,7 @@ toughness=1
|
||||
[card]
|
||||
name=Cinder Shade
|
||||
auto={B}:1/1
|
||||
auto={R}{S}:target(other creature) dynamicability<!powerstrike>!
|
||||
auto={R}{S}:target(other creature) dynamicability<!powerstrike!>
|
||||
text={B}: Cinder Shade gets +1/+1 until end of turn. -- {R}, Sacrifice Cinder Shade: Cinder Shade deals damage equal to its power to target creature.
|
||||
mana={1}{B}{R}
|
||||
type=Creature
|
||||
@@ -67813,7 +67814,7 @@ toughness=7
|
||||
name=Liturgy of Blood
|
||||
target=creature
|
||||
auto=destroy
|
||||
auto=add{B}{B}{B}
|
||||
auto=add{B}{B}{B} controller
|
||||
text=Destroy target creature. Add {B}{B}{B} to your mana pool.
|
||||
mana={3}{B}{B}
|
||||
type=Sorcery
|
||||
@@ -68039,7 +68040,7 @@ toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Llanowar Empath
|
||||
auto=scry:2 scrycore choice name(Choose creature) target(creature|reveal) moveto(myhand) scrycoreend scryend
|
||||
auto=scry:2 scrycore choice name(Choose creature) target(<1>creature|reveal) moveto(myhand) scrycoreend scryend
|
||||
text=When Llanowar Empath enters the battlefield, scry 2, then reveal the top card of your library. If it's a creature card, put it into your hand. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.)
|
||||
mana={3}{G}
|
||||
type=Creature
|
||||
@@ -69587,6 +69588,7 @@ type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Madcap Skills
|
||||
target=creature
|
||||
auto=teach(creature) +3/0
|
||||
auto=teach(creature) menace
|
||||
text=Enchant creature -- Enchanted creature gets +3/+0 and can't be blocked except by two or more creatures.
|
||||
@@ -81177,7 +81179,7 @@ toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Noyan Dar, Roil Shaper
|
||||
auto=@movedto(*[instant;sorcery]|mystack):may target(land|mybattlefield) transforms((Elemental Creature,newability[counter(1/1,3)],newability[haste])) forever
|
||||
auto=@movedto(*[instant;sorcery]|mystack):may target(land|mybattlefield) transforms((Elemental Creature,newability[counter(1/1.3)],newability[haste])) forever
|
||||
text=Whenever you cast an instant or sorcery spell, you may put three +1/+1 counters on target land you control. If you do, that land becomes a 0/0 Elemental creature with haste that's still a land.
|
||||
mana={3}{W}{U}
|
||||
type=Legendary Creature
|
||||
@@ -106315,7 +106317,7 @@ type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Sin Collector
|
||||
auto=target(opponent) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose card) notatarget(<1>*[instant;sorcery]|reveal) moveto(exile) optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend
|
||||
auto=target(opponent) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose card) notatarget(<1>*[instant;sorcery]|reveal) moveto(exile) optiononeend optiontwo all(*|reveal) moveto(ownerhand) optiontwoend revealend
|
||||
text=When Sin Collector enters the battlefield target opponent reveals his or her hand. You choose an instant or a sorcery card from it and exile that card.
|
||||
mana={1}{W}{B}
|
||||
type=Creature
|
||||
|
||||
@@ -264,7 +264,6 @@ dauntless_escort.txt
|
||||
dauthi_embrace.txt
|
||||
dawn_of_the_dead.txt
|
||||
deadshot.txt
|
||||
death_grasp.txt
|
||||
death_ward.txt
|
||||
decree_of_justice.txt
|
||||
defense_of_the_heart.txt
|
||||
@@ -739,5 +738,4 @@ momir/overcost.txt
|
||||
########################
|
||||
#AI Tests
|
||||
########################
|
||||
ai/goblin_artillery.txt
|
||||
ai/proliferate_simple.txt
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#ifndef PRECOMPILEDHEADER_H
|
||||
#define PRECOMPILEDHEADER_H
|
||||
|
||||
|
||||
#define __STDC_LIMIT_MACROS
|
||||
|
||||
#include <algorithm>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
@@ -21,11 +24,6 @@
|
||||
|
||||
#include "GameOptions.h"
|
||||
|
||||
#if !defined(WP8) && !defined(QT_CONFIG)
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <boost/scoped_ptr.hpp>
|
||||
#endif
|
||||
|
||||
#if defined (WP8) || defined (IOS) || defined (ANDROID) || defined (QT_CONFIG) || defined (SDL_CONFIG)
|
||||
#define TOUCH_ENABLED
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef WRESOURCE_FWD_H
|
||||
#define WRESOURCE_FWD_H
|
||||
|
||||
#if (__cplusplus > 199711L)
|
||||
#if (__cplusplus > 199711L) || (_MSC_VER >= 1700)
|
||||
#include <memory>
|
||||
typedef std::shared_ptr<JQuad> JQuadPtr;
|
||||
#elif defined(QT_CONFIG)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include "PrecompiledHeader.h"
|
||||
#include "DeckView.h"
|
||||
|
||||
#include "GameOptions.h"
|
||||
|
||||
@@ -4574,7 +4574,7 @@ int AbilityFactory::abilityEfficiency(MTGAbility * a, Player * p, int mode, Targ
|
||||
if (AAMover * aam = dynamic_cast<AAMover *>(a))
|
||||
{
|
||||
MTGGameZone * z = aam->destinationZone(target);
|
||||
if (tc && tc->targetsZone(p->game->library) || tc && tc->targetsZone(p->game->graveyard) || tc && tc->targetsZone(p->game->hand))
|
||||
if ((tc && tc->targetsZone(p->game->library)) || (tc && tc->targetsZone(p->game->graveyard)) || (tc && tc->targetsZone(p->game->hand)))
|
||||
{
|
||||
if (z == p->game->hand || z == p->game->inPlay)
|
||||
return BAKA_EFFECT_GOOD;
|
||||
|
||||
Reference in New Issue
Block a user