1
Fork 0
mirror of https://bitbucket.org/Ioncannon/project-meteor-server.git synced 2025-04-22 20:57:47 +00:00
This commit is contained in:
Filip Maj 2016-01-09 21:35:45 -05:00
parent c9f35a207b
commit 44c45c4ad2
4 changed files with 57 additions and 56 deletions

View file

@ -39,9 +39,17 @@ namespace FFXIVClassic_Map_Server.dataobjects
public string className;
public List<LuaParam> classParams;
public Actor(uint Id)
public Actor(uint actorId)
{
actorId = Id;
this.actorId = actorId;
}
public Actor(uint actorId, string actorName, string className, List<LuaParam> classParams)
{
this.actorId = actorId;
this.actorName = actorName;
this.className = className;
this.classParams = classParams;
}
public SubPacket createAddActorPacket(uint playerActorId)
@ -91,7 +99,7 @@ namespace FFXIVClassic_Map_Server.dataobjects
public virtual SubPacket createScriptBindPacket(uint playerActorId)
{
return null;
return ActorInstantiatePacket.buildPacket(actorId, playerActorId, actorName, className, classParams);
}
public virtual BasePacket getInitPackets(uint playerActorId)
@ -103,6 +111,7 @@ namespace FFXIVClassic_Map_Server.dataobjects
subpackets.Add(createNamePacket(playerActorId));
subpackets.Add(createStatePacket(playerActorId));
subpackets.Add(createIsZoneingPacket(playerActorId));
subpackets.Add(createScriptBindPacket(playerActorId));
return BasePacket.createPacket(subpackets, true, false);
}

View file

@ -36,8 +36,8 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara
public const int R_FINGER = 23;
public const int L_FINGER = 24;
public uint modelID;
public uint[] appearanceIDs = new uint[0x1D];
public uint modelId;
public uint[] appearanceIds = new uint[0x1D];
public uint animationId = 0;
@ -49,13 +49,13 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara
public CharaWork charaWork = new CharaWork();
public PlayerWork playerWork = new PlayerWork();
public Character(uint actorID) : base(actorID)
public Character(uint actorId) : base(actorId)
{
}
public SubPacket createAppearancePacket(uint playerActorId)
{
SetActorAppearancePacket setappearance = new SetActorAppearancePacket(modelID, appearanceIDs);
SetActorAppearancePacket setappearance = new SetActorAppearancePacket(modelId, appearanceIds);
return setappearance.buildPacket(actorId, playerActorId);
}

View file

@ -40,50 +40,43 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara.npc
if (appearance == null)
return;
modelID = DBAppearance.getTribeModel(appearance.tribe);
appearanceIDs[SIZE] = appearance.size;
appearanceIDs[COLORINFO] = (uint)(appearance.skinColor | (appearance.hairColor << 10) | (appearance.eyeColor << 20));
appearanceIDs[FACEINFO] = PrimitiveConversion.ToUInt32(appearance.getFaceInfo());
appearanceIDs[HIGHLIGHT_HAIR] = (uint)(appearance.hairHighlightColor | appearance.hairStyle << 10);
appearanceIDs[VOICE] = appearance.voice;
appearanceIDs[WEAPON1] = appearance.mainHand;
appearanceIDs[WEAPON2] = appearance.offHand;
appearanceIDs[HEADGEAR] = appearance.head;
appearanceIDs[BODYGEAR] = appearance.body;
appearanceIDs[LEGSGEAR] = appearance.legs;
appearanceIDs[HANDSGEAR] = appearance.hands;
appearanceIDs[FEETGEAR] = appearance.feet;
appearanceIDs[WAISTGEAR] = appearance.waist;
appearanceIDs[R_EAR] = appearance.rightEar;
appearanceIDs[L_EAR] = appearance.leftEar;
appearanceIDs[R_FINGER] = appearance.rightFinger;
appearanceIDs[L_FINGER] = appearance.leftFinger;
modelId = DBAppearance.getTribeModel(appearance.tribe);
appearanceIds[SIZE] = appearance.size;
appearanceIds[COLORINFO] = (uint)(appearance.skinColor | (appearance.hairColor << 10) | (appearance.eyeColor << 20));
appearanceIds[FACEINFO] = PrimitiveConversion.ToUInt32(appearance.getFaceInfo());
appearanceIds[HIGHLIGHT_HAIR] = (uint)(appearance.hairHighlightColor | appearance.hairStyle << 10);
appearanceIds[VOICE] = appearance.voice;
appearanceIds[WEAPON1] = appearance.mainHand;
appearanceIds[WEAPON2] = appearance.offHand;
appearanceIds[HEADGEAR] = appearance.head;
appearanceIds[BODYGEAR] = appearance.body;
appearanceIds[LEGSGEAR] = appearance.legs;
appearanceIds[HANDSGEAR] = appearance.hands;
appearanceIds[FEETGEAR] = appearance.feet;
appearanceIds[WAISTGEAR] = appearance.waist;
appearanceIds[R_EAR] = appearance.rightEar;
appearanceIds[L_EAR] = appearance.leftEar;
appearanceIds[R_FINGER] = appearance.rightFinger;
appearanceIds[L_FINGER] = appearance.leftFinger;
}
public override SubPacket createScriptBindPacket(uint playerActorId)
{
List<LuaParam> lParams;
lParams = LuaUtils.createLuaParamList("/Chara/Player/Player_work", false, false, false, false, false, true);
return ActorInstantiatePacket.buildPacket(actorId, playerActorId, actorName, className, lParams);
}
public override BasePacket getInitPackets(uint playerActorId)
{
List<SubPacket> subpackets = new List<SubPacket>();
subpackets.Add(createAddActorPacket(playerActorId));
subpackets.Add(createAddActorPacket(playerActorId));
subpackets.Add(createSpeedPacket(playerActorId));
subpackets.Add(createSpawnPositonPacket(playerActorId, 0xFF));
subpackets.Add(createSpawnPositonPacket(playerActorId, 0x1));
subpackets.Add(createAppearancePacket(playerActorId));
subpackets.Add(createNamePacket(playerActorId));
subpackets.Add(_0xFPacket.buildPacket(playerActorId, playerActorId));
subpackets.Add(createStatePacket(playerActorId));
subpackets.Add(createIdleAnimationPacket(playerActorId));
subpackets.Add(createInitStatusPacket(playerActorId));
subpackets.Add(createSetActorIconPacket(playerActorId));
subpackets.Add(createIsZoneingPacket(playerActorId));
//subpackets.Add(createScriptBindPacket(playerActorId));
subpackets.Add(createScriptBindPacket(playerActorId));
return BasePacket.createPacket(subpackets, true, false);
}

