Hierarchy (view full)

Constructors

Properties

Accessors

Methods

Constructors

  • Parameters

    • game: any
    • data: any
    • key_name: any
    • map_index: any
    • x: any
    • y: any
    • storage_keys: any
    • allowed_tiles: any
    • base_collision_layer: any
    • not_allowed_tiles: any
    • object_drop_tiles: any
    • anchor_x: any
    • anchor_y: any
    • scale_x: any
    • scale_y: any
    • block_climb_collision_layer_shift: any
    • events_info: any
    • enable: any
    • entangled_by_bush: any
    • toggle_enable_events: any
    • label: any
    • allow_jumping_over_it: any
    • allow_jumping_through_it: any
    • psynergies_info: any
    • has_shadow: any
    • animation: any
    • action: any
    • snapshot_info: any
    • affected_by_reveal: any
    • active: any
    • initially_visible: any

    Returns InteractableObjects

Properties

_active: boolean
_active_filters: {
    alpha_gray: boolean;
    color_blend: boolean;
    colorize: boolean;
    flame: boolean;
    glow: boolean;
    gray: boolean;
    hue: boolean;
    levels: boolean;
    mode7: boolean;
    outline: boolean;
    pixel_shift: boolean;
    tint: boolean;
    watery: boolean;
}

Type declaration

  • alpha_gray: boolean
  • color_blend: boolean
  • colorize: boolean
  • flame: boolean
  • glow: boolean
  • gray: boolean
  • hue: boolean
  • levels: boolean
  • mode7: boolean
  • outline: boolean
  • pixel_shift: boolean
  • tint: boolean
  • watery: boolean
_affected_by_reveal: boolean
_after_psynergy_cast_events: {
    [psynergy_key: string]: GameEvent[];
}

Type declaration

_base_collision_layer: number
_before_psynergy_cast_events: {
    [psynergy_key: string]: GameEvent[];
}

Type declaration

_blocking_stair_block: Body
_breakable: boolean
_bush_sprite: Sprite
_collision_tiles_bodies: Body[]
_color_blend_filter: ColorBlend
_colorize_filter: Colorize
_current_action: string
_current_animation: string
_enable: boolean
_entangled_by_bush: boolean
_extra_sprites: (Sprite | Group | Graphics)[]
_flame_filter: Flame
_gray_filter: Gray
_has_shadow: boolean
_hue_filter: Hue
_initially_visible: boolean
_is_rope_dock: boolean
_key_name: string
_label: string
_levels_filter: Levels
_map_index: number
_object_drop_tiles: {
    animation_duration: number;
    dest_x: number;
    dest_y: number;
    destination_collision_layer: number;
    dust_animation: boolean;
    water_animation: boolean;
    x: number;
    y: number;
}[]

Type declaration

  • animation_duration: number
  • dest_x: number
  • dest_y: number
  • destination_collision_layer: number
  • dust_animation: boolean
  • water_animation: boolean
  • x: number
  • y: number
_psynergies_info: {
    [psynergy_key: string]: {
        after_psynergy_cast_events: any[];
        before_psynergy_cast_events: any[];
        destination_collision_layer: LiftFieldPsynergy["destination_collision_layer"];
        destination_y_pos: LiftFieldPsynergy["destination_y_pos"];
        interaction_type: interactable_object_interaction_types;
        [psynergy_specific_properties: string]: any;
    };
}

Type declaration

_psynergy_casted: {
    [field_psynergy_key: string]: boolean;
}

Type declaration

  • [field_psynergy_key: string]: boolean
