Fixes more casting and other formatting issues.

This commit is contained in:
Kamron Batman 2018-08-19 10:14:40 +08:00
parent 03dd5f1926
commit 61937d9c97
67 changed files with 325 additions and 570 deletions

View file

@ -126,9 +126,7 @@ namespace Server.Engines.MLQuests.Definitions
public override bool CheckItem( Item item )
{
Pitcher pitcher = item as Pitcher; // Only pitchers work
return ( pitcher != null && pitcher.Content == BeverageType.Water && pitcher.Quantity > 0 );
return ( item is Pitcher pitcher && pitcher.Content == BeverageType.Water && pitcher.Quantity > 0 );
}
}
}

View file

@ -620,9 +620,7 @@ namespace Server.Engines.MLQuests.Definitions
{
Item item = base.CreateItem();
Spellbook book = item as Spellbook;
if ( book != null )
if ( item is Spellbook book )
book.Content = ( 1ul << book.BookCount ) - 1;
return item;

View file

@ -39,9 +39,7 @@ namespace Server.Engines.MLQuests.Gumps
public override void OnResponse( NetState sender, RelayInfo info )
{
PlayerMobile pm = sender.Mobile as PlayerMobile;
if ( pm == null )
if ( !(sender.Mobile is PlayerMobile pm) )
return;
switch ( info.ButtonID )

View file

@ -193,9 +193,7 @@ namespace Server.Engines.MLQuests.Gumps
CloseCurrent( state );
PlayerMobile pm = state.Mobile as PlayerMobile;
if ( pm == null )
if ( !(state.Mobile is PlayerMobile pm) )
return;
IRaceChanger owner = raceChangeState.m_Owner;
@ -203,8 +201,7 @@ namespace Server.Engines.MLQuests.Gumps
if ( pvSrc.Size == 5 )
{
if ( owner != null )
owner.OnCancel( pm );
owner?.OnCancel( pm );
return;
}
@ -248,8 +245,7 @@ namespace Server.Engines.MLQuests.Gumps
else
pm.SendMessage( "You have fully changed your race to {0}.", targetRace.Name );
if ( owner != null )
owner.ConsumeNeeded( pm );
owner?.ConsumeNeeded( pm );
}
}
@ -319,9 +315,7 @@ namespace Server.Engines.MLQuests.Gumps
public override void OnDoubleClick( Mobile from )
{
PlayerMobile pm = from as PlayerMobile;
if ( pm == null )
if ( !(from is PlayerMobile pm) )
return;
if ( CheckComplete( pm ) )

View file

@ -27,12 +27,10 @@ namespace Server.Engines.MLQuests.Items
return;
}
MLQuestContext context;
if ( from is PlayerMobile && ( context = MLQuestSystem.GetContext( (PlayerMobile)from ) ) != null && context.BedlamAccess )
if ( from is PlayerMobile mobile && MLQuestSystem.GetContext( mobile )?.BedlamAccess == true )
{
BaseCreature.TeleportPets( from, PointDest, MapDest );
from.MoveToWorld( PointDest, MapDest );
BaseCreature.TeleportPets( mobile, PointDest, MapDest );
mobile.MoveToWorld( PointDest, MapDest );
}
else
{

View file

@ -24,16 +24,12 @@ namespace Server.Items
public override void OnDoubleClick( Mobile from )
{
PlayerMobile pm = from as PlayerMobile;
if ( pm == null || pm.Backpack == null )
if ( !(from is PlayerMobile pm) || pm.Backpack == null )
return;
if ( pm.InRange( GetWorldLocation(), 2 ) )
{
MLQuestContext context = MLQuestSystem.GetContext( pm );
if ( context != null && context.IsDoingQuest( typeof( UnfadingMemoriesPartOne ) ) && pm.Backpack.FindItemByType( typeof( PrismaticAmber ), false ) == null )
if ( MLQuestSystem.GetContext( pm )?.IsDoingQuest( typeof( UnfadingMemoriesPartOne ) ) == true && pm.Backpack.FindItemByType( typeof( PrismaticAmber ), false ) == null )
{
Item amber = new PrismaticAmber();

View file

@ -52,8 +52,8 @@ namespace Server.Engines.MLQuests.Items
from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
else if ( !IsChildOf( from.Backpack ) )
from.SendLocalizedMessage( 1042593 ); // That is not in your backpack.
else if ( MLQuestSystem.Enabled && CanGiveMLQuest && from is PlayerMobile )
MLQuestSystem.OnDoubleClick( this, (PlayerMobile)from );
else if ( MLQuestSystem.Enabled && CanGiveMLQuest && from is PlayerMobile mobile )
MLQuestSystem.OnDoubleClick( this, mobile );
}
public override void OnAfterDelete()
@ -133,8 +133,8 @@ namespace Server.Engines.MLQuests.Items
from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
else if ( !IsChildOf( from.Backpack ) )
from.SendLocalizedMessage( 1042593 ); // That is not in your backpack.
else if ( MLQuestSystem.Enabled && CanGiveMLQuest && from is PlayerMobile )
MLQuestSystem.OnDoubleClick( this, (PlayerMobile)from );
else if ( MLQuestSystem.Enabled && CanGiveMLQuest && from is PlayerMobile mobile )
MLQuestSystem.OnDoubleClick( this, mobile );
}
public override void OnAfterDelete()

View file

@ -43,14 +43,18 @@ namespace Server.Engines.MLQuests.Items
public static void Enhance( Item loot )
{
if ( loot is BaseWeapon )
BaseRunicTool.ApplyAttributesTo( (BaseWeapon)loot, Utility.RandomMinMax( 1, 5 ), 10, 80 );
else if ( loot is BaseArmor )
BaseRunicTool.ApplyAttributesTo( (BaseArmor)loot, Utility.RandomMinMax( 1, 5 ), 10, 80 );
else if ( loot is BaseShield )
BaseRunicTool.ApplyAttributesTo( (BaseShield)loot, Utility.RandomMinMax( 1, 5 ), 10, 80 );
else if ( loot is BaseJewel )
BaseRunicTool.ApplyAttributesTo( (BaseJewel)loot, Utility.RandomMinMax( 1, 5 ), 10, 80 );
switch (loot)
{
case BaseWeapon weapon:
BaseRunicTool.ApplyAttributesTo( weapon, Utility.RandomMinMax( 1, 5 ), 10, 80 );
break;
case BaseArmor armor:
BaseRunicTool.ApplyAttributesTo( armor, Utility.RandomMinMax( 1, 5 ), 10, 80 );
break;
default:
BaseRunicTool.ApplyAttributesTo((BaseJewel)loot, Utility.RandomMinMax( 1, 5 ), 10, 80 );
break;
}
}
}

View file

@ -51,23 +51,19 @@ namespace Server.Engines.MLQuests.Items
if (!base.CanTeleport(m))
return false;
if (m_QuestType != null)
{
PlayerMobile pm = m as PlayerMobile;
if (m_QuestType == null)
return true;
if (!(m is PlayerMobile pm))
return false;
if (pm == null)
return false;
MLQuestContext context = MLQuestSystem.GetContext(pm);
MLQuestContext context = MLQuestSystem.GetContext(pm);
if (context?.IsDoingQuest(m_QuestType) == true || context?.HasDoneQuest(m_QuestType) == true)
return true;
if (context == null || (!context.IsDoingQuest(m_QuestType) && !context.HasDoneQuest(m_QuestType)))
{
TextDefinition.SendMessageTo(m, m_Message);
return false;
}
}
TextDefinition.SendMessageTo(m, m_Message);
return false;
return true;
}
public override void GetProperties(ObjectPropertyList list)
@ -169,7 +165,7 @@ namespace Server.Engines.MLQuests.Items
{
foreach (Item item in m.Items) // Check paperdoll
{
if (m_TicketType.IsAssignableFrom(item.GetType()))
if (m_TicketType.IsInstanceOfType(item))
{
ticket = item;
break;
@ -183,8 +179,7 @@ namespace Server.Engines.MLQuests.Items
return false;
}
if (ticket is ITicket)
((ITicket)ticket).OnTicketUsed(m);
(ticket as ITicket)?.OnTicketUsed(m);
}
return true;

View file

@ -203,9 +203,8 @@ namespace Server.Engines.MLQuests
public override void Execute( CommandEventArgs e, object obj )
{
Mobile from = e.Mobile;
PlayerMobile pm = obj as PlayerMobile;
if ( pm == null )
if ( !(obj is PlayerMobile pm) )
{
LogFailure( "That is not a player." );
return;
@ -230,9 +229,7 @@ namespace Server.Engines.MLQuests
public override void Execute( CommandEventArgs e, object obj )
{
PlayerMobile pm = obj as PlayerMobile;
if ( pm == null )
if ( !(obj is PlayerMobile pm) )
LogFailure( "They have no ML quest context." );
else
e.Mobile.SendGump( new PropertiesGump( e.Mobile, GetOrCreateContext( pm ) ) );
@ -303,13 +300,9 @@ namespace Server.Engines.MLQuests
{
if ( item.QuestItem )
{
Backpack pack = item.Parent as Backpack;
if ( pack != null )
if ( item.Parent is Backpack pack )
{
PlayerMobile player = pack.Parent as PlayerMobile;
if ( player != null && player.Backpack == pack )
if ( pack.Parent is PlayerMobile player && player.Backpack == pack )
continue;
}
@ -487,9 +480,9 @@ namespace Server.Engines.MLQuests
foreach ( BaseObjectiveInstance objective in instance.Objectives )
{
if ( !objective.Expired && objective is GainSkillObjectiveInstance && ( (GainSkillObjectiveInstance)objective ).Handles( skill ) )
if ( !objective.Expired && objective is GainSkillObjectiveInstance objectiveInstance && objectiveInstance.Handles( skill ) )
{
objective.CheckComplete();
objectiveInstance.CheckComplete();
break;
}
}
@ -520,10 +513,8 @@ namespace Server.Engines.MLQuests
*/
foreach ( BaseObjectiveInstance objective in instance.Objectives )
{
if ( !objective.Expired && objective is KillObjectiveInstance )
if ( !objective.Expired && objective is KillObjectiveInstance kill )
{
KillObjectiveInstance kill = (KillObjectiveInstance)objective;
if ( type == null )
type = mob.GetType();
@ -558,26 +549,21 @@ namespace Server.Engines.MLQuests
foreach ( BaseObjectiveInstance objective in instance.Objectives )
{
// Note: On OSI, expired deliveries can still be completed. Bug?
if ( !objective.Expired && objective is DeliverObjectiveInstance )
if ( !objective.Expired && objective is DeliverObjectiveInstance deliver && deliver.IsDestination( quester, questerType ) )
{
DeliverObjectiveInstance deliver = (DeliverObjectiveInstance)objective;
if ( deliver.IsDestination( quester, questerType ) )
if ( !deliver.HasCompleted ) // objective completes only once
{
if ( !deliver.HasCompleted ) // objective completes only once
{
deliver.HasCompleted = true;
deliver.CheckComplete();
deliver.HasCompleted = true;
deliver.CheckComplete();
// The quest is continued with this NPC (important for chains)
instance.Quester = quester;
}
if ( deliverInstance == null )
deliverInstance = instance;
break; // don't return, we may have to complete more deliveries
// The quest is continued with this NPC (important for chains)
instance.Quester = quester;
}
if ( deliverInstance == null )
deliverInstance = instance;
break; // don't return, we may have to complete more deliveries
}
}
}
@ -637,9 +623,7 @@ namespace Server.Engines.MLQuests
public static void EventSink_QuestGumpRequest( QuestGumpRequestArgs args )
{
PlayerMobile pm = args.Mobile as PlayerMobile;
if ( !Enabled || pm == null )
if ( !Enabled || !(args.Mobile is PlayerMobile pm) )
return;
pm.SendGump( new QuestLogGump( pm ) );
@ -681,21 +665,18 @@ namespace Server.Engines.MLQuests
public static void TurnToFace( IQuestGiver quester, Mobile mob )
{
if ( quester is Mobile )
{
Mobile m = (Mobile)quester;
if ( quester is Mobile m )
m.Direction = m.GetDirectionTo( mob );
}
}
public static void Tell( IQuestGiver quester, PlayerMobile pm, int cliloc )
{
TurnToFace( quester, pm );
if ( quester is Mobile )
((Mobile)quester).PrivateOverheadMessage( MessageType.Regular, SpeechColor, cliloc, pm.NetState );
else if ( quester is Item )
MessageHelper.SendLocalizedMessageTo( (Item)quester, pm, cliloc, SpeechColor );
if ( quester is Mobile mobile )
mobile.PrivateOverheadMessage( MessageType.Regular, SpeechColor, cliloc, pm.NetState );
else if ( quester is Item item )
MessageHelper.SendLocalizedMessageTo( item, pm, cliloc, SpeechColor );
else
pm.SendLocalizedMessage( cliloc, "", SpeechColor );
}
@ -704,10 +685,10 @@ namespace Server.Engines.MLQuests
{
TurnToFace( quester, pm );
if ( quester is Mobile )
((Mobile)quester).PrivateOverheadMessage( MessageType.Regular, SpeechColor, cliloc, args, pm.NetState );
else if ( quester is Item )
MessageHelper.SendLocalizedMessageTo( (Item)quester, pm, cliloc, args, SpeechColor );
if ( quester is Mobile mobile )
mobile.PrivateOverheadMessage( MessageType.Regular, SpeechColor, cliloc, args, pm.NetState );
else if ( quester is Item item )
MessageHelper.SendLocalizedMessageTo( item, pm, cliloc, args, SpeechColor );
else
pm.SendLocalizedMessage( cliloc, args, SpeechColor );
}
@ -716,10 +697,10 @@ namespace Server.Engines.MLQuests
{
TurnToFace( quester, pm );
if ( quester is Mobile )
((Mobile)quester).PrivateOverheadMessage( MessageType.Regular, SpeechColor, false, message, pm.NetState );
else if ( quester is Item )
MessageHelper.SendMessageTo( (Item)quester, pm, message, SpeechColor );
if ( quester is Mobile mobile )
mobile.PrivateOverheadMessage( MessageType.Regular, SpeechColor, false, message, pm.NetState );
else if ( quester is Item item )
MessageHelper.SendMessageTo( item, pm, message, SpeechColor );
else
pm.SendMessage( SpeechColor, message );
}

View file

@ -185,8 +185,8 @@ namespace Server.Engines.MLQuests.Objectives
{
bool completed = reader.ReadBool();
if ( objInstance is EscortObjectiveInstance )
( (EscortObjectiveInstance)objInstance ).HasCompleted = completed;
if ( objInstance is EscortObjectiveInstance instance )
instance.HasCompleted = completed;
break;
}
@ -194,8 +194,8 @@ namespace Server.Engines.MLQuests.Objectives
{
int slain = reader.ReadInt();
if ( objInstance is KillObjectiveInstance )
( (KillObjectiveInstance)objInstance ).Slain = slain;
if ( objInstance is KillObjectiveInstance instance )
instance.Slain = slain;
break;
}
@ -203,8 +203,8 @@ namespace Server.Engines.MLQuests.Objectives
{
bool completed = reader.ReadBool();
if ( objInstance is DeliverObjectiveInstance )
( (DeliverObjectiveInstance)objInstance ).HasCompleted = completed;
if ( objInstance is DeliverObjectiveInstance instance )
instance.HasCompleted = completed;
break;
}

View file

@ -76,9 +76,7 @@ namespace Server.Engines.MLQuests.Objectives
for ( int i = 0; i < m_Amount; ++i )
{
Item item = Activator.CreateInstance( m_Delivery ) as Item;
if ( item == null )
if ( !(Activator.CreateInstance( m_Delivery ) is Item item) )
continue;
delivery.Add( item );

View file

@ -31,7 +31,7 @@ namespace Server.Engines.MLQuests.Objectives
public override bool CanOffer( IQuestGiver quester, PlayerMobile pm, bool message )
{
if ( ( quester is BaseCreature && ( (BaseCreature)quester ).Controlled ) || ( quester is BaseEscortable && ( (BaseEscortable)quester ).IsBeingDeleted ) )
if ( ( quester is BaseCreature creature && creature.Controlled ) || ( quester is BaseEscortable escortable && escortable.IsBeingDeleted ) )
return false;
MLQuestContext context = MLQuestSystem.GetContext( pm );
@ -145,7 +145,7 @@ namespace Server.Engines.MLQuests.Objectives
if ( pm.Young || m_Escort.Region.IsPartOf( "Haven Island" ) )
Titles.AwardFame( pm, 10, true );
else
VirtueHelper.AwardVirtue( pm, VirtueName.Compassion, ( m_Escort is BaseEscortable && ( (BaseEscortable)m_Escort ).IsPrisoner ) ? 400 : 200 );
VirtueHelper.AwardVirtue( pm, VirtueName.Compassion, ( m_Escort is BaseEscortable escortable && escortable.IsPrisoner ) ? 400 : 200 );
EndFollow( m_Escort );
StopTimer();
@ -203,8 +203,7 @@ namespace Server.Engines.MLQuests.Objectives
quester.SetControlMaster( null );
if ( quester is BaseEscortable )
( (BaseEscortable)quester ).BeginDelete();
(quester as BaseEscortable)?.BeginDelete();
}
public override void OnQuestAccepted()