public override void OnTrigger(Mobile from) { if (!IsEnemy(from)) { return; } Conceal(); DoVisibleEffect(); Effects.PlaySound(Location, Map, EffectSound); DoAttackEffect(from); var silverToAward = from.Alive ? 20 : 40; if (silverToAward > 0 && Placer != null && Faction != null) { var victimState = PlayerState.Find(from); if (victimState?.CanGiveSilverTo(Placer) == true && victimState.KillPoints > 0) { var silverGiven = Faction.AwardSilver(Placer, silverToAward); if (silverGiven > 0) { // TODO: Get real message if (from.Alive) { Placer.SendMessage( "You have earned {0} silver pieces because {1} fell for your trap.", silverGiven, from.Name ); } else { Placer.SendLocalizedMessage( 1042736, $"{silverGiven} silver\t{from.Name}" ); // You have earned ~1_SILVER_AMOUNT~ pieces for vanquishing ~2_PLAYER_NAME~! } } victimState.OnGivenSilverTo(Placer); } } from.LocalOverheadMessage(MessageType.Regular, MessageHue, AttackMessage); }
public override void OnTrigger(Mobile from) { if (!IsEnemy(from)) { return; } Conceal(); DoVisibleEffect(); Effects.PlaySound(this.Location, this.Map, this.EffectSound); DoAttackEffect(from); int silverToAward = (from.Alive ? 20 : 40); if (silverToAward > 0 && m_Placer != null && m_Faction != null) { PlayerState victimState = PlayerState.Find(from); if (victimState != null && victimState.CanGiveSilverTo(m_Placer) && victimState.KillPoints > 0) { int silverGiven = m_Faction.AwardSilver(m_Placer, silverToAward); if (silverGiven > 0) { // TODO: Get real message if (from.Alive) { m_Placer.SendAsciiMessage("You have earned {0} silver pieces because {1} fell for your trap.", silverGiven, from.Name); } else { m_Placer.SendAsciiMessage("You have earned " + silverGiven + " pieces for vanquishing " + from.Name + "!"); } } victimState.OnGivenSilverTo(m_Placer); } } from.LocalOverheadMessage(MessageType.Regular, MessageHue, AttackMessage); }
public override void OnTrigger(Mobile from) { if (!IsEnemy(from)) { return; } Conceal(); DoVisibleEffect(); Effects.PlaySound(this.Location, this.Map, this.EffectSound); DoAttackEffect(from); int silverToAward = (from.Alive ? 20 : 100); if (silverToAward > 0 && m_Placer != null && m_Faction != null) { PlayerState victimState = PlayerState.Find(from); if (victimState != null && victimState.CanGiveSilverTo(m_Placer) && victimState.KillPoints > 0) { int silverGiven = m_Faction.AwardSilver(m_Placer, silverToAward); if (silverGiven > 0) { // TODO: Get real message if (from.Alive) { m_Placer.SendMessage("You have earned {0} silver pieces because {1} fell for your trap.", silverGiven, from.Name); } else { m_Placer.SendLocalizedMessage(1042736, String.Format("{0} silver\t{1}", silverGiven, from.Name)); // You have earned ~1_SILVER_AMOUNT~ pieces for vanquishing ~2_PLAYER_NAME~! } } victimState.OnGivenSilverTo(m_Placer); } } from.LocalOverheadMessage(MessageType.Regular, MessageHue, AttackMessage); }