Page 1 of 2

Magic Origins

PostPosted: 15 Jun 2015, 20:40
by emerald000
Post which cards you are working on implementing.

I'll be working on green cards.

Re: Magic Origins

PostPosted: 16 Jun 2015, 05:23
by emerald000
I am not sure how to properly return the new Nissa as a planeswalker. I tried using the same technique as Loyal Cathar to set it transformed after putting the card on the battlefield, but that doesn't work. The EtB ability of the front face triggers and the loyalty counters aren't being put.

I guess it will need an overhaul of the putOntoBattlefield method which I am not really comfortable doing. Should I push the semi-working version of it so you could test a fix?

No clue how to do Joraga Invocation either. It doesn't seem possible to make the rule-modifying effect with the current implementation of RequirementEffect.

Re: Magic Origins

PostPosted: 16 Jun 2015, 07:15
by LevelX
emerald000 wrote:I am not sure how to properly return the new Nissa as a planeswalker. I tried using the same technique as Loyal Cathar to set it transformed after putting the card on the battlefield, but that doesn't work. The EtB ability of the front face triggers and the loyalty counters aren't being put.

I guess it will need an overhaul of the putOntoBattlefield method which I am not really comfortable doing. Should I push the semi-working version of it so you could test a fix?
Sure, It's anyway on my list to check this.

emerald000 wrote:No clue how to do Joraga Invocation either. It doesn't seem possible to make the rule-modifying effect with the current implementation of RequirementEffect.
What's the reason you can't use a normal RequirementEffect effect?

Re: Magic Origins

PostPosted: 16 Jun 2015, 07:30
by emerald000
LevelX wrote:
emerald000 wrote:No clue how to do Joraga Invocation either. It doesn't seem possible to make the rule-modifying effect with the current implementation of RequirementEffect.
What's the reason you can't use a normal RequirementEffect effect?
Unless I misunderstood RequirementEffect (not impossible since the names of the methods are far from optimal), it seems like there is no way to force your whole team to be blocked if able; I can only see how to do it for a single creature. You can't create a bunch of effects for each creature either as it applies also to creatures entering the battlefield after the spell resolves.

Re: Magic Origins

PostPosted: 16 Jun 2015, 10:16
by LevelX
emerald000 wrote:
LevelX wrote:
emerald000 wrote:No clue how to do Joraga Invocation either. It doesn't seem possible to make the rule-modifying effect with the current implementation of RequirementEffect.
What's the reason you can't use a normal RequirementEffect effect?
Unless I misunderstood RequirementEffect (not impossible since the names of the methods are far from optimal), it seems like there is no way to force your whole team to be blocked if able; I can only see how to do it for a single creature. You can't create a bunch of effects for each creature either as it applies also to creatures entering the battlefield after the spell resolves.
I guess you need only one requirement effect that returns true for mustBlock() and have to check in the applies() method if the controller of the effect is the active player (so he is the only player that can attack).
So all permanents that are creatures of an opponent (in range of the controller) have to block => so the applies() method of this reqirement effect has to return true.

Re: Magic Origins

PostPosted: 16 Jun 2015, 18:26
by emerald000
LevelX wrote:
emerald000 wrote:Unless I misunderstood RequirementEffect (not impossible since the names of the methods are far from optimal), it seems like there is no way to force your whole team to be blocked if able; I can only see how to do it for a single creature. You can't create a bunch of effects for each creature either as it applies also to creatures entering the battlefield after the spell resolves.
I guess you need only one requirement effect that returns true for mustBlock() and have to check in the applies() method if the controller of the effect is the active player (so he is the only player that can attack).
So all permanents that are creatures of an opponent (in range of the controller) have to block => so the applies() method of this reqirement effect has to return true.
That's not how the card works though. You have to block all creatures, not all creatures have to block. If you have more defenders than attackers, you will be able to leave some creatures back. Also, you can't gang-block a creature if that leaves another creature unblocked, since you could satisfy that requirement.

Re: Magic Origins

PostPosted: 16 Jun 2015, 22:08
by LevelX
emerald000 wrote:
LevelX wrote:
emerald000 wrote:Unless I misunderstood RequirementEffect (not impossible since the names of the methods are far from optimal), it seems like there is no way to force your whole team to be blocked if able; I can only see how to do it for a single creature. You can't create a bunch of effects for each creature either as it applies also to creatures entering the battlefield after the spell resolves.
I guess you need only one requirement effect that returns true for mustBlock() and have to check in the applies() method if the controller of the effect is the active player (so he is the only player that can attack).
So all permanents that are creatures of an opponent (in range of the controller) have to block => so the applies() method of this reqirement effect has to return true.
That's not how the card works though. You have to block all creatures, not all creatures have to block. If you have more defenders than attackers, you will be able to leave some creatures back. Also, you can't gang-block a creature if that leaves another creature unblocked, since you could satisfy that requirement.
You're right, the the mustBlock() has to return false, but the mustBlockAttackerIfElseUnblocked() method has to return true.

Look at the MustBeBlockedByAtLeastOneTargetEffect class as example and apply it to all opponent creatures of the controller of Joraga Invocation.

The check which block is legal or violates the least possible number of requirements has to be done from the combat logic (which can probably be improved, but that's another story).

Re: Magic Origins

PostPosted: 20 Jun 2015, 22:20
by tself55
Hixus, Prison Warden is currently a 4/44 instead of the correct stats 4/4 in the collection viewer.

Re: Magic Origins

PostPosted: 20 Jun 2015, 23:35
by LevelX
tself55 wrote:Hixus, Prison Warden is currently a 4/44 instead of the correct stats 4/4 in the collection viewer.
Hard to kill by damage.
It's fixed now, thanks for the hint.

Re: Magic Origins

PostPosted: 23 Jun 2015, 01:22
by fireshoes
Working on Archangel of Tithes,

Going camping for the holiday, be back in ~48 hours!

Re: Magic Origins

PostPosted: 04 Jul 2015, 09:06
by LevelX
All missing cards 2015-07-04 22:30 CET

WHITE
- Complete

BLUE
- Complete

BLACK
- Complete

RED
- Complete

GREEN
- Complete

MULTI
- Complete

ARTIFACTS
- Complete

LANDS
- Complete

Re: Magic Origins

PostPosted: 04 Jul 2015, 15:55
by LoneFox
I have added some artifacts and black cards to my fork of the git repository.

Re: Magic Origins

PostPosted: 04 Jul 2015, 18:34
by Julia
I submitted a pull request containing Acolyte of the Inferno, Ghirapur AEther Grid, Mage-Ring Bully, Prickleboar and Thopter Engineer.

*edit: Ampryn Tactician, Aven Battle Priest, Enlightened Ascetic and Healing Hands have also been implemented, and submitted through a second pull request.

Re: Magic Origins

PostPosted: 04 Jul 2015, 20:31
by LevelX

Re: Magic Origins

PostPosted: 05 Jul 2015, 07:10
by LoneFox
Foundry of the Consuls and Mage-Ring Network are implemented in my repository. I also finally got Grab the Reins working properly, it needed tha same fix as Wild Instincts.

Edit: Added Call of the Full Moon, Embermaw Hellion, Sword of the Animist, and Throwing Knife.

LevelX: Updated the list