Page 3 of 5

Re: DotP Universal Generator

PostPosted: 26 Jul 2015, 15:45
by thefiremind
killkong1211 wrote:For some reason my copy isn't detecting plugins.
Any insight guys?
Double check that you also extracted the "python" folder from the zip. I can't think of anything else right now.

Re: DotP Universal Generator

PostPosted: 27 Jul 2015, 15:36
by killkong1211
Seems to have copied properly, but still no luck :(

Re: DotP Universal Generator

PostPosted: 02 Aug 2015, 22:40
by Chakan
killkong1211 wrote:For some reason my copy isn't detecting plugins.
Any insight guys?
I second this. I'm not seeing any plugins either. The python folder is definitely there and there are files inside it. I thought maybe I had it too deep in my computer, so I just put the entire file in C:/, but it still didn't read the python folder so I don't know what's up. I'm running Windows 7, fully updated and I for sure have the .net framework.

Re: DotP Universal Generator

PostPosted: 02 Aug 2015, 23:24
by thefiremind
Chakan wrote:I second this. I'm not seeing any plugins either. The python folder is definitely there and there are files inside it. I thought maybe I had it too deep in my computer, so I just put the entire file in C:/, but it still didn't read the python folder so I don't know what's up. I'm running Windows 7, fully updated and I for sure have the .net framework.
The only other thing that comes to my mind is that I may have screwed up on copying the right DLLs for IronPython. I'm pretty sure those were the ones, but at this point, I'm starting to be doubtful. Could someone try to do the following?
  1. Install IronPython from here: http://ironpython.net/ (hoping that it doesn't check for Visual Studio to be installed, if it does then give up);
  2. In the generator's folder, delete the DLLs except for DotPUniGenEngine.dll;
  3. Run the generator again.
If it works after that, then I have really screwed up on the DLLs.

Re: DotP Universal Generator

PostPosted: 03 Aug 2015, 00:16
by Xander9009
Doing this makes it work properly, but without having IronPython installed, the extracted zip's contents alone do not run. So, it seems this is probably the problem.

EDIT: I tried copying over all of the DLLs packaged with IronPython to the generator's folder (and the DLL folder in its entirety), but the generator still failed.

I instead copied the DLLs from the copy I have that worked before. They all had the same names, but they were different sizes. Not sure why. It worked after that. I've added them here just so you don't have to search out the specific versions you originally used that worked. Not sure why it didn't work when I copied them over from the IronPython installation, though. It seems to me if it was going to work with IronPython installed, and it'll work without it installed if I copy the old version's DLLs, then it should work by copying over the DLLs from the Ironython installation (but doesn't). So, I don't know what's going wrong here, but with these DLLs I've attached, it works. (I hope I didn't make that too confusing...)

Let me know when you've either downloaded it or otherwise don't need it and I'll remove this file to avoid any future problems with people grabbing it.

Re: DotP Universal Generator

PostPosted: 03 Aug 2015, 19:09
by thefiremind
Xander9009 wrote:Let me know when you've either downloaded it or otherwise don't need it and I'll remove this file to avoid any future problems with people grabbing it.
Thanks! I decided to ship those DLLs in a separate ZIP file, so this won't happen again. It's in the first post so you can remove the attachment if you wish.

Re: DotP Universal Generator

PostPosted: 04 Aug 2015, 19:54
by Xander9009
Add a CW specific version of my latest modified output file. It's available in the same post on page 1.

Re: DotP Universal Generator

PostPosted: 08 Aug 2015, 00:17
by Xander9009
I'm not sure what's wrong, but I can't get the batch processing to work. I'm trying to get the templates for all of the origins cards, but it just keeps telling me the batch was terminated without making any cards. I tried it with a txt file with only a single line containing a card name which worked when I copied and pasted it into the card field. I'm not sure what's going wrong. Here's the list of the remaining cards if anyone can get it to work. If you can't, I'll do the rest individually. It's not exactly difficult, but since there is a batch processing feature (thank you again :) ), I figure I'll see if anyone can do it through that first.

| Open
Grasp of the Hieromancer
Hallowed Moonlight
Healing Hands
Heavy Infantry
Knight of the White Orchid
Knightly Valor
Mighty Leap
Murder Investigation
Patron of the Valiant
Relic Seeker
Sentinel of the Eternal Watch
Sigil of the Empty Throne
Stalwart Aven
Starfield of Nyx
Suppression Bonds
Swift Reckoning
Topan Freeblade
Tragic Arrogance
Valor in Akros
Vryn Wingmare
War Oracle
Yoked Ox
Blightcaster
Catacomb Slug
Consecrated by Blood
Cruel Revival
Dark Dabbling
Dark Petition
Deadbridge Shaman
Demonic Pact
Despoiler of Souls
Disciple of the Ring
Disperse
Displacement Wave
Dreadwaters
Eyeblight Assassin
Eyeblight Massacre
Faerie Miscreant
Fetid Imp
Fleshbag Marauder
Gnarlroot Trapper
Harbringer of the Tides
Hydrolash
Jhessian Thief
Maritime Guard
Mizzium Meddler
Negate
Nivix Barrier
Psychic Rebuttal
Ringwarden Owl
Scrapskin Drake
Screeching Skaab
Send to Sleep
Seperatist Voidmage
Sigiled Starfish
Skaab Goliath
Soulblade Djinn
Stratus Walk
Talent of the Telepath
Thopter Spy Network
Tower Geist
Turn to Frog
Watercourser
Whirler Rogue
Willbreaker
Weight of the Underworld
Unholy Hunger
Undead Servant
Touch of Moonglove
Tormented Thoughts
Thornbow Archer
Tainted Remedy
Shambling Ghoul
Shadows of the Past
Revenant
Returned Centaur
Reave Soul
Read the Bones
Rabid Bloodsucker
Priest of the Blood Rite
Nightsnare
Necromantic Summons
Nantuko Husk
Malakir Cullblade
Macabre Waltz
Languish
Infinite Obliteration
Infernal Scarring
Graveblade Marauder
Glory Chaser
Ghirapur Gearcrafter
Flameshadow Conjuring
Firefiend Elemental
Fiery Impulse
Fiery Conclusion
Exquisite Firecraft
Enthralling Victor
Embermaw Hellion
Dragon Fodder
Demolish
Cobblebrute
Call of the Full Moon
Boggart Brute
Bellows Lizard
Avaricious Dragon
Akroan Sergeant
Act of Treason
Acolyte of the Inferno
Abbot of Keral Keep
Volcanic Rambler
Timberpack Wolf
Thopter Engineer
The Great Aurora
Sylvan Messenger
Subterranean Scout
Somberwald Alpha
Smash to Smithereens
Skysnare Spider
Skyraker Giant
Seismic Elemental
Rhox Maulers
Reclaim
Ravaging Blaze
Prickleboar
Pia and Kiran Nalaar
Outland Colossus
Orchard Spirit
Molten Vortex
Might of the Masses
Mantle of Webs
Managorger Hydra
Magmatic Insight
Llanowar Empath
Lightning Javelin
Leaf Gilder
Joraga Invocation
Infectious Bloodlust
Honored Hierarch
Hitchclaw Recluse
Herald of the Pantheon
Goblin Piledriver
Gather the Pack
Evolutionary Leap
Elvish Visionary
Elemental Bond
Conclave Naturalists
Caustic Caterpillar
Aerial Volley
Zendikar Incarnate
Woodland Bellower
Wild Instincts
War Horn
Vine Snare
Vastwood Gorger
Valeron Wardens
Undercity Troll
Titanic Growth
Thunderclap Wyvern
Throwing Knife
Sword of the Animist
Sigil of Valor
Shaman of the Pack
Runed Servitor
Reclusive Artificer
Ramroller
Prism Ring
Possessed Skaab
Orbs of Warding
Meteorite
Llanowar Wastes
Jayemdae Tome
Helmet of the Gods
Hangarback Walker
Guardians of Meletis
Guardian Automaton
Gold-Forged Sentinel
Foundry of the Consuls
Evolving Wilds
Citadel Castellan
Chief of the Foundry
Caves of Koilos
Bounding Krasis
Bonded Construct
Blazing Hellhound
Battlefield Forge
Yavimaya Coast
Weave Fate
Terra Stomper
Shivan Reef
Serra Angel
Sengir Vampire
Prized Unicorn
Plummet
Nightmare
Mind Rot
Mahamoti Djinn
Into the Void
Flesh to Dust
Eagle of the Watch
Divine Verdict
Aegis Angel


Nevermind. I finally got it to work by downloading again and running it that way and it worked.

Re: DotP Universal Generator

PostPosted: 09 Aug 2015, 06:36
by Xander9009
Just wanted to say that I've got a lot more abilities added to the generator. I haven't uploaded the file yet, but it seems to be working really well, still. I haven't seen any bugs (except a single instance of an ability's end tag having one space instead of two... Not exactly game breaking...).
Abilities:
  • Outlast (Was added previously but didn't work and I couldn't figure out why; works now)
  • Renown
  • Bolster
  • Menace
  • Prowess
  • Rebound
  • Exploit
  • Dash
  • Attacks each turn if able
  • Put counters (any kind) on this card
  • You gain/lose life
  • Draw cards
  • Scry

Costs:
  • Pay life
  • Sacrifice this card
  • Discard a creature/land/artifact card

Triggers:
  • A creature deals combat damage to you
  • This creature becomes blocked
  • This creature blocks
  • This creature attacks
  • A creature/creature you control dies
  • A spell is cast
  • You cast a creature/enchantment/noncreature/artifact spell

I'll get it uploaded tomorrow, but I want to first get a copy that is not meant for the CW so I can upload them at the same time.

EDIT: I didn't forget this, I just delayed it. I've now added simple "enchanted/equipped creature" abilities yesterday and got about half of what I want for mana abilities. It can currently properly code a creature with any number of abilities that produce mana without an option for what kind (Aysen Abbey), but if you get an option, it currently doesn't work. I'm planning to fix that today, and then set up a token creation system. THanks to the standardized token naming I set up in the CW, it only has to know the main keywords and test if there's a special ability or not, so it shouldn't be too difficult.

EDIT2: Just wanted to say that the mana is now working the way it should. It can now fully auto-code Aysen Abbey, Simic Cluestone, Jeskai Banner, Archaeological Dig, and Cascade Bluffs*. It can also partially handle Cabal Ritual (it doesn't know what to do with the threshold ability at all, but it also adds a few extraneous mana related abilities it doesn't need to for the first ability).

*Cascade Bluffs uses {h}, which I've also given the generator the ability to understand. It should correctly convert all combinations of hybrid mana and phyrexian mana except maybe white phyrexian. There isn't an example card, so its short code is either M or H. I went with H, but it's a 50/50 guess.

With the mana working, I'm going to focus on token creation, and then I think I'll be done with this for awhile.

EDIT3:

I've just finished with the token creation. It does not understand special token creation such as X/X tokens, tokens with special abilities (though it may code the token creation, it will likely need fixed), putting a token onto the battlefield under someone else's control, and other rare situations. However, it can handle creating up to 10 (very easily expanded). It can handle any simple abilities, such as flying, first strike, haste, and so on. It can only handle tokens that are one or two colors, no more (colorless counting as one for this purpose).

Cards tested: Abzan Ascendancy, Acorn Harvest (although this messed up for completely unrelated reasons, only the text is wrong; the code is alright), Aerie Worshippers (the inspired code was ignored, but the token creation and registration was done), Ambassador Oak, and Benthicore. All worked as expected.

I'll be uploading this in the same place as the others (first page, there's a link in the first post). Let me know if it behaves strangely. I've added a LOT of stuff, so I wouldn't be surprised if I missed one or two bad interactions. I've also learned a lot more Python than I really set out to. :lol:

Re: DotP Universal Generator

PostPosted: 18 Aug 2015, 11:46
by Xander9009
Alright, so I uploaded 1.5 a couple of days ago, but I'm uploading 1.6 now.

----For 1.5----
I've made a few changes to how the AUTHOR tags are handled.

For the modified version: If the UserName variable is left blank (which is the default), then it does nothing. Otherwise, it will add the tags. So, they're now optional for the modified version whereas before they simply weren't considered.

For the CW, those tags are required, so for that version, if it's left blank, it'll default to "thefiremind, Xander9009" (in other words, either go change it or we get all the credit for its automated creation :P ).

