It is currently 16 Apr 2021, 00:12
   
Text Size

Nonbasic land (and other mana-producers) updates

Moderators: Xander9009, CCGHQ Admins

Nonbasic land (and other mana-producers) updates

Postby Splinterverse » 17 Jan 2017, 14:02

MM = Manual tapping for mana

We have been improving nonbasic land functionality (thanks to code from Xander9009).

As of the next CW update, most dual lands will function a little differently. This only impacts lands that do NOT have MM in the filename.

If the player is AI, the auto-tapped color will randomly change frequently, so that the AI has a better chance of being able to use the mana. (Previously, the AI couldn't use it at all or could only use one of the two colors offered by the land.)

If the player is human, the player can click on the ability and do several things:
-- Set it to auto tap for the first color (can be changed by the player at any time)
-- Set it to auto tap for the second color (can be changed by the player at any time)
-- Produce the first color
-- Produce the second color
-- Turn off auto-tapping

The above gives the player more options. Perhaps you don't want it to auto-tap because you want to make sure that the land's other abilities are more available. Or perhaps you are playing a card that triggers when a land is tapped for mana, so you want to turn off auto-tapping (because those abilities don't trigger with auto-tapping).

If you plan to share your decks in the CW or play against AI, I highly recommend switching the lands in your deck to the non-MM versions. By non-MM, I mean that in the deckbuilder, the card's filename does NOT contain MM in it. Eventually some or all of the MM versions will be removed from the CW, so it is a good idea to switch your lands any way.

Tri-lands and any color lands are still in development. However, all Tri- and any color lands do have non-MM versions that offer the AI at least one color of mana to work with. These versions will be updated with the new code as it is developed, so again, I recommend choosing the cards with filenames that do not include MM.

The list below contains the 47 lands that do not currently have a non-MM version. For these, you will need to continue using MM versions (for the time being).
Lands that only have MM versions | Open
Ancient Tomb
Barbarian Ring
Boseiju, Who Shelters All
Bottomless Vault
Cabal Coffers
Cabal Pit
Centaur Garden
Cephalid Coliseum
Darkwater Catacombs
Dwarven Hold
Exotic Orchard
Forsaken City
Fountain of Cho
Gemstone Caverns
Gemstone Mine
Hall of the Bandit Lord
Hickory Woodlot
Hollow Trees
Icatian Store
Land Cap
Lava Tubes
Lotus Vale
Mana Confluence
Mercadian Bazaar
Meteor Crater
Mishra's Workshop
Nomad Stadium
Peat Bog
Pillar of the Paruns
Rainbow Vale
Reflecting Pool
Remote Farm
Rhystic Cave
River Delta
River of Tears
Sand Silos
Sandstone Needle
Saprazzan Cove
Saprazzan Skerry
Serras Sanctum
Skycloud Expanse
Subterranean Hangar
Timberline Ridge
Tomb of Urami
Undiscovered Paradise
Urborg, Tomb of Yawgmoth


The rest of this thread will document the states of various lands for future development.

- With the exception of the above list of non-MM lands, all dual lands that have a only one mana ability (to produce one of two colors) have been updated to include the new code.

- Lands that have multiple mana abilities, have had their first ability updated. Typically, this is an auto-tap for {1} and the second ability remains MM. Often with these lands, there is an additional cost or restriction to the second/third abilities, so auto-tap code would need to be more involved. For example, Sulfurous Springs does damage to the player when tapped for its second ability. We can't just make that auto-tap without additional code. And, we may choose not to make them auto-tap for that second ability. It's TBD.

- All single color producing lands have had their non-MM version either checked, updated, or created so that all should now function via auto-tap.

- Tainted Isle contains code that appears to provide some auto-tap functionality when 2 mana abilities are present. Perhaps it can be used as a starting point to develop code for other multi-mana ability lands.

- I didn't update Nimbus Maze as the code appears to be an early attempt at making auto-tap (or something) happen. In any case, it offers multiple mana abilities, so I would have only updated the first one.

- The following spreadsheet contains a list of all lands that I believe will require some additional coding. With the exception of those in the list above (no non-MM versions), these lands have been improved with some auto-tap functionality, but as you will see in the spreadsheet, there are secondary abilities that could benefit from some additional code. For example, the any color ones that are listed do have the previous auto-tap code in place, but they will need updated once the new code for any color auto-tap is available.

https://docs.google.com/spreadsheets/d/ ... sp=sharing

I will update this thread as things develop.

Please feel free to share feedback, bugs, etc.
Last edited by Splinterverse on 01 Mar 2017, 14:40, edited 3 times in total.
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
Splinterverse
 
Posts: 918
Joined: 04 Sep 2016, 13:32
Has thanked: 150 times
Been thanked: 70 times

Re: Nonbasic land updates

Postby Splinterverse » 22 Jan 2017, 13:45

UPDATE:

I have gone through all enchantments, creatures, and artifacts that produce mana.

For tap to add a single color or dual, I have updated the non-MM versions to have auto-tap functionality that mirrors what we did for the lands (choose between auto and mm, etc.). In some cases, a non-MM version did not exist, so it was created.

For tap to produce one of three colors, I updated to have the existing auto-tap functionality (which is not as robust as dual, but we'll be updating it to do so). The same goes for tap to produce "any color".

The spreadsheet at the link above has been updated to include artifacts, enchantments, and creatures that will require additional coding to be fully auto-tappable. In some cases, these cards are partially auto-tappable.

The spreadsheet also includes details on all tri-color producers for later work.

In addition, I listed which cards have a different numbers in the CW for their MM and non-MM versions. (This is helpful if you are manually updating a deck's XML file and will be helpful in future coding efforts.)

In general, if there is an additional cost to tap for mana (pay 1 life, tap a creature, etc.), there is not yet an auto-tap version of that ability.

Also, if the card has a tap for mana ability with a limitation on it, such as "use this to cast Elf spells" or something else, these have not been updated with auto-tap. We might do that in the future. We just have to work through them and figure out what we will be doing and not doing.

Please let me know if you see any mono/dual tap without restrictions or extra costs that are missing from the CW. My updates should appear in the next CW update.
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
Splinterverse
 
Posts: 918
Joined: 04 Sep 2016, 13:32
Has thanked: 150 times
Been thanked: 70 times

Re: Nonbasic land updates

Postby Splinterverse » 01 Feb 2017, 15:54

---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
Splinterverse
 
Posts: 918
Joined: 04 Sep 2016, 13:32
Has thanked: 150 times
Been thanked: 70 times

Re: Nonbasic land updates

Postby Xander9009 » 03 Feb 2017, 04:44

I just went through and corrected many cards which had {U} where it should have had {B}.

Blackcleave Cliffs
Choked Estuary
Creeping Tar Pit
Darkslick Shores
Dimir Cluestone
Dimir Guildgate
Dimir Keyrune
Dismal Backwater
Drake-Skull Cameo
Drowned Catacomb
Frost Marsh
Highland Lake
Izzet Cluestone
Izzet Guildgate
Jwar Isle Refuge
Mistvein Borderpost
Salt Marsh
Secluded Glen
Silumgar Monument
Spirebluff Canal
Steam Vents
Submerged Boneyard
Sunken Hollow
Swiftwater Cliffs
Temple of Deceit
Temple of Epiphany
Tresserhorn Sinks
Underground Sea
Volcanic Island
Wandering Fumarole
Watery Grave

Specifically, they had this code:
| Open
Code: Select all
   <MANA_ABILITY resource_id="0">
      <COST type="TapSelf" />
      <PRODUCES amount="{1}" />
   </MANA_ABILITY>
   <MANA_ABILITY resource_id="1">
      <COST type="TapSelf" />
      <PRODUCES amount="{W}" />
   </MANA_ABILITY>
   <MANA_ABILITY resource_id="2">
      <COST type="TapSelf" />
      <PRODUCES amount="{U}" />
   </MANA_ABILITY>
   <MANA_ABILITY resource_id="3">
      <COST type="TapSelf" />
      <PRODUCES amount="{U}" />
   </MANA_ABILITY>
   <MANA_ABILITY resource_id="4">
      <COST type="TapSelf" />
      <PRODUCES amount="{R}" />
   </MANA_ABILITY>
   <MANA_ABILITY resource_id="5">
      <COST type="TapSelf" />
      <PRODUCES amount="{G}" />
   </MANA_ABILITY>
It was preventing the auto-tap for {B} from working.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 443 times

Re: Nonbasic land updates

Postby Splinterverse » 03 Feb 2017, 12:27

Xander9009 wrote:I just went through and corrected many cards which had {U} where it should have had {B}.

Blackcleave Cliffs
Choked Estuary
Creeping Tar Pit
Darkslick Shores
Dimir Cluestone
Dimir Guildgate
Dimir Keyrune
Dismal Backwater
Drake-Skull Cameo
Drowned Catacomb
Frost Marsh
Highland Lake
Izzet Cluestone
Izzet Guildgate
Jwar Isle Refuge
Mistvein Borderpost
Salt Marsh
Secluded Glen
Silumgar Monument
Spirebluff Canal
Steam Vents
Submerged Boneyard
Sunken Hollow
Swiftwater Cliffs
Temple of Deceit
Temple of Epiphany
Tresserhorn Sinks
Underground Sea
Volcanic Island
Wandering Fumarole
Watery Grave

Specifically, they had this code:
| Open
Code: Select all
   <MANA_ABILITY resource_id="0">
      <COST type="TapSelf" />
      <PRODUCES amount="{1}" />
   </MANA_ABILITY>
   <MANA_ABILITY resource_id="1">
      <COST type="TapSelf" />
      <PRODUCES amount="{W}" />
   </MANA_ABILITY>
   <MANA_ABILITY resource_id="2">
      <COST type="TapSelf" />
      <PRODUCES amount="{U}" />
   </MANA_ABILITY>
   <MANA_ABILITY resource_id="3">
      <COST type="TapSelf" />
      <PRODUCES amount="{U}" />
   </MANA_ABILITY>
   <MANA_ABILITY resource_id="4">
      <COST type="TapSelf" />
      <PRODUCES amount="{R}" />
   </MANA_ABILITY>
   <MANA_ABILITY resource_id="5">
      <COST type="TapSelf" />
      <PRODUCES amount="{G}" />
   </MANA_ABILITY>
It was preventing the auto-tap for {B} from working.
Ignore my last response to this (which I have deleted). I looked more closely at the code and I see what you referencing now. I'm going through my stash of the code that I used for replication to see if any others are affected. Will post when I'm done checking.
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
Splinterverse
 
Posts: 918
Joined: 04 Sep 2016, 13:32
Has thanked: 150 times
Been thanked: 70 times

Re: Nonbasic land updates

Postby Splinterverse » 03 Feb 2017, 12:32

Blue or Red is also affected. I'll go through and correct those now.

The only section I changed from color pair to color pair was the top continuous block. I must have had a bad copy/paste in there somewhere.

EDIT TO ADD: Blue or Black was already fixed by Xander. Blue or Red shouldn't affect play since these lands don't actually tap for Black, but I am fixing them now so that the code is safe for replication elsewhere.
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
Splinterverse
 
Posts: 918
Joined: 04 Sep 2016, 13:32
Has thanked: 150 times
Been thanked: 70 times

Re: Nonbasic land updates

Postby Splinterverse » 03 Feb 2017, 12:53

I have fixed/uploaded a few more and have checked all the ones within the color pairs identified.
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
Splinterverse
 
Posts: 918
Joined: 04 Sep 2016, 13:32
Has thanked: 150 times
Been thanked: 70 times

Re: Nonbasic land (and other mana-producers) updates

Postby Splinterverse » 01 Mar 2017, 14:40

I have updated all of the tri-color mana producers to make use of Xander's auto-tap code. This means that the non-MM versions of these cards should be much easier for AI players to use AND they offer more options for human players (you can choose to auto-tap or produce manual mana).

The tri-color cards updated are:
Abzan Banner
Crumbling Necropolis
Druid of the Anima
Frontier Bivouac
Jeskai Banner
Jungle Shrine
Mardu Banner
Mystic Monastery
Noble Hierarch
Nomad Outpost
Obelisk of Bant
Obelisk of Esper
Obelisk of Grixis
Obelisk of Jund
Obelisk of Naya
Opulent Palace
Rattleclaw Mystic
Sandsteppe Citadel
Savage Lands
Seaside Citadel
Sultai Banner
Temur Banner
Urborg Elf

If I have missed any, please let me know.

These will appear in the next CW update.
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
Splinterverse
 
Posts: 918
Joined: 04 Sep 2016, 13:32
Has thanked: 150 times
Been thanked: 70 times

Re: Nonbasic land (and other mana-producers) updates

Postby Xander9009 » 17 Mar 2017, 07:48

I might have finally thought of a way to handle granting mana abilities using the updated functions.

For background, the current problem with doing so is two-fold.
1: The new functions only work if the RSN_MarkCanProduceMana() function is called on layer 0, but granted abilities don't work below layer 6.
2: If you add an auto-tap mana ability to a card that isn't excepting to have one, it can cause problems for that card if it has another ability that costs mana and taps. Specifically, if the mana it produces could pay for part of the other ability's cost, then activating the other ability will be done as if it paid for itself, which gives you free mana. As an example, if you have Chromatic Lantern and Arena in play, then you'll be able to activate its ability for a cost of {2} because the extra {1} is paid by itself even though it shouldn't be.

The idea is completely hypothetical at the moment, not tested at all. There are a few parts to it in order to address both of the above in as many situations as we can without altering thousands of cards.
1: Within the function CW_Mana_AvailabilityHack (explained below), add the given card to a list of cards which have the functionality built-in.
2: When granting a mana ability, do two things. 1) If the card is in that list of cards with the new functions OR if it's a land, then simply call RSN_MarkCanProduceMana() on it with the new colors. The functions will take care of the rest. 2) If it's not, then grant the normal MM ability version.
3: On any land card that has an ability which might suffer like Arena above, add an availability block that returns "CW_Mana_AvailabilityHack("{3}")". ("{3}" would become whatever the ability's mana cost is.) This is a function I just coded which can take the current auto-tap mana ability and add it to the given mana cost and check if it can be afforded.
4: On any mana producing cards, make sure their abilities get the same treatment.
5: Any card which grants an ability with a mana cost AND a {T} cost, add an availability block which calls a modified version of the above function. This modified version would check if the card being granted the ability is either a land or is in the list. If it is, then return true only if the cost plus the current production can be paid. Otherwise, return true (the normal mana cost block will take care of it).

Grant abilities with relevant costs | Open
These will need to have the modified availability block code.
Caribou Range
Claim of Erebos
Dragon Throne of Tarkir
Dual Casting
Ephara's Radiance
Epiphany Storm
Evanescent Intellect
Evil Twin
Gleam of Authority
Leafdrake Roost
Pathway Arrows
Poultice Sliver
Siren Song Lyre
Thornbite Staff
Titan of Eternal Fire
Witches' Eye

Grant mana-producing abilities | Open
These will need to grant only the new color(s) using RSN_MarkCanProduceMana on layer 0 if the target is a land or is in the list.
Abundant Growth
Chromatic Lantern
Citanul Hierophants
Cryptolith Rite
Gemhide Sliver
Joiner Adept
Karametra's Favor
Manaweft Sliver
Multani's Harmony
Paradise Mantle
Rishkar, Peema Renegade
Unbridled Growth
Utopia Vow

Technically fit the above, but aren't compatible with functions | Open
Joraga Treespeaker
Overlaid Terrain
Sachi, Daughter of Seshiro
Sheltered Aerie
Weirding Wood

Lands with innate relevant ability cost | Open
These all need the new availability block function added.
Academy Ruins
Alchemist's Refuge
Ally Encampment
An-Havva Township
Arcane Lighthouse
Arena
Aysen Abbey
Balduvian Trading Post
Bant Panorama
Barbarian Ring
Blighted Cataract
Blighted Fen
Blighted Gorge
Blighted Steppe
Blighted Woodland
Blinkmoth Nexus
Blinkmoth Well
Buried Ruin
Cabal Coffers
Cabal Pit
Calciform Pools
Cascade Bluffs
Castle Sengir
Centaur Garden
Cephalid Coliseum
Contested Cliffs
Contested War Zone
Crucible of the Spirit Dragon
Crypt of Agadeem
Crystal Quarry
Darkwater Catacombs
Daru Encampment
Deserted Temple
Desolate Lighthouse
Dreadship Reef
Duskmantle, House of Shadow
Dust Bowl
Eiganjo Castle
Encroaching Wastes
Esper Panorama
Eye of Ugin
Fetid Heath
Fire-Lit Thicket
Flamekin Village
Flooded Grove
Foundry of the Consuls
Fungal Reaches
Gargoyle Castle
Gavony Township
Geier Reach Sanitarium
Goblin Burrows
Graven Cairns
Grim Backwoods
Grixis Panorama
Grove of the Guardian
Haunted Fengraf
Haven of the Spirit Dragon
Hellion Crucible
Henge of Ramos
Horizon Canopy
Howltooth Hollow
Inventors' Fair
Jund Panorama
Keldon Megaliths
Keldon Necropolis
Kessig Wolf Run
Kher Keep
Kjeldoran Outpost
Kor Haven
Koskun Keep
Krosan Verge
Leechridden Swamp
Madblind Mountain
Mage-Ring Network
Magosi, the Waterveil
Maze's End
Mikokoro, Center of the Sea
Minamo, School at Water's Edge
Miren, the Moaning Well
Mirrorpool
Mistveil Plains
Molten Slagheap
Moonring Island
Moorland Haunt
Mossfire Valley
Mosswort Bridge
Myriad Landscape
Mystic Gate
Mystifying Maze
Naya Panorama
Nephalia Drownyard
Nivix, Aerie of the Firemind
Nomad Stadium
Novijen, Heart of Progress
Nykthos, Shrine to Nyx
Okina, Temple to the Grandfathers
Orzhova, the Church of Deals
Phyrexia's Core
Rath's Edge
Riptide Laboratory
Rishadan Port
Rix Maadi, Dungeon Palace
Rogue's Passage
Rugged Prairie
Safe Haven
Saltcrusted Steppe
Sapseep Forest
School of the Unseen
Sea Gate Wreckage
Seaside Haven
Sequestered Stash
Shadowblood Ridge
Shelldock Isle
Shimmering Grotto
Shinka, the Bloodsoaked Keep
Shivan Gorge
Shizo, Death's Storehouse
Skarrg, the Rage Pits
Skycloud Expanse
Slayers' Stronghold
Sliver Hive
Soldevi Excavations
Spawning Bed
Spinerock Knoll
Springjack Pasture
Starlit Sanctum
Stensia Bloodhall
Sungrass Prairie
Sunhome, Fortress of the Legion
Sunken Ruins
Tectonic Edge
Terminal Moraine
Terrain Generator
Thawing Glaciers
Thespian's Stage
Throne of the High City
Tomb of the Spirit Dragon
Tomb of Urami
Tower of the Magistrate
Twilight Mire
Unholy Grotto
Unknown Shores
Urza's Factory
Vault of the Archangel
Vitu-Ghazi, the City-Tree
Volrath's Stronghold
Warped Landscape
Westvale Abbey//Ormendahl, Profane Prince
Windbrisk Heights
Winding Canyons
Wintermoon Mesa
Wirewood Lodge
Wizards' School
Wooded Bastion
Yavimaya Hollow

Thespian's Stage will need carefully tested.

All lands will need to have the new functions, even if they don't have any ability to normally make use of the new functions directly.
Ideally, all non-land permanents that produce exactly one mana in a way that can be repeated should also have the new functions. Even ones that are MM only at the moment for whatever reason.

This would be a long process, and it would need the functions I described earlier. The main CW_Mana_AvailabilityHack function is already made (but isn't in the CW) and tested (on Abzan Banner), but it would need to be modified a bit before it would be usable.

I wanted to get this all typed out so I could refer back to it later.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 443 times

Re: Nonbasic land (and other mana-producers) updates

Postby Mori » 19 Sep 2020, 11:45

Bug: activated ability of Noble Hierarch (NOBLE_HIERARCH_CW_179434) and Birds of Paradise (BIRDS_OF_PARADISE_CW_221896) ignores the summoning sickness. Probably the same with other creatures that were updated due this theme (Druid of the Anima, Rattleclaw Mystic, Urborg Elf).
Mori
 
Posts: 8
Joined: 29 Aug 2019, 14:16
Has thanked: 0 time
Been thanked: 0 time


Return to 2014

Who is online

Users browsing this forum: No registered users and 5 guests


Who is online

In total there are 5 users online :: 0 registered, 0 hidden and 5 guests (based on users active over the past 10 minutes)
Most users ever online was 1371 on 09 Feb 2020, 16:22

Users browsing this forum: No registered users and 5 guests

Login Form