Exemple #1
0
 private void BuildHookProfile(WorldObject hookedItem)
 {
     HookProfile = new HookProfile();
     if (hookedItem.Inscribable)
     {
         HookProfile.Flags |= HookFlags.Inscribable;
     }
     if (hookedItem is Healer)
     {
         HookProfile.Flags |= HookFlags.IsHealer;
     }
     if (hookedItem is Food)
     {
         HookProfile.Flags |= HookFlags.IsFood;
     }
     if (hookedItem is Lockpick)
     {
         HookProfile.Flags |= HookFlags.IsLockpick;
     }
     if (hookedItem.ValidLocations != null)
     {
         HookProfile.ValidLocations = hookedItem.ValidLocations.Value;
     }
     if (hookedItem.AmmoType != null)
     {
         HookProfile.AmmoType = hookedItem.AmmoType.Value;
     }
 }
Exemple #2
0
        private void BuildHookProfile(WorldObject hookedItem)
        {
            HookProfile = new HookProfile();
            if (hookedItem.Inscription != null)
            {
                HookProfile.Flags |= HookFlags.Inscribable;
            }
            if (hookedItem.ValidLocations != null)
            {
                HookProfile.ValidLocations = (uint)hookedItem.ValidLocations;
            }

            // This only handles basic Arrow, Quarrels and Darts. It does not, for instance, handle Crystal Arrows.
            // How were those handled?
            if (hookedItem.AmmoType != null)
            {
                if ((hookedItem.AmmoType & AmmoType.Arrow) != 0)
                {
                    HookProfile.AmmoType |= HookAmmoType.Arrow;
                }
                if ((hookedItem.AmmoType & AmmoType.Bolt) != 0)
                {
                    HookProfile.AmmoType |= HookAmmoType.Bolt;
                }
                if ((hookedItem.AmmoType & AmmoType.Atlatl) != 0)
                {
                    HookProfile.AmmoType |= HookAmmoType.Dart;
                }
            }
        }
Exemple #3
0
 public static void Write(this BinaryWriter writer, HookProfile hook)
 {
     writer.Write((uint)hook.Flags);
     writer.Write(hook.ValidLocations);
     writer.Write((ushort)hook.AmmoType);
 }