From 34edb1b5e457672821eab569b5d70baed1b158e5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 13 Sep 2017 18:08:18 -0500 Subject: [PATCH] [MIRROR] Fixes the Orion Trail machine (#2703) * Fixes the Orion Trail machine * Update arcade.dm --- code/game/machinery/computer/arcade.dm | 80 ++++++++++++++------------ 1 file changed, 42 insertions(+), 38 deletions(-) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index fa0008b51b..082f1aa895 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -414,8 +414,8 @@ if(gameStatus == ORION_STATUS_GAMEOVER) dat = "

Game Over

" dat += "Like many before you, your crew never made it to Orion, lost to space...
Forever." - if(settlers.len == 0) - dat += "
Your entire crew died, your ship joins the fleet of ghost-ships littering the galaxy." + if(!settlers.len) + dat += "
Your entire crew died, and your ship joins the fleet of ghost-ships littering the galaxy." else if(food <= 0) dat += "
You ran out of food and starved." @@ -429,7 +429,6 @@ M.adjust_fire_stacks(5) M.IgniteMob() //flew into a star, so you're on fire to_chat(user, "You feel an immense wave of heat emanate from the arcade machine. Your skin bursts into flames.") - dat += "

OK...

" if(emagged) to_chat(user, "You're never going to make it to Orion...") @@ -439,6 +438,7 @@ name = "The Orion Trail" desc = "Learn how our ancestors got to Orion, and have fun in the process!" + dat += "

May They Rest In Peace

" else if(event) dat = eventdat else if(gameStatus == ORION_STATUS_NORMAL) @@ -454,7 +454,7 @@ dat += "

Go Around Continue

" else dat += "

Continue

" - dat += "

Kill a crewmember

" + dat += "

Kill a Crewmember

" dat += "

Close

" else dat = "

The Orion Trail

" @@ -609,17 +609,15 @@ if(prob(75)) event = ORION_TRAIL_BLACKHOLE event() - if(emagged) //has to be here because otherwise it doesn't work + if(emagged) playsound(loc, 'sound/effects/supermatter.ogg', 100, 1) say("A miniature black hole suddenly appears in front of [src], devouring [usr] alive!") if(isliving(usr)) var/mob/living/L = usr L.Stun(200, ignore_canstun = TRUE) //you can't run :^) var/S = new /obj/singularity/academy(usr.loc) - emagged = FALSE //immediately removes emagged status so people can't kill themselves by sprinting up and interacting - sleep(50) - say("[S] winks out, just as suddenly as it appeared.") - qdel(S) + addtimer(CALLBACK(src, /atom/movable/proc/say, "[S] winks out, just as suddenly as it appeared."), 50) + QDEL_IN(src, 50) else event = null turns += 1 @@ -691,19 +689,20 @@ if(prob(success)) FU = rand(5,15) FO = rand(5,15) - last_spaceport_action = "You successfully raided the spaceport! you gained [FU] Fuel and [FO] Food! (+[FU]FU,+[FO]FO)" + last_spaceport_action = "You successfully raided the spaceport! You gained [FU] Fuel and [FO] Food! (+[FU]FU,+[FO]FO)" else FU = rand(-5,-15) FO = rand(-5,-15) - last_spaceport_action = "You failed to raid the spaceport! you lost [FU*-1] Fuel and [FO*-1] Food in your scramble to escape! ([FU]FU,[FO]FO)" + last_spaceport_action = "You failed to raid the spaceport! You lost [FU*-1] Fuel and [FO*-1] Food in your scramble to escape! ([FU]FU,[FO]FO)" //your chance of lose a crewmember is 1/2 your chance of success //this makes higher % failures hurt more, don't get cocky space cowboy! if(prob(success*5)) var/lost_crew = remove_crewmember() - last_spaceport_action = "You failed to raid the spaceport! you lost [FU*-1] Fuel and [FO*-1] Food, AND [lost_crew] in your scramble to escape! ([FU]FI,[FO]FO,-Crew)" + last_spaceport_action = "You failed to raid the spaceport! You lost [FU*-1] Fuel and [FO*-1] Food, AND [lost_crew] in your scramble to escape! ([FU]FI,[FO]FO,-Crew)" if(emagged) - say("WEEWOO WEEWOO, Spaceport Security en route!") + say("WEEWOO! WEEWOO! Spaceport security en route!") + playsound(src, 'sound/items/weeoo1.ogg', 100, FALSE) for(var/i, i<=3, i++) var/mob/living/simple_animal/hostile/syndicate/ranged/orion/O = new/mob/living/simple_animal/hostile/syndicate/ranged/orion(get_turf(src)) O.target = usr @@ -766,9 +765,9 @@ eventdat += "
They have stolen [sfood] Food and [sfuel] Fuel." else if(prob(10)) var/deadname = remove_crewmember() - eventdat += "
[deadname] tried to fight back but was killed." + eventdat += "
[deadname] tried to fight back, but was killed." else - eventdat += "
Fortunately you fended them off without any trouble." + eventdat += "
Fortunately, you fended them off without any trouble." eventdat += "

Continue

" eventdat += "

Close

" canContinueEvent = 1 @@ -844,7 +843,7 @@ else if(prob(70)) lings_aboard = min(++lings_aboard,2) - eventdat += "

Kill a crewmember

" + eventdat += "

Kill a Crewmember

" eventdat += "

Risk it

" eventdat += "

Close

" canContinueEvent = 1 @@ -859,7 +858,7 @@ if(lings_aboard >= 2) ling2 = remove_crewmember() - eventdat += "Oh no, some of your crew are Changelings!" + eventdat += "Changelings among your crew suddenly burst from hiding and attack!" if(ling2) eventdat += "
[ling1] and [ling2]'s arms twist and contort into grotesque blades!" else @@ -870,18 +869,23 @@ var/chancetokill = 30*lings_aboard-(5*alive) //eg: 30*2-(10) = 50%, 2 lings, 2 crew is 50% chance if(prob(chancetokill)) var/deadguy = remove_crewmember() - eventdat += "
The Changeling[ling2 ? "s":""] run[ling2 ? "":"s"] up to [deadguy] and capitulates them!" + var/murder_text = pick("The changeling[ling2 ? "s" : ""] bring[ling2 ? "" : "s"] down [deadguy] and disembowel[ling2 ? "" : "s"] them in a spray of gore!", \ + "[ling2 ? pick(ling1, ling2) : ling1] corners [deadguy] and impales them through the stomach!", \ + "[ling2 ? pick(ling1, ling2) : ling1] decapitates [deadguy] in a single cleaving arc!") + eventdat += "
[murder_text]" else - eventdat += "
You valiantly fight off the Changeling[ling2 ? "s":""]!" - eventdat += "
You cut the Changeling[ling2 ? "s":""] up into meat... Eww" + eventdat += "

You valiantly fight off the changeling[ling2 ? "s":""]!" if(ling2) food += 30 lings_aboard = max(0,lings_aboard-2) else food += 15 lings_aboard = max(0,--lings_aboard) + eventdat += "
Well, it's perfectly good food...\ +
You cut the changeling[ling2 ? "s" : ""] into meat, gaining [ling2 ? "30" : "15"] Food!" else - eventdat += "
The Changeling[ling2 ? "s":""] run[ling2 ? "":"s"] away, What wimps!" + eventdat += "

[pick("Sensing unfavorable odds", "After a failed attack", "Suddenly breaking nerve")], \ + the changeling[ling2 ? "s":""] vanish[ling2 ? "" : "es"] into space through the airlocks! You're safe... for now." if(ling2) lings_aboard = max(0,lings_aboard-2) else @@ -895,17 +899,17 @@ if(ORION_TRAIL_SPACEPORT) gameStatus = ORION_STATUS_MARKET if(spaceport_raided) - eventdat += "The Spaceport is on high alert! They won't let you dock since you tried to attack them!" + eventdat += "The spaceport is on high alert! You've been barred from docking by the local authorities after your failed raid." if(last_spaceport_action) - eventdat += "
Last Spaceport Action: [last_spaceport_action]" + eventdat += "
Last Spaceport Action: [last_spaceport_action]" eventdat += "

Depart Spaceport

" eventdat += "

Close

" else - eventdat += "You pull the ship up to dock at a nearby Spaceport, lucky find!" - eventdat += "
This Spaceport is home to travellers who failed to reach Orion, but managed to find a different home..." + eventdat += "Your jump into the sector yields a spaceport - a lucky find!" + eventdat += "
This spaceport is home to travellers who failed to reach Orion, but managed to find a different home..." eventdat += "
Trading terms: FU = Fuel, FO = Food" if(last_spaceport_action) - eventdat += "
Last Spaceport Action: [last_spaceport_action]" + eventdat += "
Last action: [last_spaceport_action]" eventdat += "

Crew:

" eventdat += english_list(settlers) eventdat += "
Food: [food] | Fuel: [fuel]" @@ -926,7 +930,7 @@ add_crewmember() freecrew++ - eventdat += "
The traders of the spaceport take pitty on you, and give you some food and fuel (+[FU]FU,+[FO]FO)" + eventdat += "
The traders of the spaceport take pity on you, and generously give you some free supplies! (+[FU]FU, +[FO]FO)" if(freecrew) eventdat += "
You also gain a new crewmember!" @@ -938,15 +942,15 @@ //Buy crew if(food >= 10 && fuel >= 10) - eventdat += "

Hire a new Crewmember (-10FU,-10FO)

" + eventdat += "

Hire a New Crewmember (-10FU, -10FO)

" else - eventdat += "

Cant afford a new Crewmember

" + eventdat += "

You cannot afford a new crewmember.

" //Sell crew if(settlers.len > 1) - eventdat += "

Sell crew for Fuel and Food (+7FU,+7FO)

" + eventdat += "

Sell Crew for Fuel and Food (+7FU, +7FO)

" else - eventdat += "

Cant afford to sell a Crewmember

" + eventdat += "

You have no other crew to sell.

" //BUY/SELL STUFF eventdat += "

Spare Parts:

" @@ -955,30 +959,30 @@ if(fuel > 5) eventdat += "

Buy Engine Parts (-5FU)

" else - eventdat += "

Cant afford to buy Engine Parts" + eventdat += "

You cannot afford engine parts." //Hull plates if(fuel > 5) eventdat += "

Buy Hull Plates (-5FU)

" else - eventdat += "

Cant afford to buy Hull Plates" + eventdat += "

You cannot afford hull plates." //Electronics if(fuel > 5) eventdat += "

Buy Spare Electronics (-5FU)

" else - eventdat += "

Cant afford to buy Spare Electronics" + eventdat += "

You cannot afford spare electronics." //Trade if(fuel > 5) eventdat += "

Trade Fuel for Food (-5FU,+5FO)

" else - eventdat += "

Cant afford to Trade Fuel for Food 5) eventdat += "

Trade Food for Fuel (+5FU,-5FO)

" else - eventdat += "

Cant afford to Trade Food for Fuel