diff --git a/core/src/ru/deadsoftware/cavedroid/game/mobs/Pig.kt b/core/src/ru/deadsoftware/cavedroid/game/mobs/Pig.kt
index a9295464e43cd7c0b03d5c9a9f2a54077f022815..68c457ee05887ee81521ac93bffe0740e8e84688 100644 (file)
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.math.MathUtils
import com.badlogic.gdx.math.Vector2
+import ru.deadsoftware.cavedroid.game.GameItemsHolder
import ru.deadsoftware.cavedroid.game.world.GameWorld
import ru.deadsoftware.cavedroid.misc.utils.drawSprite
import ru.deadsoftware.cavedroid.misc.utils.mobs.MobSprites.Pig.getBackgroundLeg
import ru.deadsoftware.cavedroid.misc.utils.mobs.MobSprites.Pig.getLegsRelativeY
import ru.deadsoftware.cavedroid.misc.utils.mobs.MobSprites.Pig.getRightLegRelativeX
-class Pig(x: Float, y: Float) : Mob(x, y, WIDTH, HEIGHT, randomDir(), Type.MOB) {
+class Pig(x: Float, y: Float) : Mob(x, y, WIDTH, HEIGHT, randomDir(), Type.MOB, MAX_HEALTH) {
override fun getSpeed(): Float {
return SPEED
override fun jump() {
velocity.y = JUMP_VELOCITY
}
-
- override fun ai(world: GameWorld, delta: Float) {
+
+ override fun damage(damage: Int) {
+ super.damage(damage)
+
+ if (damage > 0) {
+ if (canJump()) {
+ jump()
+ }
+ }
+ }
+
+ override fun ai(world: GameWorld, gameItemsHolder: GameItemsHolder, mobsController: MobsController, delta: Float) {
if (MathUtils.randomBoolean(delta)) {
if (velocity.x != 0f) {
velocity.x = 0f
val rightLegX = x + getRightLegRelativeX(direction)
val legY = y + getLegsRelativeY()
- spriteBatch.drawSprite(getBackgroundLeg(), leftLegX, legY, -anim)
- spriteBatch.drawSprite(getBackgroundLeg(), rightLegX, legY, -anim)
- spriteBatch.drawSprite(getBody(direction), x, y)
- spriteBatch.drawSprite(getForegroundLeg(), leftLegX, legY, anim)
- spriteBatch.drawSprite(getForegroundLeg(), rightLegX, legY, anim)
+ spriteBatch.drawSprite(getBackgroundLeg(), leftLegX, legY, -anim, tint = tintColor)
+ spriteBatch.drawSprite(getBackgroundLeg(), rightLegX, legY, -anim, tint = tintColor)
+ spriteBatch.drawSprite(getBody(direction), x, y, tint = tintColor)
+ spriteBatch.drawSprite(getForegroundLeg(), leftLegX, legY, anim, tint = tintColor)
+ spriteBatch.drawSprite(getForegroundLeg(), rightLegX, legY, anim, tint = tintColor)
}
private companion object {
private const val WIDTH = 25f
private const val HEIGHT = 18f
- private const val SPEED = 69.072f
+ private const val SPEED = 48f
private const val JUMP_VELOCITY = -133.332f
+ private const val MAX_HEALTH = 10
}
}
\ No newline at end of file