Пример #1
0
 /// <summary>
 /// </summary>
 /// <param name="character">
 /// </param>
 /// <param name="destination">
 /// </param>
 /// <param name="heading">
 /// </param>
 /// <param name="playfield">
 /// </param>
 /// <returns>
 /// </returns>
 private MessageDataFiller NormalTeleport(
     ICharacter character,
     Vector3 destination,
     Quaternion heading,
     Identity playfield)
 {
     return(x =>
     {
         x.Identity = character.Identity;
         x.Destination = new SmokeLounge.AOtomation.Messaging.GameData.Vector3()
         {
             X = (float)destination.x,
             Y = (float)destination.y,
             Z = (float)destination.z
         };
         x.Heading = new SmokeLounge.AOtomation.Messaging.GameData.Quaternion()
         {
             X = (float)heading.x,
             Y = (float)heading.x,
             Z = (float)heading.y,
             W = (float)heading.w
         };
         x.Unknown1 = 0x61;
         x.Playfield = new Identity()
         {
             Type = IdentityType.Playfield1, Instance = playfield.Instance
         };
         x.ChangePlayfield = ((playfield.Instance != character.Playfield.Identity.Instance) ||
                              (playfield.Type != character.Playfield.Identity.Type))
             ? new Identity {
             Type = IdentityType.Playfield2, Instance = playfield.Instance
         }
             : Identity.None;
         x.Playfield2 = new Identity()
         {
             Type = IdentityType.Playfield3, Instance = playfield.Instance
         };
     });
 }
Пример #2
0
 /// <summary>
 /// </summary>
 /// <param name="character">
 /// </param>
 /// <param name="destination">
 /// </param>
 /// <param name="heading">
 /// </param>
 /// <param name="playfield">
 /// </param>
 /// <param name="playfieldInstance">
 /// </param>
 /// <param name="GS">
 /// </param>
 /// <param name="SG">
 /// </param>
 /// <param name="destinationidentity">
 /// </param>
 /// <returns>
 /// </returns>
 private MessageDataFiller ProxyTeleport(
     ICharacter character,
     Vector3 destination,
     Quaternion heading,
     int playfield,
     Identity playfieldInstance,
     int GS,
     int SG,
     Identity destinationidentity)
 {
     return(x =>
     {
         x.Identity = character.Identity;
         x.Destination = new SmokeLounge.AOtomation.Messaging.GameData.Vector3()
         {
             X = (float)destination.x,
             Y = (float)destination.y,
             Z = (float)destination.z
         };
         x.Heading = new SmokeLounge.AOtomation.Messaging.GameData.Quaternion()
         {
             X = (float)heading.x,
             Y = (float)heading.y,
             Z = (float)heading.z,
             W = (float)heading.w
         };
         x.Unknown1 = 0x61;
         x.Playfield = playfieldInstance;
         x.GameServerId = GS;
         x.SgId = SG;
         x.ChangePlayfield = ((playfield != character.Playfield.Identity.Instance) ||
                              (IdentityType.Playfield != character.Playfield.Identity.Type))
             ? new Identity {
             Type = IdentityType.Playfield2, Instance = playfield
         }
             : Identity.None;
         x.Playfield2 = destinationidentity;
     });
 }
Пример #3
0
 /// <summary>
 /// </summary>
 /// <param name="character">
 /// </param>
 /// <param name="destination">
 /// </param>
 /// <param name="heading">
 /// </param>
 /// <param name="playfield">
 /// </param>
 /// <param name="playfieldInstance">
 /// </param>
 /// <param name="GS">
 /// </param>
 /// <param name="SG">
 /// </param>
 /// <param name="destinationidentity">
 /// </param>
 public void SendTeleportProxy(
     ICharacter character,
     Vector3 destination,
     Quaternion heading,
     int playfield,
     Identity playfieldInstance,
     int GS,
     int SG,
     Identity destinationidentity)
 {
     this.Send(
         character,
         this.ProxyTeleport(
             character,
             destination,
             heading,
             playfield,
             playfieldInstance,
             GS,
             SG,
             destinationidentity),
         false);
 }
Пример #4
0
 /// <summary>
 /// </summary>
 /// <param name="character">
 /// </param>
 /// <param name="destination">
 /// </param>
 /// <param name="heading">
 /// </param>
 /// <param name="playfield">
 /// </param>
 public void Send(ICharacter character, Vector3 destination, Quaternion heading, Identity playfield)
 {
     this.Send(character, this.NormalTeleport(character, destination, heading, playfield), false);
 }