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;
}
Exemple #4
0
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);
}