EnemyZombiePrisoner::EnemyZombiePrisoner(Level *curLevel) { SetRenderOffset(enemy_prisoner_zombie_render_offset); SetCurLife(enemy_prisoner_zombie_cur_life); SetNumLifeBars((int)(enemy_prisoner_zombie_cur_life * .2f + 1)); SetDamageTimer(.25); SetWeaponDamage(3); level_class = curLevel; ipFlags.S_ATTACK = true; SetMaxWalkVelocity(static_cast<float>(rand()%30 + 30)); rectDX = 15; rectDY = 45; rectXOffset = -nxOffSet; rectYOffset = -15; }
EnemyDockWorkerWrench::EnemyDockWorkerWrench(Level *curLevel) { InitEnemy(base_enemy_type_2, base_x_velocity, base_y_velocity, 0, .15f, 0, true); level_class = curLevel; SetRenderOffset(10); SetMaxWalkVelocity(WALK_FAST); rectDX = 15; rectDY = 45; rectXOffset = -nOffSet; rectYOffset = 3; }
EnemyJunkbotFlying::EnemyJunkbotFlying(Level *curLevel) { InitEnemy(base_enemy_type_2, base_x_velocity, base_y_velocity, 0, .5, 0, true); SetMaxWalkVelocity(45); level_class = curLevel; SetRenderOffset(0); ipFlags.S_NO_GRAVITY = true; rectDX = 35; rectDY = 15; rectXOffset = -nOffSet-25; rectYOffset = -10; }
void Enemy::InitEnemy(int nHitPoints, int nMaxXVelocity, int nMaxYVelocity, float nMaxXAcceleration, float nRecoveryTime, int nPointValue, bool bRenderHBar) { SetWeaponDamage(0); SetCurLife(nHitPoints); SetNumLifeBars(static_cast<int>(nHitPoints * .20)); if(GetNumLifeBars() <= 0) SetNumLifeBars(1); SetWalkAcceleration(nMaxXAcceleration); SetMaxWalkVelocity(static_cast<float>(nMaxXVelocity)); // SetMaxJumpVelocity(nMaxYVelocity); SetDamageTimer(nRecoveryTime); SetEnergyLevel(0); SetExtraLives(0); // SetMaxClimbVelocity(0); SetRenderHealthBar(bRenderHBar); }