protected override void InitEffects() { int rocketBlastRadius = 3; base.InitEffects(); AttackData rocketProjectileAttack = new AttackData(); rocketProjectileAttack.Type = AttackType.PHYSICAL; rocketProjectileAttack.Element = ElementType.NONE; AttackData rocketBlastAttack = new AttackData(); rocketProjectileAttack.Type = AttackType.BLAST; rocketProjectileAttack.Element = ElementType.NONE; DamageData dmg = new DamageData(); dmg.Magnitude = 6; dmg.DmgAttackType = AttackType.BLAST; dmg.DmgElement = ElementType.NONE; dmg.DamagesWalls = true; Effects.Add(new Effect_WriteText("The quazax rocketeer fires a rocket!")); Effect_GenericProjectile rocketProjectile = new Effect_GenericProjectile(rocketProjectileAttack); Effect_Blast rocketBlast = new Effect_Blast(rocketBlastAttack, rocketBlastRadius); rocketProjectile.SetSource(_scene.GetGameObjectPool().GetActor(OwnerID).Position); rocketBlast.EffectsOnEachActor.Add(new Effect_BasicDamage(dmg)); rocketProjectile.EffectsOnStrike.Add(rocketBlast); Effects.Add(rocketProjectile); }
protected override void InitEffects() { base.InitEffects(); AttackData atk = new AttackData(); atk.Type = AttackType.BLAST; atk.Element = ElementType.NONE; DamageData dmg = new DamageData(); dmg.Magnitude = damage; dmg.DmgAttackType = AttackType.BLAST; dmg.DmgElement = ElementType.NONE; Effects.Add(new Effect_WriteText("You create a shockwave of magical force!")); Effect_Blast blastEffect = new Effect_Blast(atk, Range); blastEffect.BlastColor = new Color(libtcod.TCODColor.lighterBlue); blastEffect.ExcludedActors.Add(OwnerID); blastEffect.EffectsOnEachActor.Add(new Effect_BasicDamage(dmg)); blastEffect.SetTarget(_scene.GetGameObjectPool().GetActor(OwnerID).Position); Effects.Add(blastEffect); }
protected override void InitEffects() { int rocketScatterRadius = 5; int rocketBlastRadius = 3; base.InitEffects(); AttackData rocketProjectileAttack = new AttackData(); rocketProjectileAttack.Type = AttackType.PHYSICAL; rocketProjectileAttack.Element = ElementType.NONE; AttackData rocketBlastAttack = new AttackData(); rocketProjectileAttack.Type = AttackType.BLAST; rocketProjectileAttack.Element = ElementType.NONE; DamageData dmg = new DamageData(); dmg.Magnitude = 4; dmg.DmgAttackType = AttackType.BLAST; dmg.DmgElement = ElementType.NONE; dmg.DamagesWalls = true; Effects.Add(new Effect_WriteText("The mechanodragon fires a volley of rockets!")); Effect_PickRandomTargetsInRadius randomTargets = new Effect_PickRandomTargetsInRadius(rocketScatterRadius, 4, 4); Effect_GenericProjectile rocketProjectile = new Effect_GenericProjectile(rocketProjectileAttack); Effect_Blast rocketBlast = new Effect_Blast(rocketBlastAttack, rocketBlastRadius); rocketProjectile.SetSource(_scene.GetGameObjectPool().GetActor(OwnerID).Position); rocketBlast.EffectsOnEachActor.Add(new Effect_BasicDamage(dmg)); rocketProjectile.EffectsOnStrike.Add(rocketBlast); randomTargets.EffectsOnEachTarget.Add(rocketProjectile); Effects.Add(randomTargets); }