Rivals of Aether

Rivals of Aether

Outskirts Invasion (VS. Demon Horde)
This topic has been locked
Bar-Kun  [developer] 24 Aug, 2024 @ 6:18am
Demon Horde Compatibility
similarly to enter the golden house and hallowflame, you can add basic hit detection compatibilities and correctly displaying hud elements

to add hud compatibility simply move all your draw_hud.gml code into a user_event
and put down [draw_hud_event = #;] in init.gml with # being the user_event you want it to be

to add hit player compatibility, do the same as above but with hit_player_event, using a different user event

example: //init.gml hit_player_event = 13; draw_hud_event = 14; //hit_player.gml user_event(hit_player_event); //you are calling user event 13 //draw_hud.gml user_event(draw_hud_event); //you are calling user event 14


ENEMY DETECTION
to check for demons on workshop characters do:

with (obj_stage_article) if ("enemy_stage_article" in self)

enemy_stage_article: variable that could be used for any article based enemy for future proofing
gw_demonhorde_enemy: variable specifically made for demons here if you want a specific compat with them

enemy ID references
  • devil claws: 1
  • hell mutt: 2
  • wither skull: 3
  • evil spirit: 4
  • death aves: 5
  • brimstone digger: 6
  • necro magus: 7

enemy states
  • idle: 0
  • move: 1
  • jumpstart: 2
  • air idle: 3
  • landing: 4
  • attack: 5
  • hitstun: 6
  • ground hitstun: 7
  • spawn: 8
  • dead: 9

state categories
  • SC_GROUND_NEUTRAL = idle, move
  • SC_GROUND_COMMITTED = jumpstart, landing
  • SC_AIR_NEUTRAL = air idle
  • SC_AIR_COMMITTED / SC_GROUND_COMMITTED = spawn, attack, dead (based on if they are in the air or not)
  • SC_HITSTUN = hitstun, hitstun land

useful variables
  • hp: the current health of the enemy object
  • max_hp: the maximum health of an enemy
  • physics_state: decides specific behaviors for enemies
    • 0 = default
    • 1 = air only (Evil Spirit, Death Aves)
    • 2 = ground only (Brimstone Digger)
  • enemy_type = the ID of the enemy (see above for the ID references)
  • cur_surface: an array that decides which platform it's on
    • [left border, right border, platform's y, platform ID]
  • ai_target: the currently targeted player
  • hurtboxID: the hurtbox object instance of the enemy

HUD COMPATIBILITY VARIABLES
_demonhorde_hud_spr: your character's normal hud icon
_demonhorde_hud_hurt_spr: your character's hurt hud icon
demonhorde_hud_overwrite - used to overwrite the player icon if true, to allow for more control over the hud
draw_hud_type: "gw_demonhorde" - used by the draw_hud event to detect the demon horde

INTRO ANIMATION VARIABLES
demonhorde_portrait: portrait used for the intro card, it attempts to get portrait.png from the sprites folder, but if it doesn't exist it goes to the main folder one
demonhorde_custom_color: color used to color the intro card, it defaults to the 0th color slot
demonhorde_portrait_x: horizontal potrait offset
demonhorde_portrait_y: vertical potrait offset
Last edited by Bar-Kun; 30 Nov, 2024 @ 2:00pm