Advertisement
IHATEMICROWAVEOVEN

Jokemon Calc Project

Apr 13th, 2023 (edited)
1,137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 36.35 KB | None | 0 0
  1. -- MULTIPLIERS
  2. local N = 2/3
  3. local S = 1.5
  4. local I = 0
  5. local STAB = 1.25
  6.  
  7.  
  8. -- DATA DICTS
  9. local types = {
  10.     "None",      -- 1
  11.     "Normal",    -- 2
  12.     "Fire",      -- 3
  13.     "Water",     -- 4
  14.     "Electric",  -- 5
  15.     "Grass",     -- 6
  16.     "Ice",       -- 7
  17.     "Fighting",  -- 8
  18.     "Poison",    -- 9
  19.     "Ground",    -- 10
  20.     "Flying",    -- 11
  21.     "Psychic",   -- 12
  22.     "Bug",       -- 13
  23.     "Rock",      -- 14
  24.     "Ghost",     -- 15
  25.     "Dragon",    -- 16
  26.     "Dark",      -- 17
  27.     "Steel",     -- 18
  28.     "Fairy"      -- 19
  29. }
  30.  
  31. local dex = {
  32.     {"Meganium", 6, 1, 91, 84, "MagicLeaf", "MegaDrain", "Solarbeam", "FrenzyPlant"},
  33.     {"Typhlosion", 3, 1, 78, 100, "QuickAttack", "Flamethrower", "FireBlast", "BlastBurn"},
  34.     {"Feraligatr", 4, 1, 83, 93, "Surf", "Slash", "HydroPump", "HydroCannon"},
  35.     {"Raticate", 2, 1, 62, 81, "QuickAttack", "Bite", "HyperFang", "SuperFang"},
  36.     {"Pidgeot", 2, 11, 78, 84, "Gust", "QuickAttack", "AirSlash", "SkyAttack"},
  37.     {"Butterfree", 13, 11, 68, 73, "Gust", "Psychic", "MegaDrain", "SignalBeam"},
  38.     {"Raichu", 5, 1, 65, 95, "Thunderbolt", "Thunder", "IronTail", "VoltTackle"},
  39.     {"Vileplume", 6, 9, 74, 87, "RazorLeaf", "MegaDrain", "Acid", "Solarbeam"},
  40.     {"Primeape", 8, 1, 65, 90, "Scratch", "KarateChop", "IronTail", "CloseCombat"},
  41.     {"Nidoking", 9, 10, 78, 91, "DoubleKick", "HornAttack", "SludgeBomb", "Earthquake"},
  42.     {"Eevee", 2, 1, 56, 52, "nil", "nil", "nil", "nil"},
  43.     {"Vaporeon", 4, 1, 90, 85, "Bubble", "Bubblebeam", "Surf", "HydroPump"},
  44.     {"Jolteon", 5, 1, 73, 102, "Thundershock", "DoubleKick", "Thunderbolt", "Thunder"},
  45.     {"Flareon", 3, 1, 67, 108, "QuickAttack", "Ember", "Flamethrower", "FireBlast"},
  46.     {"Espeon", 12, 1, 67, 108, "QuickAttack", "Confusion", "Psybeam", "Psychic"},
  47.     {"Umbreon", 17, 1, 110, 70, "QuickAttack", "Bite", "DarkPulse", "FoulPlay"},
  48.     {"Leafeon", 6, 1, 80, 95, "Absorb", "RazorLeaf", "MagicLeaf", "Solarbeam"},
  49.     {"Glaceon", 7, 1, 75, 100, "QuickAttack", "IcyWind", "AuroraBeam", "Blizzard"},
  50.     {"Sylveon", 19, 1, 97, 78, "QuickAttack", "FairyWind", "DrainingKiss", "Moonblast"},
  51.     {"Golem", 14, 10, 89, 81, "RockBlast", "Flamethrower", "Earthquake", "Selfdestruct"},
  52.     {"Crobat", 9, 11, 88, 90, "AirSlash", "Psychic", "MegaDrain", "SludgeBomb"},
  53.     {"Machamp", 8, 1, 80, 95, "KarateChop", "RockThrow", "BodySlam", "CloseCombat"},
  54.     {"Rhyperior", 14, 10, 100, 78, "HornAttack", "RockBlast", "Earthquake", "RockWrecker"},
  55.     {"Alakazam", 12, 1, 60, 120, "Psybeam", "Recover", "Psychic", "FocusBlast"},
  56.     {"Steelix", 18, 10, 103, 70, "RockThrow", "RockBlast", "Earthquake", "IronTail"},
  57.     {"Rapidash", 3, 1, 71, 95, "Ember", "HornAttack", "DoubleKick", "FireBlast"},
  58.     {"Gliscor", 10, 11, 96, 78, "Slash", "X-Scissor", "Earthquake", "AirSlash"},
  59.     {"Altaria", 16, 11, 90, 78, "Gust", "Dragonbreath", "AirSlash", "DragonPulse"},
  60.     {"Ampharos", 5, 1, 88, 82, "Thunderpunch", "SignalBeam", "Thunder", "DragonPulse"},
  61.     {"Gardevoir", 12, 19, 83, 90, "MagicLeaf", "Psychic", "ShadowBall", "Moonblast"},
  62.     {"Gallade", 12, 8, 83, 90, "FalseSwipe", "Slash", "Psychic", "CloseCombat"},
  63.     {"Houndoom", 17, 3, 68, 98, "Bite", "Flamethrower", "FireBlast", "FoulPlay"},
  64.     {"Blissey", 2, 1, 155, 60, "Pound", "BodySlam", "Metronome", "Soft-Boiled"},
  65.     {"Tauros", 2, 1, 80, 88, "Tackle", "HornAttack", "BodySlam", "HyperBeam"},
  66.     {"Rotom", 5, 15, 68, 79, "Thundershock", "ShadowBall", "Thunderbolt", "Thunder"},
  67.     {"RotomWash", 5, 4, 88, 85, "Thundershock", "HydroPump", "Thunderbolt", "Thunder"},
  68.     {"RotomMow", 5, 6, 88, 85, "Thundershock", "LeafStorm", "Thunderbolt", "Thunder"},
  69.     {"RotomFrost", 5, 7, 88, 85, "Thundershock", "Blizzard", "Thunderbolt", "Thunder"},
  70.     {"RotomHeat", 5, 3, 88, 85, "Thundershock", "Overheat", "Thunderbolt", "Thunder"},
  71.     {"RotomFan", 5, 11, 88, 85, "Thundershock", "AirSlash", "Thunderbolt", "Thunder"},
  72.     {"Mismagius", 15, 1, 75, 90, "Psybeam", "MagicLeaf", "ShadowBall", "ShadowClaw"},
  73.     {"Gengar", 15, 9, 60, 107, "Confusion", "Psychic", "DarkPulse", "ShadowBall"},
  74.     {"Dewgong", 4, 7, 89, 75, "Bubblebeam", "AuroraBeam", "Psychic", "Blizzard"},
  75.     {"Mamoswine", 10, 7, 83, 95, "IcyWind", "AncientPower", "AuroraBeam", "Earthquake"},
  76.     {"Weavile", 7, 17, 65, 110, "IcyWind", "Slash", "AuroraBeam", "NightSlash"},
  77.     {"Lapras", 4, 7, 100, 78, "Bubblebeam", "AuroraBeam", "HydroPump", "HyperBeam"},
  78.     {"Delibird", 7, 11, 45, 65, "Present", "Present", "Present", "Present"},
  79.     {"Ludicolo", 4, 6, 79, 81, "MegaDrain", "Bubblebeam", "Surf", "Solarbeam"},
  80.     {"Whiscash", 4, 10, 84, 72, "Bubble", "Bubblebeam", "HydroPump", "Earthquake"},
  81.     {"Poliwrath", 4, 8, 78, 92, "Bubblebeam", "HydroPump", "KarateChop", "Psychic"},
  82.     {"Gyarados", 4, 11, 83, 97, "Dragonbreath", "Surf", "HydroPump", "HyperBeam"},
  83.     {"Electrode", 5, 1, 70, 93, "Selfdestruct", "Thundershock", "Thunderbolt", "Thunder"},
  84.     {"Magnezone", 18, 5, 76, 104, "Thundershock", "Thunderbolt", "ZapCannon", "HyperBeam"},
  85.     {"Persian", 2, 1, 65, 90, "PayDay", "Slash", "Bubblebeam", "Thunderbolt"},
  86.     {"Weezing", 9, 1, 90, 78, "Selfdestruct", "Acid", "SludgeBomb", "FireBlast"},
  87.     {"Aggron", 14, 18, 87, 89, "MetalClaw", "RockThrow", "IronTail", "Earthquake"},
  88.     {"Garchomp", 16, 10, 81, 109, "Dragonbreath", "DragonRush", "Earthquake", "FireBlast"},
  89.     {"Magcargo", 3, 14, 90, 73, "RockThrow", "RockBlast", "Flamethrower", "FireBlast"},
  90.     {"Magmortar", 3, 1, 79, 101, "Ember", "Flamethrower", "FireBlast", "HyperBeam"},
  91.     {"Ninetales", 3, 1, 84, 84, "Flamethrower", "HyperBeam", "FireBlast", "SacredFire"},
  92.     {"Wailord", 4, 1, 110, 69, "Bubblebeam", "Surf", "HydroPump", "Metronome"},
  93.     {"Kingdra", 4, 16, 88, 87, "WaterGun", "Bubblebeam", "HydroPump", "DragonPulse"},
  94.     {"Ledian", 13, 11, 75, 62, "Gust", "MegaDrain", "SignalBeam", "Solarbeam"},
  95.     {"Heracross", 13, 8, 74, 93, "HornAttack", "Gust", "MegaDrain", "CloseCombat"},
  96.     {"Scizor", 13, 18, 83, 94, "FalseSwipe", "X-Scissor", "Slash", "BulletPunch"},
  97.     {"Electivire", 5, 1, 71, 109, "Thundershock", "Thunderbolt", "Thunder", "BodySlam"},
  98.     {"Lucario", 18, 8, 67, 108, "DarkPulse", "AuraSphere", "DragonPulse", "ExtremeSpeed"},
  99.     {"Skarmory", 18, 11, 95, 70, "Slash", "AirSlash", "NightSlash", "DrillPeck"},
  100.     {"Metagross", 18, 12, 100, 90, "MetalClaw", "Psychic", "MeteorMash", "HyperBeam"},
  101.     {"Absol", 17, 1, 67, 101, "QuickAttack", "Slash", "Psychic", "DarkPulse"},
  102.     {"Banette", 15, 1, 65, 100, "FoulPlay", "ShadowBall", "PlayRough", "ShadowClaw"},
  103.     {"Sableye", 17, 15, 63, 63, "Slash", "ShadowBall", "DarkPulse", "FoulPlay"},
  104.     {"Togekiss", 19, 11, 98, 80, "AirSlash", "Metronome", "AuraSphere", "DazzlingGleam"},
  105.     {"Dragonite", 16, 11, 86, 109, "Thunderbolt", "FireBlast", "DarkPulse", "Solarbeam"},
  106.     {"Regirock", 14, 1, 116, 84, "RockThrow", "BodySlam", "AncientPower", "Superpower"},
  107.     {"Registeel", 18, 1, 116, 84, "Thunderbolt", "Thunder", "ZapCannon", "Superpower"},
  108.     {"Regice", 7, 1, 116, 84, "IcyWind", "Bubblebeam", "AuroraBeam", "Superpower"},
  109.     {"Articuno", 7, 11, 110, 90, "IcyWind", "Gust", "AuroraBeam", "Blizzard"},
  110.     {"Zapdos", 5, 11, 85, 115, "Thundershock", "Thunderbolt", "Thunder", "DrillPeck"},
  111.     {"Moltres", 3, 11, 90, 110, "Gust", "Flamethrower", "FireBlast", "Solarbeam"},
  112.     {"Lugia", 12, 11, 130, 97, "Bubblebeam", "Psychic", "HydroPump", "Aeroblast"},
  113.     {"Ho-oh", 3, 11, 108, 119, "Thunderbolt", "Thunder", "HyperBeam", "SacredFire"},
  114.     {"Rayquaza", 16, 11, 89, 137, "Thunderbolt", "Thunder", "HyperBeam", "DracoMeteor"},
  115.     {"Celebi", 6, 12, 100, 100, "Confusion", "MagicLeaf", "Psychic", "LeafStorm"},
  116.     {"Jirachi", 18, 12, 100, 100, "Confusion", "Psychic", "Metronome", "Thunder"},
  117.     {"Shaymin", 6, 1, 100, 100, "RazorLeaf", "MagicLeaf", "Solarbeam", "SeedFlare"},
  118.     {"Cresselia", 12, 1, 125, 75, "Metronome", "AuroraBeam", "Psychic", "HyperBeam"},
  119.     {"Darkrai", 17, 1, 79, 121, "Psychic", "ShadowBall", "DarkPulse", "DarkVoid"},
  120.     {"Victini", 12, 3, 100, 100, "Confusion", "Psychic", "Flamethrower", "V-Create"},
  121.     {"Mewtwo", 12, 1, 95, 131, "Psychic", "AuraSphere", "Recover", "Psystrike"},
  122.     {"DeoxysN", 12, 1, 50, 150, "Psychic", "Recover", "PsychoBoost", "HyperBeam"},
  123.     {"DeoxysA", 12, 1, 30, 170, "Thunder", "ShadowBall", "PsychoBoost", "FocusBlast"},
  124.     {"DeoxysD", 12, 1, 130, 70, "Psychic", "Rest", "PsychoBoost", "ShadowBall"},
  125.     {"DeoxysS", 12, 1, 72, 118, "Thunderbolt", "ExtremeSpeed", "PsychoBoost", "HyperBeam"},
  126.     {"Mew", 12, 1, 100, 100, "Confusion", "Metronome", "Psychic", "Recover"},
  127.     {"Dialga", 16, 18, 96, 131, "IronTail", "RoarOfTime", "Dragonbreath", "Earthquake"},
  128.     {"Palkia", 16, 4, 93, 133, "Dragonbreath", "SpatialRend", "HydroPump", "DragonPulse"},
  129.     {"Giratina", 16, 15, 130, 96, "AncientPower", "Earthquake", "DracoMeteor", "ShadowForce"},
  130.     {"Arceus", 2, 1, 120, 120, "Judgement", "SacredFire", "Recover", "TheTruth"},
  131.     {"Missingno", 2, 11, 39, 136, "WaterGun", "WaterGun", "SkyAttack", "nil"},
  132.     {"Boneman", 7, 15, 1, 350, "AuroraBeam", "Psychic", "ShadowBall", "Blizzard"},
  133.     {"Impostus", 2, 15, 120, 150, "Metronome", "Metronome", "Metronome", "Metronome"},
  134.     {"Okipullup", 2, 10, 120, 120, "Bite", "HyperFang", "Earthquake", "Surf"},
  135.     {"BrahmaBull", 8, 14, 150, 196, "RockThrow", "Superpower", "Thunderbolt", "RockBottom"},
  136.     {"EndOfDex", 1, 1, 1, 1, "nil", "nil", "nil", "nil"},
  137.     {"Bro you are at the end of the dex", 1, 1, 1, 1, "nil", "nil", "nil", "nil"}
  138. }
  139.  
  140. local movedex = {
  141.     ["Selfdestruct"] = {200, 100, 2},
  142.     ["HyperBeam"] = {150, 100, 2},
  143.     ["V-Create"] = {150, 100, 3},
  144.     ["Superpower"] = {120, 100, 8},
  145.     ["CloseCombat"] = {120, 100, 8},
  146.     ["Judgement"] = {120, 100, 2},
  147.     ["RockBottom"] = {120, 100, 14},
  148.     ["ShadowForce"] = {120, 100, 15},
  149.     ["SkyAttack"] = {120, 100, 11},
  150.     ["Solarbeam"] = {120, 100, 6},
  151.     ["VoltTackle"] = {120, 100, 5},
  152.     ["Psystrike"] = {110, 100, 12},
  153.     ["Aeroblast"] = {100, 100, 11},
  154.     ["DarkVoid"] = {100, 100, 17},
  155.     ["DracoMeteor"] = {100, 100, 16},
  156.     ["SacredFire"] = {100, 100, 3},
  157.     ["DragonPulse"] = {90, 100, 16},
  158.     ["Earthquake"] = {90, 100, 10},
  159.     ["Flamethrower"] = {90, 100, 4},
  160.     ["Moonblast"] = {90, 100, 19},
  161.     ["Psychic"] = {90, 100, 12},
  162.     ["SludgeBomb"] = {90, 100, 9},
  163.     ["Surf"] = {90, 100, 4},
  164.     ["Thunderbolt"] = {90, 100, 5},
  165.     ["AuraSphere"] = {80, 100, 8},
  166.     ["DarkPulse"] = {80, 100, 17},
  167.     ["DrillPeck"] = {80, 100, 11},
  168.     ["FlashCannon"] = {80, 100, 18},
  169.     ["HyperFang"] = {80, 100, 2},
  170.     ["ShadowBall"] = {80, 100, 15},
  171.     ["AirSlash"] = {75, 100, 11},
  172.     ["AuroraBeam"] = {75, 100, 7},
  173.     ["Bubblebeam"] = {75, 100, 4},
  174.     ["MagicLeaf"] = {75, 100, 6},
  175.     ["Psybeam"] = {75, 100, 12},
  176.     ["RockBlast"] = {75, 100, 14},
  177.     ["SignalBeam"] = {75, 100, 13},
  178.     ["Thunderpunch"] = {75, 100, 5},
  179.     ["BodySlam"] = {70, 100, 2},
  180.     ["DazzlingGleam"] = {70, 100, 19},
  181.     ["ExtremeSpeed"] = {70, 100, 2},
  182.     ["NightSlash"] = {70, 100, 17},
  183.     ["ShadowClaw"] = {70, 100, 15},
  184.     ["Slash"] = {70, 100, 2},
  185.     ["X-Scissor"] = {70, 100, 13},
  186.     ["AncientPower"] = {65, 100, 14},
  187.     ["FalseSwipe"] = {65, 100, 2},
  188.     ["DoubleKick"] = {60, 100, 8},
  189.     ["Acid"] = {60, 100, 9},
  190.     ["Bite"] = {60, 100, 17},
  191.     ["BulletPunch"] = {60, 100, 18},
  192.     ["Dragonbreath"] = {60, 100, 16},
  193.     ["FuryCutter"] = {60, 100, 13},
  194.     ["HornAttack"] = {60, 100, 2},
  195.     ["IcyWind"] = {60, 100, 7},
  196.     ["MetalClaw"] = {60, 100, 18},
  197.     ["RockThrow"] = {60, 100, 14},
  198.     ["PayDay"] = {60, 100, 2},
  199.     ["Gust"] = {55, 100, 11},
  200.     ["RazorLeaf"] = {55, 100, 6},
  201.     ["SpatialRend"] = {55, 100, 16},
  202.     ["Confusion"] = {50, 100, 12},
  203.     ["Ember"] = {50, 100, 3},
  204.     ["KarateChop"] = {50, 100, 8},
  205.     ["QuickAttack"] = {50, 100, 2},
  206.     ["Bubble"] = {40, 100, 4},
  207.     ["FairyWind"] = {40, 100, 19},
  208.     ["Pound"] = {40, 100, 2},
  209.     ["Scratch"] = {40, 100, 2},
  210.     ["Tackle"] = {40, 100, 2},
  211.     ["Thundershock"] = {40, 100, 5},
  212.     ["WaterGun"] = {40, 100, 4},
  213.     ["PoisonSting"] = {35, 100, 9},
  214.     ["LeechLife"] = {30, 100, 13},
  215.     ["Lick"] = {30, 100, 15},
  216.     ["BlastBurn"] = {140, 95, 3},
  217.     ["FrenzyPlant"] = {140, 95, 6},
  218.     ["HydroCannon"] = {140, 95, 4},
  219.     ["RoarOfTime"] = {140, 95, 16},
  220.     ["RockWrecker"] = {140, 95, 14},
  221.     ["PsychoBoost"] = {130, 95, 12},
  222.     ["PlayRough"] = {70, 95, 19},
  223.     ["LeafStorm"] = {130, 90, 6},
  224.     ["Overheat"] = {130, 90, 3},
  225.     ["HighJumpKick"] = {100, 90, 8},
  226.     ["MeteorMash"] = {85, 90, 18},
  227.     ["SeedFlare"] = {120, 85, 6},
  228.     ["Blizzard"] = {120, 80, 7},
  229.     ["FireBlast"] = {120, 80, 3},
  230.     ["HydroPump"] = {110, 80, 4},
  231.     ["Thunder"] = {110, 80, 5},
  232.     ["DragonRush"] = {100, 80, 16},
  233.     ["IronTail"] = {100, 80, 18},
  234.     ["FocusBlast"] = {120, 70, 8},
  235.     ["ZapCannon"] = {140, 60, 5},
  236.    
  237.     ["DrainingKiss"] = {70, 100, 19},
  238.     ["MegaDrain"] = {60, 100, 6},
  239.     ["Absorb"] = {30, 100, 6},
  240.     ["Recover"] = {0, 100, 2},
  241.     ["Soft-Boiled"] = {0, 100, 2},
  242.     ["Rest"] = {0, 100, 12},
  243.    
  244.     ["FoulPlay"] = {95, 100, 17},
  245.     ["SuperFang"] = {0, 100, 2},
  246.     ["Present"] = {0, 100, 2},
  247.     ["Metronome"] = {0, 100, 2},
  248.     ["TheTruth"] = {0, 100, 2},
  249.     ["nil"] = {0, 0, 1},
  250. }
  251.  
  252. local typechart = {
  253.    { -- NONE
  254.         1,    -- None
  255.         1,    -- Normal
  256.         1,    -- Fire
  257.         1,    -- Water
  258.         1,    -- Electric
  259.         1,    -- Grass
  260.         1,    -- Ice
  261.         1,    -- Fighting
  262.         1,    -- Poison
  263.         1,    -- Ground
  264.         1,    -- Flying
  265.         1,    -- Psychic
  266.         1,    -- Bug
  267.         1,    -- Rock
  268.         1,    -- Ghost
  269.         1,    -- Dragon
  270.         1,    -- Dark
  271.         1,    -- Steel
  272.         1,    -- Fairy
  273.     },
  274.     { -- NORMAL
  275.         1,    -- None
  276.         1,    -- Normal
  277.         1,    -- Fire
  278.         1,    -- Water
  279.         1,    -- Electric
  280.         1,    -- Grass
  281.         1,    -- Ice
  282.         1,    -- Fighting
  283.         1,    -- Poison
  284.         1,    -- Ground
  285.         1,    -- Flying
  286.         1,    -- Psychic
  287.         1,    -- Bug
  288.         N,    -- Rock
  289.         I,    -- Ghost
  290.         1,    -- Dragon
  291.         1,    -- Dark
  292.         N,    -- Steel
  293.         1,    -- Fairy
  294.     },
  295.     { -- FIRE
  296.         1,    -- None
  297.         1,    -- Normal
  298.         N,    -- Fire
  299.         N,    -- Water
  300.         1,    -- Electric
  301.         S,    -- Grass
  302.         S,    -- Ice
  303.         1,    -- Fighting
  304.         1,    -- Poison
  305.         1,    -- Ground
  306.         1,    -- Flying
  307.         1,    -- Psychic
  308.         S,    -- Bug
  309.         N,    -- Rock
  310.         1,    -- Ghost
  311.         N,    -- Dragon
  312.         1,    -- Dark
  313.         S,    -- Steel
  314.         1,    -- Fairy
  315.     },
  316.     { -- WATER
  317.         1,    -- None
  318.         1,    -- Normal
  319.         S,    -- Fire
  320.         N,    -- Water
  321.         1,    -- Electric
  322.         N,    -- Grass
  323.         1,    -- Ice
  324.         1,    -- Fighting
  325.         1,    -- Poison
  326.         S,    -- Ground
  327.         1,    -- Flying
  328.         1,    -- Psychic
  329.         1,    -- Bug
  330.         S,    -- Rock
  331.         1,    -- Ghost
  332.         N,    -- Dragon
  333.         1,    -- Dark
  334.         1,    -- Steel
  335.         1,    -- Fairy
  336.     },
  337.     { -- ELECTRIC
  338.         1,    -- None
  339.         1,    -- Normal
  340.         1,    -- Fire
  341.         S,    -- Water
  342.         N,    -- Electric
  343.         1,    -- Grass
  344.         1,    -- Ice
  345.         1,    -- Fighting
  346.         1,    -- Poison
  347.         I,    -- Ground
  348.         S,    -- Flying
  349.         1,    -- Psychic
  350.         1,    -- Bug
  351.         1,    -- Rock
  352.         1,    -- Ghost
  353.         N,    -- Dragon
  354.         1,    -- Dark
  355.         1,    -- Steel
  356.         1,    -- Fairy
  357.     },
  358.     { -- GRASS
  359.         1,    -- None
  360.         1,    -- Normal
  361.         N,    -- Fire
  362.         S,    -- Water
  363.         1,    -- Electric
  364.         N,    -- Grass
  365.         1,    -- Ice
  366.         1,    -- Fighting
  367.         N,    -- Poison
  368.         S,    -- Ground
  369.         N,    -- Flying
  370.         1,    -- Psychic
  371.         N,    -- Bug
  372.         S,    -- Rock
  373.         1,    -- Ghost
  374.         N,    -- Dragon
  375.         1,    -- Dark
  376.         N,    -- Steel
  377.         1,    -- Fairy
  378.     },
  379.     { -- ICE
  380.         1,    -- None
  381.         1,    -- Normal
  382.         N,    -- Fire
  383.         N,    -- Water
  384.         1,    -- Electric
  385.         S,    -- Grass
  386.         N,    -- Ice
  387.         1,    -- Fighting
  388.         1,    -- Poison
  389.         S,    -- Ground
  390.         S,    -- Flying
  391.         1,    -- Psychic
  392.         1,    -- Bug
  393.         1,    -- Rock
  394.         1,    -- Ghost
  395.         S,    -- Dragon
  396.         1,    -- Dark
  397.         N,    -- Steel
  398.         1,    -- Fairy
  399.     },
  400.     { -- FIGHTING
  401.         1,    -- None
  402.         S,    -- Normal
  403.         1,    -- Fire
  404.         1,    -- Water
  405.         1,    -- Electric
  406.         1,    -- Grass
  407.         S,    -- Ice
  408.         1,    -- Fighting
  409.         N,    -- Poison
  410.         1,    -- Ground
  411.         N,    -- Flying
  412.         N,    -- Psychic
  413.         N,    -- Bug
  414.         S,    -- Rock
  415.         I,    -- Ghost
  416.         1,    -- Dragon
  417.         S,    -- Dark
  418.         S,    -- Steel
  419.         N,    -- Fairy
  420.     },
  421.     { -- POISON
  422.         1,    -- None
  423.         1,    -- Normal
  424.         1,    -- Fire
  425.         1,    -- Water
  426.         1,    -- Electric
  427.         S,    -- Grass
  428.         1,    -- Ice
  429.         1,    -- Fighting
  430.         N,    -- Poison
  431.         N,    -- Ground
  432.         1,    -- Flying
  433.         1,    -- Psychic
  434.         1,    -- Bug
  435.         N,    -- Rock
  436.         N,    -- Ghost
  437.         1,    -- Dragon
  438.         1,    -- Dark
  439.         I,    -- Steel
  440.         S,    -- Fairy
  441.     },
  442.     { -- GROUND
  443.         1,    -- None
  444.         1,    -- Normal
  445.         S,    -- Fire
  446.         1,    -- Water
  447.         S,    -- Electric
  448.         N,    -- Grass
  449.         1,    -- Ice
  450.         1,    -- Fighting
  451.         S,    -- Poison
  452.         1,    -- Ground
  453.         I,    -- Flying
  454.         1,    -- Psychic
  455.         N,    -- Bug
  456.         S,    -- Rock
  457.         1,    -- Ghost
  458.         1,    -- Dragon
  459.         1,    -- Dark
  460.         S,    -- Steel
  461.         1,    -- Fairy
  462.     },
  463.     { -- FLYING
  464.         1,    -- None
  465.         1,    -- Normal
  466.         1,    -- Fire
  467.         1,    -- Water
  468.         N,    -- Electric
  469.         S,    -- Grass
  470.         1,    -- Ice
  471.         S,    -- Fighting
  472.         1,    -- Poison
  473.         1,    -- Ground
  474.         1,    -- Flying
  475.         1,    -- Psychic
  476.         S,    -- Bug
  477.         N,    -- Rock
  478.         1,    -- Ghost
  479.         1,    -- Dragon
  480.         1,    -- Dark
  481.         N,    -- Steel
  482.         1,    -- Fairy
  483.     },
  484.     { -- PSYCHIC
  485.         1,    -- None
  486.         1,    -- Normal
  487.         1,    -- Fire
  488.         1,    -- Water
  489.         1,    -- Electric
  490.         1,    -- Grass
  491.         1,    -- Ice
  492.         S,    -- Fighting
  493.         S,    -- Poison
  494.         1,    -- Ground
  495.         1,    -- Flying
  496.         N,    -- Psychic
  497.         N,    -- Bug
  498.         1,    -- Rock
  499.         1,    -- Ghost
  500.         1,    -- Dragon
  501.         I,    -- Dark
  502.         N,    -- Steel
  503.         1,    -- Fairy
  504.     },
  505.     { -- BUG
  506.         1,    -- None
  507.         1,    -- Normal
  508.         N,    -- Fire
  509.         1,    -- Water
  510.         1,    -- Electric
  511.         S,    -- Grass
  512.         1,    -- Ice
  513.         1,    -- Fighting
  514.         N,    -- Poison
  515.         1,    -- Ground
  516.         N,    -- Flying
  517.         S,    -- Psychic
  518.         1,    -- Bug
  519.         1,    -- Rock
  520.         N,    -- Ghost
  521.         1,    -- Dragon
  522.         S,    -- Dark
  523.         N,    -- Steel
  524.         N,    -- Fairy
  525.     },
  526.     { -- ROCK
  527.         1,    -- None
  528.         1,    -- Normal
  529.         S,    -- Fire
  530.         1,    -- Water
  531.         1,    -- Electric
  532.         1,    -- Grass
  533.         S,    -- Ice
  534.         N,    -- Fighting
  535.         1,    -- Poison
  536.         N,    -- Ground
  537.         S,    -- Flying
  538.         1,    -- Psychic
  539.         S,    -- Bug
  540.         N,    -- Rock
  541.         1,    -- Ghost
  542.         1,    -- Dragon
  543.         1,    -- Dark
  544.         N,    -- Steel
  545.         1,    -- Fairy
  546.     },
  547.     { -- GHOST
  548.         1,    -- None
  549.         I,    -- Normal
  550.         1,    -- Fire
  551.         1,    -- Water
  552.         1,    -- Electric
  553.         1,    -- Grass
  554.         1,    -- Ice
  555.         1,    -- Fighting
  556.         1,    -- Poison
  557.         1,    -- Ground
  558.         1,    -- Flying
  559.         S,    -- Psychic
  560.         1,    -- Bug
  561.         1,    -- Rock
  562.         S,    -- Ghost
  563.         1,    -- Dragon
  564.         N,    -- Dark
  565.         1,    -- Steel
  566.         1,    -- Fairy
  567.     },
  568.     { -- DRAGON
  569.         1,    -- None
  570.         1,    -- Normal
  571.         1,    -- Fire
  572.         1,    -- Water
  573.         1,    -- Electric
  574.         1,    -- Grass
  575.         1,    -- Ice
  576.         1,    -- Fighting
  577.         1,    -- Poison
  578.         1,    -- Ground
  579.         1,    -- Flying
  580.         1,    -- Psychic
  581.         1,    -- Bug
  582.         1,    -- Rock
  583.         1,    -- Ghost
  584.         S,    -- Dragon
  585.         1,    -- Dark
  586.         N,    -- Steel
  587.         I,    -- Fairy
  588.     },
  589.     { -- DARK
  590.         1,    -- None
  591.         1,    -- Normal
  592.         1,    -- Fire
  593.         1,    -- Water
  594.         1,    -- Electric
  595.         1,    -- Grass
  596.         1,    -- Ice
  597.         N,    -- Fighting
  598.         1,    -- Poison
  599.         1,    -- Ground
  600.         1,    -- Flying
  601.         S,    -- Psychic
  602.         1,    -- Bug
  603.         1,    -- Rock
  604.         S,    -- Ghost
  605.         1,    -- Dragon
  606.         N,    -- Dark
  607.         1,    -- Steel
  608.         N,    -- Fairy
  609.     },
  610.     { -- STEEL
  611.         1,    -- None
  612.         1,    -- Normal
  613.         N,    -- Fire
  614.         N,    -- Water
  615.         N,    -- Electric
  616.         1,    -- Grass
  617.         S,    -- Ice
  618.         N,    -- Fighting
  619.         1,    -- Poison
  620.         1,    -- Ground
  621.         1,    -- Flying
  622.         1,    -- Psychic
  623.         1,    -- Bug
  624.         S,    -- Rock
  625.         1,    -- Ghost
  626.         1,    -- Dragon
  627.         1,    -- Dark
  628.         N,    -- Steel
  629.         S,    -- Fairy
  630.     },
  631.     { -- FAIRY
  632.         1,    -- None
  633.         1,    -- Normal
  634.         N,    -- Fire
  635.         1,    -- Water
  636.         1,    -- Electric
  637.         1,    -- Grass
  638.         1,    -- Ice
  639.         S,    -- Fighting
  640.         N,    -- Poison
  641.         1,    -- Ground
  642.         1,    -- Flying
  643.         1,    -- Psychic
  644.         1,    -- Bug
  645.         1,    -- Rock
  646.         1,    -- Ghost
  647.         S,    -- Dragon
  648.         S,    -- Dark
  649.         N,    -- Steel
  650.         1,    -- Fairy
  651.     }
  652. }
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662. -- Prints the data of every Pokemon (commenting formatting has to be weird sry)
  663. --for n, data in ipairs(dex) do
  664. --    io.write(data[1].." - "..types[data[2]])
  665. --    if data[3] ~= 1 then io.write("/"..types[data[3]]) end
  666. --[[    io.write(" - "..data[4].." HP / "..data[5].." ATK - ")
  667.     for i = 6, 9 do
  668.         io.write(data[i])
  669.         if i~=9 then io.write(", ") else io.write("\n") end
  670.     end
  671. end
  672. print()
  673. --]]
  674.  
  675.  
  676. -- Prints the data of every move (commenting formatting has to be weird sry)
  677. --for n, data in ipairs(movedex) do
  678. --    io.write(data[1].." - "..types[data[4]].." - "..data[2].." POW, "..data[3].."% ACC\n")
  679. --end
  680.  
  681.  
  682. -- Verifies that every move on every Pokemon is a move with data in the movedex (commenting formatting has to be weird sry)
  683. --for n, data in ipairs(dex) do
  684. --    for i = 6, 9 do
  685. --        if not movedex[data[i]] then print("Error! Move \""..data[i].."\" not found in movedex. This move is on "..data[1]..".") end
  686. --[[    end
  687. end
  688. ]]
  689.  
  690.  
  691. -- Actual calculator code
  692. local unc = "zxc" -- only make it 3 characters
  693.  
  694. -- Prints the data of two given mons and returns move dmg
  695. local function printData(index1, index2)
  696.     local m1 = dex[index1]
  697.     local m2 = dex[index2]
  698.     local s1 = {}
  699.     local s2 = {}
  700.     print("Monster 1: "..m1[1].." - "..m1[4].." HP, "..m1[5].." ATK")
  701.     for i = 1, 4 do
  702.         local move = m1[i+5]
  703.         local myType = movedex[move][3]
  704.         local dmg = 0
  705.         if move == "FoulPlay" then
  706.           dmg = m2[5]*movedex[move][1]*typechart[myType][m2[2]]*typechart[myType][m2[3]]/400
  707.         else
  708.           dmg = m1[5]*movedex[move][1]*typechart[myType][m2[2]]*typechart[myType][m2[3]]/400
  709.         end
  710.         if myType == m1[2] or myType == m1[3] then dmg=dmg*STAB end
  711.         print(i..": "..move.." - "..dmg)
  712.         s1[i] = {move, dmg}
  713.     end
  714.     print("\nMonster 2: "..m2[1].." - "..m2[4].." HP, "..m2[5].." ATK")
  715.     for i = 1, 4 do
  716.         local move = m2[i+5]
  717.         local myType = movedex[move][3]
  718.         local dmg = m2[5]*movedex[move][1]*typechart[myType][m1[2]]*typechart[myType][m1[3]]/400
  719.         if myType == m2[2] or myType == m2[3] then dmg=dmg*STAB end
  720.         print(i..": "..move.." - "..dmg.."")
  721.         s2[i] = {move, dmg}
  722.     end
  723.     print()
  724.     return s1, s2
  725. end
  726.  
  727. local saveMode = 0  -- 0 is auto, 1 is manual
  728. local printMode = 0 -- 0 is dashes, 1 is brackets, 2 is both
  729. local lotsaData = {}
  730. -- Format of lotsaData (a dictionary):
  731. -- Suppose Ho-oh is me and Lugia and Mewtwo was the enemy
  732. -- ["Lugia"] = {hoohChain, hoohSum, lugiaChain, lugiaSum},
  733. -- ["Mewtwo"] = {hoohChain, hoohSum, mewtwoChain, mewtwoSum}
  734.  
  735. -- Adds an entry to lotsaData
  736. local function saveTo(myData)
  737.     if not lotsaData[myData[2]] then lotsaData[myData[2]] = {nil, nil, nil, nil} end
  738.     local place = lotsaData[myData[2]]
  739.     local n = 1
  740.     if myData[1] == 2 then n = 3 end
  741.     place[n] = string.sub(myData[3], 3)
  742.     place[n+1] = myData[4]
  743. end
  744.  
  745. -- Returns damage and formatted string of a move chain
  746. local function printWithMode(chain, moveInfo, nmeI)
  747.     local moveString = ""
  748.     local sum = 0
  749.     if (printMode == 1 or printMode == 2) then moveString = "[" end
  750.     for i = 1, string.len(chain) do
  751.         if string.sub(chain, i, i) == "0" then
  752.             moveString = moveString.."nothing "
  753.         else
  754.             local place = moveInfo[tonumber(string.sub(chain, i, i))]
  755.             moveString = moveString..place[1].." "
  756.             if place[1] == "SuperFang" then
  757.                 sum = (sum + dex[nmeI][4])/2
  758.             else
  759.                 sum = sum + place[2]
  760.             end
  761.         end
  762.         if (printMode == 0 or printMode == 2) and i<string.len(chain) then
  763.             moveString = moveString.."- "
  764.         end
  765.     end
  766.     if (printMode == 1 or printMode == 2) then moveString = string.sub(moveString, 1, string.len(moveString)-1).."]" end
  767.     return moveString, sum
  768. end
  769.  
  770.  
  771. print("Welcome to the Jokemon Matchup Calc Tool! This tool is for the game \"Pocket Monsters Reborn RPG\" on Roblox. Try it some time!\nTo start, choose a Pokemon. (no spaces)")
  772. local myIndex
  773. local oppIndex = 1
  774. repeat
  775.     myIndex = 1
  776.     local m = io.read()
  777.     while dex[myIndex]~=nil and dex[myIndex][1]~=m do myIndex=myIndex+1 end
  778.     if dex[myIndex]==nil then
  779.         print("not found")
  780.     end
  781. until dex[myIndex]~=nil
  782. print("We will begin at "..dex[1][1]..". Type \"help\" to see a tutorial.\n")
  783. local s1, s2 = printData(myIndex, 1)
  784. local toSave = {}
  785. while true do
  786.     local c = string.upper(io.read())
  787.     for n = string.len(c), 1, -1 do
  788.         if string.sub(c, n, n) == " " then c = string.sub(c, 1, n-1)..string.sub(c, n+1) end
  789.     end
  790.     if c == "HELP" then
  791.         print("COMMAND LIST\nhelp - Guide on how to use the tool\nn (or next) - Moves to the next mon in the dex\ns (or search) - Sets Monster 2 to an inputted mon\nmode->print - Changes the mode that strings are printed as\nmode->save - Changes the mode between autosave and manual save\nsavehelp - Guide on how to use the save feature")
  792.         print("\nTo simulate a move string, use the following format:\n\"M: string of numbers, no spaces\"\nM is either 1 or 2. It is the mon you are using moves as.\nThe string of numbers represents the moves of the mon.")
  793.         print("Here is an example. Suppose I am Vaporeon (:fearful:). I type this in:\n1: 1421\nThis indicates that Monster 1 uses moves 1, 4, 2, and 1 in that order. In this specific situation, Vaporeon uses Bubble - HydroPump - BubbleBeam - Bubble.")
  794.         print("\nThe program ignores spaces when receiving command inputs.\nYou can also put 0 in place of a move usage to indicate nothing.\nThe program will error if you reach the end of the dex, but you can just restart it at any time.")
  795.         print("Hopefully this helped! Match data will be reprinted below.\n")
  796.         printData(myIndex, oppIndex)
  797.     elseif c == "SAVEHELP" then
  798.         print("COMMAND LIST\nsavehelp - Guide on how to use the save feature\nsave - Manually saves data in the correct place\ndata - Prints all available data\nkey - Generates a save key for you to copy\nload - Asks for a save key, and creates data with it\nmode->save - Changes the mode between autosave and manual save")
  799.         print("\nAutosave will automatically save the \"best\" string available.\nIf you have a string that is a more minimalist way to defeat the opponent (less length and/or closer to an exact kill), it will save it over whatever's there.\nAdditionally, you can manually save when autosave is still on.\nIn a sense, manual save mode is just a no-autosave mode.")
  800.         print("\nThe save key will keep track of your print mode and save mode.")
  801.         print("Hopefully this helped! Match data will be reprinted below.\n")
  802.         printData(myIndex, oppIndex)
  803.     elseif c == "N" or c == "NEXT" then
  804.         oppIndex = oppIndex+1
  805.         s1, s2 = printData(myIndex, oppIndex)
  806.     elseif c == "S" or c == "SEARCH" then
  807.         print("What mon? (no spaces)")
  808.         local tempMon = io.read()
  809.         local temp = 1
  810.         while dex[temp]~=nil and dex[temp][1]~=tempMon do temp=temp+1 end
  811.         if dex[temp]==nil then
  812.             print("not found")
  813.         else
  814.             oppIndex = temp
  815.         end
  816.         s1, s2 = printData(myIndex, oppIndex)
  817.     elseif (string.sub(c, 1, 2) == "1:" or string.sub(c, 1, 2) == "2:") and tonumber(string.sub(c, 3)) then
  818.         local passable = true
  819.         for i = 3, string.len(c) do
  820.             local f = string.sub(c,i,i)
  821.             if not (f=="1" or f=="2" or f=="3" or f=="4") then
  822.                 passable = false
  823.             end
  824.         end
  825.         if passable then
  826.             local user = s1
  827.             local userI = myIndex
  828.             local nmeI = oppIndex
  829.             if string.sub(c, 1, 1) == "2" then user = s2 userI =     oppIndex nmeI = myIndex end
  830.             local moveString, sum = printWithMode(string.sub(c, 3), user, nmeI)
  831.             io.write(moveString.."\n"..sum.." DMG, ")
  832.             local diff = dex[nmeI][4]-sum
  833.             if diff>0 then
  834.                 print(diff.." HP left")
  835.             else
  836.                 print("Overkill by "..diff*-1)
  837.             end
  838.             print("This number is equal to a move of raw POW "..math.abs(diff*400/dex[userI][5]))
  839.             toSave = {tonumber(string.sub(c, 1, 1)), dex[oppIndex][1], c, sum}
  840.             local curName = lotsaData[dex[oppIndex][1]]
  841.             local sumSpot = toSave[1]*2
  842.             if diff<=0 and (not curName or not curName[sumSpot] or
  843.               (curName[sumSpot]>=sum and
  844.               string.len(c)-2<=string.len(curName[sumSpot-1]))) then
  845.                 print("Saving the latest movestring.")
  846.                 saveTo(toSave)
  847.             end
  848.             print()
  849.         else
  850.             print("Invalid, try again.\n")
  851.         end
  852.     elseif c == "MODE" then
  853.         print("What mode to switch? (either print or save)")
  854.         local took = string.upper(io.read())
  855.         if took == "PRINT" then
  856.             print("To what? (0 is dash, 1 is brackets, 2 is both)")
  857.             took = tonumber(io.read())
  858.             if took and (took == 0 or took == 1 or took == 2) then
  859.                 printMode = took
  860.                 print("Updated successfully.")
  861.             else
  862.                 print("Invalid, try again.\n")
  863.             end
  864.         elseif took == "SAVE" then
  865.             print("To what? (0 is auto, 1 is manual)")
  866.             took = tonumber(io.read())
  867.             if took and (took == 0 or took == 1) then
  868.                 print("Updated successfully.")
  869.             else
  870.                 print("Invalid, try again.\n")
  871.             end
  872.         else
  873.             print("Invalid, try again.\n")
  874.         end
  875.     elseif c == "SAVE" then
  876.         print("Saving the latest movestring.\n")
  877.         saveTo(toSave)
  878.     elseif c == "DATA" then
  879.         print("Printing data now...\n--------------------\n")
  880.         local i = 1
  881.         local me = dex[myIndex][1]
  882.         local mine = {{dex[myIndex][6], 0}, {dex[myIndex][7], 0}, {dex[myIndex][8], 0}, {dex[myIndex][9], 0}}
  883.         local wins = ""
  884.         local losses = ""
  885.         local ties = ""
  886.         repeat
  887.             local him = dex[i][1]
  888.             if lotsaData[him] then
  889.                 local his = {{dex[i][6], 0}, {dex[i][7], 0}, {dex[i][8], 0}, {dex[i][9], 0}}
  890.                 local hisLen = math.huge
  891.                 local myLen = math.huge
  892.                 io.write(me.." vs "..him.."\n"..me..": ")
  893.                 local n = "nil"
  894.                 if lotsaData[him][1] then
  895.                     n = printWithMode(lotsaData[him][1], mine, i)
  896.                     myLen = string.len(lotsaData[him][1])
  897.                 end
  898.                 io.write(n.."\n"..him..": ")
  899.                 n = "nil"
  900.                 if lotsaData[him][3] then
  901.                     n = printWithMode(lotsaData[him][3], his, i)
  902.                     hisLen = string.len(lotsaData[him][3])
  903.                 end
  904.                 print(n)
  905.                 if myLen>hisLen then
  906.                     print(him.." wins\n")
  907.                     losses = losses..him.." "
  908.                 elseif myLen<hisLen then
  909.                     print(me.." wins\n")
  910.                     wins = wins..him.." "
  911.                 else
  912.                     print("Tie (probably)")
  913.                     ties = ties..him.." "
  914.                 end
  915.             end
  916.             i=i+1
  917.         until i>=#dex
  918.         print("\n"..me.."\'s Counters:\n"..losses.."\n\n"..me.."\'s Equals:\n"..ties.."\n\n"..me.."\'s Victims:\n"..wins)
  919.         print("\n------------------\nDone printing all the data!\n")
  920.     elseif c == "KEY" then
  921.         local key = unc..saveMode..printMode
  922.         for k, v in pairs(lotsaData) do
  923.             key = key..k..unc
  924.             for i = 1, 4 do
  925.                 if v[i] then
  926.                     key = key..v[i]..unc
  927.                 else
  928.                     key = key.."nil"..unc
  929.                 end
  930.             end
  931.         end
  932.         print("Key's done making!!! Here you go:\n"..key.."\n")
  933.     elseif c == "LOAD" then
  934.         print("Got a key?")
  935.         local key = io.read()
  936.         unc = string.sub(key, 1, 3)
  937.         saveMode = tonumber(string.sub(key, 4, 4))
  938.         printMode = tonumber(string.sub(key, 5, 5))
  939.         key = string.sub(key, 6)
  940.         while string.len(key)>0 do
  941.             local n = 1
  942.             while string.sub(key, n, n+2)~=unc do n=n+1 end
  943.             local theName = string.sub(key, 0, n-1)
  944.             if not lotsaData[theName] then
  945.                 lotsaData[theName] = {nil, nil, nil, nil}
  946.             end
  947.             key = string.sub(key, n+3)
  948.             for i = 1, 4 do
  949.                 n = 1
  950.                 while string.sub(key, n, n+2)~=unc do n=n+1 end
  951.                 lotsaData[theName][i] = tonumber(string.sub(key, 0, n-1))
  952.                 key = string.sub(key, n+3)
  953.             end
  954.         end
  955.         print("All loaded!\n")
  956.     elseif c == "FUN" or c == "TERMINATE" then
  957.         print("Connection terminated. I'm sorry to interrupt you, Elizabeth, if you still even remember that name, But I'm afraid you've been misinformed. You are not here to receive a gift, nor have you been called here by the individual you assume, although, you have indeed been called. You have all been called here, into a labyrinth of sounds and smells, misdirection and misfortune. A labyrinth with no exit, a maze with no prize. You don't even realize that you are trapped. Your lust for blood has driven you in endless circles, chasing the cries of children in some unseen chamber, always seeming so near, yet somehow out of reach, but you will never find them. None of you will. This is where your story ends. And to you, my brave volunteer, who somehow found this job listing not intended for you, although there was a way out planned for you, I have a feeling that's not what you want. I have a feeling that you are right where you want to be. I am remaining as well. I am nearby. This place will not be remembered, and the memory of everything that started this can finally begin to fade away. As the agony of every tragedy should. And to you monsters trapped in the corridors, be still and give up your spirits. They don't belong to you. For most of you, I believe there is peace and perhaps more waiting for you after the smoke clears. Although, for one of you, the darkest pit of Hell has opened to swallow you whole, so don't keep the devil waiting, old friend. My daughter, if you can hear me, I knew you would return as well. It's in your nature to protect the innocent. I'm sorry that on that day, the day you were shut out and left to die, no one was there to lift you up into their arms the way you lifted others into yours, and then, what became of you. I should have known you wouldn't be content to disappear, not my daughter. I couldn't save you then, so let me save you now. It's time to rest - for you, and for those you have carried in your arms. This ends for all of us. End communication.")
  958.     else
  959.       print("Invalid, try again.\n")
  960.     end
  961. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement