any way to make a target: player spell target only caster? I want to play against a deck i made w 4 beacons of immortality but atm it targets opponent.
I tried removing the target made game collapse.
Tried target: controller but couldn't find any target, and finally target: player controller had no effect.
alternatively could someone post the coding for beacon of immortality? might be able to figure something out from that.
this would be nifty for a number of spells if there is/were to be an easy way to modify spells this way. There are quite a few spells that the AI doesn't quite get.
selfcast
Re: selfcast
Hi,
Beacon of immortality is partly hardcoded, the target line however is coded in the mtg.txt within your primtives folder, if you change it on your local copy it will also affect your game and not only the AI.
The "alias" line make reference to an alias coded directly in the source code of the game, and cannot be modified without C++ coding.
Normally chaging the line "target=player" to "target=controller" should do the trick... maybe your issue was related to the fact that you put ":" instead of "=" in your code. Anyway there is no card that currently use such line of code so it might not be supported at all (however I don't see why since target=opponent is reported working...)
If it really doesn't work you can alternatively try the following with no assurance at all (in fact I really doubt) that it would work
target=player,-opponent
or
target=player[-opponent]
Good luck
Abra
Beacon of immortality is partly hardcoded, the target line however is coded in the mtg.txt within your primtives folder, if you change it on your local copy it will also affect your game and not only the AI.
Code: Select all
[card]
name=Beacon of Immortality
target=player
alias=130553
text=Double target player's life total. Shuffle Beacon of Immortality into its owner's library.
mana={5}{W}
type=Instant
[/card]
Normally chaging the line "target=player" to "target=controller" should do the trick... maybe your issue was related to the fact that you put ":" instead of "=" in your code. Anyway there is no card that currently use such line of code so it might not be supported at all (however I don't see why since target=opponent is reported working...)
If it really doesn't work you can alternatively try the following with no assurance at all (in fact I really doubt) that it would work
target=player,-opponent
or
target=player[-opponent]
Good luck
Abra
We need your Help !!!
New to wagic ? Be sure to check the following :
Bug report: Bug reporting
Help us: Add cards & Compiling.
Customize: Themes FAQ, All images thread, Abra's Mediafire folder
New to wagic ? Be sure to check the following :
Bug report: Bug reporting
Help us: Add cards & Compiling.
Customize: Themes FAQ, All images thread, Abra's Mediafire folder
Re: selfcast
auto=life:lifetotal <---this would be you
auto=life:opponentlifetotal <---this would be for opponent...
so if you wanted it to always double the "casters" of the card, use auto=life:lifetotal
this card can actually be fully soft coded.
enjoy.
auto=life:opponentlifetotal <---this would be for opponent...
so if you wanted it to always double the "casters" of the card, use auto=life:lifetotal
this card can actually be fully soft coded.
enjoy.
Re: selfcast
Hi zeth,
Apart from the fact that you are absolutely right and this is much more elegant solution to the problem of rawsugar, I would be against the softcoding of this card, since if you want to code it with lifetotal keyword you will need to remove the target line and use a choice() coding style, that I would consider as a workaround, since it could be that card that have "whenever you are the target" or "you cannot be the target"... etc... should not be triggered by a choice() coding style... at least that how it is suppose to be, please feel free to change it if you think that this would not impact the game at all, since we want to reduce the overall number of hardcoded line (when not all of them at least for the alias)...
So rawsugar... you should open your mtg.txt, find beacon of immortality and replace the existing code by:
that should do the trick...
Grüssi
Abra
Apart from the fact that you are absolutely right and this is much more elegant solution to the problem of rawsugar, I would be against the softcoding of this card, since if you want to code it with lifetotal keyword you will need to remove the target line and use a choice() coding style, that I would consider as a workaround, since it could be that card that have "whenever you are the target" or "you cannot be the target"... etc... should not be triggered by a choice() coding style... at least that how it is suppose to be, please feel free to change it if you think that this would not impact the game at all, since we want to reduce the overall number of hardcoded line (when not all of them at least for the alias)...
So rawsugar... you should open your mtg.txt, find beacon of immortality and replace the existing code by:
Code: Select all
[card]
name=Beacon of Immortality
auto=life:lifetotal
auto=moveto(mylibrary) && shuffle
text=Double target player's life total. Shuffle Beacon of Immortality into its owner's library.
mana={5}{W}
type=Instant
[/card]
Grüssi
Abra
We need your Help !!!
New to wagic ? Be sure to check the following :
Bug report: Bug reporting
Help us: Add cards & Compiling.
Customize: Themes FAQ, All images thread, Abra's Mediafire folder
New to wagic ? Be sure to check the following :
Bug report: Bug reporting
Help us: Add cards & Compiling.
Customize: Themes FAQ, All images thread, Abra's Mediafire folder
Re: selfcast
i will be creating a method to return targetted varibles to Wparsedint so it can determine lifetotal that way, when i do add this lifetotal will be useable with target= line. which would make it 100%, its not really highest on my proirity list tho, im fine with it being hardcoded for right now. until then.
Re: selfcast
hey all, thx for the replies.
without target the game crashes and =controller cant find target. The best solution so far has been
target=player[-opponent]
auto=life:lifetotal
this does the trick which is weird since i can still cast it on opponent but apparently AI cant/doesnt
it does cause some few bugs tho, some graphic glitches and about 10% chance of a fizzle. But it works so thx:)
btw the deck is
4 lifeburst 1W gain 4 life+4 for each lifeburst in gy
4 sunspring expedition W and landfall*3 gain 8 life
4 lone missionary 1W 2/1 gain 4 life
4 kitchen finks 2W 3/2 etc
4 beacon of immortality
4 meekstone
4 day of judgment
4 wrath of god
4 armageddon clock 6 each upkeep put counter deals 1 dmg pr counter to both players
20 plains
4 kabira crossroads (white land) comes into play tapped, gain 2 life
its fun to play and dang hard to beat:) (unless ofc youre playing a deplete deck...pretty much rapes this deck obviously...and ofc 4 destroy artifacts will render it unable to damage. But I at least dont include such in most of my decks)
without target the game crashes and =controller cant find target. The best solution so far has been
target=player[-opponent]
auto=life:lifetotal
this does the trick which is weird since i can still cast it on opponent but apparently AI cant/doesnt
it does cause some few bugs tho, some graphic glitches and about 10% chance of a fizzle. But it works so thx:)
btw the deck is
4 lifeburst 1W gain 4 life+4 for each lifeburst in gy
4 sunspring expedition W and landfall*3 gain 8 life
4 lone missionary 1W 2/1 gain 4 life
4 kitchen finks 2W 3/2 etc
4 beacon of immortality
4 meekstone
4 day of judgment
4 wrath of god
4 armageddon clock 6 each upkeep put counter deals 1 dmg pr counter to both players
20 plains
4 kabira crossroads (white land) comes into play tapped, gain 2 life
its fun to play and dang hard to beat:) (unless ofc youre playing a deplete deck...pretty much rapes this deck obviously...and ofc 4 destroy artifacts will render it unable to damage. But I at least dont include such in most of my decks)