It is currently 17 May 2025, 21:21
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Bug Reports (snapshot builds)

Postby mastroego » 21 Sep 2014, 17:44

Also, this

Description: Casting Glimpse the Unthinkable, tapping Dimir Signet and then Ghost Quarter

RuntimeException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r27546 (mixed revisions detected; please update from the root directory)
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_25 Oracle Corporation

java.lang.RuntimeException: Cannot remove input InputPayManaOfCostPayment because it's not on top of stack. Stack = []
   at forge.match.input.InputQueue.removeInput(InputQueue.java:62)
   at forge.match.input.InputSyncronizedBase.stop(InputSyncronizedBase.java:50)
   at forge.match.input.InputPayMana.onStateChanged(InputPayMana.java:413)
   at forge.match.input.InputPayMana.showMessage(InputPayMana.java:407)
   at forge.match.input.InputBase.showMessageInitial(InputBase.java:112)
   at forge.match.input.InputProxy$2.run(InputProxy.java:99)
   at java.awt.event.InvocationEvent.dispatch(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$200(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
mastroego
 
Posts: 236
Joined: 22 Sep 2013, 14:04
Has thanked: 28 times
Been thanked: 16 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 21 Sep 2014, 19:06

It looks like Celestial Gatekeeper is misbehaving. It says "When it dies, exile it. Then return .....". However, the AI manages to get the supposed-to-be-exiled Celestial Gatekeeper back on the battlefield right after it dies (basically, it goes to graveyard, then straight back to the battlefield, though I expect that it should stay in exile). A way to reproduce: get a Celestial Gatekeeper on the AI's side, then cast Stab Wound on it.

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 21 Sep 2014, 20:44

Agetian wrote:It looks like Celestial Gatekeeper is misbehaving. It says "When it dies, exile it. Then return .....". However, the AI manages to get the supposed-to-be-exiled Celestial Gatekeeper back on the battlefield right after it dies (basically, it goes to graveyard, then straight back to the battlefield, though I expect that it should stay in exile). A way to reproduce: get a Celestial Gatekeeper on the AI's side, then cast Stab Wound on it.

- Agetian
This is the same thing that swordshine reported that I"m looking into already.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 22 Sep 2014, 02:34

Alright looks like there's not a great way to do this that doesn't cause crashes for Clone LTB. Updating the scripts seems to work just fine though, I'll try to go through a bunch of the "When ~ dies, changezone ~" cards and test/update their scripts as needed.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby mastroego » 22 Sep 2014, 06:52

I can be more precise:
Casting Everflowing Chalice with 1 charge costs 4 mana instead of 2.
mastroego
 
Posts: 236
Joined: 22 Sep 2013, 14:04
Has thanked: 28 times
Been thanked: 16 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 22 Sep 2014, 07:09

r27575
When i played Carnage Wurm on M2 , after having damaged the opponent, it comes with 3 +1/+1 counters, the counter sound is playing.

But then the counter sound will play at nearly every further phases.

A bit like the pump sound was doing in a past revision :
viewtopic.php?f=52&t=6333&start=3210#p161695

edit : same situation on another duel, Carnage Wurm got its 3 counters, the counter sounds play ... but then does not bug and does not replay at each phase.
Hard to understand how a bug can trigger on a situation and on the same situation later it will not.
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 22 Sep 2014, 08:13

r27575 , in this situation :
Image

Ezuri's Archers P/T are boosted ( +1 each ) by Elvish Archdruid.
From then the P/T of Ezuri's Archers will flicker between the original (unboosted) 1/2 and what they are (boosted) 2/3 at each phase change.
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 22 Sep 2014, 08:33

r27575 , in the spellshop editor, after selling a "Time Vault" for a truckload of gold, i tried to buy a New Phyrexia Fatpack , right clicked on it and pressed Buy , it lead into that error :
Image


NullPointerException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.lang.NullPointerException
   at forge.screens.deckeditor.CDeckEditorUI.addSelectedCards(CDeckEditorUI.java:159)
   at forge.screens.deckeditor.controllers.ACEditorBase$EditorContextMenuBuilder$4.run(ACEditorBase.java:469)
   at forge.gui.GuiUtils$1.actionPerformed(GuiUtils.java:131)
   at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
   at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
   at javax.swing.AbstractButton.doClick(Unknown Source)
   at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
   at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
   at java.awt.Component.processMouseEvent(Unknown Source)
   at javax.swing.JComponent.processMouseEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$200(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 23 Sep 2014, 00:29

I think i spotted an error in the editions files.

I was looking at the Forge.log file and noticed this :
An unknown card found when loading Forge decks: "Rough // Tumble|C13" Forge does not know of such a card's existence. Have you mistyped the card name?
probably coming from one or more of the many commander decks i gathered, too bad the log does not actually tell you what deck it is

Strange, because there's a Rough/Tumble card in the C13 lists if i google it.
I thought maybe it's one of the cards not yet supported, but i found Rough/Tumble was in Planar Chaos too, and it works there.

So i looked in the editions file, at Planar Chaos.txt there's the entry
Code: Select all
U Rough // Tumble
Then i looked at Commander 2013.txt and noticed this :
Code: Select all
U Rough
U Tumble
Unless it's been done like that on purpose, i think it should be
Code: Select all
U Rough // Tumble
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 23 Sep 2014, 02:17

Noticed that Rage Extractor in the description seems to have something odd (missing picture ?)
Image
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby TalpanianEmperor » 23 Sep 2014, 11:05

Activated Helm of Obedience with Myr Welder 's imprint ability, got this crash:
RuntimeException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r27546 (mixed revisions detected; please update from the root directory)
Operating System: Windows 8.1 6.3 amd64
Java Version:     1.7.0_65 Oracle Corporation

java.lang.RuntimeException: AbilityFactory : getAbility -- no API in Myr Welder
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:108)
   at forge.game.ability.effects.RepeatEffect.resolve(RepeatEffect.java:31)
   at forge.game.ability.AbilityApiBased.resolve(AbilityApiBased.java:60)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1240)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1222)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:575)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:1069)
   at forge.game.GameAction.startGame(GameAction.java:1569)
   at forge.game.Match.startGame(Match.java:81)
   at forge.control.FControl$4.run(FControl.java:496)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Two other things I've noticed: Grinding Station 's untap ability triggers off it entering the battlefield, and Mirror of Fate won't let you choose any number of exiled cards but 7 ("up to seven").