_pushable: boolean
_rollable: boolean
_shadow: Sprite
_shapes_collision_active: boolean
_snapshot_info: {
    action: string;
    active: boolean;
    active_filters: {
        alpha_gray: boolean;
        color_blend: boolean;
        colorize: boolean;
        flame: boolean;
        glow: boolean;
        gray: boolean;
        hue: boolean;
        levels: boolean;
        mode7: boolean;
        outline: boolean;
        pixel_shift: boolean;
        tint: boolean;
        watery: boolean;
    };
    allow_jumping_over_it: boolean;
    allow_jumping_through_it: boolean;
    anchor: {
        x: number;
        y: number;
    };
    anim_is_playing: boolean;
    animation: string;
    base_collision_layer: number;
    body_in_map: boolean;
    enable: boolean;
    entangled_by_bush: boolean;
    filter_settings?: FilterSettings;
    frame: string;
    index: number;
    key_name: string;
    position: {
        x: number;
        x_px: number;
        y: number;
        y_px: number;
    };
    psynergy_casted: {
        [field_psynergy_key: string]: boolean;
    };
    scale: {
        x: number;
        y: number;
    };
    send_to_back: boolean;
    send_to_front: boolean;
    shadow: {
        x: number;
        y: number;
    };
    shapes_collision_active: boolean;
    state_by_type: {
        breakable?: {
            one_level_broken: boolean;
            two_level_broken: boolean;
        };
        pushable?: {
            docked: boolean;
        };
        rollable?: {
            pillar_is_stuck: boolean;
        };
        rope_dock?: {
            tied: boolean;
        };
    };
    type: {
        breakable: boolean;
        is_rope_dock: boolean;
        rollable: boolean;
    };
    visible: boolean;
}

Type declaration

  • action: string
  • active: boolean
  • active_filters: {
        alpha_gray: boolean;
        color_blend: boolean;
        colorize: boolean;
        flame: boolean;
        glow: boolean;
        gray: boolean;
        hue: boolean;
        levels: boolean;
        mode7: boolean;
        outline: boolean;
        pixel_shift: boolean;
        tint: boolean;
        watery: boolean;
    }
    • alpha_gray: boolean
    • color_blend: boolean
    • colorize: boolean
    • flame: boolean
    • glow: boolean
    • gray: boolean
    • hue: boolean
    • levels: boolean
    • mode7: boolean
    • outline: boolean
    • pixel_shift: boolean
    • tint: boolean
    • watery: boolean
  • allow_jumping_over_it: boolean
  • allow_jumping_through_it: boolean
  • anchor: {
        x: number;
        y: number;
    }
    • x: number
    • y: number
  • anim_is_playing: boolean
  • animation: string
  • base_collision_layer: number
  • body_in_map: boolean
  • enable: boolean
  • entangled_by_bush: boolean
  • Optional filter_settings?: FilterSettings
  • frame: string
  • index: number
  • key_name: string
  • position: {
        x: number;
        x_px: number;
        y: number;
        y_px: number;
    }
    • x: number
    • x_px: number
    • y: number
    • y_px: number
  • psynergy_casted: {
        [field_psynergy_key: string]: boolean;
    }
    • [field_psynergy_key: string]: boolean
  • scale: {
        x: number;
        y: number;
    }
    • x: number
    • y: number
  • send_to_back: boolean
  • send_to_front: boolean
  • shadow: {
        x: number;
        y: number;
    }
    • x: number
    • y: number
  • shapes_collision_active: boolean
  • state_by_type: {
        breakable?: {
            one_level_broken: boolean;
            two_level_broken: boolean;
        };
        pushable?: {
            docked: boolean;
        };
        rollable?: {
            pillar_is_stuck: boolean;
        };
        rope_dock?: {
            tied: boolean;
        };
    }
    • Optional breakable?: {
          one_level_broken: boolean;
          two_level_broken: boolean;
      }
      • one_level_broken: boolean
      • two_level_broken: boolean
    • Optional pushable?: {
          docked: boolean;
      }
      • docked: boolean
    • Optional rollable?: {
          pillar_is_stuck: boolean;
      }
      • pillar_is_stuck: boolean
    • Optional rope_dock?: {
          tied: boolean;
      }
      • tied: boolean
  • type: {
        breakable: boolean;
        is_rope_dock: boolean;
        rollable: boolean;
    }
    • breakable: boolean
    • is_rope_dock: boolean
    • rollable: boolean
  • visible: boolean
_sprite_info: SpriteBase
_tile_x_pos: number
_tile_y_pos: number
_tint_filter: Tint
_whirlwind_source: boolean
allow_jumping_over_it: boolean
allow_jumping_through_it: boolean
allowed_tiles: {
    collision_layer: number;
    x: number;
    y: number;
}[]

