示例#1
0
		public VehicleSeat(Vehicle vehicle, VehicleSeatEntry entry, byte index, bool driver)
		{
			Vehicle = vehicle;
			Entry = entry;
			Index = index;
			IsDriverSeat = driver;
		}
示例#2
0
		protected internal override void CheckInitialize(SpellCast creatingCast, ObjectReference casterReference, Unit target, ref SpellFailedReason failReason)
		{
			Caster = casterReference.Object as Unit;
			if (Caster == null || Caster is Vehicle)
			{
				log.Warn("Invalid SpellCaster \"{0}\" for Spell: {1}", Caster, SpellEffect.Spell);
				failReason = SpellFailedReason.Error;
				return;
			}

			Vehicle = target as Vehicle;
			if (Vehicle == null)
			{
				failReason = SpellFailedReason.BadTargets;
			}
			else
			{
				Seat = Vehicle.GetSeatFor(Caster);
				if (Seat == null)
				{
					// must never happen since Vehicle is unclickable when full
					failReason = SpellFailedReason.BadTargets;
				}
			}
		}
示例#3
0
		public VehicleSeat(Vehicle vehicle, VehicleSeatEntry entry, byte index)
		{
			Vehicle = vehicle;
			Entry = entry;
			Index = index;
		}
示例#4
0
		public static void SendVehicleSpells(IPacketReceiver receiver, Vehicle vehicle)
		{
			using (var packet = new RealmPacketOut(RealmServerOpCode.SMSG_PET_SPELLS, 18))
			{
				packet.Write(vehicle.EntityId);
				packet.Write((short)0);
				packet.Write(0);
				packet.Write(0x00000101);

				for (var i = 0; i < 10; i++)
				{
					packet.Write((short)0);
					packet.Write((byte)0);
					packet.Write((byte)i + 8);
				}

				packet.Write((short)0);

				receiver.Send(packet);
			}
		}