Overwrite

Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
Unstable Kitsune
2023-11-28 23:20:26 -05:00
parent 3cd54811de
commit b918192e4e
11608 changed files with 2644205 additions and 47 deletions

View File

@@ -0,0 +1,116 @@
using System;
namespace Server.Engines.Quests.Zento
{
public class AcceptConversation : QuestConversation
{
public AcceptConversation()
{
}
public override object Message
{
get
{
/* <I><U>Important Quest Information</U></I><BR><BR>
*
* During your quest, any important information that a
* <a href = "?ForceTopic31">NPC</a> gives you, will appear in a window
* such as this one. You can review the information at any time during your
* quest.<BR><BR>
*
* <U>Getting Help</U><BR><BR>
*
* Some of the text you will come across during your quest,
* will be underlined <a href = "?ForceTopic73">links to the codex of wisdom</a>,
* or online help system. You can click on the text to get detailed information
* on the underlined subject. You may also access the Codex Of Wisdom by
* pressing "F1" or by clicking on the "?" on the toolbar at the top of
* your screen.<BR><BR><U>Context Menus</U><BR><BR>
*
* Context menus can be called up by single left-clicking (or Shift + single
* left-click, if you changed it) on most objects or NPCs in the world.
* Nearly everything, including your own avatar will have context menus available.
* Bringing up your avatar's context menu will give you options to cancel your quest
* and review various quest information.<BR><BR>
*/
return 1049092;
}
}
public override void OnRead()
{
this.System.AddObjective(new FirstKillObjective());
}
}
public class DirectionConversation : QuestConversation
{
public DirectionConversation()
{
}
public override object Message
{
get
{
// The Deathwatch Beetle Hatchlings live in The Waste - the desert close to this city.
return 1063323;
}
}
public override bool Logged
{
get
{
return false;
}
}
}
public class TakeCareConversation : QuestConversation
{
public TakeCareConversation()
{
}
public override object Message
{
get
{
// I know you can take care of those nasty Deathwatch Beetle Hatchlings! No get to it!
return 1063324;
}
}
public override bool Logged
{
get
{
return false;
}
}
}
public class EndConversation : QuestConversation
{
public EndConversation()
{
}
public override object Message
{
get
{
/* Thank you for helping me get rid of these vile beasts!
* You have been rewarded for your good deeds. If you wish to
* help me in the future, visit me again.<br><br>
*
* Farewell.
*/
return 1063321;
}
}
public override void OnRead()
{
this.System.Complete();
}
}
}

View File

@@ -0,0 +1,178 @@
using System;
using Server.Items;
using Server.Mobiles;
namespace Server.Engines.Quests.Zento
{
public class FirstKillObjective : QuestObjective
{
public FirstKillObjective()
{
}
public override object Message
{
get
{
// Kill 10 Deathwatch Beetle Hatchlings and return to Ansella Gryen.
return 1063316;
}
}
public override void RenderProgress(BaseQuestGump gump)
{
if (!this.Completed)
{
// Deathwatch Beetle Hatchlings killed:
gump.AddHtmlLocalized(70, 260, 270, 100, 1063318, 0x12DC6BF, false, false);
gump.AddLabel(70, 280, 0x64, "0");
gump.AddLabel(100, 280, 0x64, "/");
gump.AddLabel(130, 280, 0x64, "10");
}
else
{
base.RenderProgress(gump);
}
}
public override void OnKill(BaseCreature creature, Container corpse)
{
if (creature is DeathwatchBeetleHatchling)
this.Complete();
}
public override void OnComplete()
{
this.System.AddObjective(new SecondKillObjective());
}
}
public class SecondKillObjective : QuestObjective
{
public SecondKillObjective()
{
}
public override object Message
{
get
{
/* Great job! One less terrible hatchling in the Waste!<BR><BR>
*
* Once you've killed 10 of the Deathwatch Beetle Hatchlings,
* return to Ansella for your reward!
*/
return 1063320;
}
}
public override void RenderProgress(BaseQuestGump gump)
{
if (!this.Completed)
{
// Deathwatch Beetle Hatchlings killed:
gump.AddHtmlLocalized(70, 260, 270, 100, 1063318, 0x12DC6BF, false, false);
gump.AddLabel(70, 280, 0x64, "1");
gump.AddLabel(100, 280, 0x64, "/");
gump.AddLabel(130, 280, 0x64, "10");
}
else
{
base.RenderProgress(gump);
}
}
public override void OnKill(BaseCreature creature, Container corpse)
{
if (creature is DeathwatchBeetleHatchling)
{
this.Complete();
this.System.AddObjective(new ThirdKillObjective(2));
}
}
public override void OnRead()
{
if (!this.Completed)
{
this.Complete();
this.System.AddObjective(new ThirdKillObjective(1));
}
}
}
public class ThirdKillObjective : QuestObjective
{
public ThirdKillObjective(int startingProgress)
{
this.CurProgress = startingProgress;
}
public ThirdKillObjective()
{
}
public override object Message
{
get
{
// Continue killing Deathwatch Beetle Hatchlings.
return 1063319;
}
}
public override int MaxProgress
{
get
{
return 10;
}
}
public override void RenderProgress(BaseQuestGump gump)
{
if (!this.Completed)
{
// Deathwatch Beetle Hatchlings killed:
gump.AddHtmlLocalized(70, 260, 270, 100, 1063318, 0x12DC6BF, false, false);
gump.AddLabel(70, 280, 0x64, this.CurProgress.ToString());
gump.AddLabel(100, 280, 0x64, "/");
gump.AddLabel(130, 280, 0x64, "10");
}
else
{
base.RenderProgress(gump);
}
}
public override void OnKill(BaseCreature creature, Container corpse)
{
if (creature is DeathwatchBeetleHatchling)
this.CurProgress++;
}
public override void OnComplete()
{
this.System.AddObjective(new ReturnObjective());
}
}
public class ReturnObjective : QuestObjective
{
public ReturnObjective()
{
}
public override object Message
{
get
{
// Return to Ansella Gryen for your reward.
return 1063313;
}
}
public override void OnComplete()
{
this.System.AddConversation(new EndConversation());
}
}
}

View File

@@ -0,0 +1,87 @@
using System;
using Server.Mobiles;
namespace Server.Engines.Quests.Zento
{
public class TerribleHatchlingsQuest : QuestSystem
{
private static readonly Type[] m_TypeReferenceTable = new Type[]
{
typeof(AcceptConversation),
typeof(DirectionConversation),
typeof(TakeCareConversation),
typeof(EndConversation),
typeof(FirstKillObjective),
typeof(SecondKillObjective),
typeof(ThirdKillObjective),
typeof(ReturnObjective)
};
public TerribleHatchlingsQuest(PlayerMobile from)
: base(from)
{
}
// Serialization
public TerribleHatchlingsQuest()
{
}
public override Type[] TypeReferenceTable
{
get
{
return m_TypeReferenceTable;
}
}
public override object Name
{
get
{
// Terrible Hatchlings
return 1063314;
}
}
public override object OfferMessage
{
get
{
/* The Deathwatch Beetle Hatchlings have trampled through my fields
* again, what a nuisance! Please help me get rid of the terrible
* hatchlings. If you kill 10 of them, you will be rewarded.
* The Deathwatch Beetle Hatchlings live in The Waste -
* the desert close to this city.<BR><BR>
*
* Will you accept this challenge?
*/
return 1063315;
}
}
public override TimeSpan RestartDelay
{
get
{
return TimeSpan.MaxValue;
}
}
public override bool IsTutorial
{
get
{
return true;
}
}
public override int Picture
{
get
{
return 0x15CF;
}
}
public override void Accept()
{
base.Accept();
this.AddConversation(new AcceptConversation());
}
}
}