Added homepoint and aetheryte code. You can set the homepoint on an aetheryte or inn and the return menu will show the correct response. Added effects/msgs to teleport/return. Some sql changes I forgot.

This commit is contained in:
Filip Maj
2017-05-01 22:30:43 -04:00
parent 8c9ecebae6
commit 1516e0bc50
18 changed files with 481 additions and 140 deletions

View File

@@ -104,7 +104,12 @@ namespace FFXIVClassic_Map_Server.Actors
propPacketUtil.AddProperty("charaWork.currentContentGroup");
player.QueuePackets(propPacketUtil.Done());
}
}
}
public void PlayAnimation(uint animId)
{
zone.BroadcastPacketAroundActor(this, PlayAnimationOnActorPacket.BuildPacket(actorId, actorId, animId));
}
}

View File

@@ -128,6 +128,10 @@ namespace FFXIVClassic_Map_Server.Actors
public Quest[] questScenario = new Quest[16];
public Quest[] questGuildleve = new Quest[8];
//Aetheryte
public uint homepoint = 0;
public byte homepointInn = 0;
private List<Director> ownedDirectors = new List<Director>();
private Director loginInitDirector = null;
@@ -1039,6 +1043,36 @@ namespace FFXIVClassic_Map_Server.Actors
return playerWork.initialTown;
}
public uint GetHomePoint()
{
return homepoint;
}
public byte GetHomePointInn()
{
return homepointInn;
}
public void SetHomePoint(uint aetheryteId)
{
homepoint = aetheryteId;
Database.SavePlayerHomePoints(this);
}
public void SetHomePointInn(byte townId)
{
homepointInn = townId;
Database.SavePlayerHomePoints(this);
}
public bool HasAetheryteNodeUnlocked(uint aetheryteId)
{
if (aetheryteId != 0)
return true;
else
return false;
}
public int GetFreeQuestSlot()
{
for (int i = 0; i < questScenario.Length; i++)
@@ -1527,6 +1561,8 @@ namespace FFXIVClassic_Map_Server.Actors
currentParty = null;
}
public void Update(double delta)
{
LuaEngine.GetInstance().CallLuaFunction(this, this, "OnUpdate", true, delta);