It is currently 19 Jul 2019, 18:32
   
Text Size

Formal Request Thread

Moderators: Xander9009, CCGHQ Admins

Re: Formal Request Thread

Postby Xander9009 » 14 May 2016, 06:06

Finnical wrote:Oath of Nissa please.
Not possible, sorry. It's the reason that one wasn't done in the first place.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2887
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 119 times
Been thanked: 437 times

Re: Formal Request Thread

Postby Borborigmos » 14 May 2016, 07:41

Xander9009 wrote:
Finnical wrote:Oath of Nissa please.
Not possible, sorry. It's the reason that one wasn't done in the first place.
I've seen Oath of Nissa in action in the champion deck from the other day and 9 out 10 times it was used for the search ability, not the mana ability. Maybe that part can be coded?

Also, could you please code Scout's Warning? :)
Borborigmos
 
Posts: 90
Joined: 13 Apr 2015, 16:24
Has thanked: 25 times
Been thanked: 4 times

Re: Formal Request Thread

Postby Xander9009 » 14 May 2016, 21:12

Borborigmos wrote:
Xander9009 wrote:
Finnical wrote:Oath of Nissa please.
Not possible, sorry. It's the reason that one wasn't done in the first place.
I've seen Oath of Nissa in action in the champion deck from the other day and 9 out 10 times it was used for the search ability, not the mana ability. Maybe that part can be coded?

Also, could you please code Scout's Warning? :)
Sure thing. Both have been coded but are untested. They'll be available in the next repack. Let me know if they don't work. Oath of Nissa has a note on the second ability that it doesn't function.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2887
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 119 times
Been thanked: 437 times

Re: Formal Request Thread

Postby Xander9009 » 14 May 2016, 22:02

These have been added. Keep in mind that we do not have a function to remove creatures from combat. Someone came up with a clever way to manage it: forcing regeneration. When a creature regenerates, it's removed from combat. So, grant regeneration, deal lots of damage to it, and it should be removed from combat.

I've turned this into a function which checks if it can be regenerated (makes sure "remove from combat" doesn't turn into "commit suicide" if it's been targeted with Engulfing Flames). If it can't regenerated, it instead tries to force a temporary control switch.

Neither of these will work flawlessly in all situations. If Gustcloak Runner has been targeted by Engulfing Flames while you have a Glorious Anthem, for instance, it'll fail. It can't be regenerated because of Engulfing Flames. So, instead, it switches control to an opponent (or teammate). The moment it does, it'll die since its toughness reverts to 1 and it already has 1 damage.

By and large, though, it should theoretically work in nearly all situations.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2887
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 119 times
Been thanked: 437 times

Re: Formal Request Thread

Postby MasterXploder7 » 15 May 2016, 06:33

Xander9009 wrote:
Finnical wrote:Oath of Nissa please.
Not possible, sorry. It's the reason that one wasn't done in the first place.
I am completely unaware if this would work, but could there be an approximation that allowed the card to grant to all planeswalkers being cast as having all colored mana symbols removed and replaced with colorless? for instance Jace Beleren costs {1} {U} {U} and the approximation would technically make the payed cost {3} instead of 2 blue and 1 colorless. Daxos of Meletis and Psychic Intrusion had similar problems when they were requested (especially since the prior was heavily used in tourneys). This would work especially well if all it did was change the mana cost to the chosen card's converted mana cost in colorless but keep the color. I keep going back and forth on the possibility, perhaps there could be an activated ability on Oath of Nissa to allow for payment as though the mana cost were colorless (for instance: 1 activate ability 2 select planeswalker in your hand 3 tap mana/cast planeswalker).
"Hate is an everlasting wellspring from which it is eternally sustained." - Nirkana Revenant
MasterXploder7
 
Posts: 265
Joined: 18 Jan 2014, 10:55
Has thanked: 20 times
Been thanked: 7 times

Re: Formal Request Thread

Postby Xander9009 » 15 May 2016, 18:27

