Game Development Reference
In-Depth Information
switch (attackType) {
case 'fire':
damage += this.getFireDamage();
break;
case 'earth':
damage += this.getEarthDamage();
break;
case 'lightning':
damage += this.getLightningDamage();
break;
default:
damage += 0;
break;
}
Along with creating the extra effects, these functions will also determine the extra damage that should be added.
Listing 14-14 shows these three damaging methods.
Listing 14-14. Enemy.js - The Magic Damage Functions Play Animations and Return Damage Values
p.getFireDamage = function () {
var weakness = this.data.weakness == 'fire' ? 5 : 0;
this.magicSprite = new createjs.Sprite(spritesheet, 'magic_fire');
this.magicSprite.y = this.enemySprite.y -
this.magicSprite.getBounds().height +
this.enemySprite.getBounds().height;
this.magicSprite.alpha = .3;
this.addChild(this.magicSprite);
createjs.Tween.get(this.magicSprite).to({alpha:1}, 100)
.to({alpha:.3}, 100)
.to({alpha:.1}, 100)
.to({alpha:.3}, 100);
return data.GameData.attackPower.fire + weakness;
}
p.getEarthDamage = function () {
var weakness = this.data.weakness == 'earth' ? 5 : 0;
this.magicSprite = new createjs.Sprite(spritesheet, 'magic_rock');
this.magicSprite.regX = this.magicSprite.getBounds().width / 2;
this.magicSprite.regY = this.magicSprite.getBounds().height / 2;
this.magicSprite.x = this.enemySprite.x +
(this.enemySprite.getBounds().width / 2);
this.magicSprite.y = -100;
this.addChild(this.magicSprite);
createjs.Tween.get(this.magicSprite).to({rotation:720, y:100}, 1000);
return data.GameData.attackPower.earth + weakness;
}
p.getLightningDamage = function () {
var weakness = this.data.weakness == 'lightning' ? 5 : 0;
this.magicSprite = new createjs.Sprite(spritesheet, 'magic_lightning');
this.magicSprite.regX = this.magicSprite.getBounds().width / 2;
this.magicSprite.regY = this.magicSprite.getBounds().height / 2;
this.magicSprite.x = this.enemySprite.x +
 
Search WWH ::




Custom Search