Ejemplo n.º 1
0
        public static void SendReturnMessage(Abilities.AbilityMain.ID id, Abilities.AbilityMain.RETURN ret)
        {
            string message = null;

            switch (ret)
            {
            case (Abilities.AbilityMain.RETURN.FAIL_COOLDOWN):
                message = "Not Ready!";
                break;

            case (Abilities.AbilityMain.RETURN.FAIL_LINE_OF_SIGHT):
                message = "Line of Sight!";
                break;

            case (Abilities.AbilityMain.RETURN.FAIL_MANA):
                message = "Not Enough Mana!";
                break;

            case (Abilities.AbilityMain.RETURN.FAIL_NOT_IMPLEMENTRD):
                message = "Not Yet Implemented!";
                break;

            case (Abilities.AbilityMain.RETURN.FAIL_STATUS):
                message = "Cannot Be Used Right Now!";
                break;

            case (Abilities.AbilityMain.RETURN.FAIL_REQUIREMENTS):
                message = "Requirements Not Met!";
                break;

            default:
                //no message
                break;
            }
            if (message != null)
            {
                if (ExperienceAndClasses.localMyPlayer.ability_message_overhead)
                {
                    CombatText.NewText(Main.LocalPlayer.getRect(), ExperienceAndClasses.MESSAGE_COLOUR_RED, message);
                }
                else
                {
                    Main.NewText(Abilities.AbilityMain.AbilityLookup[(int)id].GetName() + ": " + message, ExperienceAndClasses.MESSAGE_COLOUR_RED);
                }
            }
        }
Ejemplo n.º 2
0
        public override void ProcessTriggers(TriggersSet triggersSet) //CLIENT-SIDE ONLY
        {
            //prevent weapon use after
            if (triggersSet.MouseLeft && itemUsePrevented && ((player.HeldItem.damage > 0) || player.HeldItem.useStyle == 1 || player.HeldItem.useStyle == 3 || player.HeldItem.useStyle == 5))
            {
                player.controlUseItem = false;
            }

            //track afk
            if (Main.netMode != 2 && (triggersSet.MouseLeft || triggersSet.MouseMiddle || triggersSet.MouseRight || triggersSet.Jump || triggersSet.Up || triggersSet.Down || triggersSet.Left || triggersSet.Right))
            {
                afkTime = DateTime.Now;
                if (afk)
                {
                    if (Main.netMode == 0)
                    {
                        Main.NewText("You are no longer AFK.", ExperienceAndClasses.MESSAGE_COLOUR_RED);
                    }
                    afk = false;
                    Methods.PacketSender.ClientUnAFK(mod);
                }
            }

            //reset which errors can display when an ability key is pressed
            for (int i = 0; i < ExperienceAndClasses.NUMBER_OF_ABILITY_SLOTS; i++)
            {
                if (ExperienceAndClasses.HOTKEY_ABILITY[i].JustPressed)
                {
                    latestAbilityFail = Abilities.AbilityMain.RETURN.UNUSED;
                    showFailMessages  = true;
                    break;
                }
            }

            //which ability
            int slot = -1;

            for (int i = 0; i < ExperienceAndClasses.NUMBER_OF_ABILITY_SLOTS; i++)
            {
                if (ExperienceAndClasses.HOTKEY_ABILITY[i].Current)
                {
                    slot = i;
                    break;
                }
            }

            //do ability, if any
            if (slot >= 0)
            {
                Abilities.AbilityMain.ID id = selectedActiveAbilities[slot];
                if (id != Abilities.AbilityMain.ID.UNDEFINED)
                {
                    Abilities.AbilityMain.RETURN ret = Abilities.AbilityMain.AbilityLookup[(int)id].Use((byte)effectiveLevel, ExperienceAndClasses.HOTKEY_ALTERNATE_EFFECT.Current);

                    if (ret == Abilities.AbilityMain.RETURN.SUCCESS)
                    {
                        showFailMessages = false;
                    }

                    if (showFailMessages && (ret != latestAbilityFail))
                    {
                        latestAbilityFail = ret;
                        SendReturnMessage(id, latestAbilityFail);
                    }
                }
            }
            else if (ExperienceAndClasses.HOTKEY_ALTERNATE_EFFECT.JustPressed)
            {
                Abilities.AbilityMain.Cleric_Active_Sanctuary.TryWarp();
            }
        }