Modernization Fixes & Updates to Default Values (#3)
This commit is contained in:
parent
445eddff68
commit
dcf64091b1
768 changed files with 10507 additions and 14196 deletions
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue