public static CheckReflect ( int circle, Mobile caster, Mobile &target ) : void | ||
circle | int | |
caster | Mobile | |
target | Mobile | |
Результат | void |
public void Target(Mobile m) { if (CheckHSequence(m)) { SpellHelper.Turn(Caster, m); SpellHelper.CheckReflect((int)this.Circle, Caster, ref m); /* Temporarily chokes off the air suply of the target with poisonous fumes. * The target is inflicted with poison damage over time. * The amount of damage dealt each "hit" is based off of the caster's Spirit Speak skill and the Target's current Stamina. * The less Stamina the target has, the more damage is done by Strangle. * Duration of the effect is Spirit Speak skill level / 10 rounds, with a minimum number of 4 rounds. * The first round of damage is dealt after 5 seconds, and every next round after that comes 1 second sooner than the one before, until there is only 1 second between rounds. * The base damage of the effect lies between (Spirit Speak skill level / 10) - 2 and (Spirit Speak skill level / 10) + 1. * Base damage is multiplied by the following formula: (3 - (target's current Stamina / target's maximum Stamina) * 2). * Example: * For a target at full Stamina the damage multiplier is 1, * for a target at 50% Stamina the damage multiplier is 2 and * for a target at 20% Stamina the damage multiplier is 2.6 */ m.PlaySound(0x22F); Effects.SendTargetParticles(m, 0x36CB, 1, 9, 9911, 67, 5, EffectLayer.Head); Effects.SendTargetParticles(m, 0x374A, 1, 17, 9502, 1108, 4, (EffectLayer)255); if (m is PlayerMobile) { PlayerMobile pm = Caster as PlayerMobile; double duration = 10.0; //((PlayerMobile)m).Aphonier(TimeSpan.FromSeconds(duration)); } m.Stam = (int)(m.Stam * 0.15); } FinishSequence(); }
public void Target(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (CheckHSequence(m)) { Mobile source = Caster; SpellHelper.Turn(source, m); SpellHelper.CheckReflect((int)this.Circle, ref source, ref m); Effects.SendMovingParticles(source, m, 0x36E4, 5, 0, false, true, 3006, 4006, 0); source.PlaySound(0x1E5); Damage.instance.AppliquerDegatsMagiques(m, Damage.instance.RandDegatsMagiques(Caster, Info.skillForCasting, Info.Circle, Info.castTime)); } FinishSequence(); }
public void Target(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (CheckHSequence(m)) { SpellHelper.Turn(Caster, m); SpellHelper.CheckReflect((int)this.Circle, Caster, ref m); //double damage = GetNewAosDamage(8, 1, 3, true); ; Effects.SendTargetParticles(m, 0x374A, 10, 15, 5013, EffectLayer.Waist); m.PlaySound(0x1F1); //SpellHelper.Damage(this, m, damage, 0, 0, 100, 0, 0); } FinishSequence(); }
public void Target(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (CheckHSequence(m)) { SpellHelper.Turn(Caster, m); Disturb(m); SpellHelper.CheckReflect((int)this.Circle, Caster, ref m); //int damage = GetNewAosDamage(12, 1, 5, true); if (m == null || m.Deleted || !m.Alive) { return; } if (Caster == null || Caster.Deleted || !Caster.Alive) { return; } if (m.Spell != null) { m.Spell.OnCasterHurt(); } Effects.SendMovingEffect(Caster, m, 0x1BFE, 7, 1, false, false, 1043, 0); Caster.PlaySound(903); //SpellHelper.Damage(TimeSpan.Zero, m, Caster, damage, 0, 0, 0, 0, 100); } FinishSequence(); }
public void Target(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (CheckHSequence(m)) { Container ourPack = Caster.Backpack; if (ourPack != null) { if (ourPack.GetAmount(typeof(Bone)) > 0) { ourPack.ConsumeTotal(typeof(Bone), 1); SpellHelper.Turn(Caster, m); Disturb(m); SpellHelper.CheckReflect((int)this.Circle, Caster, ref m); //double damage = GetNewAosDamage(15, 1, 6, true); //SpellHelper.Damage(TimeSpan.Zero, m, Caster, damage, 0, 0, 0, 0, 100); Effects.SendMovingParticles(Caster, m, 0x36D4, 7, 0, false, false, 2056, 0, 3006, 4006, 0, 0); Caster.PlaySound(903); } else { Caster.SendMessage(0, "Vous avez besoin d'os pour lancer ce sort."); } } } FinishSequence(); }
public void Target(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (CheckHSequence(m)) { SpellHelper.Turn(Caster, m); SpellHelper.CheckReflect((int)this.Circle, Caster, ref m); Effects.SendTargetParticles(m, 0x36BD, 20, 10, 5044, EffectLayer.Head); m.PlaySound(0x307); Damage.instance.AppliquerDegatsMagiques(m, Damage.instance.RandDegatsMagiques(Caster, Info.skillForCasting, Info.Circle, Info.castTime)); Effects.SendMovingParticles(m, m, 0x379F, 7, 0, false, true, 3043, 4043, 0x211); m.PlaySound(0x20A); } FinishSequence(); }
public void Target(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (Caster.AccessLevel < m.AccessLevel) { Caster.SendMessage("Vous ne pouvez pas cibler cette personne !"); } else if (CheckSequence()) { SpellHelper.Turn(Caster, m); SpellHelper.CheckReflect((int)this.Circle, Caster, ref m); // Caster.SendMessage(334, "Fatigue de " + m.Name); // // if (m is PlayerMobile) // Caster.SendMessage(334, ((PlayerMobile)m).Fatigue.ToString()); // else // Caster.SendMessage(m.Stam.ToString() + " / " + m.StamMax.ToString()); //Caster.SendMessage("Points de vie : " + m.Hits + " / " + m.HitsMax); //Caster.SendMessage("Mana : " + m.Mana + " / " + m.ManaMax); //Caster.SendMessage("Stamina : " + m.Stam + " / " + m.StamMax); //Caster.SendMessage("Force : " + m.Str); //Caster.SendMessage("Intelligence : " + m.Int); //Caster.SendMessage("Dextérité : " + m.Dex); Effects.SendTargetParticles(m, 14265, 10, 15, 5013, 2042, 0, EffectLayer.CenterFeet); //ID, speed, dura, effect, hue, render, layer m.PlaySound(509); } FinishSequence(); }
public void Target(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (m.Blessed) { Caster.SendMessage("Vous ne pouvez pas copier des créatures invulnérables !"); } else if (CheckSequence()) { SpellHelper.Turn(Caster, m); SpellHelper.CheckReflect((int)this.Circle, Caster, ref m); ToogleFetichisme(this, Caster, m); Effects.SendTargetParticles(m, 0x374A, 10, 15, 5013, EffectLayer.Waist); m.PlaySound(0x1F1); } FinishSequence(); }
public void Target(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (CheckHSequence(m)) { Mobile source = Caster; SpellHelper.Turn(source, m); SpellHelper.CheckReflect((int)this.Circle, ref source, ref m); //double damage = GetNewAosDamage(2, 1, 2, true); ; Effects.SendMovingParticles(source, m, 0x36E4, 5, 0, false, true, 3006, 4006, 0); source.PlaySound(0x1E5); //SpellHelper.Damage(this, m, damage, 0, 100, 0, 0, 0); } FinishSequence(); }
public static void ToogleCurse(Spell spell, Mobile Caster, Mobile m) { SpellHelper.Turn(Caster, m); SpellHelper.CheckReflect((int)spell.Circle, Caster, ref m); SpellHelper.AddStatCurse(Caster, m, StatType.Str, TimeSpan.FromSeconds(0)); SpellHelper.DisableSkillCheck = true; SpellHelper.AddStatCurse(Caster, m, StatType.Dex, TimeSpan.FromSeconds(0)); SpellHelper.AddStatCurse(Caster, m, StatType.Int, TimeSpan.FromSeconds(0)); SpellHelper.DisableSkillCheck = false; TimeSpan duration = TimeSpan.FromSeconds(0); new MaledictionSpell.InternalTimer(m, duration).Start(); if (m.Spell != null) { m.Spell.OnCasterHurt(); } m.Paralyzed = false; Effects.SendTargetParticles(m, 0x374A, 10, 15, 5028, EffectLayer.Waist); m.PlaySound(0x1EA); }
public void Target(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (CheckHSequence(m)) { SpellHelper.Turn(Caster, m); SpellHelper.CheckReflect((int)this.Circle, Caster, ref m); if (m.Spell != null) { m.Spell.OnCasterHurt(); } m.Paralyzed = false; /*if (CheckResisted(m)) * { * m.SendLocalizedMessage(501783); // You feel yourself resisting magical energy. * } * else * {*/ int level; double total = Caster.Skills[SkillName.Animisme].Value; // +Caster.Skills[SkillName.Empoisonner].Value; //double dist = Caster.GetDistanceToSqrt(m); //if (dist >= 3.0) // total -= (dist - 3.0) * 10.0; if (total >= 90.0) { level = 3; } else if (total > 70.0) { level = 2; } else if (total > 45.0) { level = 1; } else { level = 0; } if (level > 0 && CheckResisted(m)) { level = 0; m.SendLocalizedMessage(501783); // You feel yourself resisting magical energy. } m.ApplyPoison(Caster, Poison.GetPoison(level)); //} Effects.SendTargetParticles(m, 0x374A, 10, 15, 5021, EffectLayer.Waist); m.PlaySound(0x474); } FinishSequence(); }
public void Target(Mobile m) { if (CheckHSequence(m)) { SpellHelper.Turn(Caster, m); Disturb(m); SpellHelper.CheckReflect((int)this.Circle, Caster, ref m); Effects.SendLocationParticles(EffectItem.Create(m.Location, m.Map, EffectItem.DefaultDuration), 0x36B0, 1, 14, 63, 7, 9915, 0); Effects.PlaySound(m.Location, m.Map, 0x229); //double damage = GetNewAosDamage(7, 1, 3, false); int level; double total = (Caster.Skills[SkillName.ArtMagique].Value + Caster.Skills[SkillName.Empoisonnement].Value); if (total >= 200.0 && 3 > Utility.Random(10)) { level = 2; } else if (total > 140.0) { level = 1; } else { level = 0; } m.ApplyPoison(Caster, Poison.GetPoison(level)); //SpellHelper.Damage(this, m, damage, 0, 0, 0, 0, 100); Map map = m.Map; if (map != null) { ArrayList targets = new ArrayList(); foreach (Mobile targ in m.GetMobilesInRange(2)) { if ((Caster != targ && m != targ && SpellHelper.ValidIndirectTarget(Caster, targ)) && Caster.CanBeHarmful(targ, false) && !(Caster.Party == targ.Party)) { targets.Add(targ); } } for (int i = 0; i < targets.Count; ++i) { Mobile targ = (Mobile)targets[i]; //SpellHelper.Damage(this, targ, damage * 0.33, 0, 0, 0, 0, 100); Effects.SendTargetParticles(m, 0x374A, 10, 15, 5021, EffectLayer.Waist); m.PlaySound(0x474); } } } FinishSequence(); }