public void OnTarget(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (Caster == m) { Caster.SendMessage("You cannot target yourself!"); } else if (BardSpell.HasHarmfulEffects(m, this.GetType())) { Caster.SendLocalizedMessage(1115772); //Your target is already under the effect of this spellsong. } else if (CheckHSequence(m)) { SpellHelper.Turn(Caster, m); Target = m; //Caster.SendLocalizedMessage(1234567); //TODO: Message? HarmfulSpell(m); m.FixedParticles(0x374A, 10, 15, 5028, EffectLayer.Waist); m_PropertyBonus = (int)Math.Max(5, ((BaseSkillBonus * 23) + (CollectiveBonus * 8))) * -1; m_DamageChance = Math.Max(20.0, (Caster.Skills[DamageSkill].Value / 2.0)) / 100; m_SlayerBonus = 1; string args = String.Format("{0}\t{1}\t{2}", m_PropertyBonus, m_PropertyBonus, (int)(m_DamageChance * 100)); BuffInfo.AddBuff(m, new BuffInfo(BuffIcon.TribulationTarget, 1115740, 1115743, args.ToString())); BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.TribulationCaster, 1115740, 1115742, args.ToString())); ISlayer slayer = Instrument as ISlayer; if (slayer != null) { SlayerEntry se1 = SlayerGroup.GetEntryByName(slayer.Slayer); SlayerEntry se2 = SlayerGroup.GetEntryByName(slayer.Slayer2); if ((se1 != null && se1.Slays(Target)) || (se2 != null && se2.Slays(Target))) { m_SlayerBonus = 1.5; } } BeginTimer(); } FinishSequence(); }
public void OnTarget(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (!m.Alive) { Caster.SendLocalizedMessage(1115773); // Your target is dead. } else if (Caster == m) { // TODO: Message? } else if (BardSpell.HasHarmfulEffects(m, GetType())) { Caster.SendLocalizedMessage(1115772); //Your target is already under the effect of this spellsong. } else if (CheckHSequence(m)) { SpellHelper.Turn(Caster, m); Target = m; //Caster.SendLocalizedMessage(1234567); //TODO: Message? HarmfulSpell(m); m.FixedParticles(0x374A, 10, 15, 5028, EffectLayer.Waist); int rounds = 5 + (int)(BaseSkillBonus * .75); m_StatMod = (int)((BaseSkillBonus * 2) + CollectiveBonus); m_Damage = (int)((BaseSkillBonus * 4.5) + (CollectiveBonus * 2)); m_Rounds = 5 + (int)((BaseSkillBonus * .75) + (CollectiveBonus / 2)); string args = String.Format("{0}\t{1}", m_StatMod, m_Damage); BuffInfo.AddBuff(m, new BuffInfo(BuffIcon.DespairTarget, 1115741, 1115743, args.ToString())); BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.DespairCaster, 1115741, 1115743, args.ToString())); BeginTimer(); } FinishSequence(); }
public void OnTarget(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (Caster == m) { Caster.SendMessage("You cannot target yourself!"); } else if (BardSpell.HasHarmfulEffects(m, GetType())) { Caster.SendLocalizedMessage(1115772); //Your target is already under the effect of this spellsong. } else if (CheckHSequence(m)) { SpellHelper.Turn(Caster, m); Target = m; HarmfulSpell(m); m.FixedParticles(0x374A, 10, 15, 5028, EffectLayer.Waist); double cast = Caster.Skills[CastSkill].Value; double dam = Caster.Skills[DamageSkill].Value; m_PropertyBonus = (int)((BaseSkillBonus * 2.75) + (CollectiveBonus * 1.667)); // 5 - 22 (32) m_DamageChance = (int)((BaseSkillBonus * 7.5) + (CollectiveBonus * 3)); // 15 - 60 (84) m_DamageFactor = (int)((BaseSkillBonus * 4) + (CollectiveBonus * 3)); // 8 - 32 (50) m_Rounds = 5 + (int)((BaseSkillBonus * .75) + (CollectiveBonus / 2)); // 5 - 11 (14) // ~1_HCI~% Hit Chance.<br>~2_SDI~% Spell Damage.<br>Damage taken has a ~3_EXP~% chance to cause additional burst of physical damage.<br> BuffInfo.AddBuff(m, new BuffInfo(BuffIcon.TribulationTarget, 1115740, 1115742, String.Format("{0}\t{1}\t{2}", m_PropertyBonus, m_PropertyBonus, (int)m_DamageChance))); // Target: ~1_val~ <br> Damage Factor: ~2_val~% <br> Damage Chance: ~3_val~% BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.TribulationCaster, 1115740, 1151388, String.Format("{0}\t{1}\t{2}", m.Name, m_DamageFactor, (int)m_DamageChance))); BeginTimer(); } FinishSequence(); }
public void OnTarget(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (Caster == m) { Caster.SendMessage("!You cannot target yourself."); } else if (BardSpell.HasHarmfulEffects(m, this.GetType())) { Caster.SendLocalizedMessage(1115772); //Your target is already under the effect of this spellsong. } else if (CheckHSequence(m)) { SpellHelper.Turn(Caster, m); Target = m; //Caster.SendLocalizedMessage(1234567); //TODO: Message? HarmfulSpell(m); m.FixedParticles(0x374A, 10, 15, 5028, EffectLayer.Waist); m_PropertyBonus = (int)((BaseSkillBonus * 25) + (CollectiveBonus * 8)) * -1; m_DamageChance = ((Caster.Skills[DamageSkill].Value / 5) / 100); string args = String.Format("{0}\t{1}\t{2}", m_PropertyBonus, m_PropertyBonus, (int)(m_DamageChance * 100)); BuffInfo.AddBuff(m, new BuffInfo(BuffIcon.TribulationTarget, 1115740, 1115743, args.ToString())); BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.TribulationCaster, 1115740, 1115742, args.ToString())); BeginTimer(); } FinishSequence(); }
public void OnTarget(Mobile m) { if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (Caster == m) { Caster.SendMessage("You cannot target yourself!"); } else if (BardSpell.HasHarmfulEffects(m, this.GetType())) { Caster.SendLocalizedMessage(1115772); //Your target is already under the effect of this spellsong. } else if (CheckHSequence(m)) { SpellHelper.Turn(Caster, m); Target = m; HarmfulSpell(m); m.FixedParticles(0x374A, 10, 15, 5028, EffectLayer.Waist); double cast = Caster.Skills[CastSkill].Value; double dam = Caster.Skills[DamageSkill].Value; m_Rounds = (int)(5 + ((cast - 90) * .3667) + (14 * (int)CollectiveBonus)); // 5 - 11 (14) m_PropertyBonus = (int)((5 + ((cast - 90) * .567)) + (14 * (int)CollectiveBonus)); // 5 - 22 (36) m_DamageChance = Math.Max(15, ((dam / 10) * 5)) + (24 * (int)CollectiveBonus); // 15 - 60 (84) m_DamageFactor = Math.Max(8, ((cast / 10) * 2.667)) + (18 * (int)CollectiveBonus); // 8 - 32 (50) m_SlayerBonus = 1; ISlayer slayer = Instrument as ISlayer; if (slayer != null) { SlayerEntry se1 = SlayerGroup.GetEntryByName(slayer.Slayer); SlayerEntry se2 = SlayerGroup.GetEntryByName(slayer.Slayer2); if ((se1 != null && se1.Slays(Target)) || (se2 != null && se2.Slays(Target))) { m_SlayerBonus = 1.5; } } if (m.Player) { // ~1_HCI~% Hit Chance.<br>~2_SDI~% Spell Damage.<br>Damage taken has a ~3_EXP~% chance to cause additional burst of physical damage.<br> BuffInfo.AddBuff(m, new BuffInfo(BuffIcon.TribulationTarget, 1115740, 1115742, String.Format("{0}\t{1}\t{2}", m_PropertyBonus, m_PropertyBonus, (int)m_DamageChance))); } // Target: ~1_val~ <br> Damage Factor: ~2_val~% <br> Damage Chance: ~3_val~% BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.TribulationCaster, 1115740, 1151388, String.Format("{0}\t{1}\t{2}", m.Name, (int)m_DamageFactor, (int)m_DamageChance))); BeginTimer(); } FinishSequence(); }