View file

@ -79,24 +79,24 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara
{
DBAppearance appearance = Database.getAppearance(true, actorId);
modelID = DBAppearance.getTribeModel(appearance.tribe);
appearanceIDs[SIZE] = appearance.size;
appearanceIDs[COLORINFO] = (uint)(appearance.skinColor | (appearance.hairColor << 10) | (appearance.eyeColor << 20));
appearanceIDs[FACEINFO] = PrimitiveConversion.ToUInt32(appearance.getFaceInfo());
appearanceIDs[HIGHLIGHT_HAIR] = (uint)(appearance.hairHighlightColor | appearance.hairStyle << 10);
appearanceIDs[VOICE] = appearance.voice;
appearanceIDs[WEAPON1] = appearance.mainHand;
appearanceIDs[WEAPON2] = appearance.offHand;
appearanceIDs[HEADGEAR] = appearance.head;
appearanceIDs[BODYGEAR] = appearance.body;
appearanceIDs[LEGSGEAR] = appearance.legs;
appearanceIDs[HANDSGEAR] = appearance.hands;
appearanceIDs[FEETGEAR] = appearance.feet;
appearanceIDs[WAISTGEAR] = appearance.waist;
appearanceIDs[R_EAR] = appearance.rightEar;
appearanceIDs[L_EAR] = appearance.leftEar;
appearanceIDs[R_FINGER] = appearance.rightFinger;
appearanceIDs[L_FINGER] = appearance.leftFinger;
modelId = DBAppearance.getTribeModel(appearance.tribe);
appearanceIds[SIZE] = appearance.size;
appearanceIds[COLORINFO] = (uint)(appearance.skinColor | (appearance.hairColor << 10) | (appearance.eyeColor << 20));
appearanceIds[FACEINFO] = PrimitiveConversion.ToUInt32(appearance.getFaceInfo());
appearanceIds[HIGHLIGHT_HAIR] = (uint)(appearance.hairHighlightColor | appearance.hairStyle << 10);
appearanceIds[VOICE] = appearance.voice;
appearanceIds[WEAPON1] = appearance.mainHand;
appearanceIds[WEAPON2] = appearance.offHand;
appearanceIds[HEADGEAR] = appearance.head;
appearanceIds[BODYGEAR] = appearance.body;
appearanceIds[LEGSGEAR] = appearance.legs;
appearanceIds[HANDSGEAR] = appearance.hands;
appearanceIds[FEETGEAR] = appearance.feet;
appearanceIds[WAISTGEAR] = appearance.waist;
appearanceIds[R_EAR] = appearance.rightEar;
appearanceIds[L_EAR] = appearance.leftEar;
appearanceIds[R_FINGER] = appearance.rightFinger;
appearanceIds[L_FINGER] = appearance.leftFinger;
}
public List<SubPacket> create0x132Packets(uint playerActorId)
@ -122,7 +122,6 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara
}
else
lParams = LuaUtils.createLuaParamList("/Chara/Player/Player_work", false, false, false, false, false, true);
return ActorInstantiatePacket.buildPacket(actorId, playerActorId, actorName, className, lParams);
}