extend("fiskheroes:hero_basic"),
loadTextures({
    "layer1": "knights:cyborg_layer1",
    "layer2": "knights:cyborg_layer2",
    "lights_layer1": "knights:cyborg_lights_layer1",
    "lights_layer2": "knights:cyborg_lights_layer2",
});
var utils = implement("fiskheroes:external/utils");

function initEffects(renderer) {
    utils.bindBeam(renderer, "fiskheroes:energy_projection", "fiskheroes:charged_beam", "body", 0xFDD023, [{
                "firstPerson": [-4.5, 1.75, -8.0],
                "offset": [0.0, -6.15, -4.0],
                "size": [3.0, 3.0]
            }
        ]).setParticles(renderer.createResource("PARTICLE_EMITTER", "fiskheroes:impact_energy_projection"));
}

var utils = implement("fiskheroes:external/utils");

function initEffects(renderer) {
    var color = 0x66FF47;
    utils.bindCloud(renderer, "fiskheroes:teleportation", "knights:boom_tube");
   var beam = renderer.createResource("BEAM_RENDERER", "fiskheroes:mysterio_beam");
   utils.bindBeam(renderer, "fiskheroes:charged_beam", beam, "body", 0xE71E02, [
       { "firstPerson": [0.2, 4, -4.0], "offset": [0.2, 1.7, -4.0], "size": [1.5, 0.5] },
   ]).setParticles(renderer.createResource("PARTICLE_EMITTER", "fiskheroes:impact_charged_beam"));
  
utils.bindBeam(renderer, "fiskheroes:energy_projection", beam, "head", 0xFF4605, [
    { "firstPerson": [2.2, 0.0, 2.0], "offset": [2.2, -3.2, -4.0], "size": [1.5, 0.5] },
]).setParticles(renderer.createResource("PARTICLE_EMITTER", "fiskheroes:impact_energy_projection"));
}   
function initAnimations(renderer) {
    parent.initAnimations(renderer);
    utils.addFlightAnimationWithLanding(renderer, "iron_man.FLIGHT", "fiskheroes:flight/iron_man.anim.json");
    utils.addHoverAnimation(renderer, "iron_man.HOVER", "fiskheroes:flight/idle/iron_man");
    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;
}