mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-07-24 11:28:22 +02:00
Fixed bugs and edited scripts causing the limsa intro to fail.
This commit is contained in:
parent
bbbab356af
commit
0b67f8e436
8 changed files with 81 additions and 46 deletions
|
@ -1487,17 +1487,18 @@ namespace Meteor.Map.Actors
|
|||
}
|
||||
|
||||
// Replace a quest with another quest in the player's quest state.
|
||||
public void ReplaceQuest(Quest oldQuestInstance, Quest newQuestInstance)
|
||||
public void ReplaceQuest(Quest oldQuestInstance, string questName)
|
||||
{
|
||||
for (int i = 0; i < questScenario.Length; i++)
|
||||
{
|
||||
if (questScenario[i] != null && questScenario[i].Equals(oldQuestInstance))
|
||||
{
|
||||
questScenario[i] = newQuestInstance;
|
||||
playerWork.questScenario[i] = questScenario[i].Id;
|
||||
{
|
||||
SendQuestClientUpdate(i);
|
||||
oldQuestInstance.OnComplete();
|
||||
questStateManager.UpdateQuestCompleted(oldQuestInstance);
|
||||
Quest newQuestInstance = questStateManager.GetActiveQuest(((Quest)Server.GetStaticActors(questName)).GetQuestId());
|
||||
questScenario[i] = newQuestInstance;
|
||||
playerWork.questScenario[i] = questScenario[i].Id;
|
||||
newQuestInstance.OnAccept();
|
||||
Database.SaveQuest(this, questScenario[i], i);
|
||||
break;
|
||||
|
|
|
@ -58,6 +58,16 @@ namespace Meteor.Map.Actors.QuestNS
|
|||
questState.UpdateState();
|
||||
}
|
||||
|
||||
// Creates a Instance Quest that has been started with data.
|
||||
public Quest(Player owner, Quest staticQuest, ushort sequence, uint flags, ushort counter1, ushort counter2, ushort counter3, ushort counter4) : this(staticQuest)
|
||||
{
|
||||
this.owner = owner;
|
||||
currentSequence = sequence;
|
||||
data = new QuestData(owner, this, flags, counter1, counter2, counter3, counter4);
|
||||
questState = new QuestState(owner, this);
|
||||
questState.UpdateState();
|
||||
}
|
||||
|
||||
// Creates a Instance Quest that has not been started.
|
||||
public Quest(Player owner, Quest staticQuest) : this(owner, staticQuest, SEQ_NOT_STARTED)
|
||||
{ }
|
||||
|
@ -98,10 +108,6 @@ namespace Meteor.Map.Actors.QuestNS
|
|||
#endregion
|
||||
|
||||
#region Quest Data
|
||||
public void SetData(uint flags, ushort counter1, ushort counter2, ushort counter3, ushort counter4)
|
||||
{
|
||||
data = new QuestData(owner, this, flags, counter1, counter2, counter3, counter4);
|
||||
}
|
||||
|
||||
public QuestData GetData()
|
||||
{
|
||||
|
|
|
@ -1235,10 +1235,8 @@ namespace Meteor.Map
|
|||
//ushort counter4 = reader.GetUInt16("counter4");
|
||||
|
||||
Quest baseQuest = (Quest) Server.GetStaticActors(questId);
|
||||
|
||||
player.playerWork.questScenario[index] = questId;
|
||||
player.questScenario[index] = new Quest(player, baseQuest, sequence);
|
||||
player.questScenario[index].SetData(flags, counter1, counter2, counter3, 0);
|
||||
player.questScenario[index] = new Quest(player, baseQuest, sequence, flags, counter1, counter2, counter3, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue