add skillshots

This commit is contained in:
2025-01-12 00:11:00 +09:00
parent 957b09b878
commit 51b61ab449
7 changed files with 275 additions and 30 deletions
+20
View File
@@ -0,0 +1,20 @@
import { Vector2 } from 'three'
import Projectile from './projectile.js'
export default class Ability {
static skillshot({ range, radius, speed, onCollide, after }) {
return function(x, y) {
console.log(this)
const projectile = new Projectile()
const destination = this.position.clone().add(new Vector2(x, y).sub(this.position).normalize().multiplyScalar(range))
projectile.owner = this.id
projectile.position.copy(this.position)
projectile.destination = destination
projectile.radius = radius
projectile.speed = speed
projectile.after = after
projectile.onCollide = onCollide
this.game?.spawnProjectile(projectile)
}
}
}