Skip to content

FR Runtime Helpers D

Codex edited this page Oct 17, 2026 · 4 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Fonctions auxiliaires D

Code interne de l’implémentation ; ce n’est pas un script autonome.

ClassicUO.CSharp.CSharpCallbacks.Start

Exécute les appels et les modifications d’état indiqués.

Paramètres: string name, params string[] arguments

Source: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:175.

public bool Start(string name, params string[] arguments)

Résultat: bool.

Conditions:

  • !routines.TryGetValue(name, out routine!)
  • active.Any(call => call.Name.Equals(name, StringComparison.OrdinalIgnoreCase))
  • !IsDisposed

Appels:

  • Verify
  • (name ?? "").Trim
  • routines.TryGetValue
  • nameof
  • active.Any
  • call.Name.Equals
  • active.Add
  • arguments.Clone
  • Task.Run
  • BindWorker
  • checkpoint
  • routine.Handler(values).ConfigureAwait
  • routine.Handler
  • failures.Enqueue
  • active.Remove
  • invocation.Cancellation.Cancel
  • invocation.Cancellation.Dispose

Code interne de l’implémentation ; ce n’est pas un script autonome.

public bool Start(string name, params string[] arguments)
    {
        Verify();
        name = (name ?? "").Trim();
        Routine routine;
        Invocation invocation;
        lock (sync)
        {
            Verify();
            if (!routines.TryGetValue(name, out routine!))
                throw new ArgumentException($"Register the C# routine '{name}' in this execution before calling it.", nameof(name));
            // Cancellation requests do not complete arbitrary user awaits or
            // finally blocks. Keep the name reserved until the worker's finally
            // removes its invocation, even though IsRunning already reports 0.
            if (active.Any(call => call.Name.Equals(name, StringComparison.OrdinalIgnoreCase))) return false;
            invocation = new Invocation(name, token);
            active.Add(invocation);
        }
        var values = (string[])arguments.Clone();
        _ = Task.Run(async () =>
        {
            using var context = BindWorker();
            currentInvocation.Value = invocation;
            try
            {
                Verify(); checkpoint(); Verify();
                await routine.Handler(values).ConfigureAwait(false);
                Verify();
            }
            catch (OperationCanceledException) when (token.IsCancellationRequested || invocation.Cancellation.IsCancellationRequested || IsDisposed) { }
            catch (Exception error) { if (!IsDisposed) failures.Enqueue(new(name, error)); }
            finally
            {
                currentInvocation.Value = null;
                lock (sync) active.Remove(invocation);
                invocation.Cancellation.Cancel();
                invocation.Cancellation.Dispose();
            }
        });
        return true;
    }

ClassicUO.Configuration.ProfileManager.UnLoadProfile

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:564.

public static void UnLoadProfile()

Résultat: void.

Appels:

  • ClientFontManager.Invalidate

Code interne de l’implémentation ; ce n’est pas un script autonome.

public static void UnLoadProfile()

        {

            GlobalProfile = null;

            CurrentProfile = null;

            ProfilePath = null;

            CurrentCharacterSerial = 0;

            CurrentServerIdentity = null;

            ClientFontManager.Invalidate();

        }

ClassicUO.Game.Data.StaticFilters.IsRock

Exécute les appels et les modifications d’état indiqués.

Paramètres: ushort g

Source: Project_Full/src/ClassicUO.Client/Game/Data/StaticFilters.cs:276.

public static bool IsRock(ushort g)

Résultat: bool.

Appels:

—

Code interne de l’implémentation ; ce n’est pas un script autonome.

[MethodImpl(MethodImplOptions.AggressiveInlining)]
        public static bool IsRock(ushort g)
        {
            switch (g)
            {
                case 4945:
                case 4948:
                case 4950:
                case 4953:
                case 4955:
                case 4958:
                case 4959:
                case 4960:
                case 4962: return true;

                default: return g >= 6001 && g <= 6012;
            }
        }

ClassicUO.Game.GameActions.NormalizeLocalDisplayFont

Exécute les appels et les modifications d’état indiqués.

Paramètres: string text, ref byte font, ref bool unicode

Source: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:462.

private static void NormalizeLocalDisplayFont(string text, ref byte font, ref bool unicode)

Résultat: void.

Conditions:

  • fonts == null

Appels:

  • ResolveLocalDisplayFont

Code interne de l’implémentation ; ce n’est pas un script autonome.

private static void NormalizeLocalDisplayFont(string text, ref byte font, ref bool unicode)
        {
            var fonts = Client.UO?.FileManager?.Fonts;

            if (fonts == null)
                return;

            byte preferredFont = ProfileManager.CurrentProfile?.ChatFont ?? 0;
            (font, unicode) = ResolveLocalDisplayFont(
                text,
                font,
                unicode,
                preferredFont,
                fonts.UnicodeFontExists,
                fonts.FontCount
            );
        }

ClassicUO.Game.GameActions.RequestProfile

Exécute les appels et les modifications d’état indiqués.

Paramètres: uint serial

Source: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:724.

public static void RequestProfile(uint serial)

Résultat: void.

Appels:

  • Socket.Send_ProfileRequest

Code interne de l’implémentation ; ce n’est pas un script autonome.

public static void RequestProfile(uint serial)
        {
            Socket.Send_ProfileRequest(serial);
        }

ClassicUO.Game.GameActions.SendAbility

Exécute les appels et les modifications d’état indiqués.

Paramètres: World world, byte idx, bool primary

Source: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:918.

private static void SendAbility(World world, byte idx, bool primary)

Résultat: void.

Conditions:

  • (world.ClientLockedFeatures.Flags & LockedFeatureFlags.AOS) == 0
  • primary

Appels:

  • Socket.Send_StunRequest
  • Socket.Send_DisarmRequest
  • Socket.Send_UseCombatAbility

Code interne de l’implémentation ; ce n’est pas un script autonome.

private static void SendAbility(World world, byte idx, bool primary)
        {
            if ((world.ClientLockedFeatures.Flags & LockedFeatureFlags.AOS) == 0)
            {
                if (primary)
                    Socket.Send_StunRequest();
                else
                    Socket.Send_DisarmRequest();
            }
            else
            {
                Socket.Send_UseCombatAbility(world, idx);
            }
        }

ClassicUO.Game.GameObjects.Item.Create

Exécute les appels et les modifications d’état indiqués.

Paramètres: World world, uint serial

Source: Project_Full/src/ClassicUO.Client/Game/GameObjects/Item.cs:178.

public static Item Create(World world, uint serial)

Résultat: Item.

Appels:

—

Code interne de l’implémentation ; ce n’est pas un script autonome.

