178 lines
No EOL
3.6 KiB
C#
178 lines
No EOL
3.6 KiB
C#
using System;
|
|
using Server;
|
|
using Server.Items;
|
|
using Server.Mobiles;
|
|
|
|
namespace Server.Engines.Quests.Zento
|
|
{
|
|
public class FirstKillObjective : QuestObjective
|
|
{
|
|
public override object Message
|
|
{
|
|
get
|
|
{
|
|
// Kill 10 Deathwatch Beetle Hatchlings and return to Ansella Gryen.
|
|
return 1063316;
|
|
}
|
|
}
|
|
|
|
public override void RenderProgress( BaseQuestGump gump )
|
|
{
|
|
if ( !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 FirstKillObjective()
|
|
{
|
|
}
|
|
|
|
public override void OnKill( BaseCreature creature, Container corpse )
|
|
{
|
|
if ( creature is DeathwatchBeetleHatchling )
|
|
Complete();
|
|
}
|
|
|
|
public override void OnComplete()
|
|
{
|
|
System.AddObjective( new SecondKillObjective() );
|
|
}
|
|
}
|
|
|
|
public class SecondKillObjective : QuestObjective
|
|
{
|
|
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 ( !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 SecondKillObjective()
|
|
{
|
|
}
|
|
|
|
public override void OnKill( BaseCreature creature, Container corpse )
|
|
{
|
|
if ( creature is DeathwatchBeetleHatchling )
|
|
{
|
|
Complete();
|
|
System.AddObjective( new ThirdKillObjective( 2 ) );
|
|
}
|
|
}
|
|
|
|
public override void OnRead()
|
|
{
|
|
if ( !Completed )
|
|
{
|
|
Complete();
|
|
System.AddObjective( new ThirdKillObjective( 1 ) );
|
|
}
|
|
}
|
|
}
|
|
|
|
public class ThirdKillObjective : QuestObjective
|
|
{
|
|
public override object Message
|
|
{
|
|
get
|
|
{
|
|
// Continue killing Deathwatch Beetle Hatchlings.
|
|
return 1063319;
|
|
}
|
|
}
|
|
|
|
public override void RenderProgress( BaseQuestGump gump )
|
|
{
|
|
if ( !Completed )
|
|
{
|
|
// Deathwatch Beetle Hatchlings killed:
|
|
gump.AddHtmlLocalized( 70, 260, 270, 100, 1063318, 0x12DC6BF, false, false );
|
|
|
|
gump.AddLabel( 70, 280, 0x64, CurProgress.ToString() );
|
|
gump.AddLabel( 100, 280, 0x64, "/" );
|
|
gump.AddLabel( 130, 280, 0x64, "10" );
|
|
}
|
|
else
|
|
{
|
|
base.RenderProgress( gump );
|
|
}
|
|
}
|
|
|
|
public override int MaxProgress{ get{ return 10; } }
|
|
|
|
public ThirdKillObjective( int startingProgress )
|
|
{
|
|
CurProgress = startingProgress;
|
|
}
|
|
|
|
public ThirdKillObjective()
|
|
{
|
|
}
|
|
|
|
public override void OnKill( BaseCreature creature, Container corpse )
|
|
{
|
|
if ( creature is DeathwatchBeetleHatchling )
|
|
CurProgress++;
|
|
}
|
|
|
|
public override void OnComplete()
|
|
{
|
|
System.AddObjective( new ReturnObjective() );
|
|
}
|
|
}
|
|
|
|
public class ReturnObjective : QuestObjective
|
|
{
|
|
public override object Message
|
|
{
|
|
get
|
|
{
|
|
// Return to Ansella Gryen for your reward.
|
|
return 1063313;
|
|
}
|
|
}
|
|
|
|
public ReturnObjective()
|
|
{
|
|
}
|
|
|
|
public override void OnComplete()
|
|
{
|
|
System.AddConversation( new EndConversation() );
|
|
}
|
|
}
|
|
} |