Merge branch 'master' into newmaster2

This commit is contained in:
Anthony Calosa
2023-06-12 15:20:25 +08:00
13 changed files with 10934 additions and 38 deletions

View File

@@ -270,11 +270,13 @@ public class CardDamageHistory {
if (isCombat != null && damage.getRight() != isCombat) { if (isCombat != null && damage.getRight() != isCombat) {
continue; continue;
} }
if (validSourceCard != null && !sourceToTarget.getLeft().isValid(validSourceCard.split(","), sourceController, source == null ? sourceToTarget.getLeft() : source, ctb)) { if (sourceToTarget != null) {
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 (validTargetEntity != null && !sourceToTarget.getRight().isValid(validTargetEntity.split(","), sourceController, source, ctb)) {
continue;
}
} }
sum += damage.getLeft(); sum += damage.getLeft();
if (anyIsEnough) { if (anyIsEnough) {

View File

@@ -2,10 +2,12 @@ package forge.adventure.data;
import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Array;
import forge.adventure.util.AdventureQuestController;
import forge.util.MyRandom; import forge.util.MyRandom;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Map;
import java.util.Random; import java.util.Random;
/** /**
@@ -85,10 +87,12 @@ public class BiomeData implements Serializable {
} }
public EnemyData getEnemy(float difficultyFactor) { public EnemyData getEnemy(float difficultyFactor) {
Map<String, Float> boostedSpawns = AdventureQuestController.instance().getBoostedSpawns(enemyList);
EnemyData bestData = null; EnemyData bestData = null;
float biggestNumber = 0.0f; float biggestNumber = 0.0f;
for (EnemyData data : enemyList) { 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) { if (newNumber > biggestNumber) {
biggestNumber = newNumber; biggestNumber = newNumber;
bestData = data; bestData = data;

View File

@@ -17,9 +17,44 @@ import forge.util.Aggregates;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
public class AdventureQuestController implements Serializable { public class AdventureQuestController implements Serializable {
public Map<String, Float> getBoostedSpawns(List<EnemyData> localSpawns) {
Map<String,Float> 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<String> toBoost = new ArrayList<>();
if (c.mixedEnemies){
for (EnemyData enemy : localSpawns){
List<String> 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{ public enum ObjectiveTypes{
None, None,
Arena, Arena,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 153 KiB

View File

@@ -1,15 +1,15 @@
Name:Slobad's Boss Effect Name:Slobad's Boss Effect
ManaCost:no cost 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 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 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: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: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 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 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$ SacrificeAll | ValidCards$ Permanent.namedScrap | Defined$ You | SubAbility$ DBConjure 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:DBConjure:DB$ MakeCard | Conjure$ True | Name$ Darksteel Colossus | Zone$ Battlefield
SVar:X:TriggerCount$DamageAmount 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.

View File

@@ -3,7 +3,7 @@ ManaCost:no cost
Colors:black,white,blue,red Colors:black,white,blue,red
Types:Enchantment 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. 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." 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 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." 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."

View File

@@ -3,22 +3,22 @@ Name=Demons
[Avatar] [Avatar]
[Main] [Main]
2 Argoth, Sanctum of Nature|BRO|1
4 Badlands|VMA|1 4 Badlands|VMA|1
3 Be'lakor, the Dark Master|40K|1 3 Be'lakor, the Dark Master|40K|1
1 Bloodcrusher of Khorne|40K|1 1 Bloodcrusher of Khorne|40K|1
4 Bloodstained Mire|KTK|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 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 1 Griselbrand|SLD|2
4 Herald of Slaanesh|40K|1 4 Herald of Slaanesh|40K|1
1 Heralds of Tzeentch|40K|1 4 Heralds of Tzeentch|40K|1
1 Island|DMU|3 1 Island|DMU|3
4 Coldsteel Heart
1 Kuro, Pitlord|DVD|1 1 Kuro, Pitlord|DVD|1
2 Lightning Bolt|2X2|1 2 Lightning Bolt|2X2|1
4 Lord of Change|40K|1 4 Lord of Change|40K|1
4 Mana Crypt|MPS_KLD|1
1 Mortarion, Daemon Primarch|40K|1 1 Mortarion, Daemon Primarch|40K|1
1 Mountain|DMU|1 1 Mountain|DMU|1
1 Orca, Siege Demon|DMC|1 1 Orca, Siege Demon|DMC|1
@@ -27,13 +27,11 @@ Name=Demons
1 Rakdos, the Showstopper|RNA|1 1 Rakdos, the Showstopper|RNA|1
1 Razaketh, the Foulblooded|SLD|1 1 Razaketh, the Foulblooded|SLD|1
1 Reaper from the Abyss|C14|1 1 Reaper from the Abyss|C14|1
1 Reiver Demon|DVD|1 3 Reiver Demon|DVD|1
4 Scalding Tarn|MH2|1 4 Scalding Tarn|MH2|1
1 Sire of Insanity|SLD|1 2 Sire of Insanity|SLD|1
4 Sol Ring|40K|1 8 Swamp|DMU|3
1 Swamp|DMU|3 4 Underground Sea|VMA|1
2 Titania, Voice of Gaea|BRO|1
2 Underground Sea|VMA|1
1 Vilis, Broker of Blood|M20|1 1 Vilis, Broker of Blood|M20|1
4 Xander's Lounge|SNC|1 4 Xander's Lounge|SNC|1
[Sideboard] [Sideboard]

View File

@@ -148,6 +148,14 @@
</object> </object>
<object id="69" template="../../obj/enemy.tx" x="365.5" y="229.667"> <object id="69" template="../../obj/enemy.tx" x="365.5" y="229.667">
<properties> <properties>
<property name="defeatDialog">[
{
&quot;action&quot;: [
{&quot;advanceMapFlag&quot;:&quot;enemiesDefeated&quot;},
{&quot;deleteMapObject&quot;: -1}
]
}
]</property>
<property name="enemy" value="Sun Giant"/> <property name="enemy" value="Sun Giant"/>
<property name="pursueRange" type="int" value="30"/> <property name="pursueRange" type="int" value="30"/>
<property name="threatRange" type="int" value="30"/> <property name="threatRange" type="int" value="30"/>

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.10" tiledversion="1.10.1" name="FarmFood" tilewidth="16" tileheight="16" tilecount="4096" columns="64"> <tileset version="1.10" tiledversion="1.10.1" name="FarmFood" tilewidth="16" tileheight="16" tilecount="4096" columns="64">
<image source="FarmFood.png" width="1024" height="1024"/> <image source="FarmFood.png" width="1024" height="1024"/>
<tile id="964" probability="0.05"/>
<tile id="1024"> <tile id="1024">
<objectgroup draworder="index" id="2"> <objectgroup draworder="index" id="2">
<object id="1" x="2" y="1" width="14" height="15"/> <object id="1" x="2" y="1" width="14" height="15"/>
@@ -66,4 +67,111 @@
<object id="1" x="0" y="0" width="16" height="16"/> <object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup> </objectgroup>
</tile> </tile>
<wangsets>
<wangset name="Paths" type="mixed" tile="-1">
<wangcolor name="Dirt Path" color="#ff0000" tile="-1" probability="1"/>
<wangcolor name="Edge" color="#00ff00" tile="-1" probability="1"/>
<wangtile tileid="1664" wangid="0,2,0,1,0,2,0,2"/>
<wangtile tileid="1665" wangid="0,2,0,1,0,1,0,2"/>
<wangtile tileid="1666" wangid="0,2,0,2,0,1,0,2"/>
<wangtile tileid="1728" wangid="0,1,0,1,0,2,0,2"/>
<wangtile tileid="1729" wangid="0,1,0,1,0,1,0,1"/>
<wangtile tileid="1730" wangid="0,2,0,2,0,1,0,1"/>
<wangtile tileid="1792" wangid="0,1,0,2,0,2,0,2"/>
<wangtile tileid="1793" wangid="0,1,0,2,0,2,0,1"/>
<wangtile tileid="1794" wangid="0,2,0,2,0,2,0,1"/>
<wangtile tileid="1860" wangid="0,1,0,2,0,1,0,1"/>
<wangtile tileid="1861" wangid="0,1,0,1,0,2,0,1"/>
<wangtile tileid="1924" wangid="0,2,0,1,0,1,0,1"/>
<wangtile tileid="1925" wangid="0,1,0,1,0,1,0,2"/>
</wangset>
<wangset name="Walls" type="edge" tile="-1">
<wangcolor name="Stone Fence" color="#ff0000" tile="-1" probability="1"/>
<wangcolor name="Wood Fence" color="#00ff00" tile="-1" probability="1"/>
<wangtile tileid="832" wangid="0,0,2,0,2,0,0,0"/>
<wangtile tileid="833" wangid="0,0,2,0,2,0,2,0"/>
<wangtile tileid="834" wangid="0,0,0,0,2,0,2,0"/>
<wangtile tileid="835" wangid="0,0,2,0,0,0,2,0"/>
<wangtile tileid="896" wangid="2,0,0,0,0,0,0,0"/>
<wangtile tileid="897" wangid="2,0,0,0,2,0,0,0"/>
<wangtile tileid="898" wangid="0,0,0,0,2,0,0,0"/>
<wangtile tileid="899" wangid="0,0,2,0,0,0,0,0"/>
<wangtile tileid="900" wangid="0,0,0,0,0,0,2,0"/>
<wangtile tileid="960" wangid="2,0,2,0,0,0,0,0"/>
<wangtile tileid="961" wangid="2,0,2,0,0,0,2,0"/>
<wangtile tileid="962" wangid="2,0,0,0,0,0,2,0"/>
<wangtile tileid="963" wangid="2,0,2,0,2,0,2,0"/>
<wangtile tileid="964" wangid="0,0,2,0,0,0,2,0"/>
<wangtile tileid="1024" wangid="0,0,1,0,1,0,0,0"/>
<wangtile tileid="1025" wangid="0,0,1,0,1,0,1,0"/>
<wangtile tileid="1026" wangid="0,0,0,0,1,0,1,0"/>
<wangtile tileid="1027" wangid="0,0,1,0,0,0,1,0"/>
<wangtile tileid="1088" wangid="1,0,0,0,0,0,0,0"/>
<wangtile tileid="1089" wangid="1,0,0,0,1,0,0,0"/>
<wangtile tileid="1090" wangid="0,0,0,0,1,0,0,0"/>
<wangtile tileid="1091" wangid="0,0,1,0,0,0,0,0"/>
<wangtile tileid="1092" wangid="0,0,0,0,0,0,1,0"/>
<wangtile tileid="1152" wangid="1,0,1,0,0,0,0,0"/>
<wangtile tileid="1153" wangid="1,0,1,0,0,0,1,0"/>
<wangtile tileid="1154" wangid="1,0,0,0,0,0,1,0"/>
<wangtile tileid="1155" wangid="1,0,1,0,1,0,1,0"/>
</wangset>
<wangset name="Fields" type="mixed" tile="-1">
<wangcolor name="" color="#ff0000" tile="-1" probability="1"/>
<wangcolor name="" color="#00ff00" tile="-1" probability="1"/>
<wangcolor name="" color="#0000ff" tile="-1" probability="1"/>
<wangcolor name="" color="#ff7700" tile="-1" probability="1"/>
<wangcolor name="" color="#00e9ff" tile="-1" probability="1"/>
<wangcolor name="" color="#ff00d8" tile="-1" probability="1"/>
<wangcolor name="" color="#ffff00" tile="-1" probability="1"/>
<wangcolor name="" color="#a000ff" tile="-1" probability="1"/>
<wangcolor name="" color="#00ffa1" tile="-1" probability="1"/>
<wangcolor name="" color="#ffa8a8" tile="-1" probability="1"/>
<wangtile tileid="527" wangid="0,0,6,6,6,0,0,0"/>
<wangtile tileid="528" wangid="0,0,0,0,6,6,6,0"/>
<wangtile tileid="529" wangid="0,0,0,5,5,5,0,0"/>
<wangtile tileid="530" wangid="6,6,6,6,6,0,0,0"/>
<wangtile tileid="531" wangid="6,0,0,0,6,6,6,6"/>
<wangtile tileid="532" wangid="5,5,0,5,5,5,0,5"/>
<wangtile tileid="577" wangid="0,2,0,2,0,0,0,0"/>
<wangtile tileid="578" wangid="0,2,0,2,0,2,0,2"/>
<wangtile tileid="579" wangid="0,0,0,0,0,2,0,2"/>
<wangtile tileid="581" wangid="0,3,0,3,0,0,0,0"/>
<wangtile tileid="582" wangid="0,3,0,3,0,3,0,3"/>
<wangtile tileid="583" wangid="0,0,0,0,0,3,0,3"/>
<wangtile tileid="589" wangid="0,5,5,5,0,0,0,0"/>
<wangtile tileid="590" wangid="0,0,0,0,0,5,5,5"/>
<wangtile tileid="591" wangid="6,6,6,0,0,0,0,0"/>
<wangtile tileid="592" wangid="6,0,0,0,0,0,6,6"/>
<wangtile tileid="593" wangid="5,5,0,0,0,0,0,5"/>
<wangtile tileid="594" wangid="6,6,6,0,0,0,6,6"/>
<wangtile tileid="595" wangid="0,0,6,6,6,6,6,0"/>
<wangtile tileid="596" wangid="0,5,5,5,0,5,5,5"/>
<wangtile tileid="641" wangid="0,1,0,1,0,0,0,0"/>
<wangtile tileid="642" wangid="0,1,0,1,0,1,0,1"/>
<wangtile tileid="643" wangid="0,0,0,0,0,1,0,1"/>
<wangtile tileid="645" wangid="0,4,0,4,0,0,0,0"/>
<wangtile tileid="646" wangid="0,4,0,4,0,4,0,4"/>
<wangtile tileid="647" wangid="0,0,0,0,0,4,0,4"/>
<wangtile tileid="660" wangid="6,6,6,6,6,6,6,6"/>
<wangtile tileid="1681" wangid="8,8,7,7,7,8,8,8"/>
<wangtile tileid="1682" wangid="8,8,7,7,7,7,7,8"/>
<wangtile tileid="1683" wangid="8,8,8,8,7,7,7,8"/>
<wangtile tileid="1745" wangid="7,7,7,7,7,8,8,8"/>
<wangtile tileid="1746" wangid="7,7,7,7,7,7,7,7"/>
<wangtile tileid="1747" wangid="7,8,8,8,7,7,7,7"/>
<wangtile tileid="1809" wangid="7,7,7,8,8,8,8,8"/>
<wangtile tileid="1810" wangid="7,7,7,8,8,8,7,7"/>
<wangtile tileid="1811" wangid="7,8,8,8,8,8,7,7"/>
<wangtile tileid="1873" wangid="8,8,9,9,9,8,8,8"/>
<wangtile tileid="1874" wangid="8,8,9,9,9,9,9,8"/>
<wangtile tileid="1875" wangid="8,8,8,8,9,9,9,8"/>
<wangtile tileid="1937" wangid="9,9,9,9,9,8,8,8"/>
<wangtile tileid="1938" wangid="9,9,9,9,9,9,9,9"/>
<wangtile tileid="1939" wangid="9,8,8,8,9,9,9,9"/>
<wangtile tileid="2001" wangid="9,9,9,8,8,8,8,8"/>
<wangtile tileid="2002" wangid="9,9,9,8,8,8,9,9"/>
<wangtile tileid="2003" wangid="9,8,8,8,8,8,9,9"/>
</wangset>
</wangsets>
</tileset> </tileset>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.10" tiledversion="1.10.1" name="rivers-nocollide" tilewidth="16" tileheight="16" tilecount="17280" columns="180">
<image source="rivers.png" width="2880" height="1536"/>
</tileset>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

File diff suppressed because it is too large Load Diff

View File

@@ -5314,16 +5314,6 @@
"speed": 31, "speed": 31,
"life": 18, "life": 18,
"rewards": [ "rewards": [
{
"type": "deckCard",
"probability": 1,
"count": 2,
"addMaxCount": 4,
"rarity": [
"common",
"basicland"
]
},
{ {
"type": "deckCard", "type": "deckCard",
"probability": 0.5, "probability": 0.5,
@@ -5334,7 +5324,6 @@
], ],
"cardTypes": [ "cardTypes": [
"Creature", "Creature",
"Artifact",
"Enchantment", "Enchantment",
"Instant", "Instant",
"Sorcery" "Sorcery"
@@ -5372,6 +5361,33 @@
"probability": 0.3, "probability": 0.3,
"count": 10, "count": 10,
"addMaxCount": 90 "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", "colors": "B",
@@ -7824,9 +7840,9 @@
], ],
"ai": "", "ai": "",
"spawnRate": 1, "spawnRate": 1,
"scale":1.3,
"difficulty": 0.1, "difficulty": 0.1,
"speed": 23, "speed": 23,
"scale": 1.3,
"life": 25, "life": 25,
"rewards": [ "rewards": [
{ {
@@ -9910,9 +9926,9 @@
], ],
"ai": "", "ai": "",
"spawnRate": 1, "spawnRate": 1,
"scale":0.5,
"difficulty": 0.1, "difficulty": 0.1,
"speed": 27, "speed": 27,
"scale": 0.5,
"life": 20, "life": 20,
"rewards": [ "rewards": [
{ {