And yes, this deck is super janky.
Attachments
Welder.png
The log of the incident.
"Each year that passes rings you inwardly with memory and might. Wield your heart, and the world will tremble."
-- Doran, The Siege Tower.
TalpanianEmperor
 
Posts: 37
Joined: 06 Oct 2013, 07:03
Has thanked: 6 times
Been thanked: 1 time

Re: Bug Reports (snapshot builds)

Postby friarsol » 23 Sep 2014, 14:16

TalpanianEmperor wrote:Two other things I've noticed: Grinding Station 's untap ability triggers off it entering the battlefield
This actually isn't a bug. Grinding Station should trigger when it ETBs. If it said "When another artifact ETB..." then it wouldn't trigger.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby matrix4767 » 23 Sep 2014, 16:26

Armament Corps' ability crashes the game if it's activated with no other creatures:

NullPointerException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r27611 (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_45 Oracle Corporation

java.lang.NullPointerException
   at forge.game.spellability.TargetRestrictions.getDividedValue(TargetRestrictions.java:703)
   at forge.game.ability.effects.CountersPutEffect.resolve(CountersPutEffect.java:89)
   at forge.game.ability.AbilityApiBased.resolve(AbilityApiBased.java:60)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1240)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1222)
   at forge.player.HumanPlaySpellAbility.playAbility(HumanPlaySpellAbility.java:124)
   at forge.player.HumanPlay.playSpellAbilityNoStack(HumanPlay.java:193)
   at forge.player.PlayerControllerHuman.playSpellAbilityNoStack(PlayerControllerHuman.java:198)
   at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:397)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1240)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1222)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:575)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:1070)
   at forge.game.GameAction.startGame(GameAction.java:1571)
   at forge.game.Match.startGame(Match.java:81)
   at forge.control.FControl$4.run(FControl.java:495)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Abzan Charm's first abiltiy works on toughness, like a 0/4 creature.

Using forge 1.5.28-20140922.222304-6.
matrix4767
 
Posts: 125
Joined: 09 Sep 2014, 08:10
Has thanked: 5 times
Been thanked: 3 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 23 Sep 2014, 18:54

r27631: I got this crash between two sets of a quest match. It dropped me back to the main quest screen without allowing me to finish the best-of-three.

Code: Select all
EDT > java.lang.NullPointerException
        at forge.control.FControl.startGameInSameMatch(FControl.java:454)
        at forge.screens.match.ControlWinLose.actionOnContinue(ControlWinLose.java:62)
        at forge.screens.match.ControlWinLose$1.actionPerformed(ControlWinLose.java:36)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
        at java.awt.Component.processMouseEvent(Component.java:6505)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3311)
        at java.awt.Component.processEvent(Component.java:6270)
        at java.awt.Container.processEvent(Container.java:2229)
        at java.awt.Component.dispatchEventImpl(Component.java:4861)
        at java.awt.Container.dispatchEventImpl(Container.java:2287)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
        at java.awt.Container.dispatchEventImpl(Container.java:2273)
        at java.awt.Window.dispatchEventImpl(Window.java:2719)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
        at java.awt.EventQueue.access$200(EventQueue.java:103)
        at java.awt.EventQueue$3.run(EventQueue.java:694)
        at java.awt.EventQueue$3.run(EventQueue.java:692)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.awt.EventQueue$4.run(EventQueue.java:708)
        at java.awt.EventQueue$4.run(EventQueue.java:706)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 23 Sep 2014, 18:56

r27631 again: Looks like the crash above is repetitive. It happened again between two matches of another quest duel. It looks like it now happens every time, and is thus a major issue.
Here's a more complete crash report:

NullPointerException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r27631u
Operating System: Linux 3.8.0-26-generic amd64
Java Version:     1.7.0_51 Oracle Corporation

java.lang.NullPointerException
   at forge.control.FControl.startGameInSameMatch(FControl.java:454)
   at forge.screens.match.ControlWinLose.actionOnContinue(ControlWinLose.java:62)
   at forge.screens.match.ControlWinLose$1.actionPerformed(ControlWinLose.java:36)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
   at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
   at java.awt.Component.processMouseEvent(Component.java:6505)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3311)
   at java.awt.Component.processEvent(Component.java:6270)
   at java.awt.Container.processEvent(Container.java:2229)
   at java.awt.Component.dispatchEventImpl(Component.java:4861)
   at java.awt.Container.dispatchEventImpl(Container.java:2287)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
   at java.awt.Container.dispatchEventImpl(Container.java:2273)
   at java.awt.Window.dispatchEventImpl(Window.java:2719)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
   at java.awt.EventQueue.access$200(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:694)
   at java.awt.EventQueue$3.run(EventQueue.java:692)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
   at java.awt.EventQueue$4.run(EventQueue.java:708)
   at java.awt.EventQueue$4.run(EventQueue.java:706)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
NOTE: This is also true for non-quest matches. It is currently impossible to proceed past game 1 in a match.

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 44 guests


Who is online

In total there are 44 users online :: 0 registered, 0 hidden and 44 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 44 guests

Login Form