本文整理汇总了C#中Server.Items.BaseInstrument.ConsumeUse方法的典型用法代码示例。如果您正苦于以下问题:C# BaseInstrument.ConsumeUse方法的具体用法?C# BaseInstrument.ConsumeUse怎么用?C# BaseInstrument.ConsumeUse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Server.Items.BaseInstrument
的用法示例。
在下文中一共展示了BaseInstrument.ConsumeUse方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnPickedInstrument
public static void OnPickedInstrument(Mobile from, BaseInstrument instrument)
{
from.RevealingAction();
if (!BaseInstrument.CheckMusicianship(from))
{
from.SendLocalizedMessage(500612); // You play poorly, and there is no effect.
instrument.PlayInstrumentBadly(from);
instrument.ConsumeUse(from);
}
else if (!from.CheckSkill(SkillName.Peacemaking, 0.0, 100.0))
{
from.SendLocalizedMessage(500613); // You attempt to calm everyone, but fail.
instrument.PlayInstrumentBadly(from);
instrument.ConsumeUse(from);
}
else
{
instrument.PlayInstrumentWell(from);
instrument.ConsumeUse(from);
Map map = from.Map;
if (map != null)
{
int range = BaseInstrument.GetBardRange(from, SkillName.Peacemaking);
bool calmed = false;
foreach (Mobile m in from.GetMobilesInRange(range))
{
#region Dueling
if (m.Region is Engines.ConPVP.SafeZone)
continue;
#endregion
BaseCreature bc = m as BaseCreature;
if ((bc != null && bc.Uncalmable) || m == from || !m.Alive)
continue;
calmed = true;
m.SendLocalizedMessage(500616); // You hear lovely music, and forget to continue battling!
m.Combatant = null;
if (!m.Player)
m.Warmode = false;
if (bc != null && !bc.BardPacified)
bc.Pacify(from, DateTime.Now + TimeSpan.FromSeconds(2.5));
}
if (!calmed)
from.SendLocalizedMessage(1049648); // You play hypnotic music, but there is nothing in range for you to calm.
else
from.SendLocalizedMessage(500615); // You play your hypnotic music, stopping the battle.
}
}
}
示例2: OnPickedInstrument
public static void OnPickedInstrument( Mobile from, BaseInstrument instrument )
{
from.RevealingAction();
if ( !BaseInstrument.CheckMusicianship( from ) )
{
from.SendLocalizedMessage( 500612 ); // You play poorly, and there is no effect.
instrument.PlayInstrumentBadly( from );
instrument.ConsumeUse( from );
}
else if ( !from.CheckSkill( SkillName.Peacemaking, 0.0, 100.0 ) )
{
from.SendLocalizedMessage( 500613 ); // You attempt to calm everyone, but fail.
instrument.PlayInstrumentBadly( from );
instrument.ConsumeUse( from );
}
else
{
instrument.PlayInstrumentWell( from );
instrument.ConsumeUse( from );
Map map = from.Map;
if ( map != null )
{
int range = BaseInstrument.GetBardRange( from, SkillName.Peacemaking );
bool calmed = false;
foreach ( Mobile m in from.GetMobilesInRange( range ) )
{
if ( (m is BaseCreature && ((BaseCreature)m).Uncalmable) || m == from || !from.CanBeHarmful( m, false ) )
continue;
calmed = true;
m.SendLocalizedMessage( 500616 ); // You hear lovely music, and forget to continue battling!
m.Combatant = null;
m.Warmode = false;
if ( m is BaseCreature && !((BaseCreature)m).BardPacified )
((BaseCreature)m).Pacify( from, DateTime.Now + TimeSpan.FromSeconds( 1.0 ) );
}
if ( !calmed )
from.SendLocalizedMessage( 1049648 ); // You play hypnotic music, but there is nothing in range...
else
from.SendLocalizedMessage( 500615 ); // You play your hypnotic music, stopping the battle.
}
}
}
示例3: OnPickedInstrument
public static void OnPickedInstrument( Mobile from, BaseInstrument instrument )
{
//from.RevealingAction();
//from.SendLocalizedMessage( 1049525 ); // Whom do you wish to calm?
//from.Target = new InternalTarget( from, instrument );
//from.NextSkillTime = DateTime.Now + TimeSpan.FromHours( 6.0 );
from.RevealingAction();
if ( !instrument.IsChildOf( from.Backpack ) )
{
from.SendLocalizedMessage( 1062488 ); // The instrument you are trying to play is no longer in your backpack!
}
else
{
//m_SetSkillTime = false;
from.NextSkillTime = DateTime.Now + TimeSpan.FromSeconds( 10.0 );
if ( !BaseInstrument.CheckMusicianship( from ) )
{
from.SendLocalizedMessage( 500612 ); // You play poorly, and there is no effect.
instrument.PlayInstrumentBadly( from );
instrument.ConsumeUse( from );
}
else if ( !from.CheckSkill( SkillName.Peacemaking, 0.0, 100.0 ) )
{
from.SendLocalizedMessage( 500613 ); // You attempt to calm everyone, but fail.
instrument.PlayInstrumentBadly( from );
instrument.ConsumeUse( from );
}
else
{
from.NextSkillTime = DateTime.Now + TimeSpan.FromSeconds( 5.0 );
instrument.PlayInstrumentWell( from );
instrument.ConsumeUse( from );
Map map = from.Map;
if ( map != null )
{
int range = BaseInstrument.GetBardRange( from, SkillName.Peacemaking );
bool calmed = false;
foreach ( Mobile m in from.GetMobilesInRange( range ) )
{
if ( (m is BaseCreature && ((BaseCreature)m).Uncalmable) || m == from || !from.CanBeHarmful( m, false ) )
continue;
calmed = true;
m.SendLocalizedMessage( 500616 ); // You hear lovely music, and forget to continue battling!
m.Combatant = null;
m.Warmode = false;
if ( m is BaseCreature && !((BaseCreature)m).BardPacified )
((BaseCreature)m).Pacify( from, DateTime.Now + TimeSpan.FromSeconds( 1.0 ) );
}
if ( !calmed )
from.SendLocalizedMessage( 1049648 ); // You play hypnotic music, but there is nothing in range for you to calm.
else
from.SendLocalizedMessage( 500615 ); // You play your hypnotic music, stopping the battle.
}
}
}
}
示例4: PlayNote
public static void PlayNote( PlayerMobile from, string note, BaseInstrument instrument )
{
try
{
//Pix: added sanity checks
if (from == null || instrument == null) return;
int it = (int)GetInstrumentType(instrument);
int nv;
// If Musicianship is not GM, there is a chance of playing a random note.
if (!BaseInstrument.CheckMusicianship(from))
{
instrument.ConsumeUse(from);
nv = Utility.Random(25);
//Console.WriteLine("Random note value chosen: {0}", nv );
}
else
{
nv = (int)GetNoteValue(note);
}
//Pix: added bounds checking
if (nv >= 0 && it >=0 &&
nv < NoteSounds.Length && it < NoteSounds[nv].Length)
{
int sound = NoteSounds[nv][it];
from.PlaySound(sound, true);
}
}
catch (Exception ex)
{
Scripts.Commands.LogHelper.LogException(ex);
}
}