Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Abandon all hope, ye who enter here
This file has been truncated, but you can view the full file.
//Dr. Seuss once wrote, "IF." He meant, "If you give a fuck, maybe,
//JUST MAYBE, you can change this shitty world in some small way for
//the better." I might've been an writer of children's books someday,
//but instead, I decided to make this. So in lieu of The Lorax,
//let's call this The Dragon, and have my word be, "DON'T." As in,
//"Don't do something stupid like this the way I did, you jackass."
//But the truth is humans are very stubborn creatures. You probably
//won't listen to my advice and, chances are, neither will I.
//This is just an excerpt of the source code for DRAGON: A Game About
//a Dragon: http://store.steampowered.com/app/351150
//The actual file is three to four times what is shown here. But it
//works, and isn't that what matters?
//I don't know why you would ever want to use this horrendous code,
//but it is logorrhea of my own creation notwitstanding, so:
//Copyright 2012-2015 Chris Albert
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.IsolatedStorage;
using System.Xml.Serialization;
using System.Runtime.InteropServices;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Storage;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
#region using Steamworks;
using Steamworks;
#endregion
namespace AGameAboutADragon
{
/// <summary>
/// This is the main type for your game
/// </summary>
///
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
DrawStages drawStages;
DrawHome drawHome;
Draw2e1 draw2e1;
Draw2e4 draw2e4;
Draw4e2 draw4e2;
Draw5e1 draw5e1;
Draw6eB draw6eB;
DrawAbyss drawAbyss;
DrawSky drawSky;
DrawWorldMap drawWorldMap;
DrawStory drawStory;
DrawTitle drawTitle;
DrawCredits drawCredits;
DrawEndPage drawEndPage;
LoadDragon loadDragon;
LoadSquire loadSquire;
LoadSheep loadSheep;
LoadRam loadRam;
LoadArcher loadArcher;
LoadCD loadCD;
LoadStampede loadStampede;
LoadHandler loadHandler;
LoadSecurity loadSecurity;
LoadXbow loadXbow;
LoadSwordmaster loadSwordmaster;
LoadBone loadBone;
LoadSax loadSax;
LoadTuba loadTuba;
LoadHazmat loadHazmat;
LoadLancer loadLancer;
LoadPikeman loadPikeman;
LoadFiresoldier loadFiresoldier;
LoadFencer loadFencer;
LoadXX loadXX;
LoadSpymaster loadSpymaster;
LoadWalker loadWalker;
LoadFlier loadFlier;
LoadExplosion loadExplosion;
LoadLavaball loadLavaball;
LoadToxicball loadToxicball;
LoadNeckbird loadNeckbird;
LoadFirefloor loadFirefloor;
LoadTentacle loadTentacle;
LoadTM061 loadBoss1;
LoadCaptain loadCaptain;
LoadAlex loadAlex;
LoadBaldwin loadBaldwin;
LoadWarden loadWarden;
LoadNinja loadNinja;
LoadGeneral loadGeneral;
LoadMech loadMech;
LoadFlyss loadFlyss;
PuzzleTruck puzzleTruck;
PuzzleWater puzzleWater;
PuzzleHovercraft puzzleHovercraft;
PuzzleBoat puzzleBoat;
PuzzleFlamewall puzzleFlamewall;
PuzzleGate puzzleGate;
Puzzle4e3top puzzle4e3top;
PuzzleBramble puzzleBramble;
PuzzleCruise puzzleCruise;
PuzzleRock puzzleRock;
Puzzle5e2 puzzle5e2;
PuzzleTower puzzleTower;
LoadGust loadGust;
DrawTreasureText drawTreasureText;
DrawWater drawWater;
LoadOcean loadOcean;
LoadWaterfall loadWaterfall;
Npc1e2 npc1e2;
Npc1e3 npc1e3;
Npc2e1 npc2e1;
Npc2e2 npc2e2;
Npc2e3 npc2e3;
Npc2e4 npc2e4;
Npc3e1 npc3e1;
Npc3eB npc3eB;
Npc4e1 npc4e1;
Npc4e2 npc4e2;
Npc4e3 npc4e3;
Npc4e4 npc4e4;
Npc5e1 npc5e1;
Npc5e2 npc5e2;
PlayStageMusic playStageMusic;
PlayWorldMusic playWorldMusic;
Play5e2Top play5e2Top;
Play5e2Bottom play5e2Bottom;
PlayStoryHappy playStoryHappy;
PlayStoryEnemy playStoryEnemy;
PlayStoryWistful playStoryWistful;
PlayStoryEndingA playStoryEndingA;
PlayStoryEndingB playStoryEndingB;
PlayStoryCredits playStoryCredits;
PlayMusicBox playMusicBox;
PlayFireSFX playFireSFX;
PlayThunderSFX playThunderSFX;
PlayIceSFX playIceSFX;
PlayAcidSFX playAcidSFX;
PlayMagicSFX playMagicSFX;
PlayWaterSFX playWaterSFX;
PlayWings playWings;
LoopThunderBlast loopThunderBlast;
LoopFlame loopFlame;
LoopAcid loopAcid;
LoopFlameAtk loopFlameAtk;
LoopSpin loopSpin;
LoopLaser loopLaser;
LoopBurrow loopBurrow;
LoopFireBreathAlt loopFireBreathAlt;
LoopIceBreathAlt loopIceBreathAlt;
ContentManager stageManager;
ContentManager storyManager;
ContentManager mapManager;
ContentManager breathSFX;
ContentManager stageBGM;
ContentManager worldBGM;
ContentManager storyBGM;
Achievements achievements;
//TRACK LIST
#region SFX List
SoundEffect musicExit, musicDefeat, musicTreasure,
sfxToggle, sfxYes, sfxNo, sfxPageflip, sfxWarp, sfxCoin,
sfxJump, sfxWaterjump, sfxDamage, sfxSlash, sfxSplash,
sfxPlink, sfxEngine, sfxFreeze,
sfxSmoke,
sfxExplosion, sfxGunshot, sfxCannon, sfxThunk,
sfxThunderProj, sfxThunderBlast, sfxInvis,
sfxLaser, sfxLaserCharge, sfxChargeShort,
sfxFireball, sfxSpear, sfxNote,
sfxExpAlt, sfxArrow, sfxDash, sfxSteam, sfxThud;
#endregion
//SPRITE LIST
#region Sprite List
Texture2D hudHP, hpNumbers, hpSlash, hudBreath, breathHUD, HPBorder,
hudCurrency, optionsNumbers, //HUD sprites
campfireSS, smokeSS, //end of stage sprites
warpSS, //warp sprite
coinSS, puffSS, plinkSS, sparkleSS, keySS, splashSS, //system sprites
explosionOutSS, explosionUpSS,
allTreasureSS, acidTreasureSS,
titlePointer, //title screen sprites
whistle, hintBubble, guideBubble, guidePause,
pauseOn, pauseSwitch, pauseInstructions, exitInstructions,
breathDesc,
whiteMatteSS, blackMatteSS; //overlays
#endregion
SaveManager save;
bool titleLoad = false;
#region Title Options
int languageType = 0;
int controlType = 0;
int healthType = 0;
int optionsPointerLoc = 0;
int checkVolume = 10;
int checkSFX = 10;
int checkLanguage = 0;
int checkControl = 0;
int checkHealth = 0;
#endregion
#region All int
int hpOne, hpTen = 0;
int breathOne, breathTen = 0;
int clawOne, clawTen = 0;
int whistle1 = 0;
int whistle2 = 0;
int whistle3 = 0;
int helpOpacity = 0;
int helpCT = 0;
int jumpWait = 0;
int toggleTutorial = 0;
int tutorialPos = 0;
int pausePos = 0;
int worldMapPointerModX = 0;
int worldMapPointerModY = 0;
int saveRes = 0;
int resNow = 0;
int resMod = 0;
int fontSetting = 0;
int titleExtraCT = 0;
int titleExtraFrame = 0;
int boss1Clean = 0;
int boss2Clean = 0;
int boss3Clean = 0;
int boss4Clean = 0;
int boss5Clean = 0;
int questHPBonus = 0;
int endpageCT = 0;
int endpageFrameX = 0;
int endpageFrameY = 0;
int haveTreasure1 = 0;
int haveTreasure2 = 0;
int haveTreasure3 = 0;
int haveTreasure4 = 0;
int haveTreasure5 = 0;
int haveTreasure6 = 0;
int haveTreasure7 = 0;
int haveTreasure8 = 0;
int haveTreasure9 = 0;
int haveTreasure10 = 0;
int haveTreasure11 = 0;
int haveTreasure12 = 0;
int haveTreasure13 = 0;
int haveTreasure14 = 0;
int haveTreasure15 = 0;
int haveTreasure16 = 0;
int haveTreasure17 = 0;
int haveTreasure18 = 0;
int haveTreasure19 = 0;
int haveTreasure20 = 0;
int haveTreasure21 = 0;
int haveTreasure22 = 0;
int haveTreasure23 = 0;
int haveTreasure24 = 0;
int haveTreasure25 = 0;
int haveTreasure26 = 0;
int houseArrowCT = 0;
int houseArrowFrame = 0;
#region light
int light1X = 0;
int light2X = 0;
int light3X = 0;
int light4X = 0;
int light1Frame = 0;
int light2Frame = 0;
int light3Frame = 0;
int light4Frame = 0;
int light1CT = 0;
int light2CT = 0;
int light3CT = 0;
int light4CT = 0;
int light1Act = 0;
int light2Act = 0;
int light3Act = 0;
int light4Act = 0;
int light1Wait = 0;
int light2Wait = 0;
int light3Wait = 0;
int light4Wait = 0;
bool light1On = false;
bool light2On = false;
bool light3On = false;
bool light4On = false;
#endregion
#region 2-1 puzzle
int gateY = 0;
int gateX = 0;
int waterRisingHeight = 0;
int puzzleCT = 0;
#endregion
#region 2-2 puzzle
int fishermanCT = 0;
int fishermanFrame = 0;
int fishermanAct = 0;
int fishermanLoc = 0;
int hoverCT = 0;
int hoverFrame = 0;
int hoverAct = 0;
int hoverHP = 60;
int hoverY = 0;
int puzzleExplosionCT = 0;
int chestAct = 0;
int flyssCT = 0;
int flyssFrame = 0;
int flyssAct = 0;
int flyssWait = 0;
#endregion
#region 2-3 puzzle
int gustCT = 0;
int gustFrame = 0;
int gustAct = 0;
int gustTimer = 0;
int gustYVel = 0;
int gustYMod = 0;
int gustAttackFrame = 0;
int gustAttackCT = 0;
int defendTimer = 0;
int sheepYVel = 0;
int sheepXVel = 0;
int sheepYPos = 0;
int sheepXPos = 0;
int sheepCT = 0;
int sheepFrame = 0;
int sheepAct = 0;
#endregion
#region 2-4 puzzle
int door1CT = 0;
int door1Frame = 0;
int door2CT = 0;
int door2Frame = 0;
int fire1Wait = 0;
int fire1CT = 0;
int fire1Frame = 0;
int fire1Act = 0;
int fire1Freeze = 0;
int fire2Wait = 0;
int fire2CT = 0;
int fire2Frame = 0;
int fire2Act = 0;
int fire2Freeze = 0;
int fire3Wait = 0;
int fire3CT = 0;
int fire3Frame = 0;
int fire3Act = 0;
int fire3Freeze = 0;
int fire4Wait = 0;
int fire4CT = 0;
int fire4Frame = 0;
int fire4Act = 0;
int fire4Freeze = 0;
int fire5Wait = 0;
int fire5CT = 0;
int fire5Frame = 0;
int fire5Act = 0;
int fire5Freeze = 0;
#endregion
#region boat
int boat1X = 0;
int boat1Y = 0;
int boat2X = 0;
int boat2Y = 0;
int boat1Vel = 0;
int boat1VelCT = 0;
int boat2Vel = 0;
int boat2VelCT = 0;
#endregion
#region 3-2 puzzle
int flameWallX = 0;
int flameWallVel = 0;
int sprinklerCT = 0;
int sprinklerFrame = 0;
int sprinkler1Frozen = 0;
int sprinkler2Frozen = 0;
int sprinkler3Frozen = 0;
int sprinkler4Frozen = 0;
int sprinkler5Frozen = 0;
int sprinkler6Frozen = 0;
int sprinkler7Frozen = 0;
int sprinkler1HP = 60;
int sprinkler2HP = 60;
int sprinkler3HP = 60;
int sprinkler4HP = 60;
int sprinkler5HP = 60;
int sprinkler6HP = 60;
int sprinkler7HP = 60;
bool s3e2enemiesOn = false;
#endregion
#region 3-3 puzzles
int guardAct = 0;
int guardFrame = 0;
int guardCT = 0;
int doorYPos = 0;
int boulderHP = 420;
int boulderCT = 0;
int boulderFrame = 0;
#endregion
#region 4-1 puzzle
int gearCT = 0;
int gearFrame = 0;
int gearAct = 0;
int gearHP = 60;
int gate4e1Y = 0;
#endregion
#region 4-2 puzzle
int cannonFarFrame = 0;
int cannonFarAct = 0;
int cannonFarCT = 0;
int cannonNearFrame = 0;
int cannonNearAct = 0;
int cannonNearCT = 0;
int genAct = 0;
int wickCT = 0;
int wickFrame = 0;
int wickAct = 0;
int wickTimer = 0;
int enemyMissileFrame = 0;
int enemyMissileCT = 0;
int enemyMissileTimer = 0;
int enemyMissileX = 0;
int enemyMissileYNear = 0;
int enemyMissileYFar = 0;
int playerMissleCT = 0;
int playerMissileFrame = 0;
int playerMissileYNear = 0;
int playerMissileYFar = 0;
int starX = 0;
int starY = 0;
int starCT = 0;
int starFrame = 0;
#endregion
#region 4-3 Variables
int floor1CT = 0;
int floor1Frame = 0;
int floor1Wait = 0;
int floor1Dur = 0;
int floor1Act = 0;
int floor2CT = 0;
int floor2Frame = 0;
int floor2Wait = 0;
int floor2Dur = 0;
int floor2Act = 0;
int floor3CT = 0;
int floor3Frame = 0;
int floor3Wait = 0;
int floor3Dur = 0;
int floor3Act = 0;
int brambleHP = 180;
int brambleCT = 0;
int brambleFrame = 0;
int floodgateHP = 60;
int floodgateY = 0;
#endregion
#region 4-4 puzzle
int brambleAHP = 120;
int brambleAFreeze = 120;
int brambleACT = 0;
int brambleAFrame = 0;
int brambleBHP = 180;
int brambleBCT = 0;
int brambleBFrame = 0;
#endregion
#region 5-1
int barrierCT, barrierFrame = 0;
#endregion
#region 5-2 puzzle
int carHP = 0;
int carCT = 0;
int carFrame = 0;
int carAct = 0;
int carXVel = 0;
int carXPos = 0;
int defenderXPos = 0;
int defenderCT = 0;
int defenderFrame = 0;
int defenderAct = 0;
int defenderFreezeOpacity = 0;
int defenderFaceRMod = 0;
int spyCT = 0;
int spyFrame = 0;
int spyAct = 0;
int spyActMod = 0;
int spyHP = 1;
int spyTreasureLocMod = 0;
int spyWait = 0;
int daggerCT = 0;
int daggerFrame = 0;
int dagger1Act = 2;
int dagger2Act = 0;
int dagger3Act = 1;
int dagger1XPos = 0;
int dagger1YPos = 0;
int dagger1XVel = 0;
int dagger1YVel = 0;
int dagger2XPos = 0;
int dagger2YPos = 0;
int dagger2XVel = 0;
int dagger2YVel = 0;
int dagger3XPos = 0;
int dagger3YPos = 0;
int dagger3XVel = 0;
int dagger3YVel = 0;
bool e6Melee = false;
bool e7Melee = false;
bool e8Melee = false;
bool e6projA = false;
bool e7projA = false;
bool e8projA = false;
bool e6projB = false;
bool e7projB = false;
bool e8projB = false;
#endregion
#region 6-1 puzzle
int magicWallCT = 0;
int magicWallFrame = 0;
int wallOpacity1 = 255;
int wallOpacity2 = 255;
int wallOpacity3 = 255;
int wallColor1 = 0;
int wallColor2 = 0;
int wallColor3 = 0;
int statue1CT = 0;
int statue1Frame = 0;
int statue1HP = 120;
int statue2CT = 0;
int statue2Frame = 0;
int statue2HP = 0;
int statue3CT = 0;
int statue3Frame = 0;
int statue3HP = 0;
int torchCT = 0;
int torchFrame = 0;
int torch1Act = 0;
int torch2Act = 0;
int torch3Act = 0;
int torch4Act = 0;
int torch5Act = 0;
int torch6Act = 0;
int torch7Act = 0;
int torch8Act = 0;
int torch9Act = 0;
int torch10Act = 0;
int torch11Act = 0;
int torch12Act = 0;
int torch13Act = 0;
int torch14Act = 0;
int torch15Act = 0;
int torch16Act = 0;
int torch17Act = 0;
int waterTowerCT = 0;
int waterTowerFrame = 0;
int water1Act = 0;
int water2Act = 0;
int water1HP = 60;
int water2HP = 60;
#endregion
#region 6-B not boss
int foothold1Frame = 2;
int foothold2CT = 0;
int foothold2Frame = 0;
int foothold3CT = 0;
int foothold3Frame = 0;
int starlightCT = 0;
int starlightFrame = 0;
int starlightX = 0;
int starlightY = 0;
int alienCannon1CT = 0;
int alienCannon1Frame = 0;
int alienCannon1Act = 0;
int alienCannon1Facing = 0;
int alienCannon1Reload = 0;
int alienDolphinVelCT1 = 0;
int alienDolphinX1 = 0;
int alienDolphinY1 = 0;
int alienDolphinXVel1 = 0;
int alienDolphinYVel1 = 0;
int alienCannon2CT = 0;
int alienCannon2Frame = 0;
int alienCannon2Act = 0;
int alienCannon2Facing = 0;
int alienCannon2Reload = 0;
int alienDolphinVelCT2 = 0;
int alienDolphinX2 = 0;
int alienDolphinY2 = 0;
int alienDolphinXVel2 = 0;
int alienDolphinYVel2 = 0;
int alienCannon3CT = 0;
int alienCannon3Frame = 0;
int alienCannon3Act = 0;
int alienCannon3Facing = 0;
int alienCannon3Reload = 0;
int alienDolphinVelCT3 = 0;
int alienDolphinX3 = 0;
int alienDolphinY3 = 0;
int alienDolphinXVel3 = 0;
int alienDolphinYVel3 = 0;
int alienCannon4CT = 0;
int alienCannon4Frame = 0;
int alienCannon4Act = 0;
int alienCannon4Facing = 0;
int alienCannon4Reload = 0;
int alienDolphinVelCT4 = 0;
int alienDolphinX4 = 0;
int alienDolphinY4 = 0;
int alienDolphinXVel4 = 0;
int alienDolphinYVel4 = 0;
int dolphin1CT = 0;
int dolphin1Frame = 0;
int dolphin2CT = 0;
int dolphin2Frame = 0;
int dolphin3CT = 0;
int dolphin3Frame = 0;
int dolphin4CT = 0;
int dolphin4Frame = 0;
int dolphin1Act = 0;
int dolphin2Act = 0;
int dolphin3Act = 0;
int dolphin4Act = 0;
int e6projB_X = 0;
int e6projB_Y = 0;
int e6projBVel = 0;
int e6projC_X = 0;
int e6projC_Y = 0;
int e6projCVel = 0;
bool e6projectileB = false;
bool e6projectileC = false;
int e7projB_X = 0;
int e7projB_Y = 0;
int e7projBVel = 0;
int e7projC_X = 0;
int e7projC_Y = 0;
int e7projCVel = 0;
bool e7projectileB = false;
bool e7projectileC = false;
int e8projB_X = 0;
int e8projB_Y = 0;
int e8projBVel = 0;
int e8projC_X = 0;
int e8projC_Y = 0;
int e8projCVel = 0;
bool e8projectileB = false;
bool e8projectileC = false;
int e9projB_X = 0;
int e9projB_Y = 0;
int e9projBVel = 0;
int e9projC_X = 0;
int e9projC_Y = 0;
int e9projCVel = 0;
bool e9projectileB = false;
bool e9projectileC = false;
int e10projB_X = 0;
int e10projB_Y = 0;
int e10projBVel = 0;
int e10projC_X = 0;
int e10projC_Y = 0;
int e10projCVel = 0;
bool e10projectileB = false;
bool e10projectileC = false;
#endregion
#region Obstacles
int obs1X = 0;
int obs1Y = 0;
int obs1XVel = 0;
int obs1YVel = 0;
int obs1CT = 0;
int obs1Frame = 0;
int obs1Act = 0;
int obs1Wait = 0;
int obs1FreezeCT = 0;
int obs1FreezeColor = 0;
int obs2X = 0;
int obs2Y = 0;
int obs2XVel = 0;
int obs2YVel = 0;
int obs2CT = 0;
int obs2Frame = 0;
int obs2Act = 0;
int obs2Wait = 0;
int obs2FreezeCT = 0;
int obs2FreezeColor = 0;
int obs3X = 0;
int obs3Y = 0;
int obs3XVel = 0;
int obs3YVel = 0;
int obs3CT = 0;
int obs3Frame = 0;
int obs3Act = 0;
int obs3Wait = 0;
int obs3FreezeCT = 0;
int obs3FreezeColor = 0;
int obs4X = 0;
int obs4Y = 0;
int obs4XVel = 0;
int obs4YVel = 0;
int obs4CT = 0;
int obs4Frame = 0;
int obs4Act = 0;
int obs4Wait = 0;
int obs4FreezeCT = 0;
int obs4FreezeColor = 0;
int obs5X = 0;
int obs5Y = 0;
int obs5XVel = 0;
int obs5YVel = 0;
int obs5CT = 0;
int obs5Frame = 0;
int obs5Act = 0;
int obs5Wait = 0;
int obs5FreezeCT = 0;
int obs5FreezeColor = 0;
int obs6X = 0;
int obs6Y = 0;
int obs6XVel = 0;
int obs6YVel = 0;
int obs6CT = 0;
int obs6Frame = 0;
int obs6Act = 0;
int obs6Wait = 0;
int obs6FreezeCT = 0;
int obs6FreezeColor = 0;
int obs7X = 0;
int obs7Y = 0;
int obs7XVel = 0;
int obs7YVel = 0;
int obs7CT = 0;
int obs7Frame = 0;
int obs7Act = 0;
int obs7Wait = 0;
int obs7FreezeCT = 0;
int obs7FreezeColor = 0;
int obs8X = 0;
int obs8Y = 0;
int obs8XVel = 0;
int obs8YVel = 0;
int obs8CT = 0;
int obs8Frame = 0;
int obs8Act = 0;
int obs8Wait = 0;
int obs8FreezeCT = 0;
int obs8FreezeColor = 0;
int obs9X = 0;
int obs9Y = 0;
int obs9XVel = 0;
int obs9YVel = 0;
int obs9CT = 0;
int obs9Frame = 0;
int obs9Act = 0;
int obs9Wait = 0;
int obs9FreezeCT = 0;
int obs9FreezeColor = 0;
int obs10X = 0;
int obs10Y = 0;
int obs10XVel = 0;
int obs10YVel = 0;
int obs10CT = 0;
int obs10Frame = 0;
int obs10Act = 0;
int obs10Wait = 0;
int obs10FreezeCT = 0;
int obs10FreezeColor = 0;
#endregion
#region Wealth var
int oneNow = 0;
int tenNow = 0;
int hundNow = 0;
int thouNow = 0;
int tenkNow = 0;
int hundkNow = 0;
int oneTotal = 0;
int tenTotal = 0;
int hundTotal = 0;
int thouTotal = 0;
int tenkTotal = 0;
int hundkTotal = 0;
#endregion
#region whistle
int whistleRandom = -1;
int note1Measure = 0;
int note1Beat = 0;
int note1xPos = 0;
int note1yPos = 0;
int note1xVel = 0;
int note1yVel = -2;
int note2Measure = 0;
int note2Beat = 0;
int note2xPos = 0;
int note2yPos = 0;
int note2xVel = 0;
int note2yVel = -2;
int note3Measure = 0;
int note3Beat = 0;
int note3xPos = 0;
int note3yPos = 0;
int note3xVel = 0;
int note3yVel = -2;
int note4Measure = 0;
int note4Beat = 0;
int note4xPos = 0;
int note4yPos = 0;
int note4xVel = 0;
int note4yVel = -2;
int note1CT = 0;
int note2CT = 0;
int note3CT = 0;
int note4CT = 0;
#endregion
#region puzzle flash
int puzzle1Opacity = 255;
int puzzle2Opacity = 255;
int puzzle3Opacity = 255;
int puzzle4Opacity = 255;
int puzzle5Opacity = 255;
int puzzle6Opacity = 255;
int puzzle7Opacity = 255;
#endregion
Random generateRandom = new Random();
int floor1y, floor2y, floor3y, floor4y, floor5y, floor6y, floor7y, floor8y,
floor9y, floor10y, floor11y, floor12y, floor13y, floor14y, floor15y, floor16y,
floor17y, floor18y, floor19y, floor20y, floor21y, floor22y, floor23y, floor24y,
floor25y, floor26y, floor27y, floor28y, floor29y, floor30y, floor31y, floor32y,
floor33y, floor34y, floor35y, floor36y, floor37y, floor38y, floor39y, floor40y,
floor41y, floor42y, floor43y, floor44y, floor45y, floor46y, floor47y, floor48y,
floor49y, floor50y,
floor51y, floor52y, floor53y, floor54y, floor55y, floor56y, floor57y,
floor58y, floor59y, floor60y, floor61y, floor62y, floor63y, floor64y, floor65y,
floor66y, floor67y, floor68y, floor69y, floor70y, floor71y, floor72y, floor73y,
floor74y, floor75y, floor76y, floor77y, floor78y, floor79y, floor80y, floor81y,
floor82y, floor83y, floor84y, floor85y, floor86y, floor87y, floor88y, floor89y,
floor90y, floor91y, floor92y, floor93y, floor94y, floor95y, floor96y, floor97y,
floor98y, floor99y, floor100y,
floor101y, floor102y, floor103y, floor104y, floor105y, floor106y,
floor107y, floor108y, floor109y, floor110y, floor111y, floor112y, floor113y,
floor114y, floor115y, floor116y, floor117y, floor118y, floor119y, floor120y,
floor121y, floor122y, floor123y, floor124y, floor125y, floor126y, floor127y,
floor128y, floor129y, floor130y, floor131y, floor132y, floor133y, floor134y,
floor135y, floor136y, floor137y, floor138y, floor139y, floor140y, floor141y,
floor142y, floor143y, floor144y, floor145y, floor146y, floor147y, floor148y,
floor149y, floor150y,
floor151y, floor152y, floor153y, floor154y, floor155y, floor156y,
floor157y, floor158y, floor159y, floor160y, floor161y, floor162y, floor163y,
floor164y, floor165y, floor166y, floor167y, floor168y, floor169y, floor170y,
floor171y, floor172y, floor173y, floor174y, floor175y, floor176y, floor177y,
floor178y, floor179y, floor180y, floor181y, floor182y, floor183y, floor184y,
floor185y, floor186y, floor187y, floor188y, floor189y, floor190y, floor191y,
floor192y, floor193y, floor194y, floor195y, floor196y, floor197y, floor198y,
floor199y, floor200y = 0;
float volume = 1.0f;
float tempVolume = 1.0f;
float tempVolumeA = 1.0f;
float tempVolumeB = 1.0f;
float pauseVolume = 1.0f;
float sfxVolume = 1.0f;
int stageCT = 0;
int splashInLocX = 0;
int splashInLocY = 0;
int splashOutLocX = 0;
int splashOutLocY = 0;
int waveCT = 0;
int waveFrame = 0;
int acidFrame = 0;
int slowWaterFrame = 0;
int slowWaterCT = 0;
int spikeDamage = 0;
int splashInCT = 0;
int splashInFrame = 0;
int splashOutCT = 0;
int splashOutFrame = 0;
int independentBackgroundXY = 0;
int waterLimit1, waterLimit2 = 0;
int breathTypeSix = 0;
int waterRisingPos = 0;
int obstacle1x, obstacle2x, obstacle3x, obstacle4x, obstacle5x, obstacle6x,
obstacle7x, obstacle8x, obstacle9x, obstacle10x = 0;
int obstacle1y, obstacle2y, obstacle3y, obstacle4y, obstacle5y, obstacle6y,
obstacle7y, obstacle8y, obstacle9y, obstacle10y = 0;
int waterfallCT = 0;
int waterfallFrame = 0;
int waterfall1Act = 0;
int waterfall2Act = 0;
int poolCT = 0;
int poolFrame = 0;
int houseVarAct = 0;
int dkcFall = 0;
//Title screen int
#region Title Screen int
int logoWait = 0; //title screen timer
int pointerX = 250; //title screen pointer X loc
int pointerY = 285; //title screen point Y loc
int titleTimer = 0; //title frame CT
int titleFrame = 0; //title background frame
int pointerLoc = 0; //determines option highlighted on main menu
int titleY = -400;
int titleFrameX = 0;
int titleFrameY = 0;
int titleCT = 0;
int optionsPointerX = 550;
int optionsPointerY = 285;
#endregion
//World map int
#region World Map Position int
int mapGridX = 5; //pos on map - see notes
int mapGridY = 1; //pos on map - see notes
int recallMapPosX = 870; //area vector2 X + 20
int recallMapPosY = 285; //area vector2 Y + 35
int mapFrame = 0;
int mapCT = 0;
int exitFrame = 0;
int worldMapCT = 0;
int worldMapFrame = 0;
#endregion
//HUD int
#region HUD int
int hpPip1 = 1;
int hpPip2 = 1;
int hpPip3 = 1;
int hpPip4 = 1;
int hpPip5 = 1;
int hpPip6 = 1;
int breathPip1 = 0;
int breathPip2 = 0;
int breathPip3 = 0;
int breathPip4 = 0;
int breathPip5 = 0;
int breathPip6 = 0;
int breathPip7 = 0;
int breathPip8 = 0;
int breathPip9 = 0;
int breathPip10 = 0;
int breathPip11 = 0;
int breathPip12 = 0;
#endregion
//Stage end int
#region Stage End int
int smokeFrame = 0;
int smokeCT = 0;
int fireFrame = 0;
int fireCT = 0;
int stageEndCT = 0;
#endregion
//Dragon animation and player input
#region Animation System int
int drgnFrame = 0; //DRAGON frame of animation based on drgnCT
int drgnAction = 0; //DRAGON sprite action on Y axis
int drgnX = 0; //DRAGON X pos
int drgnY = 0; //DRAGON Y pos
int drgnCT = 0; //cycles DRAGON frame of animation when drgnCT=6 --> 10
animations per second
int drgnY_CT = 0; //negative Y velocity++ when Y_CT=6
int drgnXvel = 2; //DRAGON knockback speed
int drgnYvel = 0; //DRAGON current Y velocity
int drgnDashing = 1; //DRAGON running frame CT divisor
#endregion
#region Core Stat int
int drgnHPMax = 6; //DRAGON HP
int drgnHPNow = 6; //DRAGON current HP
int drgnHPBonus = 0; //+HP from gold
int drgnHPTreasure1 = 0; //+HP from treasure
int drgnHPTreasure2 = 0;
int drgnHPLV = 0; //+HP from XP
int drgnHPXP = 0; //increases drgnHPLV
int drgnFlyMax = 120; //duration of flight
int drgnFlyNow = 0; //current duration of flight
int drgnFlyBonus = 0; //+drgnFlyMax from gold
int drgnFlyTreasure1 = 0; //+drgnFlyMax from treasure
int drgnFlyTreasure2 = 0;
int drgnFlyTreasure3 = 0;
int drgnFlyTreasure4 = 0;
int drgnFlyLV = 0; //+drgnFlyMax from XP
int drgnFlyXP = 0; //increases drgnFlyLV
int breathFrame = 0;
int breathMax = 300; //duration of breath
int breathNow = 300; //current duration of breath
int breathMaxBonus = 0; //+breathMax from gold
int breathMaxTreasure1 = 0; //+breathMax from treasure
int breathMaxTreasure2 = 0;
int breathMaxTreasure3 = 0;
int breathMaxLV = 0; //+breathMax from XP
int breathMaxXP = 0; //increases breathmaxLV
int breathDmg = 1; //damage of breath on hitbox collision
int breathDmgBonus = 0; //+breath damage from gold
int breathDmgTreasure1 = 0; //+breath damage from treasure
int breathDmgTreasure2 = 0;
int breathLV = 0; //+breath damage from XP
int breathXP = 0; //increases breathLV
int breathX = 110; //x-pos of breath attack
int breathY = 0; //y-pos of breath attack
int breathType = 0; //breath element (0 = fire, 1 = thunder, 2 = ice, 3 =
acid, 4 = smoke)
int breathDir = 0; //direction breath facing L or R (5 = L)
int breathTimer = 0; //counts up to breathCycle
int breathCycleBonus = 0; //decreases wait time from gold
int breathCycleTreasure = 0; //decreases wait time from treasure
int clawFrame = 0; //claw frame of animation
int clawDmg = 3; //damage of claw on hitbox collision
int clawDmgBonus = 0; //+claw damage from gold
int clawDmgTreasure1 = 0; //+claw damage from treasure
int clawDmgTreasure2 = 0;
int clawLV = 0; //+claw damage from XP
int clawXP = 0; //increases clawLV
int clawTimer = 0; //claw repeat rate
int clawSize = 0; //determines claw size on sprite sheet
int clawDir = 0; //determines claw facing L or R (2 = L)
int clawX = 127; //x-pos of claw attack
int clawY = 0; //y-pos of claw attack
#endregion
#region Additional Treasure int
int freezeTreasure = 1; //doubles duration of freeze
int freezeTimeBonus = 0;
int breathCritBonus = 1;
int spikeDRBonus = 0;
int spikeDRTreasure = 0;
int drgnDRTreasure1 = 0; //decreases damage taken
int drgnDRTreasure2 = 0;
int drgnDRBonus = 0;
int preserveGP = 0;
int acidArmorRedBonus = 0;
int acidArmorRedTreasure = 0;
int EXPReducer = 1;
int treasureShineCT = 0;
int treasureShineFrame = 0;
int treasurePickUpCT = 0;
#endregion
//dragon sprite int: facingdir, waittimer, damage done, damage received,
etc.
#region Dragon Sprite System int
int drgnFacingDir = 0; //if DRAGON is facing right or left, increase y-pos
on sprite sheet
int drgnWaitTimer = 0; //if player touches nothing, DRAGON's idle animation
int drgnInvTimer = 0; //counts DRAGON's invincibility franes
int drgnInvOpacity = 255; //makes DRAGON blink while invincible
int drgnKnockbackTimer = 0;
int totalDamage = 0;
int drgnHitTimer = 0;
int drgnDamageTaken = 0;
int damageCheck = 0;
int ducking = 1;
int duckingYMod = 0;
int clawhitboxsize = 60;
int clawhitboxmod = 0;
int drgnFacingHitbox = 0;
int clawCT = 0;
#endregion
//GP int
#region GP int
int goldNow = 0;
int goldAvailable = 0;
int goldTotal = 0;
#endregion
//level variables
#region Level Up Menu int
int atkLevel = 0;
int defLevel = 0;
int sptLevel = 0;
int atkPrice = 500;
int defPrice = 500;
int sptPrice = 500;
int levelPointerX = 0;
int levelPointerY = 0;
#endregion
//menu int
#region Menu int
int menuPos = 0;
int menuFrameStr = 0;
int menuFrameDef = 0;
int menuFrameSpt = 0;
int menuFrameBack = 0;
#endregion
//storybook int
#region Storybook int
int page1Depth = 0;
int storyFGFrameX1 = 0;
int storyFGFrameY1 = 0;
int page2Depth = 0;
int storyFGFrameX2 = 0;
int storyFGFrameY2 = 0;
int page3Depth = 0;
int storyFGFrameX3 = 0;
int storyFGFrameY3 = 0;
int page4Depth = 0;
int storyFGFrameX4 = 0;
int storyFGFrameY4 = 0;
int page5Depth = 0;
int storyFGFrameX5 = 0;
int storyFGFrameY5 = 0;
int page6Depth = 0;
int storyFGFrameX6 = 0;
int storyFGFrameY6 = 0;
int page7Depth = 0;
int storyFGFrameX7 = 0;
int storyFGFrameY7 = 0;
int storyTextFrameX = 0;
int storyTextFrameY = 0;
int storyTextTotal = 0;
int storyFGFrameCT = 0;
int pageTurnSFXWait = 0;
#endregion
//NPC CT
#region NPC int
int npc1Act = 0;
int npc1Frame = 0;
int npc1CT = 0;
int npc1VarAct = 0;
int npc1Facing = 0;
bool npc1FaceR = false;
int npc2Act = 0;
int npc2Frame = 0;
int npc2CT = 0;
int npc2VarAct = 0;
bool npc2FaceR = false;
int npc3Act = 0;
int npc3Frame = 0;
int npc3CT = 0;
int npc3VarAct = 0;
bool npc3FaceR = false;
int npc4Act = 0;
int npc4Frame = 0;
int npc4CT = 0;
int npc4VarAct = 0;
bool npc4FaceR = false;
int npc5Act = 0;
int npc5Frame = 0;
int npc5CT = 0;
int npc5VarAct = 0;
int npc6Act = 0;
int npc6Frame = 0;
int npc6CT = 0;
int npc6VarAct = 0;
int npc7Act = 0;
int npc7Frame = 0;
int npc7CT = 0;
int npc7VarAct = 0;
int npc8Act = 0;
int npc8Frame = 0;
int npc8CT = 0;
int npc8VarAct = 0;
int npc9Act = 0;
int npc9Frame = 0;
int npc9CT = 0;
int npc9VarAct = 0;
int npcQuest = 0;
#endregion
//enemy HP, position, CT. etc.
#region Enemy int
int e1HP = 0; //enemy 1 HP
int e1arm = 0; //enemy 1 armor
int e1CT = 0; //enemy 1 frame counter
int e1Y_CT = 0; //enemy 1 velocity timer
int e1timer = 0; //enemy 1 action timer
int e1invTimer = 0; //enemy 1 invincibility timer
int e1X = 0; //enemy 1 X-pos
int e1Y = 0; //enemy 1 Y-pos
int e1Yvel = 0; //enemy 1 Y-velocity
int e1R = 0; //enemy 1 -R value
int e1G = 0; //enemy 1 -G value
int e1Opacity = 255; //enemy 1 opacity
int e1frame = 0; //determines frame of animation for enemy 1
int e1act = 0; //determines type of animation (move, wait, attack, etc.)
int e1facing = 0; //determines direction enemy 1 is facing
int e1projA_X = 0; //determines enemy 1's projectile A X-pos
int e1projA_Y = 0; //determines enemy 1's projectile A Y-pos
int e1projA_frame = 0; //determines e1 projectile A frame of animation
int e1projA_dir = 0; //determines e1 projectile A orientation
int e1invBlink = 255; //makes e1 blink when invulnerable
int e1knockbackTimer = 0;
int e1hitTimer = 0;
int e1Attack = 0;
int e1armor = 0;
int e1armorRed = 0;
int e1FreezeColor = 0;
int e1FreezeCT = 0;
int e1smokeCT = 0;
int e1smokeFrame = 0;
int e1coinValue = 0;
int e1coinCT = 0;
int e1coinFrame = 0;
int e1coinType = 0;
int e1FireVul = 0;
int e1BoltVul = 0;
int e1AcidVul = 0;
int e1altAnimCT = 0;
int e2HP = 0;
int e2arm = 0;
int e2CT = 0;
int e2Y_CT = 0;
int e2timer = 0;
int e2invTimer = 0;
int e2X = 0;
int e2Y = 0;
int e2Yvel = 0;
int e2R = 0;
int e2G = 0;
int e2Opacity = 255;
int e2frame = 0;
int e2act = 0;
int e2facing = 0;
int e2projA_X = 0;
int e2projA_Y = 0;
int e2projA_frame = 0;
int e2projA_dir = 0;
int e2invBlink = 255;
int e2knockbackTimer = 0;
int e2hitTimer = 0;
int e2Attack = 0;
int e2armor = 0;
int e2armorRed = 0;
int e2FreezeColor = 0;
int e2FreezeCT = 0;
int e2smokeCT = 0;
int e2smokeFrame = 0;
int e2coinValue = 0;
int e2coinCT = 0;
int e2coinFrame = 0;
int e2coinType = 0;
int e2FireVul = 0;
int e2BoltVul = 0;
int e2AcidVul = 0;
int e2altAnimCT = 0;
int e3HP = 0;
int e3arm = 0;
int e3CT = 0;
int e3Y_CT = 0;
int e3timer = 0;
int e3invTimer = 0;
int e3X = 0;
int e3Y = 0;
int e3Yvel = 0;
int e3R = 0;
int e3G = 0;
int e3Opacity = 255;
int e3frame = 0;
int e3act = 0;
int e3facing = 0;
int e3projA_X = 0;
int e3projA_Y = 0;
int e3projA_frame = 0;
int e3projA_dir = 0;
int e3invBlink = 255;
int e3knockbackTimer = 0;
int e3hitTimer = 0;
int e3Attack = 0;
int e3armor = 0;
int e3armorRed = 0;
int e3FreezeColor = 0;
int e3FreezeCT = 0;
int e3smokeCT = 0;
int e3smokeFrame = 0;
int e3coinValue = 0;
int e3coinCT = 0;
int e3coinFrame = 0;
int e3coinType = 0;
int e3FireVul = 0;
int e3BoltVul = 0;
int e3AcidVul = 0;
int e3altAnimCT = 0;
int e4HP = 0;
int e4arm = 0;
int e4CT = 0;
int e4Y_CT = 0;
int e4timer = 0;
int e4invTimer = 0;
int e4X = 0;
int e4Y = 0;
int e4Yvel = 0;
int e4R = 0;
int e4G = 0;
int e4Opacity = 255;
int e4frame = 0;
int e4act = 0;
int e4facing = 0;
int e4projA_X = 0;
int e4projA_Y = 0;
int e4projA_frame = 0;
int e4projA_dir = 0;
int e4invBlink = 255;
int e4knockbackTimer = 0;
int e4hitTimer = 0;
int e4Attack = 0;
int e4armor = 0;
int e4armorRed = 0;
int e4FreezeColor = 0;
int e4FreezeCT = 0;
int e4smokeCT = 0;
int e4smokeFrame = 0;
int e4coinValue = 0;
int e4coinCT = 0;
int e4coinFrame = 0;
int e4coinType = 0;
int e4FireVul = 0;
int e4BoltVul = 0;
int e4AcidVul = 0;
int e4altAnimCT = 0;
int e5HP = 0;
int e5arm = 0;
int e5CT = 0;
int e5Y_CT = 0;
int e5timer = 0;
int e5invTimer = 0;
int e5X = 0;
int e5Y = 0;
int e5Yvel = 0;
int e5R = 0;
int e5G = 0;
int e5Opacity = 255;
int e5frame = 0;
int e5act = 0;
int e5facing = 0;
int e5projA_X = 0;
int e5projA_Y = 0;
int e5projA_frame = 0;
int e5projA_dir = 0;
int e5invBlink = 255;
int e5knockbackTimer = 0;
int e5hitTimer = 0;
int e5Attack = 0;
int e5armor = 0;
int e5armorRed = 0;
int e5FreezeColor = 0;
int e5FreezeCT = 0;
int e5smokeCT = 0;
int e5smokeFrame = 0;
int e5coinValue = 0;
int e5coinCT = 0;
int e5coinFrame = 0;
int e5coinType = 0;
int e5FireVul = 0;
int e5BoltVul = 0;
int e5AcidVul = 0;
int e5altAnimCT = 0;
int e6HP = 0;
int e6arm = 0;
int e6CT = 0;
int e6Y_CT = 0;
int e6timer = 0;
int e6invTimer = 0;
int e6X = 0;
int e6Y = 0;
int e6Yvel = 0;
int e6R = 0;
int e6G = 0;
int e6Opacity = 255;
int e6frame = 0;
int e6act = 0;
int e6facing = 0;
int e6projA_X = 0;
int e6projA_Y = 0;
int e6projA_frame = 0;
int e6projA_dir = 0;
int e6invBlink = 255;
int e6knockbackTimer = 0;
int e6hitTimer = 0;
int e6Attack = 0;
int e6armor = 0;
int e6armorRed = 0;
int e6FreezeColor = 0;
int e6FreezeCT = 0;
int e6smokeCT = 0;
int e6smokeFrame = 0;
int e6coinValue = 0;
int e6coinCT = 0;
int e6coinFrame = 0;
int e6coinType = 0;
int e6FireVul = 0;
int e6BoltVul = 0;
int e6AcidVul = 0;
int e6altAnimCT = 0;
int e7HP = 0;
int e7arm = 0;
int e7CT = 0;
int e7Y_CT = 0;
int e7timer = 0;
int e7invTimer = 0;
int e7X = 0;
int e7Y = 0;
int e7Yvel = 0;
int e7R = 0;
int e7G = 0;
int e7Opacity = 255;
int e7frame = 0;
int e7act = 0;
int e7facing = 0;
int e7projA_X = 0;
int e7projA_Y = 0;
int e7projA_frame = 0;
int e7projA_dir = 0;
int e7invBlink = 255;
int e7knockbackTimer = 0;
int e7hitTimer = 0;
int e7Attack = 0;
int e7armor = 0;
int e7armorRed = 0;
int e7FreezeColor = 0;
int e7FreezeCT = 0;
int e7smokeCT = 0;
int e7smokeFrame = 0;
int e7coinValue = 0;
int e7coinCT = 0;
int e7coinFrame = 0;
int e7coinType = 0;
int e7FireVul = 0;
int e7BoltVul = 0;
int e7AcidVul = 0;
int e7altAnimCT = 0;
int e8HP = 0;
int e8arm = 0;
int e8CT = 0;
int e8Y_CT = 0;
int e8timer = 0;
int e8invTimer = 0;
int e8X = 0;
int e8Y = 0;
int e8Yvel = 0;
int e8R = 0;
int e8G = 0;
int e8Opacity = 255;
int e8frame = 0;
int e8act = 0;
int e8facing = 0;
int e8projA_X = 0;
int e8projA_Y = 0;
int e8projA_frame = 0;
int e8projA_dir = 0;
int e8invBlink = 255;
int e8knockbackTimer = 0;
int e8hitTimer = 0;
int e8Attack = 0;
int e8armor = 0;
int e8armorRed = 0;
int e8FreezeColor = 0;
int e8FreezeCT = 0;
int e8smokeCT = 0;
int e8smokeFrame = 0;
int e8coinValue = 0;
int e8coinCT = 0;
int e8coinFrame = 0;
int e8coinType = 0;
int e8FireVul = 0;
int e8BoltVul = 0;
int e8AcidVul = 0;
int e8altAnimCT = 0;
int e9HP = 0;
int e9arm = 0;
int e9CT = 0;
int e9Y_CT = 0;
int e9timer = 0;
int e9invTimer = 0;
int e9X = 0;
int e9Y = 0;
int e9Yvel = 0;
int e9R = 0;
int e9G = 0;
int e9Opacity = 255;
int e9frame = 0;
int e9act = 0;
int e9facing = 0;
int e9projA_X = 0;
int e9projA_Y = 0;
int e9projA_frame = 0;
int e9projA_dir = 0;
int e9invBlink = 255;
int e9knockbackTimer = 0;
int e9hitTimer = 0;
int e9Attack = 0;
int e9armor = 0;
int e9armorRed = 0;
int e9FreezeColor = 0;
int e9FreezeCT = 0;
int e9smokeCT = 0;
int e9smokeFrame = 0;
int e9coinValue = 0;
int e9coinCT = 0;
int e9coinFrame = 0;
int e9coinType = 0;
int e9FireVul = 0;
int e9BoltVul = 0;
int e9AcidVul = 0;
int e9altAnimCT = 0;
int e10HP = 0;
int e10arm = 0;
int e10CT = 0;
int e10Y_CT = 0;
int e10timer = 0;
int e10invTimer = 0;
int e10X = 0;
int e10Y = 0;
int e10Yvel = 0;
int e10R = 0;
int e10G = 0;
int e10Opacity = 255;
int e10frame = 0;
int e10act = 0;
int e10facing = 0;
int e10projA_X = 0;
int e10projA_Y = 0;
int e10projA_frame = 0;
int e10projA_dir = 0;
int e10invBlink = 255;
int e10knockbackTimer = 0;
int e10hitTimer = 0;
int e10Attack = 0;
int e10armor = 0;
int e10armorRed = 0;
int e10FreezeColor = 0;
int e10FreezeCT = 0;
int e10smokeCT = 0;
int e10smokeFrame = 0;
int e10coinValue = 0;
int e10coinCT = 0;
int e10coinFrame = 0;
int e10coinType = 0;
int e10FireVul = 0;
int e10BoltVul = 0;
int e10AcidVul = 0;
int e10altAnimCT = 0;
int e1sparkleFr = 0;
int e1sparkleCT = 0;
int e2sparkleFr = 0;
int e2sparkleCT = 0;
int e3sparkleFr = 0;
int e3sparkleCT = 0;
int e4sparkleFr = 0;
int e4sparkleCT = 0;
int e5sparkleFr = 0;
int e5sparkleCT = 0;
int e6sparkleFr = 0;
int e6sparkleCT = 0;
int e7sparkleFr = 0;
int e7sparkleCT = 0;
int e8sparkleFr = 0;
int e8sparkleCT = 0;
int e9sparkleFr = 0;
int e9sparkleCT = 0;
int e10sparkleFr = 0;
int e10sparkleCT = 0;
int e1sparkleCycle = 0;
int e2sparkleCycle = 0;
int e3sparkleCycle = 0;
int e4sparkleCycle = 0;
int e5sparkleCycle = 0;
int e6sparkleCycle = 0;
int e7sparkleCycle = 0;
int e8sparkleCycle = 0;
int e9sparkleCycle = 0;
int e10sparkleCycle = 0;
int e1plinkFr = 0;
int e1plinkCT = 0;
int e2plinkFr = 0;
int e2plinkCT = 0;
int e3plinkFr = 0;
int e3plinkCT = 0;
int e4plinkFr = 0;
int e4plinkCT = 0;
int e5plinkFr = 0;
int e5plinkCT = 0;
int e6plinkFr = 0;
int e6plinkCT = 0;
int e7plinkFr = 0;
int e7plinkCT = 0;
int e8plinkFr = 0;
int e8plinkCT = 0;
int e9plinkFr = 0;
int e9plinkCT = 0;
int e10plinkFr = 0;
int e10plinkCT = 0;
int e1plinkCycle = 0;
int e2plinkCycle = 0;
int e3plinkCycle = 0;
int e4plinkCycle = 0;
int e5plinkCycle = 0;
int e6plinkCycle = 0;
int e7plinkCycle = 0;
int e8plinkCycle = 0;
int e9plinkCycle = 0;
int e10plinkCycle = 0;
int e1reload = 0;
int e2reload = 0;
int e3reload = 0;
int e4reload = 0;
int e5reload = 0;
int e6reload = 0;
int e7reload = 0;
int e8reload = 0;
int e9reload = 0;
int e10reload = 0;
int e1FrameHalf = 1;
int e2FrameHalf = 1;
int e3FrameHalf = 1;
int e4FrameHalf = 1;
int e5FrameHalf = 1;
int e6FrameHalf = 1;
int e7FrameHalf = 1;
int e8FrameHalf = 1;
int e9FrameHalf = 1;
int e10FrameHalf = 1;
int e1projVelX = 0;
int e1projVelY = 0;
int e2projVelX = 0;
int e2projVelY = 0;
int e3projVelX = 0;
int e3projVelY = 0;
int e4projVelX = 0;
int e4projVelY = 0;
int e5projVelX = 0;
int e5projVelY = 0;
int e6projVelX = 0;
int e6projVelY = 0;
int e7projVelX = 0;
int e7projVelY = 0;
int e8projVelX = 0;
int e8projVelY = 0;
int e9projVelX = 0;
int e9projVelY = 0;
int e10projVelX = 0;
int e10projVelY = 0;
int e1burnTimer, e2burnTimer, e3burnTimer, e4burnTimer, e5burnTimer,
e6burnTimer, e7burnTimer, e8burnTimer, e9burnTimer, e10burnTimer = 0;
int e1burnCT, e2burnCT, e3burnCT, e4burnCT, e5burnCT, e6burnCT, e7burnCT,
e8burnCT, e9burnCT, e10burnCT = 0;
int e1burnFrame, e2burnFrame, e3burnFrame, e4burnFrame, e5burnFrame,
e6burnFrame, e7burnFrame, e8burnFrame, e9burnFrame, e10burnFrame = 0;
int e1shockTimer, e2shockTimer, e3shockTimer, e4shockTimer, e5shockTimer,
e6shockTimer, e7shockTimer, e8shockTimer, e9shockTimer, e10shockTimer = 0;
int e1shockCT, e2shockCT, e3shockCT, e4shockCT, e5shockCT, e6shockCT,
e7shockCT, e8shockCT, e9shockCT, e10shockCT = 0;
int e1shockFrame, e2shockFrame, e3shockFrame, e4shockFrame, e5shockFrame,
e6shockFrame, e7shockFrame, e8shockFrame, e9shockFrame, e10shockFrame = 0;
int e1projWidth = 0;
int e1projHeight = 0;
int e2projWidth = 0;
int e2projHeight = 0;
int e3projWidth = 0;
int e3projHeight = 0;
int e4projWidth = 0;
int e4projHeight = 0;
int e5projWidth = 0;
int e5projHeight = 0;
int e6projWidth = 0;
int e6projHeight = 0;
int e7projWidth = 0;
int e7projHeight = 0;
int e8projWidth = 0;
int e8projHeight = 0;
int e9projWidth = 0;
int e9projHeight = 0;
int e10projWidth = 0;
int e10projHeight = 0;
int e1projOrigX = 0;
int e1projOrigY = 0;
int e2projOrigX = 0;
int e2projOrigY = 0;
int e3projOrigX = 0;
int e3projOrigY = 0;
int e4projOrigX = 0;
int e4projOrigY = 0;
int e5projOrigX = 0;
int e5projOrigY = 0;
int e6projOrigX = 0;
int e6projOrigY = 0;
int e7projOrigX = 0;
int e7projOrigY = 0;
int e8projOrigX = 0;
int e8projOrigY = 0;
int e9projOrigX = 0;
int e9projOrigY = 0;
int e10projOrigX = 0;
int e10projOrigY = 0;
int e1projCT = 0;
int e2projCT = 0;
int e3projCT = 0;
int e4projCT = 0;
int e5projCT = 0;
int e6projCT = 0;
int e7projCT = 0;
int e8projCT = 0;
int e9projCT = 0;
int e10projCT = 0;
int e11projCT = 0;
int e12projCT = 0;
int e13projCT = 0;
int e14projCT = 0;
int e15projCT = 0;
int e16projCT = 0;
int e17projCT = 0;
int e18projCT = 0;
int e19projCT = 0;
int e20projCT = 0;
int e21projCT = 0;
int e22projCT = 0;
int e23projCT = 0;
int e24projCT = 0;
int e25projCT = 0;
int e26projCT = 0;
int e27projCT = 0;
int e28projCT = 0;
int e29projCT = 0;
int e30projCT = 0;
int e11HP = 0; //enemy 1 HP
int e11arm = 0; //enemy 1 armor
int e11CT = 0; //enemy 1 frame counter
int e11Y_CT = 0; //enemy 1 velocity timer
int e11timer = 0; //enemy 1 action timer
int e11invTimer = 0; //enemy 1 invincibility timer
int e11X = 0; //enemy 1 X-pos
int e11Y = 0; //enemy 1 Y-pos
int e11Yvel = 0; //enemy 1 Y-velocity
int e11R = 0; //enemy 1 -R value
int e11G = 0; //enemy 1 -G value
int e11Opacity = 255; //enemy 1 opacity
int e11frame = 0; //determines frame of animation for e1nemy 1
int e11act = 0; //determines type of animation (move, wait, attack, e1tc.)
int e11facing = 0; //determines direction e1nemy 1 is facing
int e11projA_X = 0; //determines e1nemy 1's projectile A X-pos
int e11projA_Y = 0; //determines e1nemy 1's projectile A Y-pos
int e11projA_frame = 0; //determines e11 projectile A frame of animation
int e11projA_dir = 0; //determines e11 projectile A orientation
int e11invBlink = 255; //makes e11 blink when invulnerable
int e11knockbackTimer = 0;
int e11hitTimer = 0;
int e11Attack = 0;
int e11armor = 0;
int e11armorRed = 0;
int e11FreezeColor = 0;
int e11FreezeCT = 0;
int e11smokeCT = 0;
int e11smokeFrame = 0;
int e11coinValue = 0;
int e11coinCT = 0;
int e11coinFrame = 0;
int e11coinType = 0;
int e11FireVul = 0;
int e11BoltVul = 0;
int e11AcidVul = 0;
int e11altAnimCT = 0;
int e12HP = 0;
int e12arm = 0;
int e12CT = 0;
int e12Y_CT = 0;
int e12timer = 0;
int e12invTimer = 0;
int e12X = 0;
int e12Y = 0;
int e12Yvel = 0;
int e12R = 0;
int e12G = 0;
int e12Opacity = 255;
int e12frame = 0;
int e12act = 0;
int e12facing = 0;
int e12projA_X = 0;
int e12projA_Y = 0;
int e12projA_frame = 0;
int e12projA_dir = 0;
int e12invBlink = 255;
int e12knockbackTimer = 0;
int e12hitTimer = 0;
int e12Attack = 0;
int e12armor = 0;
int e12armorRed = 0;
int e12FreezeColor = 0;
int e12FreezeCT = 0;
int e12smokeCT = 0;
int e12smokeFrame = 0;
int e12coinValue = 0;
int e12coinCT = 0;
int e12coinFrame = 0;
int e12coinType = 0;
int e12FireVul = 0;
int e12BoltVul = 0;
int e12AcidVul = 0;
int e12altAnimCT = 0;
int e13HP = 0;
int e13arm = 0;
int e13CT = 0;
int e13Y_CT = 0;
int e13timer = 0;
int e13invTimer = 0;
int e13X = 0;
int e13Y = 0;
int e13Yvel = 0;
int e13R = 0;
int e13G = 0;
int e13Opacity = 255;
int e13frame = 0;
int e13act = 0;
int e13facing = 0;
int e13projA_X = 0;
int e13projA_Y = 0;
int e13projA_frame = 0;
int e13projA_dir = 0;
int e13invBlink = 255;
int e13knockbackTimer = 0;
int e13hitTimer = 0;
int e13Attack = 0;
int e13armor = 0;
int e13armorRed = 0;
int e13FreezeColor = 0;
int e13FreezeCT = 0;
int e13smokeCT = 0;
int e13smokeFrame = 0;
int e13coinValue = 0;
int e13coinCT = 0;
int e13coinFrame = 0;
int e13coinType = 0;
int e13FireVul = 0;
int e13BoltVul = 0;
int e13AcidVul = 0;
int e13altAnimCT = 0;
int e14HP = 0;
int e14arm = 0;
int e14CT = 0;
int e14Y_CT = 0;
int e14timer = 0;
int e14invTimer = 0;
int e14X = 0;
int e14Y = 0;
int e14Yvel = 0;
int e14R = 0;
int e14G = 0;
int e14Opacity = 255;
int e14frame = 0;
int e14act = 0;
int e14facing = 0;
int e14projA_X = 0;
int e14projA_Y = 0;
int e14projA_frame = 0;
int e14projA_dir = 0;
int e14invBlink = 255;
int e14knockbackTimer = 0;
int e14hitTimer = 0;
int e14Attack = 0;
int e14armor = 0;
int e14armorRed = 0;
int e14FreezeColor = 0;
int e14FreezeCT = 0;
int e14smokeCT = 0;
int e14smokeFrame = 0;
int e14coinValue = 0;
int e14coinCT = 0;
int e14coinFrame = 0;
int e14coinType = 0;
int e14FireVul = 0;
int e14BoltVul = 0;
int e14AcidVul = 0;
int e14altAnimCT = 0;
int e15HP = 0;
int e15arm = 0;
int e15CT = 0;
int e15Y_CT = 0;
int e15timer = 0;
int e15invTimer = 0;
int e15X = 0;
int e15Y = 0;
int e15Yvel = 0;
int e15R = 0;
int e15G = 0;
int e15Opacity = 255;
int e15frame = 0;
int e15act = 0;
int e15facing = 0;
int e15projA_X = 0;
int e15projA_Y = 0;
int e15projA_frame = 0;
int e15projA_dir = 0;
int e15invBlink = 255;
int e15knockbackTimer = 0;
int e15hitTimer = 0;
int e15Attack = 0;
int e15armor = 0;
int e15armorRed = 0;
int e15FreezeColor = 0;
int e15FreezeCT = 0;
int e15smokeCT = 0;
int e15smokeFrame = 0;
int e15coinValue = 0;
int e15coinCT = 0;
int e15coinFrame = 0;
int e15coinType = 0;
int e15FireVul = 0;
int e15BoltVul = 0;
int e15AcidVul = 0;
int e15altAnimCT = 0;
int e16HP = 0;
int e16arm = 0;
int e16CT = 0;
int e16Y_CT = 0;
int e16timer = 0;
int e16invTimer = 0;
int e16X = 0;
int e16Y = 0;
int e16Yvel = 0;
int e16R = 0;
int e16G = 0;
int e16Opacity = 255;
int e16frame = 0;
int e16act = 0;
int e16facing = 0;
int e16projA_X = 0;
int e16projA_Y = 0;
int e16projA_frame = 0;
int e16projA_dir = 0;
int e16invBlink = 255;
int e16knockbackTimer = 0;
int e16hitTimer = 0;
int e16Attack = 0;
int e16armor = 0;
int e16armorRed = 0;
int e16FreezeColor = 0;
int e16FreezeCT = 0;
int e16smokeCT = 0;
int e16smokeFrame = 0;
int e16coinValue = 0;
int e16coinCT = 0;
int e16coinFrame = 0;
int e16coinType = 0;
int e16FireVul = 0;
int e16BoltVul = 0;
int e16AcidVul = 0;
int e16altAnimCT = 0;
int e17HP = 0;
int e17arm = 0;
int e17CT = 0;
int e17Y_CT = 0;
int e17timer = 0;
int e17invTimer = 0;
int e17X = 0;
int e17Y = 0;
int e17Yvel = 0;
int e17R = 0;
int e17G = 0;
int e17Opacity = 255;
int e17frame = 0;
int e17act = 0;
int e17facing = 0;
int e17projA_X = 0;
int e17projA_Y = 0;
int e17projA_frame = 0;
int e17projA_dir = 0;
int e17invBlink = 255;
int e17knockbackTimer = 0;
int e17hitTimer = 0;
int e17Attack = 0;
int e17armor = 0;
int e17armorRed = 0;
int e17FreezeColor = 0;
int e17FreezeCT = 0;
int e17smokeCT = 0;
int e17smokeFrame = 0;
int e17coinValue = 0;
int e17coinCT = 0;
int e17coinFrame = 0;
int e17coinType = 0;
int e17FireVul = 0;
int e17BoltVul = 0;
int e17AcidVul = 0;
int e17altAnimCT = 0;
int e18HP = 0;
int e18arm = 0;
int e18CT = 0;
int e18Y_CT = 0;
int e18timer = 0;
int e18invTimer = 0;
int e18X = 0;
int e18Y = 0;
int e18Yvel = 0;
int e18R = 0;
int e18G = 0;
int e18Opacity = 255;
int e18frame = 0;
int e18act = 0;
int e18facing = 0;
int e18projA_X = 0;
int e18projA_Y = 0;
int e18projA_frame = 0;
int e18projA_dir = 0;
int e18invBlink = 255;
int e18knockbackTimer = 0;
int e18hitTimer = 0;
int e18Attack = 0;
int e18armor = 0;
int e18armorRed = 0;
int e18FreezeColor = 0;
int e18FreezeCT = 0;
int e18smokeCT = 0;
int e18smokeFrame = 0;
int e18coinValue = 0;
int e18coinCT = 0;
int e18coinFrame = 0;
int e18coinType = 0;
int e18FireVul = 0;
int e18BoltVul = 0;
int e18AcidVul = 0;
int e18altAnimCT = 0;
int e19HP = 0;
int e19arm = 0;
int e19CT = 0;
int e19Y_CT = 0;
int e19timer = 0;
int e19invTimer = 0;
int e19X = 0;
int e19Y = 0;
int e19Yvel = 0;
int e19R = 0;
int e19G = 0;
int e19Opacity = 255;
int e19frame = 0;
int e19act = 0;
int e19facing = 0;
int e19projA_X = 0;
int e19projA_Y = 0;
int e19projA_frame = 0;
int e19projA_dir = 0;
int e19invBlink = 255;
int e19knockbackTimer = 0;
int e19hitTimer = 0;
int e19Attack = 0;
int e19armor = 0;
int e19armorRed = 0;
int e19FreezeColor = 0;
int e19FreezeCT = 0;
int e19smokeCT = 0;
int e19smokeFrame = 0;
int e19coinValue = 0;
int e19coinCT = 0;
int e19coinFrame = 0;
int e19coinType = 0;
int e19FireVul = 0;
int e19BoltVul = 0;
int e19AcidVul = 0;
int e19altAnimCT = 0;
int e20HP = 0;
int e20arm = 0;
int e20CT = 0;
int e20Y_CT = 0;
int e20timer = 0;
int e20invTimer = 0;
int e20X = 0;
int e20Y = 0;
int e20Yvel = 0;
int e20R = 0;
int e20G = 0;
int e20Opacity = 255;
int e20frame = 0;
int e20act = 0;
int e20facing = 0;
int e20projA_X = 0;
int e20projA_Y = 0;
int e20projA_frame = 0;
int e20projA_dir = 0;
int e20invBlink = 255;
int e20knockbackTimer = 0;
int e20hitTimer = 0;
int e20Attack = 0;
int e20armor = 0;
int e20armorRed = 0;
int e20FreezeColor = 0;
int e20FreezeCT = 0;
int e20smokeCT = 0;
int e20smokeFrame = 0;
int e20coinValue = 0;
int e20coinCT = 0;
int e20coinFrame = 0;
int e20coinType = 0;
int e20FireVul = 0;
int e20BoltVul = 0;
int e20AcidVul = 0;
int e20altAnimCT = 0;
int e11sparkleFr = 0;
int e11sparkleCT = 0;
int e12sparkleFr = 0;
int e12sparkleCT = 0;
int e13sparkleFr = 0;
int e13sparkleCT = 0;
int e14sparkleFr = 0;
int e14sparkleCT = 0;
int e15sparkleFr = 0;
int e15sparkleCT = 0;
int e16sparkleFr = 0;
int e16sparkleCT = 0;
int e17sparkleFr = 0;
int e17sparkleCT = 0;
int e18sparkleFr = 0;
int e18sparkleCT = 0;
int e19sparkleFr = 0;
int e19sparkleCT = 0;
int e20sparkleFr = 0;
int e20sparkleCT = 0;
int e11sparkleCycle = 0;
int e12sparkleCycle = 0;
int e13sparkleCycle = 0;
int e14sparkleCycle = 0;
int e15sparkleCycle = 0;
int e16sparkleCycle = 0;
int e17sparkleCycle = 0;
int e18sparkleCycle = 0;
int e19sparkleCycle = 0;
int e20sparkleCycle = 0;
int e11plinkFr = 0;
int e11plinkCT = 0;
int e12plinkFr = 0;
int e12plinkCT = 0;
int e13plinkFr = 0;
int e13plinkCT = 0;
int e14plinkFr = 0;
int e14plinkCT = 0;
int e15plinkFr = 0;
int e15plinkCT = 0;
int e16plinkFr = 0;
int e16plinkCT = 0;
int e17plinkFr = 0;
int e17plinkCT = 0;
int e18plinkFr = 0;
int e18plinkCT = 0;
int e19plinkFr = 0;
int e19plinkCT = 0;
int e20plinkFr = 0;
int e20plinkCT = 0;
int e11plinkCycle = 0;
int e12plinkCycle = 0;
int e13plinkCycle = 0;
int e14plinkCycle = 0;
int e15plinkCycle = 0;
int e16plinkCycle = 0;
int e17plinkCycle = 0;
int e18plinkCycle = 0;
int e19plinkCycle = 0;
int e20plinkCycle = 0;
int e11reload = 0;
int e12reload = 0;
int e13reload = 0;
int e14reload = 0;
int e15reload = 0;
int e16reload = 0;
int e17reload = 0;
int e18reload = 0;
int e19reload = 0;
int e20reload = 0;
int e11FrameHalf = 1;
int e12FrameHalf = 1;
int e13FrameHalf = 1;
int e14FrameHalf = 1;
int e15FrameHalf = 1;
int e16FrameHalf = 1;
int e17FrameHalf = 1;
int e18FrameHalf = 1;
int e19FrameHalf = 1;
int e20FrameHalf = 1;
int e11projVelX = 0;
int e11projVelY = 0;
int e12projVelX = 0;
int e12projVelY = 0;
int e13projVelX = 0;
int e13projVelY = 0;
int e14projVelX = 0;
int e14projVelY = 0;
int e15projVelX = 0;
int e15projVelY = 0;
int e16projVelX = 0;
int e16projVelY = 0;
int e17projVelX = 0;
int e17projVelY = 0;
int e18projVelX = 0;
int e18projVelY = 0;
int e19projVelX = 0;
int e19projVelY = 0;
int e20projVelX = 0;
int e20projVelY = 0;
int e11burnTimer, e12burnTimer, e13burnTimer, e14burnTimer, e15burnTimer,
e16burnTimer, e17burnTimer, e18burnTimer, e19burnTimer, e20burnTimer = 0;
int e11burnCT, e12burnCT, e13burnCT, e14burnCT, e15burnCT, e16burnCT,
e17burnCT, e18burnCT, e19burnCT, e20burnCT = 0;
int e11burnFrame, e12burnFrame, e13burnFrame, e14burnFrame, e15burnFrame,
e16burnFrame, e17burnFrame, e18burnFrame, e19burnFrame, e20burnFrame = 0;
int e11shockTimer, e12shockTimer, e13shockTimer, e14shockTimer,
e15shockTimer, e16shockTimer, e17shockTimer, e18shockTimer, e19shockTimer,
e20shockTimer = 0;
int e11shockCT, e12shockCT, e13shockCT, e14shockCT, e15shockCT, e16shockCT,
e17shockCT, e18shockCT, e19shockCT, e20shockCT = 0;
int e11shockFrame, e12shockFrame, e13shockFrame, e14shockFrame,
e15shockFrame, e16shockFrame, e17shockFrame, e18shockFrame, e19shockFrame,
e20shockFrame = 0;
int e11projWidth = 0;
int e11projHeight = 0;
int e12projWidth = 0;
int e12projHeight = 0;
int e13projWidth = 0;
int e13projHeight = 0;
int e14projWidth = 0;
int e14projHeight = 0;
int e15projWidth = 0;
int e15projHeight = 0;
int e16projWidth = 0;
int e16projHeight = 0;
int e17projWidth = 0;
int e17projHeight = 0;
int e18projWidth = 0;
int e18projHeight = 0;
int e19projWidth = 0;
int e19projHeight = 0;
int e20projWidth = 0;
int e20projHeight = 0;
int e11projOrigX = 0;
int e11projOrigY = 0;
int e12projOrigX = 0;
int e12projOrigY = 0;
int e13projOrigX = 0;
int e13projOrigY = 0;
int e14projOrigX = 0;
int e14projOrigY = 0;
int e15projOrigX = 0;
int e15projOrigY = 0;
int e16projOrigX = 0;
int e16projOrigY = 0;
int e17projOrigX = 0;
int e17projOrigY = 0;
int e18projOrigX = 0;
int e18projOrigY = 0;
int e19projOrigX = 0;
int e19projOrigY = 0;
int e20projOrigX = 0;
int e20projOrigY = 0;
#endregion
//camera position, fade, etc.
#region Camera int
int cameraX = 640; //camera base x-pos
int cameraY = 360; //camera base y-pos
int drgnCamX = 0; //camera x-pos modifier based on DRAGON's x position
int drgnCamY = 0; //camera y-pos modifier based on DRAGON's y position
int drgnCamVel = 0;
int cameraMaxX = 2000;
int cameraMaxY = 900;
int cameraMinY = 0;
int opacity = 0; //opacity of black matte for screen transitions
int fadeCT = 0;
#endregion
#region Level Up Data
int drgnDRTotal, drgnBreathTotal, drgnClawTotal, printHPMax = 0;
#endregion
#region explosion int
int exp1CT = 0;
int exp1Frame = 0;
int exp2CT = 0;
int exp2Frame = 0;
int exp3CT = 0;
int exp3Frame = 0;
int exp4CT = 0;
int exp4Frame = 0;
int exp5CT = 0;
int exp5Frame = 0;
int exp6CT = 0;
int exp6Frame = 0;
int exp1Wait = 0;
int exp2Wait = 0;
int exp3Wait = 0;
int exp4Wait = 0;
int exp5Wait = 0;
int exp6Wait = 0;
int exp1X = 0;
int exp1Y = 0;
int exp2X = 0;
int exp2Y = 0;
int exp3X = 0;
int exp3Y = 0;
int exp4X = 0;
int exp4Y = 0;
int exp5X = 0;
int exp5Y = 0;
int exp6X = 0;
int exp6Y = 0;
#endregion
int storyOpacity = 0;
int storyOpacityCT = 0;
int overlayOpacity = 0;
int overlayCT = 0;
int eventWait = 0;
int eventXVel = 0;
int eventYVel = 0;
int defeatCT = 0;
int warpCT = 0;
int warpFrame = 0;
int treasureWindowCT = 0;
int treasureWindowFrame = 0;
int treasureWindowX = -150;
int blackMatteOpacity = 0;
int whiteMatteOpacity = 0;
int hoardAmt = 0;
#endregion
#region All bool
bool steamAPIOn = false;
bool actionStagePause = false;
bool updateGold = false;
bool boss1NoDmg = false;
bool boss2NoDmg = false;
bool boss3NoDmg = false;
bool boss4NoDmg = false;
bool boss5NoDmg = false;
bool assignKey = false;
bool tutorialOn = false;
bool seenTutorial = false;
bool showPause = false;
bool fontTypeOn = false;
bool bonusOn = false;
bool skipStory = false;
bool hovercraftExplosion = false;
#region NPC bool
bool niaOn = false;
bool squireOn = false;
bool heavyOn = false;
bool bowOn = false;
#endregion
#region SFX bool
bool menuYesPlay, menuNoPlay, menuTogglePlay, pageTurnPlay, sfxWarpPlay =
false;
bool jumpPlay, waterjumpPlay, damagePlay, slashPlay, splashPlay = false;
bool plinkPlay, coinPlay, freezePlay, enginePlay = false;
bool smokePlay = false;
bool gunshotPlay, cannonPlay, explosionPlay, thunkPlay = false;
bool thunderProjPlay, thunderBlastPlay, invisPlay = false;
bool laserPlay, laserCharge, shortCharge = false;
bool teleportPlay = false;
bool fireballPlay = false;
bool spearPlay, notePlay = false;
bool steamPlay, arrowPlay, lancePlay, expAltPlay, thudPlay = false;
bool sprayProx1, sprayProx2, sprayProx3 = false;
bool spinProx1, spinProx2, spinProx3, spinProx4 = false;
bool flameProx1, flameProx2, flameProx3, flameProx4, flameProx5 = false;
bool laserProx1, laserProx2, laserProx3, laserProx4 = false;
bool playFlameWall = false;
bool acid1, acid2, acid3, acid4, flame1, flame2, flame3, flame4, flame5,
spin1, spin2, spin3, spin4, laser1, laser2, laser3, laser4, burrowOn, snowOn =
false;
#endregion
#region 2-1 puzzle
bool waterRisingOn = false;
bool waterPuzzleComplete = false;
#endregion
#region 2-2 puzzle
bool hovercraftOn = true;
bool hovercraftSink = false;
bool puzzleExplosion = false;
bool attackedFish = false;
#endregion
#region 2-3 puzzle
bool sheepOnGround = true;
bool capeReady = true;
#endregion
#region 2-4 puzzle
bool haveKey = true;
bool door1Open = false;
bool door2Open = false;
#endregion
#region 3-3 puzzle
bool doorOpen = false;
#endregion
#region 4-1 puzzle
bool machineryElectrified = false;
#endregion
#region 4-2 puzzle
bool cannonDefeated = false;
bool wickLit = false;
bool enemyCannonFire = false;
bool playerCannonFire = false;
#endregion
#region 4-3 var
bool floor1On = false;
bool floor2On = false;
bool floor3On = false;
#endregion
#region 5-2 puzzle
bool defenderFrozen = false;
bool spyFriendly = false;
bool spyMaskOff = false;
bool spyProj1On = false;
bool spyProj2On = false;
bool spyProj3On = false;
bool drgnOnCar = false;
bool spyFaceR = true;
bool daggerFaceR = true;
#endregion
#region 6-1 puzzle
bool puzzleCorrect = false;
bool puzzleSound = false;
bool alienProj1 = false;
bool alienProj2 = false;
bool alienProj3 = false;
bool alienProj4 = false;
#endregion
#region 6-B not boss
bool needStarPos = false;
#endregion
#region obstacles
bool obs1Up = false;
bool obs2Up = false;
bool obs3Up = false;
bool obs4Up = false;
bool obs5Up = false;
bool obs6Up = false;
bool obs7Up = false;
bool obs8Up = false;
bool obs9Up = false;
bool obs10Up = false;
#endregion
#region boat
bool boat1Left = false;
bool boat1Right = false;
bool boat2Left = false;
bool boat2Right = false;
bool boat1TouchL = false;
bool boat1TouchR = false;
bool boat2TouchL = false;
bool boat2TouchR = false;
bool onBoat1 = false;
bool onBoat2 = false;
#endregion
#region explosions
bool exp1On = false;
bool exp2On = false;
bool exp3On = false;
bool exp4On = false;
bool exp5On = false;
bool exp6On = false;
bool expSerial = false;
#endregion
bool fadedIn = true; //dictates fade in matte
bool whiteMatte, whiteMatteUp, whiteMatteDown = false;
bool blackMatte, blackMatteUp, blackMatteDown = false;
bool pressUp, lastDirUp = false;
bool optionsLook = false;
bool fromStory = false;
bool runEvent = false;
bool dragonDash = false;
bool drgnSpikeDamage = false;
//related to title screen
bool displayLogo = true; //display logo at startup
bool displayTitle = false; //display title after logo
bool titleInPlace = false;
bool treasureWindowUp, treasureWindowDown = false;
bool inMud = false;
bool waterRising = false;
bool from4e1 = false;
bool from4e2 = false;
bool stage2e4Left = false;
bool stage2e4Right = false;
bool waterfall1Frozen, waterfall2Frozen = false;
#region Water bool
bool drgnUnderwater = false;
bool underwaterBreath = false;
bool needSplashInLoc = false;
bool needSplashOutLoc = false;
bool splashIn = false;
bool splashOut = false;
#endregion
//related to world map
#region World Map bool
bool escMenu = false; //check if ESC is up
bool on1e2 = false;
bool on1e3 = false;
bool on1eB = false;
bool on2e1 = false;
bool on2e2 = false;
bool on2e3 = false;
bool on2eB = false;
bool on3e1 = false;
bool on3e2 = false;
bool on3e3 = false;
bool on3eB = false;
bool on4e1 = false;
bool on4e2 = false;
bool on4e3 = false;
bool on4e4 = false;
bool on4eB = false;
bool on5e1 = false;
bool on5e2 = false;
bool on5eB = false;
bool on6e1 = false;
bool on6eB = false;
bool on7eB = false;
bool mapArrowUp = false;
bool mapArrowRight = false;
bool mapArrowDown = false;
bool mapArrowLeft = false;
#endregion
//related to player sprite
#region Player Sprite bool
bool drgnWait = true; //if DRAGON isn't moving at all
bool drgnOnGround = false; //if DRAGON is touching solid ground
bool drgnFaceR = true; //if DRAGON is facing right
bool usingClaw = false; //to stagger claw usage
bool clawNoMove = false; //to prevent movement during claw animation
bool drgnFlight = false; //checks if DRAGON is flying
bool drgnIdle = false; //checks if DRAGON is doing idle animation
bool drgnFire = false; //checks if DRAGON is breathing fire
bool touchWallL = false;
bool touchWallR = false;
bool drgnKnockback = false;
bool drgnInvulnerable = false;
bool drgnHit = false;
bool waterfallKnockback = false;
bool duckStop = false;
bool touchLe1 = false;
bool touchRe1 = false;
bool touchLe2 = false;
bool touchRe2 = false;
bool touchLe3 = false;
bool touchRe3 = false;
bool touchLe4 = false;
bool touchRe4 = false;
bool touchLe5 = false;
bool touchRe5 = false;
bool touchLe6 = false;
bool touchRe6 = false;
bool touchLe7 = false;
bool touchRe7 = false;
bool touchLe8 = false;
bool touchRe8 = false;
bool touchLe9 = false;
bool touchRe9 = false;
bool touchLe10 = false;
bool touchRe10 = false;
bool touchLe11 = false;
bool touchRe11 = false;
bool touchLe12 = false;
bool touchRe12 = false;
bool touchLe13 = false;
bool touchRe13 = false;
bool touchLe14 = false;
bool touchRe14 = false;
bool touchLe15 = false;
bool touchRe15 = false;
bool touchLe16 = false;
bool touchRe16 = false;
bool touchLe17 = false;
bool touchRe17 = false;
bool touchLe18 = false;
bool touchRe18 = false;
bool touchLe19 = false;
bool touchRe19 = false;
bool touchLe20 = false;
bool touchRe20 = false;
bool e1stand = false;
bool e2stand = false;
bool e3stand = false;
bool e4stand = false;
bool e5stand = false;
bool e6stand = false;
bool e7stand = false;
bool e8stand = false;
bool e9stand = false;
bool e10stand = false;
bool e11stand = false;
bool e12stand = false;
bool e13stand = false;
bool e14stand = false;
bool e15stand = false;
bool e16stand = false;
bool e17stand = false;
bool e18stand = false;
bool e19stand = false;
bool e20stand = false;
#endregion
//related to breath attack
#region Breath bool
bool haveBolt = false;
bool haveFrost = false;
bool haveAcid = false;
bool haveGanja = false;
#endregion
//related to have treasure
#region Treasure bool
bool treasurePickUp = false;
bool pickUp1 = false;
bool pickUp2 = false;
bool pickUp3 = false;
bool pickUp4 = false;
bool pickUp5 = false;
bool pickUp6 = false;
bool pickUp7 = false;
bool pickUp8 = false;
bool pickUp9 = false;
bool pickUp10 = false;
bool pickUp11 = false;
bool pickUp12 = false;
bool pickUp13 = false;
bool pickUp14 = false;
bool pickUp15 = false;
bool pickUp16 = false;
bool pickUp17 = false;
bool pickUp18 = false;
bool pickUp19 = false;
bool pickUp20 = false;
bool pickUp21 = false;
bool pickUp22 = false;
bool pickUp23 = false;
bool pickUp24 = false;
bool pickUp25 = false;
bool pickUpAcid = false;
bool have01Hatchling = false;
bool have02Smile = false;
bool have03Crest = false;
bool have04Underpants = false;
bool have05Sollerets = false;
bool have06Scepter = false;
bool have07Momiji = false;
bool have08Ninjato = false;
bool have09Ring = false;
bool have10Sunset = false;
bool have11Dreihander = false;
bool have12Endeavour = false;
bool have13Doll = false;
bool have14Liqueur = false;
bool have15Penultima = false;
bool have16Leaf = false;
bool have17HTTYD = false;
bool have18Gust = false;
bool have19Shirt = false;
bool have20Deduction = false;
bool have21Topaz = false;
bool have22Sapphire = false;
bool have23Garnet = false;
bool have24Ruby = false;
bool have25Diamond = false;
#endregion
//related to enemy status
#region Enemy Status bool
bool e1spawn = false;
bool e1frozen = false;
bool e1shoot = false;
bool e1invulnerable = false;
bool e1faceR = false;
bool e1knockback = false;
bool e1knockbackRes = false;
bool e1onGround = true;
bool e1proximity = false;
bool e1touchWallR = false;
bool e1touchWallL = false;
bool e1breathhit = false;
bool e1clawhit = false;
bool e1hit = false;
bool e1peaceful = false;
bool e1frRes = false;
bool e1peaceRes = false;
bool e1coins = false;
bool e1smoke = false;
bool e1coinTouch = false;
bool e1BurnVul = false;
bool e1ShockVul = false;
bool e1altAnim = false;
bool e2spawn = false;
bool e2frozen = false;
bool e2shoot = false;
bool e2invulnerable = false;
bool e2faceR = false;
bool e2knockback = false;
bool e2knockbackRes = false;
bool e2onGround = true;
bool e2proximity = false;
bool e2touchWallR = false;
bool e2touchWallL = false;
bool e2breathhit = false;
bool e2clawhit = false;
bool e2hit = false;
bool e2peaceful = false;
bool e2frRes = false;
bool e2peaceRes = false;
bool e2coins = false;
bool e2smoke = false;
bool e2coinTouch = false;
bool e2BurnVul = false;
bool e2ShockVul = false;
bool e2altAnim = false;
bool e3spawn = false;
bool e3frozen = false;
bool e3shoot = false;
bool e3invulnerable = false;
bool e3faceR = false;
bool e3knockback = false;
bool e3knockbackRes = false;
bool e3onGround = true;
bool e3proximity = false;
bool e3touchWallR = false;
bool e3touchWallL = false;
bool e3breathhit = false;
bool e3clawhit = false;
bool e3hit = false;
bool e3peaceful = false;
bool e3frRes = false;
bool e3peaceRes = false;
bool e3coins = false;
bool e3smoke = false;
bool e3coinTouch = false;
bool e3BurnVul = false;
bool e3ShockVul = false;
bool e3altAnim = false;
bool e4spawn = false;
bool e4frozen = false;
bool e4shoot = false;
bool e4invulnerable = false;
bool e4faceR = false;
bool e4knockback = false;
bool e4knockbackRes = false;
bool e4onGround = true;
bool e4proximity = false;
bool e4touchWallR = false;
bool e4touchWallL = false;
bool e4breathhit = false;
bool e4clawhit = false;
bool e4hit = false;
bool e4peaceful = false;
bool e4frRes = false;
bool e4peaceRes = false;
bool e4coins = false;
bool e4smoke = false;
bool e4coinTouch = false;
bool e4BurnVul = false;
bool e4ShockVul = false;
bool e4altAnim = false;
bool e5spawn = false;
bool e5frozen = false;
bool e5shoot = false;
bool e5invulnerable = false;
bool e5faceR = false;
bool e5knockback = false;
bool e5knockbackRes = false;
bool e5onGround = true;
bool e5proximity = false;
bool e5touchWallR = false;
bool e5touchWallL = false;
bool e5breathhit = false;
bool e5clawhit = false;
bool e5hit = false;
bool e5peaceful = false;
bool e5frRes = false;
bool e5peaceRes = false;
bool e5coins = false;
bool e5smoke = false;
bool e5coinTouch = false;
bool e5BurnVul = false;
bool e5ShockVul = false;
bool e5altAnim = false;
bool e6spawn = false;
bool e6frozen = false;
bool e6shoot = false;
bool e6invulnerable = false;
bool e6faceR = false;
bool e6knockback = false;
bool e6knockbackRes = false;
bool e6onGround = true;
bool e6proximity = false;
bool e6touchWallR = false;
bool e6touchWallL = false;
bool e6breathhit = false;
bool e6clawhit = false;
bool e6hit = false;
bool e6peaceful = false;
bool e6frRes = false;
bool e6peaceRes = false;
bool e6coins = false;
bool e6smoke = false;
bool e6coinTouch = false;
bool e6BurnVul = false;
bool e6ShockVul = false;
bool e6altAnim = false;
bool e7spawn = false;
bool e7frozen = false;
bool e7shoot = false;
bool e7invulnerable = false;
bool e7faceR = false;
bool e7knockback = false;
bool e7knockbackRes = false;
bool e7onGround = true;
bool e7proximity = false;
bool e7touchWallR = false;
bool e7touchWallL = false;
bool e7breathhit = false;
bool e7clawhit = false;
bool e7hit = false;
bool e7peaceful = false;
bool e7frRes = false;
bool e7peaceRes = false;
bool e7coins = false;
bool e7smoke = false;
bool e7coinTouch = false;
bool e7BurnVul = false;
bool e7ShockVul = false;
bool e7altAnim = false;
bool e8spawn = false;
bool e8frozen = false;
bool e8shoot = false;
bool e8invulnerable = false;
bool e8faceR = false;
bool e8knockback = false;
bool e8knockbackRes = false;
bool e8onGround = true;
bool e8proximity = false;
bool e8touchWallR = false;
bool e8touchWallL = false;
bool e8breathhit = false;
bool e8clawhit = false;
bool e8hit = false;
bool e8peaceful = false;
bool e8frRes = false;
bool e8peaceRes = false;
bool e8coins = false;
bool e8smoke = false;
bool e8coinTouch = false;
bool e8BurnVul = false;
bool e8ShockVul = false;
bool e8altAnim = false;
bool e9spawn = false;
bool e9frozen = false;
bool e9shoot = false;
bool e9invulnerable = false;
bool e9faceR = false;
bool e9knockback = false;
bool e9knockbackRes = false;
bool e9onGround = true;
bool e9proximity = false;
bool e9touchWallR = false;
bool e9touchWallL = false;
bool e9breathhit = false;
bool e9clawhit = false;
bool e9hit = false;
bool e9peaceful = false;
bool e9frRes = false;
bool e9peaceRes = false;
bool e9coins = false;
bool e9smoke = false;
bool e9coinTouch = false;
bool e9BurnVul = false;
bool e9ShockVul = false;
bool e9altAnim = false;
bool e10spawn = false;
bool e10frozen = false;
bool e10shoot = false;
bool e10invulnerable = false;
bool e10faceR = false;
bool e10knockback = false;
bool e10knockbackRes = false;
bool e10onGround = true;
bool e10proximity = false;
bool e10touchWallR = false;
bool e10touchWallL = false;
bool e10breathhit = false;
bool e10clawhit = false;
bool e10hit = false;
bool e10peaceful = false;
bool e10frRes = false;
bool e10peaceRes = false;
bool e10coins = false;
bool e10smoke = false;
bool e10coinTouch = false;
bool e10BurnVul = false;
bool e10ShockVul = false;
bool e10altAnim = false;
bool e1sparkleOn = false;
bool e2sparkleOn = false;
bool e3sparkleOn = false;
bool e4sparkleOn = false;
bool e5sparkleOn = false;
bool e6sparkleOn = false;
bool e7sparkleOn = false;
bool e8sparkleOn = false;
bool e9sparkleOn = false;
bool e10sparkleOn = false;
bool e1plinkOn = false;
bool e2plinkOn = false;
bool e3plinkOn = false;
bool e4plinkOn = false;
bool e5plinkOn = false;
bool e6plinkOn = false;
bool e7plinkOn = false;
bool e8plinkOn = false;
bool e9plinkOn = false;
bool e10plinkOn = false;
bool e1projectile = false;
bool e2projectile = false;
bool e3projectile = false;
bool e4projectile = false;
bool e5projectile = false;
bool e6projectile = false;
bool e7projectile = false;
bool e8projectile = false;
bool e9projectile = false;
bool e10projectile = false;
bool e1projRef = false;
bool e2projRef = false;
bool e3projRef = false;
bool e4projRef = false;
bool e5projRef = false;
bool e6projRef = false;
bool e7projRef = false;
bool e8projRef = false;
bool e9projRef = false;
bool e10projRef = false;
bool e1projRefY, e2projRefY, e3projRefY, e4projRefY, e5projRefY, e6projRefY,
e7projRefY, e8projRefY, e9projRefY, e10projRefY = false;
bool e1burn, e2burn, e3burn, e4burn, e5burn, e6burn, e7burn, e8burn, e9burn,
e10burn = false;
bool e1shock, e2shock, e3shock, e4shock, e5shock, e6shock, e7shock, e8shock,
e9shock, e10shock = false;
bool e11spawn = false;
bool e11frozen = false;
bool e11shoot = false;
bool e11invulnerable = false;
bool e11faceR = false;
bool e11knockback = false;
bool e11knockbackRes = false;
bool e11onGround = true;
bool e11proximity = false;
bool e11touchWallR = false;
bool e11touchWallL = false;
bool e11breathhit = false;
bool e11clawhit = false;
bool e11hit = false;
bool e11peaceful = false;
bool e11frRes = false;
bool e11peaceRes = false;
bool e11coins = false;
bool e11smoke = false;
bool e11coinTouch = false;
bool e11BurnVul = false;
bool e11ShockVul = false;
bool e11altAnim = false;
bool e12spawn = false;
bool e12frozen = false;
bool e12shoot = false;
bool e12invulnerable = false;
bool e12faceR = false;
bool e12knockback = false;
bool e12knockbackRes = false;
bool e12onGround = true;
bool e12proximity = false;
bool e12touchWallR = false;
bool e12touchWallL = false;
bool e12breathhit = false;
bool e12clawhit = false;
bool e12hit = false;
bool e12peaceful = false;
bool e12frRes = false;
bool e12peaceRes = false;
bool e12coins = false;
bool e12smoke = false;
bool e12coinTouch = false;
bool e12BurnVul = false;
bool e12ShockVul = false;
bool e12altAnim = false;
bool e13spawn = false;
bool e13frozen = false;
bool e13shoot = false;
bool e13invulnerable = false;
bool e13faceR = false;
bool e13knockback = false;
bool e13knockbackRes = false;
bool e13onGround = true;
bool e13proximity = false;
bool e13touchWallR = false;
bool e13touchWallL = false;
bool e13breathhit = false;
bool e13clawhit = false;
bool e13hit = false;
bool e13peaceful = false;
bool e13frRes = false;
bool e13peaceRes = false;
bool e13coins = false;
bool e13smoke = false;
bool e13coinTouch = false;
bool e13BurnVul = false;
bool e13ShockVul = false;
bool e13altAnim = false;
bool e14spawn = false;
bool e14frozen = false;
bool e14shoot = false;
bool e14invulnerable = false;
bool e14faceR = false;
bool e14knockback = false;
bool e14knockbackRes = false;
bool e14onGround = true;
bool e14proximity = false;
bool e14touchWallR = false;
bool e14touchWallL = false;
bool e14breathhit = false;
bool e14clawhit = false;
bool e14hit = false;
bool e14peaceful = false;
bool e14frRes = false;
bool e14peaceRes = false;
bool e14coins = false;
bool e14smoke = false;
bool e14coinTouch = false;
bool e14BurnVul = false;
bool e14ShockVul = false;
bool e14altAnim = false;
bool e15spawn = false;
bool e15frozen = false;
bool e15shoot = false;
bool e15invulnerable = false;
bool e15faceR = false;
bool e15knockback = false;
bool e15knockbackRes = false;
bool e15onGround = true;
bool e15proximity = false;
bool e15touchWallR = false;
bool e15touchWallL = false;
bool e15breathhit = false;
bool e15clawhit = false;
bool e15hit = false;
bool e15peaceful = false;
bool e15frRes = false;
bool e15peaceRes = false;
bool e15coins = false;
bool e15smoke = false;
bool e15coinTouch = false;
bool e15BurnVul = false;
bool e15ShockVul = false;
bool e15altAnim = false;
bool e16spawn = false;
bool e16frozen = false;
bool e16shoot = false;
bool e16invulnerable = false;
bool e16faceR = false;
bool e16knockback = false;
bool e16knockbackRes = false;
bool e16onGround = true;
bool e16proximity = false;
bool e16touchWallR = false;
bool e16touchWallL = false;
bool e16breathhit = false;
bool e16clawhit = false;
bool e16hit = false;
bool e16peaceful = false;
bool e16frRes = false;
bool e16peaceRes = false;
bool e16coins = false;
bool e16smoke = false;
bool e16coinTouch = false;
bool e16BurnVul = false;
bool e16ShockVul = false;
bool e16altAnim = false;
bool e17spawn = false;
bool e17frozen = false;
bool e17shoot = false;
bool e17invulnerable = false;
bool e17faceR = false;
bool e17knockback = false;
bool e17knockbackRes = false;
bool e17onGround = true;
bool e17proximity = false;
bool e17touchWallR = false;
bool e17touchWallL = false;
bool e17breathhit = false;
bool e17clawhit = false;
bool e17hit = false;
bool e17peaceful = false;
bool e17frRes = false;
bool e17peaceRes = false;
bool e17coins = false;
bool e17smoke = false;
bool e17coinTouch = false;
bool e17BurnVul = false;
bool e17ShockVul = false;
bool e17altAnim = false;
bool e18spawn = false;
bool e18frozen = false;
bool e18shoot = false;
bool e18invulnerable = false;
bool e18faceR = false;
bool e18knockback = false;
bool e18knockbackRes = false;
bool e18onGround = true;
bool e18proximity = false;
bool e18touchWallR = false;
bool e18touchWallL = false;
bool e18breathhit = false;
bool e18clawhit = false;
bool e18hit = false;
bool e18peaceful = false;
bool e18frRes = false;
bool e18peaceRes = false;
bool e18coins = false;
bool e18smoke = false;
bool e18coinTouch = false;
bool e18BurnVul = false;
bool e18ShockVul = false;
bool e18altAnim = false;
bool e19spawn = false;
bool e19frozen = false;
bool e19shoot = false;
bool e19invulnerable = false;
bool e19faceR = false;
bool e19knockback = false;
bool e19knockbackRes = false;
bool e19onGround = true;