MasterXploder7 wrote:
Xander9009 wrote:
Finnical wrote:Oath of Nissa please.
Not possible, sorry. It's the reason that one wasn't done in the first place.
I am completely unaware if this would work, but could there be an approximation that allowed the card to grant to all planeswalkers being cast as having all colored mana symbols removed and replaced with colorless? for instance Jace Beleren costs {1} {U} {U} and the approximation would technically make the payed cost {3} instead of 2 blue and 1 colorless. Daxos of Meletis and Psychic Intrusion had similar problems when they were requested (especially since the prior was heavily used in tourneys). This would work especially well if all it did was change the mana cost to the chosen card's converted mana cost in colorless but keep the color. I keep going back and forth on the possibility, perhaps there could be an activated ability on Oath of Nissa to allow for payment as though the mana cost were colorless (for instance: 1 activate ability 2 select planeswalker in your hand 3 tap mana/cast planeswalker).
Search the forums for Mycosynth Lattice. It's been discussed at length, including the above suggestion. It's not possible to keep it rule compliant; it will always have very prominent gaps between what it does and what it should do. I don't like the idea of coding cards with such loosely working approximations. It leads to newer people complaining when the card doesn't work right. With some things like really complicated mechanics, I'm okay with that, since I can just say "delve is really complicated and will never work quite right", but I didn't even code most of those mechanics. Delve, convoke, morph, phasing, restricted mana. While I helped with a few of them to a small-ish extent, they were all done by NeoAnderson.

After all of SOI is done being tested (and OGW, which still needs two sections of cards tested), I'll see if I can go over the discussions about Mycosynth Lattice and try and figure a way to make it work. One of the issues, if I remember was Converge and Sunburst. I'll add it to my to-do list.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2887
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 119 times
Been thanked: 437 times

Re: Formal Request Thread

Postby Xander9009 » 15 May 2016, 18:40

zysron wrote:ok the next post wont be fore a couple of days i'm going to go through all my cards and the comunity wad and will post them all at once most of these are ... about 2013 core and older.

should i post each version ie Vivid Craig / Vivid Creek or can i post one for an example for the rest that follow?

also i'm pretty sure i can guess why a card like
Mindslaver
isnt in the wad being its takeing over an opponents turn... might not work so well or if it does work will be some very heavy coding to get it to work right...
but yes i have scrwed up someones whole plan with a this...

ok last edit then i get to work

your gonna see some cards you are going to want to play with... some will be easily possible others may not be but i have to at least state one more card on this post

Doubling Cube
Doubling Cube is done... Been awhile since the request. I just noticed it on my to-do list. It's on a separate sub-list I had forgotten about (along with Sigil Captain, but I'd actually done that one).
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2887
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 119 times
Been thanked: 437 times

Re: Formal Request Thread

Postby Borborigmos » 17 May 2016, 08:58

May I please request the series:

Anavolver
Cetavolver
Degavolver
Rakavolver
Necravolver

If you want to only code 1 or 2 I might be able to do the other with some copy/paste. I think I'm struggling with the general structure. Once I have one card coded, I think the rest should be easier.

Thanks!
Borborigmos
 
Posts: 90
Joined: 13 Apr 2015, 16:24
Has thanked: 25 times
Been thanked: 4 times

Re: Formal Request Thread

Postby Borborigmos » 17 May 2016, 18:27

I also got the arts for them. Unfortunately, all 5 low res.
Borborigmos
 
Posts: 90
Joined: 13 Apr 2015, 16:24
Has thanked: 25 times
Been thanked: 4 times

Re: Formal Request Thread

Postby Xander9009 » 18 May 2016, 13:48

Borborigmos wrote:May I please request the series:

Anavolver
Cetavolver
Degavolver
Rakavolver
Necravolver

If you want to only code 1 or 2 I might be able to do the other with some copy/paste. I think I'm struggling with the general structure. Once I have one card coded, I think the rest should be easier.

Thanks!
Anavolver is done. It's been added to the CW. If you'd like to get started on the others now before it repacks, here's the code.

Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="ANAVOLVER_CW_25951" />
   <CARDNAME text="ANAVOLVER" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Anavolien]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Vela-Modulon]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Anavolvero]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Anavolver]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="25951" />
   <ARTID value="ANAVOLVER" />
   <ARTIST name="Matt Cavotta" />
   <CASTING_COST cost="{3}{G}" />
   <TYPE metaname="Creature" />
   <SUB_TYPE metaname="Volver" />
   <EXPANSION value="AP" />
   <RARITY metaname="R" />
   <POWER value="3" />
   <TOUGHNESS value="3" />
   <UTILITY_ABILITY qualifier="Kicker" linked_ability_group="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Kicker {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Kick {1}{U} et/ou {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Estímulo {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bonus {1}{U} und/oder {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Potenziamento {1}{U} e/o {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[キッカー {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Kicker {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Усилитель {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Reforçar {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[Kicker {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Kicker {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <COST type="Generic">
         <PREREQUISITE>
            return EffectController():CanPayManaCost("{1}{U}") or EffectController():CanPayManaCost("{B}")
         </PREREQUISITE>
         <RESOLUTION_TIME_ACTION>
            local ChoiceSet = 0
            if EffectController():CanPayManaCost("{1}{U}{B}") then
               ChoiceSet = 3
            elseif EffectController():CanPayManaCost("{1}{U}") then
               ChoiceSet = 1
            elseif EffectController():CanPayManaCost("{B}") then
               ChoiceSet = 2
            end
            LinkedDC():Set_Int(0, ChoiceSet)
            if ChoiceSet == 3 then
               EffectController():BeginNewMultipleChoice()
                  EffectController():AddMultipleChoiceAnswer("KICKER_QUERY_ANAVOLVER_U_COST")
                  EffectController():AddMultipleChoiceAnswer("KICKER_QUERY_ANAVOLVER_B_COST")
                  EffectController():AddMultipleChoiceAnswer("KICKER_QUERY_ANAVOLVER_BOTH")
               EffectController():AskMultipleChoiceQuestion("KICKER_QUERY_ANAVOLVER")
            end
         </RESOLUTION_TIME_ACTION>
         <RESOLUTION_TIME_ACTION>
            local ChoiceSet = LinkedDC():Get_Int(0)
            local Choice = EffectController():GetMultipleChoiceResult()
            if (ChoiceSet == 1 or (ChoiceSet == 3 and Choice == 0)) and EffectController():CanPayManaCost("{1}{U}") then
               EffectController():PayManaCost("{1}{U}")
               LinkedDC():Set_Int(0, 1)
            elseif (ChoiceSet == 2 or (ChoiceSet == 3 and Choice == 1)) and EffectController():CanPayManaCost("{B}") then
               EffectController():PayManaCost("{B}")
               LinkedDC():Set_Int(0, 2)
            elseif ChoiceSet == 3 and Choice == 2 and EffectController():CanPayManaCost("{1}{U}{B}") then
               EffectController():PayManaCost("{1}{U}{B}")
               LinkedDC():Set_Int(0, 3)
            else
               LinkedDC():Set_Int(0, 0)
            end
         </RESOLUTION_TIME_ACTION>
      </COST>
      <ABILITY_TEXT tag="KICKER_QUERY_ANAVOLVER_KICKED" secondary_tag="KICKER_QUERY_ANAVOLVER_UNKICKED" />
   </UTILITY_ABILITY>
   <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION" linked_ability_group="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Si vous avez payé le coût de kick de {1}{U}, l’Anavolien arrive en jeu avec deux marqueurs +1/+1 sur lui et a le vol.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Falls du die {1}{U} Bonuskosten bezahlt hast, kommt das Vela-Modulon mit zwei +1/+1-Marken ins Spiel und hat Flugfähigkeit.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se hai pagato il costo di potenziamento {1}{U}, l’Anavolvero entra in gioco con due segnalini +1/+1 su di esso e ha volare.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD">
         return LinkedDC():Get_Int(0) == 1 or LinkedDC():Get_Int(0) == 3
      </TRIGGER>
      <RESOLUTION_TIME_ACTION>
         if EffectSource() ~= nil then
            EffectSource():AddCounters(MTG():PlusOnePlusOneCounters(), 2)
         end
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION" linked_ability_group="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Si vous avez payé le coût de kick de {B}, l’Anavolien arrive en jeu avec un marqueur +1/+1 sur lui et a « Payez 3 points de vie : Régénérez l’Anavolien ».]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Falls du die {B} Bonuskosten bezahlt hast, kommt das Vela-Modulon mit einer +1/+1-Marke ins Spiel und hat „Bezahle 3 Lebenspunkte: Regeneriere das Vela-Modulon.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se hai pagato il costo di potenziamento {B}, l’Anavolvero entra in gioco con un segnalino +1/+1 su di esso e ha “Paga 3 punti vita: Rigenera l’Anavolvero”.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD">
         return LinkedDC():Get_Int(0) == 2 or LinkedDC():Get_Int(0) == 3
      </TRIGGER>
      <RESOLUTION_TIME_ACTION>
         if EffectSource() ~= nil then
            EffectSource():AddCounters(MTG():PlusOnePlusOneCounters(), 1)
         end
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <STATIC_ABILITY linked_ability_group="1">
      <CONTINUOUS_ACTION layer="6">
         if EffectSource() ~= nil then
            local KickerPaid = LinkedDC():Get_Int(0)
            if KickerPaid == 1 or KickerPaid == 3 then
               EffectSource():GetCurrentCharacteristics():Bool_Set(CHARACTERISTIC_FLYING, 1)
            end
            if KickerPaid == 2 or KickerPaid == 3 then
               EffectSource():GetCurrentCharacteristics():GrantAbility(0)
            end
         end
      </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
   <ACTIVATED_ABILITY resource_id="0">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pay 3 life: Regenerate Anavolver.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Payez 3 points de vie : Régénérez l’Anavolien.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pagar 3 vidas: Regenera el Anavolver.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bezahle 3 Lebenspunkte: das Vela-Modulon.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Paga 3 punti vita: Rigenera l’Anavolvero.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Pay 3 life: Regenerate Anavolver.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Pay 3 life: Regenerate Anavolver.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Pay 3 life: Regenerate Anavolver.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Pague 3 pontos de vida: Regenere el Anavolver.]]></LOCALISED_TEXT>
      <COST type="Life" amount="3" />
      <RESOLUTION_TIME_ACTION>
         if EffectSource() ~= nil then
            EffectSource():GiveRegeneration()
         end
      </RESOLUTION_TIME_ACTION>
      <AI_AVAILABILITY window_step="declare_blockers" type="window" window_in_combat="1" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY type="restriction" restriction_type="no_regeneration_shield" />
      <AI_MODIFIERS combat_immunity="1" />
   </ACTIVATED_ABILITY>
   <SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
   <SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
   <AUTHOR><![CDATA[Xander9009]]></AUTHOR>
   <EDITORS><![CDATA[Xander9009]]></EDITORS>
   <DATE><![CDATA[17-05-16]]></DATE>
</CARD_V2>
Note that I did test this and it seemed to work. The normal kicker option appears if and only if one or both of the kicker costs can be paid. If both can be paid, it asks which one to pay or both. LinkedDC():Get_Int(0) will be 1, 2, or 3 if it's paid.
1 means the first kicker cost was paid.
2 means the second kicker cost was paid.
3 means both kicker costs were paid.

I tested all combinations of being able to pay different ones and choosing one, the other, or both. They all worked.

The art is actually already included like most all other art not from new sets. You'll have to check if what's already included is better or worse quality than what you found, though.
Last edited by Xander9009 on 18 May 2016, 18:55, edited 1 time in total.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2887
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 119 times
Been thanked: 437 times

Re: Formal Request Thread

Postby Borborigmos » 18 May 2016, 18:52

Wow Xander, that's amazing. I'll get right on that. Thanks!

Edit: I have coded the remaining 4 and have emailed them to you. I think they work fine, thank you very much.
Borborigmos
 
Posts: 90
Joined: 13 Apr 2015, 16:24
Has thanked: 25 times
Been thanked: 4 times

Aura Barbs

Postby migookman » 23 May 2016, 02:43

Code: Select all
 <FILTER filter_id="1">
         local filter = ClearFilter()
         filter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
      </FILTER>
      <RESOLUTION_TIME_ACTION filter_id="1">
         if FilteredCard() ~= nil then
            FilteredCard():DealDamageTo( 2, FilteredCard():GetPlayer() )
         end
      </RESOLUTION_TIME_ACTION>
   </SPELL_ABILITY>
        <SPELL_ABILITY>
                  <RESOLUTION_TIME_ACTION>
         if EffectSource() ~= nil then
            local filter = ClearFilter()
            filter:Add( FE_SUBTYPE, OP_IS, ENCHANTMENT_TYPE_AURA )
            local Total = filter:EvaluateObjects()
            local Count = 0
            for i=0,Total-1 do
               local Aura = filter:GetNthEvaluatedObject(i)
               if Aura ~= nil then
                  local Parent = Aura:GetParent()
                  if Parent ~= nil and Parent:GetCardType():Test( CARD_TYPE_CREATURE ) then
                     EffectSource()DealDamageTo(2, Parent)
                  end
               end
            end
                          end
      </RESOLUTION_TIME_ACTION>
               </SPELL_ABILITY>
