//SPRITE_TYPE_ENEMY35, ninja;
enemyAnimations = true;
damagedMaterialOffset = 96;
damagedMaterialLife = 40;
dying2 = true;

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 = 4.0;
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 = 4;
anim.m_animationSpeed = 1.0;
anim.m_frameOffset = 76;
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 = 4.0;
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_frameAmount = 2;
anim.m_animationSpeed = 4.5;
anim.m_clamp = true;
anim.m_frameOffset = 50;
animations.Push(anim);
anim.m_frameOffset = 54;
animations.Push(anim);
anim.m_frameOffset = 58;
animations.Push(anim);
anim.m_frameOffset = 62;
animations.Push(anim);
// SPRITE_ENEMY_ANIM_ATTACKING4;
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
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_animationSpeed = 1.5;
anim.m_frameAmount = 4;
anim.m_frameOffset = 72;
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
// All other attacks;
for (15) {;
    animations.Push(anim);
    animations.Push(anim);
    animations.Push(anim);
    animations.Push(anim);
};
//SPRITE_ENEMY_ANIM_NO_HEAD;
anim.m_frameOffset = 96;
anim.m_frameAmount = 1;
anim.m_clamp = true;
animations.Push(anim);
anim.m_frameOffset = 97;
animations.Push(anim);
anim.m_frameOffset = 98;
animations.Push(anim);
anim.m_frameOffset = 99;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_NO_HEAD_DYING2;
anim.m_frameOffset = 100;
anim.m_frameAmount = 4;
anim.m_clamp = true;
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
animations.Push(anim);
//SPRITE_ENEMY_ANIM_SLICED_TOP;
anim.m_frameAmount = 1;
anim.m_clamp = true;
anim.m_frameOffset = 392;
animations.Push(anim);
anim.m_frameOffset = 393;
animations.Push(anim);
anim.m_frameOffset = 394;
animations.Push(anim);
anim.m_frameOffset = 395;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_SLICED_BOTTOM;
anim.m_frameAmount = 1;
anim.m_clamp = true;
anim.m_frameOffset = 424;
animations.Push(anim);
anim.m_frameOffset = 425;
animations.Push(anim);
anim.m_frameOffset = 426;
animations.Push(anim);
anim.m_frameOffset = 427;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_FEET;
anim.m_frameOffset = 108;
anim.m_frameAmount = 1;
anim.m_clamp = true;
animations.Push(anim);
anim.m_frameOffset = 109;
animations.Push(anim);
anim.m_frameOffset = 110;
animations.Push(anim);
anim.m_frameOffset = 111;
animations.Push(anim);
//SPRITE_ENEMY_ANIM_NO_FEET;
anim.m_frameOffset = 112;
anim.m_frameAmount = 1;
anim.m_clamp = true;
animations.Push(anim);
anim.m_frameOffset = 113;
animations.Push(anim);
anim.m_frameOffset = 114;
animations.Push(anim);
anim.m_frameOffset = 115;
animations.Push(anim);


canBeDamaged = true;
delayKill = 0.025;
flammable = true;
Init(vector(1.0, 2.0, 1.0), 1501, 2, 2, 5, 0);
life = 60;

