add Arcade, some person surfing the clouds of Jupiter

This commit is contained in:
yuni 2024-11-27 02:56:16 +01:00
parent 2d185a810b
commit b1ce199aeb
4 changed files with 41 additions and 2 deletions

View file

@ -24,6 +24,7 @@ pub const CHATS: &[&str] = &[
include_str!("chats/phone.yaml"),
include_str!("chats/serenity.yaml"),
include_str!("chats/thebe.yaml"),
include_str!("chats/jupiter.yaml"),
];
pub const TEXT_CONTINUE: &str = "Continue...";

13
src/chats/jupiter.yaml Normal file
View file

@ -0,0 +1,13 @@
# ▄████████▄ + ███ + ▄█████████ ███ +
# ███▀ ▀███ + + ███ ███▀ + ███ + +
# ███ + ███ ███ ███ █████████ ███ ███ ███ ███
# ███ +███ ███ ███ ███ ███▐██████ ███ ███ ███
# ███ + ███ ███+ ███ +███ ███ + ███ ███ + ███
# ███▄ ▄███ ███▄ ███ ███ + ███ + ███ ███▄ ███
# ▀████████▀ + ▀███████ ███▄ ███▄ ▀████ ▀███████
# + + + ███
# + ▀████████████████████████████████████████████████████▀
- chat: Arcade
- WOOOOOooo HOOOooOOooO!!!!!!!!
- YEEEEEEEEHAAAAAAAAAAAW!!!!

View file

@ -103,6 +103,7 @@ struct ParserState {
is_tidally_locked: bool,
is_mirror: bool,
is_orbitring: bool,
is_experiencing_atmosphere: bool,
atmosphere: Option<String>,
orbit_distance: Option<f64>,
orbit_object_id: Option<String>,
@ -169,6 +170,7 @@ impl Default for ParserState {
is_tidally_locked: false,
is_mirror: false,
is_orbitring: false,
is_experiencing_atmosphere: false,
atmosphere: None,
orbit_distance: None,
orbit_object_id: None,
@ -466,6 +468,7 @@ pub fn load_defs(mut ew_spawn: EventWriter<SpawnEvent>) {
}
["vehicle", "yes"] => {
state.is_vehicle = true;
state.is_experiencing_atmosphere = true;
}
["clickable", "no"] => {
state.is_clickable = false;
@ -652,9 +655,13 @@ pub fn load_defs(mut ew_spawn: EventWriter<SpawnEvent>) {
["atmosphere", atmosphere_id] => {
state.atmosphere = Some(atmosphere_id.to_string());
}
["experiences_atmosphere", "yes"] => {
state.is_experiencing_atmosphere = true;
}
["player", "yes"] => {
state.is_player = true;
state.is_alive = true;
state.is_experiencing_atmosphere = true;
}
["camdistance", value] => {
if let Ok(value_float) = value.parse::<f32>() {
@ -1469,9 +1476,10 @@ fn spawn_entities(
distance_to_id: id.clone(),
});
}
if state.is_player || state.is_vehicle {
if state.is_experiencing_atmosphere {
actor.insert(actor::ExperiencesAtmosphere);
}
if state.is_player || state.is_vehicle {
// used to apply mouse movement to actor rotation
actor.insert(ExternalTorque::ZERO.with_persistence(false));
}

View file

@ -311,6 +311,23 @@ actor 0 59305 0 suitv2
scene 0 0 0 tutorial
relativeto player
actor 0 0 0 suitv2
template person
name Arcade
relativeto jupiter
id Arcade
chatid Arcade
scale 0.95
orbitaround jupiter 72500e3
armodel suit_ar_hoodie
experiences_atmosphere yes
angularmomentum 0 0 0
wants maxrotation 0
wants maxvelocity none
chat_achievement no
pronoun they
pointofinterest yes
actor 700 -100 -1100 suitv2
template person
relativeto player