//SPRITE_TYPE_BOSS6, huge boss;
enemyAnimations = true;
damagedMaterialOffset = 112;
damagedMaterialLife = 900;

anim.m_clamp = false;
anim.m_animationSpeed = 1.0;
anim.m_frameAmount = 4;
anim.m_frameOffset = 0;
animations.Push(anim);
anim.m_frameOffset = 4;
animations.Push(anim);
anim.m_frameOffset = 8;
animations.Push(anim);
anim.m_frameOffset = 12;
animations.Push(anim);

anim.m_animationSpeed = 1.0;
anim.m_frameOffset = 16;
animations.Push(anim);
anim.m_frameOffset = 20;
animations.Push(anim);
anim.m_frameOffset = 24;
animations.Push(anim);
anim.m_frameOffset = 28;
animations.Push(anim);

anim.m_animationSpeed = 2.1;
anim.m_clamp = true;
anim.m_frameOffset = 32;
animations.Push(anim);
anim.m_frameOffset = 36;
animations.Push(anim);
anim.m_frameOffset = 40;
animations.Push(anim);
anim.m_frameOffset = 44;
animations.Push(anim);

anim.m_frameAmount = 24;
anim.m_animationSpeed = 0.26;
anim.m_frameOffset = 80;
animations.Push(anim);

anim.m_frameAmount = 1;
anim.m_frameOffset = 68;
animations.Push(anim);
anim.m_frameOffset = 69;
animations.Push(anim);
anim.m_frameOffset = 70;
animations.Push(anim);
anim.m_frameOffset = 71;
animations.Push(anim);

anim.m_frameOffset = 64;
animations.Push(anim);
anim.m_frameOffset = 65;
animations.Push(anim);
anim.m_frameOffset = 66;
animations.Push(anim);
anim.m_frameOffset = 67;
animations.Push(anim);

// SPRITE_ENEMY_ANIM_ATTACKING2;
anim.m_frameAmount = 4;
anim.m_animationSpeed = 1.1;
anim.m_clamp = true;
anim.m_frameOffset = 48;
animations.Push(anim);
anim.m_frameOffset = 52;
animations.Push(anim);
anim.m_frameOffset = 56;
animations.Push(anim);
anim.m_frameOffset = 60;
animations.Push(anim);

// SPRITE_ENEMY_ANIM_ATTACKING3;
anim.m_animationSpeed = 1.0;
anim.m_clamp = true;
anim.m_frameOffset = 35;
animations.Push(anim);
anim.m_frameOffset = 39;
animations.Push(anim);
anim.m_frameOffset = 43;
animations.Push(anim);
anim.m_frameOffset = 47;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_ATTACKING4;
anim.m_frameAmount = 3;
anim.m_animationSpeed = 2.5;
anim.m_clamp = true;
anim.m_frameOffset = 49;
animations.Push(anim);
anim.m_frameOffset = 53;
animations.Push(anim);
anim.m_frameOffset = 57;
animations.Push(anim);
anim.m_frameOffset = 61;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_ATTACKING5;
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
// SPRITE_ENEMY_ANIM_DYING2;
anim.m_frameAmount = 24;
anim.m_animationSpeed = 0.26;
anim.m_frameOffset = 80;
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);

canBeDamaged = true;
// short delay because we don't want to see next boss phase;
delayKill = 1.0;
flammable = false;
deathAnimDuringDelay = true;
//Init(vector(2.9, 2.9, 2.9), 1518, 2, 2, 2, 0);
Init(vector(1.9, 1.9, 1.9), 1518, 2, 2, 2, 0);
life = 1750;

ai.AddDeathNode(302, 0);
ai.AddNode(311, -1.0, -1.0, 0);
ai.AddNode(17, -1.0, -1.0, 0);
ai.SetLastNodeToRunOnClients();
ai.AddDeathNode(16, 1, 0.0);

partStruct.m_managed = false;
partStruct.m_removeIfTargetBleeds = false;
partStruct.m_normalOffset = 0.0;
partStruct.m_rotate = true;
partStruct.m_type = 1;
partStruct.m_useActorCoordinates = false;
partStruct.m_offset = vector(0.0,0.0,0.0);
bleedParticles.Push(partStruct);
partStruct.m_rotate = false;
partStruct.m_type = 0;
partStruct.m_useActorCoordinates = true;
killParticles.Push(partStruct);

[enemy]

addGib(1105);
addGib(1106);
addGib(1107);
addGib(1108);

attackStruct.m_attackAmount = 45;
attackStruct.m_originalAttackAmount = 45;
attackStruct.m_distancePriority = false;
attackStruct.m_pauseTimerAfter = 1.0;
attackStruct.m_reuseTimer = 0.0;
attackStruct.m_reuseTimerOriginal = 2.0;
attackStruct.m_attackRange = 7.0 * cubeSize;
attackStruct.m_attackDelay = 0.4;
attackStruct.m_attackDelayAfterInitial = 0.015;
attackStruct.m_attackSound.m_sound = 441;
attackStruct.m_attackSound.m_pitchMin = 0.95;
attackStruct.m_attackSound.m_pitchMax = 1.05;
attackStruct.m_enemyAttack = 50;
attackStruct.m_attackAnim = 2;
attackStruct.m_extraAttackAnim = 7;
attackStruct.m_canBeCancelled = true;
attackStruct.m_lineOfSight = true;
attackStruct.m_attacksLeftCancel = 10;
attackStruct.m_attackBeamTime = 0.0;
attackStruct.m_attackBeamTimer = 0.0;
attackStruct.m_genProjDamage = 0;
attackStruct.m_genProjRecoil = 10.0;
attackStruct.m_genProjAmount = 1;
attackStruct.m_genProjType = 601;
attackStruct.m_genProjZOffset = 0.1 * cubeSize;
attackStruct.m_genProjVel = 4500.0;
attackStruct.m_genProjPitch = 0.0;
attackStruct.m_genProjSpoken = true;
attackStruct.m_genProjPawnBlock = false;
attacks.Push(attackStruct);
attackStruct.m_attackAmount = 5;
attackStruct.m_originalAttackAmount = 5;
attackStruct.m_distancePriority = false;
attackStruct.m_pauseTimerAfter = 1.0;
attackStruct.m_reuseTimer = 0.0;
attackStruct.m_reuseTimerOriginal = 4.0;
attackStruct.m_attackRange = 9999.0 * cubeSize;
attackStruct.m_attackDelay = 0.9;
attackStruct.m_attackDelayAfterInitial = 0.35;
attackStruct.m_attackSound.m_sound = 66;
attackStruct.m_attackSound.m_pitchMin = 0.95;
attackStruct.m_attackSound.m_pitchMax = 1.05;
attackStruct.m_enemyAttack = 50;
attackStruct.m_attackAnim = 6;
attackStruct.m_extraAttackAnim = 8;
attackStruct.m_canBeCancelled = false;
attackStruct.m_lineOfSight = false;
attackStruct.m_attacksLeftCancel = 1;
attackStruct.m_attackBeamTime = 0.0;
attackStruct.m_attackBeamTimer = 0.0;
attackStruct.m_genProjDamage = 0;
attackStruct.m_genProjRecoil = 0.0;
attackStruct.m_genProjAmount = 1;
attackStruct.m_genProjType = 1119;
attackStruct.m_genProjZOffset = 0.0;
attackStruct.m_genProjVel = 0.0;
attackStruct.m_genProjPitch = 0.0;
attackStruct.m_genProjSpoken = true;
attackStruct.m_genProjPawnBlock = true
attacks.Push(attackStruct);

yellTime = 1.8;
runSpeed = 400.0;
stepDelay = 0.48125;
painTreshold = 20;
jumps = true;
flies = false;
headshotMinZPercent = 0.75;
headshotMaxZPercent = 1.0;
headshotHeadInFront = false;
turnSpeed = 360.0;
stepSound.m_sound = 19;
idleSound.m_sound = 821;
yellSound.m_sound = 822;
painSound.m_sound = 823;
dieSound.m_sound = 824;
//dieSound.m_volumeMin = 2.0;
//dieSound.m_volumeMax = 2.0;
infighting = false;
canBeCaptured = false;
enableForceStun = false;
canBeNailed = false;