Пример #1
0
        static bool HandleModifyXPCommand(StringArguments args, CommandHandler handler)
        {
            if (args.Empty())
            {
                return(false);
            }

            int xp = args.NextInt32();

            if (xp < 1)
            {
                handler.SendSysMessage(CypherStrings.BadValue);
                return(false);
            }

            Player target = handler.getSelectedPlayerOrSelf();

            if (!target)
            {
                handler.SendSysMessage(CypherStrings.NoCharSelected);
                return(false);
            }

            if (handler.HasLowerSecurity(target, ObjectGuid.Empty))
            {
                return(false);
            }

            // we can run the command
            target.GiveXP((uint)xp, null);
            return(true);
        }
Пример #2
0
        static bool Honor(StringArguments args, CommandHandler handler)
        {
            if (args.Empty())
            {
                return(false);
            }

            Player target = handler.getSelectedPlayerOrSelf();

            if (!target)
            {
                handler.SendSysMessage(CypherStrings.PlayerNotFound);
                return(false);
            }

            // check online security
            if (handler.HasLowerSecurity(target, ObjectGuid.Empty))
            {
                return(false);
            }

            int amount = args.NextInt32();

            //target.ModifyCurrency(CurrencyTypes.HonorPoints, amount, true, true);
            handler.SendSysMessage("NOT IMPLEMENTED: {0} honor NOT added.", amount);

            //handler.SendSysMessage(CypherStrings.CommandModifyHonor, handler.GetNameLink(target), target.GetCurrency((uint)CurrencyTypes.HonorPoints));
            return(true);
        }
Пример #3
0
        static bool HandleAccountAddonCommand(StringArguments args, CommandHandler handler)
        {
            if (args.Empty())
            {
                handler.SendSysMessage(CypherStrings.CmdSyntax);
                return(false);
            }

            uint accountId = handler.GetSession().GetAccountId();

            int expansion = args.NextInt32(); //get int anyway (0 if error)

            if (expansion < 0 || expansion > WorldConfig.GetIntValue(WorldCfg.Expansion))
            {
                handler.SendSysMessage(CypherStrings.ImproperValue);
                return(false);
            }

            PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.UPD_EXPANSION);

            stmt.AddValue(0, expansion);
            stmt.AddValue(1, accountId);
            DB.Login.Execute(stmt);

            handler.SendSysMessage(CypherStrings.AccountAddon, expansion);
            return(true);
        }
Пример #4
0
            static bool HandleHonorAddCommand(StringArguments args, CommandHandler handler)
            {
                if (args.Empty())
                {
                    return(false);
                }

                Player target = handler.GetSelectedPlayer();

                if (!target)
                {
                    handler.SendSysMessage(CypherStrings.PlayerNotFound);
                    return(false);
                }

                // check online security
                if (handler.HasLowerSecurity(target, ObjectGuid.Empty))
                {
                    return(false);
                }

                int amount = args.NextInt32();

                target.RewardHonor(null, 1, amount);
                return(true);
            }
Пример #5
0
        static bool HandleModifyPowerCommand(StringArguments args, CommandHandler handler)
        {
            if (args.Empty())
            {
                return(false);
            }

            Player target = handler.GetSelectedPlayerOrSelf();

            if (!target)
            {
                handler.SendSysMessage(CypherStrings.NoCharSelected);
                return(false);
            }

            if (handler.HasLowerSecurity(target, ObjectGuid.Empty))
            {
                return(false);
            }

            string powerTypeToken = args.NextString();

            if (powerTypeToken.IsEmpty())
            {
                return(false);
            }

            PowerTypeRecord powerType = Global.DB2Mgr.GetPowerTypeByName(powerTypeToken);

            if (powerType == null)
            {
                handler.SendSysMessage(CypherStrings.InvalidPowerName);
                return(false);
            }

            if (target.GetPowerIndex(powerType.PowerTypeEnum) == (int)PowerType.Max)
            {
                handler.SendSysMessage(CypherStrings.InvalidPowerName);
                return(false);
            }

            int powerAmount = args.NextInt32();

            if (powerAmount < 1)
            {
                handler.SendSysMessage(CypherStrings.BadValue);
                return(false);
            }

            NotifyModification(handler, target, CypherStrings.YouChangePower, CypherStrings.YourPowerChanged, powerType.NameGlobalStringTag, powerAmount, powerAmount);
            powerAmount *= powerType.DisplayModifier;
            target.SetMaxPower(powerType.PowerTypeEnum, powerAmount);
            target.SetPower(powerType.PowerTypeEnum, powerAmount);
            return(true);
        }
