#W# Source and Scripts added. Added Scripts/Settings.cs to expose some basic tweak able settings.
This commit is contained in:
parent
b51c58f514
commit
3045c83799
3512 changed files with 627673 additions and 0 deletions
216
Scripts/Engines/Quests/Solen Matriarch/Objectives.cs
Normal file
216
Scripts/Engines/Quests/Solen Matriarch/Objectives.cs
Normal file
|
|
@ -0,0 +1,216 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Mobiles;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Engines.Quests.Matriarch
|
||||
{
|
||||
public class KillInfiltratorsObjective : QuestObjective
|
||||
{
|
||||
public override object Message
|
||||
{
|
||||
get
|
||||
{
|
||||
// Kill 7 black/red solen infiltrators.
|
||||
return ((SolenMatriarchQuest)System).RedSolen ? 1054086 : 1054085;
|
||||
}
|
||||
}
|
||||
|
||||
public override int MaxProgress{ get{ return 7; } }
|
||||
|
||||
public KillInfiltratorsObjective()
|
||||
{
|
||||
}
|
||||
|
||||
public override void RenderProgress( BaseQuestGump gump )
|
||||
{
|
||||
if ( !Completed )
|
||||
{
|
||||
// Black/Red Solen Infiltrators killed:
|
||||
gump.AddHtmlLocalized( 70, 260, 270, 100, ((SolenMatriarchQuest)System).RedSolen ? 1054088 : 1054087, BaseQuestGump.Blue, false, false );
|
||||
gump.AddLabel( 70, 280, 0x64, CurProgress.ToString() );
|
||||
gump.AddLabel( 100, 280, 0x64, "/" );
|
||||
gump.AddLabel( 130, 280, 0x64, MaxProgress.ToString() );
|
||||
}
|
||||
else
|
||||
{
|
||||
base.RenderProgress( gump );
|
||||
}
|
||||
}
|
||||
|
||||
public override bool IgnoreYoungProtection( Mobile from )
|
||||
{
|
||||
if ( Completed )
|
||||
return false;
|
||||
|
||||
bool redSolen = ((SolenMatriarchQuest)System).RedSolen;
|
||||
|
||||
if ( redSolen )
|
||||
return from is BlackSolenInfiltratorWarrior || from is BlackSolenInfiltratorQueen;
|
||||
else
|
||||
return from is RedSolenInfiltratorWarrior || from is RedSolenInfiltratorQueen;
|
||||
}
|
||||
|
||||
public override void OnKill( BaseCreature creature, Container corpse )
|
||||
{
|
||||
bool redSolen = ((SolenMatriarchQuest)System).RedSolen;
|
||||
|
||||
if ( redSolen )
|
||||
{
|
||||
if ( creature is BlackSolenInfiltratorWarrior || creature is BlackSolenInfiltratorQueen )
|
||||
CurProgress++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( creature is RedSolenInfiltratorWarrior || creature is RedSolenInfiltratorQueen )
|
||||
CurProgress++;
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddObjective( new ReturnAfterKillsObjective() );
|
||||
}
|
||||
}
|
||||
|
||||
public class ReturnAfterKillsObjective : QuestObjective
|
||||
{
|
||||
public override object Message
|
||||
{
|
||||
get
|
||||
{
|
||||
/* You've completed your task of slaying solen infiltrators. Return to the
|
||||
* Matriarch who gave you this task.
|
||||
*/
|
||||
return 1054090;
|
||||
}
|
||||
}
|
||||
|
||||
public ReturnAfterKillsObjective()
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation( new GatherWaterConversation() );
|
||||
}
|
||||
}
|
||||
|
||||
public class GatherWaterObjective : QuestObjective
|
||||
{
|
||||
public override object Message
|
||||
{
|
||||
get
|
||||
{
|
||||
// Gather 8 gallons of water for the water vats of the solen ant lair.
|
||||
return 1054092;
|
||||
}
|
||||
}
|
||||
|
||||
public override int MaxProgress{ get{ return 40; } }
|
||||
|
||||
public GatherWaterObjective()
|
||||
{
|
||||
}
|
||||
|
||||
public override void RenderProgress( BaseQuestGump gump )
|
||||
{
|
||||
if ( !Completed )
|
||||
{
|
||||
gump.AddHtmlLocalized( 70, 260, 270, 100, 1054093, BaseQuestGump.Blue, false, false ); // Gallons of Water gathered:
|
||||
gump.AddLabel( 70, 280, 0x64, (CurProgress / 5).ToString() );
|
||||
gump.AddLabel( 100, 280, 0x64, "/" );
|
||||
gump.AddLabel( 130, 280, 0x64, (MaxProgress / 5).ToString() );
|
||||
}
|
||||
else
|
||||
{
|
||||
base.RenderProgress( gump );
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddObjective( new ReturnAfterWaterObjective() );
|
||||
}
|
||||
}
|
||||
|
||||
public class ReturnAfterWaterObjective : QuestObjective
|
||||
{
|
||||
public override object Message
|
||||
{
|
||||
get
|
||||
{
|
||||
// You've completed your task of gathering water. Return to the Matriarch who gave you this task.
|
||||
return 1054095;
|
||||
}
|
||||
}
|
||||
|
||||
public ReturnAfterWaterObjective()
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
PlayerMobile player = System.From;
|
||||
bool redSolen = ((SolenMatriarchQuest)System).RedSolen;
|
||||
|
||||
bool friend = SolenMatriarchQuest.IsFriend( player, redSolen );
|
||||
|
||||
System.AddConversation( new ProcessFungiConversation( friend ) );
|
||||
|
||||
if ( redSolen )
|
||||
player.SolenFriendship = SolenFriendship.Red;
|
||||
else
|
||||
player.SolenFriendship = SolenFriendship.Black;
|
||||
}
|
||||
}
|
||||
|
||||
public class ProcessFungiObjective : QuestObjective
|
||||
{
|
||||
public override object Message
|
||||
{
|
||||
get
|
||||
{
|
||||
// Give the Solen Matriarch a stack of zoogi fungus to process into powder of translocation.
|
||||
return 1054098;
|
||||
}
|
||||
}
|
||||
|
||||
public ProcessFungiObjective()
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
if ( SolenMatriarchQuest.GiveRewardTo( System.From ) )
|
||||
{
|
||||
System.Complete();
|
||||
}
|
||||
else
|
||||
{
|
||||
System.AddConversation( new FullBackpackConversation( true ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class GetRewardObjective : QuestObjective
|
||||
{
|
||||
public override object Message
|
||||
{
|
||||
get
|
||||
{
|
||||
// Return to the solen matriarch for your reward.
|
||||
return 1054149;
|
||||
}
|
||||
}
|
||||
|
||||
public GetRewardObjective()
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation( new EndConversation() );
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue