Open spjspj opened 6 years ago
!!!WARNING!!! Don't broke the game and don't add bloating code to game engine. It's a very dangerous set and non legal in any official standards (yeah, I known about some cards legality in commander until mid-January). If game haven't necessary ability, then don't implement it. Technical debt is very bad thing.
I recommend to create check list "possible/unpossible to implement" in xmage.
These are the ones that are slightly implementable (aka I've taken out ones that have keywords such as watermark, reminder text, 'copy text box' etc. For the 'Host' creature ones I was thinking we could either implement it without the 'Host' part (as I also didn't list the 'Augment' type cards) or just not at all (unless someone wants to implement it).
But Crow Storm is eminently implementable/playable and way cooler than Empty the Warrens. We also have the Star Wars Set as an example of an existing set which is non-standard.
I think Crow Storm is the only one we really need to be honest.
If we want to do die rolls we'll want to add an infrastructure for it to allow for cards that modify them or trigger off of them. I can't say I really want to though, I'd rather start with the voting matters cards from Conspiracy first.
Also counting words in names shouldn't be hard to do.
Die rolls already used before game start. Why you can't use it? Random safe the world.
Well I just mean so that we can have things which trigger off of and modify the results of die rolls. Just rolling a die is whatever, but making them interact with each other is another matter.
Can you show card's example with modified roll's result?
Found only that (one or two rolls):
Can't find Dr. Julius Jumblemorph card in todo list. It's already implemented by xmage in Mistform Ultimus card. People want it (by CCG forums).
Dr. Julius Jumblemorph is every creature type (even if this card isn’t on the battlefield).
^^ Noone's implemented Host/Augment yet so I didn't bother adding it to the list.
Its not all about the Host/Augment abillity. A G/W Changeling makes an awesome commander.
What are the chances to see the other Legendary creatures too? The big idea appears doable to me...
Yes, the big idea is doable. It's not really a good thing to add a semi-implemented card.
I dont see an issue with implementing him this way. Since we dont have augment cards yet all he will do is to shuffle your lib. Which also seems to be easy to implement. Nobody will be upset if its done this way :)
(and I will be happy)
I've made Infinity Elemental, or at least the closest approximation possible within the current engine to my knowledge - its power constantly hovers at Integer.MAX_VALUE and is unchangeable by boost effects unless a "set power" effect (such as Sorceress Queen) overwrites it - this is predominantly intended to prevent integer overflows. I've tested it with boost effects and set P/T effects, please have a look whether I missed anything important: 8bc9ae1
@Zzooouhh Java can't handle integer overflow at all.
If xmage got overflow "error" then you can't find it and app/server will work at normal but with wrong values. It's a bad thing.
Search xmage code and found Integer.MAX_VALUE
in many sources. Try to test Infinity Elemental with single and double strike on Terrifying Presence or another damage prevention card (it have PreventionEffectImpl with max int -- if Infinity Elemental can kill that creature then it's a bug).
@JayDi85 Damage prevention correctly negates all the damage Infinity Elemental would deal. What however makes it behave badly is damage value modifying effects (Dictate of the Twin Gods, etc.), double strike damage if the first hit isn't lethal, "gain life equal to this creature's power" type effects, and . All of these are probably solvable by just including an integer overflow check on PlayerImpl.gainLife and PlayerImpl.loseLife (maybe also PlayerImpl.doDamage, which would probably be redundant), I'll try to drum up something similar in the next few commits.
All Sets
https://magic.wizards.com/en/products/unstable
Requires Augment / Host
Not Done Yet:
In Progress :
Done :