The modified version can't do tokens because token names weren't standardizes until the CW. Aside from those two differences (and of course CW in the filename and artid), the two are identical. Note that the mana production abilities use sumomole's function for displaying the mana pool, so that is required or you'll need to remove it (to remove it from all future cards, search for and remove all instances of "S_DisplayManaPool(EffectController())" (there are 4).



----For 1.6----
I've changed the author tags and stuff for 1.6 as well. However, there's now no longer a CW and non-CW version. There's now only the X99 version, and it will remain this way from now on, I think. There are now two variables instead of one at the top. One for UserName and one for CommunityWad. CommunityWad is set to True by default. If it is true and UserName is left blank (default), it will, as before, be marked as created by TFM and me, noting its automated creation. Fill in the UserName field to remove this. If you set the CommunityWad variable to False (make sure it's capitalized or Python may not understand it properly; I'm not certain), then the tokens are disabled, the AUTHOR tags are not created unless UserName is filled, and CW is not added to the FileName or ArtID tags.

Other changes include a HUGE overhaul of how abilities are handled. Specifically, any ability that relies on text in the ability itself (such as Renown 2 relies on the 2 to know how specifically to code the ability) now uses the framework TFM made and which I hadn't fully understood before. It was actually incredibly simple and straightforward, but I didn't realize that before. This makes everything more standard and hopefully stable.

Mana abilities have been reworked. It can now handle 1, 2, 3, or 5 option mana abilities, and it can handle single choice mana abilities that produce a combination of mana. Any others will be left uncoded.

I've also reworked how counter abilities work using the framework TFM made which I mentioned before. It can now handle any kind of counter, so it will not need updated because a new counter type has been introduced.

A few other minor changes which I frankly don't remember.

Now that there's only one version at a time, rather than two, it should be a bit simpler. There were a couple of bugs in the last one, too. (I had the wrong trigger being fired for when a creature becomes renowned, not that that matters since all renown cards are done.)

Re: DotP Universal Generator

PostPosted: 24 Aug 2015, 01:56
by Xander9009
Hey firemind, I noticed that when I make some auras, the ability type is marked as an activated ability instead of a spell ability with attach_definition.

Code: Select all
dicPatternHeaders = dict([
   (r'^Enchant creature$', '<ACTIVATED_ABILITY>'),
   (r'^Enchant creature\W', '<SPELL_ABILITY attach_definition="0">'),
   (r'^Flashback\W', '<UTILITY_ABILITY qualifier="Flashback" active_zone="ZONE_GRAVEYARD">'),
   (r'^Replicate\W', '<UTILITY_ABILITY qualifier="Replicate">')
])
I'm not sure why it's set up that way, but it seems odd to me. I'm hesitant to change it though, 'cause I don't wan to break anything. Do you remember why you set it up that way (that's copied from your plugin, not my modified one). For example, Mantle of Webs gets an activated enchant creature ability.

Re: DotP Universal Generator

PostPosted: 24 Aug 2015, 08:29
by thefiremind
Xander9009 wrote:Hey firemind, I noticed that when I make some auras, the ability type is marked as an activated ability instead of a spell ability with attach_definition.

I'm not sure why it's set up that way, but it seems odd to me. I'm hesitant to change it though, 'cause I don't wan to break anything. Do you remember why you set it up that way (that's copied from your plugin, not my modified one). For example, Mantle of Webs gets an activated enchant creature ability.
I can't remember... it may be just a copy-and-paste leftover. I think it's safe to fix it.

Re: DotP Universal Generator

PostPosted: 28 Aug 2015, 14:35
by NJelbow
Hey guys!

TFM, thanks for all your hard work and everything, you've actually made a mediocre game into a really awesome game.

The only problem is, and maybe I'm the only one, I have no clue how to actually create my own cards past the BASIC INFO section of your tutorial.

Do you think that you can point me to something on YouTube or maybe make a list of things that you need to do in order to add your created cards in game? Perhaps a complete tutorial on how to make a card from start to implementation?

Re: DotP Universal Generator

PostPosted: 28 Aug 2015, 14:51
by thefiremind
NJelbow wrote:Do you think that you can point me to something on YouTube or maybe make a list of things that you need to do in order to add your created cards in game? Perhaps a complete tutorial on how to make a card from start to implementation?
If you are modding DotP2014 I'd suggest you to start from these 2 tutorials:
viewtopic.php?f=64&t=11752
viewtopic.php?f=64&t=12167

Re: DotP Universal Generator

PostPosted: 07 Sep 2015, 23:04
by Xander9009
Quick question: is there a reason not to use 4 digit prefixes? I know that Riiak does, so I'd suspect not. If there's not, would it be possible to have the generator accept 3 or 4 digit prefixes?