It is currently 29 Apr 2024, 00:44
   
Text Size

Help with "Vines of Vastwood"

Moderator: CCGHQ Admins

Help with "Vines of Vastwood"

Postby Emashzed » 12 Aug 2012, 16:38

I'm having trouble with Vines of Vastwood. :oops:
It all looks good to me but the kicker never takes effect, and I can't for the life of me see the problem :

Code: Select all
<?xml version='1.0'?>
<CARD_V2>
  <FILENAME text="VINES_OF_VASTWOOD_177571" />
  <CARDNAME text="VINES_OF_VASTWOOD" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Vines of Vastwood]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Viticci di Boscovasto]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ranken des Riesenholzes]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vignes de Vastebois]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Enredaderas del Bosque Extenso]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[巨森の蔦]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Vines of Vastwood]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Лианы Широколесья]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Trepadeira de Matavasta]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="177571" />
  <ARTID value="888177571" />
  <ARTIST name="Christopher Moeller" />
  <CASTING_COST cost="{G}" />
  <TYPE metaname="Instant" />
  <EXPANSION value="DPG" />
  <RARITY metaname="C" />
  <UTILITY_ABILITY filter_zone="ZONE_IN_PLAY">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Kicker {G} (You may pay an additional {G} as you cast this spell.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Potenziamento {G} (Puoi pagare {G} addizionale quando lanci questa magia.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bonus {G} (Du kannst zusätzlich {G} bezahlen, sowie du diesen Zauberspruch wirkst.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Kick {G} (Vous pouvez payer {G} supplémentaire au moment où vous lancez ce sort.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Estímulo {G}. (Puedes pagar {G} adicional en cuanto lances este hechizo.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[キッカー {G} (あなたはこの呪文を唱えるに際し、追加で{G}を支払ってもよい。)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Kicker {G} (You may pay an additional {G} as you cast this spell.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Усилитель {G} (Вы можете заплатить дополнительно {G} при разыгрывании этого заклинания.)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Reforçar {G} (Você pode pagar um custo adicional de {G} ao conjurar esta mágica.)]]></LOCALISED_TEXT>
    <COST type="Mana" cost="{G}" qualifier="Kicker" />
  </UTILITY_ABILITY>
  <SPELL_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Target creature can't be the target of spells or abilities your opponents control this turn. If Vines of Vastwood was kicked, that creature gets +4/+4 until end of turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Una creatura bersaglio non può essere bersaglio di magie o abilità controllate dai tuoi avversari in questo turno. Se i Viticci di Boscovasto sono stati potenziati, quella creatura prende +4/+4 fino alla fine del turno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Eine Kreatur deiner Wahl kann in diesem Zug nicht das Ziel von Zaubersprüchen und Fähigkeiten, die deine Gegner kontrollieren, sein. Falls die Bonuskosten von Ranken des Riesenholzes bezahlt wurden, erhält diese Kreatur +4/+4 bis zum Ende des Zuges.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[La créature ciblée ne peut pas être la cible de sorts ou de capacités que vos adversaires contrôlent ce tour-ci. Si les Vignes de Vastebois ont été kickées, cette créature gagne +4/+4 jusqu'à la fin du tour.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[La criatura objetivo no puede ser objetivo de hechizos o habilidades que controlen tus oponentes este turno. Si las Enredaderas del Bosque Extenso fueron estimuladas, esa criatura obtiene +4/+4 hasta el final del turno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[クリーチャー1体を対象とする。このターン、それはあなたの対戦相手がコントロールする呪文や能力の対象にならない。 巨森の蔦がキッカーされている場合、そのクリーチャーはターン終了時まで+4/+4の修整を受ける。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Target creature can't be the target of spells or abilities your opponents control this turn. If Vines of Vastwood was kicked, that creature gets +4/+4 until end of turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Целевое существо не может быть целью заклинаний или способностей под контролем ваших оппонентов в этом ходу. Если Лианы Широколесья получили Усилитель, тогда то существо получает +4/+4 до конца хода.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[A criatura alvo não pode ser alvo de mágicas nem de habilidades que seus oponentes controlam neste turno. Se Trepadeira de Matavasta foi reforçado, aquela criatura recebe +4/+4 até o final do turno.]]></LOCALISED_TEXT>
    <TARGET_DEFINITION id="0">
    local filter = Object():GetFilter()
    filter:Clear()
    filter:AddCardType( CARD_TYPE_CREATURE )
    filter:SetZone( ZONE_IN_PLAY )
    filter:SetHint( HINT_ALLIED_ONLY, EffectController() )
    </TARGET_DEFINITION>
    <TARGET_DETERMINATION>
    return AtLeastOneTargetFromDefinition(0)
    </TARGET_DETERMINATION>
    <PLAY_TIME_ACTION target_choosing="1">
    if ( Object():Kicked() &gt; 0 ) then
       EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CREATURE_TO_GET_4_4_HEXPROOF", EffectDC():Make_Targets(0) )
   else
       EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CREATURE_TO_GET_HEXPROOF", EffectDC():Make_Targets(0) )
   end
    </PLAY_TIME_ACTION>
    <CONTINUOUS_ACTION layer="7C">
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       if ( Object():Kicked() &gt; 0 ) then
          local characteristics = target:GetCurrentCharacteristics()
          characteristics:Power_Add( 4 )
          characteristics:Toughness_Add( 4 )
       end
    end
    </CONTINUOUS_ACTION>
    <CONTINUOUS_ACTION layer="6">
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       local characteristics = target:GetCurrentCharacteristics()
       characteristics:Characteristic_Set( CHARACTERISTIC_HEXPROOF, 1 )
    end
    </CONTINUOUS_ACTION>
    <DURATION simple_duration="UntilEOT" />
  </SPELL_ABILITY>
  <AI_AVAILABILITY step="declare_blockers" />
  <AI_AVAILABILITY type="in_response_dangerous" />
  <AI_BASE_SCORE score="750" zone="ZONE_HAND" />
</CARD_V2>
Even the query shows the unkicked label.
That must really be something silly, but I can't find it :(
Emashzed
 
Posts: 62
Joined: 02 Feb 2011, 15:19
Has thanked: 15 times
Been thanked: 30 times

Re: Help with "Vines of Vastwood"

Postby thefiremind » 12 Aug 2012, 18:03

First problem: the query shows the unkicked label because Object():Kicked() gets its value only on resolution, so you can delete the kicked version of the query because you'll never see it.

The other problem is that Object():Kicked() will lose its value after resolution and the continuous action will be updated in real time to reflect this, so you have to save the value somewhere else, similarly to the code for Chameleon Colossus. Try this way:
Code: Select all
    <RESOLUTION_TIME_ACTION>
    if ( Object():Kicked() &gt; 0 ) then
       EffectDC():Set_Int(1, 4)
    else
       EffectDC():Set_Int(1, 0)
    end
    </RESOLUTION_TIME_ACTION>
    <CONTINUOUS_ACTION layer="7C">
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       local bonus = EffectDC():Get_Int(1)
       local characteristics = target:GetCurrentCharacteristics()
       characteristics:Power_Add( bonus )
       characteristics:Toughness_Add( bonus )
    end
    </CONTINUOUS_ACTION>
P.S.: No, it wasn't something silly... even the developers inserted variables in continuous actions that update in real time, that's how they bugged Mutilate. :lol:
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 721 times

Re: Help with "Vines of Vastwood"

Postby Emashzed » 12 Aug 2012, 18:24

Ah yes, this works good ! Thanks thefiremint.

Seems I can also merge the PLAY_TIME_ACTION and RESOLUTION_TIME_ACTION to get the correct query.

Code: Select all
<RESOLUTION_TIME_ACTION>
    if ( Object():Kicked() &gt; 0 ) then
       EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CREATURE_TO_GET_4_4_HEXPROOF", EffectDC():Make_Targets(0) )
       EffectDC():Set_Int(1, 4)
    else
       EffectController():ChooseTarget( 0, "CARD_QUERY_CHOOSE_CREATURE_TO_GET_HEXPROOF", EffectDC():Make_Targets(0) )
       EffectDC():Set_Int(1, 0)
    end
    </RESOLUTION_TIME_ACTION>
but that's bad right ? (I could never find documentation about these *_ACTION tags, so I'm going a bit thru trial and error)

I'm guessing that's something about PLAY_TIME_ACTION occuring during cast time, and RESOLUTION_TIME_ACTION if cast is successful ?
Emashzed
 
Posts: 62
Joined: 02 Feb 2011, 15:19
Has thanked: 15 times
Been thanked: 30 times

Re: Help with "Vines of Vastwood"

Postby thefiremind » 12 Aug 2012, 18:44

It would be against the rules of Magic, because when you need to choose a target you have to do it before resolution (you can't even cast something that has no legal targets).
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 721 times

Re: Help with "Vines of Vastwood"

Postby Emashzed » 12 Aug 2012, 18:48

I understand.
Thanks a lot for the help !
(shame about the query though :( )
Emashzed
 
Posts: 62
Joined: 02 Feb 2011, 15:19
Has thanked: 15 times
Been thanked: 30 times

Re: Help with "Vines of Vastwood"

Postby thefiremind » 12 Aug 2012, 19:14

You can always make a query like "Choose a creature that gains hexproof (and gets +4/+4 if the spell was kicked)". I usually don't pay too much attention to the query messages... yes, they are useful to some extent, but when you are the one who plays the card, you should know what it does. :wink:
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 721 times

Re: Help with "Vines of Vastwood"

Postby BlindWillow » 18 Sep 2012, 18:41

Don't know if solutions were already found, but here's the code I came up with. (Note: Vines of Vastwood doesn't add Hexproof. If you cast it on an opponent's creature, they should not be able to target their own creature with spells then. That wouldn't happen with Hexproof.)

As thefiremind points out, the big problem is that the Object():Kicked() argument ends up being wiped with everything else when the card leaves ZONE_STACK. So, I ended up using delayed triggers for both abilities.

Here's the code:
Code: Select all
<UTILITY_ABILITY filter_zone="ZONE_IN_PLAY">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Kicker {G}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Kick {G}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Estímulo {G}.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bonus {G}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Potenziamento {G}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[キッカー {G}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Kicker {G}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Усилитель {G}]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Reforçar {G}]]></LOCALISED_TEXT>
    <COST type="Mana" cost="{G}" qualifier="Kicker" />
  </UTILITY_ABILITY>
  <SPELL_ABILITY filter_zone="ZONE_IN_PLAY">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Target creature can’t be the target of spells or abilities your opponents control this turn. If Vines of Vastwood was kicked, that creature gets +4/+4 until end of turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Una creatura bersaglio non può essere bersaglio di magie o abilità controllate dai tuoi avversari in questo turno. Se i Viticci di Boscovasto sono stati potenziati, quella creatura prende +4/+4 fino alla fine del turno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Eine Kreatur deiner Wahl kann in diesem Zug nicht das Ziel von Zaubersprüchen und Fähigkeiten, die deine Gegner kontrollieren, sein. Falls die Bonuskosten von Ranken des Riesenholzes bezahlt wurden, erhält diese Kreatur +4/+4 bis zum Ende des Zuges.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[La créature ciblée ne peut pas être la cible de sorts ou de capacités que vos adversaires contrôlent ce tour-ci. Si les Vignes de Vastebois ont été kickées, cette créature gagne +4/+4 jusqu’à la fin du tour.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[La criatura objetivo no puede ser objetivo de hechizos o habilidades que controlen tus oponentes este turno. Si las Enredaderas del Bosque Extenso fueron estimuladas, esa criatura obtiene +4/+4 hasta el final del turno.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[クリーチャー1体を対象とする。このターン、それはあなたの対戦相手がコントロールする呪文や能力の対象にならない。 巨森の蔦がキッカーされている場合、そのクリーチャーはターン終了時まで+4/+4の修整を受ける。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Target creature can’t be the target of spells or abilities your opponents control this turn. If Vines of Vastwood was kicked, that creature gets +4/+4 until end of turn.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Целевое существо не может быть целью заклинаний или способностей под контролем ваших оппонентов в этом ходу. Если Лианы Широколесья получили Усилитель, тогда то существо получает +4/+4 до конца хода.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[A criatura alvo não pode ser alvo de mágicas nem de habilidades que seus oponentes controlam neste turno. Se Trepadeira de Matavasta foi reforçado, aquela criatura recebe +4/+4 até o final do turno.]]></LOCALISED_TEXT>
    <TARGET_DEFINITION id="0">
    local filter = Object():GetFilter()
    filter:Clear()
    filter:AddCardType( CARD_TYPE_CREATURE )
    filter:SetZone( ZONE_IN_PLAY )
    filter:SetHint( HINT_ALLIED_ONLY, EffectController() )
    </TARGET_DEFINITION>
    <TARGET_DETERMINATION>
    return AtLeastOneTargetFromDefinition(0)
    </TARGET_DETERMINATION>
    <PLAY_TIME_ACTION target_choosing="1">
    EffectController():ChooseTarget( 0, "1138_QUERY_CHOOSE_CREATURE", EffectDC():Make_Targets(0) )
    </PLAY_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
   local delayDC = EffectDC():Make_Chest(1)
   delayDC:Set_CardPtr(0, target)
   MTG():CreateDelayedTrigger(1, delayDC)
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if (target ~= nil and Object():Kicked() ~= 0) then
   local delayDC = EffectDC():Make_Chest(2)
   delayDC:Set_CardPtr(0, target)
   MTG():CreateDelayedTrigger(2, delayDC)
    end
    </RESOLUTION_TIME_ACTION>
  </SPELL_ABILITY>
  <TRIGGERED_ABILITY internal="1" pre_trigger="1" resource_id="1">
    <CLEANUP simple_cleanup="EndOfTurn" />
    <TRIGGER value="CARD_CONSIDERED_FOR_TARGETTING">
    if TriggerObject() == EffectDC():Get_CardPtr(0) then
   if SecondaryObject():GetController():GetTeam() ~= EffectController():GetTeam() then
      return true
   end
    end
    return false
    </TRIGGER>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY internal="1" resource_id="2">
    <CLEANUP simple_cleanup="EndOfTurn" />
    <TRIGGER value="SPELL_RESOLVED" simple_qualifier="self">
    return TriggerObject() == Object()
    </TRIGGER>
    <CONTINUOUS_ACTION layer="7C">
    local target = EffectDC():Get_CardPtr(0)
    if target ~= nil then
   local characteristics = target:GetCurrentCharacteristics()
   characteristics:Power_Add( 4 )
   characteristics:Toughness_Add( 4 )
    end
    </CONTINUOUS_ACTION>
    <DURATION simple_duration="UntilEOT" />
  </TRIGGERED_ABILITY>
Here are the kicker queries I came up with (any corrections for translation are most welcome):
Code: Select all
   <Row>
    <Cell><Data ss:Type="String">KICKER_QUERY_VINES_OF_VASTWOOD_KICKED</Data></Cell>
    <Cell ss:Index="3"><Data ss:Type="String">Target creature gets +4/+4 and can’t be the target of spells or abilities your opponents control.</Data></Cell>
    <Cell><Data ss:Type="String">La créature ciblée gagne +4/+4 et ne peut pas être la cible de sorts ou de capacités que vos adversaires contrôlent.</Data></Cell>
    <Cell><Data ss:Type="String">La criatura objetivo obtiene +4/+4 y no puede ser objetivo de hechizos o habilidades que controlen tus oponentes.</Data></Cell>
    <Cell><Data ss:Type="String">Eine Kreatur deiner Wahl erhält +4/+4 und kann nicht das Ziel von Zaubersprüchen und Fähigkeiten.</Data></Cell>
    <Cell><Data ss:Type="String">Una creatura bersaglio prende +4/+4 e non può essere bersaglio di magie o abilità controllate dai tuoi avversari.</Data></Cell>
    <Cell ss:Index="9"><Data ss:Type="String">クリーチャー1体を対象とする。+4/+4の修整を受けるとともにそれはあなたの対戦相手がコントロールする呪文や能力の対象にならない。</Data></Cell>
    <Cell><Data ss:Type="String">Target creature gets +4/+4 and can’t be the target of spells or abilities your opponents control.</Data></Cell>
    <Cell><Data ss:Type="String">Целевое существо получает +4/+4 и не может быть целью заклинаний или способностей под контролем ваших оппонентов.</Data></Cell>
    <Cell><Data ss:Type="String">A criatura alvo recebe +4/+4 e não pode ser alvo de mágicas nem de habilidades que seus oponentes controlam.</Data></Cell>
   </Row>
   <Row>
    <Cell><Data ss:Type="String">KICKER_QUERY_VINES_OF_VASTWOOD_UNKICKED</Data></Cell>
    <Cell ss:Index="3"><Data ss:Type="String">Target creature can’t be the target of spells or abilities your opponents control.</Data></Cell>
    <Cell><Data ss:Type="String">La créature ciblée ne peut pas être la cible de sorts ou de capacités que vos adversaires contrôlent.</Data></Cell>
    <Cell><Data ss:Type="String">La criatura objetivo no puede ser objetivo de hechizos o habilidades que controlen tus oponentes.</Data></Cell>
    <Cell><Data ss:Type="String">Eine Kreatur deiner Wahl kann nicht das Ziel von Zaubersprüchen und Fähigkeiten.</Data></Cell>
    <Cell><Data ss:Type="String">Una creatura bersaglio non può essere bersaglio di magie o abilità controllate dai tuoi avversari.</Data></Cell>
    <Cell ss:Index="9"><Data ss:Type="String">クリーチャー1体を対象とする。それはあなたの対戦相手がコントロールする呪文や能力の対象にならない。</Data></Cell>
    <Cell><Data ss:Type="String">Target creature can’t be the target of spells or abilities your opponents control.</Data></Cell>
    <Cell><Data ss:Type="String">Целевое существо не может быть целью заклинаний или способностей под контролем ваших оппонентов.</Data></Cell>
    <Cell><Data ss:Type="String">A criatura alvo não pode ser alvo de mágicas nem de habilidades que seus oponentes controlam.</Data></Cell>
   </Row>
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times


Return to Programming Talk

Who is online

Users browsing this forum: No registered users and 25 guests


Who is online

In total there are 25 users online :: 0 registered, 0 hidden and 25 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 25 guests

Login Form