pub enum Spot {
Show 22 variants
DwarvenGrave,
SaurokAltar,
MyrmidonTemple,
GnarlingTotem,
WitchHouse,
GnomeSpring,
WolfBurrow,
Igloo,
LionRock,
TreeStumpForest,
DesertBones,
Arch,
AirshipCrash,
FruitTree,
Shipwreck,
Shipwreck2,
FallenTree,
GraveSmall,
JungleTemple,
SaurokTotem,
JungleOutpost,
RonFile(&'static SpotProperties),
}
Expand description
Spots are localised structures that spawn in the world. Conceptually, they fit somewhere between the tree generator and the site generator: an attempt to marry the simplicity of the former with the capability of the latter. They are not globally visible to the game: this means that they do not appear on the map, and cannot interact with rtsim (much).
To add a new spot, one must:
- Add a new variant to the
Spot
enum. - Add a new entry to [
Spot::generate
] that tells the system where to generate your new spot. - Add a new arm to the
match
expression in [Spot::apply_spots_to
] that tells the generator how to generate a spot, including the base structure that composes the spot and the entities that should be spawned there.
Only add spots with randomly spawned NPCs here. Spots that only use EntitySpawner blocks can be added in assets/world/manifests/spots.ron
Variants§
DwarvenGrave
SaurokAltar
MyrmidonTemple
GnarlingTotem
WitchHouse
GnomeSpring
WolfBurrow
Igloo
LionRock
TreeStumpForest
DesertBones
Arch
AirshipCrash
FruitTree
Shipwreck
Shipwreck2
FallenTree
GraveSmall
JungleTemple
SaurokTotem
JungleOutpost
RonFile(&'static SpotProperties)
Trait Implementations§
impl Copy for Spot
impl StructuralPartialEq for Spot
Auto Trait Implementations§
impl Freeze for Spot
impl RefUnwindSafe for Spot
impl Send for Spot
impl Sync for Spot
impl Unpin for Spot
impl UnwindSafe for Spot
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more