static void Main(string[] args) { bool isAlive = true; partyMembers member = new partyMembers(); player newPlayer = new player(); newPlayer.armorEquipped = new armor("Leather Jacket", "", 0, 0, 3); // gunPrimary = LootDrops.GetWeapon(level, 1); // gunSecondary = LootDrops.GetWeapon(level, 2); //gunEquip = gunPrimary; while (isAlive) { chapter1.chapterOne(newPlayer); chapter2.chapterTwo(newPlayer); } }
public static void chapterTwo(player newPlayer) { partyMembers member = new partyMembers(); bool isAlive = true; enemies Enemy = new enemies(); Console.WriteLine("As the trio continues north, the Green Dome gate becomes visible in the distance."); Console.WriteLine("You look behind you, seeing Red Sands grotto off in the distance, hidden slightly by the artificial atmosphere."); Console.ReadLine(); Console.WriteLine("STU: I'm not gonna miss that place. So many dumpfolk and other trash roam that place, sulking in their own damn misery."); Console.WriteLine("SAI: Not far off from Cratertown. Only difference is the violent thugs get dealt with by the police force."); Console.WriteLine("STU: Thats a step up, at the least."); Console.ReadLine(); Console.WriteLine("As the gate gets closer, you see several guards standing by."); Console.WriteLine("STU: We're approaching the checkpoint. Let me handle this, I'm hoping I can get us in there."); Console.ReadLine(); Console.WriteLine("GUARD: Stay back. Present your ID."); Console.WriteLine("STU: Hail, sir. We have important business in Cratertown."); Console.WriteLine("GUARD: Is that right? Let me go... discuss this with upper management."); Console.WriteLine("STU: Hopefully they just let us pass. I've not heard of them being super strict here before."); Console.ReadLine(); Console.WriteLine("The guards return, approaching Stu."); Console.WriteLine("GUARD: Alright, Stu, follow me. We'll get you sorted out."); Console.WriteLine("Stu backs off a bit."); Console.ReadLine(); Console.WriteLine("STU: You know my name?"); Console.WriteLine("GUARD: Hmm. You're pretty popular around here, Stu. We've been wondering when you'd show up."); Console.WriteLine("STU: I think we're just gonna... go."); Console.ReadLine(); Console.WriteLine("GUARD: No, I don't think so. We've got some questions we need to ask you. You're coming with us."); Write("STU: You're with Baris. Why are you posted here?"); Write("GUARD: Heh. Baris and the police force struck a deal. Long story short, we have permission to kill you on sight."); Read(); Write("STU: Look, " + newPlayer.name + ", I'll explain this later. Let's just take care of these guys."); Write("GUARD: Take care of us? You guys hear that? Well, we'll see about that."); Read(); isAlive = Combat.combat(Enemy.RedSandsGuard, newPlayer, 2); }
public static bool combat(enemy Enemy, player newPlayer, int numberOfEnemies) { partyMembers member = new partyMembers(); int drinksUsed = 0; bool enemyAisAlive = true, enemyBisAlive = true, enemyCisAlive = true, enemyDisAlive = true; int[] enemyHPArray = new int[numberOfEnemies]; bool[] enemyIsAlive = new bool[numberOfEnemies]; for (int i = 0; i < numberOfEnemies; i++) { enemyHPArray[i] = GetEnemyStats.GetEnemyHP(Enemy.hp, newPlayer.level); enemyIsAlive[i] = true; } int enemyDam = GetEnemyStats.GetEnemyDam(Enemy.damage, newPlayer.level); int enemyDefense = Enemy.defense; // enemyHP = GetEnemyStats.GetEnemyHP(enemyHP, level); int playerDefense = newPlayer.armorEquipped.defense; int timesFired; Random rand = new Random(); int damageDealt = (int)Math.Round(newPlayer.gunEquip.weaponDam); bool battleOver = false; Console.WriteLine("You are approached by a " + Enemy.name + ". It seems like you aren't getting out of this without a fight!"); Console.WriteLine(newPlayer.health); while (!battleOver) { int bonusDam = 0; int bonusAcc = 0; int bonusCritPercent = 0; int bonusCritMult = 0; int bonusReflect = 0; //checks to see if the player is dead if (newPlayer.currentHP <= 0) { battleOver = true; continue; } bool cancel = false; while (!cancel) { playerDefense = newPlayer.armorEquipped.defense; enemyDefense = Enemy.defense; Console.WriteLine("|===========================|"); Console.WriteLine("| (F)ire (E)quipped |"); Console.WriteLine("| |"); Console.WriteLine("| (D)efend (S)witch |"); Console.WriteLine("| |"); Console.WriteLine("| (H)eal |"); Console.WriteLine("|===========================|"); string action = ""; while (action == "") { action = Console.ReadLine(); } action = action.ToLower(); char actionChar = action[0]; if (actionChar == 'f') { int target = 0; while (true) { //checks to see if the player has any of these armors equipped if (newPlayer.armorEquipped.effect == "RPG Specialist" && newPlayer.gunEquip.weaponType == "RPG") { bonusDam = newPlayer.armorEquipped.bonus1; bonusAcc = newPlayer.armorEquipped.bonus2; } else if (newPlayer.armorEquipped.effect == "Pistol Specialist" && newPlayer.gunEquip.weaponType == "Pistol") { bonusDam = newPlayer.armorEquipped.bonus1; bonusAcc = newPlayer.armorEquipped.bonus2; } else if (newPlayer.armorEquipped.effect == "Shotgun Specialist" && newPlayer.gunEquip.weaponType == "Shotgun") { bonusDam = newPlayer.armorEquipped.bonus1; bonusAcc = newPlayer.armorEquipped.bonus2; } else if (newPlayer.armorEquipped.effect == "SMG Specialist" && newPlayer.gunEquip.weaponType == "SMG") { bonusDam = newPlayer.armorEquipped.bonus1; bonusAcc = newPlayer.armorEquipped.bonus2; } else if (newPlayer.armorEquipped.effect == "Assault Rifle Specialist" && newPlayer.gunEquip.weaponType == "Assault Rifle") { bonusDam = newPlayer.armorEquipped.bonus1; bonusAcc = newPlayer.armorEquipped.bonus2; } else if (newPlayer.armorEquipped.effect == "Melee Specialist" && newPlayer.gunEquip.weaponType == "Melee") { bonusDam = newPlayer.armorEquipped.bonus1; bonusAcc = newPlayer.armorEquipped.bonus2; } else if (newPlayer.armorEquipped.effect == "Laser Specialist" && newPlayer.gunEquip.weaponType == "Laser Ray Series") { bonusDam = newPlayer.armorEquipped.bonus1; bonusAcc = newPlayer.armorEquipped.bonus2; } else if (newPlayer.armorEquipped.effect == "Universal Specialist") { bonusDam = newPlayer.armorEquipped.bonus1; bonusAcc = newPlayer.armorEquipped.bonus2; } else if (newPlayer.armorEquipped.effect == "Critical Boost") { bonusCritPercent = newPlayer.armorEquipped.bonus1; bonusCritMult = newPlayer.armorEquipped.bonus2; } else if (newPlayer.armorEquipped.effect == "Reflect") { bonusReflect = newPlayer.armorEquipped.bonus1; } else if (newPlayer.armorEquipped.effect == "Damage Boost") { bonusDam = newPlayer.armorEquipped.bonus1; } else if (newPlayer.armorEquipped.effect == "Accuracy Boost") { bonusAcc = newPlayer.armorEquipped.bonus1; } //Negative side effects of drinking too much Ultra Smart if (drinksUsed <= 1) { } else if (drinksUsed <= 2) { Console.WriteLine("You start to feel a little shaky. It's probably fine, though."); bonusAcc -= 2; } else if (drinksUsed <= 3) { Console.WriteLine("You are feeling very shaky."); bonusAcc -= 8; } else if (drinksUsed <= 4) { Console.WriteLine("You should stop with the Ultra Smarts, you don't look so good."); bonusAcc -= 20; } else if (drinksUsed <= 5) { Console.WriteLine("You begin to hallucinate. The skies are green and the ocean is... wait, since when has there been an ocean on mars?"); bonusAcc -= 40; } else if (drinksUsed <= 6) { Console.WriteLine("Your skin looks very green, and you see stuff coming out of your mouth as you fall to the ground."); Console.WriteLine("You died."); battleOver = true; continue; } Console.WriteLine("Attack who:"); for (int i = 0; i < numberOfEnemies; i++) { if (enemyIsAlive[i]) { Console.WriteLine(Enemy.name + " " + (char)('A' + i)); } } string whoToAttack = Console.ReadLine(); //These ifs tell the program who to attack/subtract health from if (whoToAttack.ToUpper() == "A") { break; } else if (whoToAttack.ToUpper() == "B" && numberOfEnemies >= 2) { target = 1; break; } else if (whoToAttack.ToUpper() == "C" && numberOfEnemies >= 2) { target = 2; break; } else if (whoToAttack.ToUpper() == "D" && numberOfEnemies >= 2) { target = 3; break; } else { Console.WriteLine("Please enter a valid input."); } } Console.WriteLine("You prepare to start attacking: "); if (newPlayer.gunEquip.weaponFR >= 4) { timesFired = rand.Next(1, (int)Math.Round(newPlayer.gunEquip.weaponFR) + 1); } else if (newPlayer.gunEquip.weaponFR >= 2) { timesFired = rand.Next(1, (int)Math.Round(newPlayer.gunEquip.weaponFR)); } else if (newPlayer.gunEquip.weaponFR >= 1) { timesFired = rand.Next(0, (int)Math.Round(newPlayer.gunEquip.weaponFR) + 2); } else { int chanceToFire = rand.Next(0, 10); if (chanceToFire >= 6) { timesFired = 1; } else { timesFired = 0; } } if (timesFired == 0) { Console.WriteLine("You were too slow, and you missed your turn."); } int total = 0; for (int a = 1; a <= timesFired; a++) { damageDealt = (int)Math.Round(newPlayer.gunEquip.weaponDam); int damageMinusDefense = (int)((double)damageDealt * (100.0 / (100 + enemyDefense))); int accPercent = rand.Next(1, 100); if (accPercent + bonusAcc <= newPlayer.gunEquip.weaponAcc) { int critChance = rand.Next(1, 100); if (critChance <= newPlayer.gunEquip.weaponCritPercent + bonusCritPercent) { damageDealt *= newPlayer.gunEquip.weaponCritMultiplier; Console.WriteLine("Critical Hit! " + damageMinusDefense * newPlayer.gunEquip.weaponCritMultiplier + " damage dealt!"); total += damageMinusDefense * newPlayer.gunEquip.weaponCritMultiplier + bonusCritMult; } else { Console.WriteLine(damageMinusDefense + " damage dealt."); total += damageMinusDefense; } enemyHPArray[target] = GetEnemyStats.CalculateDamageTakenEnemy(damageDealt + bonusDam, enemyDefense, enemyHPArray[target]); } else { Console.WriteLine("You missed!"); } } Console.WriteLine("You dealt a total of " + total + " damage."); Console.WriteLine("The " + Enemy.name + " " + (char)('A' + target) + " has " + enemyHPArray[target] + " left."); if (enemyHPArray[target] <= 0) { if (target == 0) { enemyAisAlive = false; enemyIsAlive[target] = false; } else if (target == 1) { enemyBisAlive = false; enemyIsAlive[target] = false; } else if (target == 2) { enemyCisAlive = false; enemyIsAlive[target] = false; } else if (target == 3) { enemyDisAlive = false; enemyIsAlive[target] = false; } } cancel = true; } else if (actionChar == 'd') { playerDefense *= 2; Console.WriteLine("You defend. You have two times as much defense this turn!"); cancel = true; } else if (actionChar == 'e') { GetWeaponStats.ShowWeaponStats(newPlayer.gunEquip); ArmorStats.ShowArmorStats(newPlayer.armorEquipped); } else if (actionChar == 's') { if (newPlayer.gunEquip.Equals(newPlayer.gunPrimary)) { newPlayer.gunEquip = newPlayer.gunSecondary; Console.WriteLine("You switched over to your secondary weapon."); } else { newPlayer.gunEquip = newPlayer.gunPrimary; Console.WriteLine("You switched over to your primary weapon."); } cancel = true; } else if (actionChar == 'h') { if (newPlayer.ultraSmartDrinks >= 1) { Console.WriteLine("You drink an Ultra Smart drink!\nYou feel great!"); newPlayer.currentHP += newPlayer.health / 2; if (newPlayer.currentHP >= newPlayer.health) { newPlayer.currentHP = newPlayer.health; } Console.WriteLine("You gain " + (int)(newPlayer.health / 2) + " hp and you currently have " + newPlayer.currentHP + " health left!"); newPlayer.ultraSmartDrinks--; drinksUsed++; cancel = true; } else { Console.WriteLine("Out of healing items!"); } } Console.ReadLine(); Console.Clear(); } //restore enemy defense to original value enemyDefense = Enemy.defense; //Checks to see if the enemy is dead if (numberOfEnemies == 1 && !enemyAisAlive) { battleOver = true; Console.WriteLine("The " + Enemy.name + " is defeated."); newPlayer.xp += GetEnemyStats.GetEnemyHP(Enemy.hp, newPlayer.level) * numberOfEnemies; GetPlayerStats.LevelTracker(newPlayer); LootDrops.GetWeapon(newPlayer); LootDrops.GetArmor(newPlayer); continue; } else if (numberOfEnemies == 2 && !enemyAisAlive && !enemyBisAlive) { battleOver = true; Console.WriteLine("The " + Enemy.name + "s are defeated."); newPlayer.xp += GetEnemyStats.GetEnemyHP(Enemy.hp, newPlayer.level) * numberOfEnemies; GetPlayerStats.LevelTracker(newPlayer); LootDrops.GetWeapon(newPlayer); LootDrops.GetArmor(newPlayer); continue; } else if (numberOfEnemies == 3 && !enemyAisAlive && !enemyBisAlive && !enemyCisAlive) { battleOver = true; Console.WriteLine("The " + Enemy.name + "s are defeated."); newPlayer.xp += GetEnemyStats.GetEnemyHP(Enemy.hp, newPlayer.level) * numberOfEnemies; GetPlayerStats.LevelTracker(newPlayer); LootDrops.GetWeapon(newPlayer); LootDrops.GetArmor(newPlayer); continue; } else if (numberOfEnemies == 4 && !enemyAisAlive && !enemyBisAlive && !enemyCisAlive && !enemyDisAlive) { battleOver = true; Console.WriteLine("The " + Enemy.name + "s are defeated."); newPlayer.xp += GetEnemyStats.GetEnemyHP(Enemy.hp, newPlayer.level) * numberOfEnemies; GetPlayerStats.LevelTracker(newPlayer); LootDrops.GetWeapon(newPlayer); LootDrops.GetArmor(newPlayer); continue; } //If stu is in the party he may toss a flash grenade if (member.Stu.inParty) { int chanceToStun = rand.Next(1, 100); if (chanceToStun <= 2) { Console.WriteLine("Stu busted out into prayer and tossed in a holy hand grenade!"); Console.WriteLine("STU: 1... 2... 3!"); Console.ReadLine(); Console.WriteLine("HALLELUJAH!"); Console.WriteLine("Each enemy takes " + (5000 * newPlayer.level) + " damage!"); Console.ReadLine(); for (int i = 0; i < numberOfEnemies; i++) { enemyHPArray[i] -= 5000 * newPlayer.level; Console.WriteLine("The " + Enemy.name + " " + (char)('A' + i) + " has " + enemyHPArray[i] + " health left."); if (enemyHPArray[i] <= 0) { if (i == 0) { enemyAisAlive = false; enemyIsAlive[i] = false; } else if (i == 1) { enemyBisAlive = false; enemyIsAlive[i] = false; } else if (i == 2) { enemyCisAlive = false; enemyIsAlive[i] = false; } else if (i == 3) { enemyDisAlive = false; enemyIsAlive[i] = false; } } Console.ReadLine(); Console.WriteLine("The holy hand grenade causes the enemy to miss their turn!"); Console.ReadLine(); } Console.ReadLine(); Console.Clear(); continue; } else if (chanceToStun <= 20) { Console.WriteLine("Stu tossed a flash grenade at the opponent, causing them to miss their turn!"); Console.ReadLine(); Console.Clear(); continue; } } //Chance for sai to heal you if he's in the party if (member.Sai.inParty) { int saiRNG = rand.Next(1, 100); if (saiRNG <= 3) { Console.WriteLine("Sai pulls out his medkit and pulls out a hardening spray!"); Console.WriteLine("Sai sprays you down, healing you to full health and massively increasing your defense for this turn!"); newPlayer.currentHP = newPlayer.health; Console.WriteLine("You have " + newPlayer.currentHP + " health!"); } else if (saiRNG <= 15) { Console.WriteLine("Sai pulls out a medkit and quickly sprays down some of your wounds with some MediSpray!"); newPlayer.currentHP += (int)(newPlayer.health / 2); if (newPlayer.currentHP >= newPlayer.health) { newPlayer.currentHP = newPlayer.health; } Console.WriteLine("You gain " + (int)(newPlayer.health / 2) + " hp and you currently have " + newPlayer.currentHP + " health left!"); } Console.ReadLine(); Console.Clear(); } if (newPlayer.armorEquipped.effect == "Stun") { int rng = rand.Next(1, 100); if (rng <= newPlayer.armorEquipped.bonus1) { Console.WriteLine("Your armor shone brightly, stunning all enemies.\nThey miss their turn."); Console.ReadLine(); Console.Clear(); continue; } } for (int i = 0; i < numberOfEnemies; i++) { if (enemyIsAlive[i]) { int enemyAction = rand.Next(1, 100); Console.WriteLine("The " + Enemy.name + " " + (char)('A' + i) + " prepares to attack: "); if (enemyAction <= 5) { enemyDefense *= 2; Console.WriteLine("But instead chooses to defend."); Console.WriteLine("The enemy's defense is doubled this turn!"); } else { int enemyAcc = rand.Next(1, 100); int timesFiredEnemy = 0; timesFiredEnemy = rand.Next(0, Enemy.fireRate + 1); if (timesFiredEnemy == 0) { Console.WriteLine("The enemy was too slow, and missed its turn."); } int total = 0; for (int a = 1; a <= timesFiredEnemy; a++) { damageDealt = enemyDam; int enemyDamageMinusDefense = (int)((double)damageDealt * (100.0 / (100 + playerDefense))); int accPercent = rand.Next(1, 100); if (accPercent <= Enemy.acc) { int critChance = rand.Next(1, 100); if (critChance <= Enemy.critPercent) { damageDealt *= Enemy.critMultiplier; Console.WriteLine("Critical Hit! " + (int)(enemyDamageMinusDefense * Enemy.critMultiplier) + " damage was taken!"); total += enemyDamageMinusDefense * Enemy.critMultiplier; } else { Console.WriteLine(enemyDamageMinusDefense + " damage received."); total += enemyDamageMinusDefense; } int chanceToReflect = rand.Next(1, 100); if (newPlayer.armorEquipped.effect == "Reflect" && chanceToReflect <= bonusReflect) { Console.WriteLine("But wait! Your armor reflected the bullet, and the enemy took all the damage!"); enemyHPArray[i] = GetEnemyStats.CalculateDamageTakenEnemy(damageDealt, enemyDefense, enemyHPArray[i]); } else { newPlayer.currentHP = GetPlayerStats.CalculateDamageTakenPlayer(damageDealt, playerDefense, newPlayer.currentHP); } } else { Console.WriteLine("The " + Enemy.name + " missed!"); } } Console.WriteLine("You received a total of " + total + " damage."); Console.WriteLine("You have " + newPlayer.currentHP + " left."); } } Console.ReadLine(); Console.Clear(); } } return(false); }
public static void chapterOne(player newPlayer) { partyMembers member = new partyMembers(); bool isAlive = true; enemies Enemy = new enemies(); Console.WriteLine("A pale blue dot in a sun beam."); Console.WriteLine("A cold, red planet millions of miles away."); Console.WriteLine("A young boy is looking towards the pale blue dot. He can just barely glimpse it through Mars' nonexistent atmosphere."); Console.WriteLine("Little does it matter. Life is a fickle thing. One second its there, one second its ceases to be."); Console.WriteLine("Same goes for the pale blue dot. As the dot fades into obscurity, tears fall in remembrance of what once was, and what now remains."); Console.WriteLine("Where once was life now remains darkness. Its almost as if nothing ever existed there at all."); Console.WriteLine("Questions linger, as to the meaning of it all."); Console.WriteLine("But the boy will have to find answers for himself."); Console.ReadLine(); Console.WriteLine("16 YEARS LATER..."); Console.ReadLine(); Console.WriteLine("RAHL: Okay. So you're telling me you don't have any money? At all?"); Console.WriteLine("RAHL: What if I told you that if you don't pay up I'll just take it off your corpse?"); Console.WriteLine("STU: I, I mean, i'm not interested in that deal."); Console.WriteLine("STU: Hey, you! What's your name, pal?"); Console.WriteLine("Enter your name: "); newPlayer.name = Console.ReadLine(); Console.WriteLine("STU: " + newPlayer.name + ", huh? Pleased to meet ya, now, could you help me deal with this guy? Here's some weapons for ya."); GunPulled Chub = new GunPulled("MarsWares", "Pistol", "Chub", Math.Pow(7, 2) * newPlayer.level, 9, 70, 20, 2); newPlayer.gunPrimary = Chub; newPlayer.gunEquip = newPlayer.gunPrimary; GunPulled Dagger = new GunPulled("MarsWares", "Melee", "Dagger", Math.Pow(14, 2) * newPlayer.level, 3, 80, 20, 3); newPlayer.gunSecondary = Dagger; isAlive = Combat.combat(Enemy.Rahl, newPlayer, 1); Console.WriteLine("STU: Whew, you saved my hide there."); Console.WriteLine("STU: Hey, what're you doing here anyways?"); Console.ReadLine(); Console.WriteLine("STU: This seems like an odd place for a gunslinger to hang out, you know."); Console.WriteLine("STU: I just came here to have some booze and forget about, you know... whatever."); Console.WriteLine("(1): I'm just passing through."); Console.WriteLine("(2): None of your business."); Console.WriteLine("(3): I'm just wandering aimlessly, to be honest."); Console.WriteLine("(4): If I knew where I was going I wouldn't be caught dead here, I'll tell you that much."); Console.WriteLine("(5): I dunno. Where are we, anyways?"); int choice; int.TryParse(Console.ReadLine(), out choice); switch (choice) { case 1: Console.WriteLine("STU: That's it, huh? Nowhere specific in mind? I'd be keen on getting down to Cratertown, myself.\nSTU: If I had the means, anyway."); break; case 2: Console.WriteLine("STU: Hey, I was just askin'. No need to get worked up."); break; case 3: Console.WriteLine("STU: Nothing wrong with that. Troubled times as of the moment, not surprised you're so effective with a firearm.\nSTU: If'n you got the means, might as well ya head down to Cratertown. Safest place you'll find this side a'Mars."); break; case 4: Console.WriteLine("STU: Ha. Fair, fair. If I were you I'd head straight for Cratertown, leave this dump."); break; case 5: Console.WriteLine("STU: Why this is the Red Sands Bar, dump side of the Red Sands region."); Console.WriteLine("STU: If you were looking for a slum, you just found it here."); break; default: Console.WriteLine("STU: Quiet guy, huh? Why is this damn neighborhood full of weirdos?"); break; } Console.WriteLine("STU: Alright, I'll tell you what. As thanks for saving my hide, I'll escort you to Cratertown. Free of charge."); Console.WriteLine("STU: Also, it'll help get me out of this dump, so there's that."); Console.WriteLine("STU: You'll let me tag along, right?"); Console.WriteLine("Yes or No?"); string stringInput = Console.ReadLine(); if (stringInput.ToLower() == "yes") { Console.WriteLine("STU: Excellent. Let's get the hell out of here."); } else { Console.WriteLine("STU: I insist, you can't just leave me here! No, no, I'm coming with you."); } Console.ReadLine(); Console.WriteLine("Stu has joined your party!"); Console.ReadLine(); Console.WriteLine("You have gained a party member! Some party members will do different things for you during combat."); Console.WriteLine("Stu will sometimes stun the enemies with a handmade flash grenade, forcing them to skip their turn."); Console.WriteLine("Sometimes a party member's ability won't be so obvious, so you'll have to keep an eye out."); Console.ReadLine(); Console.WriteLine("With Stu's guidance, you head out of the dank bar and into the streets of Red Sands grotto."); Console.WriteLine("The buildings are all run down and decrepit. A huge glass dome surrounds you."); Console.ReadLine(); Console.WriteLine("STU: If we just head north, we can go towards the north gate and into the Green Dome\nFrom there if we continue west we'll find the Cratertown gate."); Console.WriteLine("You head north, up the streets. You pass several shady looking people sitting by oil fires."); Console.ReadLine(); Console.WriteLine("STU: Watch out through here. Some people will just up and kill ya if they think you've got anything that can pay for dinner."); Console.WriteLine("STU: Ah, here come some dumpfolk. Great, just what we needed right now."); Console.ReadLine(); Console.WriteLine("THUG: Hey you, give us yer valuables or else... I, I'll pierce ya through meself!"); Console.ReadLine(); isAlive = Combat.combat(Enemy.Thug, newPlayer, 2); Console.WriteLine("STU: Damn, you're not bad. Two people at once? I'm glad you're on my side, pal."); Console.WriteLine("(1): I'm not bad."); Console.WriteLine("(2): Why are you even here? I hope you aren't planning on being a freeloader."); Console.WriteLine("(3): Thanks, glad to have you here, Stu."); Console.WriteLine("(4): I've noticed your flash grenades, where'd you get them from?"); int.TryParse(Console.ReadLine(), out choice); switch (choice) { case 1: Console.WriteLine("STU: Not bad? I guess that's one way to put it.\nSTU: You're a real killer, " + newPlayer.name + ". I'd better not tick you off."); break; case 2: Console.WriteLine("STU: I already told you, I'm trying to get out of the Red Sands region. It's god awful there."); break; case 3: Console.WriteLine("STU: Thanks, " + newPlayer.name + ".\nSTU: Hopefully we can get into the Cratertown Dome with no hassle, I'd sooner sleep in a beef beast nest than Red Sands bar. I'd probably be safer."); break; case 4: Console.WriteLine("STU: I handcraft them. I was once an explosives engineer, but... things have changed.\nSTU: I've been working on something special also. I might try it out sometime, but uh... I don't have many, so I'll likely hold off."); break; default: Console.WriteLine("STU: Nothing to say? Is that modesty, or..? Well, you do you I suppose."); break; } Console.WriteLine("STU: Well, let's just keep moving. We need to keep north for now."); Console.WriteLine("STU: We'll be walking for probably another hour or so. Then we'll reach the Green Dome gate."); Console.ReadLine(); Console.WriteLine("You walk along the road, leaving Red Sands grotto behind you."); Console.WriteLine("You are now on open highway, your left and right both containing vast expanses of red sand."); Console.WriteLine("Ahead of you on your right is a rover station, with a bill board posted outside of it."); Console.WriteLine("The billboard reads \"Don't just drink smart... Drink Ultra Smart! Your Ultra source of nutrients and bullet mending technology!\""); Console.ReadLine(); Console.WriteLine("STU: Shockingly, that stuff actually works. I don't know how many years its taken off my life at this point, but at least its kept me from bein' dead more times than I can count."); Console.WriteLine("STU: Let's check this rover station. Maybe he's got some deals for us in there."); Console.ReadLine(); Console.WriteLine("You walk into the rover station, whose slogan reads \"Where rovers refill for a voyage beyond the stars!\""); Console.WriteLine("You walk into the station building itself, a small building with some windows. It's lined with shelves of general purpose stuff, like sugar drinks and booze."); Console.WriteLine("The man behind the cash register looks up at you, seemingly surprised at having anyone enter his shop."); Console.ReadLine(); Console.WriteLine("MAN: Why hello, isn't it a beautiful day today under these martian skies? A wonderful day for some Ultra Smart, for certain!"); Console.WriteLine("STU: Don't you think you're laying it on a bit thick? We're heading to the Green Dome, and were looking to pick up some supplies."); Console.ReadLine(); Console.WriteLine("MAN: Thick?! Whatever could you... oh screw it. Ultra Corp is really pressuring me to sell this stuff, alright? If I don't sell enough of it, they're putting me out of business!"); Console.WriteLine("MAN: Could you just buy some of this stuff? Please? In fact, they're just pressuring me to get it off the shelves, so I'll sell a bunch of it to you for dirt cheap. Just take some, please?"); Console.ReadLine(); Console.WriteLine("STU: Uh, ok. I'll take however many you want to sell me."); Console.WriteLine("STU: Oh, and, " + newPlayer.name + ", don't worry about it. These are on me."); Console.ReadLine(); Console.WriteLine("MAN: Oh, thank you so much. If I don't sell enough of these this month I'll be put out of damn business."); Console.WriteLine("You have received 8 Ultra Smart drinks."); newPlayer.ultraSmartDrinks += 8; Console.WriteLine("You now have some Ultra Smart drinks!\nDon't think too hard about what negative consequences this might have on your body,"); Console.WriteLine("rather you should be thinking about how alive you'll be when you use it! - sponsored by Ultra Corp TM"); Console.WriteLine("Use this in battle by using the 'h' option, and you'll be healed for half of your max hp."); Console.ReadLine(); Console.WriteLine("STU: Here ya go, pal. These should help out in a pinch."); Console.WriteLine("MAN: Uh, so I wouldn't recommend you drink too many of those at once. You, know, its, uh, it wouldn't be good for you. Lot of sugar, right? Haha, ha."); Console.ReadLine(); Console.WriteLine("STU: Thanks for the advice? We'll take our leave now, thanks."); Console.WriteLine("You head out of the rover station, and back under the huge Red Sands dome. Some people are walking down the road, armed with rocket launchers."); Console.ReadLine(); Console.WriteLine("STU: Uh, let's go hide inside for now."); Console.WriteLine("As you head back towards the station, you notice that the man has locked the door and is nowhere to be seen."); Console.ReadLine(); Console.WriteLine("STU: Well, this isn't how I planned today to go. Three gunfights in one day? What a miraculous turn of events."); Console.WriteLine("STU: Look, maybe we can avoid a fight. These guys are raiders, they roam the open areas in the domes and kill anyone who might have anything of value to them."); Console.WriteLine("STU: Just don't make eye contact."); Console.ReadLine(); Console.WriteLine("The raiders notice you, however. They walk straight up to you, rpg's out."); Console.WriteLine("RAIDER: Isn't it your lucky day? I'll take everything you've got. Also, make it quick. I've gotta go take a leak."); Console.ReadLine(); Console.WriteLine("STU: We don't have nuthin', I'm sorry to say."); Console.ReadLine(); Console.WriteLine("RAIDER: Is that right? These fellas sound like they're putting up a fight, would you agree Sai?"); Console.WriteLine("SAI: Hmph."); Console.WriteLine("STU: So much for not having to fight..."); Console.ReadLine(); isAlive = Combat.combat(Enemy.raiderRPG, newPlayer, 2); Console.WriteLine("STU: Huh, guys had a lot of gusto for being such weaklings. And you, Sai was it?"); Console.WriteLine("STU: You weren't fighting with them. Who are you?"); Console.ReadLine(); Console.WriteLine("SAI: Please don't kill me. They dragged me along with them because I'm a medic. Otherwise, they would have killed me by now."); Console.WriteLine("SAI: Look, if you don't kill me I can join you. I'll provide medic capabilities in combat."); Console.ReadLine(); Console.WriteLine("STU: Well, " + newPlayer.name + ", I think we should give him a chance. What say you?"); Console.WriteLine("Yes or No?"); string option = Console.ReadLine(); if (option.ToLower() == "yes") { Console.WriteLine("STU: I agree. Alright Sai, you're coming with us."); } else { Console.WriteLine("STU: Don't you think that's a bit harsh?\nSTU: This isn't a democracy, I'm just gonna pretend you said yes. No need to be a jerk."); } Console.ReadLine(); Console.WriteLine("Sai has joined your party!"); member.Sai.inParty = true; Console.ReadLine(); Console.WriteLine("SAI: Alright, thanks for having me. I swear I'll make this up to you, I might even save your life at some point!"); Console.WriteLine("STU: We're going to Cratertown. Heard only nice things about it."); Console.ReadLine(); Console.WriteLine("SAI: I used to live there at one point. It's actually patrolled by the Mars Police Force, so its not quite as lawless as Red Sands."); Console.WriteLine("STU: That sounds like what I've 'erd. We're almost to Green Dome gate now, so let's hit the road."); Console.WriteLine("SAI: Got it. Let's go, then."); Console.ReadLine(); Console.WriteLine("END OF CHAPTER 1"); Console.ReadLine(); Console.Clear(); }