public virtual void Slow(Player player, Frostbolt usedFrostbolt) { if (usedFrostbolt.EntityRectangle.Intersects(npcRectangle)) { speed = speed / 2; player.FrostBolts.RemoveItem(usedFrostbolt); usedFrostbolt.Dispose(); } }
public void InstantiatePrefab(GameObject unit) { SpawnPool level_pool = PoolManager.Pools[CurrentLevel.GetCurrentLevelPoolName()]; Transform unit_entity = level_pool.Spawn(projectile, transform.position, transform.rotation); Frostbolt frostbolt = unit_entity.GetComponent <Frostbolt>(); frostbolt.target = unit; frostbolt.movement_speed = movement_speed; frostbolt.SetProjectile(area_of_effect, base_damage, damage_distance_factor); }
public Wizard(int level, GameObject characterObject) : base("Wizard", level, 100 + Application.loadedLevel * 50) { CharacterObject = characterObject; WaypointPosition = new Vector3(0.9f, 0.65f, -1.0f); Speed = 0.5f; // 100f; BasicAttack = new Frostbolt(); StrongAttack = new ArcaneBarrage(); SpecialAttack = new Meteor(); BasicDefend = new Shield(); StrongDefend = new IceBarrier(); SpecialDefend = new Dodge(); }
public void ManageEntitiesCollision(Player player, Fireball usedFireball, Frostbolt usedFrostbolt) { base.RemoveLife(player, usedFireball); base.Slow(player, usedFrostbolt); }
public Spell GetSpell(SpellId spellId) { Spell s = Spells[(int)spellId]; if (s != null) { return(s); } //Spell s = null; //if (Spells.TryGetValue((int)spellId, out s)) return s; switch (spellId) { case SpellId.ArcaneBolt: s = new ArcaneBolt(this); break; case SpellId.LightningBolt: s = new LightningBolt(this); break; case SpellId.ArcaneMissiles: s = new ArcaneMissiles(this, false); break; case SpellId.ArcaneMissilesMB: s = new ArcaneMissiles(this, true); break; case SpellId.ArcaneMissilesCC: s = new ArcaneMissilesCC(this); break; case SpellId.ArcaneMissilesNoProc: s = new ArcaneMissiles(this, false, true, false, false); break; /*case SpellId.ArcaneMissilesFTF: * s = new ArcaneMissiles(this); * break; * case SpellId.ArcaneMissilesFTT: * s = new ArcaneMissiles(this); * break;*/ case SpellId.Frostbolt: s = new Frostbolt(this); break; case SpellId.FrostboltNoCC: s = new Frostbolt(this, true, false, false); break; case SpellId.Fireball: s = new Fireball(this, false); break; case SpellId.FrostfireBolt: s = new FrostfireBolt(this, false); break; case SpellId.Pyroblast: s = new Pyroblast(this, false); break; case SpellId.FireBlast: s = new FireBlast(this); break; case SpellId.Scorch: s = new Scorch(this); break; case SpellId.ScorchNoCC: s = new Scorch(this, false); break; case SpellId.ArcaneBarrage: s = new ArcaneBarrage(this); break; case SpellId.ArcaneBlast33: s = new ArcaneBlast(this, 3, 3); break; case SpellId.ArcaneBlast33NoCC: s = new ArcaneBlast(this, 3, 3, true, false, false); break; case SpellId.ArcaneBlast00: s = new ArcaneBlast(this, 0, 0); break; case SpellId.ArcaneBlast00NoCC: s = new ArcaneBlast(this, 0, 0, true, false, false); break; case SpellId.ArcaneBlast10: s = new ArcaneBlast(this, 1, 0); break; case SpellId.ArcaneBlast01: s = new ArcaneBlast(this, 0, 1); break; case SpellId.ArcaneBlast11: s = new ArcaneBlast(this, 1, 1); break; case SpellId.ArcaneBlast11NoCC: s = new ArcaneBlast(this, 1, 1, true, false, false); break; case SpellId.ArcaneBlast22: s = new ArcaneBlast(this, 2, 2); break; case SpellId.ArcaneBlast22NoCC: s = new ArcaneBlast(this, 2, 2, true, false, false); break; case SpellId.ArcaneBlast12: s = new ArcaneBlast(this, 1, 2); break; case SpellId.ArcaneBlast23: s = new ArcaneBlast(this, 2, 3); break; case SpellId.ArcaneBlast30: s = new ArcaneBlast(this, 3, 0); break; case SpellId.ABAM: s = new ABAM(this); break; case SpellId.ABMBAM: s = new ABMBAM(this); break; case SpellId.ABABar: s = new ABABar(this); break; case SpellId.ABAMP: s = new ABAMP(this); break; case SpellId.AB3AMSc: s = new AB3AMSc(this); break; case SpellId.ABAM3Sc: s = new ABAM3Sc(this); break; case SpellId.ABAM3Sc2: s = new ABAM3Sc2(this); break; case SpellId.ABAM3FrB: s = new ABAM3FrB(this); break; case SpellId.ABAM3FrB2: s = new ABAM3FrB2(this); break; case SpellId.ABFrB: s = new ABFrB(this); break; case SpellId.AB3FrB: s = new AB3FrB(this); break; case SpellId.ABFrB3FrB: s = new ABFrB3FrB(this); break; case SpellId.ABFrB3FrB2: s = new ABFrB3FrB2(this); break; case SpellId.ABFrB3FrBSc: s = new ABFrB3FrBSc(this); break; case SpellId.ABFB3FBSc: s = new ABFB3FBSc(this); break; case SpellId.AB3Sc: s = new AB3Sc(this); break; case SpellId.FireballScorch: s = new FireballScorch(this); break; case SpellId.FireballFireBlast: s = new FireballFireBlast(this); break; case SpellId.ABAM3ScCCAM: s = new ABAM3ScCCAM(this); break; case SpellId.ABAM3Sc2CCAM: s = new ABAM3Sc2CCAM(this); break; case SpellId.ABAM3FrBCCAM: s = new ABAM3FrBCCAM(this); break; case SpellId.ABAM3FrBCCAMFail: s = new ABAM3FrBCCAMFail(this); break; case SpellId.ABAM3FrBScCCAM: s = new ABAM3FrBScCCAM(this); break; case SpellId.ABAMCCAM: s = new ABAMCCAM(this); break; case SpellId.ABAM3CCAM: s = new ABAM3CCAM(this); break; case SpellId.ArcaneExplosion: s = new ArcaneExplosion(this); break; case SpellId.FlamestrikeSpammed: s = new Flamestrike(this, true); break; case SpellId.FlamestrikeSingle: s = new Flamestrike(this, false); break; case SpellId.Blizzard: s = new Blizzard(this); break; case SpellId.BlastWave: s = new BlastWave(this); break; case SpellId.DragonsBreath: s = new DragonsBreath(this); break; case SpellId.ConeOfCold: s = new ConeOfCold(this); break; case SpellId.ArcaneBlast0POM: s = new ArcaneBlast(this, 0, 0, false, false, true); break; case SpellId.FireballPOM: s = new Fireball(this, true); break; case SpellId.FrostboltPOM: s = new Frostbolt(this, false, false, true); break; case SpellId.PyroblastPOM: s = new Pyroblast(this, true); break; case SpellId.CustomSpellMix: s = new SpellCustomMix(this); break; } if (s != null) { s.SpellId = spellId; Spells[(int)spellId] = s; } return(s); }