extend("fiskheroes:hero_basic");
loadTextures({
    "layer1": "knights:starfire_layer1",
    "layer2": "knights:starfire_layer2",
});
var utils = implement("fiskheroes:external/utils");

function initEffects(renderer) {
 var color = 0x66FF47;
var beam = renderer.createResource("BEAM_RENDERER", "fiskheroes:mysterio_beam");
utils.bindBeam(renderer, "fiskheroes:charged_beam", beam, "head", color, [
    { "firstPerson": [2.2, 0.0, 2.0], "offset": [2.2, -2, -4.0], "size": [1.5, 0.5] },
    { "firstPerson": [-2.2, 0.0, 2.0], "offset": [-2.2, -2, -4.0], "size": [1.5, 0.5] }
]).setParticles(renderer.createResource("PARTICLE_EMITTER", "fiskheroes:impact_charged_beam"));

utils.bindBeam(renderer, "fiskheroes:energy_projection", beam, "rightArm", color, [
    { "firstPerson": [-3.75, 3.0, -8.0], "offset": [-0.5, 12.0, 0.0], "size": [1.5, 1.5] },
    { "firstPerson": [3.75, 3.0, -8.0], "offset": [-0.5, 12.0, 0.0], "size": [1.5, 1.5], "anchor": "leftArm" }
]).setParticles(renderer.createResource("PARTICLE_EMITTER", "fiskheroes:impact_energy_projection"));
}
function initAnimations(renderer) {
    parent.initAnimations(renderer);
    utils.addFlightAnimation(renderer, "mmcw.FLIGHT", "fiskheroes:flight/default_arms_forward.anim.json");
    utils.addHoverAnimation(renderer, "mmcw.HOVER", "fiskheroes:flight/idle/neutral");
    utils.addAnimationEvent(renderer, "FLIGHT_DIVE", "fiskheroes:iron_man_dive");

    addAnimationWithData(renderer, "iron_man.LAND", "fiskheroes:superhero_landing", "fiskheroes:dyn/superhero_landing_timer")
        .priority = -8;

    addAnimationWithData(renderer, "iron_man.ROLL", "fiskheroes:flight/barrel_roll", "fiskheroes:barrel_roll_timer")
        .priority = 10;
}