Sythe.org MMORPG accusations

Discussion in 'Something For All' started by Sythe, Oct 25, 2010.

Sythe.org MMORPG accusations
  1. Unread #1 - Oct 25, 2010 at 5:46 AM
  2. Sythe
    Joined:
    Apr 21, 2005
    Posts:
    8,071
    Referrals:
    467
    Sythe Gold:
    5,281
    Discord Unique ID:
    742989175824842802
    Discord Username:
    Sythe
    Dolan Duck Dolan Trump Supporting Business ???
    Poképedia
    Clefairy Jigglypuff
    Who did this to my freakin' car!
    Hell yeah boooi
    Tier 3 Prizebox Toast Wallet User
    I'm LAAAAAAAME Rust Player Mewtwo Mew Live Free or Die Poké Prizebox (42) Dat Boi

    Sythe Join our discord

    test

    Administrator Village Drunk

    Sythe.org MMORPG accusations

    The third and final thread I would like to make is regarding the Sythe.org MMORPG.

    The same cowards referenced in the other two threads (in particular some guy named Zypur who hangs around with a dozen other general failures who have nothing better to do than troll me) have repeatedly accused me of ripping off sythe.org members. They accuse me of fabricating the Sythe.org MMORPG project in order to bring in donations.

    First I would like to present evidence of work completed, and then I would like to hear their counter arguments (accusations) against me, in their own words.

    Screenshots from the work:
    [​IMG]

    [​IMG]


    Source code structure of the work:
    Code:
    D:\javaprojects\smallgame\src\SytheMMO>for /r %g in (*) do @echo %g
    D:\javaprojects\smallgame\src\SytheMMO\SytheGame.java
    D:\javaprojects\smallgame\src\SytheMMO\DisplayClasses\GameScreen.java
    D:\javaprojects\smallgame\src\SytheMMO\GameLogic\AnimatedSpriteSpecial.java
    D:\javaprojects\smallgame\src\SytheMMO\GameLogic\CharacterClass.java
    D:\javaprojects\smallgame\src\SytheMMO\GameLogic\Player.java
    D:\javaprojects\smallgame\src\SytheMMO\GameLogic\Transient.java
    D:\javaprojects\smallgame\src\SytheMMO\MapClasses\GameArena.java
    D:\javaprojects\smallgame\src\SytheMMO\MapClasses\GameMap.java
    D:\javaprojects\smallgame\src\SytheMMO\MapClasses\ImmutableMap.java
    D:\javaprojects\smallgame\src\SytheMMO\MapClasses\MapNotFoundException.java
    D:\javaprojects\smallgame\src\SytheMMO\MapClasses\MapLayer\EntityLayer.java
    D:\javaprojects\smallgame\src\SytheMMO\MapClasses\MapLayer\FloorLayer.java
    D:\javaprojects\smallgame\src\SytheMMO\MapClasses\MapLayer\OverlayLayer.java
    D:\javaprojects\smallgame\src\SytheMMO\MapClasses\MapLayer\WalkableLayer.java
    D:\javaprojects\smallgame\src\SytheMMO\MapClasses\MapLayer\WallLayer.java
    D:\javaprojects\smallgame\src\SytheMMO\MapClasses\MapLayer\Abstract\ListLayer.java
    D:\javaprojects\smallgame\src\SytheMMO\MapClasses\MapLayer\Abstract\ListLayerEntry.java
    D:\javaprojects\smallgame\src\SytheMMO\MapClasses\MapLayer\Abstract\MapLayer.java
    D:\javaprojects\smallgame\src\SytheMMO\MapClasses\MapLayer\Abstract\TileLayer.java
    D:\javaprojects\smallgame\src\SytheMMO\MapUtilities\MapMaker.java
    D:\javaprojects\smallgame\src\SytheMMO\ResourceClasses\Constants.java
    D:\javaprojects\smallgame\src\SytheMMO\ResourceClasses\ResourceManager.java
    D:\javaprojects\smallgame\src\SytheMMO\ResourceUtilities\BuildResourcesTable.java
    D:\javaprojects\smallgame\src\SytheMMO\ResourceUtilities\TileSQLTemplateGenerator.java
    D:\javaprojects\smallgame\src\SytheMMO\ResourceUtilities\WallTileSQLTemplateGenerator.java
    Lines of code completed in the work:
    Code:
    D:\javaprojects\smallgame\src\SytheMMO>for /r %g in (*) do @wc -l %g | cut -d" " -f1
    223
    47
    40
    65
    67
    244
    416
    106
    166
    10
    66
    26
    67
    67
    51
    75
    47
    79
    111
    588
    31
    217
    147
    157
    246
    Total LOC: 3359

    Code sample from the work (Transient.java -- a class for dealing with animated directional sprites stored in a zip format.)
    Code:
    package SytheMMO.GameLogic;
    
    import com.golden.gamedev.object.AnimatedSprite;
    
    import javax.imageio.ImageIO;
    import java.util.zip.ZipInputStream;
    import java.util.zip.ZipEntry;
    import java.util.*;
    import java.io.IOException;
    import java.io.ByteArrayOutputStream;
    import java.awt.image.BufferedImage;
    import java.awt.*;
    import java.lang.reflect.Field;
    
    import SytheMMO.ResourceClasses.ResourceManager;
    
    public class Transient {
        private int transientID = -1;
    
    
        private AnimatedSprite direction0 = null;
        private AnimatedSprite direction1 = null;
        private AnimatedSprite direction2 = null;
        private AnimatedSprite direction3 = null;
        private AnimatedSprite direction4 = null;
        private AnimatedSprite direction5 = null;
        private AnimatedSprite direction6 = null;
        private AnimatedSprite direction7 = null;
    
    
        public void render(Graphics2D g, int direction, int x, int y) {
    
    
            switch (direction) {
                case 0:
                    direction0.render(g, x, y);
                    break;
                case 1:
                    direction1.render(g, x, y);
                    break;
                case 2:
                    direction2.render(g, x, y);
                    break;
                case 3:
                    direction3.render(g, x, y);
                    break;
                case 4:
                    direction4.render(g, x, y);
                    break;
                case 5:
                    direction5.render(g, x, y);
                    break;
                case 6:
                    direction6.render(g, x, y);
                    break;
                case 7:
                    direction7.render(g, x, y);
                    break;
            }
        }
    
        public Transient() {
    
        }
    
        public Transient(AnimatedSprite direction0, AnimatedSprite direction1, AnimatedSprite direction2, AnimatedSprite direction3, AnimatedSprite direction4, AnimatedSprite direction5, AnimatedSprite direction6, AnimatedSprite direction7, int transientID) {
            this.direction0 = direction0;
            this.direction1 = direction1;
            this.direction2 = direction2;
            this.direction3 = direction3;
            this.direction4 = direction4;
            this.direction5 = direction5;
            this.direction6 = direction6;
            this.direction7 = direction7;
            this.transientID = transientID;
        }
    
    
        public Transient(ZipInputStream zis) throws IOException {
            ZipEntry ze = null;
    
    
            //      Direction   --- Frame ---- String_name
            HashMap<Integer, HashMap<Integer, BufferedImage>> directionsContainingFrames = new HashMap<Integer, HashMap<Integer, BufferedImage>>(8);
            HashMap<Integer, HashMap<Integer, Point>> directionsContainingFramesMidPoints = new HashMap<Integer, HashMap<Integer, Point>>(8);
            //HashMap<>
    
            while ((ze = zis.getNextEntry()) != null) {
                String rawFrameName = ze.getName();
    
    
                if (rawFrameName.startsWith("f")) {
    
    
                    int direction = Integer.parseInt(rawFrameName.substring(1, 3));
                    int frame = Integer.parseInt(rawFrameName.substring(4, 6));
    
    
                    if (rawFrameName.endsWith(".png")) {
                        // process the images
                        HashMap<Integer, BufferedImage> dir = directionsContainingFrames.get(direction);
                        if (dir == null) {
                            dir = new HashMap<Integer, BufferedImage>(25);
                        }
                        dir.put(frame, ImageIO.read(zis));
                        directionsContainingFrames.put(direction, dir);
    
                    } else if (rawFrameName.endsWith(".info")) {
                        // process the image meta data
                        ByteArrayOutputStream baos = new ByteArrayOutputStream();
                        byte[] buffer = new byte[1024];
                        int readBytes = 0;
                        while ((readBytes = zis.read(buffer)) > 0) {
                            baos.write(buffer, 0, readBytes);
                        }
    
                        HashMap<Integer, Point> dir = directionsContainingFramesMidPoints.get(direction);
                        if (dir == null) {
                            dir = new HashMap<Integer, Point>(25);
                        }
    
                        Point midPoint = new Point();
                        String[] infoLines = new String(baos.toByteArray()).split("\r\n");
                        int countFoundElements = 0;
                        for (String line : infoLines) {
                            String[] parts = line.split(" = ", 2);
                            if (parts[0].toLowerCase().equals("#midx")) {
                                midPoint.x = Integer.parseInt(parts[1]);
                                if (countFoundElements++ >= 2) break;
                            } else if (parts[0].toLowerCase().equals("#midy")) {
                                midPoint.y = Integer.parseInt(parts[1]);
                                if (countFoundElements++ >= 2) break;
                            }
                        }
    
                        dir.put(frame, midPoint);
    
                        directionsContainingFramesMidPoints.put(direction, dir);
                        baos.close();
                    }
    
    
                }
            }
    
            // zip has been processed, hashmaps filled, so unpack to proper class structures:
    
            Iterator<Integer> directionIt = directionsContainingFrames.keySet().iterator();
            while (directionIt.hasNext()) {
                int currentDirection = directionIt.next();
    
    
                // first we want to manufacture a bufferedImageArray for instantiating the animatedSpriteSpecial for this current direction...
    
                HashMap<Integer, BufferedImage> frames = directionsContainingFrames.get(currentDirection);
                HashMap<Integer, Point> midPoints = directionsContainingFramesMidPoints.get(currentDirection);
    
                int frameCount = frames.keySet().size();
                BufferedImage[] bufferedImageArray = new BufferedImage[frameCount];
                Point[] midPointArray = new Point[frameCount];
    
                ArrayList sortedFrameNumbers = new ArrayList(frames.keySet());
                Collections.sort(sortedFrameNumbers);
                int count = 0;
    
                Iterator<Integer> frameIt = sortedFrameNumbers.iterator();
                while (frameIt.hasNext()) {
                    int currentFrame = frameIt.next();
                    bufferedImageArray[count] = frames.get(currentFrame);
                    midPointArray[count] = midPoints.get(currentFrame);
                    count++;
                }
    
                ResourceManager.log("Tranisent: Loaded " + count + " frames ...");
    
    
                // finally instantiate an animatedSpriteSpecial for it
    
                AnimatedSpriteSpecial ass = new AnimatedSpriteSpecial(bufferedImageArray, midPointArray);
    
                switch (currentDirection) {
                    case 0:
                        direction0 = ass;
                        break;
                    case 1:
                        direction1 = ass;
                        break;
                    case 2:
                        direction2 = ass;
                        break;
                    case 3:
                        direction3 = ass;
                        break;
                    case 4:
                        direction4 = ass;
                        break;
                    case 5:
                        direction5 = ass;
                        break;
                    case 6:
                        direction6 = ass;
                        break;
                    case 7:
                        direction7 = ass;
                        break;
                }
            }
    
            // don't cross ... uhh... close the streams!
            //zis.close();
    
    
        }
    
    
        public void update(long elapsedTime, int direction) {
            switch (direction) {
                case 0:
                    direction0.update(elapsedTime);
                    break;
                case 1:
                    direction1.update(elapsedTime);
                    break;
                case 2:
                    direction2.update(elapsedTime);
                    break;
                case 3:
                    direction3.update(elapsedTime);
                    break;
                case 4:
                    direction4.update(elapsedTime);
                    break;
                case 5:
                    direction5.update(elapsedTime);
                    break;
                case 6:
                    direction6.update(elapsedTime);
                    break;
                case 7:
                    direction7.update(elapsedTime);
                    break;
            }
        }
    }
    
    Video footage of work in operation:






    Now I'll hear your accusations from your own mouths, that is if you're not too cowardly to post them here.
     
  3. Unread #2 - Oct 25, 2010 at 5:58 AM
  4. Sarad0m1nz
    Joined:
    Aug 29, 2007
    Posts:
    1,575
    Referrals:
    0
    Sythe Gold:
    0

    Sarad0m1nz Guru

    Sythe.org MMORPG accusations

    Dude, why are you making all these threads that aren't going to get you anywhere. You know that your talking to thin air and trolls ain't gonna come trolling back just because you ask them to. They all know you can't be beaten and I really don't think there was anyone but trollers accusing you of shit. I suggest you leave it be because I really don't see any point even if somebody replies with an argument because you'll whoop their ass in any case.
     
  5. Unread #3 - Oct 25, 2010 at 6:02 AM
  6. Sythe
    Joined:
    Apr 21, 2005
    Posts:
    8,071
    Referrals:
    467
    Sythe Gold:
    5,281
    Discord Unique ID:
    742989175824842802
    Discord Username:
    Sythe
    Dolan Duck Dolan Trump Supporting Business ???
    Poképedia
    Clefairy Jigglypuff
    Who did this to my freakin' car!
    Hell yeah boooi
    Tier 3 Prizebox Toast Wallet User
    I'm LAAAAAAAME Rust Player Mewtwo Mew Live Free or Die Poké Prizebox (42) Dat Boi

    Sythe Join our discord

    test

    Administrator Village Drunk

    Sythe.org MMORPG accusations

    Well, because frankly I'm sick of it. I'm sick of them, and I'm sick of their snickering shit. If they have valid claims to make against me then they should front up and make them, else they should fuck off.

    And now I can direct them to this very thread, should ever the issue arise again. Morally repugnant human beings need to be put out in the light and shown for what they are. Scammers, fraudsters, liars, libelers, and plain flat out good for nothing cheating whining failures. And yes, I am talking about people who frequent ghostirc.
     
  7. Unread #4 - Oct 25, 2010 at 6:48 AM
  8. Sarad0m1nz
    Joined:
    Aug 29, 2007
    Posts:
    1,575
    Referrals:
    0
    Sythe Gold:
    0

    Sarad0m1nz Guru

    Sythe.org MMORPG accusations

    Haha, well I didn't think of it that way. Using the threads you created to any accuser that directs themselves at you. Every time that happens you can simply redirect them to the threads you made. Also, keep in mind a lot of kids visit the site and a lot of them like to deal with their phycological issues by being trolls on sites like these and ghostirc etc. Just because they troll and accuse doesn't mean they're 'morally repugnant scammers, fraudsters..' etc. I don't think it's good for you to rage about people as pitiful as trolls and whatnot. I do understand your frustration towards these sorts of people but there's one simple step to achieve your solution. Just ignore every single one of them. It's probably me that doesn't understand why you don't just do so... please enlighten me.
     
  9. Unread #5 - Oct 25, 2010 at 8:02 AM
  10. Bubba Fuzz
    Joined:
    Jun 7, 2010
    Posts:
    3,435
    Referrals:
    2
    Sythe Gold:
    0
    Dragon Ball Shitting Rainbow Extreme Homosex

    Bubba Fuzz Shit happens, Life goes on. Just. Keep. Going.
    bubba fuzz Donor

    Sythe.org MMORPG accusations

    Looks like a good start! I actually didn't know there was going to be a Sythe MMO before seeing this thread but I am excited to see the final product. :)
     
  11. Unread #6 - Oct 25, 2010 at 8:04 AM
  12. Hahanerd
    Joined:
    Jul 25, 2009
    Posts:
    19,191
    Referrals:
    86
    Sythe Gold:
    1,347
    Discord Unique ID:
    224351757424132106
    Discord Username:
    Hahanerd
    Former OMM Pool Shark (2) Detective Two Factor Authentication User Nitro Booster In Memory of Jon Rio 2016 Community Participant

    Hahanerd sportsisland.org - RSGP & Crypto Betting
    Retired Global Moderator Cracker Head Mudkips $100 USD Donor

    Sythe.org MMORPG accusations

    I honestly don't think it's going to be finished.
     
  13. Unread #7 - Oct 25, 2010 at 8:10 AM
  14. Govind
    Joined:
    Apr 22, 2005
    Posts:
    7,825
    Referrals:
    13
    Sythe Gold:
    23
    Prove it! Trole Tier 1 Prizebox Tortoise Penis Le Monkey UWotM8? Wait, do you not have an Archer rank? Potamus

    Govind The One Musketeer
    Mudkips Highly Respected Retired Administrator

    Sythe.org MMORPG accusations

    Do you remember back when you had the "official 'challenge sythe' thread"? That might be easier to deal with than individual threads on every possible topic people might bring up against you.

    PS:
    You could have just done:
    Code:
    tree /f
     
  15. Unread #8 - Oct 25, 2010 at 8:13 AM
  16. Sythe
    Joined:
    Apr 21, 2005
    Posts:
    8,071
    Referrals:
    467
    Sythe Gold:
    5,281
    Discord Unique ID:
    742989175824842802
    Discord Username:
    Sythe
    Dolan Duck Dolan Trump Supporting Business ???
    Poképedia
    Clefairy Jigglypuff
    Who did this to my freakin' car!
    Hell yeah boooi
    Tier 3 Prizebox Toast Wallet User
    I'm LAAAAAAAME Rust Player Mewtwo Mew Live Free or Die Poké Prizebox (42) Dat Boi

    Sythe Join our discord

    test

    Administrator Village Drunk

    Sythe.org MMORPG accusations

    Doesn't give the full path.

    Yes it was suspended due to lack of community interest (particularly on the side of anyone actually contributing).
     
  17. Unread #9 - Oct 25, 2010 at 8:15 AM
  18. Hahanerd
    Joined:
    Jul 25, 2009
    Posts:
    19,191
    Referrals:
    86
    Sythe Gold:
    1,347
    Discord Unique ID:
    224351757424132106
    Discord Username:
    Hahanerd
    Former OMM Pool Shark (2) Detective Two Factor Authentication User Nitro Booster In Memory of Jon Rio 2016 Community Participant

    Hahanerd sportsisland.org - RSGP & Crypto Betting
    Retired Global Moderator Cracker Head Mudkips $100 USD Donor

    Sythe.org MMORPG accusations

    I'd love for this to be finished. I'd definitely be interested. How and how much can we contribute to this?
     
  19. Unread #10 - Oct 25, 2010 at 8:18 AM
  20. Sythe
    Joined:
    Apr 21, 2005
    Posts:
    8,071
    Referrals:
    467
    Sythe Gold:
    5,281
    Discord Unique ID:
    742989175824842802
    Discord Username:
    Sythe
    Dolan Duck Dolan Trump Supporting Business ???
    Poképedia
    Clefairy Jigglypuff
    Who did this to my freakin' car!
    Hell yeah boooi
    Tier 3 Prizebox Toast Wallet User
    I'm LAAAAAAAME Rust Player Mewtwo Mew Live Free or Die Poké Prizebox (42) Dat Boi

    Sythe Join our discord

    test

    Administrator Village Drunk

    Sythe.org MMORPG accusations


    I have no plans for opening it back up at this point. But if I do, I will be taking creative contributions toward it only. (Artwork, map designs, music, sounds, storyline.)
     
  21. Unread #11 - Oct 25, 2010 at 8:23 AM
  22. Hahanerd
    Joined:
    Jul 25, 2009
    Posts:
    19,191
    Referrals:
    86
    Sythe Gold:
    1,347
    Discord Unique ID:
    224351757424132106
    Discord Username:
    Hahanerd
    Former OMM Pool Shark (2) Detective Two Factor Authentication User Nitro Booster In Memory of Jon Rio 2016 Community Participant

    Hahanerd sportsisland.org - RSGP & Crypto Betting
    Retired Global Moderator Cracker Head Mudkips $100 USD Donor

    Sythe.org MMORPG accusations

    Hmm. So would this somewhat be like a Runescape Private Server?
     
  23. Unread #12 - Oct 25, 2010 at 8:32 AM
  24. Sythe
    Joined:
    Apr 21, 2005
    Posts:
    8,071
    Referrals:
    467
    Sythe Gold:
    5,281
    Discord Unique ID:
    742989175824842802
    Discord Username:
    Sythe
    Dolan Duck Dolan Trump Supporting Business ???
    Poképedia
    Clefairy Jigglypuff
    Who did this to my freakin' car!
    Hell yeah boooi
    Tier 3 Prizebox Toast Wallet User
    I'm LAAAAAAAME Rust Player Mewtwo Mew Live Free or Die Poké Prizebox (42) Dat Boi

    Sythe Join our discord

    test

    Administrator Village Drunk

    Sythe.org MMORPG accusations

    The point of the thread is really not to discuss what the game was going to be.

    Briefly, I had always envisioned it being more like a diablo-like mmo, but its own game, not a cheap takeoff of another game.

    Architecturally it is a unique design, in that it has p2p or "swarm" gameplay, and a system of rules for adjudicating the authoritative game outcome from a swarm of peers with no central play server, only a central score server. The mechanisms for doing this are built in to the map level, you can see "ARENA" in the top right, that defines the swarm you belong to -- which is all the players on your current territory of the map.
     
  25. Unread #13 - Oct 25, 2010 at 10:08 AM
  26. apiel06
    Joined:
    Aug 6, 2010
    Posts:
    450
    Referrals:
    0
    Sythe Gold:
    8

    apiel06 Forum Addict

    Sythe.org MMORPG accusations

    only thing i could possibly help with is the storyline i fail hardcore at all the others (alltho do play the saxophone if you want me to record some of that lol)
    wel it seems pretty interesting, it would be a shame if all that work put in would be to no avail. Then again don't through good money after bad.
     
  27. Unread #14 - Oct 25, 2010 at 10:11 AM
  28. Gohan
    Joined:
    Mar 16, 2007
    Posts:
    23,695
    Referrals:
    16
    Sythe Gold:
    248
    Discord Unique ID:
    100075291572998144
    Spam Forum Participant Rust Player

    Gohan Legend
    Retired Sectional Moderator Cracker Head $25 USD Donor Prince Yobabo

    Sythe.org MMORPG accusations

    Why not open the forum for it back up, and see what kind of ideas could be shared?
     
  29. Unread #15 - Oct 25, 2010 at 10:18 AM
  30. goku usa
    Joined:
    Jul 6, 2010
    Posts:
    1,280
    Referrals:
    0
    Sythe Gold:
    0

    goku usa Guru
    Banned

    Sythe.org MMORPG accusations

    I didn't either. Neither was I aware of those "trolls" that are accusing sythe. Even if he doesn't create MMRPG, I couldn't care less because being part of this community is enough.

    You never know
     
  31. Unread #16 - Oct 25, 2010 at 10:42 AM
  32. Sanctuary
    Joined:
    Feb 1, 2007
    Posts:
    4,990
    Referrals:
    1
    Sythe Gold:
    13

    Sanctuary Community Cuddle Puddle

    Sythe.org MMORPG accusations

    I agree, so just ban them?

    Honestly, it IS your site.
     
  33. Unread #17 - Oct 25, 2010 at 1:04 PM
  34. Karl
    Joined:
    Jul 17, 2010
    Posts:
    5,755
    Referrals:
    11
    Sythe Gold:
    110

    Karl Devils Advocate
    Do Not Trade

    Sythe.org MMORPG accusations

    He does, they return. Nothing can be done except deal with them when they do.
     
  35. Unread #18 - Oct 25, 2010 at 1:07 PM
  36. Russia
    Joined:
    Jan 2, 2010
    Posts:
    355
    Referrals:
    1
    Sythe Gold:
    0

    Russia Forum Addict
    Banned

    Sythe.org MMORPG accusations

    Looks like a nice start. I think that it would take lots of time and work to make it look good and be fun. I hope it works out well though.
     
  37. Unread #19 - Oct 25, 2010 at 1:25 PM
  38. Karl
    Joined:
    Jul 17, 2010
    Posts:
    5,755
    Referrals:
    11
    Sythe Gold:
    110

    Karl Devils Advocate
    Do Not Trade

    Sythe.org MMORPG accusations

    You musn't have read the thread, it was about the accusations he was getting that this hadn't existed.

    He has also said he wasnt making this anymore.
     
  39. Unread #20 - Oct 25, 2010 at 7:28 PM
  40. Blupig
    Joined:
    Nov 23, 2006
    Posts:
    7,145
    Referrals:
    16
    Sythe Gold:
    1,609
    Discord Unique ID:
    178533992981594112
    Valentine's Singing Competition Winner Member of the Month Winner MushyMuncher Gohan has AIDS Extreme Homosex World War 3 I'm LAAAAAAAME
    Off Topic Participant

    Blupig BEEF TOILET
    $5 USD Donor

    Sythe.org MMORPG accusations

    An MMO is too much work, we should have just gone with a WoW or RS private server. Also, nice usage of Diablo II textures and sprites ;)
     
< Have you ever felt alone like as if no one cared? | Ghosts, Demons, Heaven & Hell. Are they real? >

Users viewing this thread
1 guest


 
 
Adblock breaks this site