mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
merge latest trunk
This commit is contained in:
81
CHANGES.txt
81
CHANGES.txt
@@ -1,4 +1,4 @@
|
||||
Forge Beta: 03-##-2013 ver 1.3.10
|
||||
Forge Beta: 03-##-2013 ver 1.3.11
|
||||
|
||||
|
||||
12### cards in total.
|
||||
@@ -6,90 +6,11 @@ Forge Beta: 03-##-2013 ver 1.3.10
|
||||
|
||||
Release Notes:
|
||||
|
||||
A new quest world by Serrasmurf based on Ravinca has been added.
|
||||
|
||||
An effort is being made to implement the split cards (e.g. Fire/Ice) in Forge. The initial effort to add support for split cards may be considered complete and the relevant branch has reen reintegrated to trunk. Expect some rough edges and incompatibilities along the way.
|
||||
|
||||
The fat packs should now be available for purchase in the quest mode card shop.
|
||||
|
||||
Information for non-card items in spell shop are now shown in the card details panel.
|
||||
|
||||
Multiple problems with Convoke have been fixed.
|
||||
|
||||
Forge should now be the Magic rules enforcing program with the most supported cards! That means we finally beat MtGO! MtGO is missing 828 cards. Even subtracting the Power Nine, which were available in the MtGO cube for some time, that's more than we are missing (805) at the time this was written.
|
||||
|
||||
|
||||
New Cards:
|
||||
|
||||
Dimensional Breach
|
||||
Lim-Dul's Vault
|
||||
Eureka
|
||||
Hypergenesis
|
||||
Death by Dragons
|
||||
Carpet of Flowers
|
||||
Goblin Welder
|
||||
Delaying Shield
|
||||
Fatal Lore
|
||||
Library of Lat-Nam
|
||||
Misfortune
|
||||
Assault // Battery
|
||||
Fire // Ice
|
||||
Night // Day
|
||||
Trial // Error
|
||||
Wax // Wane
|
||||
Dead // Gone
|
||||
Illusion // Reality
|
||||
Life // Death
|
||||
Pure // Simple
|
||||
Rough // Tumble
|
||||
Supply // Demand
|
||||
Hide // Seek
|
||||
Order // Chaos
|
||||
Pain // Suffering
|
||||
Spite // Malice
|
||||
Stand // Deliver
|
||||
Boom // Bust
|
||||
Crime // Punishment
|
||||
Rise // Fall
|
||||
Bound // Determined
|
||||
Hit // Run
|
||||
Taniwha
|
||||
Natural Balance
|
||||
Balancing Act
|
||||
Odds // Ends
|
||||
Mana Clash
|
||||
Goblin Assassin
|
||||
Chain Lightning
|
||||
Chain of Vapor
|
||||
Vision Charm
|
||||
Ooze Flux
|
||||
Simic Manipulator
|
||||
Ashling the Pilgrim
|
||||
Inner-Flame Igniter
|
||||
Novijen Sages
|
||||
Trickbind
|
||||
Yare
|
||||
Mercadian Atlas
|
||||
|
||||
|
||||
New Phenomenons:
|
||||
|
||||
|
||||
|
||||
|
||||
New Planes:
|
||||
|
||||
Feeding Grounds
|
||||
Horizon Boughs
|
||||
|
||||
|
||||
New Schemes:
|
||||
|
||||
All in Good Time
|
||||
|
||||
|
||||
New Vanguard Avatars:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
2
pom.xml
2
pom.xml
@@ -5,7 +5,7 @@
|
||||
<artifactId>forge</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>Forge</name>
|
||||
<version>1.3.10-SNAPSHOT</version>
|
||||
<version>1.3.11-SNAPSHOT</version>
|
||||
<description>
|
||||
Forge lets you play the card game Magic: The Gathering against a computer opponent
|
||||
using all of the rules.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Name:Energy Field
|
||||
ManaCost:1 U
|
||||
Types:Enchantment
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Graveyard | ValidCard$ Card.YouOwn | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ When a card is put into your graveyard from anywhere, sacrifice CARDNAME.
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Graveyard | ValidCard$ Card.nonToken+YouOwn | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ When a card is put into your graveyard from anywhere, sacrifice CARDNAME.
|
||||
SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Defined$ Self
|
||||
S:Mode$ PreventDamage | Target$ You | Source$ Card.YouDontCtrl | Description$ Prevent all damage that would be dealt to you by sources you don't control.
|
||||
SVar:RemAIDeck:True
|
||||
|
||||
@@ -5,7 +5,7 @@ R:Event$ Draw | ActiveZones$ Battlefield | ValidPlayer$ You | ReplaceWith$ Check
|
||||
SVar:CheckLoseCondition:DB$ LosesGame | Defined$ You | ConditionCheckSVar$ CardsInGrave | ConditionSVarCompare$ EQ0 | SubAbility$ ForbiddenPractice
|
||||
SVar:ForbiddenPractice:DB$ ChangeZone | Hidden$ True | Mandatory$ True | ChangeType$ Card.YouOwn | ChangeNum$ 1 | Origin$ Graveyard | Destination$ Hand
|
||||
SVar:CardsInGrave:Count$InYourYard
|
||||
R:Event$ Moved | ActiveZones$ Battlefield | Destination$ Graveyard | ValidCard$ Card.YouOwn | ReplaceWith$ CryptExile | Description$ If a card would be put into your graveyard from anywhere, exile that card instead.
|
||||
R:Event$ Moved | ActiveZones$ Battlefield | Destination$ Graveyard | ValidCard$ Card.nonToken+YouOwn | ReplaceWith$ CryptExile | Description$ If a card would be put into your graveyard from anywhere, exile that card instead.
|
||||
SVar:CryptExile:AB$ ChangeZone | Cost$ 0 | Hidden$ True | Origin$ All | Destination$ Exile | Defined$ ReplacedCard
|
||||
SVar:RemAIDeck:True
|
||||
SVar:RemRandomDeck:True
|
||||
|
||||
@@ -3,7 +3,7 @@ ManaCost:GW GW
|
||||
Types:Enchantment Aura
|
||||
K:Enchant player
|
||||
A:SP$ Attach | Cost$ GW GW | ValidTgts$ Player
|
||||
R:Event$ Moved | ActiveZones$ Battlefield | Destination$ Graveyard | ValidCard$ Card.OwnedBy Player.EnchantedBy | ReplaceWith$ Reveal | Description$ If a card would be put into enchanted player's graveyard from anywhere, instead that card is revealed and put on the bottom of that player's library.
|
||||
R:Event$ Moved | ActiveZones$ Battlefield | Destination$ Graveyard | ValidCard$ Card.nonToken+OwnedBy Player.EnchantedBy | ReplaceWith$ Reveal | Description$ If a card would be put into enchanted player's graveyard from anywhere, instead that card is revealed and put on the bottom of that player's library.
|
||||
SVar:Reveal:AB$ ChangeZone | Cost$ 0 | Hidden$ True | Origin$ All | Destination$ Library | Defined$ ReplacedCard | LibraryPosition$ -1 | Reveal$ True
|
||||
SVar:RemRandomDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/wheel_of_sun_and_moon.jpg
|
||||
|
||||
@@ -4,7 +4,7 @@ Types:Enchantment
|
||||
S:Mode$ CantBeCast | ValidCard$ Card | Caster$ You | CheckSVar$ X | Description$ You can't cast more than one spell each turn.
|
||||
SVar:X:Count$ThisTurnCast_Card.YouOwn
|
||||
S:Mode$ Continuous | Affected$ Card.YouCtrl | AffectedZone$ Graveyard | AddHiddenKeyword$ May be played | Description$ You may play cards from your graveyard.
|
||||
R:Event$ Moved | ActiveZones$ Battlefield | Destination$ Graveyard | ValidCard$ Card.YouOwn | ReplaceWith$ Exile | Description$ If a card would be put into your graveyard from anywhere, exile it instead.
|
||||
R:Event$ Moved | ActiveZones$ Battlefield | Destination$ Graveyard | ValidCard$ Card.nonToken+YouOwn | ReplaceWith$ Exile | Description$ If a card would be put into your graveyard from anywhere, exile it instead.
|
||||
SVar:Exile:AB$ ChangeZone | Cost$ 0 | Hidden$ True | Origin$ All | Destination$ Exile | Defined$ ReplacedCard
|
||||
SVar:RemRandomDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/yawgmoths_agenda.jpg
|
||||
|
||||
@@ -386,15 +386,11 @@ public class SpellPermanent extends Spell {
|
||||
return super.canPlayAI();
|
||||
}
|
||||
|
||||
public static boolean checkETBEffects(final Card card, final SpellAbility sa, final ApiType api) {
|
||||
return checkETBEffects(card, sa, api, null);
|
||||
}
|
||||
|
||||
public static boolean checkETBEffects(final Card card, final AIPlayer ai) {
|
||||
return checkETBEffects(card, null, null, ai);
|
||||
}
|
||||
|
||||
private static boolean checkETBEffects(final Card card, final SpellAbility sa, final ApiType api, final AIPlayer ai) {
|
||||
public static boolean checkETBEffects(final Card card, final SpellAbility sa, final ApiType api, final AIPlayer ai) {
|
||||
boolean rightapi = false;
|
||||
|
||||
if (card.isCreature()
|
||||
|
||||
@@ -144,11 +144,8 @@ public class AiController {
|
||||
for (final Card c : all) {
|
||||
for (final SpellAbility sa : c.getNonManaSpellAbilities()) {
|
||||
if (sa instanceof SpellPermanent) {
|
||||
// TODO ArsenalNut (13 Oct 2012) added line to set activating player to fix NPE problem
|
||||
// in checkETBEffects. There is SpellPermanent.checkETBEffects where the player can be
|
||||
// directly input but it is currently a private method.
|
||||
sa.setActivatingPlayer(player);
|
||||
if (SpellPermanent.checkETBEffects(c, sa, ApiType.Counter)) {
|
||||
if (SpellPermanent.checkETBEffects(c, sa, ApiType.Counter, player)) {
|
||||
spellAbilities.add(sa);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user