public static void Functions(int index)
        {
            switch (index)
            {
            case 0:
                break;

            case 1:
                GameInfo();
                break;

            case 2:
                KillFunctions();
                break;

            case 3:
                Common.ResurrectAndFullRestore(Common.GetUnitUnderMouse());
                break;

            case 4:
                Common.Buff(Common.GetUnitUnderMouse(),
                            Storage.buffFavouritesGuids[Main.Settings.actionKeyBuffIndex]);
                break;

            case 5:
                editUnit = Common.GetUnitUnderMouse();
                break;

            case 6:
                teleportUnit = Common.GetUnitUnderMouse();
                if (teleportUnit != null && Strings.ToBool(Main.Settings.toggleAddToLog))
                {
                    Common.AddLogEntry(Strings.GetText("label_TeleportUnit") + $": {teleportUnit.CharacterName}",
                                       Color.black);
                }
                break;

            case 7:
                if (Strings.ToBool(settings.toggleSpawnEnemiesFromUnitFavourites))
                {
                    try
                    {
                        Vector3 pos = Common.MousePositionLocalMap();
                        float   x   = 0.0f;
                        float   z   = 0.0f;
                        foreach (string guid in SpawnUnits.GetStoredGUIDs)
                        {
                            Vector3 finalPos = new Vector3(pos.x + 1.5f * x, pos.y, pos.z + 1.5f * z);
                            SpawnUnits.UnitSpawner(finalPos, guid);
                            x++;
                            if (x > 10f)
                            {
                                x = 0.0f;
                                z++;
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        modLogger.Log(e.ToString());
                    }
                }
                else if (settings.actionKeySpawnRandomEnemy && Strings.ToBool(settings.toggleActionKeyExperimental))
                {
                    try
                    {
                        Common.SpawnHostileUnit(Common.MousePositionLocalMap(), ResourcesLibrary.GetBlueprints <BlueprintUnit>().RandomElement());
                    }
                    catch (Exception e)
                    {
                        modLogger.Log(e.ToString());
                    }
                }
                else
                {
                    Common.SpawnHostileUnit(Common.MousePositionLocalMap(), banditsGuids[banidtCrIndex]);
                }

                break;

            case 8:
                rotateUnit = Common.GetUnitUnderMouse();
                if (rotateUnit != null && Strings.ToBool(Main.Settings.toggleAddToLog))
                {
                    Common.AddLogEntry(
                        Strings.GetText("arrayItem_ActionKeyMain_RotateUnit") + $": {rotateUnit.CharacterName}",
                        Color.black);
                }
                break;

            case 9:
                Common.GetUnitUnderMouse().View.AnimationManager.Execute(animationTypes[animationTypesIndex]);
                break;

            case 10:
                FxHelper.SpawnFxOnPoint(BlueprintRoot.Instance.Cheats.SillyCheatBlood,
                                        Common.MousePositionLocalMap());
                break;

            case 11:
                Common.Charm(Common.GetUnitUnderMouse());
                break;

            case 12:
                Common.AddToParty(Common.GetUnitUnderMouse());
                break;

            case 13:
                Common.GetUnitUnderMouse().Descriptor.Recreate = true;
                break;
            }
        }