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

View file

@ -311,6 +311,23 @@ actor 0 59305 0 suitv2
scene 0 0 0 tutorial scene 0 0 0 tutorial
relativeto player 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 actor 700 -100 -1100 suitv2
template person template person
relativeto player relativeto player