def takeAction(urlParam,parent): actionResult = ActionResult() userId = parent.Current.UserId itemConfig = ConfigCacheSet[ItemBaseInfo]().FindKey(urlParam.ItemId) if not itemConfig or itemConfig.Athletics <= 0: parent.ErrorCode = LanguageManager.GetLang().ErrorCode parent.ErrorInfo = LanguageManager.GetLang().LoadDataError actionResult.Result = False return actionResult userId = parent.Current.UserId cacheSetUser = GameDataCacheSet[GameUser]() user = cacheSetUser.FindKey(userId.ToString()) if not user: parent.ErrorCode = LanguageManager.GetLang().ErrorCode parent.ErrorInfo = LanguageManager.GetLang().LoadDataError actionResult.Result = False return actionResult sportsIntegral = itemConfig.Athletics * urlParam.ItemNum if user.SportsIntegral < sportsIntegral: parent.ErrorCode = LanguageManager.GetLang().ErrorCode parent.ErrorInfo = Lang.getLang("St7012_IntegralNotEnough"); actionResult.Result = False return actionResult result = UserPackHelper.PackIsFull(user,BackpackType.BeiBao,urlParam.ItemNum) if result[0]: parent.ErrorCode = LanguageManager.GetLang().ErrorCode parent.ErrorInfo = result[1] actionResult.Result = False return actionResult UserItemHelper.AddUserItem(str(userId),urlParam.ItemId,urlParam.ItemNum,ItemStatus.BeiBao,0) user.SportsIntegral = MathUtils.Subtraction(user.SportsIntegral, sportsIntegral) actionResult.sportsIntegral = MathUtils.ToInt(user.SportsIntegral) return actionResult
def takeAction(urlParam, parent): actionResult = ActionResult() userId = parent.Current.UserId itemConfig = ConfigCacheSet[ItemBaseInfo]().FindKey(urlParam.ItemId) if not itemConfig or itemConfig.Athletics <= 0: parent.ErrorCode = LanguageManager.GetLang().ErrorCode parent.ErrorInfo = LanguageManager.GetLang().LoadDataError actionResult.Result = False return actionResult userId = parent.Current.UserId cacheSetUser = GameDataCacheSet[GameUser]() user = cacheSetUser.FindKey(userId.ToString()) if not user: parent.ErrorCode = LanguageManager.GetLang().ErrorCode parent.ErrorInfo = LanguageManager.GetLang().LoadDataError actionResult.Result = False return actionResult sportsIntegral = itemConfig.Athletics * urlParam.ItemNum if user.SportsIntegral < sportsIntegral: parent.ErrorCode = LanguageManager.GetLang().ErrorCode parent.ErrorInfo = Lang.getLang("St7012_IntegralNotEnough") actionResult.Result = False return actionResult result = UserPackHelper.PackIsFull(user, BackpackType.BeiBao, urlParam.ItemNum) if result[0]: parent.ErrorCode = LanguageManager.GetLang().ErrorCode parent.ErrorInfo = result[1] actionResult.Result = False return actionResult UserItemHelper.AddUserItem(str(userId), urlParam.ItemId, urlParam.ItemNum, ItemStatus.BeiBao, 0) user.SportsIntegral = MathUtils.Subtraction(user.SportsIntegral, sportsIntegral) actionResult.sportsIntegral = MathUtils.ToInt(user.SportsIntegral) return actionResult
def takeAction(urlParam, parent): actionResult = ActionResult(); userId = str(parent.Current.UserId) contextUser = PersonalCacheStruct.Get[GameUser](userId) heritageList = CacheList[GeneralHeritage](); heritage = GeneralHeritage(); general = PersonalCacheStruct[UserGeneral]().FindKey(userId, urlParam.generalID); if general == None: actionResult.Result = False; return actionResult; if contextUser.HeritageList.Count > 0: heritageList = contextUser.HeritageList; if heritageList.Find(lambda m:m.Type == urlParam.heritageType) != None: heritage = heritageList.Find(lambda m:m.Type == urlParam.heritageType); if heritage and urlParam.heritageType == HeritageType.Heritage: if GeneralHelper.IsGeneralEqu(userId,urlParam.generalID): parent.ErrorCode = Lang.getLang("ErrorCode"); parent.ErrorInfo = Lang.getLang("St1449_GeneralHaveEqu"); actionResult.Result = False; return actionResult; if GeneralHelper.IsGeneralCrystal(userId,urlParam.generalID): parent.ErrorCode = Lang.getLang("ErrorCode"); parent.ErrorInfo = Lang.getLang("St1449_GeneralHaveCrystal"); actionResult.Result = False; return actionResult; if GeneralHelper.IsGeneralAbility(userId,urlParam.generalID): parent.ErrorCode = Lang.getLang("ErrorCode"); parent.ErrorInfo = Lang.getLang("St1449_GeneralHaveAbility"); actionResult.Result = False; return actionResult; if urlParam.heritageType == HeritageType.Heritage: opsid=0; genlv = 0; opsInfo = GeneralHelper.HeritageOpsInfo(opsid); gHeritage = heritageList.Find(lambda m:m.Type == HeritageType.IsHeritage); if opsInfo != None: if gHeritage != None and general.GeneralLv < genlv: parent.ErrorCode = LanguageManager.GetLang().ErrorCode; parent.ErrorInfo = LanguageManager.GetLang().St_VipNotEnough; actionResult.Result = False; return actionResult; if gHeritage != None: genlv = MathUtils.ToFloorInt(general.GeneralLv * opsInfo.Num) if genlv < gHeritage.GeneralLv: genlv = gHeritage.GeneralLv; contextUser.HeritageList.Remove(heritage); heritage.GeneralID = urlParam.generalID; heritage.Type = urlParam.heritageType; heritage.GeneralLv = general.GeneralLv; heritage.opsType = 1; contextUser.HeritageList.Add(heritage); gHeritage.GeneralLv = genlv; elif urlParam.heritageType == HeritageType.IsHeritage: contextUser.HeritageList = CacheList[GeneralHeritage](); heritage.GeneralID = urlParam.generalID; heritage.GeneralLv = general.GeneralLv; heritage.Type = urlParam.heritageType; contextUser.HeritageList.Add(heritage); return actionResult;
def takeAction(urlParam, parent): actionResult = ActionResult() userId = str(parent.Current.UserId) contextUser = PersonalCacheStruct.Get[GameUser](userId) heritageList = CacheList[GeneralHeritage]() heritage = GeneralHeritage() general = GameDataCacheSet[UserGeneral]().FindKey(userId, urlParam.generalID) if general == None: actionResult.Result = False return actionResult if contextUser.HeritageList.Count > 0: heritageList = contextUser.HeritageList if heritageList.Find( lambda m: m.Type == urlParam.heritageType) != None: heritage = heritageList.Find( lambda m: m.Type == urlParam.heritageType) if heritage and urlParam.heritageType == HeritageType.Heritage: if GeneralHelper.IsGeneralEqu(userId, urlParam.generalID): parent.ErrorCode = Lang.getLang("ErrorCode") parent.ErrorInfo = Lang.getLang("St1449_GeneralHaveEqu") actionResult.Result = False return actionResult if GeneralHelper.IsGeneralCrystal(userId, urlParam.generalID): parent.ErrorCode = Lang.getLang("ErrorCode") parent.ErrorInfo = Lang.getLang("St1449_GeneralHaveCrystal") actionResult.Result = False return actionResult if GeneralHelper.IsGeneralAbility(userId, urlParam.generalID): parent.ErrorCode = Lang.getLang("ErrorCode") parent.ErrorInfo = Lang.getLang("St1449_GeneralHaveAbility") actionResult.Result = False return actionResult if urlParam.heritageType == HeritageType.Heritage: opsid = 0 genlv = 0 opsInfo = GeneralHelper.HeritageOpsInfo(opsid) gHeritage = heritageList.Find( lambda m: m.Type == HeritageType.IsHeritage) if opsInfo != None: if gHeritage != None and general.GeneralLv < genlv: parent.ErrorCode = LanguageManager.GetLang().ErrorCode parent.ErrorInfo = LanguageManager.GetLang().St_VipNotEnough actionResult.Result = False return actionResult if gHeritage != None: genlv = MathUtils.ToFloorInt(general.GeneralLv * opsInfo.Num) if genlv < gHeritage.GeneralLv: genlv = gHeritage.GeneralLv contextUser.HeritageList.Remove(heritage) heritage.GeneralID = urlParam.generalID heritage.Type = urlParam.heritageType heritage.GeneralLv = general.GeneralLv heritage.opsType = 1 contextUser.HeritageList.Add(heritage) gHeritage.GeneralLv = genlv elif urlParam.heritageType == HeritageType.IsHeritage: contextUser.HeritageList = CacheList[GeneralHeritage]() heritage.GeneralID = urlParam.generalID heritage.GeneralLv = general.GeneralLv heritage.Type = urlParam.heritageType contextUser.HeritageList.Add(heritage) return actionResult