Modernization Fixes & Updates to Default Values (#3)

This commit is contained in:
Kamron Batman 2018-10-28 00:33:16 -07:00 • committed by GitHub
parent 445eddff68
commit dcf64091b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
768 changed files with 10507 additions and 14196 deletions

View file

@ -77,49 +77,53 @@ namespace Server.Engines.Quests.Collector
{
QuestSystem qs = player.Quest;
if (qs is CollectorQuest)
if (qs.FindObjective(typeof(CaptureImagesObjective)) is CaptureImagesObjective obj && !obj.Completed)
if (!(qs is CollectorQuest))
return;
CaptureImagesObjective obj = qs.FindObjective<CaptureImagesObjective>();
if (obj?.Completed != false)
return;
if (targeted is Mobile)
{
CaptureResponse response = obj.CaptureImage(
targeted.GetType().Name == "GreaterMongbat"
? new Mongbat().GetType()
: targeted.GetType(), out ImageType image);
switch (response)
{
if (targeted is Mobile)
case CaptureResponse.Valid:
{
CaptureResponse response = obj.CaptureImage(
targeted.GetType().Name == "GreaterMongbat"
? new Mongbat().GetType()
: targeted.GetType(), out ImageType image);
player.SendLocalizedMessage(
1055125); // The enchanted paints swirl for a moment then an image begins to take shape. *Click*
player.AddToBackpack(new PaintedImage(image));
switch (response)
{
case CaptureResponse.Valid:
{
player.SendLocalizedMessage(
1055125); // The enchanted paints swirl for a moment then an image begins to take shape. *Click*
player.AddToBackpack(new PaintedImage(image));
break;
}
case CaptureResponse.AlreadyDone:
{
player.SendAsciiMessage(0x2C,
"You have already captured the image of this creature");
break;
}
case CaptureResponse.Invalid:
{
player.SendLocalizedMessage(
1055124); // You have no interest in capturing the image of this creature.
break;
}
}
break;
}
else
case CaptureResponse.AlreadyDone:
{
player.SendAsciiMessage(0x35, "You have no interest in that.");
}
player.SendAsciiMessage(0x2C,
"You have already captured the image of this creature");
return;
break;
}
case CaptureResponse.Invalid:
{
player.SendLocalizedMessage(
1055124); // You have no interest in capturing the image of this creature.
break;
}
}
}
else
{
player.SendAsciiMessage(0x35, "You have no interest in that.");
}
return;
}
from.SendLocalizedMessage(1010085); // You cannot use this.

View file

@ -1,5 +1,5 @@
using System;
using System.Collections;
using System.Linq;
using Server.Mobiles;
namespace Server.Engines.Quests.Collector
@ -56,6 +56,8 @@ namespace Server.Engines.Quests.Collector
new ImageTypeInfo(9746, typeof(Juggernaut), 55, 38)
};
private static ImageType[] m_ImageTypeList;
public ImageTypeInfo(int figurine, Type type, int x, int y)
{
Figurine = figurine;
@ -70,34 +72,26 @@ namespace Server.Engines.Quests.Collector
public int Name => Figurine < 0x4000 ? 1020000 + Figurine : 1078872 + Figurine;
public int X{ get; }
public int Y{ get; }
public static ImageTypeInfo Get(ImageType image)
{
int index = (int)image;
if (index >= 0 && index < m_Table.Length)
return m_Table[index];
return m_Table[0];
return m_Table[index >= 0 && index < m_Table.Length ? index : 0];
}
public static ImageType[] RandomList(int count)
{
ArrayList list = new ArrayList(m_Table.Length);
for (int i = 0; i < m_Table.Length; i++)
list.Add((ImageType)i);
ImageType[] images = new ImageType[count];
for (int i = 0; i < images.Length; i++)
if (m_ImageTypeList == null)
{
int index = Utility.Random(list.Count);
images[i] = (ImageType)list[index];
list.RemoveAt(index);
m_ImageTypeList = new ImageType[m_Table.Length];
for (int i = 0; i < m_Table.Length; i++)
m_ImageTypeList[i] = (ImageType)i;
}
return images;
ImageType[] array = m_ImageTypeList.ToArray();
Utility.Shuffle(array);
return array.Take(count).ToArray();
}
}
}

View file

