Jump to content

Shaolan

Developer
  • Posts

    429
  • Joined

  • Last visited

  • Days Won

    37

Shaolan last won the day on August 25 2022

Shaolan had the most liked content!

About Shaolan

Recent Profile Visitors

7154 profile views

Shaolan's Achievements

Advanced Trainer

Advanced Trainer (4/12)

649

Reputation

10

Community Answers

  1. Hello, try to login now. I reset the rate limit for your account.
  2. Hey, I forced kicked your account from the server. Please try again
  3. Hey @Runweta, I investigated your issue. You can't log in due to a race condition problem with xanascript/old NPCs. I've already fixed this issue for Python scripts but not for old NPCs. The game server won't let you in because you have an ongoing battle. We don't want to restart the server right now because you are the only player that got that issue. We will restart Silver only for you tomorrow morning with fewer players.
  4. Shaolan

    Update Logs

    Changelog x.08.2023: Decoupling of Battle Code: We have now separated the battle code from the game server and moved it to a standalone Battle Server. This enables us to fix bugs and add features to the battle system without needing to restart the entire game server. This change represents a step forward towards improving the Battle AI approach. Asynchronous and Multithreaded Battle Code: The battle code now runs asynchronously and in multiple threads, as opposed to its previous single-thread execution. This significant upgrade has greatly improved code efficiency and speed.
  5. Shaolan

    Update Logs

    Changelog 15.06.2023: Coded Sticky Barb Fixed a visual bug related to hazards and Magic Bounce. Introduced 2FA (Two-Factor Authentication): This is an important security feature that may prevent unauthorized access to your account. Please read https://pokemonrevolution.net/forum/topic/215832-2fa-thread/ for more details. This feature is currently in trial and will not stop unauthorized logins yet. Planned mandatory device authorization is expected to go live on July 1st, 2023.
  6. Shaolan

    Update Logs

    Changelog 08.06.2023: Coded Stockpile. Coded Swallow. Coded Spit Up. Fixed a bug when a pokemon can be passed on the mega-evolution form of other pokemon within the team.
  7. Shaolan

    Update Logs

    Changelog 05.06.2023: Coded Destiny Knot. Fixed an issue where the user was being automatically fainted by the server when they had no remaining Pokémon, even though the NPC should have handled the situation. Now, the NPC correctly handles the event, preventing the user from being forcibly fainted and sent back to the last Pokémon Center. Fixed an issue with Parting Shot where the user was not switching out immediately after dropping the target's stats. Addressed a bug in Parting Shot where stats were being dropped twice on the live server. Resolved an issue where the message for Knock Off was not appearing when it killed a target holding an item. Fixed a bug where Air Balloon was not being consumed when hit by Knock Off. Added the missing activation message for Vital Spirit. Corrected the order of messages when a Pokemon holding Life Orb uses a move like Dragon Tail. The Life Orb recoil now occurs right after the move has been used, instead of after the opposing Pokemon has been switched out. Fixed the incorrect order of messages when a Pokemon moves last and dies to its Life Orb while rain is active. The fainting message now appears right after the Life Orb recoil messages and just before the rain notification. Added a battle message for Rain Dish and Dry Skin.
  8. Shaolan

    Update Logs

    Changelog 23.05.2023: You can now use Normalize on Hidden Power. Reworked Parting Shot: The user no longer switches out if Parting Shot is unable to affect the target's stats or if the user is the only Pokémon in the party that is able to battle. If Parting Shot is used on a Pokémon with the Ability Magic Bounce, the effect will be bounced back to the user, lowering its Attack and Special Attack, and the target will switch out instead. Polished Parting Shot messages. Coded Electric Seed. Coded Grassy Seed. Coded Misty Seed. Coded Psychic Seed. Coded Darkest Lariat. Coded Bolt Strike. Coded Ice Hammer. Coded Pluck. Coded Beak Blast. Coded Big Root. Coded Lava Cookie. Coded Dive Ball. Coded Cell Battery. Coded Freeze Shock. Coded Smelling Salts. Coded Adrenaline Orb. Coded Magnetic Flux. Coded Absorb Bulb. Coded Hyperspace Fury. Coded Multi-Attack. Smelling Salts, all moves that can thaw/unfreeze and Wake-Up Slap respectively will no longer have healed paralysis, thaw out and woke up displayed message if the target faints off the moves. Abilities that prevent the additional effect of an offensive move will no longer print an activation message, except for some special cases like Aroma Veil. Adjusted the display of activation messages for abilities that prevent status conditions. The activation message will only be shown in the last priority, meaning it will not be displayed if the Pokémon already has a status condition or other similar effects in place. Replaced the "failed to have any effect" message with "It doesn't affect [Pokemon name]..." to provide clearer feedback. Reworked Safety Goggles and Overcoat. Both protect now from all powder and spore moves. Reworked Endeavor: Shell Bell holder will now recover HP when using Endeavor. Counter and Metal Burst now work properly with Endeavor. Endeavor is now able to break a substitute. Future Sight no longer bypasses Endure. Adjusted Reflect Type to no longer be flagged as self-targeted. It will now require a valid target or fail if the target is protected by Protect. Transforms copies the Evasion and Accuracy from the target now. Transform overwrites the baton pass passed stat boosts. Future Sight do not longer bypass the accuracy check. Fixed a visual bug with Illusion and Dragon Tail. Changed the Ability from the red-striped form Basculin from Rock Head to Reckless as intended. Clear Body will no longer display duplicate prevention messages when a move decreases multiple stats simultaneously. Fixed a bug where Illusion was displaying the current HP% of the Pokémon Zoroark was disguised into instead of showing Zoroark's HP. Now, Illusion correctly shows Zoroark's HP throughout the duration of the switch. Aromatic Mist fails in single battle now. The defeat of a Pokémon will now be handled in order of speed at the end of a battle, rather than based on priority. This change primarily addresses a visual issue. The additional effect of an attacking move will no longer display "failed to have any effect" when it fails for some reason. Water Veil prevents the burn status condition now instead of healing it directly. Fixed the issue where a faster Volt Switch/U-turn user can take the hit from the opposing Pokémon before switching out in rare cases. Destiny Bond works properly with Pursuit now. The Pursuit user will no longer faint off Destiny Bond if a Pokémon which previously used Destiny Bond last on the previous turn decides to switch out next turn, as switching out will be the last action. Role Play can no longer copy Receiver, Power of Alchemy, Flower Gift, and Trace. Trace can no longer copy any of the following Abilities: Battle Bond, Comatose, Disguise, Flower Gift, Forecast, Gulp Missile, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Power Construct, Power of Alchemy, Receiver, RKS System, Schooling, Shields Down, Stance Change, Trace, Zen Mode. The Frisk message will now be displayed even if the user is a wild Pokémon. Polished the Frisk message. Sand Attack no longer bypasses Magic Bounce and Magic Coat The Pokémon colors are now different from the start of battle. Fixed a text issue with Leppa Berry. Fixed a grammar issue with the Bug Bite message. Fixed a grammar issue with the Red Card message. Fixed a rounding issue with badly poisoned ticks. The previous implementation tended to cause a few more damages than it should. Fixed the "pokeRounding" method in the calculation formula. It now properly rounds down and up with all kinds of numbers. The previous implementation tended to cause 1-2 extra damage with the unluckiest RNG roll and specific numbers. The opposing Pokémon will now be referred to as "opposing" in the faint and changing message. The Hazards message was polished. The death of a Pokémon will be handled directly when fainted by entry hazards now. Poison Touch can now activate at the same time as Static, Flame Body, Poison Point and Effect Spore, and vice versa. Flare Boost now gives +50% power to Special moves when the Pokémon is burned. It stays active even if you switch out. Galvanize now works properly for longer than a single turn. Gastro Acid now works properly on Forecast. Keen Eye now ignores the target's Evasion stages. Grass/Fire/Water Pledge moves are now unaffected by gems. Freeze Shock, Ice Burn, and Razor Wind can no longer bypass Protect/King's Shield. Bug Bite now steals the opponent's held berry before it has the chance to activate in any case besides: Super effective damage-reducing Berries when their holder is weak to Bug Bite, they will be consumed before Bug Bite can steal them, reducing Bug Bite's damage. Enigma Berry when its holder is weak to Bug Bite, it will be consumed before the Bug Bite user can steal it. Jaboca Berry, it will be consumed before it can steal it. Static, Flame Body, Poison Point and Effect Spore will no longer print an activation message when they cannot apply the Status to the attacker which used a contact move for some reason. Shell Bell will heal 0 HP to the holder if it uses False Swipe on a target with 1 HP. When a Bug Bite user steals a Wiki Berry, it can now confuse the user. Pokémon that transform into Castform will now remain in the same form as the target Castform, regardless of the weather or its changes. Pokémon with Immunity can no longer get poisoned. Previously, immunity would instantly heal the poison status. Skills whose type changed in battle due to abilities like Pixilate now correctly reset their type after the battle. Updated Venoshock to now check for the target's poison status instead of the user's poison status. The taunt wears off now if a Pokémon affected by taunt receives a Mental Herb. Counter now deals the damage of the last hit of multi-hit moves instead of all hits. Weakness Policy no longer ignores the Contrary effect. "Confusion failed to have any effect" will no longer display when an offensive move that can induce confusion rolled confusion and is used on a target already confused. Jaboca Berry now activates before being knocked off. HP-restoring Berries are no longer consumed before being knocked off. Jaboca Berry activates now even when its holder has died. Schooling now activates when the HP is at 25% or below to transform back to its Solo Form. Focus Energy now has a failed message. Gastro Acid fails now if the target's Ability is Multitype, Stance Change, Schooling, Comatose, Shields Down, Disguise, RKS System, Battle Bond, Power Construct, Ice Face, Gulp Missile, As One, Zero to Hero, Commander, Quark Drive, or Protosynthesis. Added more useful damage/battle output for testers so they can easily check the damage rolls of a specific attack. Fixed the draining damage rounding. Added activation messages for the following abilities: Own Tempo Vital Spirit Insomnia Sweet Veil Aroma Veil Fixed a grammar issue with Fling. Fixed an unnecessary extra space in Autotomize message. Phantom Force and Shadow Force will no longer bypass accuracy check. Moves dealing direct damage like Counter won't be able to activate Weakness Policy and super-effective Berries anymore. Moves dealing direct damage also won't be able to land critical hits anymore. Transform / Imposter users will now get back their lost Flying type on the next turn when they would have copied a opponent which used Roost. It is possible when a slower U-Turn/Volt Switch Pokémon uses it to bring the Imposter user on the faster opponent which itself selected Roost in the same turn. Zen Mode, Schooling and Power Construct users will now be able to trigger their transformation with Status damage. Knockout drops will no longer be consumed if you use them on a fainted Pokémon. Air Lock and Cloud Nine no longer block the Forecast effect, instead it reverts Castform back to its standard form. Castform will now get back its form according to the current weather when a Cloud Nine/Air Lock opponent switches out. When Pursuit was disabled and was your last available move, there will no longer be a Pursuit message when you use Struggle on the next turn. Dragon Rush, Stomp, Steam Roller and Heat Crash will no longer bypass accuracy check. Dragon Tail (DT) and Circle Throw (CT) are now interacting correctly with Rocky Helmet, Iron Barbs and Rough Skin opponents, as well as Life Orb (LO). DT and CT users will not drag out the opponent if they would faint off Rocky Helmet, Iron Barbs and Rough Skin effects, but will still apply their damage. DT and CT users holding a LO will drag out the opponent before fainting off their LO recoil if there isn't any Rocky Helmet / Iron Barbs / Rough Skin opponent involved. The fainting order for Perish Song will no longer be affected by moves with priority used on the turn before both Pokémon would faint when the counter reaches 0. Before, using any priority move will make you win such duel without taking into account only the Speed stat. Now it takes only the Speed stat into consideration and the faster Pokémon will lose a Perish Song duel, unless Trick Room is in effect. Surrenders and disconnects in PvP battles will no longer send you to your last Pokecenter.
  9. Shaolan

    Update Logs

    Changelog 10.04.2023: The following battle bugs have been fixed: Players can no longer make 2 actions in the same turn (issue #905 has been fixed). Players cannot switch their Pokemon while in the middle of executing moves that have multiple turns anymore. (issue #904 has been resolved). Heal bells will work correctly even if the opposing Pokemon has the ability Soundproof (issue #896 has been addressed). The Marvel Scale ability is now working properly. The unnecessary "But it failed!" message no longer appears when confusion goes through (issue #900 has been fixed). High Jump Kick and Jump Kick now correctly do self-damage when used against ghost-type or semi-invulnerable Pokemon (issue #351 has been resolved). Please let us know if you encounter any further issues.
  10. Shaolan

    Most used pokemon

    Most used Pokemon  - February 2023:   #Gold February 2023 Most used pokemon in ranked pvp (source: PRO database) #Rank Pokemon Count Percentage Win rate 1. Ferrothorn 8255 2.49% 48.75% 2. Clefable 7590 2.29% 47.84% 3. Rotom-Wash 7281 2.20% 47.15% 4. Zapdos 6754 2.04% 53.89% 5. Landorus 6151 1.86% 56.20% 6. Bisharp 5999 1.81% 52.14% 7. Garchomp 5778 1.74% 48.72% 8. Heatran 5514 1.66% 50.02% 9. Dragonite 5149 1.55% 44.73% 10. Mega Scizor 5027 1.52% 53.41% 11. Azumarill 4903 1.48% 50.60% 12. Volcarona 4851 1.46% 45.43% 13. Excadrill 4454 1.34% 48.36% 14. Chansey 4307 1.30% 47.43% 15. Weavile 4289 1.29% 47.96% 16. Keldeo-Resolute 4278 1.29% 54.77% 17. Mega Metagross 3943 1.19% 53.46% 18. Gengar 3901 1.18% 46.14% 19. Conkeldurr 3736 1.13% 50.43% 20. Tyranitar 3723 1.12% 45.58% 21. Serperior 3385 1.02% 48.06% 22. Tornadus 3362 1.01% 54.28% 23. Pelipper 3143 0.95% 47.92% 24. Gliscor 2895 0.87% 47.81% 25. Breloom 2852 0.86% 50.74% 26. Skarmory 2730 0.82% 49.08% 27. Kingdra 2674 0.81% 48.65% 28. Mega Swampert 2586 0.78% 48.61% 29. Mega Medicham 2582 0.78% 52.17% 30. Slowbro 2554 0.77% 48.00% 31. Aerodactyl 2489 0.75% 48.77% 32. Mega Gyarados 2468 0.75% 44.45% 33. Magnezone 2166 0.65% 51.43% 34. Manaphy 2022 0.61% 50.54% 35. Diggersby 1981 0.60% 53.86% 36. Mega Alakazam 1890 0.57% 50.79% 37. Togekiss 1834 0.55% 43.18% 38. Scizor 1834 0.55% 45.91% 39. Muk-Alolan 1764 0.53% 52.10% 40. Crawdaunt 1749 0.53% 51.29% 41. Hippowdon 1730 0.52% 55.32% 42. Mega Charizard Y 1646 0.50% 44.17% 43. Mega Pinsir 1608 0.49% 48.63% 44. Tangrowth 1579 0.48% 50.10% 45. Cloyster 1557 0.47% 46.31% 46. Tentacruel 1556 0.47% 55.53% 47. Gyarados 1534 0.46% 42.31% 48. Mega Lopunny 1515 0.46% 51.35% 49. Mega Manectric 1476 0.45% 55.01% 50. Blissey 1449 0.44% 44.93% #Silver February 2023 Most used pokemon in ranked pvp (source: PRO database) #Rank Pokemon Count Percentage Win rate 1. Ferrothorn 9710 2.66% 48.93% 2. Rotom-Wash 8715 2.39% 50.77% 3. Garchomp 8415 2.30% 52.57% 4. Clefable 7394 2.02% 52.20% 5. Azumarill 7056 1.93% 49.40% 6. Zapdos 6486 1.78% 53.68% 7. Landorus 5959 1.63% 54.35% 8. Weavile 5652 1.55% 46.48% 9. Heatran 5540 1.52% 52.27% 10. Mega Scizor 5512 1.51% 53.88% 11. Chansey 5155 1.41% 47.66% 12. Bisharp 4944 1.35% 52.87% 13. Keldeo-Resolute 4889 1.34% 53.81% 14. Dragonite 4883 1.34% 49.07% 15. Pelipper 4384 1.20% 44.96% 16. Gengar 3961 1.08% 48.57% 17. Volcarona 3957 1.08% 45.14% 18. Kingdra 3879 1.06% 44.81% 19. Gliscor 3697 1.01% 50.47% 20. Skarmory 3514 0.96% 51.99% 21. Excadrill 3484 0.95% 51.21% 22. Tornadus 3480 0.95% 56.24% 23. Tyranitar 3478 0.95% 53.42% 24. Mega Swampert 3419 0.94% 46.33% 25. Breloom 3384 0.93% 51.83% 26. Serperior 3255 0.89% 48.60% 27. Mega Metagross 3249 0.89% 52.11% 28. Magnezone 3087 0.85% 53.39% 29. Mega Medicham 2880 0.79% 53.61% 30. Mega Alakazam 2649 0.73% 53.45% 31. Mega Lopunny 2525 0.69% 50.89% 32. Conkeldurr 2521 0.69% 47.64% 33. Mega Gyarados 2460 0.67% 46.71% 34. Scizor 2456 0.67% 47.84% 35. Mega Charizard Y 2453 0.67% 46.27% 36. Togekiss 2429 0.67% 46.89% 37. Slowbro 2246 0.62% 50.40% 38. Torkoal 2195 0.60% 45.79% 39. Tangrowth 2075 0.57% 48.92% 40. Mega Venusaur 2014 0.55% 56.55% 41. Venusaur 1969 0.54% 48.15% 42. Manaphy 1952 0.53% 50.05% 43. Infernape 1883 0.52% 47.32% 44. Mimikyu 1861 0.51% 51.80% 45. Mega Charizard X 1844 0.50% 46.85% 46. Cloyster 1841 0.50% 45.79% 47. Suicune 1779 0.49% 54.69% 48. Cresselia 1762 0.48% 44.15% 49. Kyurem-Black 1755 0.48% 53.22% 50. Muk-Alolan 1724 0.47% 49.25%
  11. Shaolan

    Update Logs

    Changelog 20.02.2023: Battle-related changes: Set up a unit test project for the battle code and already created over 50 tests. This should avoid repeating issues like Unaware or Roar. Coded Chip Away. Coded Lucky Chant. Coded Last Resort. Coded Parabolic Charge. Coded Eject Button. The client now displays the move Struggle when there are no other available moves for the active Pokemon. Modified Switch-in mechanics to immediately update the Pokemon's HP and status effect for Natural Cure and Regenerator. Pickpocket works properly again in player battles. Indirect damages like hazards damage or weather activate berries now. Light Ball, Thick Club and Choice Band no longer affect the confusion damage. Sitrus Berry now restores 25% of the Pokémon's max HP when used from the Bag outside of battles. Fixed a bug where a U-turn would skip the opponent's attack if the user's Pokemon fainted from Life Orb recoil. Damps prevent now also the user not only the opponent from using self-destruct moves. Healing Wish fails now when there is no pokemon to switch in. Choice works properly with consecutively executed moves when they receive the choice midway now. Limber heals the paralyzed status at the battle turn even when there is a Mold Breaker pokemon on the field now. The speed stat of both pokemon is now determined at the battle start: Mega Evolution only updates the speed stat of the mega pokemon now. This fixes some edge cases with abilities that double the speed due to the weather effect on the field. White Herb also activates now when the holder switch-in. Updated crit mechanics to account for lowered defensive stats. Metronome is no longer able to select MegaVolt. Foul Play is respecting now the user's abilities and item ATK modifiers like the choice band. Fixed a rounding issue with the damage calculation. The damage formula is used to make 1-2 more damage with the luckiest random draw. The activation message of abilities no longer comes up before the "pokemon sends out" message. Disable is now interacting correctly with consecutively executed Moves. The Move user won't get stuck into an infinite loop anymore. The Move user also won't get trapped if confusion occurs, as it means the streak ended (Outrage/Petal Dance/Thrash). The Move user won't get trapped for the next turn when the Move is disabled first, as it fails in this case. Confusion works correctly now even when the Move fails as it still counts toward the number of times in a row you used the Move.
  12. Shaolan

    Most used pokemon

    Most used Pokemon  - January 2023:   #Gold January 2023 Most used pokemon in ranked pvp (source: PRO database) #Rank Pokemon Count Percentage Win rate 1. Rotom-Wash 3361 23% 51% 2. Ferrothorn 3319 23% 51% 3. Garchomp 2521 17% 53% 4. Azumarill 2468 17% 51% 5. Bisharp 2228 15% 52% 6. Dragonite 2223 15% 43% 7. Zapdos 2056 14% 57% 8. Weavile 2039 14% 46% 9. Clefable 1983 14% 46% 10. Volcarona 1767 12% 47% 11. Landorus 1754 12% 59% 12. Gengar 1721 12% 46% 13. Mega Scizor 1651 11% 58% 14. Mega Metagross 1629 11% 55% 15. Heatran 1611 11% 57% 16. Excadrill 1543 10% 54% 17. Tyranitar 1485 10% 51% 18. Keldeo-Resolute 1359 9% 60% 19. Tornadus 1297 9% 63% 20. Serperior 1200 8% 51% 21. Pelipper 1182 8% 55% 22. Conkeldurr 1120 7% 49% 23. Diggersby 1118 7% 53% 24. Breloom 1114 7% 51% 25. Chansey 1067 7% 46% 26. Mega Swampert 1004 7% 55% 27. Mega Gyarados 997 7% 39% 28. Cloyster 970 6% 43% 29. Aerodactyl 945 6% 52% 30. Mega Medicham 940 6% 57% 31. Kingdra 940 6% 55% 32. Gliscor 893 6% 47% 33. Mega Alakazam 807 5% 50% 34. Mega Pinsir 790 5% 52% 35. Mega Charizard X 765 5% 38% 36. Slowbro 720 5% 49% 37. Magnezone 667 4% 52% 38. Mimikyu 667 4% 47% 39. Skarmory 666 4% 54% 40. Tangrowth 655 4% 52% 41. Mega Charizard Y 653 4% 48% 42. Mega Lopunny 649 4% 57% 43. Togekiss 640 4% 47% 44. Gyarados 618 4% 31% 45. Manaphy 594 4% 52% 46. Mega Manectric 582 4% 56% 47. Mega Diancie 536 3% 49% 48. Ditto 507 3% 52% 49. Scizor 501 3% 54% 50. Infernape 493 3% 44% Unique Teams: 14056 #Silver January 2023 Most used pokemon in ranked pvp (source: PRO database) #Rank Pokemon Count Percentage Win rate 1. Ferrothorn 4169 22% 51% 2. Rotom-Wash 3938 21% 51% 3. Garchomp 3784 20% 54% 4. Bisharp 2899 15% 52% 5. Azumarill 2682 14% 52% 6. Landorus 2651 14% 57% 7. Clefable 2557 14% 50% 8. Heatran 2514 13% 54% 9. Weavile 2351 12% 47% 10. Keldeo-Resolute 2176 11% 59% 11. Mega Scizor 2127 11% 53% 12. Gengar 2096 11% 47% 13. Dragonite 2064 11% 49% 14. Zapdos 1897 10% 55% 15. Mega Metagross 1879 10% 56% 16. Volcarona 1725 9% 42% 17. Pelipper 1628 8% 48% 18. Breloom 1610 8% 54% 19. Tyranitar 1599 8% 48% 20. Chansey 1587 8% 50% 21. Excadrill 1536 8% 47% 22. Kingdra 1532 8% 48% 23. Magnezone 1484 8% 56% 24. Gliscor 1439 7% 49% 25. Tornadus 1259 6% 60% 26. Mega Charizard Y 1166 6% 43% 27. Serperior 1110 6% 49% 28. Mega Lopunny 1107 6% 53% 29. Mega Gyarados 1100 6% 50% 30. Mega Alakazam 1098 6% 55% 31. Conkeldurr 1082 5% 49% 32. Scizor 1066 5% 48% 33. Mega Swampert 1016 5% 53% 34. Skarmory 1007 5% 47% 35. Mimikyu 989 5% 54% 36. Mega Pinsir 945 5% 52% 37. Torkoal 925 5% 54% 38. Mega Medicham 913 5% 52% 39. Mega Charizard X 849 4% 49% 40. Togekiss 845 4% 45% 41. Slowbro 819 4% 56% 42. Manaphy 808 4% 50% 43. Ditto 788 4% 54% 44. Aerodactyl 773 4% 55% 45. Kyurem-BlACK 682 3% 52% 46. Latios 678 3% 62% 47. Darmanitan 673 3% 48% 48. Tangrowth 666 3% 47% 49. Venusaur 653 3% 51% 50. Mega Venusaur 627 3% 50% Unique Teams: 18140
×
×
  • Create New...