Tank particles use player color

This commit is contained in:
zenoamaro committed 2019-06-30 03:56:03 +02:00
1 parent ebe233c88a
commit abbe12f9ff
2 files changed
+9 -9

No files matched your search

+1 -1
View File
@@ -29,6 +29,7 @@ export const PLAYER_ENERGY_POWER_MULTIPLIER = 10;
export const PLAYER_INITIAL_POWER = 300;
export const PLAYER_FALL_DAMAGE_HEIGHT = 50;
export const PLAYER_FALL_DAMAGE_FACTOR = 3;
export const PLAYER_WEAPON_CHANGE_DELAY = 150;
export const PLAYER_EXPLOSION_PARTICLE_POWER = 500;
export const PROJECTILE_POWER_REDUCTION_FACTOR = 10;
@@ -47,7 +48,6 @@ export const PARTICLE_MIN_LIFETIME = 5;
export const PARTICLE_TIME_FACTOR = 13;
export const PARTICLE_POWER_REDUCTION_FACTOR = 15;
export const PARTICLE_WIND_REDUCTION_FACTOR = 3;
export const PLAYER_WEAPON_CHANGE_DELAY = 150;
export const PARTICLE_FADE_AMOUNT = 1;
export const MAX_EXPLOSION_SHAKE_FACTOR = 60;
+8 -8
View File
@@ -160,7 +160,8 @@ function update() {
const explosionSpec = weapon.explosion;
const explosionType = EXPLOSION_TYPES[explosionSpec.type];
explosion = explosionType.create(explosionSpec, projectile.x, projectile.y);
createParticles(projectile.x, projectile.y, projectile.p);
// @ts-ignore: canvas color hack
createParticles(projectile.x, projectile.y, projectile.p, terrain.color);
state = 'explosion';
break;
}
@@ -228,11 +229,11 @@ function update() {
const dyingPlayer = players.find(x => x.energy<=0 && !x.dead);
if (!dyingPlayer) {state = 'end-turn'; return}
const {x, y} = dyingPlayer;
const {x, y, c} = dyingPlayer;
const explosionSpec = sample(DEATH_SPECS);
const explosionType = EXPLOSION_TYPES[explosionSpec.type];
explosion = explosionType.create(explosionSpec, x, y);
createParticles(x, y, PLAYER_EXPLOSION_PARTICLE_POWER);
createParticles(x, y, PLAYER_EXPLOSION_PARTICLE_POWER, c);
dyingPlayer.dead = true;
state = 'explosion';
}
@@ -276,17 +277,16 @@ function update() {
}
}
function createParticles(x, y, p) {
function createParticles(x, y, p, c) {
for (let i = 0; i < PARTICLE_AMOUNT; i++) {
particles.push({
t: 0,
ox: x, x: x,
oy: y, y: y,
p: p * random(PARTICLE_MIN_POWER_FACTOR, PARTICLE_MAX_POWER_FACTOR),
a: randomInt(0, 359),
t: 0,
p: p * random(PARTICLE_MIN_POWER_FACTOR, PARTICLE_MAX_POWER_FACTOR),
// @ts-ignore: canvas color hack
c: terrain.color,
alpha: 255,
c, alpha: 255,
});
}
}