Server.Mobiles.BaseCreature.Provoke C# (CSharp) Method

Provoke() public method

public Provoke ( Mobile master, Mobile target, bool bSuccess ) : void
master Mobile
target Mobile
bSuccess bool
return void
        public void Provoke( Mobile master, Mobile target, bool bSuccess )
        {
            BardProvoked = true;

            if ( !Core.ML )
            {
                this.PublicOverheadMessage( MessageType.Emote, EmoteHue, false, "*looks furious*" );
            }

            if ( bSuccess )
            {
                PlaySound( GetIdleSound() );

                BardMaster = master;
                BardTarget = target;
                Combatant = target;
                BardEndTime = DateTime.Now + TimeSpan.FromSeconds( 30.0 );

                if ( target is BaseCreature )
                {
                    BaseCreature t = (BaseCreature)target;

                    if ( t.Unprovokable || (t.IsParagon && BaseInstrument.GetBaseDifficulty( t ) >= 160.0) )
                        return;

                    t.BardProvoked = true;

                    t.BardMaster = master;
                    t.BardTarget = this;
                    t.Combatant = this;
                    t.BardEndTime = DateTime.Now + TimeSpan.FromSeconds( 30.0 );
                }
            }
            else
            {
                PlaySound( GetAngerSound() );

                BardMaster = master;
                BardTarget = target;
            }
        }

Usage Example

コード例 #1
0
ファイル: Satyr.cs プロジェクト: zerodowned/UO-Forever
        public void Provoke(Mobile target)
        {
            if (target == null || Deleted || !Alive || m_NextProvoke > DateTime.UtcNow || 0.05 < Utility.RandomDouble())
            {
                return;
            }

            foreach (Mobile m in GetMobilesInRange(RangePerception))
            {
                if (m is BaseCreature)
                {
                    BaseCreature c = (BaseCreature)m;

                    if (c == this || c == target || c.Unprovokable || c.IsParagon || c.BardProvoked ||
                        c.AccessLevel != AccessLevel.Player || !c.CanBeHarmful(target))
                    {
                        continue;
                    }

                    c.Provoke(this, target, true);

                    if (target.Player)
                    {
                        target.SendLocalizedMessage(1072062); // You hear angry music, and start to fight.
                    }
                    PlaySound(0x58A);
                    break;
                }
            }

            m_NextProvoke = DateTime.UtcNow + TimeSpan.FromSeconds(10);
        }
All Usage Examples Of Server.Mobiles.BaseCreature::Provoke
BaseCreature