Add attack
This commit is contained in:
parent
a09935e768
commit
493e993e45
|
@ -132,7 +132,7 @@ export class AnimalEntity extends Entity {
|
||||||
this.actionCooldown += delta
|
this.actionCooldown += delta
|
||||||
if (this.actionCooldown >= 750 - 750 * this.mode.cdr) {
|
if (this.actionCooldown >= 750 - 750 * this.mode.cdr) {
|
||||||
if (shouldAttack) {
|
if (shouldAttack) {
|
||||||
this.attack()
|
this.attack(ctx)
|
||||||
this.actionCooldown = 0
|
this.actionCooldown = 0
|
||||||
} else if (shouldMove) {
|
} else if (shouldMove) {
|
||||||
this.stepSoundElapsed += delta
|
this.stepSoundElapsed += delta
|
||||||
|
@ -287,7 +287,7 @@ export class AnimalEntity extends Entity {
|
||||||
this.sprite.setCtor(`${this.sprite.spriteKey}.animal.${this.sprite.setKey}.${this.sprite.subsetKey}.${this.sprite.frameIndex}`)
|
this.sprite.setCtor(`${this.sprite.spriteKey}.animal.${this.sprite.setKey}.${this.sprite.subsetKey}.${this.sprite.frameIndex}`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
attack() {
|
attack(ctx: WorldContext) {
|
||||||
this.yell(1)
|
this.yell(1)
|
||||||
if (this.isMonster) {
|
if (this.isMonster) {
|
||||||
let v = 1 + Math.floor(Math.random() * 4)
|
let v = 1 + Math.floor(Math.random() * 4)
|
||||||
|
@ -297,6 +297,36 @@ export class AnimalEntity extends Entity {
|
||||||
this.sprite.setKey = 'attack'
|
this.sprite.setKey = 'attack'
|
||||||
this.sprite.frameIndex = 0
|
this.sprite.frameIndex = 0
|
||||||
this.sprite.setCtor(`${this.sprite.spriteKey}.${this.sprite.animationKey}.${this.sprite.setKey}.${this.sprite.subsetKey}.${this.sprite.frameIndex}`)
|
this.sprite.setCtor(`${this.sprite.spriteKey}.${this.sprite.animationKey}.${this.sprite.setKey}.${this.sprite.subsetKey}.${this.sprite.frameIndex}`)
|
||||||
|
|
||||||
|
// Time to get extra lame...
|
||||||
|
let c = this.getCardinal(this.direction)
|
||||||
|
|
||||||
|
if (this.body) {
|
||||||
|
let p = this.body.getPosition()
|
||||||
|
let box = [
|
||||||
|
[p.x-10, p.x+10],
|
||||||
|
[p.y-10, p.y+10]
|
||||||
|
]
|
||||||
|
if (c === 'east') {
|
||||||
|
box[0][0] += 20
|
||||||
|
box[0][1] += 20
|
||||||
|
} else if (c === 'west') {
|
||||||
|
box[0][0] -= 20
|
||||||
|
box[0][1] -= 20
|
||||||
|
} else if (c === 'north') {
|
||||||
|
box[1][0] -= 10
|
||||||
|
box[1][1] -= 10
|
||||||
|
} else {
|
||||||
|
box[1][0] += 20
|
||||||
|
box[1][1] += 20
|
||||||
|
}
|
||||||
|
|
||||||
|
let entities: AnimalEntity[] = ctx.queryEntities([box[0][0], box[1][0]], [box[0][1], box[1][1]]).filter(v=>v instanceof AnimalEntity && v !== this) as AnimalEntity[]
|
||||||
|
if (entities.length > 0) {
|
||||||
|
entities[0].dead = true
|
||||||
|
entities[0].shouldGib = true
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user