Пример #6
0
        static bool CheckModifyResources(StringArguments args, CommandHandler handler, Player target, out int res, out int resmax, byte multiplier = 1)
        {
            res    = 0;
            resmax = 0;

            if (args.Empty())
            {
                return(false);
            }

            res    = args.NextInt32() * multiplier;
            resmax = args.NextInt32() * multiplier;

            if (resmax == 0)
            {
                resmax = res;
            }

            if (res < 1 || resmax < 1 || resmax < res)
            {
                handler.SendSysMessage(CypherStrings.BadValue);
                return(false);
            }

            if (!target)
            {
                handler.SendSysMessage(CypherStrings.NoCharSelected);
                return(false);
            }

            if (handler.HasLowerSecurity(target, ObjectGuid.Empty))
            {
                return(false);
            }

            return(true);
        }
Пример #7
0
        static bool Bit(StringArguments args, CommandHandler handler)
        {
            if (args.Empty())
            {
                return(false);
            }

            Unit target = handler.getSelectedUnit();

            if (!target)
            {
                handler.SendSysMessage(CypherStrings.NoCharSelected);

                return(false);
            }

            // check online security
            if (target.IsTypeId(TypeId.Player) && handler.HasLowerSecurity(target.ToPlayer(), ObjectGuid.Empty))
            {
                return(false);
            }

            ushort field = args.NextUInt16();
            int    bit   = args.NextInt32();

            if (field < (int)ObjectFields.End || field >= target.valuesCount)
            {
                handler.SendSysMessage(CypherStrings.BadValue);
                return(false);
            }
            if (bit < 1 || bit > 32)
            {
                handler.SendSysMessage(CypherStrings.BadValue);
                return(false);
            }

            if (target.HasFlag(field, (1 << (bit - 1))))
            {
                target.RemoveFlag(field, (1 << (bit - 1)));
                handler.SendSysMessage(CypherStrings.RemoveBit, bit, field);
            }
            else
            {
                target.SetFlag(field, (1 << (bit - 1)));
                handler.SendSysMessage(CypherStrings.SetBit, bit, field);
            }
            return(true);
        }
Пример #8
0
        static bool HandleExploreCheat(StringArguments args, CommandHandler handler)
        {
            if (args.Empty())
            {
                return(false);
            }

            int    flag = args.NextInt32();
            Player chr  = handler.getSelectedPlayer();

            if (!chr)
            {
                handler.SendSysMessage(CypherStrings.NoCharSelected);
                return(false);
            }

            if (flag != 0)
            {
                handler.SendSysMessage(CypherStrings.YouSetExploreAll, handler.GetNameLink(chr));
                if (handler.needReportToTarget(chr))
                {
                    chr.SendSysMessage(CypherStrings.YoursExploreSetAll, handler.GetNameLink());
                }
            }
            else
            {
                handler.SendSysMessage(CypherStrings.YouSetExploreNothing, handler.GetNameLink(chr));
                if (handler.needReportToTarget(chr))
                {
                    chr.SendSysMessage(CypherStrings.YoursExploreSetNothing, handler.GetNameLink());
                }
            }

            for (ushort i = 0; i < PlayerConst.ExploredZonesSize; ++i)
            {
                if (flag != 0)
                {
                    handler.GetSession().GetPlayer().SetFlag(PlayerFields.ExploredZones1 + i, 0xFFFFFFFF);
                }
                else
                {
                    handler.GetSession().GetPlayer().SetFlag(PlayerFields.ExploredZones1 + i, 0);
                }
            }

            return(true);
        }
Пример #9
0
        static bool HandlePetLevelCommand(StringArguments args, CommandHandler handler)
        {
            Pet    pet   = GetSelectedPlayerPetOrOwn(handler);
            Player owner = pet ? pet.GetOwner() : null;

            if (!pet || !owner)
            {
                handler.SendSysMessage(CypherStrings.SelectPlayerOrPet);
                return(false);
            }

            int level = args.NextInt32();

            if (level == 0)
            {
                level = (int)(owner.getLevel() - pet.getLevel());
            }
            if (level == 0 || level < -SharedConst.StrongMaxLevel || level > SharedConst.StrongMaxLevel)
            {
                handler.SendSysMessage(CypherStrings.BadValue);
                return(false);
            }

            int newLevel = (int)pet.getLevel() + level;

            if (newLevel < 1)
            {
                newLevel = 1;
            }
            else if (newLevel > owner.getLevel())
            {
                newLevel = (int)owner.getLevel();
            }

            pet.GivePetLevel(newLevel);
            return(true);
        }