示例#1
0
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
示例#2
0
文件: action7012.py 项目: ioying/Scut
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
示例#3
0
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;
示例#4
0
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