pub struct Gait { /* private fields */ }Expand description
Gaits are a way to describe how a creature moves. Defined in the raws with:
“GAIT:type:name:full speed:build up time:turning max:start speed:energy use”
- use
NO_BUILD_UPif you jump immediately to full speed
these optional flags go at the end:
LAYERS_SLOW- fat/muscle layers slow the movement (muscle-slowing counter-acted by strength bonus)STRENGTH- strength attribute can speed/slow movementAGILITY- agility attribute can speed/slow movementSTEALTH_SLOWS:<n>- n is percentage slowed- it would be interesting to allow quirky attributes (like mental stats), but they aren’t supported yet
Examples:
[CV_NEW_TAG:GAIT:WALK:Sprint:!ARG4:10:3:!ARG2:50:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:50]
[CV_NEW_TAG:GAIT:WALK:Run:!ARG3:5:3:!ARG2:10:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:20]
[CV_NEW_TAG:GAIT:WALK:Jog:!ARG2:NO_BUILD_UP:5:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:10]
[CV_NEW_TAG:GAIT:WALK:Walk:!ARG1:NO_BUILD_UP:0]
[CV_NEW_TAG:GAIT:WALK:Stroll:!ARG5:NO_BUILD_UP:0]
[CV_NEW_TAG:GAIT:WALK:Creep:!ARG6:NO_BUILD_UP:0]
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Gait
impl<'de> Deserialize<'de> for Gait
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl NamedType for Gait
impl NamedType for Gait
Source§fn named_data_type(
opts: DefOpts<'_>,
generics: &[DataType],
) -> Result<NamedDataType, ExportError>
fn named_data_type( opts: DefOpts<'_>, generics: &[DataType], ) -> Result<NamedDataType, ExportError>
this is equivalent to Type::inline but returns a NamedDataType instead.
This is a compile-time guaranteed alternative to extracting the
DataType::Named variant.Source§fn definition_named_data_type(
opts: DefOpts<'_>,
) -> Result<NamedDataType, ExportError>
fn definition_named_data_type( opts: DefOpts<'_>, ) -> Result<NamedDataType, ExportError>
this is equivalent to Type::definition but returns a NamedDataType instead.
This is a compile-time guaranteed alternative to extracting the
DataType::Named variant.Source§impl Type for Gait
impl Type for Gait
Source§fn inline(
opts: DefOpts<'_>,
generics: &[DataType],
) -> Result<DataType, ExportError>
fn inline( opts: DefOpts<'_>, generics: &[DataType], ) -> Result<DataType, ExportError>
Returns the inline definition of a type with generics substituted for those provided.
This function defines the base structure of every type, and is used in both
definition and reference Read moreSource§fn category_impl(
opts: DefOpts<'_>,
generics: &[DataType],
) -> Result<TypeCategory, ExportError>
fn category_impl( opts: DefOpts<'_>, generics: &[DataType], ) -> Result<TypeCategory, ExportError>
Defines which category this type falls into, determining how references to it are created.
See
TypeCategory for more info. Read moreSource§fn definition_generics() -> Vec<GenericType>
fn definition_generics() -> Vec<GenericType>
Returns the type parameter generics of a given type.
Will usually be empty except for custom types. Read more
Source§fn definition(opts: DefOpts<'_>) -> Result<DataType, ExportError>
fn definition(opts: DefOpts<'_>) -> Result<DataType, ExportError>
Small wrapper around
inline that provides
definition_generics
as the value for the generics arg. Read moreSource§fn reference(
opts: DefOpts<'_>,
generics: &[DataType],
) -> Result<DataType, ExportError>
fn reference( opts: DefOpts<'_>, generics: &[DataType], ) -> Result<DataType, ExportError>
Generates a datatype corresponding to a reference to this type,
as determined by its category. Getting a reference to a type implies that
it should belong in the type map (since it has to be referenced from somewhere),
so the output of
definition will be put into the type map. Read moreimpl Eq for Gait
impl Flatten for Gait
impl StructuralPartialEq for Gait
Auto Trait Implementations§
impl Freeze for Gait
impl RefUnwindSafe for Gait
impl Send for Gait
impl Sync for Gait
impl Unpin for Gait
impl UnwindSafe for Gait
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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