supertux
|
A ""WillOWisp"" that was given a name can be controlled by scripts. More...
#include <willowisp.hpp>
Public Member Functions | |
WillOWisp (const ReaderMapping &reader) | |
virtual void | finish_construction () override |
Called after all objects have been added to the Sector and the Sector is fully constructed. More... | |
virtual void | after_editor_set () override |
virtual void | activate () override |
called when the badguy has been activated. More... | |
virtual void | deactivate () override |
called when the badguy has been deactivated | |
virtual void | active_update (float dt_sec) override |
called each frame when the badguy is activated. More... | |
virtual bool | is_flammable () const override |
Returns whether to call ignite() when a badguy gets hit by a fire bullet. | |
virtual bool | is_freezable () const override |
virtual bool | is_hurtable () const override |
Return true if this badguy can be hurt by tiles with the attribute "hurts". | |
virtual void | kill_fall () override |
Set the badguy to kill/falling state, which makes him falling of the screen (his sprite is turned upside-down) | |
void | goto_node (int node_idx) |
void | set_state (const std::string &state) |
Sets the state of the WillOWisp. More... | |
virtual void | stop_looping_sounds () override |
stops all looping sounds | |
virtual void | play_looping_sounds () override |
continues all looping sounds | |
virtual std::string | get_class_name () const override |
virtual std::string | get_exposed_class_name () const override |
virtual std::string | get_display_name () const override |
Returns the display name of the object, translated to the user's locale. | |
virtual GameObjectClasses | get_class_types () const override |
List notable classes in inheritance hierarchy of class. More... | |
virtual ObjectSettings | get_settings () override |
virtual void | move_to (const Vector &pos) override |
virtual void | on_flip (float height) override |
When level is flipped vertically. | |
void | vanish () |
make WillOWisp vanish | |
Color | get_color () const |
![]() | |
BadGuy (const Vector &pos, const std::string &sprite_name, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite", const std::string &ice_sprite_name="images/creatures/overlays/iceoverlay/iceoverlay.sprite") | |
BadGuy (const Vector &pos, Direction direction, const std::string &sprite_name, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite", const std::string &ice_sprite_name="images/creatures/overlays/iceoverlay/iceoverlay.sprite") | |
BadGuy (const ReaderMapping &reader, const std::string &sprite_name, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite", const std::string &ice_sprite_name="images/creatures/overlays/iceoverlay/iceoverlay.sprite") | |
BadGuy (const ReaderMapping &reader, const std::string &sprite_name, Direction default_direction, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite", const std::string &ice_sprite_name="images/creatures/overlays/iceoverlay/iceoverlay.sprite") | |
virtual void | draw (DrawingContext &context) override |
Called when the badguy is drawn. More... | |
virtual void | update (float dt_sec) override |
Called each frame. More... | |
virtual std::string | get_overlay_size () const |
virtual HitResponse | collision (GameObject &other, const CollisionHit &hit) override |
Called when a collision with another object occurred. More... | |
virtual void | collision_tile (uint32_t tile_attributes) override |
Called when a collision with tile with special attributes occurred. | |
virtual void | run_dead_script () |
Call this, if you use custom kill_fall() or kill_squashed(GameObject& object) | |
virtual bool | can_break () const |
True if this badguy can break bricks or open bonusblocks in his current form. More... | |
Vector | get_start_position () const |
void | set_start_position (const Vector &vec) |
virtual void | grab (MovingObject &object, const Vector &pos, Direction dir) override |
called each frame when the object has been grabbed. More... | |
virtual void | ungrab (MovingObject &object, Direction dir) override |
virtual bool | is_portable () const override |
virtual void | ignite () |
Kills the badguy by igniting it. | |
virtual void | extinguish () |
Called to revert a badguy when is_ignited() returns true. | |
bool | is_ignited () const |
Returns whether this badguys is currently on fire. | |
virtual void | freeze () |
Called when hit by an ice bullet, and is_freezable() returns true. More... | |
virtual void | unfreeze (bool melt=true) |
Called to unfreeze the badguy. More... | |
virtual bool | is_snipable () const |
Can enemy be sniped by sliding or swimboosting Tux? Returns false if enemy is spiky or too large. | |
virtual bool | always_active () const |
bool | is_frozen () const |
bool | is_in_water () const |
virtual std::string | get_water_sprite () const |
Get melting particle sprite filename. | |
virtual bool | can_be_affected_by_wind () const |
Returns true if the badguy can currently be affected by wind. | |
virtual void | add_wind_velocity (const Vector &velocity, const Vector &end_speed) |
Adds velocity from wind. | |
Physic & | get_physic () |
![]() | |
MovingSprite (const Vector &pos, const std::string &sprite_name, int layer=LAYER_OBJECTS, CollisionGroup collision_group=COLGROUP_MOVING) | |
MovingSprite (const ReaderMapping &reader, const Vector &pos, int layer=LAYER_OBJECTS, CollisionGroup collision_group=COLGROUP_MOVING) | |
MovingSprite (const ReaderMapping &reader, const std::string &sprite_name, int layer=LAYER_OBJECTS, CollisionGroup collision_group=COLGROUP_MOVING) | |
MovingSprite (const ReaderMapping &reader, int layer=LAYER_OBJECTS, CollisionGroup collision_group=COLGROUP_MOVING) | |
virtual void | on_type_change (int old_type) override |
virtual int | get_layer () const override |
bool | has_found_sprite () const |
const std::string & | get_sprite_name () const |
virtual std::string | get_default_sprite_name () const |
bool | matches_sprite (const std::string &sprite_file) const |
bool | change_sprite (const std::string &new_sprite_name) |
void | spawn_explosion_sprites (int count, const std::string &sprite_path) |
Sprite * | get_sprite () const |
Get various sprite properties. More... | |
std::string | get_action () const |
Returns the name of the current action of the sprite. | |
void | set_action (const std::string &name) |
Sets the current action of the sprite and resizes the bounding box. More... | |
void | set_action_loops (const std::string &name, int loops) |
Sets the current action of the sprite, as well as the number of times it should loop, and resizes the bounding box. More... | |
void | set_action (const std::string &name, int loops) |
Sets the action from an action name, as well as the number of times it should loop. More... | |
void | set_action (const std::string &name, const Direction &dir, int loops=-1) |
Sets the action from an action name and a particular direction in the form of "name-direction", eg. More... | |
void | set_action (const Direction &dir, const std::string &name, int loops=-1) |
Sets the action from an action name and a particular direction in the form of "direction-name", eg. More... | |
void | set_action (const Direction &dir, int loops=-1) |
Sets the action from a string from a particular direction in the form of "direction", e.g. More... | |
void | set_action_centered (const std::string &action, int loops=-1) |
Set new action for sprite and re-center bounding box. More... | |
void | set_action (const std::string &action, int loops, AnchorPoint anchorPoint) |
Set new action for sprite and align bounding boxes at anchorPoint. More... | |
![]() | |
MovingObject (const ReaderMapping &reader) | |
virtual void | set_pos (const Vector &pos) |
virtual void | move (const Vector &dist) |
virtual bool | listener_is_valid () const override |
Vector | get_pos () const |
const Rectf & | get_bbox () const |
const Vector & | get_movement () const |
CollisionGroup | get_group () const |
CollisionObject * | get_collision_object () |
const CollisionObject * | get_collision_object () const |
void | set_parent_dispenser (Dispenser *dispenser) |
Dispenser * | get_parent_dispenser () const |
virtual void | editor_select () override |
The user clicked on the object in the editor and selected it. | |
float | get_x () const |
Returns the object's X coordinate. | |
float | get_y () const |
Returns the object's Y coordinate. | |
void | set_pos (float x, float y) |
Sets the position of the object. More... | |
void | move (float x, float y) |
Moves the object by ""x"" units to the right and ""y"" down, relative to its current position. More... | |
float | get_width () const |
Returns the object's hitbox width. | |
float | get_height () const |
Returns the object's hitbox height. | |
![]() | |
GameObject (const std::string &name) | |
GameObject (const ReaderMapping &reader) | |
UID | get_uid () const |
virtual void | save (Writer &writer) |
This function saves the object. More... | |
std::string | save () |
virtual std::vector< std::string > | get_patches () const |
Version checking/updating, patch information. | |
virtual void | update_version () |
int | get_version () const |
Returns the current version of the object. | |
int | get_latest_version () const |
Returns the latest version of the object. | |
bool | is_up_to_date () const |
Checks whether the object's current version is equal to its latest one. | |
virtual bool | is_singleton () const |
If true only a single object of this type is allowed in a given GameObjectManager. | |
virtual bool | has_variable_size () const |
Does this object have variable size (secret area trigger, wind, etc.) | |
virtual bool | is_saveable () const |
Indicates if the object will be saved. More... | |
virtual bool | track_state () const |
Indicates if the object's state should be tracked. More... | |
virtual bool | has_object_manager_priority () const |
Indicates if the object should be added at the beginning of the object list. More... | |
virtual bool | has_settings () const |
Indicates if get_settings() is implemented. More... | |
virtual GameObjectTypes | get_types () const |
Get all types of the object, if available. More... | |
int | get_type () const |
Returns the type index of the object. | |
virtual void | remove_me () |
schedules this object to be removed at the end of the frame | |
bool | is_valid () const |
returns true if the object is not scheduled to be removed yet | |
void | add_remove_listener (ObjectRemoveListener *listener) |
registers a remove listener which will be called if the object gets removed/destroyed | |
void | del_remove_listener (ObjectRemoveListener *listener) |
unregisters a remove listener, so it will no longer be called if the object gets removed/destroyed | |
void | set_name (const std::string &name) |
const std::string & | get_name () const |
Returns the name of the object. | |
virtual const std::string | get_icon_path () const |
template<typename T > | |
T * | get_component () |
void | add_component (std::unique_ptr< GameObjectComponent > component) |
void | remove_component (GameObjectComponent *component) |
virtual void | save_state () |
Save/check the current state of the object. More... | |
virtual void | check_state () |
virtual void | editor_delete () |
The editor requested the deletion of the object. | |
virtual void | editor_deselect () |
The object got deselected. | |
virtual void | editor_update () |
Called each frame in the editor, used to keep linked objects together (e.g. More... | |
GameObjectManager * | get_parent () const |
![]() | |
virtual MovingObject * | get_owner () const |
virtual bool | is_grabbed () const |
virtual bool | is_hampering () const |
Is the object so heavy/bulky/fragile that Tux can't run while carrying it? | |
![]() | |
void | init_path (const ReaderMapping &mapping, bool running_default) |
For compatibilty reasons this needs to get the GameObjects main mapping, not the (path ...) mapping. | |
void | init_path_pos (const Vector &pos, bool running=false) |
PathGameObject * | get_path_gameobject () const |
Path * | get_path () const |
PathWalker * | get_walker () const |
void | editor_clone_path (PathGameObject *path_object) |
std::string | get_path_ref () const |
void | editor_set_path_by_ref (const std::string &new_ref) |
void | goto_node (int node_idx) |
Moves the path object until at given node, then stops. More... | |
void | set_node (int node_idx) |
Jumps instantly to the given node. More... | |
void | start_moving () |
Starts moving the path object automatically. | |
void | stop_moving () |
Stops moving the path object. | |
Static Public Member Functions | |
static void | register_class (ssq::VM &vm) |
static std::string | class_name () |
static std::string | display_name () |
![]() | |
static void | register_class (ssq::VM &vm) |
static std::string | class_name () |
static std::string | display_name () |
![]() | |
static void | register_class (ssq::VM &vm) |
static std::string | class_name () |
![]() | |
static void | register_class (ssq::VM &vm) |
static std::string | class_name () |
![]() | |
static void | register_class (ssq::VM &vm) |
Protected Member Functions | |
virtual std::vector< Direction > | get_allowed_directions () const override |
Returns a vector of directions the badguy can be set to. More... | |
![]() | |
virtual void | collision_solid (const CollisionHit &hit) override |
Called when the badguy collided with solid ground. | |
virtual HitResponse | collision_badguy (BadGuy &other, const CollisionHit &hit) |
Called when the badguy collided with another badguy. | |
virtual bool | collision_squished (GameObject &object) |
Called when the player hit the badguy from above. More... | |
virtual HitResponse | collision_bullet (Bullet &bullet, const CollisionHit &hit) |
Called when the badguy collided with a bullet. | |
virtual void | inactive_update (float dt_sec) |
called each frame when the badguy is not activated. More... | |
virtual void | initialize () |
called immediately before the first call to initialize | |
void | kill_squished (GameObject &object) |
void | set_state (State state) |
State | get_state () const |
bool | check_state_timer () |
Player * | get_nearest_player () const |
returns a pointer to the nearest player or 0 if no player is available | |
bool | is_offscreen () const |
initial position of the enemy. More... | |
bool | might_fall (int height=1) const |
Returns true if we might soon fall at least height pixels. More... | |
void | update_on_ground_flag (const CollisionHit &hit) |
Update on_ground_flag judging by solid collision hit . More... | |
bool | on_ground () const |
Returns true if we touched ground in the past frame This only works if update_on_ground_flag() gets called in collision_solid. More... | |
Vector | get_floor_normal () const |
Returns floor normal stored the last time when update_on_ground_flag was called and we touched something solid from above. More... | |
bool | is_active () const |
Returns true if we were in STATE_ACTIVE at the beginning of the last call to update() | |
void | set_colgroup_active (CollisionGroup group) |
changes colgroup_active. More... | |
![]() | |
virtual void | update_hitbox () |
Update hitbox, based on sprite. More... | |
![]() | |
void | set_group (CollisionGroup group) |
![]() | |
void | parse_type (const ReaderMapping &reader) |
Parse object type. More... | |
int | type_id_to_value (const std::string &id) const |
Conversion between type ID and value. More... | |
std::string | type_value_to_id (int value) const |
![]() | |
void | save_state () const |
void | check_state () const |
void | on_flip () |
Additional Inherited Members | |
![]() | |
bool | m_countMe |
Count this badguy to the statistics? This value should not be changed during runtime. More... | |
![]() | |
enum | State { STATE_INIT, STATE_INACTIVE, STATE_ACTIVE, STATE_SQUISHED, STATE_FALLING, STATE_BURNING, STATE_MELTING, STATE_GROUND_MELTING, STATE_INSIDE_MELTING, STATE_GEAR } |
![]() | |
enum | TypeChange { INITIAL = -1 } |
When the type has been changed from the editor. More... | |
![]() | |
static void | register_members (ssq::Class &cls) |
![]() | |
Physic | m_physic |
bool | m_is_initialized |
true if initialize() has already been called | |
Vector | m_start_position |
Direction | m_dir |
The direction we currently face in. | |
Direction | m_start_dir |
The direction we initially faced in. | |
bool | m_frozen |
bool | m_ignited |
true if this badguy is currently on fire | |
bool | m_in_water |
std::string | m_dead_script |
< true if the badguy is currently in water More... | |
float | m_melting_time |
SpritePtr | m_lightsprite |
SpritePtr | m_freezesprite |
bool | m_glowing |
bool | m_water_affected |
Timer | m_unfreeze_timer |
![]() | |
std::string | m_sprite_name |
std::string | m_default_sprite_name |
The default sprite for this MovingObject. More... | |
SpritePtr | m_sprite |
int | m_layer |
Sprite's z-position. More... | |
Flip | m_flip |
![]() | |
CollisionObject | m_col |
Dispenser * | m_parent_dispenser |
![]() | |
std::string | m_name |
a name for the gameobject, this is mostly a hint for scripts and for debugging, don't rely on names being set or being unique | |
int | m_type |
Type of the GameObject. More... | |
std::vector< std::unique_ptr< FadeHelper > > | m_fade_helpers |
Fade Helpers are for easing/fading script functions. | |
bool | m_track_undo |
Track the following creation/deletion of this object for undo. More... | |
![]() | |
MovingObject * | m_owner = nullptr |
![]() | |
PathWalker::Handle | m_path_handle |
A ""WillOWisp"" that was given a name can be controlled by scripts.
A ""WillOWisp"" is instantiated by placing a definition inside a level. It can then be accessed by its name from a script or via ""sector.name"" from the console.
|
overridevirtual |
called when the badguy has been activated.
(As a side effect the dir variable might have been changed so that it faces towards the player.
Reimplemented from BadGuy.
|
overridevirtual |
called each frame when the badguy is activated.
Reimplemented from BadGuy.
|
overridevirtual |
Called after all objects have been added to the Sector and the Sector is fully constructed.
If objects refer to other objects by name, those connection can be resolved here.
Reimplemented from GameObject.
|
overrideprotectedvirtual |
Returns a vector of directions the badguy can be set to.
Reimplemented from BadGuy.
|
inlineoverridevirtual |
List notable classes in inheritance hierarchy of class.
This makes it possible to efficiently look up all objects deriving from a particular intermediate class
Reimplemented from BadGuy.
void WillOWisp::set_state | ( | const std::string & | state | ) |
Sets the state of the WillOWisp.
string | $state | One of the following: "stopped", "move_path" (moves along a path), "move_path_track" (moves along a path but catches Tux when he is near), "normal" (starts tracking Tux when he is near enough), "vanish". |