1
Fork 0
mirror of https://bitbucket.org/Ioncannon/project-meteor-server.git synced 2025-04-24 13:47:46 +00:00

Capitalized the DataObject class.

This commit is contained in:
Filip Maj 2022-02-16 15:30:32 -05:00
parent 9097e557ed
commit aae051d73f
53 changed files with 99 additions and 62 deletions

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Map.Actors;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
namespace Meteor.Map.actors.chara.ai.state
{

View file

@ -24,7 +24,7 @@ using Meteor.Common;
using Meteor.Map.actors.chara.player;
using Meteor.Map.actors.group;
using Meteor.Map.Actors.Chara;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using Meteor.Map.packets.send.actor;
using Meteor.Map.packets.send.actor.inventory;
using Meteor.Map.utils;

View file

@ -22,7 +22,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
using Meteor.Common;
using Meteor.Map.actors.chara.npc;
using Meteor.Map.Actors;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using Meteor.Map.packets.send.actor.inventory;
using System;
using System.Collections.Generic;

View file

@ -23,8 +23,8 @@ using Meteor.Common;
using System;
using System.Collections.Generic;
using MoonSharp.Interpreter;
using Meteor.Map.dataobjects;
using Meteor.Map.dataobjects.chara;
using Meteor.Map.DataObjects;
using Meteor.Map.DataObjects.chara;
using Meteor.Map.lua;
using Meteor.Map.packets.WorldPackets.Send.Group;
using Meteor.Map.utils;
@ -147,6 +147,7 @@ namespace Meteor.Map.Actors
//Quest Actors (MUST MATCH playerWork.questScenario/questGuildleve)
public Quest[] questScenario = new Quest[16];
public uint[] questGuildleve = new uint[8];
public QuestStateManager questStateManager;
//Aetheryte
public uint homepoint = 0;
@ -274,6 +275,9 @@ namespace Meteor.Map.Actors
this.aiContainer = new AIContainer(this, new PlayerController(this), null, new TargetFind(this));
allegiance = CharacterTargetingAllegiance.Player;
CalculateBaseStats();
questStateManager = new QuestStateManager(this);
questStateManager.Init();
}
public List<SubPacket> Create0x132Packets()
@ -400,9 +404,10 @@ namespace Meteor.Map.Actors
if (CurrentArea.isInn)
{
SetCutsceneBookPacket cutsceneBookPacket = new SetCutsceneBookPacket();
bool[] testComplete = new bool[2048]; //TODO: Change to playerwork.scenarioComplete
for (int i = 0; i < 2048; i++)
cutsceneBookPacket.cutsceneFlags[i] = true;
QueuePacket(cutsceneBookPacket.BuildPacket(Id, "<Path Companion>", 11, 1, 1));
testComplete[i] = true;
QueuePacket(cutsceneBookPacket.BuildPacket(Id, "<Path Companion>", 11, 1, 1, testComplete));
QueuePacket(SetPlayerDreamPacket.BuildPacket(Id, 0x16, GetInnCode()));
}
@ -1730,11 +1735,16 @@ namespace Meteor.Map.Actors
return null;
}
public Quest[] GetQuestsForNpc(Npc npc)
public Quest[] GetJournalQuestsForNpc(Npc npc)
{
return Array.FindAll(questScenario, e => e != null && e.IsQuestENPC(this, npc));
}
public Quest[] GetQuestsForNpc(Npc npc)
{
return questStateManager.GetQuestsForNpc(npc);
}
public void HandleNpcLS(uint id)
{
foreach (Quest quest in questScenario)

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
namespace Meteor.Map.dataobjects.chara
namespace Meteor.Map.DataObjects.chara
{
class PlayerWork
{

View file

@ -21,7 +21,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
using Meteor.Map.actors.chara.player;
using Meteor.Map.Actors;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using Meteor.Map.packets.send.actor.inventory;
using System.Collections.Generic;
using System.Diagnostics;

View file

@ -22,7 +22,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
using Meteor.Common;
using Meteor.Map.actors.director.Work;
using Meteor.Map.Actors;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using Meteor.Map.utils;
using System;
using System.Collections.Generic;

View file

@ -23,7 +23,7 @@ using Meteor.Common;
using Meteor.Map.actors.director;
using Meteor.Map.actors.group.Work;
using Meteor.Map.Actors;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using Meteor.Map.packets.send.group;
using Meteor.Map.packets.send.groups;
using System.Collections.Generic;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using Meteor.Map.packets.send.group;
using Meteor.Map.packets.send.groups;
using System;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using Meteor.Map.packets.send.group;
using Meteor.Map.packets.send.groups;
using System.Collections.Generic;

View file

@ -21,7 +21,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
using Meteor.Common;
using Meteor.Map.actors.group.Work;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using Meteor.Map.packets.send.group;
using Meteor.Map.packets.send.groups;
using System.Collections.Generic;

View file

@ -22,7 +22,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
using Meteor.Common;
using Meteor.Map.actors.chara.npc;
using Meteor.Map.Actors;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using Meteor.Map.packets.send.group;
using Meteor.Map.packets.send.groups;
using System.Collections.Generic;

View file

@ -21,7 +21,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
using Meteor.Common;
using Meteor.Map.actors.group.Work;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using Meteor.Map.packets.send.group;
using Meteor.Map.packets.send.groups;
using System.Collections.Generic;

View file

@ -22,7 +22,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
using System;
using System.Collections.Generic;
using System.Linq;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System.IO;
using Meteor.Map.packets.send;

View file

@ -21,7 +21,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
using MySql.Data.MySqlClient;
namespace Meteor.Map.dataobjects
namespace Meteor.Map.DataObjects
{
class GuildleveData
{

View file

@ -25,7 +25,7 @@ using MySql.Data.MySqlClient;
using System;
using System.IO;
namespace Meteor.Map.dataobjects
namespace Meteor.Map.DataObjects
{
class InventoryItem
{

View file

@ -22,7 +22,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
using MySql.Data.MySqlClient;
using System;
namespace Meteor.Map.dataobjects
namespace Meteor.Map.DataObjects
{
class ItemData
{

View file

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Meteor.Map.DataObjects
{
class QuestData
{
public uint Id { get; }
public string ClassName { get; }
public string Name { get; }
public uint PrerequisiteQuest { get; }
public int MinLevel { get; }
public int MinGCRank { get; }
public QuestData(uint id, string className, string name, uint prereq, int minLv, int minGcRank)
{
Id = id;
ClassName = className;
Name = Name;
PrerequisiteQuest = prereq;
MinLevel = minLv;
MinGCRank = minGcRank;
}
}
}

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
namespace Meteor.Map.dataobjects
namespace Meteor.Map.DataObjects
{
class RecruitmentDetails
{

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
namespace Meteor.Map.dataobjects
namespace Meteor.Map.DataObjects
{
class SeamlessBoundry
{

View file

@ -23,7 +23,7 @@ using System;
using System.IO;
using System.Text;
namespace Meteor.Map.dataobjects
namespace Meteor.Map.DataObjects
{
class SearchEntry
{

View file

@ -26,8 +26,9 @@ using Meteor.Map.packets.send.actor;
using System.Collections.Generic;
using Meteor.Map.actors.chara.npc;
using static Meteor.Map.Actors.Quest;
using static Meteor.Map.Actors.QuestState;
namespace Meteor.Map.dataobjects
namespace Meteor.Map.DataObjects
{
class Session
{
@ -167,7 +168,7 @@ namespace Meteor.Map.dataobjects
Quest[] quests = playerActor.GetQuestsForNpc(npc);
if (quests.Length != 0)
{
ENpcQuestInstance questInstance = quests[0].GetENpcInstance(npc.GetActorClassId());
QuestENpc questInstance = quests[0].GetQuestState().GetENpc(npc.GetActorClassId());
QueuePacket(npc.GetSetEventStatusPackets());
QueuePacket(SetActorQuestGraphicPacket.BuildPacket(npc.Id, questInstance.questFlagType));
}
@ -179,7 +180,7 @@ namespace Meteor.Map.dataobjects
}
}
public void UpdateQuestNpcInInstance(ENpcQuestInstance questInstance, bool clearInstance = false)
public void UpdateQuestNpcInInstance(QuestENpc questInstance, bool clearInstance = false)
{
LockUpdates(true);
Actor actor = actorInstanceList.Find(x => x is Npc npc && npc.GetActorClassId().Equals(questInstance.actorClassId));

View file

@ -19,6 +19,6 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
namespace Meteor.Map.dataobjects
namespace Meteor.Map.DataObjects
{
}

View file

@ -27,7 +27,7 @@ using System.Collections.Concurrent;
using System.Net;
using Meteor.Map.packets.WorldPackets.Send;
namespace Meteor.Map.dataobjects
namespace Meteor.Map.DataObjects
{
class ZoneConnection
{

View file

@ -22,7 +22,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
using Meteor.Map.actors.director;
using Meteor.Map.Actors;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using Meteor.Map.packets.receive.events;
using Meteor.Map.packets.send;
using Meteor.Map.packets.send.events;
@ -40,7 +40,7 @@ using Meteor.Map.actors.chara.ai.controllers;
using Meteor.Map.DataObjects;
using Meteor.Map.actors.chara.player;
using Meteor.Map.Actors.Chara;
using Meteor.Map.dataobjects.chara;
using Meteor.Map.DataObjects.chara;
using Meteor.Map.actors.chara;
namespace Meteor.Map.lua

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System.Collections.Generic;
using System.IO;

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System.Collections.Generic;
using System.IO;

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System.IO;
using Meteor.Common;

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.Collections.Generic;
using System.IO;

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System.Collections.Generic;
using System.IO;

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System.Collections.Generic;
using System.IO;

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System.Collections.Generic;
using System.IO;

View file

@ -23,7 +23,7 @@ using System;
using System.IO;
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
namespace Meteor.Map.packets.send.actor.inventory
{

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.Collections.Generic;
using System.IO;

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.Collections.Generic;
using System.IO;

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.Collections.Generic;
using System.IO;

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.Collections.Generic;
using System.IO;

View file

@ -79,9 +79,7 @@ namespace Meteor.Map.packets.send.player
public const ushort OPCODE = 0x01A3;
public const uint PACKET_SIZE = 0x150;
public bool[] cutsceneFlags = new bool[2048];
public SubPacket BuildPacket(uint sourceActorId, string sNpcName, short sNpcActorIdOffset, byte sNpcSkin, byte sNpcPersonality)
public SubPacket BuildPacket(uint sourceActorId, string sNpcName, short sNpcActorIdOffset, byte sNpcSkin, byte sNpcPersonality, bool[] completedQuests)
{
byte[] data = new byte[PACKET_SIZE - 0x20];
@ -89,7 +87,7 @@ namespace Meteor.Map.packets.send.player
{
using (BinaryWriter binWriter = new BinaryWriter(mem))
{
byte[] binStream = Utils.ConvertBoolArrayToBinaryStream(cutsceneFlags);
byte[] binStream = Utils.ConvertBoolArrayToBinaryStream(completedQuests);
//Temp Path Companion SNPC Stuff
binWriter.Seek(0x01 ,SeekOrigin.Begin);

View file

@ -19,7 +19,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
===========================================================================
*/
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.IO;
using System.Text;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.IO;
using System.Text;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System.IO;
using System.Text;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.IO;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System.IO;
using System.Text;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
namespace Meteor.Map.packets.WorldPackets.Send.Group
{

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.IO;
using System.Text;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.IO;
using System.Text;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.IO;
using System.Text;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.IO;
using System.Text;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.IO;
using System.Text;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.IO;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.IO;
using System.Text;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.IO;

View file

@ -20,7 +20,7 @@ along with Project Meteor Server. If not, see <https:www.gnu.org/licenses/>.
*/
using Meteor.Common;
using Meteor.Map.dataobjects;
using Meteor.Map.DataObjects;
using System;
using System.IO;