diff --git a/src/chat.rs b/src/chat.rs index 911318a..3796541 100644 --- a/src/chat.rs +++ b/src/chat.rs @@ -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..."; diff --git a/src/chats/jupiter.yaml b/src/chats/jupiter.yaml new file mode 100644 index 0000000..d8c39f5 --- /dev/null +++ b/src/chats/jupiter.yaml @@ -0,0 +1,13 @@ +# ▄████████▄ + ███ + ▄█████████ ███ + +# ███▀ ▀███ + + ███ ███▀ + ███ + + +# ███ + ███ ███ ███ █████████ ███ ███ ███ ███ +# ███ +███ ███ ███ ███ ███▐██████ ███ ███ ███ +# ███ + ███ ███+ ███ +███ ███ + ███ ███ + ███ +# ███▄ ▄███ ███▄ ███ ███ + ███ + ███ ███▄ ███ +# ▀████████▀ + ▀███████ ███▄ ███▄ ▀████ ▀███████ +# + + + ███ +# + ▀████████████████████████████████████████████████████▀ + +- chat: Arcade +- WOOOOOooo HOOOooOOooO!!!!!!!! +- YEEEEEEEEHAAAAAAAAAAAW!!!! diff --git a/src/cmd.rs b/src/cmd.rs index 99384a6..6f7b6f6 100644 --- a/src/cmd.rs +++ b/src/cmd.rs @@ -103,6 +103,7 @@ struct ParserState { is_tidally_locked: bool, is_mirror: bool, is_orbitring: bool, + is_experiencing_atmosphere: bool, atmosphere: Option, orbit_distance: Option, orbit_object_id: Option, @@ -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) { } ["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) { ["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::() { @@ -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)); } diff --git a/src/data/defs.txt b/src/data/defs.txt index 885ca01..8fa49b0 100644 --- a/src/data/defs.txt +++ b/src/data/defs.txt @@ -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