Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- REM File Map
- REM Init - Run only with the program starts
- REM Menu - Main Menu and all options from there
- REM Actions - Action Hub and all actions from there
- REM Routines - These are standard functions activited by other functions
- REM Scenes - The core-content of the game
- REM Dialouge - Character dialouge
- REM Items - For the use command
- REM Endings - They always end with Game Over
- REM Tasks (Highest to Lowest Priority)
- REM Finish Action Hub
- REM Finish Rarity's Room
- REM Design Buisness Mechanics
- REM Finish Connecting Rooms
- REM Replace excess literals with constants
- REM Calculate starvation rate and fix other vales
- REM Finish Rarity Dialouge
- REM Finish Narrator Dialouge
- REM More alternative keywords
- REM Init
- :init
- SetLocal ENABLEDELAYEDEXPANSION
- ::SETLOCAL ENABLEEXTENSIONS
- set wizard=false
- echo RARIQUEST^^!
- REM Menu
- :mainmenu
- echo -
- echo P - Prolouge, N - New Game, H - Help, C - Credits
- set option= NOTHING
- set /p option=
- if %option%==P goto prolouge
- if %option%==p goto prolouge
- if %option%==N goto newgame
- if %option%==n goto newgame
- if %option%==H goto help
- if %option%==h goto help
- if %option%==C goto credits
- if %option%==c goto credits
- if %option%==IAMAWIZARD goto bugtest
- REM if the player is clueless
- echo That command was not recongized.
- echo Please enter a single character, either "P", "N", "H", or "C"
- goto mainmenu
- :prolouge
- echo -
- echo You are Rarity, the most fabulous unicorn in all of Equestria. You are well
- echo known for your eye for detail and creative energy. Also, unlike many
- echo with those traits, you are also socially competent (more so than any of your
- echo friends, that's for sure), with a passion for fashion and all that jazz.
- echo Afterall, you are a lady. You are also known for your trade-mark Gem Finding
- echo Spell(TM), none is more talented to you when it comes to being a gem-hound,
- echo err, gem-pony.
- echo (Press enter to progress)
- set /p nothing=
- echo Your best friends, as decreed by divine providence, are Twilight Sparkle,
- echo Fluttershy, Applejack, Pinkie Pie, and Rainbow Dash.
- echo (Press enter to progress)
- set /p nothing=
- echo Twilight, she's a total dork of a unicorn, but she's still cool. Aside from
- echo being an egghead, she's also a powerful socceress, you put her power level
- echo at being around 9024. After all, she was the personal protegee of her
- echo Majesty and God-Empress Princess Celestia.
- echo (Press enter to progress)
- set /p nothing=
- echo Fluttershy is a shy pegasus, as her name would suggest. You are unsure how her
- echo parents knew she was going to be shy at birth (did they just set her up for
- echo failure?), but you are reasonably confident in their ability to judge the race
- echo of a horse based on presence or absence of wings. She likes animals, and like
- echo you she is good at sewing, but you aren't sure if she really actually
- echo does anything. Like, employment wise. Of course she does things. What sort of
- echo things, you know not.
- echo (Press enter to progress)
- set /p nothing=
- echo Applejack is a filthy mud-horse with no since of decency. She is also kinda ho-
- echo Anyway, like you, she is an enterpenuer; she has been running the
- echo Apple Family Orchard since her parents died, poor thing.
- echo (Press enter to progress)
- set /p nothing=
- echo Pinkie Pie is absolutely psychotic. You are still trying to figure out exactly
- echo what she has, but to no success. She apparently grew up on a rock farm(?),
- echo and last time you checked she was a live-in hire for the Cakes at their bakery.
- echo She enjoys throwing parties and is friends with every pony in town, which you
- echo still aren't sure how she does it as she has even less social skills
- echo than Twilight.
- echo (Press enter to progress)
- set /p nothing=
- echo Rainbow Dash is another pegaus and she's really fast. Her parents were also
- echo apparently psychic. Like Applejack, she is the exact opposite of a lady.
- echo That's really about all you know about her. Apparently she is one of
- echo your best friends.
- echo (Press enter to progress)
- set /p nothing=
- echo -
- echo You all met during the Summer Sun Celebration at Ponyville many years ago.
- echo There you defeated the Demonic Usurper From The Moon, Nightmare Moon, who
- echo had kidnapped the queen, Princess Celestia and issued forth "eternal" night.
- echo Turns out she was really Princess Luna and you are really the Element of
- echo Generosity, who would have guessed? That means you and your friends have
- echo magic monster fighting powers^^!
- echo (Press enter to progress)
- set /p nothing=
- echo So, you had many adventures together, saving Equestria and all that jazz.
- echo Together you imprisoned the draconequus/Chaos-God Discord, then freed him
- echo again just so Fluttershy could befriend him or something, you still really
- echo don't understand what Celestia was thinking with that. Somehow, Twilight
- echo became an alicorn (it's like a unicorn, but with wings, so it's even more
- echo superior), and thus was made Princess of Friendship, as alicorns are more
- echo superior. After defeating the Dark Lord Tirek, you were all given the
- echo reponsibility of aiding her in that task. Afterall, she has zero social
- echo skills. Really, whos idea was it to make her Princess of FRIENDSHIP?
- echo (Press enter to progress)
- set /p nothing=
- echo So that worked out fine for awhile, but after Rainbow Dash finally
- echo completed her life-long dream and joined the Wonderbolts (this
- echo paramilitary show flying team) and moved to the floating city of
- echo Cloudsdale, the group started to drift appart. Soon after you moved
- echo to Canterlot, and are now running the boutique you own there.
- echo (Press enter to progress)
- set /p nothing=
- echo Twilight said she would be sending all of your letters, keeping you updated.
- echo She does have a magical baby dragon named Spike (hopefully he's grown out
- echo of his crush for you by now, that's just creepy) who can send letters by
- echo magic fire, but you have to get everything through snail mail from the
- echo post office. It seems everyone aside from Pinkie Pie and Twilight left
- echo Ponyville, but you aren't quite sure where they all are now. Supposedly
- echo your younger sister Sweetie Belle is currently in a rock band or something,
- echo apparently she forgot that that she is a supposed to a lady. Oh well.
- echo (Press enter to progress)
- set /p nothing=
- echo Now you're just living in the boutique, your manager Sassie Saddles comes in
- echo everyday to assist you with this endevour. Maybe you'll become the richest
- echo pony in Equestria if you keep this up. That's what generosity means, right?
- echo (Press enter to progress)
- set /p nothing=
- goto mainmenu
- :newgame
- echo -
- REM Constants
- set /a HarmonyReq= 50
- set /a MaxHealth= 1200
- set /a SunRise= 6
- set /a BlueGemC= 595
- set /a BlueMoonIP= 5750
- set /a RedDawnIP= 12345
- set /a SassieSaddlesIS= 10000
- set /a SassieMin= 5000
- set /a SassieP= 2
- REM Initiating statistics
- set /a bits= 1000
- set /a day= 0
- set /a hour= %SunRise%
- set /a minute= 0
- set /a second = 0
- set /a harmony= 0
- set /a health= %MaxHealth%
- set /a hunger= 40
- set /a fatigue= 0
- set /a magic= 40
- REM This is the list of all items, true is you have it, false is you don't, some items have stock, in which it's a number
- set selectedItem= nothing
- set generic= false
- REM Spells
- set dumbspell= false
- REM First entrance to an area
- set newraritysroom= true
- set newboutiquefloor= true
- REM intially set to first, also yes, no, maybe, and tutorial
- set actionScene= first
- REM Characters 1. met 2. present
- set SassieSaddlesM= true
- set SassieSaddlesP= false
- set someponyM= false
- set someponyP= false
- REM Dialouge Progress
- set RarityD= 0
- set NarratorD= 0
- set SassieSaddlesD= 0
- REM Store Inventory
- set dosh= 30000
- REM Supplies
- set blueGemI= 10
- set paperI= 10
- set redGlitterI= 4
- set glueI= 3
- REM Dresses
- set BlueMoonI= 7
- set RedDawnI= 4
- REM Print Advertisments
- set BlueMoonAI= 5
- set RedDawnAI= 1
- REM max stock for supplies, for restocking
- set blueGemM= 15
- set paperM= 15
- set glueM= 5
- set redGlitterM= 5
- set BlueMoonAM= 10
- set RedDawnAM= 3
- REM Dress Prices, initial prices put profit margin at ~50%
- set BlueMoonP= %BlueMoonIP%
- set RedDawnP= %RedDawnIP%
- REM Advertisements sent out, each ad has a number how much it has been advertized
- set BlueMoonA= 0
- set RedDawnA= 0
- REM Sales Report
- set BlueMoonS= 0
- set RedDawnS= 0
- set freshDosh= 0
- REM Employees salary, salary is daily, expected 5 dresses sold a day, 0 is unhired
- set SassieSaddlesS= %SassieSaddlesIS%
- set CocoPommelS= 0
- REM Employee work schedule
- set SassieSaddles9= sell
- set SassieSaddles10= sell
- set SassieSaddles11= prepare REM makes advertisements at this time
- set SassieSaddles12= advertise
- set SassieSaddles13= advertise
- set SassieSaddles14= restock
- set SassieSaddles15= sell
- set SassieSaddles16= sell
- REM Which ponies will visit each day at each time,
- set PonyGoth9= true;
- set PonyGoth10= false;
- set PonyGoth11= false;
- set PonyGoth12= false;
- set PonyGoth13= false;
- set PonyGoth14= false;
- set PonyGoth15= false;
- set PonyGoth16= true;
- REM Pony budget randomly adjusted after each sale hour
- set PonyGothB= 5000
- REM Misc. conditions
- set sleepy= true
- set aggressive= false
- set underPressure= false
- set hungry= true
- set hallucinating= false
- set starving= false
- REM Bugtest
- if %wizard%==true goto bugtest1
- REM And start
- set scene= raritysroom
- set event= none
- goto raritysroom
- :help
- echo -
- echo These is a text based adventure game. To play, you have to enter commands, then
- echo press enter. *DO NOT EVER ENTER IN SPACES, IT WILL CRASH THE GAME*
- echo -
- echo Many of the commands are applied to an object or something. If so, you will
- echo be prompted to enter the name of said object after entering the command.
- echo -
- echo To minimize confusion, most interactable objects will have their names listed
- echo in ALL CAPS (but there are some secrets).
- echo -
- echo HELP is one of the basic commands. It will list out all the non-secret
- echo commands availible in the current situation.
- echo -
- echo Underneath the surface, this game is more complex than most adventure games.
- echo Be sure to keep track of hints to gauge the state of your character and
- echo the situation you are in, and try to stay healthy and figure out what's
- echo going on at particular times.
- echo -
- echo The ultimate objective will not be clear until later in the game,
- echo and only if you've been paying attention. To get basic background information
- echo about your character, see the prolouge. After that, you are on your own.
- echo -
- echo Good luck.
- echo (Press enter to progress)
- set /p nothing=
- goto mainmenu
- :credits
- echo -
- echo Most the characters were shameless stolen from My Little Pony: Friendship
- echo is Magic. They are own owned by Hasbro Inc., but I will give credit were
- echo credit is due, most the characters were designed by Lauren Faust,
- echo F*** THE POLICE^^! Some characters were designed by fans, but to avoid
- echo spoilers I'll not credit them in these credits. Everything else, plot,
- echo programming, writing, design, ect. was done by Ganondox.
- echo (Press enter to progress)
- set /p nothing=
- goto mainmenu
- :bugtest
- set wizard=true
- goto newgame
- :bugtest1
- echo V - Set Variable, S - Jump to Scene
- set /p option=
- if %option%==V goto setvar
- if %option%==S goto jmpscn
- goto bugtest
- :setvar
- echo variable:
- set variable= NOTHING
- set /p variable=
- echo value:
- set /p %variable%=
- goto bugtest
- :jmpscn
- set scene= NOTHING
- echo scene:
- set /p scene=
- goto %scene%
- REM Actions
- :actionHub
- set action= NOTHING
- set /p action=
- REM standard actions
- if %action%==help goto commands
- if %action%==HELP goto commands
- if %action%==Help goto commands
- if %action%==H goto commands
- if %action%==h goto commands
- if %action%==inventory goto inventory
- if %action%==INVENTORY goto inventory
- if %action%==Inventory goto inventory
- if %action%==I goto inventory
- if %action%==i goto inventory
- if %action%==talk goto talk
- if %action%==TALK goto talk
- if %action%==Talk goto talk
- if %action%==T goto talk
- if %action%==t goto talk
- if %action%==walk goto walk
- if %action%==WALK goto walk
- if %action%==Walk goto walk
- if %action%==W goto walk
- if %action%==w goto walk
- if %action%==go goto walk
- if %action%==to goto walk
- if %action%==use goto use
- if %action%==USE goto use
- if %action%==Use goto use
- if %action%==U goto use
- if %action%==u goto use
- if %action%==look goto look
- if %action%==LOOK goto look
- if %action%==Look goto look
- if %action%==L goto look
- if %action%==l goto look
- if %action%==spell goto spell
- if %action%==SPELL goto spell
- if %action%==Spell goto spell
- if %action%==S goto spell
- if %action%==s goto spell
- if %action%==sleep goto sleep
- if %action%==SLEEP goto sleep
- if %action%==Sleep goto sleep
- if %action%==eat goto eat
- if %action%==EAT goto eat
- if %action%==Eat goto eat
- REM secret actions
- if %action%==die goto suicide
- if %action%==killself goto suicide
- if %action%==pee goto hyperrealism
- if %action%==poo goto hyperrealism
- REM check for room specific actions
- goto %scene%Actions
- :actionHub1
- REM default
- echo Sorry, I'm stupid and don't understand. Rephrase what you said, and use only
- echo one word. If you're still confused, say HELP and I'll give you some options.
- goto actionHub
- :commands
- echo -
- echo HELP - Lists active commands
- echo INVENTORY - Lists items you have on on your person, spells you know, and bits,
- echo TALK - Talks to someone in the room
- echo WALK - Walk to a nearby locations
- echo USE - Uses an item in your inventory, possibly on something else
- echo LOOK - Gathers more details about the ROOM or some object
- echo SPELL - Use a spell you learned
- REM conditional actions
- if %sleepy%==true echo SLEEP - Go to sleep, if possible
- if %aggressive%==true echo ATTACK - Attack a foe with whatever availible
- if %hungry%==true echo EAT - Eat whatever you can find.
- goto actionHub
- :inventory
- echo -
- echo ITEMS
- echo HORN - You're a unicorn, you got a horn. It does da magic.
- if %generic%==true echo GENERIC - %genericD%
- echo -
- echo SPELLS
- echo GEM - Finds gems
- echo -
- if %bits%==0 echo You don't go no bits, you broke.
- if %bits%==1 echo BIT - You only have one bit. It's rusty, too.
- if 1 LSS %bits% echo You have %bits% bits.
- if %underPressure%==true goto inventory1
- goto :actionHub
- :inventory1
- set /a second= second + 7
- goto timeCheck
- :talk
- echo -
- echo So who are you going to talk to?
- set somepony= NOTHING
- set /p somepony=
- REM all named ponies
- if %somepony%==rarity goto Rarity
- if %somepony%==RARITY goto Rarity
- if %somepony%==Rarity goto Rarity
- if %somepony%==myself goto Rarity
- if %somepony%==Myself goto Rarity
- if %somepony%==me goto Rarity
- if %somepony%==Me goto Rarity
- if %somepony%==narrator goto Narrator
- if %somepony%==NARRATOR goto Narrator
- if %somepony%==Narrator goto Narrator
- if %somepony%==you goto Narrator
- if %somepony%==You goto Narrator
- if %somepony%==Somepony goto Somepony
- if %somepony%==sassie goto SassieSaddles
- if %somepony%==SASSSIE goto SassieSaddles
- if %somepony%==Sassie goto SassieSaddles
- if %somepony%==Ganondox goto SassieSaddles
- REM check for unnamed ponies in the area
- goto %scene%Ponies
- :talk1
- echo I don't know who that is.
- goto actionHub
- :walk
- echo -
- echo Where do you want to walk to?
- goto %scene%Exits
- :walk1
- echo That place is too far away to walk to, I think. I don't even recongize it right now, nor care.
- goto actionHub
- :use
- echo -
- echo What do you wish to use?
- set something= NOTHING
- set /p something=
- REM items
- if %something%==HORN goto spell
- if %something%==Horn goto spell
- if %something%==horn goto spell
- if %something%==generic goto generic
- REM Objects in room
- goto %scene%Objects
- :use1
- echo You don't have that, you dolt.
- goto actionHub
- :look
- echo -
- echo Where do you want to look?
- set somewhere= NOTHING
- set /p somewhere=
- if %somewhere%==ROOM goto %scene%D
- if %somewhere%==Room goto %scene%D
- if %somewhere%==room goto %scene%D
- if %somewhere%==around goto %scene%D
- goto %scene%Things
- :look1
- echo I don't know what you are referring to. It's probably hideous anyway.
- goto actionHub
- :spell
- echo What spell do you wish to use?
- set spell= NOTHING
- set /p spell=
- if %spell%==GEM goto %scene%Gem
- if %spell%==Gem goto %scene%Gem
- if %spell%==gem goto %scene%Gem
- echo You don't know that spell.
- goto actionHub
- :sleep
- if %sleepy%==true goto %scene%Sleep
- echo But you aren't tired right now. There IS a difference between beauty sleep,
- echo and outright sloth.
- goto actionHub
- :eat
- if %hungry%==true goto eat1
- echo You should only eat when you are hungry. You don't want to ruin your figure.
- goto actionHub
- :eat1
- REM check for food items
- REM will eat grass if starving
- if %starving%==true goto %scene%Grass
- :eat2
- echo Unfortunately, you have nothing to eat.
- echo I guess you're just going to have to go hungry.
- goto actionHub
- :suicide
- echo -
- echo This is the Suicide Prevention Hotline, are you sure you want to go through
- echo with this? (Y/N)
- set binary= NOTHING
- set /p binary=
- if %binary%==Y goto asYouWish
- if %binary%==y goto asYouWish
- if %binary%==N goto suicide1
- if %binary%==n goto suicide1
- :suicide1
- echo See, there is no need for a permanent solution to a temporary problem.
- goto actionHub
- :hyperrealism
- echo -
- echo This game isn't THAT realistic. Just assume she goes when she has a chance.
- echo If she's inside, I'm sure she has the chance to use a bathroom. If outside...
- echo ...well, afterall, she IS a horse.
- goto actionHub
- REM Routines
- :hungerCheck
- if 40 LEQ %hunger% set hungry= true
- if 240 LEQ %hunger% set starving= true
- if 300 LEQ %hunger% set /a fatigue= %fatigue% + 7
- if 480 LEQ %hunger% set /a health= %health% - (%hunger%/480) REM Need to adjust formula so die after 3 weeks at full health
- if %health% LEQ 0 goto starved
- goto %returnH%;
- :fatigueCheck
- if 120 LEQ %fatigue% set sleepy= true
- if 240 LEQ %fatigue% set aggressive= true
- if 480 LEQ %fatigue% set hallucinating= true
- if 1000 LEQ %fatigue% goto knockout
- goto %returnF%;
- :knockout
- echo This functionallity has not been coded yet, so instead of falling unconcious, you just die.
- goto gameover
- :harmonyCheck
- if %harmony% LEQ -25 set greedy= true
- if %harmony% LEQ -50 goto nightmarity
- if %HarmonyReq% LEQ %harmony% set generous= true
- goto %returnG%
- :timeCheck
- if 59 LSS %second% goto timeCheck1
- if 59 LSS %minute% goto timeCheck2
- if 23 LSS %hour% goto timeCheck3
- if 29 LSS %day% goto doomsday
- goto %scene%
- :timeCheck1
- set /a second= %second% - 60
- set /a minute= %minute% + 1
- goto timeCheck
- :timeCheck2
- set salesHour= hour
- set returnS= retTC0
- goto sales
- :retTC0
- set /a minute= %minute% - 60
- set /a hour= %hour% + 1
- set /a fatigue= fatigue + 10
- set returnF= retTC1
- goto fatigueCheck
- :retTC1
- set /a hunger= hunger + 10
- set returnH= retTC2
- goto hungerCheck
- :retTC2
- goto timeCheck
- :timeCheck3
- set /a hour= %hour% - 24
- set /a day= %day% + 1
- goto newDay:
- :sales
- REM only calculates for working hours
- if %salesHour% LSS 9 goto sales1
- if 16 LSS %salesHour% goto sales1
- REM Figure out if a dress was sold to each pony present
- if !PonyGoth%salesHour%!==true goto ponygoth
- :sales2
- goto sales3
- :ponygoth
- if !SassieSaddles%salesHour%! set /a PonyGothB= PonyGothB * SassieP
- if %BlueMoonP% LEQ %PonyGothB% goto ponygoth1
- :ponygoth2
- set /a PonyGothB= PonyGothB * 0.3
- if %RedDawnP% LEQ %PonyGothB% goto ponygoth3
- :ponygoth4
- REM randomly set new budget for next hour
- set PonyGothB= 2000
- set offset= %random%
- set /a offset= offset - ( (offset / 4000) * 4000)
- set /a PonyGothB= PonyGothB + offset
- REM factor for advertising
- set offset= %random%
- set /a offset= offset - ( (offset / 500) * 500)
- set /a offset= offset * BlueMoonA
- set /a PonyGothB= PonyGothB + offset
- goto sales2
- :ponygoth1
- if 0 EQU %BlueMoonI% goto ponygoth2
- REM blue moon was successfully sold
- set /a BlueMoonI= BlueMoonI - 1
- set /a PonyGothB= %PonyGothB% - %BlueMoonP%
- set /a freshDosh= %freshDosh% + %BlueMoonP%
- set /a dosh= %dosh% + %BlueMoonP%
- goto ponygoth2
- :ponygoth3
- if 0 EQU %RedDawnI% goto ponygoth4
- REM red dawn was successfully sold
- set /a RedDawnI= RedDawnI - 1
- set /a PonyGothB= %PonyGothB% - %RedDawnP%
- set /a freshDosh= %freshDosh% + %RedDawnP%
- set /a dosh= %dosh% + %RedDawnP%
- goto ponygoth 4
- :sales3
- REM employees take salary if final hour of day, if not enough dosh in supply, will quit
- if %salesHour%==16 goto sales4
- REM loops for all hours past
- :sales1
- if %salesHour%==%hour% goto %returnS%
- set /a salesHour= salesHour + 1
- goto sales
- :sales4
- if %SassieSaddlesS% LEQ %dosh% goto sales5
- REM Sassie quits
- set SassieSaddlesD= 2
- set SassieSaddlesP= false
- set SassieSaddlesS= 0
- set SassieSaddles9= none
- set SassieSaddles10= none
- set SassieSaddles11= none
- set SassieSaddles12= none
- set SassieSaddles13= none
- set SassieSaddles14= none
- set SassieSaddles15= none
- goto sales1
- :sales5
- set /a dosh= dosh - SassieSaddlesS
- goto sales1
- :sleepTime
- set salesHour= hour
- set /a hour= hour + hourElapse
- REM work still goes on while napping
- set returnS= retST
- goto sales
- :retST
- REM health restores, fatigue decreases, hunger builds slowly
- set /a health = health + (10 * hourElapse)
- if %MaxHealth% LSS %health% set health= %MaxHealth%
- set /a fatigue = fatigue - (20 * hourElapse)
- if %fatigue% LSS 0 set fatigue= 0
- set /a hunger = hunger + (5 * hourElapse)
- if 2000 LSS %hunger% goto sweetDreams
- goto %returnZ%
- :newDay
- REM Here determines which ponies will appear at which hour based on advertisement and randomization
- set freshDosh= 0
- set salesHour= 9
- :newDay1
- set offset= %random%
- set /a offset= offset - ( (offset / (BlueMoonA + 5)) * (BlueMoonA + 5))
- set PonyGoth%salesHour%= false
- if 4 LSS %offset% set PonyGoth%salesHour%= true
- set /a salesHour= salesHour + 1
- if %salesHour% LSS 17 goto newDay1
- goto timeCheck
- :doomsday
- REM start of doomsday
- if 8 LSS %hour% goto :doomsday1
- goto %scene%
- :doomsday1
- color 40
- set endgame=true
- REM End of World
- if 11 LSS %hour% goto :theEnd
- goto %scene%
- :gameover
- color 0F
- echo -
- echo Return to menu? (Y/N)
- set binary= NOTHING
- set /p binary=
- if %binary%==Y goto mainmenu
- if %binary%==y goto mainmenu
- if %binary%==N exit
- if %binary%==n exit
- goto gameover
- REM Scenes
- REM Essential Scene Components
- REM :Scene
- REM :SceneActions - For ActionHub
- REM :ScenePonies - For Talk
- REM :SceneExits - For Walk
- REM :SceneObjects - For Use
- REM :SceneD - For Look Room
- REM :SceneThings - For Look
- REM :SceneSleep - For Sleep
- REM :SceneGrass - For Eat
- REM :SceneGem - For Find Gem Spell
- REM Game Map
- REM Areas
- REM Visitable cities are Canterlot, Cloudsdale, Ponyville, The Crystal Kingdom (optional), Appleloosa,
- REM Dodge Junction (optional), and Manehatten (optional). With the exception of Cloudsdale, they are all connected
- REM by the railroad. Cloudsdale must be accessed by balloon. There are also two other non-city areas, The Everfree Forest,
- REM and the Chaos Realm. The Everfree Forest connects to Ponyville, and to access the Chaos Realm you need to use magic.
- REM Canterlots areas are the streets, the boutique, the pub, the royal castle, the train station,
- REM the post-office, the supply shop, the market, and the shelter
- REM Cloudsdale's areas are the rainbow factory
- REM Ponyville's area the streets, the Apple farm, Twilight's Castle, the train station,
- REM the hospital, townhall, Sugar Cube Corner
- REM The Crystal Kingdom's areas are the Crystal Castle, The stadium, the train station
- REM Appleloosa's areas are Braeburn's House
- REM Dodge Junction's areas are Cherry Jubilee's House
- REM Manehatten's areas are Coco Pommel's House
- REM The Everfree Forest's areas are the trees, Zecora's house, Everfree Castle, The Carousel
- REM All the connections are shown visually in an external document
- REM List of all Boutique Scenes:
- REM 1. Rarity's Room (raritysroom) - Where Rarity sleep, connects to floor via stairs
- REM 2. Boutique Floor (boutiquefloor) - Where buisness is conducted, connects outside
- REM 3. Back Room (boutiquebackroom) - Where supplies and stock is stored, and sewing is done
- REM 4. Kitchen (boutiquekitchen) - Where food is prepared and eaten
- REM Rarity's Room Scene Progess: Approx 24%?
- REM Events - Buisness
- REM Tasks (Highest to Lowest Priority)
- REM Add all exits
- REM Add all objects
- REM Add all events (not really any special events here)
- REM Add more alternative keywords
- REM Polish text
- :raritysroom
- if %newraritysroom%==true goto raritysroom1
- goto raritysroom2
- :raritysroom1
- set newraritysroom= false
- echo As the sun flutters on your eyelids, you awake and let out a yawn. Blinking,
- echo you slowly come to your senses. Even slower, you strectch and get out of bed.
- echo It's time for another day at Canterlot Boutique. Sassie Saddles should be
- echo coming in to open the place at 8, right now you have two hours to eat
- echo breakfast and get ready. Ponies will start coming in at 9.
- goto actionHub
- )
- :raritysroom2
- if %event%==buisness goto actionHub
- if 7 LSS %hour% goto raritysroom3
- goto actionHub
- :raritysroom3
- if event= buisness actionHub
- set event= buisness
- echo You here the ring of the door bell. Sassie Saddles is here^^! It's time to
- echo get to work^^!
- goto actionHub
- :raritysroomActions
- REM no special actions
- goto actionHub1
- :raritysroomPonies
- REM for talk
- REM No one should actually be in Rarity's room except her
- goto talk1
- :raritysroomExits
- REM for walk
- set /p destination=
- if %destination%==boutique goto RRtoboutiquefloor
- if %destination%==stairs goto RRtoboutiquefloor
- if %destination%==STAIRS goto RRtoboutiquefloor
- if %destination%==Stairs goto RRtoboutiquefloor
- goto walk1
- :RRtoboutiquefloor
- set scene= boutiquefloor
- echo -
- echo You clatter down the stairs into the boutique floor.
- set /a second= second + 23
- goto timeCheck
- :raritysroomObjects
- REM for use
- if %something%==toilet goto hyperrealism
- echo I don't know what that is.
- goto actionHub
- :raritysroomD
- echo -
- echo This is you room. In the corner is your BED. On the wall there is
- echo a CLOCK and a MIRROR. There is a set of STAIRS leading to the floor. There
- echo is also a LADDER leading to the back room, and a DOOR leading to the
- echo kictchen. There is also a washroom attached, but you don't need to use it.
- goto actionHub
- :raritysroomThings
- REM for look
- if %somewhere%==BED goto RRBedD
- if %somewhere%==Bed goto RRBedD
- if %somewhere%==bed goto RRBedD
- if %somewhere%==CLOCK goto RRClockD
- if %somewhere%==Clock goto RRClockD
- if %somewhere%==clock goto RRClockD
- if %somewhere%==MIRROR goto RRMirrorD
- if %somewhere%==Mirror goto RRMirrorD
- if %somewhere%==mirror goto RRMirrorD
- if %somewhere%==STAIRS goto RRStairsD
- if %somewhere%==Stairs goto RRStairsD
- if %somewhere%==stairs goto RRStairsD
- if %somewhere%==LADDER goto RRLadderD
- if %somewhere%==Ladder goto RRLadderD
- if %somewhere%==ladder goto RRLadderD
- if %somewhere%==DOOR goto RRDoorD
- if %somewhere%==Door goto RRDoorD
- if %somewhere%==door goto RRDoorD
- if %somewhere%==WASHROOM goto RRWashroomD
- if %somewhere%==Washroom goto RRWashroomD
- if %somewhere%==washroom goto RRWashroomD
- goto look1
- :RRBedD
- echo -
- echo That is your bed. It is super fabulous, as only the most fabulous of bed
- echo would do for a lady such as yourself.
- goto actionHub
- :RRClockD
- echo -
- echo That is your clock. It would be made of the finest mahogany with mother
- echo of pearl and gold leaf inlay, but you're not THAT successful. Oh well.
- echo It dispays the time as %hour%:%minute%:%second%.
- set /a second= second + 3
- goto timeCheck
- :RRMirrorD
- echo -
- echo That is your mirror. It's absolutely beautiful. More ever, you are absolutely
- echo beautiful, and you spend several minutes admiring your own reflection.
- echo For shame.
- set /a second = second + 256
- goto timeCheck
- :RRStairsD
- echo -
- echo Those lead down to the boutique. They are made of polished marble.
- goto actionHub
- :RRLadderD
- echo -
- echo Those lead down to the store room. Ladders really are a pain for ponies to use.
- goto actionHub
- :RRDoorD
- echo -
- echo Behind the door is the kitchen. There delicous food awaits.
- goto actionHub
- :RRWashroomD
- echo -
- echo Every lady needs a washroom to attend to her hygeniene needs. Inside is a a sink
- echo a toilet, and a tub, along with all the needed soaps, perfumes, and towels.
- goto actionHub
- :raritysroomSleep
- if %hour% LSS 8 goto RRSleep1
- if %hour% LSS 17 goto RRSleep2
- echo After a hard days work
- :RRSleep1
- echo -
- echo Going back to sleep sounds like a great idea right now.
- echo You clammer back into bed and are soon snoring.
- REM Sleeps until 8, calculate elapsed time and adjust fatigue, hunger, and health
- set /a elapsedSec= 60 - second
- set second= 0
- set /a elapsedMin= 60 - minute
- set minute= 0
- set /a elaspedSec= elapsedSec + (elapsedMin * 60)
- set /a hourElapse= (8 - hour) + (elapsedSec / 3600)
- set returnZ= retRRS1
- goto sleepTime
- :retRRS1
- echo -
- echo You are woken up to the sound of the door bell ringing. Sassie Saddles is here^^!
- set event= buisness
- goto actionHub
- :RRSleep2
- echo -
- echo Yes, screw work. You would rather take a nap.
- echo You hop back back into your bed and throw the blanket over your head.
- REM Always four hours
- set hourElapse= 4
- set returnZ= retRRS2
- goto sleepTime
- :retRRS2
- echo -
- echo That was a refreshing nap. Now go back to work^^!
- goto actionHub
- :raritysroomGrass
- echo You are so hungry you nom on your pillow, but that fails to satiate your hunger.
- echo It does, however, get your pillow rather wet.
- set /a second= %second% + 15
- goto timeCheck
- :raritysroomGem
- echo -
- echo Your horn pulls you towards the LADDER.
- set /a fatigue= %fatigue% + 1
- set returnF= retRRG
- goto fatigueCheck
- :retRRG
- set /a second= %second% + 2
- goto timeCheck
- REM Boutique Floor Progess: Approx 14%?
- REM Events - Buisness(1)
- REM Tasks (Highest to Lowest Priority)
- REM Start all action sections
- REM Add all exits
- REM Add all objects
- REM Finish buisness mechanic
- REM Add alternative keywords
- REM Polish text
- :boutiquefloor
- if %event%==buisness set SassieSaddlesP= true
- if %SassieSaddlesD%==2 set SassieSaddlesP= false
- if %newboutiquefloor%==true goto boutiquefloor1
- goto boutiquefloor2
- :boutiquefloor1
- set newboutiquefloor= false
- echo -
- echo This is the real heart of your life. Here you display your wares, and ponies
- echo come in and check them out. Sometimes they even buy them^^!
- echo Your dresses, that is.
- :boutiquefloor2
- if %event%==buisness goto boutiquefloor4
- if %event%==buisness1 goto buisness
- if 7 LSS %hour% goto boutiquefloor3
- goto actionHub
- :boutiquefloor3
- set event= buisness
- if %SassieSaddlesD%==2 goto actionHub
- set SassieSaddlesP= true
- echo You here the ring of the door bell. You rush to the door and let Sassie Saddles
- echo in. She does have her own key, but that's only the polite thing to do.
- set /a second = second + 10
- goto timeCheck
- :boutiquefloor4
- if %event%==buisness1 goto buisness
- goto actionHub
- :buisness
- echo -
- echo (1) Sales Report (2) Adjust Prices (3) Adjust Stock
- echo (4) Adjust Work Schedule (4) Nothing
- set option= NOTHING
- set /p option=
- if %option%==1 goto salesReport
- if %option%==2 goto adjustPrices
- if %option%==3 goto adjustStock
- if %option%==4 goto adjustSassieSchedule
- if %option%==5 goto endBuisness
- echo That is not an option. 1,2,3, or 4. Nothing else.
- goto buisness
- :salesReport
- echo -
- echo "So far we have sold %BlueMoonS% Blue Moons, and %RedDawnS% Red Dawns. We have
- echo made %freshDosh% bits."
- echo -
- echo "Is there anything else you want?
- set /a second = second + 21
- goto timeCheck
- :adjustPrices
- echo (1) Blue Moon Price (2) Red Dawn Price (3) Sassie Saddle's Salary
- set option= NOTHING
- set /p option=
- if %option%==1 goto blueMoonPrice
- if %option%==2 goto redDawnPrice
- if %option%==3 goto sassieSalary
- echo That is not an option. Back to sales menu.
- goto buisness
- :blueMoonPrice
- echo -
- echo "The Blue Moon is currently sold for %BlueMoonP% bits. What do you want
- echo to set the new price to?" (Non-numeric input will reset the price)
- set /p BlueMoonP=
- set /a numberCheck= %BlueMoonP%
- if %numberCheck%==%BlueMoonP% goto blueMoonPrice1
- set BlueMoonP= %BlueMoonIP%
- :blueMoonPrice1
- set /a second = second + 13
- goto timeCheck
- :redDawnPrice
- echo -
- echo "The Red Dawn is currently sold for %RedDawnP% bits. What do you want
- echo to set the new price to?" (Non-numeric input will reset the price)
- set /p RedDawnP=
- set /a numberCheck= %RedDawnP%
- if %numberCheck%==%RedDawnP% goto redDawnPrice1
- set RedDawnP= %RedDawnIP%
- :redDawnPrice1
- set /a second = second + 13
- goto timeCheck
- :sassieSalary
- echo -
- echo "Wait, what?"
- echo Go ahead, tell her what you think she should be payed.
- echo (Non-numeric input will reset her salary)
- set /p newSalary=
- set /a numberCheck= %newSalary%
- if %numberCheck%==%newSalary% goto sassieSalary1
- set newSalary= %SassieSaddlesIS%
- :sassieSalary1
- if %newSalary% LSS %SassieMin% goto sassieQuits
- if %newSalary% LSS %SassieSaddlesS% echo "What did I do to deserve a dock in pay? Grr."
- if %SassieSaddlesS% LSS %newSalary% echo "Thanks for the raise^!"
- set SassieSaddlesS= %newSalary%
- set /a second = second + 15
- goto timeCheck
- :sassieQuits
- echo "WHAT^! I'M NOT WORKING FOR THAT^!"
- echo -
- echo With that Sassie Saddles storms out the door. Way to go.
- set event= NOTHING
- set SassieSaddlesD= 2
- set SassieSaddlesP= false
- set SassieSaddlesS= 0
- set SassieSaddles9= none
- set SassieSaddles10= none
- set SassieSaddles11= none
- set SassieSaddles12= none
- set SassieSaddles13= none
- set SassieSaddles14= none
- set SassieSaddles15= none
- set SassieSaddles16= none
- set /a harmony= harmony - 10
- set returnG= retSQ
- goto harmonyCheck
- :retSQ
- set /a second = second + 43
- goto timeCheck
- :adjustStock
- set option= NOTHING
- echo (1) Blue Gems (2) Paper (3) Glue (4) Red Glitter
- echo (5) Blue Moon Ads (6) Red Dawn Ads
- set /p option=
- if %option%==1 goto blueGemStock
- if %option%==2 goto paperStock
- if %option%==3 goto glueStock
- if %option%==4 goto redGlitterStock
- if %option%==5 goto BlueMoonAStock
- if %option%==6 goto RedDawnAStock
- echo That is not an option. Back to sales menu.
- goto buisness
- :blueGemStock
- echo -
- echo "We seek to keep a stock of %BlueGemM% blue gems. What do you want
- echo to set the new stock to?" (Non-numeric input will reset the price)
- set /p BlueGemM=
- set /a numberCheck= %BlueGemM%
- if %numberCheck%==%BlueGemM% goto blueGemStock1
- set BlueGemM= 15
- :blueGemStock1
- set /a second = second + 13
- goto timeCheck
- :paperStock
- echo -
- echo "We seek to keep a stock of %paperM% sheets of paper. What do you want
- echo to set the new stock to?" (Non-numeric input will reset the price)
- set /p paperM=
- set /a numberCheck= %paperM%
- if %numberCheck%==%paperM% goto paperStock1
- set paperM= 15
- :paperStock1
- set /a second = second + 13
- goto timeCheck
- :glueStock
- echo -
- echo "We seek to keep a stock of %glueM% bottles of glue. What do you want
- echo to set the new stock to?" (Non-numeric input will reset the price)
- set /p glueM=
- set /a numberCheck= %glueM%
- if %numberCheck%==%glueM% goto glueStock1
- set glueM= 5
- :glueStock1
- set /a second = second + 13
- goto timeCheck
- :redGlitterStock
- echo -
- echo "We seek to keep a stock of %redGlitterM% bottles of red glitter. What do you want
- echo to set the new stock to?" (Non-numeric input will reset the price)
- set /p redGlitterM=
- set /a numberCheck= %redGlitterM%
- if %numberCheck%==%redGlitterM% goto redGlitterStock1
- set redGlitterM= 5
- :redGlitterStock1
- set /a second = second + 13
- goto timeCheck
- :blueMoonAStock
- echo -
- echo "We seek to keep a stock of %BlueMoonAM% advertisements for Blue Moon. What do you want
- echo to set the new stock to?" (Non-numeric input will reset the price)
- set /p BlueMoonAM=
- set /a numberCheck= %BlueMoonAM%
- if %numberCheck%==%BlueMoonAM% goto blueMoonAStock1
- set BlueMoonAM= 10
- :blueMoonAStock1
- set /a second = second + 13
- goto timeCheck
- :redDawnAStock
- echo -
- echo "We seek to keep a stock of %RedDawnAM% advertisements for Red Dawn. What do you want
- echo to set the new stock to?" (Non-numeric input will reset the price)
- set /p RedDawnAM=
- set /a numberCheck= %RedDawnAM%
- if %numberCheck%==%RedDawnAM% goto redDawnAStock1
- set RedDawnAM= 3
- :redDawnAStock1
- set /a second = second + 13
- goto timeCheck
- :adjustSassieSchedule
- echo "So what hour do you wish to change?"
- set option= NOTHING
- set /p option=
- if %option%==9 goto adjustSassieSchedule9
- echo "I don't work at that time, and don't think I'm going to start now."
- set /a second = second + 8
- goto timeCheck
- :endBuisness
- set event= buisness
- echo "Alright. Have a nice day. "
- set /a second = second + 5
- goto timeCheck
- :boutiquefloorActions
- if %action%==buisness goto SassieSaddles
- goto actionHub1
- :boutiquefloorPonies
- REM buisness is complicated, which ponies are present depends on the time (including day
- REM and on advertising. Also maybe some randomization if I can get that to work.
- REM Probably will have so each day, it generates who will be there at each hour
- if !PonyGoth%hour%!==true goto bfp1
- goto talk1
- :bfp2
- goto talk1
- :boutiquefloorExits
- set /p destination=
- if %destination%==room goto BFtoRRoom
- if %destination%==Stairs goto BFtoRRoom
- if %destination%==STAIRS goto BFtoRRoom
- if %destination%==stairs goto BFtoRRoom
- goto walk1
- :BFtoRRoom
- set scene= raritysroom
- set SassieSaddlesP= false
- echo -
- echo You slug up the stairs into your room.
- set /a second= second + 43
- goto timeCheck
- :boutiquefloorObjects
- echo I don't know what that is.
- goto actionHub
- :boutiquefloorD
- echo -
- echo This is your boutique floor. In the back several beautiful DRESSES are
- echo on display behind a glass window. There is a DOOR in the back leading to
- echo the room where you store dresses and materials, and some STAIRS leading
- echo to your room. In the front is the ENTRANCE, leading out to Diamond Avenue.
- REM Will mention what ponies are currently on floor, buisness hours from 9-5
- if %SassieSaddlesP%==true echo SASSIE is standing by the ENTRANCE scribbling on her planner.
- if !PonyGoth%hour%!==true echo In the corner a pony in a neo-GOTHic dress admires the Blue Moon.
- goto actionHub
- :boutiquefloorThings
- goto look1
- :boutiquefloorSleep
- echo There is nowhere to sleep here, it's right in the middle of work^^!
- goto actionHub
- :boutiquefloorGrass
- goto eat2
- :boutiquefloorGem
- echo -
- echo Your horn pulls you towards the DOOR.
- set /a fatigue= %fatigue% + 1
- set returnF= retBFG
- goto fatigueCheck
- :retBFG
- set /a second= %second% + 2
- goto timeCheck
- REM Twilight's Castle
- REM This is the endgame, it can only be accessed while endgame is in effect.
- REM There is one hall for each pony. You enter through Rarity's Hall, and Twilight's Hall
- REM can only be entered after all the other halls have been completed, or their corresponding
- REM pony has been rescued. If the pony was rescued, completing the hall gives a harmony bonus,
- REM and if Harmony was already at HarmonyReq than it gives a damage bonus for the final battle.
- REM At the end of the hall is the boss, Silent Dusk. In order to get the best ending, Harmony
- REM must be at HarmonyReq, and all other ponies must be rescued.
- :tutorial
- echo You have encountered an action scene for the first time.
- echo This is an optional part of the game. However, it will be more difficult if you
- echo skip them as you cannot dodge certain attacks if you choose the pure text route.
- echo You can adjust the settings so you can choose to skip certain action scenes,
- echo but play others. If you have never gotten to this part before, I advise
- echo playing the toutorial.
- echo Y - Play All Action Scenes (skip tutorial) N - Skip All action Scenes
- echo M - Skip select scenes T - Play Tutorial
- set /p option=
- if %option%==Y goto tutorial1
- if %option%==y goto tutorial1
- if %option%==N goto tutorial2
- if %option%==n goto tutorial2
- if %option%==M goto tutorial3
- if %option%==n goto tutorial3
- if %option%==T goto tutorial4
- if %option%==t goto tutorial4
- :tutorial1
- set actionScene= yes
- goto %scene%
- :tutorial2
- set actionScene= no
- goto %scene%
- :tutorial3
- set actionScene= maybe
- choice /m Do you want to do the tutorial?
- goto %scene%
- :tutorial4
- :timeTest
- set scene= timeTest
- echo Day: %day% Time: %hour%:%minute%:%second%
- echo Let the seconds pass
- set /p sand=
- set /a second= %second% + %sand%
- echo Let the minutes pass
- set /p sand=
- set /a minute= %minute% + %sand%
- echo Let the hours pass
- set /p sand=
- set /a hour= %hour% + %sand%
- echo Let the days pass
- set /p sand=
- set /a day= %day% + %sand%
- goto timeCheck
- REM Dialouge
- REM Eventually you learn a spell from deep reflection
- :Rarity
- if %RarityD%==0 goto Rarity1
- :Rarity1
- echo -
- echo You're right, everyone should get to know herself.
- echo You spend several minutes talking to yourself. You learn that your
- echo name is Rarity, you have a sister named Sweetie Belle, and you like fashion.
- echo Fascinating. Who knew you had some much in common with yourself?
- set RarityD= 1
- set /a minute= minute + 4
- goto timeCheck
- REM As dialouge progresses the narrator tells you all about his person life, gives harmony points up to a point
- :Narrator
- if %fatigue% LSS 120 set sleepy= false
- if %NarratorD%==0 goto Narrator1
- if %NarratorD%==1 goto Narrator2
- :Narrator1
- echo -
- echo Wait, what? Are you really talking to me? You're not talking to me.
- echo No one talks to the narrator. You meant to talk to someone else. Carry on.
- set NarratorD= 1
- set /a second= second + 12
- goto timeCheck
- :Narrator2
- echo -
- echo So you really do want to talk me. I just don't know what to say.
- echo You're so generous, taking the time to talk to a lonely narrator like me.
- set /a harmony= harmony + 1
- set narratorD= 2
- set /a second= second + 11
- goto timeCheck
- :Ganondox
- echo -
- echo If you want to talk with me, send me a message on Deviant Art.
- echo Kinda hard to hold a pre-programmed conversation, ya know?
- goto actionHub
- :SassieSaddles
- if %SassieSaddlesM%==false goto talk1
- if %SassieSaddlesP%==false goto SassieSaddles1
- if %fatigue% LSS 120 set sleepy= false
- if %SassieSaddlesD%==0 goto SassieSaddles2
- :SassieSaddles1
- echo Sassie isn't here right now, you can't talk to her.
- goto actionHub
- :SassieSaddles2
- echo "Good morning Rarity, what would you like me to do today?"
- set event= buisness1
- set /a second= second + 11
- goto timeCheck
- :Somepony
- if %someponyM%==false goto talk1
- if %someponyP%==false goto Somepony1
- goto actionHub
- :Somepony1
- echo Somepony isn't here right now, you can't talk to her.
- REM Items
- :generic
- if %generic%==true goto generic1
- goto use1
- :generic1
- REM Using generic on items
- echo What do you want to use GENERIC on?
- REM using on objects
- set selectedItem= generic
- goto %scene%Objects
- REM Endings
- :asYouWish
- echo Well okay then...
- echo -
- echo ...You died.
- goto gameover
- :starved
- echo You find that you lack the energy to continue doing what you were doing.
- echo You look down on your beautiful ribs, and find they are now completely
- echo emanciated. How dreadful^^! You no longer have energy to breathe either,
- echo but your beautiful figure^^! It's gone^^! And you're dead^^!
- goto gameover
- :sweetDreams
- echo Sometimes when you goto sleep, you don't wake up.
- echo Ever.
- echo Like, you totally just like died in your sleep.
- echo Turns out even sleeping kills. Safety is a lie, and it sucks to be you.
- goto gameover
- :overdose
- REM From overusing stimulant potion, it sets fatigue back to the hallucinating point, but drains health
- REM healing potion restores health, but increases hunger
- REM food potion restores hunger, but increases fatigue
- REM also a wasting potion that dramatically increases hunger and does a hunger check so it does at, but removes ALL fatigue and damages enemies in room
- echo Suddenly your eyes start to bleed and you can no longer see. Needless
- echo to say,something is very wrong. You mouth feels extremely dry for a
- echo second, this it feels wets and you taste salt and iron. You realize
- echo ALL your orfices are bleeding profusingly. Soon you bleed out and die.
- echo What an undignified way to go.
- goto gameover
- :nightmarity
- :theEnd
- echo -
- echo You are interrupted from whatever you were doing due to the fact
- echo the atmosphere suddently caught on fire, including all the air in
- echo your lungs, it turns out that is very distracting. Not only is it
- echo very distracting, but Equestria is now very destroyed, and you are
- echo very dead.
- echo (Press enter to progress)
- set /p nothing=
- goto gameover
- :badEnding
- :goodEnding
- :horrificEnding
- :jokeEnding
- pause
- exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement