[][src]Struct sulis_state::script::ScriptAbility

pub struct ScriptAbility {
    pub id: String,
    // some fields omitted

Represents a specific active ability. This is passed into ability scripts in the ability field, and can also be obtained by iterating over a ScriptEntitySet

id() -> String

Returns the unique ID of this ability.

is_active_mode(target: ScriptEntity) -> Bool

Returns true if this ability is a mode that is currently active on the target, false otherwise.

activate(target: ScriptEntity, take_ap: Bool (Optional)

Activates this ability for the target. This will remove AP on the target, if take_ap is not specified or specified and true.

deactivate(target: ScriptEntity)

Deactivates this ability, a currently active mode, on the specified target. Normally, you will verify that this is an active mode with is_active_mode before calling this method.

cooldown(target: ScriptEntity, round: Int)

Sets the active cooldown for this ability without actually activating it. This prevents the parent from using the ability for the specified number of rounds.

name() -> String

Returns the name of this ability as defined in its resource file.

duration() -> Int

Returns the duration, in rounds of this ability as defined in its resource file. How this duration is used is up to the ability's script.

create_callback(parent: ScriptEntity) -> ScriptCallback

Creates a script callback from this ability for the parent. Methods can then be added to the ScriptCallback, which are called when certain conditions are met. These methods will be called from this ability's script, as defined in its resource file.

range() -> Float

Returns the range of this ability as defined in its resource file. Note that this is not the AI helper range, but the range used for drawing the range indicator preview. Does not include any range bonuses from upgrade levels. Valid ranges are None, Personal, Touch, Attack, Radius(float), and Visible Returns 0.0 for values of Personal, Touch, and Attack, as those depend on parent stats. Returns 0.0 for a Range of None.

ai_data() -> Table

Creates a Lua table including the AI data of this ability. This includes the priority, an integer, the kind, group, range, and target, all Strings. See ScriptAbilitySet::only_group, ScriptAbilitySet::only_range, ScriptAbilitySet::only_kind`.


id: String


impl ScriptAbility[src]

pub fn from(ability: &Rc<Ability>) -> ScriptAbility[src]

pub fn ai_data(&self) -> &AIData[src]

pub fn to_ability(&self) -> Rc<Ability>[src]

Trait Implementations

impl Clone for ScriptAbility[src]

impl UserData for ScriptAbility[src]

Auto Trait Implementations

impl RefUnwindSafe for ScriptAbility

impl Send for ScriptAbility

impl Sync for ScriptAbility

impl Unpin for ScriptAbility

impl UnwindSafe for ScriptAbility

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<'lua, T> FromLua<'lua> for T where
    T: 'static + UserData + Clone

impl<'lua, T> FromLuaMulti<'lua> for T where
    T: FromLua<'lua>, 

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<'lua, T> ToLua<'lua> for T where
    T: 'static + UserData + Send

impl<'lua, T> ToLuaMulti<'lua> for T where
    T: ToLua<'lua>, 

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,