@ -58,9 +58,9 @@ namespace Server.Engines.Quests.Collector
{
Direction = GetDirectionTo(player);
QuestObjective obj = qs.FindObjective(typeof(FindAlbertaObjective));
QuestObjective obj = qs.FindObjective<FindAlbertaObjective>();
if (obj != null && !obj.Completed)
if (obj?.Completed == false)
obj.Complete();
else if (qs.IsObjectiveInProgress(typeof(SitOnTheStoolObjective)))
qs.AddConversation(new AlbertaStoolConversation());

View file

@ -55,9 +55,9 @@ namespace Server.Engines.Quests.Collector
}
else
{
QuestObjective obj = qs.FindObjective(typeof(ReturnPearlsObjective));
QuestObjective obj = qs.FindObjective<ReturnPearlsObjective>();
if (obj != null && !obj.Completed)
if (obj?.Completed == false)
{
obj.Complete();
}
@ -71,9 +71,9 @@ namespace Server.Engines.Quests.Collector
}
else
{
obj = qs.FindObjective(typeof(ReturnPaintingObjective));
obj = qs.FindObjective<ReturnPaintingObjective>();
if (obj != null && !obj.Completed)
if (obj?.Completed == false)
{
obj.Complete();
}
@ -91,9 +91,9 @@ namespace Server.Engines.Quests.Collector
}
else
{
obj = qs.FindObjective(typeof(ReturnAutographObjective));
obj = qs.FindObjective<ReturnAutographObjective>();
if (obj != null && !obj.Completed)
if (obj?.Completed == false)
{
obj.Complete();
}
@ -111,9 +111,9 @@ namespace Server.Engines.Quests.Collector
}
else
{
obj = qs.FindObjective(typeof(ReturnToysObjective));
obj = qs.FindObjective<ReturnToysObjective>();
if (obj != null && !obj.Completed)
if (obj?.Completed == false)
{
obj.Complete();
@ -124,9 +124,9 @@ namespace Server.Engines.Quests.Collector
}
else
{
obj = qs.FindObjective(typeof(MakeRoomObjective));
obj = qs.FindObjective<MakeRoomObjective>();
if (obj != null && !obj.Completed)
if (obj?.Completed == false)
{
if (GiveReward(player))
{

View file

@ -60,9 +60,9 @@ namespace Server.Engines.Quests.Collector
{
Direction = GetDirectionTo(player);
QuestObjective obj = qs.FindObjective(typeof(FindGabrielObjective));
QuestObjective obj = qs.FindObjective<FindGabrielObjective>();
if (obj != null && !obj.Completed)
if (obj?.Completed == false)
{
obj.Complete();
}
@ -72,9 +72,9 @@ namespace Server.Engines.Quests.Collector
}
else
{
obj = qs.FindObjective(typeof(ReturnSheetMusicObjective));
obj = qs.FindObjective<ReturnSheetMusicObjective>();
if (obj != null && !obj.Completed)
if (obj?.Completed == false)
obj.Complete();
else if (qs.IsObjectiveInProgress(typeof(ReturnAutographObjective)))
qs.AddConversation(new GabrielIgnoreConversation());

View file

@ -20,7 +20,7 @@ namespace Server.Engines.Quests.Collector
{
InitStats(100, 100, 25);
Hue = Utility.RandomSkinHue();
Hue = Race.Human.RandomSkinHue();
Female = false;
Body = 0x190;
@ -51,21 +51,25 @@ namespace Server.Engines.Quests.Collector
{
QuestSystem qs = player.Quest;
if (qs is CollectorQuest)
if (qs.FindObjective(typeof(FindSheetMusicObjective)) is FindSheetMusicObjective obj && !obj.Completed)
{
Direction = GetDirectionTo(player);
if (!(qs is CollectorQuest))
return;
if (obj.IsInRightTheater())
{
player.CloseGump(typeof(SheetMusicOfferGump));
player.SendGump(new SheetMusicOfferGump());
}
else
{
qs.AddConversation(new NoSheetMusicConversation());
}
FindSheetMusicObjective obj = qs.FindObjective<FindSheetMusicObjective>();
if (obj?.Completed == false)
{
Direction = GetDirectionTo(player);
if (obj.IsInRightTheater())
{
player.CloseGump<SheetMusicOfferGump>();
player.SendGump(new SheetMusicOfferGump());
}
else
{
qs.AddConversation(new NoSheetMusicConversation());
}
}
}
public override void Serialize(GenericWriter writer)
@ -132,25 +136,28 @@ namespace Server.Engines.Quests.Collector
{
QuestSystem qs = player.Quest;
if (qs is CollectorQuest)
if (qs.FindObjective(typeof(FindSheetMusicObjective)) is FindSheetMusicObjective obj &&
!obj.Completed)
{
if (player.Backpack != null && player.Backpack.ConsumeTotal(typeof(Gold), 10))
{
obj.Complete();
}
else
{
BankBox bank = player.FindBankNoCreate();
if (bank != null && bank.ConsumeTotal(typeof(Gold), 10))
obj.Complete();
if (!(qs is CollectorQuest))
return;
else
player.SendLocalizedMessage(
1055108); // You don't have enough gold to buy the sheet music.
}
}
FindSheetMusicObjective obj = qs.FindObjective<FindSheetMusicObjective>();
if (obj?.Completed != false)
return;
if (player.Backpack != null && player.Backpack.ConsumeTotal(typeof(Gold), 10))
{
obj.Complete();
}
else
{
BankBox bank = player.FindBankNoCreate();
if (bank != null && bank.ConsumeTotal(typeof(Gold), 10))
obj.Complete();
else
player.SendLocalizedMessage(
1055108); // You don't have enough gold to buy the sheet music.
}
}
}
}

View file

@ -57,9 +57,9 @@ namespace Server.Engines.Quests.Collector
{
Direction = GetDirectionTo(player);
QuestObjective obj = qs.FindObjective(typeof(FindTomasObjective));
QuestObjective obj = qs.FindObjective<FindTomasObjective>();
if (obj != null && !obj.Completed)
if (obj?.Completed == false)
{
Item paints = new EnchantedPaints();
@ -80,9 +80,9 @@ namespace Server.Engines.Quests.Collector
}
else
{
obj = qs.FindObjective(typeof(ReturnImagesObjective));
obj = qs.FindObjective<ReturnImagesObjective>();
if (obj != null && !obj.Completed)
if (obj?.Completed == false)
{
player.Backpack?.ConsumeUpTo(typeof(EnchantedPaints), 1);