Type declaration

  • collision_layer: number
  • x: number
  • y: number
anchor_x: number
anchor_y: number
block_climb_collision_layer_shift: number
collision_change_functions: Function[]
data: GoldenSun
events_id: Set<number>
game: Game
not_allowed_tiles: {
    control_key?: string;
    x: number;
    y: number;
}[]

Type declaration

  • Optional control_key?: string
  • x: number
  • y: number
on_unset_callbacks: (() => void)[]

Type declaration

    • (): void
    • Returns void

scale_x: number
scale_y: number
sprite: Sprite
storage_keys: {
    action?: string;
    active?: string;
    affected_by_reveal?: string;
    anchor?: string;
    animation?: string;
    base_collision_layer?: string;
    enable?: string;
    entangled_by_bush?: string;
    position?: string;
    position_px?: string;
    scale?: string;
    visible?: string;
}

Type declaration

  • Optional action?: string
  • Optional active?: string
  • Optional affected_by_reveal?: string
  • Optional anchor?: string
  • Optional animation?: string
  • Optional base_collision_layer?: string
  • Optional enable?: string
  • Optional entangled_by_bush?: string
  • Optional position?: string
  • Optional position_px?: string
  • Optional scale?: string
  • Optional visible?: string
tile_events_info: {
    [event_id: number]: {
        collision_layer_shift?: number;
        intermediate_collision_layer_shift?: number;
    };
}

Type declaration

  • [event_id: number]: {
        collision_layer_shift?: number;
        intermediate_collision_layer_shift?: number;
    }
    • Optional collision_layer_shift?: number
    • Optional intermediate_collision_layer_shift?: number
toggle_enable_events: {
    event: GameEvent;
    on_enable: boolean;
}[]

Type declaration

BUSH_FRAME: "leaves/bush/00" = "leaves/bush/00"
BUSH_KEY: "bush" = "bush"
DEFAULT_SHADOW_ANCHOR_X: 0.45 = 0.45
DEFAULT_SHADOW_ANCHOR_Y: 0.05 = 0.05
DEFAULT_SHADOW_KEYNAME: "shadow" = "shadow"