Having some difficulty coding the second part of Aura Barbs.
User avatar
migookman
 
Posts: 132
Joined: 05 Aug 2014, 06:37
Has thanked: 20 times
Been thanked: 22 times

Re: Aura Barbs

Postby Xander9009 » 23 May 2016, 02:56

migookman wrote:
Code: Select all
 <FILTER filter_id="1">
         local filter = ClearFilter()
         filter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
      </FILTER>
      <RESOLUTION_TIME_ACTION filter_id="1">
         if FilteredCard() ~= nil then
            FilteredCard():DealDamageTo( 2, FilteredCard():GetPlayer() )
         end
      </RESOLUTION_TIME_ACTION>
   </SPELL_ABILITY>
        <SPELL_ABILITY>
                  <RESOLUTION_TIME_ACTION>
         if EffectSource() ~= nil then
            local filter = ClearFilter()
            filter:Add( FE_SUBTYPE, OP_IS, ENCHANTMENT_TYPE_AURA )
            local Total = filter:EvaluateObjects()
            local Count = 0
            for i=0,Total-1 do
               local Aura = filter:GetNthEvaluatedObject(i)
               if Aura ~= nil then
                  local Parent = Aura:GetParent()
                  if Parent ~= nil and Parent:GetCardType():Test( CARD_TYPE_CREATURE ) then
                     EffectSource()DealDamageTo(2, Parent)
                  end
               end
            end
                          end
      </RESOLUTION_TIME_ACTION>
               </SPELL_ABILITY>
Having some difficulty coding the second part of Aura Barbs.
This line is missing a colon "EffectSource()DealDamageTo(2, Parent)" -> "EffectSource():DealDamageTo(2, Parent)".
However, the source of damage shouldn't be EffectSource(), and it shouldn't matter if EffectSource() is nil.

Try this.
Code: Select all
<SPELL_ABILITY>
   <FILTER filter_id="0">
      local filter = ClearFilter()
      filter:Add(FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT)
   </FILTER>
   <RESOLUTION_TIME_ACTION filter_id="0">
      if FilteredCard() ~= nil then
         FilteredCard():DealDamageTo(2, FilteredCard():GetController())
      end
   </RESOLUTION_TIME_ACTION>
   <FILTER filter_id="1">
      local filter = ClearFilter()
      filter:Add(FE_SUBTYPE, OP_IS, ENCHANTMENT_TYPE_AURA)
   </FILTER>
   <RESOLUTION_TIME_ACTION filter_id="1">
      if FilteredCard() ~= nil and FilteredCard():GetParent() ~= nil and FilteredCard():GetParent():GetCardType():Test(CARD_TYPE_CREATURE) then
         FilteredCard():DealDamageTo(2, FilteredCard():GetParent())
      end
   </RESOLUTION_TIME_ACTION>
</SPELL_ABILITY>
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2887
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 119 times
Been thanked: 437 times

Re: Formal Request Thread

Postby migookman » 23 May 2016, 03:55

Thanks Xander, it is working well now.
User avatar
migookman
 
Posts: 132
Joined: 05 Aug 2014, 06:37
Has thanked: 20 times
Been thanked: 22 times

Re: Formal Request Thread

Postby migookman » 23 May 2016, 13:24

Xander9009 wrote:
Borborigmos wrote:May I please request the series:

Anavolver
Cetavolver
Degavolver
Rakavolver
Necravolver

If you want to only code 1 or 2 I might be able to do the other with some copy/paste. I think I'm struggling with the general structure. Once I have one card coded, I think the rest should be easier.

