Compare commits

..

No commits in common. "ce794662fef9cd1b6d11568213df163dac45c301" and "defb477209835969509915c686b971c9d8004b28" have entirely different histories.

7 changed files with 138 additions and 315 deletions

View file

@ -86,7 +86,6 @@ pub enum DamageType {
Unknown,
Mental,
Trauma,
Bullet,
GForce,
Asphyxiation,
Depressurization,

View file

@ -905,7 +905,6 @@ pub fn handle_chat_scripts(
mut ew_sfx: EventWriter<audio::PlaySfxEvent>,
mut ew_effect: EventWriter<visual::SpawnEffectEvent>,
mut ew_achievement: EventWriter<game::AchievementEvent>,
mut ew_playerdies: EventWriter<game::PlayerDiesEvent>,
id2pos: Res<game::Id2Pos>,
id2v: Res<game::Id2V>,
mut prefs: ResMut<Preferences>,
@ -1050,10 +1049,6 @@ pub fn handle_chat_scripts(
prefs.luna_backup = true;
prefs.save()
}
"bullet" => {
ew_sfx.send(audio::PlaySfxEvent(audio::Sfx::Crash));
ew_playerdies.send(game::PlayerDiesEvent(actor::DamageType::Bullet));
}
_ => {
error!("Error, undefined chat script {name}");
}

View file

@ -11,13 +11,6 @@
- chat: NPCinCryoStasis
- system: "Error: No response"
- system: Lifeform in cryostasis detected
- if: "$$quest_pizza_obtained"
Did you order pizza by any chance?:
- system: "[ERROR: no response]"
- "[Leave]":
- goto: EXIT
- "[Harvest some oxygen]":
- script: bullet
---
@ -69,11 +62,6 @@
- chat: BusStops
- if: "$$quest_pizza_obtained"
Did you order pizza by any chance?:
- I do not have a mechanism for pizza ingestion.
- Subsistence is futile.
- goto: fastravel
- I wish I could use this shuttle service from anywhere!:
- Actually, you can!
- Just give us a phone call, we'll pick you up!

View file

@ -8,7 +8,6 @@
# + + + ███
# + ▀████████████████████████████████████████████████████▀
# Icarus {{{1
- chat: Icarus
- if $met:
- Oh hey, you're back!
@ -18,14 +17,9 @@
- set: $met
- I found you drifting out cold, and thought, I better watch over you.
- Took us here behind that moonlet, to shield you from the micrometeorites.
- label: entrypoint
- if: "$$player_oxygen_seconds <= 0"
HELP! I'M SUFFOCATING:
- goto: suffocating
- if: "$$quest_pizza_obtained"
Did you order pizza by any chance?:
- Nope.
- goto: entrypoint
- Thank you!:
- label: thx
- No worries. Folks are stretched thin around this corner, we gotta watch out for each other.
@ -49,10 +43,6 @@
- if: "$$player_oxygen_seconds <= 0"
HELP! I'M SUFFOCATING:
- goto: suffocating
- if: "$$quest_pizza_obtained"
Did you order pizza by any chance?:
- Nope.
- goto: howru
- I feel quite cozy, this space suit feels like a second skin.:
- set: friends
- Hah, it does, doesn't it?
@ -172,7 +162,8 @@
---
# Pizzeria {{{1
# Pizzeria main chat
- chat: PizzaChef
- Welcome to Old Earth Pizza!
- Time to loosen up! Find yourself a cozy place to drift.
@ -207,118 +198,42 @@
- But you know what? I'll make an exception, just for you.
- set: reservation
- goto: node_menu
- if: "$$quest_pizza_disappoint"
I don't think I'll be able to deliver the pizza.:
- How come?
- I think Luna hates me.:
- Oh. Yeah, that... happens.
- set: $$quest_pizza_disappoint 0
- Don't take it personally, I think she has some issues.
- Maybe this quest was not the best idea.
- I don't know. Let's just move on.
- goto: entrypoint
- if: "$$quest_pizza_getreward"
I delivered the pizza to Luna!:
- Amazing!
I delivered the pizza to Luna! She sends her regards.:
- That's amazing!
- set: $$quest_pizza_getreward 0
- How did she like it?
- She seemed quite disgusted by it.:
- Oh.
- Well, I did my best.
- "[Lie] I think she loved it.":
- I hope she will finally come around and give this place a visit!
- You did a good job with the delivery.
- Can I get a reward too?:
- You'd like a reward?
- Shouldn't *you* give *me* a reward?
- After all, I gave your life purpose, if only for a little while.
- "But ok, here's your reward:"
- set: reservation
- You can get free pizza any time *without* the need for a reservation.
- Thank you!:
- You want any pizza now?
- Yes!:
- goto: node_menu
- No, thanks.:
- Anything else?
- goto: entrypoint
- I was hoping for a rare weapon.:
- Haha, are you LARPing or something?
- label: larping
- Just kidding.:
- Good that you're having fun.
- Anything else I can help you with?
- You don't know that you're a video game character?:
- You think I'm a video game character?
- Your brain got hit by a micrometeorite or something?
- Better get yourself checked out.
- Anyway, need anything else?
- LARPing?:
- Live Action Role-Playing.
- You know, swinging swords and doing quests in real life.
- goto: larping
- goto: entrypoint
- I hereby formally acknowledge that you have fulfilled your destiny and succeeded in your quest.
- Is this what you wanted?
- Yes, this is awesome! Where's my reward?:
- Great! Your reward is...
- From now on, you get all the pizza you want! For free!
- Thank you so much!:
- No problem. Really.
- It kinda feels shallow.:
- Oh.
- Maybe this quest thing was not the best idea.
- Wanna know what helps me when I don't know what to do?
- Sure, why not.:
- I'll just get back to the simple things.
- Drift around, look at the stars, call up my friends, care for my plants.
- Just appreciating the fact that I even exist and I'm able to breathe the air in my space suit.
- How extraordinary is it that I have these limbs made of millions of cells, individual life forms, that I can control WITH MY MIND!
- When I do some self-care, I always end up with good ideas of what to do next.
- Anyway, anything else?
- Not really.:
- Anything else I can help you with?
- goto: entrypoint
- What did you expect?
- If you wanna do questing with an addictive game loop, just fire up some VR game.
- Maybe try the good old Earth classic Stardew Canyon VRX, plenty of quests there.
- if: "~$$quest_pizza_delivered"
Do you have a quest for me?:
- if $$quest_pizza_start:
- I gave you a quest, remember?
- Find the person that ordered the pizza and deliver it.
- The recipient is somewhere in the Serenity area.
- In other words, no more than 20 kilometers away from here.
- I already gave you one.
- Deliver the pizza to Luna. Her workshop is between this pizzeria and the nearest moonlet.
- goto: entrypoint
- Come again?
- A quest. Please?:
- You want, like, work?
- Why? Clippy drones do all the work these days.
- I just really want to do a quest. Anything.:
- Like in a videogame?
- Hm, actually... I get it.
- You have everything you need here, everything is taken care of.
- But you are missing purpose.
- It takes a strong nerves and a brave heart to carve out your own purpose in life.
- And sometimes its nice to just follow a path that's been created for you.
- label: startquest
- Well. I've got this request for a pizza delivery.
- I don't know, I just have this urge to do some quest.:
- Well, in that case...
- Sure. How about this.
- set: $$quest_pizza_obtained
- set: $$quest_pizza_start
- Here, take it, and deliver this pizza smoothie for me please.
- The recipient is a person somewhere around Serenity (no more than 20km away from here).
- I will not tell you who it is. Good luck.
- Yay, I'm a courier!:
- Don't get shot in the head!
- goto: EXIT
- Ow, that's evil.:
- If you really want to know who ordered it,...
- I guess you'll have to find out!
- goto: EXIT
- That was a silly idea. Nevermind.:
- No, no, I get it.
- You have everything you need here, everything is taken care of.
- But you are missing purpose.
- It takes a strong nerves and a brave heart to carve out your own purpose in life.
- And sometimes its nice to just follow a path that's been created for you.
- If you need something to do, I can come up with some quest for you.
- What do you have in mind?:
- goto: startquest
- No. I don't think I need a quest anymore.:
- That's the spirit. The world is your oyster!
- goto: entrypoint
- Please deliver this pizza smoothie to my friend Luna.
- Her workshop is between this pizzeria and the nearest moonlet.
- She tries to hide, but her light orbs give her away.
- You're right, I'll just embrace the fact that nobody expects anything from me.:
- That's the spirit!
- Nevermind.:
- Oookay.
- goto: entrypoint
- Can I ask you some general questions?:
- Shoot.
@ -478,7 +393,6 @@
---
# Rynyk {{{1
- chat: Rynyk
- Hey there!
- label: entrypoint
@ -486,11 +400,6 @@
HELP! I NEED OXYGEN!:
- Oh no! You better get to the pizzeria fast, Nox can fill up your tank!
- goto: EXIT
- if: "$$quest_pizza_obtained"
Did you order pizza by any chance?:
- Why would I?
- If I wanted pizza, I would just float over to Nox myself.
- goto: entrypoint
- That dress!:
- Oh yes! I made the AR avatar myself! What about it?
- label: node_dress
@ -642,11 +551,7 @@
---
# Luna {{{1
- chat: Luna
- if $lunahatesyou:
- "[Connection refused.]"
- goto: EXIT
- if $$backupinstalled:
- set: begged
- set: believe
@ -670,39 +575,14 @@
- set: grateful 0
- goto: mainnode
- if: "$$quest_pizza_obtained"
Did you order pizza by any chance?:
- What?
- Pizza?
- Actually, yes! A long time ago!
- They refused to deliver because they wanted me to go there physically and soak up the atmosphere.
- But that's ridiculous, no way I'm going there.
- Yeah...: []
- Why not?:
- I didn't escape from civilization to hang out with random strangers.
- I got things to do here.
- What made them accept the delivery after all?
- Well, uhm, I begged them for something to do.:
- Hahaha, thanks, drifter.
- The sludge that the space suit synthesizes for food gets pretty boring after a while.
- Can I have the pizza?
- "[Give pizza smoothie]":
- Ok, let's give this a taste.
- ...
I am here to deliver this pizza for you.:
- Ah Nox, the old kidder.
- set: $$quest_pizza_delivered
- set: $$quest_pizza_getreward
- set: $$quest_pizza_obtained 0
- This taste... It makes no sense.
- Nothing fits together.
- Apple chunks? Cinnamon? What? Is this...
- PINEAPPLE? Oh come on.
- Thanks, I will never order pizza there again.
- "[Refuse to give]":
- 太空所有的星球都塞尽我的屁股!...
- set: $$quest_pizza_delivered
- set: $$quest_pizza_disappoint
- set: $lunahatesyou
- Just 滚开.
- goto: EXIT
- Did he trick you into working for him?
- No, actually I insisted on working for him.:
- Thanks for the pizza, drifter. Give him my regards.
- if: "$$chefhat"
The cake is a lie.:
- set: grateful 0
@ -985,16 +865,12 @@
---
# Ash {{{1
- chat: Ash
- Oh, hello!
- Look, I'm very busy right now constructing this place.
- We can talk more once this is done.
- label: entrypoint
- if: "$$quest_pizza_obtained"
Did you order pizza by any chance?:
- No.
- goto: entrypoint
- Can you spare some oxygen?:
- Oh, sure thing!
- script: refilloxygen 1
@ -1014,16 +890,10 @@
---
# River {{{1
- chat: River
- Welcome to our little oasis!
- This will be great once it's finished.
- label: entrypoint
- if: "$$quest_pizza_obtained"
Did you order pizza by any chance?:
- There's pizza delivery ALL THE WAY HERE?
- No, I didn't order any.
- goto: entrypoint
- Can you spare some oxygen?:
- Oh, sure thing!
- script: refilloxygen 1
@ -1044,39 +914,120 @@
---
# Dead Drifter {{{1
- chat: generic_questions_serenity
- Where are we?:
- Inside Jupiter's rings, obviously.
- We're about 150,000km away from the gas giant.
- This region is called Serenity by its inhabitants, due to the relative safety from Jupiter's magnetic field and the micrometeorites.
- goto: generic_questions
- Everything's so dark, I can barely see anything.:
- Yep, that's space for you.
- You have a couple of options to help with that though.
- First, make sure your Augmented Reality is on. [press TAB]
- Then, boost the Night Vision setting. [press ESC]
- Sometimes the flashlight can help too. [press F]
- But space is empty, so unless you point the flashlight at something, it won't do much.
- "You can boost its brightness, but careful: It may drain more power than your reactor generates."
- If you ever run out of power, just hop into a vehicle, their reactors generate more than you'll need.
- goto: generic_questions
- Tell me about life in space.:
- Sure, what do you want to know?
- label: generic_questions_lifeinspace
- Where does everybody live?:
- Hm? In our space suits of course.
- The suit takes care of all of our physical needs.
- And we barely own anything, since everything's digital these days.
- Some people may seem like they're lifelessly drifting in space for days when in fact they're immersed in a mind-blowing virtual reality experience.
- What do people eat around here?:
- The space suit recycles waste material into all essential nutrients and pumps them into your feeding tube.
- And for the gourmands, there's the Old Earth Pizzeria.
- I haven't seen any toilets around here...:
- Aaah, don't tell me you're new to this?
- There are no toilets.
- When you feel the need, just let it go.
- Your space suit will automatically inflate balloons around your belly and thighs to trap any waste.
- When you're done with the job, warm water will flood your nether regions and flush everything.
- The waste is then recycled and enriched with nutrients for future use.
- Efficient, right? Imagine, there was a time when people dropped their feces into holes in the ground and let it go to waste! Outrageous.
- That's all for now.:
- goto: generic_questions
- goto: generic_questions_lifeinspace
- Where do I get medical attention?:
- No worries, your suit provides you with optimal conditions to never get sick.
- But if you do ever need medical attention, the suit is equipped with automated diagnosis and treatment mechanisms to cover 99.9% of possible issues.
- If you get into an accident, just lean back and rest for a couple of days or weeks and your health will be all good.
- I don't have that kind of time, I need medical attention now!:
- Well, sorry, there is not a single doctor in the rings.
- That's the downside of being a pioneer.
- Why the rush though? It's not like anything is going anywhere.
- Just close your eyes, take a deep breath, and let go of your expectations of how things should be.
- Life will just fly by if you keep rushing like that.
- Ah, the marvels of technology.:
- It blows my mind every time.
- goto: generic_questions
- I think I'm good for now.: []
---
# Here are two helper components for handling the generic "HELP I NEED OXYGEN"
# chat option.
# Use the first one as a converation option in every major conversation node by
# simply including it, for example:
#
# - Hello Player!
# - How are you doing?
# - include: generic_help_oxygen_entrypoint
# - Hello NPC, I'm good, how are you?:
# - ...
#
# THIS WILL NOT WORK UNLESS YOU ALSO INCLUDE "generic_help_oxygen_handler"
# SOMEWHERE!!! (or implement your own handler for the "needoxygen" label)
- chat: generic_help_oxygen_entrypoint
- if: "$$player_oxygen_seconds <= 1000"
HELP! I NEED OXYGEN!:
- goto: generic_needoxygen
---
# Use the second one at some unreachable point in the conversation (e.g. right
# after a "goto"), followed by some instructions that lead the conversation
# flow back into the major conversation nodes. Example:
#
# - See you around!
# - goto: EXIT
# - include: generic_help_oxygen_handler
# - Is there anything else I can help you with?
# - goto: help
- chat: generic_help_oxygen_handler
- label: generic_needoxygen
- Sure thing, have some!
- script: refilloxygen 1
---
- chat: Drifter
- system: "Error: No response"
- system: No life signs detected
- label: entrypoint
- Damn, it's gotta be moldy in that suit. How long has it been drifting?:
- if: "$$quest_pizza_obtained"
Did you order pizza by any chance?:
- system: "[ERROR: no response]"
- goto: entrypoint
- Harvest some oxygen:
- script: refilloxygen 1 Drifter
- "[Disconnect]":
- goto: EXIT
---
# Pizzeria Clippy {{{1
- chat: SubduedClippy
- At your service!
- if: "$$quest_pizza_obtained"
Did you order pizza by any chance?:
- I do not have a mechanism for pizza ingestion.
- Subsistence is futile.
---
# Mudley {{{1
- chat: pig
- if $helmet:
- Come on, cave monkey, I can't give you the snack if you don't take off your helmet. [press ESC]
@ -1092,13 +1043,6 @@
# ===================
- label: entrypoint
- include: generic_help_oxygen_entrypoint
- if: "$$quest_pizza_obtained"
Did you order pizza by any chance?:
- PIZZA!!
- I just love pizza.
- Will get some later.
- Not hungry right now.
- goto: entrypoint
- What are you?:
- Huh?
- Why do you even want to know?
@ -1239,103 +1183,6 @@
- Anything else?
- goto: entrypoint
---
# Generic {{{1
- chat: generic_questions_serenity
- Where are we?:
- Inside Jupiter's rings, obviously.
- We're about 150,000km away from the gas giant.
- This region is called Serenity by its inhabitants, due to the relative safety from Jupiter's magnetic field and the micrometeorites.
- goto: generic_questions
- Everything's so dark, I can barely see anything.:
- Yep, that's space for you.
- You have a couple of options to help with that though.
- First, make sure your Augmented Reality is on. [press TAB]
- Then, boost the Night Vision setting. [press ESC]
- Sometimes the flashlight can help too. [press F]
- But space is empty, so unless you point the flashlight at something, it won't do much.
- "You can boost its brightness, but careful: It may drain more power than your reactor generates."
- If you ever run out of power, just hop into a vehicle, their reactors generate more than you'll need.
- goto: generic_questions
- Tell me about life in space.:
- Sure, what do you want to know?
- label: generic_questions_lifeinspace
- Where does everybody live?:
- Hm? In our space suits of course.
- The suit takes care of all of our physical needs.
- And we barely own anything, since everything's digital these days.
- Some people may seem like they're lifelessly drifting in space for days when in fact they're immersed in a mind-blowing virtual reality experience.
- What do people eat around here?:
- The space suit recycles waste material into all essential nutrients and pumps them into your feeding tube.
- And for the gourmands, there's the Old Earth Pizzeria.
- I haven't seen any toilets around here...:
- Aaah, don't tell me you're new to this?
- There are no toilets.
- When you feel the need, just let it go.
- Your space suit will automatically inflate balloons around your belly and thighs to trap any waste.
- When you're done with the job, warm water will flood your nether regions and flush everything.
- The waste is then recycled and enriched with nutrients for future use.
- Efficient, right? Imagine, there was a time when people dropped their feces into holes in the ground and let it go to waste! Outrageous.
- That's all for now.:
- goto: generic_questions
- goto: generic_questions_lifeinspace
- Where do I get medical attention?:
- No worries, your suit provides you with optimal conditions to never get sick.
- But if you do ever need medical attention, the suit is equipped with automated diagnosis and treatment mechanisms to cover 99.9% of possible issues.
- If you get into an accident, just lean back and rest for a couple of days or weeks and your health will be all good.
- I don't have that kind of time, I need medical attention now!:
- Well, sorry, there is not a single doctor in the rings.
- That's the downside of being a pioneer.
- Why the rush though? It's not like anything is going anywhere.
- Just close your eyes, take a deep breath, and let go of your expectations of how things should be.
- Life will just fly by if you keep rushing like that.
- Ah, the marvels of technology.:
- It blows my mind every time.
- goto: generic_questions
- I think I'm good for now.: []
---
# Here are two helper components for handling the generic "HELP I NEED OXYGEN"
# chat option.
# Use the first one as a converation option in every major conversation node by
# simply including it, for example:
#
# - Hello Player!
# - How are you doing?
# - include: generic_help_oxygen_entrypoint
# - Hello NPC, I'm good, how are you?:
# - ...
#
# THIS WILL NOT WORK UNLESS YOU ALSO INCLUDE "generic_help_oxygen_handler"
# SOMEWHERE!!! (or implement your own handler for the "needoxygen" label)
- chat: generic_help_oxygen_entrypoint
- if: "$$player_oxygen_seconds <= 1000"
HELP! I NEED OXYGEN!:
- goto: generic_needoxygen
---
# Use the second one at some unreachable point in the conversation (e.g. right
# after a "goto"), followed by some instructions that lead the conversation
# flow back into the major conversation nodes. Example:
#
# - See you around!
# - goto: EXIT
# - include: generic_help_oxygen_handler
# - Is there anything else I can help you with?
# - goto: help
- chat: generic_help_oxygen_handler
- label: generic_needoxygen
- Sure thing, have some!
- script: refilloxygen 1
---

View file

@ -624,7 +624,6 @@ actor 100 -12000 2000 clippy
relativeto "busstopclippy"
wants matchvelocitywith orbbusstopserenity
name "Rudy"
armodel suit_ar_armor
chatid NPCinCryoStasis
chat_achievement no
pronoun he

View file

@ -368,14 +368,6 @@ fn handle_player_death(
duration: 4.0,
});
}
actor::DamageType::Bullet => {
settings.death_cause =
"Traumatic brain injury due to a projectile wound.".to_string();
ew_effect.send(visual::SpawnEffectEvent {
class: visual::Effects::FadeIn(css::MAROON.into()),
duration: 1.0,
});
}
actor::DamageType::Mental => {
settings.death_cause = "Brain Damage".to_string();
ew_effect.send(visual::SpawnEffectEvent {
@ -624,10 +616,7 @@ fn handle_achievement_event(
}
AchievementEvent::RaceScore => {
if !tracker.race_score {
ew_game.send(GameEvent::Achievement(format!(
"Score {} Points In SkyRace",
RACE_SCORE_ACHIEVEMENT
)));
ew_game.send(GameEvent::Achievement(format!("Score {} Points In SkyRace", RACE_SCORE_ACHIEVEMENT)));
}
tracker.race_score = true;
}

View file

@ -437,7 +437,10 @@ impl AchievementTracker {
format!("Talk To Everyone{talk}\n"),
"Find Earth\n".to_string(),
"Enter Jupiter's Shadow\n".to_string(),
format!("Score {} Points In SkyRace\n", game::RACE_SCORE_ACHIEVEMENT),
format!(
"Score {} Points In SkyRace\n",
game::RACE_SCORE_ACHIEVEMENT
),
]
}
pub fn to_overview(&self) -> Vec<(bool, String)> {
@ -449,8 +452,11 @@ impl AchievementTracker {
(self.find_earth, "find Earth".into()),
(self.in_jupiters_shadow, "enter Jupiter's shadow".into()),
(
self.race_score,
format!("score {} points in SkyRace", game::RACE_SCORE_ACHIEVEMENT),
self.in_jupiters_shadow,
format!(
"score {} points in SkyRace",
game::RACE_SCORE_ACHIEVEMENT
),
),
]
}