public static Item Create(World world, uint serial)
        {
            Item i = new Item(world); // _pool.GetOne();
            i.Serial = serial;

            return i;
        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CancelWaitTarget

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1296.

public void CancelWaitTarget()

Résultat: void.

Appels:

  • Invoke

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void CancelWaitTarget() => Invoke(_manager.ClearPendingTargets);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClearChatUserIgnore

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2188.

public void ClearChatUserIgnore()

Résultat: void.

Appels:

  • Invoke

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void ClearChatUserIgnore() => Invoke(JournalManager.ClearYokoIgnoredUsers);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClearMapFigures

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2554.

public void ClearMapFigures()

Résultat: void.

Appels:

  • Invoke

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void ClearMapFigures() => Invoke(WorldMapGump.ClearYokoMapFigures);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientTargetResponse

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:932.

public int[] ClientTargetResponse()

Résultat: int[].

Appels:

  • _clientTargetResponse.ToArray

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int[] ClientTargetResponse() => _clientTargetResponse.ToArray();

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindQuantity

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2483.

public int FindQuantity()

Résultat: int.

Conditions:

  • item != null && !item.IsDestroyed

Appels:

  • Invoke
  • _world.Items.Get
  • _world.Mobiles.Get

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int FindQuantity() => Invoke(() =>

        {

            Item item = _world.Items.Get(unchecked((uint)_findItem));

            if (item != null && !item.IsDestroyed)

            {

                return item.Amount;

            }



            Mobile mobile = _world.Mobiles.Get(unchecked((uint)_findItem));

            return mobile != null && !mobile.IsDestroyed ? 1 : 0;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetClilocById

Exécute les appels et les modifications d’état indiqués.

Paramètres: int clilocId, string[] parameters

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2690.

public string GetClilocById(int clilocId, string[] parameters)

Résultat: string.

Appels:

  • Invoke
  • .Translate
  • string.Join
  • Array.Empty<string>

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string GetClilocById(int clilocId, string[] parameters) => Invoke(() =>

            Client.UO.FileManager?.Clilocs?.Translate(clilocId, string.Join("\t", parameters ?? Array.Empty<string>()))

            ?? string.Empty);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetIntelligence

Exécute les appels et les modifications d’état indiqués.

Paramètres: int id

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:237.

public int GetIntelligence(int id)

Résultat: int.

Appels:

  • Invoke

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int GetIntelligence(int id) => Invoke(() => _world.Player is { IsDestroyed: false } player && player.Serial == unchecked((uint)id) ? player.Intelligence : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLastMenuCaption

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:681.

public string GetLastMenuCaption()

Résultat: string.

Appels:

  • Invoke
  • _world.ServerMenus.Snapshot().LastOrDefault
  • _world.ServerMenus.Snapshot

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string GetLastMenuCaption() => Invoke(() => _world.ServerMenus.Snapshot().LastOrDefault()?.YokoCaption ?? string.Empty);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMaxHP

Exécute les appels et les modifications d’état indiqués.

Paramètres: int id

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:235.

public int GetMaxHP(int id)

Résultat: int.

Appels:

  • WithEntity

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int GetMaxHP(int id) => WithEntity(id, e => e.HitsMax);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMobiles

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2499.

public int[] GetMobiles()

Résultat: int[].

Appels:

  • Invoke

  • `_world.Mobiles.Values

          .Where(mobile => !mobile.IsDestroyed)
    
          .Select(mobile => (int)mobile.Serial).ToArray`
    
  • `_world.Mobiles.Values

          .Where(mobile => !mobile.IsDestroyed)
    
          .Select`
    
  • `_world.Mobiles.Values

          .Where`
    

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int[] GetMobiles() => Invoke(() => _world.Mobiles.Values

            .Where(mobile => !mobile.IsDestroyed)

            .Select(mobile => (int)mobile.Serial).ToArray());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMultiPartsAtPosition

Exécute les appels et les modifications d’état indiqués.

Paramètres: int x, int y

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2577.

public int[][] GetMultiPartsAtPosition(int x, int y)

Résultat: int[][].

Appels:

  • Invoke

  • `_world.HouseManager.Houses

              .SelectMany(house => house.GetMultiAt(x, y)
    
                  .Where(component => component != null && !component.IsDestroyed)
    
                  .Select(component => new[]
    
                  {
    
                      (int)component.Graphic,
    
                      (int)component.Hue,
    
                      (int)component.X,
    
                      (int)component.Y,
    
                      (int)component.Z,
    
                      component.MultiOffsetX,
    
                      component.MultiOffsetY,
    
                      component.MultiOffsetZ,
    
                      unchecked((int)house.Serial)
    
                  }))
    
              .ToArray`
    
  • `_world.HouseManager.Houses

              .SelectMany`
    
  • `house.GetMultiAt(x, y)

                  .Where(component => component != null && !component.IsDestroyed)
    
                  .Select`
    
  • `house.GetMultiAt(x, y)

                  .Where`
    
  • house.GetMultiAt

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int[][] GetMultiPartsAtPosition(int x, int y) => Invoke(() =>

            _world.HouseManager.Houses

                .SelectMany(house => house.GetMultiAt(x, y)

                    .Where(component => component != null && !component.IsDestroyed)

                    .Select(component => new[]

                    {

                        (int)component.Graphic,

                        (int)component.Hue,

                        (int)component.X,

                        (int)component.Y,

                        (int)component.Z,

                        component.MultiOffsetX,

                        component.MultiOffsetY,

                        component.MultiOffsetZ,

                        unchecked((int)house.Serial)

                    }))

                .ToArray());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetScriptsCount

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:318.

public int GetScriptsCount()

Résultat: int.

Appels:

  • _manager.GetScriptsCount

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int GetScriptsCount() => _manager.GetScriptsCount();

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStaticTiles

Exécute les appels et les modifications d’état indiqués.

Paramètres: int x, int y, int map

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3637.

public int[] GetStaticTiles(int x, int y, int map)

Résultat: int[].

Conditions:

  • _world.Map == null || map != _world.MapIndex
  • tile is Static or Multi or Item

Appels:

  • Invoke
  • Error
  • Array.Empty<int>
  • _world.Map.GetTile
  • result.Add
  • result.ToArray

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int[] GetStaticTiles(int x, int y, int map) => Invoke(() =>

        {

            if (_world.Map == null || map != _world.MapIndex)

            {

                Error($"UO.GetStaticTiles: map {map} is not the currently loaded map {_world.MapIndex}");

                return Array.Empty<int>();

            }

            var result = new List<int>();

            for (GameObject tile = _world.Map.GetTile(x, y); tile != null; tile = tile.TNext)

            {

                if (tile is Static or Multi or Item)

                {

                    result.Add(tile.Graphic);

                    result.Add(tile.Z);

                    result.Add(tile.Hue);

                }

            }

            return result.ToArray();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetStatus

Exécute les appels et les modifications d’état indiqués.

Paramètres: int id

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:834.

public void GetStatus(int id)

Résultat: void.

Appels:

  • Invoke
  • GameActions.RequestMobileStatus

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void GetStatus(int id)

        {

            Invoke(() => GameActions.RequestMobileStatus(_world, (uint)id, true));

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileDataProperties

Exécute les appels et les modifications d’état indiqués.

Paramètres: int group, int tileId

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3852.

public int[] GetTileDataProperties(int group, int tileId)

Résultat: int[].

Conditions:

  • group == 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.LandData.Length
  • group != 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.StaticData.Length

Appels:

  • Invoke
  • Array.Empty<int>

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int[] GetTileDataProperties(int group, int tileId) => Invoke(() =>

        {

            if (group == 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.LandData.Length)

            {

                ref LandTiles data = ref Client.UO.FileManager.TileData.LandData[tileId];

                return new[] { (int)data.TexID, data.IsWet ? 1 : 0, data.IsImpassable ? 1 : 0, data.IsNoDiagonal ? 1 : 0 };

            }

            if (group != 0 && tileId >= 0 && tileId < Client.UO.FileManager.TileData.StaticData.Length)

            {

                ref StaticTiles data = ref Client.UO.FileManager.TileData.StaticData[tileId];

                return new[]

                {

                    (int)data.Weight, (int)data.Layer, data.Count, (int)data.AnimID, (int)data.Hue, (int)data.LightIndex,

                    (int)data.Height, data.IsWet ? 1 : 0, data.IsImpassable ? 1 : 0, data.IsSurface ? 1 : 0,

                    data.IsFoliage ? 1 : 0, data.IsDoor ? 1 : 0, data.IsWall ? 1 : 0, data.IsContainer ? 1 : 0

                };

            }

            return Array.Empty<int>();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTitle

Exécute les appels et les modifications d’état indiqués.

Paramètres: int id

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:244.

public string GetTitle(int id)

Résultat: string.

Appels:

  • Invoke
  • _world.Get

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string GetTitle(int id) => Invoke(() => (_world.Get(unchecked((uint)id)) as Mobile)?.Title ?? string.Empty);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.HideLocally

Exécute les appels et les modifications d’état indiqués.

Paramètres: Entity entity

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1831.

private static void HideLocally(Entity entity)

Résultat: void.

Conditions:

  • !entity.IsLocallyHiddenByScript
  • ReferenceEquals(SelectedObject.Object, entity)
  • entity is Item item

Appels:

  • ReferenceEquals
  • UIManager.GetGump<PaperDollGump>
  • .RequestUpdateContents

Code interne de l’implémentation ; ce n’est pas un script autonome.

private static void HideLocally(Entity entity)

        {

            if (!entity.IsLocallyHiddenByScript)

                entity.WasDrawableBeforeScriptHide = entity.AllowedToDraw;

            entity.IsLocallyHiddenByScript = true;

            entity.AllowedToDraw = false;

            if (ReferenceEquals(SelectedObject.Object, entity)) SelectedObject.Object = null;

            // Rebuild coverage as well: a hidden robe must expose the shirt below.

            if (entity is Item item)

                UIManager.GetGump<PaperDollGump>(item.Container)?.RequestUpdateContents();

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalColor

Exécute les appels et les modifications d’état indiqués.

Paramètres: int index

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2195.

public string JournalColor(int index)

Résultat: string.

Appels:

  • GetJournalEntry

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string JournalColor(int index) => GetJournalEntry(index) is JournalEntry entry ? $"0x{entry.Hue:X4}" : "0x0000";

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalSerial

Exécute les appels et les modifications d’état indiqués.

Paramètres: int index

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2192.

public string JournalSerial(int index)

Résultat: string.

Appels:

  • GetJournalEntry

Code interne de l’implémentation ; ce n’est pas un script autonome.

public string JournalSerial(int index) => GetJournalEntry(index) is JournalEntry entry ? $"0x{entry.Serial:X8}" : "0x00000000";

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ObjAtLayer

Exécute les appels et les modifications d’état indiqués.

Paramètres: int layer

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2279.

public int ObjAtLayer(int layer)

Résultat: int.

Appels:

  • Invoke
  • .FindItemByLayer

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int ObjAtLayer(int layer) => Invoke(() =>

            layer > (int)Layer.Invalid && layer <= (int)Layer.Bank

                ? (int)(_world.Player?.FindItemByLayer((Layer)layer)?.Serial ?? 0)

                : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.OpenDoor

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1583.

public void OpenDoor()

Résultat: void.

Appels:

  • Invoke

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void OpenDoor() => Invoke(GameActions.OpenDoor);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.QuestRequest

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1613.

public void QuestRequest()

Résultat: void.

Appels:

  • Invoke
  • GameActions.RequestQuestMenu

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void QuestRequest() => Invoke(() => GameActions.RequestQuestMenu(_world));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestContextMenu

Exécute les appels et les modifications d’état indiqués.

Paramètres: int id

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:706.

public void RequestContextMenu(int id)

Résultat: void.

Appels:

  • Invoke
  • GameActions.OpenPopupMenu

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void RequestContextMenu(int id) => Invoke(() => GameActions.OpenPopupMenu((uint)id));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestInteractiveObjectInfoTarget

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:944.

public int RequestInteractiveObjectInfoTarget()

Résultat: int.

Conditions:

  • !_interactiveCommands
  • valid

Appels:

  • Invoke
  • _world.TargetManager.SetTargeting
  • FormatObjectInfo
  • OpenInteractiveInfoGump
  • PrintInteractiveResult

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int RequestInteractiveObjectInfoTarget()

        {

            if (!_interactiveCommands)

                return 0;



            return Invoke(() =>

            {

                _world.TargetManager.SetTargeting(selected =>

                {

                    bool valid = selected is Entity;

                    string result = valid

                        ? FormatObjectInfo((Entity)selected)

                        : "UO.Info: select an item or mobile; the selected target is not an object.";

                    if (valid)

                        OpenInteractiveInfoGump("C# Object Information", result);

                    PrintInteractiveResult(result);

                }, 0, TargetType.Neutral);

                PrintInteractiveResult("UO.Info: target an item or mobile.");

                return 1;

            });

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ResetFindResults

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:4080.

private void ResetFindResults()

Résultat: void.

Appels:

  • _foundItems.Clear

Code interne de l’implémentation ; ce n’est pas un script autonome.

private void ResetFindResults()

        {

            _findItem = 0;

            _findCount = 0;

            _findFullQuantity = 0;

            _foundItems.Clear();

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Resync

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1880.

public void Resync()

Résultat: void.

Conditions:

  • entity.IsDestroyed || !entity.IsLocallyHiddenByScript
  • entity is Item item

Appels:

  • Invoke
  • _world.Items.Values.Cast<Entity>().Concat
  • _world.Items.Values.Cast<Entity>
  • UIManager.GetGump<PaperDollGump>
  • .RequestUpdateContents
  • UIManager.GetGump<ContainerGump>
  • NetClient.Socket.Send_Resync

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void Resync() => Invoke(() =>

        {

            foreach (Entity entity in _world.Items.Values.Cast<Entity>().Concat(_world.Mobiles.Values))

            {

                if (entity.IsDestroyed || !entity.IsLocallyHiddenByScript) continue;

                entity.IsLocallyHiddenByScript = false;

                entity.AllowedToDraw = entity.WasDrawableBeforeScriptHide;

                if (entity is Item item)

                {

                    UIManager.GetGump<PaperDollGump>(item.Container)?.RequestUpdateContents();

                    UIManager.GetGump<ContainerGump>(item.Container)?.RequestUpdateContents();

                }

            }

            NetClient.Socket.Send_Resync();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SelectObject

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:753.

private GameObject SelectObject()

Résultat: GameObject.

Conditions:

  • !Invoke(() => _world.TargetManager.IsCallbackTarget(callback))

Appels:

  • selected.TrySetResult
  • Invoke
  • _world.TargetManager.SetTargeting
  • selected.Task.Wait
  • _world.TargetManager.IsCallbackTarget
  • _cancellationToken.ThrowIfCancellationRequested
  • selected.Task.GetAwaiter().GetResult
  • selected.Task.GetAwaiter
  • _manager.ReleaseObjectSelection

Code interne de l’implémentation ; ce n’est pas un script autonome.

private GameObject SelectObject()

        {

            var selected = new TaskCompletionSource<GameObject>(TaskCreationOptions.RunContinuationsAsynchronously);

            Action<GameObject> callback = obj => selected.TrySetResult(obj);

            try

            {

                Invoke(() => _world.TargetManager.SetTargeting(callback, 0, TargetType.Neutral));

                while (!selected.Task.Wait(50, _cancellationToken))

                {

                    // Another script or a server target may replace this cursor.

                    if (!Invoke(() => _world.TargetManager.IsCallbackTarget(callback)))

                        selected.TrySetResult(null);

                }

                _cancellationToken.ThrowIfCancellationRequested();

                return selected.Task.GetAwaiter().GetResult();

            }

            finally

            {

                // Do not wait for the game thread during emergency cancellation.

                // Ownership prevents this cleanup from clearing a newer cursor.

                _manager.ReleaseObjectSelection(callback);

            }



        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoSellRule

Exécute les appels et les modifications d’état indiqués.

Paramètres: int type, int color, int quantity

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3907.

public void SetAutoSellRule(int type, int color, int quantity)

Résultat: void.

Appels:

  • Invoke
  • SetAutoShopRule

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void SetAutoSellRule(int type, int color, int quantity) =>

            Invoke(() => SetAutoShopRule(ProfileManager.CurrentProfile?.BackNewbieAutoSellRules, false, type, color, quantity, 0, string.Empty));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetReceivingContainer

Exécute les appels et les modifications d’état indiqués.

Paramètres: int id

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1304.

public void SetReceivingContainer(int id)

Résultat: void.

Appels:

—

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void SetReceivingContainer(int id) => State.ReceivingContainer = id;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseSkill

Exécute les appels et les modifications d’état indiqués.

Paramètres: int skillId

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2292.

public int UseSkill(int skillId)

Résultat: int.

Conditions:

  • skillId <= 0 || IsOnline() == 0

Appels:

  • IsOnline
  • Invoke
  • GameActions.UseSkill

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int UseSkill(int skillId)

        {

            if (skillId <= 0 || IsOnline() == 0)

                return 0;

            Invoke(() => GameActions.UseSkill(skillId - 1));

            return 1;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitGumpSelect

Exécute les appels et les modifications d’état indiqués.

Paramètres: int triggerId, int timeoutMs

Source: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2976.

public int WaitGumpSelect(int triggerId, int timeoutMs)

Résultat: int.

Conditions:

  • sent != 0
  • DateTime.UtcNow >= timeout

Appels:

  • Invoke
  • ServerGumpsUnsafe().ToHashSet
  • ServerGumpsUnsafe
  • DateTime.UtcNow.AddMilliseconds
  • Math.Max
  • SendGumpButtonUnsafe
  • ServerGumpsUnsafe().FirstOrDefault
  • existing.Contains
  • Wait
  • Error

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int WaitGumpSelect(int triggerId, int timeoutMs)

        {

            HashSet<Gump> existing = Invoke(() => ServerGumpsUnsafe().ToHashSet());

            DateTime timeout = DateTime.UtcNow.AddMilliseconds(Math.Max(0, timeoutMs));

            do

            {

                int sent = Invoke(() => SendGumpButtonUnsafe(ServerGumpsUnsafe().FirstOrDefault(g => !existing.Contains(g)), triggerId, string.Empty));

                if (sent != 0)

                    return 1;

                if (DateTime.UtcNow >= timeout)

                    break;

                Wait(50);

            }

            while (true);

            Error($"UO.WaitGump: timeout waiting to select button {triggerId}");

            return 0;

        }

ClassicUO.Game.Managers.UIManager.GetGump

Exécute les appels et les modifications d’état indiqués.

Paramètres: uint serial

Source: Project_Full/src/ClassicUO.Client/Game/Managers/UIManager.cs:307.

public static Gump GetGump(uint serial)

Résultat: Gump.

Conditions:

  • !c.IsDisposed && c.LocalSerial == serial

Appels:

—

Code interne de l’implémentation ; ce n’est pas un script autonome.

public static Gump GetGump(uint serial)
        {
            for (LinkedListNode<Gump> last = Gumps.Last; last != null; last = last.Previous)
            {
                Control c = last.Value;

                if (!c.IsDisposed && c.LocalSerial == serial)
                {
                    return c as Gump;
                }
            }

            return null;
        }

ClassicUO.Game.Managers.YokoInjectionManager.ApplyDisconnectPauseState

Exécute les appels et les modifications d’état indiqués.

Paramètres: bool paused

Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:891.

private void ApplyDisconnectPauseState(bool paused)

Résultat: void.

Conditions:

  • Interlocked.Exchange(ref _appliedDisconnectPause, desired) == desired
  • changedRunningState

Appels:

  • Interlocked.Exchange
  • script.SetDisconnectPause
  • MarkRuntimeStateChanged

Code interne de l’implémentation ; ce n’est pas un script autonome.

private void ApplyDisconnectPauseState(bool paused)

        {

            int desired = paused ? 1 : 0;

            if (Interlocked.Exchange(ref _appliedDisconnectPause, desired) == desired)

                return;



            bool changedRunningState = false;

            foreach (YokoRunningScript script in _running.Values)

            {

                script.SetDisconnectPause(paused);

                changedRunningState = true;

            }



            if (changedRunningState)

                MarkRuntimeStateChanged();

        }

ClassicUO.Game.Managers.YokoInjectionManager.CancelNextServerTarget

Exécute les appels et les modifications d’état indiqués.

Paramètres: CancellationToken owner

Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3311.

internal void CancelNextServerTarget(CancellationToken owner)

Résultat: void.

Conditions:

  • HasServerTargetCursor()

Appels:

  • owner.ThrowIfCancellationRequested
  • _pendingTargets.TryDequeue
  • HasServerTargetCursor
  • _world.TargetManager.CancelTarget
  • _pendingTargets.Enqueue

Code interne de l’implémentation ; ce n’est pas un script autonome.

internal void CancelNextServerTarget(CancellationToken owner)

        {

            lock (_pendingTargetLock)

            {

                owner.ThrowIfCancellationRequested();

                while (_pendingTargets.TryDequeue(out _)) { }

                if (HasServerTargetCursor()) _world.TargetManager.CancelTarget();

                else _pendingTargets.Enqueue(new PendingTarget(0, owner, cancel: true));

            }

        }

ClassicUO.Game.Managers.YokoInjectionManager.FindProcedure

Exécute les appels et les modifications d’état indiqués.

Paramètres: string key

Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3873.

internal YokoProcedureInfo FindProcedure(string key)

Résultat: YokoProcedureInfo.

Conditions:

  • string.IsNullOrWhiteSpace(key)
  • lookup.StartsWith("exec ", StringComparison.OrdinalIgnoreCase)
  • lookup.EndsWith("()", StringComparison.Ordinal)
  • subIndex >= 0

Appels:

  • string.IsNullOrWhiteSpace

  • key.Trim

  • lookup.StartsWith

  • lookup.Substring(5).Trim

  • lookup.Substring

  • lookup.EndsWith

  • lookup.Substring(0, lookup.Length - 2).Trim

  • lookup.IndexOf

  • char.IsWhiteSpace

  • char.IsLetterOrDigit

  • _proceduresByKey.TryGetValue

  • _procedures.FirstOrDefault

  • p.Key.Equals

  • `_procedures

                  .Where(p => p.Name.Equals(lookup, StringComparison.OrdinalIgnoreCase))
    
                  .ToArray`
    
  • `_procedures

                  .Where`
    
  • p.Name.Equals

  • TryGetSelectedAutoloadActionProcedures

  • RequestedAutoloadPath

  • selected.FirstOrDefault

  • selected.Where(p => p.Name.Equals(lookup, StringComparison.OrdinalIgnoreCase)).ToArray

  • selected.Where

Le fichier source contient le code complet ; les extraits exacts suivent.

Code interne de l’implémentation ; ce n’est pas un script autonome.

internal YokoProcedureInfo FindProcedure(string key)
        {
            if (string.IsNullOrWhiteSpace(key))
            {
                return null;
            }

            string lookup = key.Trim();
            if (lookup.StartsWith("exec ", StringComparison.OrdinalIgnoreCase))
// …
            if (lookup.EndsWith("()", StringComparison.Ordinal))
// …
            if (subIndex >= 0)
// …
                if (nameEnd > nameStart)
// …
                if (_proceduresByKey.TryGetValue(lookup, out YokoProcedureInfo indexed))
                    return indexed;
// …
                if (exact != null)
// …
                    return exact;
// …
                if (byName.Length != 0) return byName.Length == 1 ? byName[0] : null;
// …
            if (TryGetSelectedAutoloadActionProcedures(RequestedAutoloadPath(), out var selected))
            {
                var exact = selected.FirstOrDefault(p => p.Key.Equals(lookup, StringComparison.OrdinalIgnoreCase));
                if (exact != null) return exact;
                var byName = selected.Where(p => p.Name.Equals(lookup, StringComparison.OrdinalIgnoreCase)).ToArray();
                return byName.Length == 1 ? byName[0] : null;
            }
            return null;
        }

ClassicUO.Game.Managers.YokoInjectionManager.MatchesProcedureSelector

Exécute les appels et les modifications d’état indiqués.

Paramètres: string selector, string key, string name = null

Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoExecutionControl.cs:93.

private static bool MatchesProcedureSelector(string selector, string key, string name = null)

Résultat: bool.

Conditions:

  • `string.Equals(selector, key, StringComparison.OrdinalIgnoreCase)

              || string.Equals(selector, name, StringComparison.OrdinalIgnoreCase)`
    
  • string.IsNullOrEmpty(key) || selector.Contains("::", StringComparison.Ordinal)

  • split < 0

  • occurrence > 0

Appels:

  • string.Equals
  • string.IsNullOrEmpty
  • selector.Contains
  • key.LastIndexOf
  • key.Substring
  • declaredName.LastIndexOf
  • declaredName.Substring

Code interne de l’implémentation ; ce n’est pas un script autonome.

private static bool MatchesProcedureSelector(string selector, string key, string name = null)

        {

            if (string.Equals(selector, key, StringComparison.OrdinalIgnoreCase)

                || string.Equals(selector, name, StringComparison.OrdinalIgnoreCase))

                return true;

            if (string.IsNullOrEmpty(key) || selector.Contains("::", StringComparison.Ordinal))

                return false;

            int split = key.LastIndexOf("::", StringComparison.Ordinal);

            if (split < 0)

                return false;

            string declaredName = key.Substring(split + 2);

            int occurrence = declaredName.LastIndexOf('#');

            if (occurrence > 0)

                declaredName = declaredName.Substring(0, occurrence);

            return string.Equals(selector, declaredName, StringComparison.OrdinalIgnoreCase);

        }

ClassicUO.Game.Managers.YokoInjectionManager.PrepareForReconnect

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:767.

internal void PrepareForReconnect()

Résultat: void.

Appels:

  • ApplyDisconnectPauseState

Code interne de l’implémentation ; ce n’est pas un script autonome.

internal void PrepareForReconnect()

        {

            bool pause = PauseScriptsOnDisconnect;

            _pauseScriptsOnDisconnect = pause;

            // Disconnect is deferred until World.Update returns. Keep the gate

            // closed during that frame, while World.InGame is still true.

            _disconnectTransitionPending = true;

            ApplyDisconnectPauseState(pause);

        }

InjectionScript.Runtime.InjectionApi.Wait

Exécute les appels et les modifications d’état indiqués.

Paramètres: int milliseconds

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:55.

public void Wait(int milliseconds)

Résultat: void.

Conditions:

  • milliseconds<0
  • timerWait!=null
  • bridge!=null

Appels:

  • nameof
  • .Invoke
  • timerWait
  • bridge.Wait
  • Thread.Sleep

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void Wait(int milliseconds)
        {
            if(milliseconds<0)throw new ArgumentOutOfRangeException(nameof(milliseconds));
            checkpoint?.Invoke();
            if(timerWait!=null)timerWait(milliseconds);else if(bridge!=null)bridge.Wait(milliseconds);else Thread.Sleep(milliseconds);
            checkpoint?.Invoke();
        }

InjectionScript.Runtime.InjectionApiUO.Attack

Exécute les appels et les modifications d’état indiqués.

Paramètres: string id

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4042.

public void Attack(string id)

Résultat: void.

Appels:

  • Attack
  • GetObject

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void Attack(string id) => Attack(GetObject(id));

InjectionScript.Runtime.InjectionApiUO.CaptureLegacyEventSnapshot

Exécute les appels et les modifications d’état indiqués.

Paramètres: LegacyEventSubscription subscription

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6188.

private void CaptureLegacyEventSnapshot(LegacyEventSubscription subscription)

Résultat: void.

Conditions:

  • serial != 0 && serial != bridge.Self

Appels:

  • bridge.GetHP
  • bridge.Dead
  • subscription.KnownMobiles.Clear
  • bridge.GetMobiles
  • Array.Empty<int>
  • subscription.KnownMobiles.Add

Code interne de l’implémentation ; ce n’est pas un script autonome.

private void CaptureLegacyEventSnapshot(LegacyEventSubscription subscription)

        {

            subscription.LastHp = bridge.GetHP(bridge.Self);

            subscription.LastMana = bridge.Mana;

            subscription.LastStamina = bridge.Stamina;

            subscription.LastDead = bridge.Dead();

            subscription.KnownMobiles.Clear();

            foreach (int serial in bridge.GetMobiles() ?? Array.Empty<int>())

                if (serial != 0 && serial != bridge.Self)

                    subscription.KnownMobiles.Add(serial);

        }

InjectionScript.Runtime.InjectionApiUO.CircleTrans

Exécute les appels et les modifications d’état indiqués.

Paramètres: int enabled

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3903.

public void CircleTrans(int enabled)

Résultat: void.

Appels:

  • bridge.CircleTrans

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void CircleTrans(int enabled) => bridge.CircleTrans(enabled);

InjectionScript.Runtime.InjectionApiUO.CompactFindList::AddEntry

Exécute les appels et les modifications d’état indiqués.

Paramètres: typeValue, colorValue

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3411.

void AddEntry(InjectionValue typeValue, InjectionValue colorValue)

Résultat: void.

Appels: types.Add, ResolveType, colors.Add, NumberConversions.ToInt.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

void AddEntry(InjectionValue typeValue, InjectionValue colorValue)

            {

                types.Add(ResolveType(typeValue));

                colors.Add(NumberConversions.ToInt(colorValue));

            }

InjectionScript.Runtime.InjectionApiUO.CompactFindType

Vérifie les conditions ci-dessous et renvoie le résultat indiqué.

Paramètres: typeValue, colorValue, containerValue, distanceValue, notorietyValue, nearestValue

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4739.

`private InjectionValue CompactFindType(InjectionValue typeValue, InjectionValue colorValue,

        InjectionValue containerValue, InjectionValue distanceValue, InjectionValue notorietyValue,

        InjectionValue nearestValue)`

Résultat: InjectionValue.

Résultat: serial == 0 ? new InjectionValue(string.Empty) : new InjectionValue(NumberConversions.ToHex(serial)); fallback == 0 ? new InjectionValue(string.Empty) : new InjectionValue(NumberConversions.ToHex(fallback)).

Appels: ResolveType, NumberConversions.ToInt, ConvertContainer, ResolveCompactDistance, ToBoolean, ParseIntMask, FindFilteredMobileSerial, bridge.GetFindVertical.

Conditions: container <= 1 || hasNotorietyFilter; serial != 0 || hasNotorietyFilter.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

private InjectionValue CompactFindType(InjectionValue typeValue, InjectionValue colorValue,

            InjectionValue containerValue, InjectionValue distanceValue, InjectionValue notorietyValue,

            InjectionValue nearestValue)

        {

            int type = ResolveType(typeValue);

            int color = NumberConversions.ToInt(colorValue);

            int container = ConvertContainer(containerValue);

            int distance = ResolveCompactDistance(distanceValue);

            bool nearest = ToBoolean(nearestValue);



            // Notoriety only exists on Mobile.  Extended FindType therefore scans

            // World.Mobiles when a notoriety filter is supplied (or when the type

            // itself resolves to a mobile body on the ground/default world scope).

            HashSet<int> notorieties = ParseIntMask(notorietyValue);

            bool hasNotorietyFilter = notorieties.Count > 0;

            if (container <= 1 || hasNotorietyFilter)

            {

                int serial = FindFilteredMobileSerial(type, notorietyValue, distance, nearest,

                    bridge.GetFindVertical(), color, false);

                if (serial != 0 || hasNotorietyFilter)

                    return serial == 0 ? new InjectionValue(string.Empty) : new InjectionValue(NumberConversions.ToHex(serial));

            }



            // Preserve legacy item/container behavior when no mobile matched.

            int fallback = bridge.FindType(type, color, container, distance, false);

            return fallback == 0 ? new InjectionValue(string.Empty) : new InjectionValue(NumberConversions.ToHex(fallback));

        }

InjectionScript.Runtime.InjectionApiUO.EquipmentClassRule.Matches

Exécute les appels et les modifications d’état indiqués.

Paramètres: HashSet<int> worn

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.ClassMasks.cs:20.

internal bool Matches(HashSet<int> worn)

Résultat: bool.

Appels:

  • Forbidden.Overlaps
  • Required.All
  • group.Overlaps

Code interne de l’implémentation ; ce n’est pas un script autonome.

internal bool Matches(HashSet<int> worn)
                => worn.Count > 0 && !Forbidden.Overlaps(worn) && Required.All(group => group.Overlaps(worn));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1662.

Résultat: CastAtTarget(arguments[0], arguments[1]) != 0 ? InjectionValue.True : InjectionValue.False; InjectionValue.True; InjectionValue.False.

Conditions: arguments[0].Kind == InjectionValueKind.String; castAccepted != 0.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "casttoobject":

                    if (arguments[0].Kind == InjectionValueKind.String)

                        return CastAtTarget(arguments[0], arguments[1]) != 0 ? InjectionValue.True : InjectionValue.False;



                    WaitTargetObject(Arg(1));

                    int castAccepted = bridge.Cast(Arg(0));

                    if (castAccepted != 0)

                    {

                        ticksSpell = Timer();

                        return InjectionValue.True;

                    }



                    bridge.CancelTarget();

                    return InjectionValue.False;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1644.

Résultat: InjectionValue.Unit.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "clientrequesttiletarget": bridge.RequestClientTarget(true); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1547.

Résultat: InjectionValue.Unit; new InjectionValue(bridge.GetDropDelay()).

Conditions: arguments.Length > 0.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "dropdelay":

                    if (arguments.Length > 0) { bridge.SetDropDelay(Arg(0)); return InjectionValue.Unit; }

                    return new InjectionValue(bridge.GetDropDelay());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1637.

Résultat: InjectionValue.Unit.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "equiplastweapon": bridge.EquipLastWeapon(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1261.

Résultat: new InjectionValue(arguments[0].Kind == InjectionValueKind.String ? Equip(Text(0), Arg(1)) : bridge.Equip(Arg(0), Arg(1))).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "equip":

                    return new InjectionValue(arguments[0].Kind == InjectionValueKind.String ? Equip(Text(0), Arg(1)) : bridge.Equip(Arg(0), Arg(1)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1575.

Résultat: new InjectionValue(bridge.GetDir(Arg(0))).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "getdirection": return new InjectionValue(bridge.GetDir(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1592.

Résultat: StringArray(bridge.GetLastMenuItems()).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "getlastmenuitems": return StringArray(bridge.GetLastMenuItems());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1342.

Résultat: new InjectionValue(state.RunUnmountTimer).

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "getrununmounttimer": return new InjectionValue(state.RunUnmountTimer);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1459.

Résultat: new InjectionValue(bridge.GetSurfaceZ(Arg(0), Arg(1), Arg(2))).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "getsurfacez":

                    return new InjectionValue(bridge.GetSurfaceZ(Arg(0), Arg(1), Arg(2)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2036.

Résultat: new InjectionValue(bridge.JournalEntryCount() == 0 ? -1 : bridge.JournalEntryCount() - 1).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "highjournal": return new InjectionValue(bridge.JournalEntryCount() == 0 ? -1 : bridge.JournalEntryCount() - 1);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1375.

Résultat: new InjectionValue(bridge.Mana).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "mana": return new InjectionValue(bridge.Mana);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1588.

Résultat: new InjectionValue(bridge.MenuPresent()).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "menupresent": return new InjectionValue(bridge.MenuPresent());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1584.

Résultat: InjectionValue.Unit.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "setstatlockstate":

                case "setstatstate": bridge.SetStatLockState(Arg(0), Arg(1)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1527.

Résultat: InjectionValue.Unit.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "stopscript": bridge.StopScript(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1311.

Résultat: new InjectionValue((bridge as IProxyMetadataBridge)?.UsesProxy == true ? 1 : 0).

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "useproxy": return new InjectionValue((bridge as IProxyMetadataBridge)?.UsesProxy == true ? 1 : 0);

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text

Renvoie la valeur de l’expression ci-dessous.

Paramètres: index

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2825.

string Text(int index)

Résultat: string.

Résultat: index < arguments.Length ? arguments[index].ToString() : string.Empty.

Appels: arguments[index].ToString.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

string Text(int index) => index < arguments.Length ? arguments[index].ToString() : string.Empty;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2946.

Conditions: arguments.Length > 1; arguments.Length > 0.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "easyobject":

                    if (arguments.Length > 1) state.Objects.Set(Text(0), Arg(1));

                    else if (arguments.Length > 0) state.Objects.Set(Text(0), bridge.GetLastObject());

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2954.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "filterweather": state.WeatherFilter = arguments.Length == 0 || Arg(0) != 0 ? 1 : 0; bridge.SetWeatherFilter(state.WeatherFilter); break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

Cette branche traite uniquement le nom de commande indiqué.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2950.

Conditions: arguments.Length > 0.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

case "forget": if (arguments.Length > 0) state.Objects.Remove(Text(0)); break;

InjectionScript.Runtime.InjectionApiUO.FindMobile

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue stateFilter

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3775.

public int FindMobile(InjectionValue stateFilter)

Résultat: int.

Appels:

  • FindMobile

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int FindMobile(InjectionValue stateFilter) => FindMobile(stateFilter, new InjectionValue("all"),

            new InjectionValue("all"), new InjectionValue("all"));

InjectionScript.Runtime.InjectionApiUO.GListSize

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3413.

public int GListSize()

Résultat: int.

Appels:

—

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int GListSize() => globalList.Count;

InjectionScript.Runtime.InjectionApiUO.GetPing

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue timeout

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3863.

public int GetPing(InjectionValue timeout)

Résultat: int.

Appels:

  • bridge.GetPing
  • Math.Max
  • NumberConversions.ToInt

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int GetPing(InjectionValue timeout) => bridge.GetPing(Math.Max(0, NumberConversions.ToInt(timeout)));

InjectionScript.Runtime.InjectionApiUO.GetQuantity

Exécute les appels et les modifications d’état indiqués.

Paramètres: int id

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3855.

public int GetQuantity(int id)

Résultat: int.

Appels:

  • bridge.GetQuantity

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int GetQuantity(int id) => bridge.GetQuantity(id);

InjectionScript.Runtime.InjectionApiUO.GetX

Exécute les appels et les modifications d’état indiqués.

Paramètres: int id

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3679.

public int GetX(int id)

Résultat: int.

Appels:

  • bridge.GetX

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int GetX(int id) => bridge.GetX(id);

InjectionScript.Runtime.InjectionApiUO.GumpExists

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue id

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3358.

public int GumpExists(InjectionValue id)

Résultat: int.

Appels:

  • bridge.GumpExists
  • NumberConversions.ToInt

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int GumpExists(InjectionValue id) => bridge.GumpExists(NumberConversions.ToInt(id), -1);

InjectionScript.Runtime.InjectionApiUO.InJournalBetweenTimes

Exécute les appels et les modifications d’état indiqués.

Paramètres: string pattern, int startTime, int endTime, int limit

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5500.

public int InJournalBetweenTimes(string pattern, int startTime, int endTime, int limit)

Résultat: int.

Appels:

  • InJournalBetweenTimesCore
  • Math.Max

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int InJournalBetweenTimes(string pattern, int startTime, int endTime, int limit)

            => InJournalBetweenTimesCore(pattern, startTime, endTime,

                limit == -1 ? -1 : Math.Max(0, limit), ignoreCase: limit == -1);

InjectionScript.Runtime.InjectionApiUO.JournalEntryTime

Exécute les appels et les modifications d’état indiqués.

Paramètres: double timestamp

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5633.

private int JournalEntryTime(double timestamp)

Résultat: int.

Conditions:

  • timestamp <= 0d
  • milliseconds <= 0d

Appels:

  • DateTime.FromOADate

Code interne de l’implémentation ; ce n’est pas un script autonome.

private int JournalEntryTime(double timestamp)

        {

            if (timestamp <= 0d)

                return -1;



            try

            {

                double milliseconds = (DateTime.FromOADate(timestamp) - runtimeStartTime).TotalMilliseconds;

                if (milliseconds <= 0d)

                    return 0;

                return milliseconds >= int.MaxValue ? int.MaxValue : (int)milliseconds;

            }

            catch (ArgumentException)

            {

                return -1;

            }

        }

InjectionScript.Runtime.InjectionApiUO.QueueGumpControl

Exécute les appels et les modifications d’état indiqués.

Paramètres: string kind, int id, string value

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3177.

private void QueueGumpControl(string kind, int id, string value)

Résultat: void.

Conditions:

  • bridge is IApiGumpAutomation automation

Appels:

  • automation.QueueGumpControl
  • bridge.SetGumpValue

Code interne de l’implémentation ; ce n’est pas un script autonome.

private void QueueGumpControl(string kind, int id, string value)

        {

            if (bridge is IApiGumpAutomation automation) automation.QueueGumpControl(kind, id, value);

            else bridge.SetGumpValue(-1, kind, id, value);

        }

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases::IsDeadState

Ces fonctions enregistrent l’API. Elles ne sont pas exécutées à nouveau pour chaque appel de commande.

Paramètres: serial

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1017.

int IsDeadState(int serial)

Résultat: int.

Résultat: 0; serial == bridge.Self ? bridge.Dead() : bridge.IsDead(serial).

Appels: bridge.Dead, bridge.IsDead.

Conditions: serial <= 0.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

int IsDeadState(int serial)

            {

                if (serial <= 0)

                    return 0;

                return serial == bridge.Self ? bridge.Dead() : bridge.IsDead(serial);

            }

InjectionScript.Runtime.InjectionApiUO.SaveConfig

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6088.

public void SaveConfig()

Résultat: void.

Appels:

  • bridge.SaveConfig

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void SaveConfig() => bridge.SaveConfig();

InjectionScript.Runtime.InjectionApiUO.Snap

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6038.

public int Snap()

Résultat: int.

Appels:

  • bridge.Snap

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int Snap() => bridge.Snap(null, 100, true);

InjectionScript.Runtime.InjectionApiUO.Snap

Exécute les appels et les modifications d’état indiqués.

Paramètres: string name

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6039.

public int Snap(string name)

Résultat: int.

Appels:

  • bridge.Snap

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int Snap(string name) => bridge.Snap(name, 100, true);

InjectionScript.Runtime.InjectionApiUO.StringArray

Exécute les appels et les modifications d’état indiqués.

Paramètres: IEnumerable<string> values

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2567.

private static InjectionValue StringArray(IEnumerable<string> values)

Résultat: InjectionValue.

Appels:

  • (values ?? Array.Empty<string>()).Select(value => new InjectionValue(value)).ToArray
  • (values ?? Array.Empty<string>()).Select
  • Array.Empty<string>

Code interne de l’implémentation ; ce n’est pas un script autonome.

private static InjectionValue StringArray(IEnumerable<string> values)

            => new InjectionValue((values ?? Array.Empty<string>()).Select(value => new InjectionValue(value)).ToArray());

InjectionScript.Runtime.InjectionApiUO.Timer

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6044.

public int Timer()

Résultat: int.

Appels:

  • Math.Max
  • Math.Min

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int Timer() => (int)Math.Max(0d, Math.Min(int.MaxValue, timeSource.SinceStart.TotalMilliseconds / 100d));

InjectionScript.Runtime.InjectionApiUO.ToBoolean

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue value

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5223.

private static bool ToBoolean(InjectionValue value)

Résultat: bool.

Conditions:

  • value.Kind == InjectionValueKind.String
  • bool.TryParse(text, out bool flag)

Appels:

  • (value.String ?? string.Empty).Trim
  • bool.TryParse
  • NumberConversions.ToInt

Code interne de l’implémentation ; ce n’est pas un script autonome.

private static bool ToBoolean(InjectionValue value)

        {

            if (value.Kind == InjectionValueKind.String)

            {

                string text = (value.String ?? string.Empty).Trim();

                if (bool.TryParse(text, out bool flag))

                    return flag;

            }

            return NumberConversions.ToInt(value) != 0;

        }

InjectionScript.Runtime.InjectionApiUO.TryGetObject

Exécute les appels et les modifications d’état indiqués.

Paramètres: string name, out int id

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3971.

public bool TryGetObject(string name, out int id)

Résultat: bool.

Conditions:

  • name.Equals("finditem", StringComparison.OrdinalIgnoreCase) && bridge.FindItem != 0
  • name.Equals("self", StringComparison.OrdinalIgnoreCase)
  • name.Equals("lastcorpse", StringComparison.OrdinalIgnoreCase)
  • name.Equals("lasttarget", StringComparison.OrdinalIgnoreCase)

Appels:

  • name.Equals
  • bridge.GetLastObject
  • bridge.GetLastContainer
  • objects.TryGet
  • NumberConversions.TryStr2Int

Code interne de l’implémentation ; ce n’est pas un script autonome.

public bool TryGetObject(string name, out int id)

        {

            id = -1;

            if (name.Equals("finditem", StringComparison.OrdinalIgnoreCase) && bridge.FindItem != 0)

                id = bridge.FindItem;

            if (name.Equals("self", StringComparison.OrdinalIgnoreCase))

                id = bridge.Self;

            if (name.Equals("lastcorpse", StringComparison.OrdinalIgnoreCase))

                id = bridge.LastCorpse;

            if (name.Equals("lasttarget", StringComparison.OrdinalIgnoreCase))

                id = bridge.LastTarget;

            if (name.Equals("lastattack", StringComparison.OrdinalIgnoreCase))

                id = bridge.LastAttack;

            if (name.Equals("lastobject", StringComparison.OrdinalIgnoreCase))

                id = bridge.GetLastObject();

            if (name.Equals("lastcontainer", StringComparison.OrdinalIgnoreCase))

                id = bridge.GetLastContainer();

            if (name.Equals("laststatus", StringComparison.OrdinalIgnoreCase))

                id = bridge.LastStatus;

            if (name.Equals("backpack", StringComparison.OrdinalIgnoreCase))

                id = bridge.Backpack;



            if (objects.TryGet(name, out var value))

                id = value;



            if (NumberConversions.TryStr2Int(name, out value))

                id = value;



            if (id > -1)

                return true;



            id = 0;

            return false;

        }

InjectionScript.Runtime.InjectionApiUO.TryResolveClassRules

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValue mask, out EquipmentClassRule[] rules

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.ClassMasks.cs:98.

private bool TryResolveClassRules(InjectionValue mask, out EquipmentClassRule[] rules)

Résultat: bool.

Conditions:

  • mask.Kind == InjectionValueKind.Unit || mask.Kind == InjectionValueKind.Any || mask.Kind == InjectionValueKind.Integer && mask.Integer == -1
  • mask.Kind == InjectionValueKind.String
  • raw.Length == 0 || raw == "-1" || raw.Equals("any", StringComparison.OrdinalIgnoreCase) || raw.Equals("all", StringComparison.OrdinalIgnoreCase)
  • mask.Kind != InjectionValueKind.Array || mask.Array.Length == 0

Appels:

  • (mask.String ?? string.Empty).Trim
  • raw.Equals
  • raw.Split(new[] { '|', ',', ';' }, StringSplitOptions.None) .Select(s => new InjectionValue(s.Trim())).ToArray
  • raw.Split(new[] { '|', ',', ';' }, StringSplitOptions.None) .Select
  • raw.Split
  • s.Trim
  • classRules.TryGetValue
  • (value.String ?? string.Empty).Trim
  • resolved.Contains
  • resolved.Add
  • resolved.ToArray

Code interne de l’implémentation ; ce n’est pas un script autonome.

private bool TryResolveClassRules(InjectionValue mask, out EquipmentClassRule[] rules)
        {
            rules = null;
            if (mask.Kind == InjectionValueKind.Unit || mask.Kind == InjectionValueKind.Any
                || mask.Kind == InjectionValueKind.Integer && mask.Integer == -1) return true;
            if (mask.Kind == InjectionValueKind.String)
            {
                string raw = (mask.String ?? string.Empty).Trim();
                if (raw.Length == 0 || raw == "-1" || raw.Equals("any", StringComparison.OrdinalIgnoreCase)
                    || raw.Equals("all", StringComparison.OrdinalIgnoreCase)) return true;
                mask = new InjectionValue(raw.Split(new[] { '|', ',', ';' }, StringSplitOptions.None)
                    .Select(s => new InjectionValue(s.Trim())).ToArray());
            }
            if (mask.Kind != InjectionValueKind.Array || mask.Array.Length == 0) return false;
            var resolved = new List<EquipmentClassRule>();
            lock (classRulesSync)
            {
                foreach (InjectionValue value in mask.Array)
                {
                    if (value.Kind != InjectionValueKind.String
                        || !classRules.TryGetValue((value.String ?? string.Empty).Trim(), out EquipmentClassRule rule)) return false;
                    if (!resolved.Contains(rule)) resolved.Add(rule);
                }
            }
            rules = resolved.ToArray();
            return true;
        }

InjectionScript.Runtime.InjectionApiUO.UseType

Exécute les appels et les modifications d’état indiqués.

Paramètres: int type

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4092.

public int UseType(int type)

Résultat: int.

Appels:

  • UseType

Code interne de l’implémentation ; ce n’est pas un script autonome.

public int UseType(int type) => UseType(type, -1);

InjectionScript.Runtime.InjectionApiUO.WaitGump

Exécute les appels et les modifications d’état indiqués.

Paramètres: string triggerId

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3159.

public void WaitGump(string triggerId)

Résultat: void.

Conditions:

  • text.Contains('|') || text.Contains(',')

Appels:

  • (triggerId ?? string.Empty).Trim

  • text.Contains

  • `text.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)

                  .Select(value => new InjectionValue(value.Trim())).ToArray`
    
  • `text.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)

                  .Select`
    
  • text.Split

  • value.Trim

  • CompactWaitGump

  • WaitGump

  • NumberConversions.ToInt

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void WaitGump(string triggerId)

        {

            string text = (triggerId ?? string.Empty).Trim();

            if (text.Contains('|') || text.Contains(','))

            {

                InjectionValue[] chain = text.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)

                    .Select(value => new InjectionValue(value.Trim())).ToArray();

                CompactWaitGump(chain);

                return;

            }

            WaitGump(NumberConversions.ToInt(triggerId));

        }

InjectionScript.Runtime.InjectionApiUO.WaitTargetSelf

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4299.

public void WaitTargetSelf()

Résultat: void.

Appels:

  • WaitTargetObject

Code interne de l’implémentation ; ce n’est pas un script autonome.

public void WaitTargetSelf() => WaitTargetObject("self");

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetPetsCurrent]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1048.

Résultat: bridge.Followers.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

() => bridge.Followers

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetPoisoned]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1062.

serial

Résultat: serial.

Résultat: bridge.Poisoned(serial).

Appels: bridge.Poisoned.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

serial => bridge.Poisoned(serial)

InjectionScript.Runtime.InjectionApiUO.Register [NewMoveXY]

L’appel exécute le delegate du gestionnaire enregistré. La méthode d’enregistrement crée ce delegate lors de la construction de l’API.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:841.

values

Résultat: values.

Résultat: new InjectionValue(CompactNewMoveXY(values)).

Appels: CompactNewMoveXY.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

values => new InjectionValue(CompactNewMoveXY(values))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.

Résultat: getter(bridge.Self).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.

Résultat: getter(bridge.Self).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.

Résultat: getter(bridge.Self).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.

Résultat: getter(bridge.Self).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.

Résultat: getter(bridge.Self).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.

value

Résultat: value.

Résultat: getter(GetObject(value)).

Appels: getter, GetObject.

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

Renvoie la valeur de l’expression ci-dessous.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.

Résultat: getter(bridge.Self).

Appels:

Code interne de l’implémentation ; ce n’est pas un script autonome.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionRuntime.Checkpoint

Exécute les appels et les modifications d’état indiqués.

Paramètres: Aucun paramètre.

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionRuntime.cs:45.

private void Checkpoint()

Résultat: void.

Appels:

  • .Invoke
  • .ThrowIfCancellationRequested

Code interne de l’implémentation ; ce n’est pas un script autonome.

private void Checkpoint(){cancellation?.Invoke()?.ThrowIfCancellationRequested();checkpoint?.Invoke();cancellation?.Invoke()?.ThrowIfCancellationRequested();}

InjectionScript.Runtime.InjectionValue.ConvertTo

Exécute les appels et les modifications d’état indiqués.

Paramètres: InjectionValueKind targetKind

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionValue.cs:93.

internal object ConvertTo(InjectionValueKind targetKind)

Résultat: object.

Appels:

—

Code interne de l’implémentation ; ce n’est pas un script autonome.

internal object ConvertTo(InjectionValueKind targetKind)

        {

            switch (targetKind)

            {

                case InjectionValueKind.Any:

                    return this;

                case InjectionValueKind.Integer:

                    return (int)this;

                case InjectionValueKind.Decimal:

                    return (double)this;

                case InjectionValueKind.String:

                    return (string)this;

                case InjectionValueKind.Array:

                    return (InjectionValue[])this;

                case InjectionValueKind.Object:

                    return (InjectionObject)this;

                case InjectionValueKind.Unit:

                    return null;

                default:

                    throw new InvalidCastException($"Cannot convert {this.Kind} to {targetKind}.");

            }

        }

InjectionScript.Runtime.Metadata.NativeSubrutineExists

Exécute les appels et les modifications d’état indiqués.

Paramètres: string name,int argumentCount

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/Metadata.cs:21.

public bool NativeSubrutineExists(string name,int argumentCount)

Résultat: bool.

Appels:

  • nativeSubrutines.Exists

Code interne de l’implémentation ; ce n’est pas un script autonome.

public bool NativeSubrutineExists(string name,int argumentCount) => nativeSubrutines.Exists(name,argumentCount);

InjectionScript.Runtime.NativeSubrutineMetadata.Exists

Exécute les appels et les modifications d’état indiqués.

Paramètres: string name, int argumentCount

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeSubrutineMetadata.cs:69.

internal bool Exists(string name, int argumentCount)

Résultat: bool.

Appels:

  • byName.TryGetValue
  • arities.ContainsKey

Code interne de l’implémentation ; ce n’est pas un script autonome.

internal bool Exists(string name, int argumentCount)
            => byName.TryGetValue(name, out var arities) && arities.ContainsKey(argumentCount);

InjectionScript.Runtime.State.NamedIgnoreLists.FilterFor

Exécute les appels et les modifications d’état indiqués.

Paramètres: string name

Source: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedIgnoreLists.cs:26.

public IgnoreTypeFilter FilterFor(string name)

Résultat: IgnoreTypeFilter.

Appels:

  • string.IsNullOrWhiteSpace
  • lists.TryGetValue
  • name.Trim

Code interne de l’implémentation ; ce n’est pas un script autonome.

public IgnoreTypeFilter FilterFor(string name)
        {
            lock (sync)
                return !string.IsNullOrWhiteSpace(name) && lists.TryGetValue(name.Trim(), out var filter) ? filter : IgnoreTypeFilter.Empty;
        }

Clone this wiki locally