Thanks!
Anavolver is done. It's been added to the CW. If you'd like to get started on the others now before it repacks, here's the code.

Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
   <FILENAME text="ANAVOLVER_CW_25951" />
   <CARDNAME text="ANAVOLVER" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Anavolien]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Vela-Modulon]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Anavolvero]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[Anavolver]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Anavolver]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="25951" />
   <ARTID value="ANAVOLVER" />
   <ARTIST name="Matt Cavotta" />
   <CASTING_COST cost="{3}{G}" />
   <TYPE metaname="Creature" />
   <SUB_TYPE metaname="Volver" />
   <EXPANSION value="AP" />
   <RARITY metaname="R" />
   <POWER value="3" />
   <TOUGHNESS value="3" />
   <UTILITY_ABILITY qualifier="Kicker" linked_ability_group="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Kicker {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Kick {1}{U} et/ou {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Estímulo {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bonus {1}{U} und/oder {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Potenziamento {1}{U} e/o {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[キッカー {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Kicker {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Усилитель {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Reforçar {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[Kicker {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[Kicker {1}{U} and/or {B}]]></LOCALISED_TEXT>
      <COST type="Generic">
         <PREREQUISITE>
            return EffectController():CanPayManaCost("{1}{U}") or EffectController():CanPayManaCost("{B}")
         </PREREQUISITE>
         <RESOLUTION_TIME_ACTION>
            local ChoiceSet = 0
            if EffectController():CanPayManaCost("{1}{U}{B}") then
               ChoiceSet = 3
            elseif EffectController():CanPayManaCost("{1}{U}") then
               ChoiceSet = 1
            elseif EffectController():CanPayManaCost("{B}") then
               ChoiceSet = 2
            end
            LinkedDC():Set_Int(0, ChoiceSet)
            if ChoiceSet == 3 then
               EffectController():BeginNewMultipleChoice()
                  EffectController():AddMultipleChoiceAnswer("KICKER_QUERY_ANAVOLVER_U_COST")
                  EffectController():AddMultipleChoiceAnswer("KICKER_QUERY_ANAVOLVER_B_COST")
                  EffectController():AddMultipleChoiceAnswer("KICKER_QUERY_ANAVOLVER_BOTH")
               EffectController():AskMultipleChoiceQuestion("KICKER_QUERY_ANAVOLVER")
            end
         </RESOLUTION_TIME_ACTION>
         <RESOLUTION_TIME_ACTION>
            local ChoiceSet = LinkedDC():Get_Int(0)
            local Choice = EffectController():GetMultipleChoiceResult()
            if (ChoiceSet == 1 or (ChoiceSet == 3 and Choice == 0)) and EffectController():CanPayManaCost("{1}{U}") then
               EffectController():PayManaCost("{1}{U}")
               LinkedDC():Set_Int(0, 1)
            elseif (ChoiceSet == 2 or (ChoiceSet == 3 and Choice == 1)) and EffectController():CanPayManaCost("{B}") then
               EffectController():PayManaCost("{B}")
               LinkedDC():Set_Int(0, 2)
            elseif ChoiceSet == 3 and Choice == 2 and EffectController():CanPayManaCost("{1}{U}{B}") then
               EffectController():PayManaCost("{1}{U}{B}")
               LinkedDC():Set_Int(0, 3)
            else
               LinkedDC():Set_Int(0, 0)
            end
         </RESOLUTION_TIME_ACTION>
      </COST>
      <ABILITY_TEXT tag="KICKER_QUERY_ANAVOLVER_KICKED" secondary_tag="KICKER_QUERY_ANAVOLVER_UNKICKED" />
   </UTILITY_ABILITY>
   <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION" linked_ability_group="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Si vous avez payé le coût de kick de {1}{U}, l’Anavolien arrive en jeu avec deux marqueurs +1/+1 sur lui et a le vol.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Falls du die {1}{U} Bonuskosten bezahlt hast, kommt das Vela-Modulon mit zwei +1/+1-Marken ins Spiel und hat Flugfähigkeit.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se hai pagato il costo di potenziamento {1}{U}, l’Anavolvero entra in gioco con due segnalini +1/+1 su di esso e ha volare.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.]]></LOCALISED_TEXT>
      <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD">
         return LinkedDC():Get_Int(0) == 1 or LinkedDC():Get_Int(0) == 3
      </TRIGGER>
      <RESOLUTION_TIME_ACTION>
         if EffectSource() ~= nil then
            EffectSource():AddCounters(MTG():PlusOnePlusOneCounters(), 2)
         end
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_TRANSITION" linked_ability_group="1">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Si vous avez payé le coût de kick de {B}, l’Anavolien arrive en jeu avec un marqueur +1/+1 sur lui et a « Payez 3 points de vie : Régénérez l’Anavolien ».]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Falls du die {B} Bonuskosten bezahlt hast, kommt das Vela-Modulon mit einer +1/+1-Marke ins Spiel und hat „Bezahle 3 Lebenspunkte: Regeneriere das Vela-Modulon.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Se hai pagato il costo di potenziamento {B}, l’Anavolvero entra in gioco con un segnalino +1/+1 su di esso e ha “Paga 3 punti vita: Rigenera l’Anavolvero”.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with “Pay 3 life: Regenerate Anavolver.”]]></LOCALISED_TEXT>
      <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD">
         return LinkedDC():Get_Int(0) == 2 or LinkedDC():Get_Int(0) == 3
      </TRIGGER>
      <RESOLUTION_TIME_ACTION>
         if EffectSource() ~= nil then
            EffectSource():AddCounters(MTG():PlusOnePlusOneCounters(), 1)
         end
      </RESOLUTION_TIME_ACTION>
   </TRIGGERED_ABILITY>
   <STATIC_ABILITY linked_ability_group="1">
      <CONTINUOUS_ACTION layer="6">
         if EffectSource() ~= nil then
            local KickerPaid = LinkedDC():Get_Int(0)
            if KickerPaid == 1 or KickerPaid == 3 then
               EffectSource():GetCurrentCharacteristics():Bool_Set(CHARACTERISTIC_FLYING, 1)
            end
            if KickerPaid == 2 or KickerPaid == 3 then
               EffectSource():GetCurrentCharacteristics():GrantAbility(0)
            end
         end
      </CONTINUOUS_ACTION>
   </STATIC_ABILITY>
   <ACTIVATED_ABILITY resource_id="0">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pay 3 life: Regenerate Anavolver.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Payez 3 points de vie : Régénérez l’Anavolien.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pagar 3 vidas: Regenera el Anavolver.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bezahle 3 Lebenspunkte: das Vela-Modulon.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Paga 3 punti vita: Rigenera l’Anavolvero.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Pay 3 life: Regenerate Anavolver.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Pay 3 life: Regenerate Anavolver.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Pay 3 life: Regenerate Anavolver.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Pague 3 pontos de vida: Regenere el Anavolver.]]></LOCALISED_TEXT>
      <COST type="Life" amount="3" />
      <RESOLUTION_TIME_ACTION>
         if EffectSource() ~= nil then
            EffectSource():GiveRegeneration()
         end
      </RESOLUTION_TIME_ACTION>
      <AI_AVAILABILITY window_step="declare_blockers" type="window" window_in_combat="1" />
      <AI_AVAILABILITY type="in_response" response_source="1" />
      <AI_AVAILABILITY type="restriction" restriction_type="no_regeneration_shield" />
      <AI_MODIFIERS combat_immunity="1" />
   </ACTIVATED_ABILITY>
   <SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
   <SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
   <AUTHOR><![CDATA[Xander9009]]></AUTHOR>
   <EDITORS><![CDATA[Xander9009]]></EDITORS>
   <DATE><![CDATA[17-05-16]]></DATE>
</CARD_V2>
Note that I did test this and it seemed to work. The normal kicker option appears if and only if one or both of the kicker costs can be paid. If both can be paid, it asks which one to pay or both. LinkedDC():Get_Int(0) will be 1, 2, or 3 if it's paid.
1 means the first kicker cost was paid.
2 means the second kicker cost was paid.
3 means both kicker costs were paid.

I tested all combinations of being able to pay different ones and choosing one, the other, or both. They all worked.

The art is actually already included like most all other art not from new sets. You'll have to check if what's already included is better or worse quality than what you found, though.
Could split cards (e.g. Assault//Battery) be coded this way also?
User avatar
migookman
 
Posts: 132
Joined: 05 Aug 2014, 06:37
Has thanked: 20 times
Been thanked: 22 times

PreviousNext

Return to 2014

Who is online

Users browsing this forum: No registered users and 4 guests


Who is online

In total there are 4 users online :: 0 registered, 0 hidden and 4 guests (based on users active over the past 10 minutes)
Most users ever online was 287 on 31 Mar 2019, 04:11

Users browsing this forum: No registered users and 4 guests

Login Form