diff --git a/forge-game/src/main/java/forge/game/card/CardDamageHistory.java b/forge-game/src/main/java/forge/game/card/CardDamageHistory.java index 1d4ea443233..04e9fcf00de 100644 --- a/forge-game/src/main/java/forge/game/card/CardDamageHistory.java +++ b/forge-game/src/main/java/forge/game/card/CardDamageHistory.java @@ -270,11 +270,13 @@ public class CardDamageHistory { if (isCombat != null && damage.getRight() != isCombat) { continue; } - if (validSourceCard != null && !sourceToTarget.getLeft().isValid(validSourceCard.split(","), sourceController, source == null ? sourceToTarget.getLeft() : source, ctb)) { - continue; - } - if (validTargetEntity != null && !sourceToTarget.getRight().isValid(validTargetEntity.split(","), sourceController, source, ctb)) { - continue; + if (sourceToTarget != null) { + if (validSourceCard != null && !sourceToTarget.getLeft().isValid(validSourceCard.split(","), sourceController, source == null ? sourceToTarget.getLeft() : source, ctb)) { + continue; + } + if (validTargetEntity != null && !sourceToTarget.getRight().isValid(validTargetEntity.split(","), sourceController, source, ctb)) { + continue; + } } sum += damage.getLeft(); if (anyIsEnough) { diff --git a/forge-gui-mobile/src/forge/adventure/data/BiomeData.java b/forge-gui-mobile/src/forge/adventure/data/BiomeData.java index 868e2f3688b..47e6e2612cb 100644 --- a/forge-gui-mobile/src/forge/adventure/data/BiomeData.java +++ b/forge-gui-mobile/src/forge/adventure/data/BiomeData.java @@ -2,10 +2,12 @@ package forge.adventure.data; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.utils.Array; +import forge.adventure.util.AdventureQuestController; import forge.util.MyRandom; import java.io.Serializable; import java.util.ArrayList; +import java.util.Map; import java.util.Random; /** @@ -85,10 +87,12 @@ public class BiomeData implements Serializable { } public EnemyData getEnemy(float difficultyFactor) { + Map boostedSpawns = AdventureQuestController.instance().getBoostedSpawns(enemyList); EnemyData bestData = null; float biggestNumber = 0.0f; for (EnemyData data : enemyList) { - float newNumber = (1.0f + (data.spawnRate * rand.nextFloat())) * difficultyFactor; + float boost = boostedSpawns.getOrDefault(data.getName(), 0.0f); //Each active quest stage will divide 1.0f across any valid enemies to defeat + float newNumber = (1.0f + ((data.spawnRate + boost) * rand.nextFloat())) * difficultyFactor; if (newNumber > biggestNumber) { biggestNumber = newNumber; bestData = data; diff --git a/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java b/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java index 0bfaa517b9d..15788a15b57 100644 --- a/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java +++ b/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java @@ -17,9 +17,44 @@ import forge.util.Aggregates; import java.io.Serializable; import java.time.LocalDate; import java.util.*; +import java.util.stream.Collectors; public class AdventureQuestController implements Serializable { + public Map getBoostedSpawns(List localSpawns) { + Map boostedSpawns = new HashMap<>(); + for (AdventureQuestData q : Current.player().getQuests()){ + for (AdventureQuestStage c : q.stages){ + if (c.getStatus().equals(QuestStatus.Active) && c.objective.equals(ObjectiveTypes.Defeat)) + { + List toBoost = new ArrayList<>(); + if (c.mixedEnemies){ + for (EnemyData enemy : localSpawns){ + List candidateTags = Arrays.stream(enemy.questTags).collect(Collectors.toList()); + for (String targetTag : c.enemyTags) { + if (!candidateTags.contains(targetTag)) { + continue; + } + toBoost.add(enemy.getName()); + } + } + } + else{ + toBoost.add(c.getTargetEnemyData().getName()); + } + if (!toBoost.isEmpty()) { + float value = 1.0f / toBoost.size(); + for (String key : toBoost) { + float existingValue = boostedSpawns.getOrDefault(key, 0.0f); + boostedSpawns.put(key, value + existingValue); + } + } + } + } + } + return boostedSpawns; + } + public enum ObjectiveTypes{ None, Arena, diff --git a/forge-gui/res/adventure/Shandalar/custom_card_pics/Slobad's Boss Effect.fullborder.jpg b/forge-gui/res/adventure/Shandalar/custom_card_pics/Slobad's Boss Effect.fullborder.jpg index 4db9f7797ef..b9ce55c625b 100644 Binary files a/forge-gui/res/adventure/Shandalar/custom_card_pics/Slobad's Boss Effect.fullborder.jpg and b/forge-gui/res/adventure/Shandalar/custom_card_pics/Slobad's Boss Effect.fullborder.jpg differ diff --git a/forge-gui/res/adventure/Shandalar/custom_cards/slobad_boss_effect.txt b/forge-gui/res/adventure/Shandalar/custom_cards/slobad_boss_effect.txt index 2df70a8b4da..ee4f48ba364 100644 --- a/forge-gui/res/adventure/Shandalar/custom_cards/slobad_boss_effect.txt +++ b/forge-gui/res/adventure/Shandalar/custom_cards/slobad_boss_effect.txt @@ -1,15 +1,15 @@ Name:Slobad's Boss Effect ManaCost:no cost -Types:Artifact +Types:Enchantment S:Mode$ Continuous | Affected$ Creature.YouCtrl+Artifact | AddToughness$ 2 | EffectZone$ Command | Description$ Artifact Creatures you control get +0/+2 -T:Mode$ DamageDoneOnce | ValidTarget$ You | TriggerZones$ Command | Execute$ TrigToken | OptionalDecider$ You | TriggerDescription$ Whenever Slobad is dealt damage, create X scrap tokens, where X is the amount of damage dealt. +T:Mode$ DamageDoneOnce | ValidTarget$ You | TriggerZones$ Command | Execute$ TrigToken | TriggerDescription$ Whenever you are dealt damage, create X scrap tokens, where X is the amount of damage dealt. SVar:TrigToken:DB$ Token | TokenAmount$ X | TokenScript$ scrap -T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | IsPresent$ Permanent.namedScrap | PresentCompare$ GE5 | TriggerZones$ Command | Execute$ TrigSacrifice | TriggerDescription$ At the beginning of his end step, Slobad creates a 0/0 colorless Construct artifact creature token with "This creature gets +1/+1 for each artifact you control." if he has five or more scrap tokens. Then sacrifice five scrap tokens +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | IsPresent$ Permanent.namedScrap | PresentCompare$ GE5 | TriggerZones$ Command | Execute$ TrigSacrifice | TriggerDescription$ At the beginning of your end step, if you have five or more Scrap tokens, create a 0/0 colorless Construct artifact creature token with "This creature gets +1/+1 for each artifact you control." Then you sacrifice five scrap tokens. SVar:TrigSacrifice:DB$ Sacrifice | SacValid$ Permanent.namedScrap | Defined$ You | Amount$ 5 | RememberSacrificed$ True | SubAbility$ DBToken SVar:DBToken:DB$ Token | ConditionDefined$ Remembered | ConditionPresent Card | ConditionCompare$ GE5 | TokenScript$ c_0_0_a_construct_total_artifacts | TokenOwner$ You | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Permanent.namedScrap | PresentCompare$ GE10 | TriggerZones$ Command | Execute$ TrigSacrificeAll | TriggerDescription$ At the beginning you upkeep, if Slobad has ten or more Scrap tokens, Slobad conjures a Darksteel Colossus unto the battlefield -SVar:TrigSacrificeAll:DB$ SacrificeAll | ValidCards$ Permanent.namedScrap | Defined$ You | SubAbility$ DBConjure -SVar:DBConjure:DB$MakeCard | Conjure$ True | Name$ Darksteel Colossus | Zone$ Battlefield +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Permanent.namedScrap | PresentCompare$ GE10 | TriggerZones$ Command | Execute$ TrigSacrificeAll | TriggerDescription$ At the beginning your upkeep, if you have ten or more Scrap tokens, exile all scrap tokens and conjure a Darksteel Colossus unto the battlefield. +SVar:TrigSacrificeAll:DB$ ChangeZoneAll | ChangeType$ Permanent.namedScrap | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBConjure +SVar:DBConjure:DB$ MakeCard | Conjure$ True | Name$ Darksteel Colossus | Zone$ Battlefield SVar:X:TriggerCount$DamageAmount -Oracle:Artifact Creatures you control get +0/+2.\nWhenever Slobad is dealt damage, Slobad creates X scrap tokens, where X is the amount of damage dealt. \nAt the beginning of Slobads end step, if Solbad has five or more scrap tokens, Slobad creates a 0/0 colorless Construct artifact creature token with "This creature gets +1/+1 for each artifact you control." Then Slobad sacrifices five scrap tokens.\nAt the beginning you upkeep, if Slobad has ten or more Scrap tokens, Slobad conjures a Darksteel Colossus unto the battlefield +Oracle:Artifact creatures you control get +0/+2.\nWhenever you are dealt damage, create X scrap tokens, where X is the amount of damage dealt.\nAt the beginning of your end step, if you have five or more Scrap tokens, create a 0/0 colorless Construct artifact creature token with "This creature gets +1/+1 for each artifact you control." Then you sacrifice five scrap tokens.\nAt the beginning your upkeep, if you have ten or more Scrap tokens, exile all scrap tokens and conjure a Darksteel Colossus unto the battlefield. \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/custom_cards/zedruu_boss_effect.txt b/forge-gui/res/adventure/Shandalar/custom_cards/zedruu_boss_effect.txt index 287b63586c3..720ca52e16a 100644 --- a/forge-gui/res/adventure/Shandalar/custom_cards/zedruu_boss_effect.txt +++ b/forge-gui/res/adventure/Shandalar/custom_cards/zedruu_boss_effect.txt @@ -3,7 +3,7 @@ ManaCost:no cost Colors:black,white,blue,red Types:Enchantment T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Command | Execute$ TrigConjure | TriggerDescription$ At the beginning of your end step target opponent conjures one of Zedruu's gifts unto the battlefield under their control. -SVar:TrigConjure:DB$ MakeCard | Defined$ Opponent | Conjure$ True | AtRandom$ True | Spellbook$ Nine Lives,Akroan Horse,Steel Horse,Soulless Jailer,Silent Arbiter,Flumph,Howling Mine,Jinxed Idol,Phyrexian Vault,Plague Reaver,Abyssal Persecutor,Hunted Wumpus,Demonic Taskmaster,Grid Monitor,Master of the Feast,Font of Mythos,Statecraft,Moderation,Dark Confidant,Ensnaring Bridge,Solemnity,Blood Moon,Stony Silence,Cursed Totem,Damping Sphere,Embargo | Zone$ Battlefield | RememberMade$ True +SVar:TrigConjure:DB$ MakeCard | Defined$ Opponent | Conjure$ True | AtRandom$ True | Spellbook$ Nine Lives,Akroan Horse,Steel Golem,Soulless Jailer,Silent Arbiter,Flumph,Howling Mine,Jinxed Idol,Phyrexian Vault,Plague Reaver,Abyssal Persecutor,Hunted Wumpus,Demonic Taskmaster,Grid Monitor,Master of the Feast,Font of Mythos,Statecraft,Moderation,Dark Confidant,Ensnaring Bridge,Solemnity,Blood Moon,Stony Silence,Cursed Totem,Damping Sphere,Embargo | Zone$ Battlefield | RememberMade$ True S:Mode$ Continuous | AddAbility$ Sac | Affected$ Permanent.IsRemembered | EffectZone$ Command | Description$ Permanents gifted by Zedruu gain: {3} , Pay 3 life, Sacrifice this card: Zedruu conjures a random Minotaur or Monk creature token under her control." SVar:Sac:AB$ CopyPermanent | Controller$ Opponent | Cost$ 3 T PayLife<3> Sac<1/CARDNAME/this gifted permanent> | Defined$ You | NumCopies$ 1 | ValidSupportedCopy$ Creature.Minotaur | RandomCopied$ True | RandomNum$ 1 | SpellDescription$ Zedruu conjures a random Minotaur or Monk creature token under her control Oracle:At the beginning of your end step target opponent conjures one of Zedruu's gifts unto the battlefield under their control.\nPermanents gifted by Zedruu gain: {3} , Pay 3 life, Sacrifice this card: Zedruu conjures a random Minotaur or Monk creature token under her control." \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/decks/unholy/demonshard.dck b/forge-gui/res/adventure/Shandalar/decks/unholy/demonshard.dck index 00d3834c157..7081562e721 100644 --- a/forge-gui/res/adventure/Shandalar/decks/unholy/demonshard.dck +++ b/forge-gui/res/adventure/Shandalar/decks/unholy/demonshard.dck @@ -3,22 +3,22 @@ Name=Demons [Avatar] [Main] -2 Argoth, Sanctum of Nature|BRO|1 + 4 Badlands|VMA|1 3 Be'lakor, the Dark Master|40K|1 1 Bloodcrusher of Khorne|40K|1 4 Bloodstained Mire|KTK|1 -1 Decree of Pain|40K|1 +4 Decree of Pain|40K|1 1 Demon of Death's Gate|PLIST|1 -1 Exalted Flamer of Tzeentch|40K|1 +3 Exalted Flamer of Tzeentch|40K|1 1 Griselbrand|SLD|2 4 Herald of Slaanesh|40K|1 -1 Heralds of Tzeentch|40K|1 +4 Heralds of Tzeentch|40K|1 1 Island|DMU|3 +4 Coldsteel Heart 1 Kuro, Pitlord|DVD|1 2 Lightning Bolt|2X2|1 4 Lord of Change|40K|1 -4 Mana Crypt|MPS_KLD|1 1 Mortarion, Daemon Primarch|40K|1 1 Mountain|DMU|1 1 Orca, Siege Demon|DMC|1 @@ -27,13 +27,11 @@ Name=Demons 1 Rakdos, the Showstopper|RNA|1 1 Razaketh, the Foulblooded|SLD|1 1 Reaper from the Abyss|C14|1 -1 Reiver Demon|DVD|1 +3 Reiver Demon|DVD|1 4 Scalding Tarn|MH2|1 -1 Sire of Insanity|SLD|1 -4 Sol Ring|40K|1 -1 Swamp|DMU|3 -2 Titania, Voice of Gaea|BRO|1 -2 Underground Sea|VMA|1 +2 Sire of Insanity|SLD|1 +8 Swamp|DMU|3 +4 Underground Sea|VMA|1 1 Vilis, Broker of Blood|M20|1 4 Xander's Lounge|SNC|1 [Sideboard] diff --git a/forge-gui/res/adventure/Shandalar/maps/map/castles/white_castle.tmx b/forge-gui/res/adventure/Shandalar/maps/map/castles/white_castle.tmx index 77f7d095277..89fa4f5df07 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/castles/white_castle.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/castles/white_castle.tmx @@ -148,6 +148,14 @@ + [ + { + "action": [ + {"advanceMapFlag":"enemiesDefeated"}, + {"deleteMapObject": -1} + ] + } +] diff --git a/forge-gui/res/adventure/Shandalar/maps/tileset/FarmFood.tsx b/forge-gui/res/adventure/Shandalar/maps/tileset/FarmFood.tsx index 9d50389e7dd..f29668a8bc4 100644 --- a/forge-gui/res/adventure/Shandalar/maps/tileset/FarmFood.tsx +++ b/forge-gui/res/adventure/Shandalar/maps/tileset/FarmFood.tsx @@ -1,6 +1,7 @@ + @@ -66,4 +67,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/forge-gui/res/adventure/Shandalar/maps/tileset/rivers-nocolide.tsx b/forge-gui/res/adventure/Shandalar/maps/tileset/rivers-nocolide.tsx new file mode 100644 index 00000000000..9b031454d93 --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/maps/tileset/rivers-nocolide.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/forge-gui/res/adventure/Shandalar/maps/tileset/rivers.png b/forge-gui/res/adventure/Shandalar/maps/tileset/rivers.png new file mode 100644 index 00000000000..7a09ccc4bbc Binary files /dev/null and b/forge-gui/res/adventure/Shandalar/maps/tileset/rivers.png differ diff --git a/forge-gui/res/adventure/Shandalar/maps/tileset/rivers.tsx b/forge-gui/res/adventure/Shandalar/maps/tileset/rivers.tsx new file mode 100644 index 00000000000..ce9afb7fdac --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/maps/tileset/rivers.tsx @@ -0,0 +1,10721 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/forge-gui/res/adventure/Shandalar/world/enemies.json b/forge-gui/res/adventure/Shandalar/world/enemies.json index 5a2e45f6a8d..789203d3e08 100644 --- a/forge-gui/res/adventure/Shandalar/world/enemies.json +++ b/forge-gui/res/adventure/Shandalar/world/enemies.json @@ -5314,16 +5314,6 @@ "speed": 31, "life": 18, "rewards": [ - { - "type": "deckCard", - "probability": 1, - "count": 2, - "addMaxCount": 4, - "rarity": [ - "common", - "basicland" - ] - }, { "type": "deckCard", "probability": 0.5, @@ -5334,7 +5324,6 @@ ], "cardTypes": [ "Creature", - "Artifact", "Enchantment", "Instant", "Sorcery" @@ -5372,6 +5361,33 @@ "probability": 0.3, "count": 10, "addMaxCount": 90 + }, + { + "type": "shards", + "probability": 0.5, + "count": 1, + "addMaxCount": 2 + }, + { + "type": "card", + "probability": 0.5, + "count": 2, + "addMaxCount": 4, + "colors": [ + "Black", + "Red", + "Blue" + ], + "rarity": [ + "Rare", + "Mythic Rare" + ], + "subTypes": [ + "Demon" + ], + "cardTypes": [ + "Creature" + ] } ], "colors": "B", @@ -7824,9 +7840,9 @@ ], "ai": "", "spawnRate": 1, - "scale":1.3, "difficulty": 0.1, "speed": 23, + "scale": 1.3, "life": 25, "rewards": [ { @@ -9910,9 +9926,9 @@ ], "ai": "", "spawnRate": 1, - "scale":0.5, "difficulty": 0.1, "speed": 27, + "scale": 0.5, "life": 20, "rewards": [ {