public override IEnumerable <object> Run()
        {
            HeroesDataContext context = new HeroesDataContext();

            context.UpdateGuildInfo(new int?(FeatureMatrix.GameCode), new int?(GuildAPI.ServerCode), new int?(base.Entity.GuildSN), null, null, null, null, base.Operation.Text, new int?(FeatureMatrix.GetInteger("InGameGuild_MaxMember")), null);
            base.Entity.GuildInfo.GuildNotice = base.Operation.Text;
            base.Entity.ReportGuildInfoChanged();
            base.Entity.Sync();
            base.Finished = true;
            yield return(new OkMessage());

            yield break;
        }
        public bool set_guild_level()
        {
            int argInt  = base.Operation.GetArgInt(0, 1);
            int argInt2 = base.Operation.GetArgInt(1, 0);

            base.Entity.SetGuildLevel(argInt, argInt2);
            using (HeroesDataContext heroesDataContext = new HeroesDataContext())
            {
                heroesDataContext.UpdateGuildInfo(new int?(FeatureMatrix.GameCode), new int?(GuildAPI.ServerCode), new int?(base.Entity.GuildSN), null, null, new int?(base.Entity.GuildInfo.GuildLevel), new long?(base.Entity.GuildInfo.GuildPoint), null, new int?(FeatureMatrix.GetInteger("InGameGuild_MaxMember")), null);
            }
            base.Entity.ReportGuildInfoChanged();
            base.Entity.Sync();
            return(true);
        }
        public bool GiveGP()
        {
            int  argInt  = base.Operation.GetArgInt(0, 0);
            int  argInt2 = base.Operation.GetArgInt(1, 255);
            bool flag    = base.Operation.GetArgInt(2, 0) != 0;

            if (!GPGainTypeUtil.IsValidGPGainTypeValue(argInt2, true))
            {
                Log <_CheatCommandProcessor> .Logger.ErrorFormat("Invalid gainType value is retrieved from DB: GPGainType: {0}, GuildSN: {1}", argInt2, base.Entity.GuildSN);

                return(false);
            }
            if (!flag)
            {
                int num = base.Entity.GiveGP(argInt, (GPGainType)argInt2, 0L);
                if (num != 0)
                {
                    using (HeroesDataContext heroesDataContext = new HeroesDataContext())
                    {
                        heroesDataContext.UpdateGuildInfo(new int?(FeatureMatrix.GameCode), new int?(GuildAPI.ServerCode), new int?(base.Entity.GuildSN), null, null, new int?(base.Entity.GuildInfo.GuildLevel), new long?(base.Entity.GuildInfo.GuildPoint), null, new int?(FeatureMatrix.GetInteger("InGameGuild_MaxMember")), null);
                    }
                    base.Entity.ReportGuildInfoChanged();
                    base.Entity.Sync();
                }
                return(true);
            }
            long num2 = 0L;

            foreach (KeyValuePair <string, OnlineGuildMember> keyValuePair in base.Entity.OnlineMembers)
            {
                if (keyValuePair.Value.FID == base.Connection.RemoteID)
                {
                    num2 = keyValuePair.Value.CID;
                    break;
                }
            }
            if (num2 == 0L)
            {
                Log <_CheatCommandProcessor> .Logger.WarnFormat("Could not find _CheatCommand requester by FID. FID: {0}", base.Connection.RemoteID);

                return(false);
            }
            GiveGuildGP giveGuildGP = new GiveGuildGP();

            giveGuildGP.GainType = (GPGainType)argInt2;
            giveGuildGP.GiveDict.Add(num2, argInt);
            this.service.RequestOperation(base.Entity.Entity, new Location(base.Entity.GuildID, "GuildService.GuildService"), giveGuildGP);
            return(true);
        }
Example #4
0
		public override IEnumerable<object> Run()
		{
			base.Finished = true;
			if (!FeatureMatrix.IsEnable("GuildLevel"))
			{
				yield return new FailMessage("[GiveGuildGPProcessor] GuildLevel")
				{
					Reason = FailMessage.ReasonCode.NotSupportedOperation
				};
			}
			else
			{
				using (HeroesDataContext context = new HeroesDataContext())
				{
					bool gpAdded = false;
					foreach (KeyValuePair<long, int> keyValuePair in base.Operation.GiveDict)
					{
						long key = keyValuePair.Key;
						int value = keyValuePair.Value;
						OnlineGuildMember onlineGuildMember = null;
						foreach (KeyValuePair<string, OnlineGuildMember> keyValuePair2 in base.Entity.OnlineMembers)
						{
							if (keyValuePair2.Value.CID == key)
							{
								onlineGuildMember = keyValuePair2.Value;
								break;
							}
						}
						if (onlineGuildMember != null && onlineGuildMember.GuildMember.Rank.IsRegularMember())
						{
							int num = base.Entity.GiveGP(value, base.Operation.GainType, key);
							gpAdded |= (num != 0);
							try
							{
								onlineGuildMember.GuildMember.AddPoint(num);
								long point = onlineGuildMember.GuildMember.GetPoint();
								base.Entity.ReportGuildMemberChanged(onlineGuildMember.GuildMember.Key);
								context.UpdateGuildCharacterInfo(new long?(key), new long?(point));
								GuildLog.AddGuildLedger(new LogData((long)base.Entity.GuildSN, key, OperationType.GainGuildPoint, GuildLedgerEventType.UpdateGuildUserPoint, point.ToString()));
							}
							catch (Exception ex)
							{
								Log<GiveGuildGP>.Logger.ErrorFormat("Error while GiveGuildGPProcessor, Step UpdateGuildCharacterInfo : {0}", ex.ToString());
							}
						}
					}
					if (!gpAdded)
					{
						yield return new FailMessage("[GiveGuildGPProcessor] gpAdded");
						yield break;
					}
					try
					{
						context.UpdateGuildInfo(new int?(FeatureMatrix.GameCode), new int?(GuildAPI.ServerCode), new int?(base.Entity.GuildSN), null, null, new int?(base.Entity.GuildInfo.GuildLevel), new long?(base.Entity.GuildInfo.GuildPoint), null, new int?(FeatureMatrix.GetInteger("InGameGuild_MaxMember")), null);
					}
					catch (Exception ex2)
					{
						Log<GiveGuildGP>.Logger.ErrorFormat("Error while GiveGuildGPProcessor, Step UpdateGuildInfo : {0}", ex2.ToString());
					}
				}
				base.Entity.ReportGuildInfoChanged();
				base.Entity.Sync();
				yield return new OkMessage();
			}
			yield break;
		}