Compare commits
33 Commits
wp8
...
auto_relea
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
81770a8bc4 | ||
|
|
34972176fe | ||
|
|
600aa45ff7 | ||
|
|
56ccebb720 | ||
|
|
8ef3789970 | ||
|
|
ed7769c373 | ||
|
|
5745006c35 | ||
|
|
16b243c52a | ||
|
|
bc91eaf5ca | ||
|
|
6962d1e888 | ||
|
|
4d1e8dfb36 | ||
|
|
6ff6f95044 | ||
|
|
5369983b35 | ||
|
|
46a8041c48 | ||
|
|
84185a7c78 | ||
|
|
4f41248978 | ||
|
|
92d52a78be | ||
|
|
a76594046b | ||
|
|
2214ec66f1 | ||
|
|
b91a9aeed4 | ||
|
|
6a1534750f | ||
|
|
1cb20e4138 | ||
|
|
8458745bc4 | ||
|
|
2d61ff6e2e | ||
|
|
c5fe5243a9 | ||
|
|
a6a25be3d3 | ||
|
|
63694785c6 | ||
|
|
c68f83491e | ||
|
|
257082ea02 | ||
|
|
e5fe25dfba | ||
|
|
93ba3d107d | ||
|
|
fcf0078f26 | ||
|
|
d8c1933abc |
86
.travis.yml
86
.travis.yml
@@ -1,38 +1,68 @@
|
|||||||
language: cpp
|
language: cpp
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
secure: "fJgWlCFbde96OSQNGKUmowGX+ERPeqP+n1EOMf1+FJzOU4DdkTLRAlV5+5qnEX9jB/3mWN6iPpmG1qEz/SdDG3KHxJYs4ZU/Lu485O24zZ/+GdYBNsrvhPD9ckPGEMLDa1foEVTDnW0Dlkz3BCFcszjhtXGUJv7v6Pj6LRk1Mg8="
|
||||||
|
matrix:
|
||||||
|
- BUILD_TYPE=PSP
|
||||||
|
- BUILD_TYPE=Android
|
||||||
|
- BUILD_TYPE=Qt
|
||||||
|
|
||||||
branches:
|
branches:
|
||||||
except:
|
except:
|
||||||
- latest-master
|
- latest-master
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- export PSPDEV="$TRAVIS_BUILD_DIR/opt/pspsdk"
|
- sudo apt-get update -qq
|
||||||
- export PSPSDK="$PSPDEV/psp/sdk"
|
# Building for PSP here
|
||||||
- export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin"
|
- if [ "$BUILD_TYPE" == "PSP" ]; then
|
||||||
- export ANDROID="android-sdk-linux/tools/android"
|
export PSPDEV="$TRAVIS_BUILD_DIR/opt/pspsdk" &&
|
||||||
- sudo add-apt-repository --yes ppa:ubuntu-sdk-team/ppa
|
export PSPSDK="$PSPDEV/psp/sdk" &&
|
||||||
- sudo apt-get update -qq
|
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin" &&
|
||||||
- if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch jq; fi
|
wget -O sdk.lzma http://sourceforge.net/projects/minpspw/files/SDK%20%2B%20devpak/pspsdk%200.11.2/minpspw_0.11.2-amd64.tar.lzma/download;
|
||||||
- sudo apt-get install -qq qt5-qmake qtbase5-dev qtdeclarative5-dev qttools5-dev qtmultimedia5-dev pulseaudio libpulse-dev
|
fi
|
||||||
- export QMAKE="qmake -qt=qt5"
|
# Building for Android here
|
||||||
- wget -O sdk.lzma http://sourceforge.net/projects/minpspw/files/SDK%20%2B%20devpak/pspsdk%200.11.2/minpspw_0.11.2-amd64.tar.lzma/download
|
- if [ "$BUILD_TYPE" == "Android" ]; then
|
||||||
- wget http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 -nv
|
export ANDROID="android-sdk-linux/tools/android" &&
|
||||||
- wget http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz -nv
|
if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch jq; 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_r23.0.2-linux.tgz -nv;
|
||||||
|
fi
|
||||||
|
# Building for Qt here
|
||||||
|
- if [ "$BUILD_TYPE" == "Qt" ]; then
|
||||||
|
sudo add-apt-repository --yes ppa:ubuntu-sdk-team/ppa &&
|
||||||
|
sudo apt-get update -qq &&
|
||||||
|
sudo apt-get install -qq qt5-qmake qtbase5-dev qtdeclarative5-dev qttools5-dev qtmultimedia5-dev pulseaudio libpulse-dev &&
|
||||||
|
export QMAKE="qmake -qt=qt5";
|
||||||
|
fi
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- tar -x --xz -f sdk.lzma
|
# Building for PSP here
|
||||||
- tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2
|
- if [ "$BUILD_TYPE" == "PSP" ]; then
|
||||||
- tar -zxf android-sdk_r23.0.2-linux.tgz
|
tar -x --xz -f sdk.lzma;
|
||||||
- $ANDROID list sdk --extended -a
|
fi
|
||||||
- echo yes | $ANDROID update sdk --filter tools,platform-tools,build-tools-21.1.1,android-10 --no-ui --force --no-https
|
- if [ "$BUILD_TYPE" == "Android" ]; then
|
||||||
- sudo pip install pyjavaproperties
|
tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2 &&
|
||||||
- sudo pip install github3.py
|
tar -zxf android-sdk_r23.0.2-linux.tgz &&
|
||||||
|
$ANDROID list sdk --extended -a &&
|
||||||
|
echo yes | $ANDROID update sdk --filter tools,platform-tools,build-tools-21.1.1,android-10 --no-ui --force --no-https;
|
||||||
|
fi
|
||||||
|
- sudo pip install pyjavaproperties
|
||||||
|
- sudo pip install github3.py
|
||||||
|
script: ./travis-script.sh
|
||||||
|
|
||||||
env:
|
matrix:
|
||||||
global:
|
fast_finish: true
|
||||||
secure: "fJgWlCFbde96OSQNGKUmowGX+ERPeqP+n1EOMf1+FJzOU4DdkTLRAlV5+5qnEX9jB/3mWN6iPpmG1qEz/SdDG3KHxJYs4ZU/Lu485O24zZ/+GdYBNsrvhPD9ckPGEMLDa1foEVTDnW0Dlkz3BCFcszjhtXGUJv7v6Pj6LRk1Mg8="
|
|
||||||
|
|
||||||
script: "./travis-script.sh"
|
deploy:
|
||||||
|
provider: releases
|
||||||
after_success:
|
api-key:
|
||||||
- python upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l core.zip -r Wagic-core.zip -b $TRAVIS_BRANCH
|
secure: "gzfDEihpfTmoO6CSjTNpHSlLTPtQUZUqTlmD91CQby6+znDsOy4xsqj10MNXe+l/3KYny1DtM48nxNKeVjsyeYg66TTzKsrgMVzt6Ah5CBhSXO99/TiaMJmSXmMO7GGfKDct190Dqej1gbR7AMd38DOYe2vpR0LX+Lf3gzDVLoU="
|
||||||
- python upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/Android/bin/Wagic-debug.apk -r Wagic-android.apk -b $TRAVIS_BRANCH
|
file:
|
||||||
- python upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/psprelease.zip -r Wagic-psp.zip -b $TRAVIS_BRANCH
|
- ${TRAVIS_BUILD_DIR}/core.zip
|
||||||
|
- ${TRAVIS_BUILD_DIR}/projects/mtg/Android/bin/Wagic-debug.apk
|
||||||
|
- ${TRAVIS_BUILD_DIR}/projects/mtg/psprelease.zip
|
||||||
|
skip_cleanup: true
|
||||||
|
on:
|
||||||
|
repo: WagicProject/wagic
|
||||||
|
tags: false
|
||||||
|
branch: auto_releases
|
||||||
|
|||||||
846
projects/mtg/bin/Res/sets/BNG/_cards.dat
Normal file
846
projects/mtg/bin/Res/sets/BNG/_cards.dat
Normal file
@@ -0,0 +1,846 @@
|
|||||||
|
[meta]
|
||||||
|
author=Wagic Team
|
||||||
|
name=Born of the Gods
|
||||||
|
year=2014
|
||||||
|
block=Theros
|
||||||
|
[/meta]
|
||||||
|
[card]
|
||||||
|
primitive=Acolyte's Reward
|
||||||
|
id=378373
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Aerie Worshippers
|
||||||
|
id=378402
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Akroan Conscriptor
|
||||||
|
id=378459
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Akroan Phalanx
|
||||||
|
id=378374
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Akroan Skyguard
|
||||||
|
id=378375
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Arbiter of the Ideal
|
||||||
|
id=378403
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Archetype of Aggression
|
||||||
|
id=378460
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Archetype of Courage
|
||||||
|
id=378376
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Archetype of Endurance
|
||||||
|
id=378488
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Archetype of Finality
|
||||||
|
id=378430
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Archetype of Imagination
|
||||||
|
id=378404
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Ashiok's Adept
|
||||||
|
id=378431
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Aspect of Hydra
|
||||||
|
id=378489
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Asphyxiate
|
||||||
|
id=378432
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Astral Cornucopia
|
||||||
|
id=378529
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Bile Blight
|
||||||
|
id=378433
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Black Oak of Odunos
|
||||||
|
id=378434
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Bolt of Keranos
|
||||||
|
id=378461
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Brimaz, King of Oreskos
|
||||||
|
id=378377
|
||||||
|
rarity=M
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Champion of Stray Souls
|
||||||
|
id=378435
|
||||||
|
rarity=M
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Charging Badger
|
||||||
|
id=378490
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Chorus of the Tides
|
||||||
|
id=378405
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Chromanticore
|
||||||
|
id=378516
|
||||||
|
rarity=M
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Claim of Erebos
|
||||||
|
id=378436
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Courser of Kruphix
|
||||||
|
id=378491
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Crypsis
|
||||||
|
id=378406
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Culling Mark
|
||||||
|
id=378492
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Cyclops of One-Eyed Pass
|
||||||
|
id=378462
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Dawn to Dusk
|
||||||
|
id=378378
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Deepwater Hypnotist
|
||||||
|
id=378407
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Divination
|
||||||
|
id=378408
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Drown in Sorrow
|
||||||
|
id=378437
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Eater of Hope
|
||||||
|
id=378438
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Eidolon of Countless Battles
|
||||||
|
id=378379
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Elite Skirmisher
|
||||||
|
id=378380
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Ephara, God of the Polis
|
||||||
|
id=378517
|
||||||
|
rarity=M
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Ephara's Enlightenment
|
||||||
|
id=378518
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Ephara's Radiance
|
||||||
|
id=378381
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Epiphany Storm
|
||||||
|
id=378463
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Eternity Snare
|
||||||
|
id=378409
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Evanescent Intellect
|
||||||
|
id=378410
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Everflame Eidolon
|
||||||
|
id=378464
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Excoriate
|
||||||
|
id=378382
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Eye Gouge
|
||||||
|
id=378439
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Fall of the Hammer
|
||||||
|
id=378465
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Fanatic of Xenagos
|
||||||
|
id=378519
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Fate Unraveler
|
||||||
|
id=378440
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Fated Conflagration
|
||||||
|
id=378466
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Fated Infatuation
|
||||||
|
id=378411
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Fated Intervention
|
||||||
|
id=378493
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Fated Retribution
|
||||||
|
id=378383
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Fated Return
|
||||||
|
id=378441
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Fearsome Temper
|
||||||
|
id=378467
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Felhide Brawler
|
||||||
|
id=378442
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Felhide Spiritbinder
|
||||||
|
id=378468
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Flame-Wreathed Phoenix
|
||||||
|
id=378469
|
||||||
|
rarity=M
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Flitterstep Eidolon
|
||||||
|
id=378412
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Floodtide Serpent
|
||||||
|
id=378413
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Forgestoker Dragon
|
||||||
|
id=378470
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Forlorn Pseudamma
|
||||||
|
id=378443
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Forsaken Drifters
|
||||||
|
id=378444
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Ghostblade Eidolon
|
||||||
|
id=378384
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Gild
|
||||||
|
id=378445
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Gold
|
||||||
|
id=-378445
|
||||||
|
rarity=T
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Glimpse the Sun God
|
||||||
|
id=378385
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=God-Favored General
|
||||||
|
id=378386
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Gorgon's Head
|
||||||
|
id=378530
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Graverobber Spider
|
||||||
|
id=378494
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Great Hart
|
||||||
|
id=378387
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Griffin Dreamfinder
|
||||||
|
id=378388
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Grisly Transformation
|
||||||
|
id=378446
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Herald of Torment
|
||||||
|
id=378447
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Hero of Iroas
|
||||||
|
id=378389
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Hero of Leina Tower
|
||||||
|
id=378495
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Heroes' Podium
|
||||||
|
id=378531
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Hold at Bay
|
||||||
|
id=378390
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Hunter's Prowess
|
||||||
|
id=378496
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Impetuous Sunchaser
|
||||||
|
id=378471
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Karametra, God of Harvests
|
||||||
|
id=378520
|
||||||
|
rarity=M
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Karametra's Favor
|
||||||
|
id=378497
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Kiora, the Crashing Wave
|
||||||
|
id=378521
|
||||||
|
rarity=M
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Kiora's Prevention
|
||||||
|
id=37852101
|
||||||
|
rarity=T
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Kiora's Kraken
|
||||||
|
id=-378521
|
||||||
|
rarity=T
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Kiora's Follower
|
||||||
|
id=378522
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Kragma Butcher
|
||||||
|
id=378472
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Kraken of the Straits
|
||||||
|
id=378414
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Lightning Volley
|
||||||
|
id=378473
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Loyal Pegasus
|
||||||
|
id=378391
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Marshmist Titan
|
||||||
|
id=378448
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Meletis Astronomer
|
||||||
|
id=378415
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Mindreaver
|
||||||
|
id=378416
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Mischief and Mayhem
|
||||||
|
id=378498
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Mogis, God of Slaughter
|
||||||
|
id=378523
|
||||||
|
rarity=M
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Mortal's Ardor
|
||||||
|
id=378392
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Mortal's Resolve
|
||||||
|
id=378499
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Necrobite
|
||||||
|
id=378449
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Nessian Demolok
|
||||||
|
id=378500
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Nessian Wilds Ravager
|
||||||
|
id=378501
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Noble Quarry
|
||||||
|
id=378502
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Nullify
|
||||||
|
id=378417
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Nyxborn Eidolon
|
||||||
|
id=378450
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Nyxborn Rollicker
|
||||||
|
id=378474
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Nyxborn Shieldmate
|
||||||
|
id=378393
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Nyxborn Triton
|
||||||
|
id=378418
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Nyxborn Wolf
|
||||||
|
id=378503
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Odunos River Trawler
|
||||||
|
id=378451
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Oracle of Bones
|
||||||
|
id=378475
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Oracle's Insight
|
||||||
|
id=378419
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Oreskos Sun Guide
|
||||||
|
id=378394
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Ornitharch
|
||||||
|
id=378395
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Pain Seer
|
||||||
|
id=378452
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Peregrination
|
||||||
|
id=378504
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Perplexing Chimera
|
||||||
|
id=378420
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Pharagax Giant
|
||||||
|
id=378476
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Phenax, God of Deception
|
||||||
|
id=378524
|
||||||
|
rarity=M
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Pheres-Band Raiders
|
||||||
|
id=378505
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Pheres-Band Tromper
|
||||||
|
id=378506
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Pillar of War
|
||||||
|
id=378532
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Pinnacle of Rage
|
||||||
|
id=378477
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Plea for Guidance
|
||||||
|
id=378396
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Ragemonger
|
||||||
|
id=378525
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Raised by Wolves
|
||||||
|
id=378507
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Reap what is Sown
|
||||||
|
id=378526
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Reckless Reveler
|
||||||
|
id=378478
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Retraction Helix
|
||||||
|
id=378421
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Revoke Existence
|
||||||
|
id=378397
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Rise to the Challenge
|
||||||
|
id=378479
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Sanguimancy
|
||||||
|
id=378453
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Satyr Firedancer
|
||||||
|
id=378480
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Satyr Nyx-Smith
|
||||||
|
id=378481
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Satyr Wayfinder
|
||||||
|
id=378508
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Scourge of Skola Vale
|
||||||
|
id=378509
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Scouring Sands
|
||||||
|
id=378482
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Searing Blood
|
||||||
|
id=378483
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Servant of Tymaret
|
||||||
|
id=378454
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Setessan Oathsworn
|
||||||
|
id=378510
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Setessan Starbreaker
|
||||||
|
id=378511
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Shrike Harpy
|
||||||
|
id=378455
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Silent Sentinel
|
||||||
|
id=378398
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Siren of the Fanged Coast
|
||||||
|
id=378422
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Siren of the Silent Song
|
||||||
|
id=378527
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Siren Song Lyre
|
||||||
|
id=378533
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Skyreaping
|
||||||
|
id=378512
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Snake of the Golden Grove
|
||||||
|
id=378513
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Sphinx's Disciple
|
||||||
|
id=378423
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Spirit of the Labyrinth
|
||||||
|
id=378399
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Spiteful Returned
|
||||||
|
id=378456
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Springleaf Drum
|
||||||
|
id=378534
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Stormcaller of Keranos
|
||||||
|
id=378484
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Stratus Walk
|
||||||
|
id=378424
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Sudden Storm
|
||||||
|
id=378425
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Sunbond
|
||||||
|
id=378400
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Swordwise Centaur
|
||||||
|
id=378514
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Temple of Enlightenment
|
||||||
|
id=378535
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Temple of Malice
|
||||||
|
id=378536
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Temple of Plenty
|
||||||
|
id=378537
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Thassa's Rebuff
|
||||||
|
id=378426
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Thunder Brute
|
||||||
|
id=378485
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Thunderous Might
|
||||||
|
id=378486
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Tromokratis
|
||||||
|
id=378427
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Unravel the AEther
|
||||||
|
id=378515
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Vanguard of Brimaz
|
||||||
|
id=378401
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Vortex Elemental
|
||||||
|
id=378428
|
||||||
|
rarity=U
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Warchanter of Mogis
|
||||||
|
id=378457
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Weight of the Underworld
|
||||||
|
id=378458
|
||||||
|
rarity=C
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Whelming Wave
|
||||||
|
id=378429
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Whims of the Fates
|
||||||
|
id=378487
|
||||||
|
rarity=R
|
||||||
|
[/card]
|
||||||
|
[card]
|
||||||
|
primitive=Xenagos, God of Revels
|
||||||
|
id=378528
|
||||||
|
rarity=M
|
||||||
|
[/card]
|
||||||
File diff suppressed because it is too large
Load Diff
24
projects/mtg/bin/Res/test/griselbrand.txt
Normal file
24
projects/mtg/bin/Res/test/griselbrand.txt
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
#Testing Griselbrand with the new specific life cost {L:7}
|
||||||
|
#Player has 8 life and you cannot use the ability the second time if you cannot pay life.
|
||||||
|
#Must change griselbrand code to {L:7}:draw:7 instead of {L}{L}{L}{L}{L}{L}{L}:draw:7
|
||||||
|
[INIT]
|
||||||
|
FIRSTMAIN
|
||||||
|
[PLAYER1]
|
||||||
|
inplay:Griselbrand
|
||||||
|
life:8
|
||||||
|
library:forest,forest,forest,forest,forest,forest,forest,plains,mountain,mountain,mountain,mountain,mountain,mountain,island
|
||||||
|
[PLAYER2]
|
||||||
|
life:20
|
||||||
|
[DO]
|
||||||
|
Griselbrand
|
||||||
|
Griselbrand
|
||||||
|
[ASSERT]
|
||||||
|
FIRSTMAIN
|
||||||
|
[PLAYER1]
|
||||||
|
inplay:Griselbrand
|
||||||
|
life:1
|
||||||
|
hand:mountain,mountain,mountain,mountain,mountain,mountain,island
|
||||||
|
library:forest,forest,forest,forest,forest,forest,forest,plains
|
||||||
|
[PLAYER2]
|
||||||
|
life:20
|
||||||
|
[END]
|
||||||
38
projects/mtg/bin/Res/test/guild_keyword.txt
Normal file
38
projects/mtg/bin/Res/test/guild_keyword.txt
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
#Testing guild keyword gruul for Xenagos, God of Revels. You must have Born of the gods set (BNG)
|
||||||
|
#[card]
|
||||||
|
#name=Xenagos, God of Revels
|
||||||
|
#abilities=indestructible
|
||||||
|
#auto=@each my combatbegins:name(haste and +x/+x) target(other creature|mybattlefield) transforms((,newability[haste],newability[power/power])) ueot
|
||||||
|
#auto=this(variable{gruul}>6) transforms((Creature))
|
||||||
|
#text=Indestructible -- As long as your devotion to red and green is less than seven, Xenagos isn't a creature. -- At the beginning of combat on your turn, another target creature you control gains haste and gets +X/+X until end of turn, where X is that creature's power.
|
||||||
|
#mana={3}{R}{G}
|
||||||
|
#type=Legendary Enchantment
|
||||||
|
#subtype=God
|
||||||
|
#power=6
|
||||||
|
#toughness=5
|
||||||
|
#[/card]
|
||||||
|
[INIT]
|
||||||
|
FIRSTMAIN
|
||||||
|
[PLAYER1]
|
||||||
|
inplay:378528
|
||||||
|
hand:19869
|
||||||
|
life:20
|
||||||
|
manapool:{G}{G}{G}{G}{G}
|
||||||
|
[PLAYER2]
|
||||||
|
life:20
|
||||||
|
[DO]
|
||||||
|
19869
|
||||||
|
next
|
||||||
|
choice 0
|
||||||
|
19869
|
||||||
|
next
|
||||||
|
19869
|
||||||
|
eot
|
||||||
|
[ASSERT]
|
||||||
|
UNTAP
|
||||||
|
[PLAYER1]
|
||||||
|
inplay:378528,19869
|
||||||
|
life:20
|
||||||
|
[PLAYER2]
|
||||||
|
life:12
|
||||||
|
[END]
|
||||||
@@ -172,6 +172,206 @@ private:
|
|||||||
{
|
{
|
||||||
intValue = target->getManaCost()->getConvertedCost();
|
intValue = target->getManaCost()->getConvertedCost();
|
||||||
}
|
}
|
||||||
|
else if (s == "azorius")//devotion blue white
|
||||||
|
{
|
||||||
|
TargetChooserFactory dtf(card->getObserver());
|
||||||
|
TargetChooser * dtc = dtf.createTargetChooser("*",NULL);
|
||||||
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
Player * dp = card->getObserver()->players[i];
|
||||||
|
MTGGameZone * dzones[] = { dp->game->inPlay, dp->game->graveyard, dp->game->hand, dp->game->library };
|
||||||
|
for (int k = 0; k < 4; k++)
|
||||||
|
{
|
||||||
|
MTGGameZone * zone = dzones[k];
|
||||||
|
if (dtc->targetsZone(zone, card))
|
||||||
|
{
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 2);
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SAFE_DELETE(dtc);
|
||||||
|
}
|
||||||
|
else if (s == "boros")//devotion red white
|
||||||
|
{
|
||||||
|
TargetChooserFactory dtf(card->getObserver());
|
||||||
|
TargetChooser * dtc = dtf.createTargetChooser("*",NULL);
|
||||||
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
Player * dp = card->getObserver()->players[i];
|
||||||
|
MTGGameZone * dzones[] = { dp->game->inPlay, dp->game->graveyard, dp->game->hand, dp->game->library };
|
||||||
|
for (int k = 0; k < 4; k++)
|
||||||
|
{
|
||||||
|
MTGGameZone * zone = dzones[k];
|
||||||
|
if (dtc->targetsZone(zone, card))
|
||||||
|
{
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 3);
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SAFE_DELETE(dtc);
|
||||||
|
}
|
||||||
|
else if (s == "dimir")//devotion blue black
|
||||||
|
{
|
||||||
|
TargetChooserFactory dtf(card->getObserver());
|
||||||
|
TargetChooser * dtc = dtf.createTargetChooser("*",NULL);
|
||||||
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
Player * dp = card->getObserver()->players[i];
|
||||||
|
MTGGameZone * dzones[] = { dp->game->inPlay, dp->game->graveyard, dp->game->hand, dp->game->library };
|
||||||
|
for (int k = 0; k < 4; k++)
|
||||||
|
{
|
||||||
|
MTGGameZone * zone = dzones[k];
|
||||||
|
if (dtc->targetsZone(zone, card))
|
||||||
|
{
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 2);
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SAFE_DELETE(dtc);
|
||||||
|
}
|
||||||
|
else if (s == "golgari")//devotion to green black
|
||||||
|
{
|
||||||
|
TargetChooserFactory dtf(card->getObserver());
|
||||||
|
TargetChooser * dtc = dtf.createTargetChooser("*",NULL);
|
||||||
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
Player * dp = card->getObserver()->players[i];
|
||||||
|
MTGGameZone * dzones[] = { dp->game->inPlay, dp->game->graveyard, dp->game->hand, dp->game->library };
|
||||||
|
for (int k = 0; k < 4; k++)
|
||||||
|
{
|
||||||
|
MTGGameZone * zone = dzones[k];
|
||||||
|
if (dtc->targetsZone(zone, card))
|
||||||
|
{
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 1);
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SAFE_DELETE(dtc);
|
||||||
|
}
|
||||||
|
else if (s == "gruul")//devotion to green red
|
||||||
|
{
|
||||||
|
TargetChooserFactory dtf(card->getObserver());
|
||||||
|
TargetChooser * dtc = dtf.createTargetChooser("*",NULL);
|
||||||
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
Player * dp = card->getObserver()->players[i];
|
||||||
|
MTGGameZone * dzones[] = { dp->game->inPlay, dp->game->graveyard, dp->game->hand, dp->game->library };
|
||||||
|
for (int k = 0; k < 4; k++)
|
||||||
|
{
|
||||||
|
MTGGameZone * zone = dzones[k];
|
||||||
|
if (dtc->targetsZone(zone, card))
|
||||||
|
{
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 1);
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SAFE_DELETE(dtc);
|
||||||
|
}
|
||||||
|
else if (s == "izzet")//devotion to red blue
|
||||||
|
{
|
||||||
|
TargetChooserFactory dtf(card->getObserver());
|
||||||
|
TargetChooser * dtc = dtf.createTargetChooser("*",NULL);
|
||||||
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
Player * dp = card->getObserver()->players[i];
|
||||||
|
MTGGameZone * dzones[] = { dp->game->inPlay, dp->game->graveyard, dp->game->hand, dp->game->library };
|
||||||
|
for (int k = 0; k < 4; k++)
|
||||||
|
{
|
||||||
|
MTGGameZone * zone = dzones[k];
|
||||||
|
if (dtc->targetsZone(zone, card))
|
||||||
|
{
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 2);
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SAFE_DELETE(dtc);
|
||||||
|
}
|
||||||
|
else if (s == "orzhov")//devotion to white black
|
||||||
|
{
|
||||||
|
TargetChooserFactory dtf(card->getObserver());
|
||||||
|
TargetChooser * dtc = dtf.createTargetChooser("*",NULL);
|
||||||
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
Player * dp = card->getObserver()->players[i];
|
||||||
|
MTGGameZone * dzones[] = { dp->game->inPlay, dp->game->graveyard, dp->game->hand, dp->game->library };
|
||||||
|
for (int k = 0; k < 4; k++)
|
||||||
|
{
|
||||||
|
MTGGameZone * zone = dzones[k];
|
||||||
|
if (dtc->targetsZone(zone, card))
|
||||||
|
{
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 4);
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SAFE_DELETE(dtc);
|
||||||
|
}
|
||||||
|
else if (s == "rakdos")//devotion to red black
|
||||||
|
{
|
||||||
|
TargetChooserFactory dtf(card->getObserver());
|
||||||
|
TargetChooser * dtc = dtf.createTargetChooser("*",NULL);
|
||||||
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
Player * dp = card->getObserver()->players[i];
|
||||||
|
MTGGameZone * dzones[] = { dp->game->inPlay, dp->game->graveyard, dp->game->hand, dp->game->library };
|
||||||
|
for (int k = 0; k < 4; k++)
|
||||||
|
{
|
||||||
|
MTGGameZone * zone = dzones[k];
|
||||||
|
if (dtc->targetsZone(zone, card))
|
||||||
|
{
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 3);
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SAFE_DELETE(dtc);
|
||||||
|
}
|
||||||
|
else if (s == "selesnya")//devotion to green white
|
||||||
|
{
|
||||||
|
TargetChooserFactory dtf(card->getObserver());
|
||||||
|
TargetChooser * dtc = dtf.createTargetChooser("*",NULL);
|
||||||
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
Player * dp = card->getObserver()->players[i];
|
||||||
|
MTGGameZone * dzones[] = { dp->game->inPlay, dp->game->graveyard, dp->game->hand, dp->game->library };
|
||||||
|
for (int k = 0; k < 4; k++)
|
||||||
|
{
|
||||||
|
MTGGameZone * zone = dzones[k];
|
||||||
|
if (dtc->targetsZone(zone, card))
|
||||||
|
{
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 1);
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SAFE_DELETE(dtc);
|
||||||
|
}
|
||||||
|
else if (s == "simic")//devotion to green blue
|
||||||
|
{
|
||||||
|
TargetChooserFactory dtf(card->getObserver());
|
||||||
|
TargetChooser * dtc = dtf.createTargetChooser("*",NULL);
|
||||||
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
Player * dp = card->getObserver()->players[i];
|
||||||
|
MTGGameZone * dzones[] = { dp->game->inPlay, dp->game->graveyard, dp->game->hand, dp->game->library };
|
||||||
|
for (int k = 0; k < 4; k++)
|
||||||
|
{
|
||||||
|
MTGGameZone * zone = dzones[k];
|
||||||
|
if (dtc->targetsZone(zone, card))
|
||||||
|
{
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 1);
|
||||||
|
intValue += zone->countTotalManaSymbols(dtc, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SAFE_DELETE(dtc);
|
||||||
|
}
|
||||||
else if (s.find("type:") != string::npos)
|
else if (s.find("type:") != string::npos)
|
||||||
{
|
{
|
||||||
size_t begins = s.find("type:");
|
size_t begins = s.find("type:");
|
||||||
|
|||||||
@@ -90,6 +90,19 @@ public:
|
|||||||
virtual LifeCost * clone() const;
|
virtual LifeCost * clone() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//Specific life cost
|
||||||
|
class SpecificLifeCost : public ExtraCost
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
int slc;
|
||||||
|
|
||||||
|
public:
|
||||||
|
SpecificLifeCost(TargetChooser *_tc = NULL, int slc = 0);
|
||||||
|
virtual int canPay();
|
||||||
|
virtual int doPay();
|
||||||
|
virtual SpecificLifeCost * clone() const;
|
||||||
|
};
|
||||||
|
|
||||||
//phyrexian mana
|
//phyrexian mana
|
||||||
class LifeorManaCost : public ExtraCost
|
class LifeorManaCost : public ExtraCost
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -151,6 +151,44 @@ int LifeCost::doPay()
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Specific life cost
|
||||||
|
SpecificLifeCost * SpecificLifeCost::clone() const
|
||||||
|
{
|
||||||
|
SpecificLifeCost * ec = NEW SpecificLifeCost(*this);
|
||||||
|
if (tc)
|
||||||
|
ec->tc = tc->clone();
|
||||||
|
return ec;
|
||||||
|
}
|
||||||
|
|
||||||
|
SpecificLifeCost::SpecificLifeCost(TargetChooser *_tc, int slc)
|
||||||
|
: ExtraCost("Life", _tc), slc(slc)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
int SpecificLifeCost::canPay()
|
||||||
|
{
|
||||||
|
MTGCardInstance * _target = (MTGCardInstance *) target;
|
||||||
|
if(_target->controller()->life >= slc)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int SpecificLifeCost::doPay()
|
||||||
|
{
|
||||||
|
if (!target)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
MTGCardInstance * _target = (MTGCardInstance *) target;
|
||||||
|
|
||||||
|
_target->controller()->loseLife(slc);
|
||||||
|
target = NULL;
|
||||||
|
if (tc)
|
||||||
|
tc->initTargets();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
//life or Mana cost
|
//life or Mana cost
|
||||||
LifeorManaCost * LifeorManaCost::clone() const
|
LifeorManaCost * LifeorManaCost::clone() const
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -159,10 +159,19 @@ ManaCost * ManaCost::parseManaCost(string s, ManaCost * _manaCost, MTGCardInstan
|
|||||||
{ //Mill to exile yourself as a cost (Library 2 Exile)
|
{ //Mill to exile yourself as a cost (Library 2 Exile)
|
||||||
manaCost->addExtraCost(NEW MillExileCost(tc));
|
manaCost->addExtraCost(NEW MillExileCost(tc));
|
||||||
}
|
}
|
||||||
else
|
else if (value == "l")
|
||||||
{ //Life cost
|
{ //Life cost
|
||||||
manaCost->addExtraCost(NEW LifeCost(tc));
|
manaCost->addExtraCost(NEW LifeCost(tc));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{ //Specific Life cost
|
||||||
|
vector<string>valSplit = parseBetween(value,"l:"," ",false);
|
||||||
|
if (valSplit.size()) {
|
||||||
|
WParsedInt* lifetopay = NEW WParsedInt(valSplit[1], NULL, c);
|
||||||
|
manaCost->addExtraCost(NEW SpecificLifeCost(tc,lifetopay->getValue()));
|
||||||
|
SAFE_DELETE(lifetopay);
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'd': //DiscardRandom cost
|
case 'd': //DiscardRandom cost
|
||||||
if (value == "d")
|
if (value == "d")
|
||||||
|
|||||||
124
travis-script.sh
124
travis-script.sh
@@ -1,8 +1,6 @@
|
|||||||
#!/bin/sh -ex
|
#!/bin/sh -ex
|
||||||
|
|
||||||
# let's dump some info to debug a bit
|
# let's dump some info to debug a bit
|
||||||
echo PSPDEV = $PSPDEV
|
|
||||||
echo psp-config = `psp-config --psp-prefix`
|
|
||||||
echo ls = `ls`
|
echo ls = `ls`
|
||||||
echo pwd = `pwd`
|
echo pwd = `pwd`
|
||||||
# computing potential release name
|
# computing potential release name
|
||||||
@@ -35,66 +33,74 @@ mv core_*.zip ../../../../core.zip
|
|||||||
cd ../../../..
|
cd ../../../..
|
||||||
|
|
||||||
# we're building a PSP binary here
|
# we're building a PSP binary here
|
||||||
cd JGE
|
if [ "$BUILD_TYPE" = "PSP" ]; then
|
||||||
make -j 8
|
# let's dump some info to debug a bit
|
||||||
cd ..
|
echo PSPDEV = $PSPDEV
|
||||||
cd projects/mtg
|
echo psp-config = `psp-config --psp-prefix`
|
||||||
mkdir objs
|
cd JGE
|
||||||
make -j 8
|
make -j 4
|
||||||
mkdir WTH
|
cd ..
|
||||||
mkdir WTH/Res
|
cd projects/mtg
|
||||||
mv EBOOT.PBP WTH/
|
mkdir objs
|
||||||
mv ../../JGE/exceptionHandler/prx/exception.prx WTH/
|
make -j 4
|
||||||
cp ../../core.zip WTH/Res
|
mkdir WTH
|
||||||
cd WTH/Res
|
mkdir WTH/Res
|
||||||
unzip core.zip
|
mv EBOOT.PBP WTH/
|
||||||
rm core.zip
|
mv ../../JGE/exceptionHandler/prx/exception.prx WTH/
|
||||||
cd ..
|
cp ../../core.zip WTH/Res
|
||||||
chmod -R 775 Res
|
cd WTH/Res
|
||||||
cd ..
|
unzip core.zip
|
||||||
zip psprelease.zip -r WTH/
|
rm core.zip
|
||||||
cd ../..
|
cd ..
|
||||||
|
chmod -R 775 Res
|
||||||
|
cd ..
|
||||||
|
zip psprelease.zip -r WTH/
|
||||||
|
cd ../..
|
||||||
|
fi
|
||||||
|
|
||||||
# we're building an Android binary here
|
# we're building an Android binary here
|
||||||
android-ndk-r9/ndk-build -C projects/mtg/Android -j8
|
if [ "$BUILD_TYPE" = "Android" ]; then
|
||||||
$ANDROID list targets
|
android-ndk-r9/ndk-build -C projects/mtg/Android -j4
|
||||||
$ANDROID update project -t 1 -p projects/mtg/Android
|
$ANDROID list targets
|
||||||
ant debug -f projects/mtg/Android/build.xml
|
$ANDROID update project -t 1 -p projects/mtg/Android
|
||||||
|
ant debug -f projects/mtg/Android/build.xml
|
||||||
|
fi
|
||||||
|
|
||||||
# we're building a Qt version with GUI here
|
if [ "$BUILD_TYPE" = "Qt" ]; then
|
||||||
mkdir qt-gui-build
|
# we're building a Qt version with GUI here
|
||||||
cd qt-gui-build
|
mkdir qt-gui-build
|
||||||
$QMAKE ../projects/mtg/wagic-qt.pro CONFIG+=release CONFIG+=graphics
|
cd qt-gui-build
|
||||||
make -j 8
|
$QMAKE ../projects/mtg/wagic-qt.pro CONFIG+=release CONFIG+=graphics
|
||||||
cd ..
|
make -j 4
|
||||||
|
cd ..
|
||||||
|
# let's try an Intel linux binary in debug text-mode-only
|
||||||
|
$QMAKE projects/mtg/wagic-qt.pro CONFIG+=console CONFIG+=debug DEFINES+=CAPTURE_STDERR
|
||||||
|
make -j 4
|
||||||
|
|
||||||
# let's try an Intel linux binary in debug text-mode-only
|
# we're cross-compiling a Qt Windows version here,
|
||||||
$QMAKE projects/mtg/wagic-qt.pro CONFIG+=console CONFIG+=debug DEFINES+=CAPTURE_STDERR
|
# PATH is only set here to prevent colision
|
||||||
make -j 8
|
|
||||||
|
|
||||||
# we're cross-compiling a Qt Windows version here,
|
# export PATH="$PATH:/opt/mingw32/bin"
|
||||||
# PATH is only set here to prevent colision
|
# mkdir build
|
||||||
|
# cd build
|
||||||
|
# mkdir win-cross
|
||||||
|
# cd win-cross
|
||||||
|
# /opt/mingw32/bin/qmake ../../projects/mtg/wagic-qt.pro CONFIG+=release CONFIG+=graphics
|
||||||
|
# make -j 4
|
||||||
|
# cd release
|
||||||
|
# cp ../../../projects/mtg/bin/fmod.dll .
|
||||||
|
# cp /opt/mingw32/bin/QtCore4.dll .
|
||||||
|
# cp /opt/mingw32/bin/QtGui4.dll .
|
||||||
|
# cp /opt/mingw32/bin/QtNetwork4.dll .
|
||||||
|
# cp /opt/mingw32/bin/QtOpenGL4.dll .
|
||||||
|
# cp ../../../projects/mtg/bin/zlib1.dll .
|
||||||
|
# cp /opt/mingw32/bin/libpng15-15.dll .
|
||||||
|
# cd ..
|
||||||
|
# zip win-cross.zip -r release/
|
||||||
|
# cd ../..
|
||||||
|
|
||||||
# export PATH="$PATH:/opt/mingw32/bin"
|
# Now we run the testsuite (Res needs to be in the working directory)
|
||||||
# mkdir build
|
cd projects/mtg
|
||||||
# cd build
|
../../wagic
|
||||||
# mkdir win-cross
|
cd ../..
|
||||||
# cd win-cross
|
fi
|
||||||
# /opt/mingw32/bin/qmake ../../projects/mtg/wagic-qt.pro CONFIG+=release CONFIG+=graphics
|
|
||||||
# make -j 8
|
|
||||||
# cd release
|
|
||||||
# cp ../../../projects/mtg/bin/fmod.dll .
|
|
||||||
# cp /opt/mingw32/bin/QtCore4.dll .
|
|
||||||
# cp /opt/mingw32/bin/QtGui4.dll .
|
|
||||||
# cp /opt/mingw32/bin/QtNetwork4.dll .
|
|
||||||
# cp /opt/mingw32/bin/QtOpenGL4.dll .
|
|
||||||
# cp ../../../projects/mtg/bin/zlib1.dll .
|
|
||||||
# cp /opt/mingw32/bin/libpng15-15.dll .
|
|
||||||
# cd ..
|
|
||||||
# zip win-cross.zip -r release/
|
|
||||||
# cd ../..
|
|
||||||
|
|
||||||
# Now we run the testsuite (Res needs to be in the working directory)
|
|
||||||
cd projects/mtg
|
|
||||||
../../wagic
|
|
||||||
cd ../..
|
|
||||||
|
|||||||
Reference in New Issue
Block a user