Accessors

  • get active_filters(): {
        alpha_gray: boolean;
        color_blend: boolean;
        colorize: boolean;
        flame: boolean;
        glow: boolean;
        gray: boolean;
        hue: boolean;
        levels: boolean;
        mode7: boolean;
        outline: boolean;
        pixel_shift: boolean;
        tint: boolean;
        watery: boolean;
    }
  • An object containing which filters are active in this IO.

    Returns {
        alpha_gray: boolean;
        color_blend: boolean;
        colorize: boolean;
        flame: boolean;
        glow: boolean;
        gray: boolean;
        hue: boolean;
        levels: boolean;
        mode7: boolean;
        outline: boolean;
        pixel_shift: boolean;
        tint: boolean;
        watery: boolean;
    }

    • alpha_gray: boolean
    • color_blend: boolean
    • colorize: boolean
    • flame: boolean
    • glow: boolean
    • gray: boolean
    • hue: boolean
    • levels: boolean
    • mode7: boolean
    • outline: boolean
    • pixel_shift: boolean
    • tint: boolean
    • watery: boolean
  • get object_drop_tiles(): {
        animation_duration: number;
        dest_x: number;
        dest_y: number;
        destination_collision_layer: number;
        dust_animation: boolean;
        water_animation: boolean;
        x: number;
        y: number;
    }[]
  • Returns {
        animation_duration: number;
        dest_x: number;
        dest_y: number;
        destination_collision_layer: number;
        dust_animation: boolean;
        water_animation: boolean;
        x: number;
        y: number;
    }[]

  • get snapshot_info(): {
        action: string;
        active: boolean;
        active_filters: {
            alpha_gray: boolean;
            color_blend: boolean;
            colorize: boolean;
            flame: boolean;
            glow: boolean;
            gray: boolean;
            hue: boolean;
            levels: boolean;
            mode7: boolean;
            outline: boolean;
            pixel_shift: boolean;
            tint: boolean;
            watery: boolean;
        };
        allow_jumping_over_it: boolean;
        allow_jumping_through_it: boolean;
        anchor: {
            x: number;
            y: number;
        };
        anim_is_playing: boolean;
        animation: string;
        base_collision_layer: number;
        body_in_map: boolean;
        enable: boolean;
        entangled_by_bush: boolean;
        filter_settings?: FilterSettings;
        frame: string;
        index: number;
        key_name: string;
        position: {
            x: number;
            x_px: number;
            y: number;
            y_px: number;
        };
        psynergy_casted: {
            [field_psynergy_key: string]: boolean;
        };
        scale: {
            x: number;
            y: number;
        };
        send_to_back: boolean;
        send_to_front: boolean;
        shadow: {
            x: number;
            y: number;
        };
        shapes_collision_active: boolean;
        state_by_type: {
            breakable?: {
                one_level_broken: boolean;
                two_level_broken: boolean;
            };
            pushable?: {
                docked: boolean;
            };
            rollable?: {
                pillar_is_stuck: boolean;
            };
            rope_dock?: {
                tied: boolean;
            };
        };
        type: {
            breakable: boolean;
            is_rope_dock: boolean;
            rollable: boolean;
        };
        visible: boolean;
    }
  • Returns {
        action: string;
        active: boolean;
        active_filters: {
            alpha_gray: boolean;
            color_blend: boolean;
            colorize: boolean;
            flame: boolean;
            glow: boolean;
            gray: boolean;
            hue: boolean;
            levels: boolean;
            mode7: boolean;
            outline: boolean;
            pixel_shift: boolean;
            tint: boolean;
            watery: boolean;
        };
        allow_jumping_over_it: boolean;
        allow_jumping_through_it: boolean;
        anchor: {
            x: number;
            y: number;
        };
        anim_is_playing: boolean;
        animation: string;
        base_collision_layer: number;
        body_in_map: boolean;
        enable: boolean;
        entangled_by_bush: boolean;
        filter_settings?: FilterSettings;
        frame: string;
        index: number;
        key_name: string;
        position: {
            x: number;
            x_px: number;
            y: number;
            y_px: number;
        };
        psynergy_casted: {
            [field_psynergy_key: string]: boolean;
        };
        scale: {
            x: number;
            y: number;
        };
        send_to_back: boolean;
        send_to_front: boolean;
        shadow: {
            x: number;
            y: number;
        };
        shapes_collision_active: boolean;
        state_by_type: {
            breakable?: {
                one_level_broken: boolean;
                two_level_broken: boolean;
            };
            pushable?: {
                docked: boolean;
            };
            rollable?: {
                pillar_is_stuck: boolean;
            };
            rope_dock?: {
                tied: boolean;
            };
        };
        type: {
            breakable: boolean;
            is_rope_dock: boolean;
            rollable: boolean;
        };
        visible: boolean;
    }

    • action: string
    • active: boolean
    • active_filters: {
          alpha_gray: boolean;
          color_blend: boolean;
          colorize: boolean;
          flame: boolean;
          glow: boolean;
          gray: boolean;
          hue: boolean;
          levels: boolean;
          mode7: boolean;
          outline: boolean;
          pixel_shift: boolean;
          tint: boolean;
          watery: boolean;
      }
      • alpha_gray: boolean
      • color_blend: boolean
      • colorize: boolean
      • flame: boolean
      • glow: boolean
      • gray: boolean
      • hue: boolean
      • levels: boolean
      • mode7: boolean
      • outline: boolean
      • pixel_shift: boolean
      • tint: boolean
      • watery: boolean
    • allow_jumping_over_it: boolean
    • allow_jumping_through_it: boolean
    • anchor: {
          x: number;
          y: number;
      }
      • x: number
      • y: number
    • anim_is_playing: boolean
    • animation: string
    • base_collision_layer: number
    • body_in_map: boolean
    • enable: boolean
    • entangled_by_bush: boolean
    • Optional filter_settings?: FilterSettings
    • frame: string
    • index: number
    • key_name: string
    • position: {
          x: number;
          x_px: number;
          y: number;
          y_px: number;
      }
      • x: number
      • x_px: number
      • y: number
      • y_px: number
    • psynergy_casted: {
          [field_psynergy_key: string]: boolean;
      }
      • [field_psynergy_key: string]: boolean
    • scale: {
          x: number;
          y: number;
      }
      • x: number
      • y: number
    • send_to_back: boolean
    • send_to_front: boolean
    • shadow: {
          x: number;
          y: number;
      }
      • x: number
      • y: number
    • shapes_collision_active: boolean
    • state_by_type: {
          breakable?: {
              one_level_broken: boolean;
              two_level_broken: boolean;
          };
          pushable?: {
              docked: boolean;
          };
          rollable?: {
              pillar_is_stuck: boolean;
          };
          rope_dock?: {
              tied: boolean;
          };
      }
      • Optional breakable?: {
            one_level_broken: boolean;
            two_level_broken: boolean;
        }
        • one_level_broken: boolean
        • two_level_broken: boolean
      • Optional pushable?: {
            docked: boolean;
        }
        • docked: boolean
      • Optional rollable?: {
            pillar_is_stuck: boolean;
        }
        • pillar_is_stuck: boolean
      • Optional rope_dock?: {
            tied: boolean;
        }
        • tied: boolean
    • type: {
          breakable: boolean;
          is_rope_dock: boolean;
          rollable: boolean;
      }
      • breakable: boolean
      • is_rope_dock: boolean
      • rollable: boolean
    • visible: boolean