ai.AddDeathNode(9, 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(1110);
addGib(1111);
addGib(1112);
addGib(1113);
headGib = 1548;

// jump;
attackStruct.m_attackAmount = 1;
attackStruct.m_originalAttackAmount = 1;
attackStruct.m_distancePriority = false;
attackStruct.m_pauseTimerAfter = 0.0;
attackStruct.m_reuseTimer = 0.0;
attackStruct.m_reuseTimerOriginal = 2.0;
attackStruct.m_attackRange = 99999.0 * cubeSize;
attackStruct.m_attackDelay = 0.0;
attackStruct.m_attackDelayAfterInitial = 0.0;
attackStruct.m_attackSound.m_sound = 45;
attackStruct.m_attackSound.m_pitchMin = 0.95;
attackStruct.m_attackSound.m_pitchMax = 1.05;
attackStruct.m_attackSound.m_volumeMin = 2.0;
attackStruct.m_attackSound.m_volumeMax = 2.0;
attackStruct.m_enemyAttack = 58;
attackStruct.m_attackAnim = 2;
attackStruct.m_extraAttackAnim = 255;
attackStruct.m_canBeCancelled = false;
attackStruct.m_lineOfSight = true;
attackStruct.m_attacksLeftCancel = 1;
attackStruct.m_attackBeamTime = 0.0f;
attackStruct.m_attackBeamTimer = 0.0f;
attacks.Push(attackStruct);
// BLADE;
attackStruct.m_attackAmount = 1;
attackStruct.m_originalAttackAmount = 1;
attackStruct.m_distancePriority = true;
attackStruct.m_pauseTimerAfter = 0.5;
attackStruct.m_reuseTimer = 0.5;
attackStruct.m_reuseTimerOriginal = 0.5;
attackStruct.m_attackRange = 1.5 * cubeSize;
attackStruct.m_attackDelay = 0.25;
attackStruct.m_attackDelayAfterInitial = 0.25;
attackStruct.m_attackSound.m_sound = 229;
attackStruct.m_attackSound.m_volumeMin = 1.0;
attackStruct.m_attackSound.m_volumeMax = 1.0;
attackStruct.m_attackSound.m_pitchMin = 0.95;
attackStruct.m_attackSound.m_pitchMax = 1.05;
attackStruct.m_enemyAttack = 53;
attackStruct.m_attackAnim = 2;
attackStruct.m_extraAttackAnim = 255;
attackStruct.m_canBeCancelled = true;
attackStruct.m_lineOfSight = true;
attackStruct.m_attacksLeftCancel = 1;
attackStruct.m_attackBeamTime = 0.0;
attackStruct.m_attackBeamTimer = 0.0;
attackStruct.m_genProjDamage = 10;
attackStruct.m_genProjRecoil = 1.0;
attackStruct.m_genProjAmount = 1;
attackStruct.m_genProjZOffset = 0.0;
attackStruct.m_genProjVel = 45.0;
attackStruct.m_genProjSpoken = false;
attacks.Push(attackStruct);
attackStruct.m_attackAmount = 1;
attackStruct.m_originalAttackAmount = 1;
attackStruct.m_distancePriority = false;
attackStruct.m_pauseTimerAfter = 0.1;
attackStruct.m_reuseTimer = 10.0;
attackStruct.m_reuseTimerOriginal = 10.0;
attackStruct.m_attackRange = 99999.0 * cubeSize;
attackStruct.m_attackDelay = 0.0;
attackStruct.m_attackDelayAfterInitial = 0.0;
attackStruct.m_attackSound.m_sound = 350;
attackStruct.m_attackSound.m_volumeMin = 0.0;
attackStruct.m_attackSound.m_volumeMax = 0.0;
attackStruct.m_attackSound.m_pitchMin = 1.5;
attackStruct.m_attackSound.m_pitchMax = 1.55;
attackStruct.m_enemyAttack = 54;
attackStruct.m_attackAnim = 2;
attackStruct.m_extraAttackAnim = 255;
attackStruct.m_canBeCancelled = false;
attackStruct.m_lineOfSight = false;
attackStruct.m_attacksLeftCancel = 1;
attackStruct.m_attackBeamTime = 0.0;
attackStruct.m_attackBeamTimer = 0.0;
attacks.Push(attackStruct);
// KUNAII;
attackStruct.m_attackAmount = 2;
attackStruct.m_originalAttackAmount = 2;
attackStruct.m_distancePriority = false;
attackStruct.m_pauseTimerAfter = 0.1;
attackStruct.m_reuseTimer = 1.0;
attackStruct.m_reuseTimerOriginal = 1.0;
attackStruct.m_attackRange = 10.0 * cubeSize;
attackStruct.m_attackDelay = 0.25;
attackStruct.m_attackDelayAfterInitial = 0.2;
attackStruct.m_attackSound.m_sound = 240;
attackStruct.m_attackSound.m_volumeMin = 1.0;
attackStruct.m_attackSound.m_volumeMax = 1.0;
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 = 7;
attackStruct.m_canBeCancelled = true;
attackStruct.m_lineOfSight = true;
attackStruct.m_attacksLeftCancel = 1;
attackStruct.m_attackBeamTime = 0.0;
attackStruct.m_attackBeamTimer = 0.0;
attackStruct.m_genProjDamage = 5;
attackStruct.m_genProjRecoil = 3.0;
attackStruct.m_genProjAmount = 1;
attackStruct.m_genProjType = 1122;
attackStruct.m_genProjZOffset = 0.0;
attackStruct.m_genProjVel = 7000.0;
attackStruct.m_genProjPitch = 3.0;
attackStruct.m_genProjSpoken = false;
attacks.Push(attackStruct);

yellTime = 0.3;
runSpeed = 1250.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 = 817;
yellSound.m_sound = 818;
painSound.m_sound = 819;
dieSound.m_sound = 820;
forcedEscapeRange = -8.0 * cubeSize;
dodgeChance = 0.375;
teleportDodge = true;