Newer
Older
BlackoutServerNode / cut.js
@Mark Mark on 2 Feb 2020 875 bytes Spawn more viruses
class CutHandler
{
	constructor(room, item)
	{
		this.room = room;
		this.item = item;
		this.nextSpawnTime = 4;
		this.virusRemaining = 20;
	}
	start()
	{
		this.spawnTimeout = setTimeout(this.spawn.bind(this), this.nextSpawnTime * 1000);
	}
	spawn()
	{
		const range = 1.2;
		const offX = Math.random() * range - range * 0.5;
		const offZ = Math.random() * range - range * 0.5;
		this.room.spawnItem(this.room.getNextPlayerOwner(), 'virus', {x:this.item.details.x+offX,y:this.item.details.y,z:this.item.details.z+offZ});
		console.log("Spawning virus");

		this.virusRemaining--;

		if (this.virusRemaining > 0)
		{
			this.nextSpawnTime = Math.max(1, this.nextSpawnTime - 0.1);
			this.spawnTimeout = setTimeout(this.spawn.bind(this), this.nextSpawnTime * 1000);
		}
	}
	stop()
	{
		clearTimeout(this.spawnTimeout);
	}
	itemUpdated()
	{
	}
}

module.exports = CutHandler;