Methods

  • Parameters

    • map: Map
    • snapshot_info: {
          action: string;
          active: boolean;
          active_filters: {
              alpha_gray: boolean;
              color_blend: boolean;
              colorize: boolean;
              flame: boolean;
              glow: boolean;
              gray: boolean;
              hue: boolean;
              levels: boolean;
              mode7: boolean;
              outline: boolean;
              pixel_shift: boolean;
              tint: boolean;
              watery: boolean;
          };
          allow_jumping_over_it: boolean;
          allow_jumping_through_it: boolean;
          anchor: {
              x: number;
              y: number;
          };
          anim_is_playing: boolean;
          animation: string;
          base_collision_layer: number;
          body_in_map: boolean;
          enable: boolean;
          entangled_by_bush: boolean;
          filter_settings?: FilterSettings;
          frame: string;
          index: number;
          key_name: string;
          position: {
              x: number;
              x_px: number;
              y: number;
              y_px: number;
          };
          psynergy_casted: {
              [field_psynergy_key: string]: boolean;
          };
          scale: {
              x: number;
              y: number;
          };
          send_to_back: boolean;
          send_to_front: boolean;
          shadow: {
              x: number;
              y: number;
          };
          shapes_collision_active: boolean;
          state_by_type: {
              breakable?: {
                  one_level_broken: boolean;
                  two_level_broken: boolean;
              };
              pushable?: {
                  docked: boolean;
              };
              rollable?: {
                  pillar_is_stuck: boolean;
              };
              rope_dock?: {
                  tied: boolean;
              };
          };
          type: {
              breakable: boolean;
              is_rope_dock: boolean;
              rollable: boolean;
          };
          visible: boolean;
      }
      • action: string
      • active: boolean
      • active_filters: {
            alpha_gray: boolean;
            color_blend: boolean;
            colorize: boolean;
            flame: boolean;
            glow: boolean;
            gray: boolean;
            hue: boolean;
            levels: boolean;
            mode7: boolean;
            outline: boolean;
            pixel_shift: boolean;
            tint: boolean;
            watery: boolean;
        }
        • alpha_gray: boolean
        • color_blend: boolean
        • colorize: boolean
        • flame: boolean
        • glow: boolean
        • gray: boolean
        • hue: boolean
        • levels: boolean
        • mode7: boolean
        • outline: boolean
        • pixel_shift: boolean
        • tint: boolean
        • watery: boolean
      • allow_jumping_over_it: boolean
      • allow_jumping_through_it: boolean
      • anchor: {
            x: number;
            y: number;
        }
        • x: number
        • y: number
      • anim_is_playing: boolean
      • animation: string
      • base_collision_layer: number
      • body_in_map: boolean
      • enable: boolean
      • entangled_by_bush: boolean
      • Optional filter_settings?: FilterSettings
      • frame: string
      • index: number
      • key_name: string
      • position: {
            x: number;
            x_px: number;
            y: number;
            y_px: number;
        }
        • x: number
        • x_px: number
        • y: number
        • y_px: number
      • psynergy_casted: {
            [field_psynergy_key: string]: boolean;
        }
        • [field_psynergy_key: string]: boolean
      • scale: {
            x: number;
            y: number;
        }
        • x: number
        • y: number
      • send_to_back: boolean
      • send_to_front: boolean
      • shadow: {
            x: number;
            y: number;
        }
        • x: number
        • y: number
      • shapes_collision_active: boolean
      • state_by_type: {
            breakable?: {
                one_level_broken: boolean;
                two_level_broken: boolean;
            };
            pushable?: {
                docked: boolean;
            };
            rollable?: {
                pillar_is_stuck: boolean;
            };
            rope_dock?: {
                tied: boolean;
            };
        }
        • Optional breakable?: {
              one_level_broken: boolean;
              two_level_broken: boolean;
          }
          • one_level_broken: boolean
          • two_level_broken: boolean
        • Optional pushable?: {
              docked: boolean;
          }
          • docked: boolean
        • Optional rollable?: {
              pillar_is_stuck: boolean;
          }
          • pillar_is_stuck: boolean
        • Optional rope_dock?: {
              tied: boolean;
          }
          • tied: boolean
      • type: {
            breakable: boolean;
            is_rope_dock: boolean;
            rollable: boolean;
        }
        • breakable: boolean
        • is_rope_dock: boolean
        • rollable: boolean
      • visible: boolean

    Returns void

  • Parameters

    • allowed_tiles: {
          collision_layer: number;
          type: "tile" | "rect";
          x?: number;
          x0?: number;
          x1?: number;
          y?: number;
          y0?: number;
          y1?: number;
      }[]

    Returns void

  • Parameters

    • Optional animation: string
    • Optional action: string
    • start: boolean = true
    • Optional frame_rate: number
    • Optional loop: boolean

    Returns Animation

  • Parameters

    • x_pos: number
    • y_pos: number
    • active_event: boolean
    • target_layer: number
    • map: Map
    • dont_propagate_affected_by_reveal: boolean

    Returns void

  • Parameters

    • event_index: number
    • x_pos: number
    • y_pos: number
    • active_event: boolean
    • target_layer: number
    • map: Map
    • dont_propagate_affected_by_reveal: boolean

    Returns void

  • Parameters

    • event_info: any
    • x_pos: number
    • y_pos: number
    • active_event: boolean
    • target_layer: number
    • map: Map
    • dont_propagate_affected_by_reveal: boolean

    Returns void

  • Initialize the shadow sprite of this IO.

    Parameters

    • group: Group

      the group where the shadow sprite is going to be inserted.

    • Optional options: {
          is_world_map?: boolean;
          key_name?: string;
          shadow_anchor_x?: number;
          shadow_anchor_y?: number;
      }

      options to be set like anchor values and whether it's a world map.

      • Optional is_world_map?: boolean
      • Optional key_name?: string
      • Optional shadow_anchor_x?: number
      • Optional shadow_anchor_y?: number

    Returns void

  • Parameters

    • event_index: number
    • event_info: any
    • x_pos: number
    • y_pos: number
    • active_event: boolean
    • target_layer: number
    • map: Map
    • dont_propagate_affected_by_reveal: boolean

    Returns void

  • Sets this IO visibility.

    Parameters

    • visible: boolean

      whether to be visible or not.

    • came_from_value_change: boolean = false

      if this call came from storage value change, won't update it again.

    Returns void

  • Shifts the related events of this interactable object.

    Parameters

    • event_shift_x: number

      the x shift amount.

    • event_shift_y: number

      the y shift amount.

    • Optional manipulate_collision: {
          prev_collision_layer: number;
      }
      • prev_collision_layer: number

    Returns void

  • Activates or deactivates this IO.

    Parameters

    • active: boolean

      true, if you want to activate it.

    • came_from_value_change: boolean = false

      if this call came from storage value change, won't update it again.

    Returns void