public override void OnResponse(NetState sender, RelayInfo info) { if (info.ButtonID != 1) { return; } if (Faction.Find(m_From) != m_Faction) { return; } Container pack = m_From.Backpack; if (pack == null) { return; } FactionWarHorse horse = new FactionWarHorse(m_Faction); if (m_From.Followers + horse.ControlSlots > m_From.FollowersMax) { // TODO: Message? horse.Delete(); } else { if (pack.GetAmount(typeof(Silver)) < FactionWarHorse.SilverPrice) { sender.Mobile.SendLocalizedMessage(1042204); // You do not have enough silver. horse.Delete(); } else if (pack.GetAmount(typeof(Gold)) < FactionWarHorse.GoldPrice) { sender.Mobile.SendLocalizedMessage(1042205); // You do not have enough gold. horse.Delete(); } else if (pack.ConsumeTotal(typeof(Silver), FactionWarHorse.SilverPrice) && pack.ConsumeTotal(typeof(Gold), FactionWarHorse.GoldPrice)) { horse.Controlled = true; horse.ControlMaster = m_From; horse.ControlOrder = OrderType.Follow; horse.ControlTarget = m_From; horse.MoveToWorld(m_From.Location, m_From.Map); } else { horse.Delete(); } } }
public override void OnResponse( NetState sender, RelayInfo info ) { if ( info.ButtonID != 1 ) return; if ( Faction.Find( m_From ) != m_Faction ) return; Container pack = m_From.Backpack; if ( pack == null ) return; FactionWarHorse horse = new FactionWarHorse( m_Faction ); if ( (m_From.Followers + horse.ControlSlots) > m_From.FollowersMax ) { // TODO: Message? horse.Delete(); } else { if ( pack.GetAmount( typeof( Silver ) ) < FactionWarHorse.SilverPrice ) { sender.Mobile.SendLocalizedMessage( 1042204 ); // You do not have enough silver. horse.Delete(); } else if ( pack.GetAmount( typeof( Gold ) ) < FactionWarHorse.GoldPrice ) { sender.Mobile.SendLocalizedMessage( 1042205 ); // You do not have enough gold. horse.Delete(); } else if ( pack.ConsumeTotal( typeof( Silver ), FactionWarHorse.SilverPrice ) && pack.ConsumeTotal( typeof( Gold ), FactionWarHorse.GoldPrice ) ) { horse.Controlled = true; horse.ControlMaster = m_From; horse.ControlOrder = OrderType.Follow; horse.ControlTarget = m_From; horse.MoveToWorld( m_From.Location, m_From.Map ); if( info.IsSwitched( 1 ) ) horse.Hue = m_Faction.Definition.HuePrimary; else if( info.IsSwitched( 2 ) ) horse.Hue = m_Faction.Definition.HueSecondary; } else { horse.Delete(); } } }