public override string ToString() { string weaponString = base.ToString() + ", "; weaponString += NumberHands.ToString() + ", "; weaponString += AttackValue.ToString() + ", "; weaponString += AttackModifier.ToString() + ", "; weaponString += DamageEffect.ToString(); foreach (string s in AllowableClasses) { weaponString += ", " + s; } return(weaponString); }
public override string ToString() { string weapString = base.ToString() + ", "; weapString += NumberHands.ToString() + ", "; weapString += AttackValue.ToString() + ", "; weapString += AttackModifier.ToString() + ", "; weapString += DamageValue.ToString() + ", "; weapString += DamageModifier.ToString() + ", "; foreach (Type t in allowableClasses) { weapString += ", " + t.Name; } return(base.ToString()); }
public override void OnCast() { if (!CheckSequence()) { return; } Phase = 1; DefenseModifier = GetMasteryLevel() * 6; Caster.PlaySound(0x101); Caster.FixedEffect(0x37C4, 0x1, 0x8, 0x4EB, 0); Caster.PrivateOverheadMessage(MessageType.Regular, 1150, 1155988, Caster.NetState); // *You enter a thrusting stance!* BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.Thrust, 1155989, 1155990, String.Format("{0}\t{1}\t{2}", AttackModifier.ToString(), DefenseModifier.ToString(), ScaleMana(30).ToString()))); //Your next physical attack will be increased by +~1_VAL~% damage while reducing your victim's physical attack damage by ~2_VAL~%.<br>Mana Upkeep Cost: ~3_VAL~. FinishSequence(); BeginTimer(); }
private void Reset() { DefenseModifier = 0; Target = null; BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.Thrust, 1155989, 1155990, String.Format("{0}\t{1}\t{2}", AttackModifier.ToString(), (GetMasteryLevel() * 6).ToString(), ScaleMana(30).ToString()))); //Your next physical attack will be increased by +~1_VAL~% damage while reducing your victim's physical attack damage by ~2_VAL~%.<br>Mana Upkeep Cost: ~3_VAL~. if (Target != null) { BuffInfo.RemoveBuff(Target, BuffIcon.ThrustDebuff); } }
public override void OnHit(Mobile defender, ref int damage) { int currentMod = AttackModifier; if (Target != defender) { Phase = 1; DefenseModifier = (GetMasteryLevel() * 6); Target = defender; new InternalTimer(this, defender); } else { DefenseModifier += (GetMasteryLevel() * 6); Phase++; } damage = (int)(damage + (damage * (currentMod / 100.0))); defender.FixedEffect(0x36BD, 0x1, 0xE, 0x776, 0); BuffInfo.AddBuff(defender, new BuffInfo(BuffIcon.ThrustDebuff, 1155989, 1156234, TimeSpan.FromSeconds(8), defender, DefenseModifier.ToString())); // All damage from your physical attacks have been reduced by ~1_val~%. BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.Thrust, 1155989, 1155990, String.Format("{0}\t{1}\t{2}", AttackModifier.ToString(), (GetMasteryLevel() * 6).ToString(), ScaleMana(30).ToString()))); //Your next physical attack will be increased by +~1_VAL~% damage while reducing your victim's physical attack damage by ~2_VAL~%.<br>Mana Upkeep Cost: ~3_VAL~. if (!CheckMana()) { Reset(); Expire(); } }
public override void OnHit(Mobile defender, ref int damage) { int mana = ScaleMana(GetMana()); if (Caster.Mana < mana) { Expire(); return; } Caster.Mana -= mana; if (Target != defender) { AttackModifier = GetMasteryLevel() * 6; DefenseModifier = GetMasteryLevel() * 6; Target = defender; BuffInfo.AddBuff(defender, new BuffInfo(BuffIcon.ThrustDebuff, 1155989, BuffInfo.Blank, "")); Server.Timer.DelayCall(TimeSpan.FromSeconds(8), () => { Reset(); }); } else { AttackModifier = Math.Min(MaxAttack, AttackModifier + (GetMasteryLevel() * 6)); DefenseModifier = Math.Min(MaxDefense, DefenseModifier + (GetMasteryLevel() * 6)); } BuffInfo.RemoveBuff(Caster, BuffIcon.Thrust); BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.Thrust, 1155989, 1155990, String.Format("{0}\t{1}\t{2}", AttackModifier.ToString(), DefenseModifier.ToString(), ScaleMana(30).ToString()))); //Your next physical attack will be increased by +~1_VAL~% damage while reducing your victim's physical attack damage by ~2_VAL~%.<br>Mana Upkeep Cost: ~3_VAL~. damage = (int)((double)damage + ((double)damage * ((double)DefenseModifier / 100.0))); defender.FixedEffect(0x36BD, 20, 10, 2725, 5); }