Rivals of Aether

Rivals of Aether

Enter the Golden House (VS. Childe)
This topic has been locked
Bar-Kun  [developer] 27 Jan, 2023 @ 3:38am
Compatibility
CHARACTER DRAW HUD
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

example:
//init.gml
draw_hud_event = 14;

//draw_hud.gml
user_event(14);


you can also set a variable called [draw_hud_type] and set it to "childe" if you want to have hud elements specific to the bossfight
you can use it in any script you want on your characters

example:
//draw_hud.gml
if ("draw_hud_type" in self && draw_hud_type == "childe") draw_sprite_ext(sprite_get("genshin_meter"), 0, ...)



FIRE WALL COLLISION
the fire walls in the stage aren't regular walls, so they need to have their collision logic coded in differently, using the [touching_childe_wall] variable you can set up all sorts of collisions based on your character's needs, on the player, projectiles or articles

players have automatic collision with the walls based on their damage% but using you can detect the walls beyond just being able to run into them or tech, unless the variable is used

example:
//attack_update.gml
if (attack == AT_FAIR && window == 3 && ("touching_childe_wall" in self && touching_childe_wall)
{
hsp *= -1;
vsp = -4;
window = 5;
window_time = 0;
}

projectiles have collision with the walls based on the hitbox's HG_PROJECTILE_WALL_BEHAVIOR hitbox grid value, and will act accordingly, unless the variable is used

example:
//hitbox_update.gml - assuming the hitbox can go through walls usually
if (attack == AT_FSPECIAL && hbox_num == 1 && ("touching_childe_wall" in self && touching_childe_wall)
{
create_hitbox(AT_FSPECIAL, 2, x, y);
length = 0;
}

articles have collision with the fire walls based on the [ignores_walls] value, if it's false the article will stop in place, unless the variable is used

example:
//article1_update
if ("touching_childe_wall" in self && touching_childe_wall) vsp = -3;
Last edited by Bar-Kun; 6 Aug, 2023 @ 8:50am