// Update is called once per frame void Update() { if (spell == CurrentSpell.Fireball) { var obj = Instantiate(fireball, headCamera.transform.position + new Vector3(headCamera.transform.forward.x, 0, headCamera.transform.forward.z) * fireballOffset, Quaternion.Euler(headCamera.transform.eulerAngles)); spell = CurrentSpell.None; } if (spell == CurrentSpell.LightningBolt) { var obj = Instantiate(lightningBolt, headCamera.transform.position + new Vector3(headCamera.transform.forward.x, 0, headCamera.transform.forward.z) * lightningBoltOffset, Quaternion.Euler(headCamera.transform.eulerAngles)); spell = CurrentSpell.None; } if (spell == CurrentSpell.MiniWard) { var obj = Instantiate(miniWard, headCamera.transform.position + new Vector3(headCamera.transform.forward.x, 0, headCamera.transform.forward.z) * lightningBoltOffset, Quaternion.Euler(headCamera.transform.eulerAngles)); spell = CurrentSpell.None; } if (spell == CurrentSpell.AirBlast) { var obj = Instantiate(airBlast, headCamera.transform.position + new Vector3(headCamera.transform.forward.x, 0, headCamera.transform.forward.z) * lightningBoltOffset, Quaternion.Euler(Quaternion.identity.x, headCamera.transform.eulerAngles.y, Quaternion.identity.z)); spell = CurrentSpell.None; } if (canLevitate) { this.GetComponent <NewLevitate>().enabled = true; } else { this.GetComponent <NewLevitate>().enabled = false; } }
public override void OnBodiesSelected(List <Body> bodies, InputManager.MouseButton button) { if (CurrentSpell != null && CurrentSpell.Mode == Spell.SpellMode.SelectEntities) { CurrentSpell.OnEntitiesSelected(MagicMenu.SpellTree.Tree, bodies); } }
private void CastSpell(ISpellGesture gesture) { //If attempting to cast and CurrentSpell isn't activated, activate //Otherwise, adjust if (gesture.IsCast && !CurrentSpell.IsActive) { bool success = CurrentSpell.Activate(); //Failed to activate spell, so return to Adjust state. if (!success) { State = SpellCastingState.Adjust; return; } //If the spell isn't channeled, prepare to cast a new spell if (success && !CurrentSpell.IsChanneled) { CurrentSpell = null; SpellElement = SpellElement.None; SpellTier = SpellTier.None; State = SpellCastingState.Select; } else { StartCoroutine(MonitorChanneledSpell()); } } else { AdjustSpell(gesture); } }
public void UltimaImpact_Callback(Point3D impactloc) { CurrentSpell.Clear(); var queue = new EffectQueue(); queue.Deferred = true; BaseExplodeEffect e = ExplodeFX.Smoke.CreateInstance( impactloc, Map, 8, 0, TimeSpan.FromMilliseconds(1000 - ((10) * 100)), null, () => { foreach (Mobile mobile in AcquireAllTargets(impactloc, 8)) { if (mobile is PlayerMobile) { mobile.Damage(UltimaDamage, this); } else { mobile.Damage(UltimaPetDamage, this); } } }); e.Send(); queue.Process(); CantWalk = false; }
public override void OnVoxelsSelected(List <Voxel> voxels, InputManager.MouseButton button) { if (CurrentSpell != null && (CurrentSpell.Mode == Spell.SpellMode.SelectFilledVoxels || CurrentSpell.Mode == Spell.SpellMode.SelectEmptyVoxels)) { CurrentSpell.OnVoxelsSelected(MagicMenu.SpellTree.Tree, voxels); } }
public override void Update(DwarfGame game, DwarfTime time) { Player.BodySelector.Enabled = false; Player.VoxSelector.Enabled = false; if (Player.IsCameraRotationModeActive()) { Player.VoxSelector.Enabled = false; Player.World.SetMouse(null); Player.BodySelector.Enabled = false; return; } else { Player.World.SetMouse(Player.World.MousePointer); } if (CurrentSpell != null) { CurrentSpell.Update(time, Player.VoxSelector, Player.BodySelector); } if (Player.World.IsMouseOverGui) { Player.World.SetMouse(Player.World.MousePointer); } else { Player.World.SetMouse(new Gum.MousePointer("mouse", 1, 8)); } }
public override void OnThink() { base.OnThink(); DateTime now = DateTime.UtcNow; if (!this.InCombat()) { return; } if (now > _NextCast) { _NextCast = now + CastInterval; if (CurrentSpell == null) { CurrentSpell = new List <Timer>(); } if (now > _NextShadowStep) { _NextShadowStep = now + ShadowStepInterval; CurrentSpell.Clear(); HideEffect(); CantWalk = true; Hidden = true; Blessed = true; Combatant = null; CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(1), BackStab_Callback)); } } }
public override void Render(DwarfGame game, GraphicsDevice graphics, DwarfTime time) { if (CurrentSpell != null) { CurrentSpell.Render(time); } }
public override void OnThink() { base.OnThink(); DateTime now = DateTime.UtcNow; if (!this.InCombat()) { return; } if (now > _NextCast) { _NextCast = now + CastInterval; if (CurrentSpell == null) { CurrentSpell = new List <Timer>(); } if (now > _NextShadowStep) { _NextShadowStep = now + ShadowStepInterval; CurrentSpell.Clear(); CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(1), Throw_Poop)); } } }
public override void OnThink() { base.OnThink(); DateTime now = DateTime.UtcNow; if (!this.InCombat()) { return; } if (now > _NextCast) { _NextCast = now + CastInterval; if (CurrentSpell == null) { CurrentSpell = new List <Timer>(); } if (now > _NextShadowStep && CurrentSpell.Count == 0) { _NextShadowStep = now + ShadowStepInterval; CurrentSpell.Clear(); HideEffect(); CantWalk = true; Hidden = true; Blessed = true; Combatant = null; CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(1), BackStab_Callback)); } else if (now > _NextUltima && CurrentSpell.Count == 0) { _NextUltima = now + UltimaInterval; CurrentSpell.Clear(); CantWalk = true; Combatant = null; Say("*Begins to cast Ultima*"); AnimateSpell(); CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(2), Ultima_Callback)); } else if (now > _NextMirrorImage && CurrentSpell.Count == 0) { _NextMirrorImage = now + MirrorImageInterval; CurrentSpell.Clear(); CantWalk = true; Combatant = null; Say("*Begins to cast Mirror Image*"); AnimateSpell(); CurrentSpell.Add(Timer.DelayCall(TimeSpan.FromSeconds(2), MirrorImage_Callback)); } } }
internal CurrentSpell GetExecution(Player warrior) { var spell = new CurrentSpell(); spell.Execution = true; return(spell); }
internal CurrentSpell TurnOnCrit(Player warrior) { var spell = new CurrentSpell(); spell.Name = "critical"; return(spell); }
internal CurrentSpell Incineration(Player mage) { var spell = new CurrentSpell(); spell.Execution = true; return(spell); }
public CurrentSpell GetArmorUp(Player warrior) { var spell = new CurrentSpell(); spell.Name = "armorup"; spell.GetArmor = 200; return(spell); }
internal CurrentSpell GetSlash(Player warrior) { var spell = new CurrentSpell(); spell.Name = "BLADE SLASH"; spell.Damage = warrior.Damage * 2; return(spell); }
internal CurrentSpell GetShieldSlam(Player warrior) { var spell = new CurrentSpell(); spell.Name = "SHIELD SLAM"; spell.Damage = warrior.Armor; return(spell); }
public CurrentSpell GetArcaneBlast(Player mage) { var spell = new CurrentSpell(); spell.Name = "ARCANE BLAST"; spell.Damage = mage.Spellpower * 3; spell.ManaCost = 90; return(spell); }
internal CurrentSpell GetHit(Player warrior) { var spell = new CurrentSpell(); spell.Name = "AXE CHOP"; spell.Damage = 2 * warrior.Damage; return(spell); }
internal CurrentSpell GetMaceSwing(Player warrior) { var spell = new CurrentSpell(); spell.Name = "MACE SWING"; spell.Damage = warrior.Damage * 1.5; return(spell); }
internal CurrentSpell GetWindFury(Player warrior) { var spell = new CurrentSpell(); spell.Name = "WINDFURY"; spell.Damage = warrior.Damage * 5; spell.Cooldown = 4; return(spell); }
internal CurrentSpell GetWildAxes(Player warrior) { var spell = new CurrentSpell(); spell.Name = "WILD AXES"; spell.Damage = warrior.Damage * 4; spell.Cooldown = 3; return(spell); }
public CurrentSpell GetFireBlast(Player mage) { var spell = new CurrentSpell(); spell.Name = "FIRE BLAST"; spell.Damage = mage.Spellpower * 2; spell.ManaCost = 120; return(spell); }
public CurrentSpell GetPolymorph(Player mage) { var spell = new CurrentSpell(); spell.Name = "polymorph"; spell.ManaCost = 100; spell.Cooldown = 4; return(spell); }
public CurrentSpell GetManaReg(Player mage) { var spell = new CurrentSpell(); spell.Name = "manaregeneration"; spell.GetMana = 300; spell.Cooldown = 3; return(spell); }
internal CurrentSpell GetHibernate(Player warrior) { var spell = new CurrentSpell(); spell.Name = "hibernate"; spell.GetHP = warrior.HealthRegen * 4; spell.Cooldown = 3; return(spell); }
internal CurrentSpell GetMirrorImage(Player warrior) { var spell = new CurrentSpell(); spell.Name = "mirrorimage"; spell.Damage = warrior.Damage; spell.Cooldown = 3; return(spell); }
internal CurrentSpell GetFrozenGround(Player mage) { var spell = new CurrentSpell(); spell.Name = "frozenground"; spell.Damage = mage.Spellpower; spell.ManaCost = 150; spell.Cooldown = 4; return(spell); }
public CurrentSpell GetPyroBlast(Player mage) { var currentSpell = new CurrentSpell(); currentSpell.Name = "PYRO BLAST"; currentSpell.Damage = mage.Spellpower * 5; currentSpell.Cooldown = 4; currentSpell.ManaCost = 250; return(currentSpell); }
internal CurrentSpell GetFrostBolt(Player mage) { var spell = new CurrentSpell(); spell.Name = "FROST BOLT"; spell.FrostArmor = true; spell.Damage = mage.Spellpower * 2; spell.ManaCost = 150; return(spell); }
public void MirrorImage_Callback() { HideEffect(); Hidden = true; CantWalk = true; Blessed = true; var mob1 = new LockeColeMirrorImage(); var mob2 = new LockeColeMirrorImage(); var mob3 = new LockeColeMirrorImage(); mob1.Hidden = true; mob1.CantWalk = true; mob1.Blessed = true; mob2.Hidden = true; mob2.CantWalk = true; mob2.Blessed = true; mob3.Hidden = true; mob3.CantWalk = true; mob3.Blessed = true; SetHits(Hits); Timer.DelayCall(TimeSpan.FromSeconds(2), () => { mob1.MoveToWorld(Location, Map); mob2.MoveToWorld(Location, Map); mob3.MoveToWorld(Location, Map); mob1.SetHits(MirrorImageHealth); mob2.SetHits(MirrorImageHealth); mob3.SetHits(MirrorImageHealth); HideEffect(); mob1.HideEffect(); mob2.HideEffect(); mob3.HideEffect(); Hidden = false; CantWalk = false; Blessed = false; mob1.Hidden = false; mob1.CantWalk = false; mob1.Blessed = false; mob2.Hidden = false; mob2.CantWalk = false; mob2.Blessed = false; mob3.Hidden = false; mob3.CantWalk = false; mob3.Blessed = false; CurrentSpell.Clear(); }); }