| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package GM.Commands.PrintFightPower  | 
| #  | 
| # @todo:ÏÔʾսÁ¦Ã÷ϸ  | 
| # @author hxp  | 
| # @date 2018-01-31  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö: ÏÔʾսÁ¦Ã÷ϸ  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #"""Version = 2018-01-31 20:00"""  | 
| #-------------------------------------------------------------------------------  | 
|   | 
| import ChConfig  | 
| import GameWorld  | 
| import ShareDefine  | 
| import PlayerControl  | 
|   | 
|   | 
| #Â߼ʵÏÖ  | 
| ## GMÃüÁîÖ´ÐÐÈë¿Ú  | 
| #  @param curPlayer µ±Ç°Íæ¼Ò  | 
| #  @param msgList ²ÎÊýÁÐ±í  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def OnExec(curPlayer, msgList):  | 
|       | 
|     mfpTypeName = {ShareDefine.Def_MFPType_Role:"½ÇÉ«",  | 
|                    ShareDefine.Def_MFPType_Equip:"×°±¸",  | 
|                    ShareDefine.Def_MFPType_Plus:"Ç¿»¯",  | 
|                    ShareDefine.Def_MFPType_Stone:"±¦Ê¯",  | 
|                    ShareDefine.Def_MFPType_Suit:"Ì××°",  | 
|                    ShareDefine.Def_MFPType_Wing:"³á°ò",  | 
|                    ShareDefine.Def_MFPType_Wash:"Ï´Á·",  | 
|                    ShareDefine.Def_MFPType_Pet:"Áé³è",  | 
|                    ShareDefine.Def_MFPType_Horse:"×øÆï",  | 
|                    ShareDefine.Def_MFPType_Prestige:"¾³½ç",  | 
|                    ShareDefine.Def_MFPType_GodWeapon:"Éñ±ø",  | 
|                    ShareDefine.Def_MFPType_Dienstgrad:"³ÆºÅ",  | 
|                    ShareDefine.Def_MFPType_Rune:"·ûÓ¡",  | 
|                    ShareDefine.Def_MFPType_GatherSoul:"¾Û»ê",  | 
|                    ShareDefine.Def_MFPType_Horcrux:"»êÆ÷",  | 
|                    ShareDefine.Def_MFPType_MagicWeapon1:"ÈË×å",  | 
|                    ShareDefine.Def_MFPType_StoveYao:"µ¤Ò©",  | 
|                    ShareDefine.Def_MFPType_MagicWeapon2:"ħ×å",  | 
|                    ShareDefine.Def_MFPType_MagicWeapon3:"ÏÉ×å",  | 
|                    ShareDefine.Def_MFPType_MagicWeapon4:"ÍõÕß·¨±¦",  | 
|                    ShareDefine.Def_MFPType_PetSoul:"³è»ê",  | 
|                    ShareDefine.Def_MFPType_HorseSoul:"Æï»ê",  | 
|                    ShareDefine.Def_MFPType_MagicWeaponSoul:"·¨±¦Ö®»ê",  | 
|                    ShareDefine.Def_MFPType_Dogz:"ÉñÊÞ",  | 
|                    ShareDefine.Def_MFPType_Coat:"ʱװ",  | 
|                    ShareDefine.Def_MFPType_ZhuXian:"ÖïÏÉ",  | 
|                    ShareDefine.Def_MFPType_Other:"ÆäËû",  | 
|                    }  | 
|       | 
|     funcIndexName = {  | 
|                      ChConfig.Def_CalcAttrFunc_RoleBase:"½ÇÉ«»ù´¡",  | 
|                      ChConfig.Def_CalcAttrFunc_EquipBaseWeapon:"ÎäÆ÷ÎïÆ·±í»ù´¡ÊôÐÔ",  | 
|                      ChConfig.Def_CalcAttrFunc_EquipBaseArmor:"·À¾ßÎïÆ·±í»ù´¡ÊôÐÔ",  | 
|                      ChConfig.Def_CalcAttrFunc_EquipBaseRelics:"Ê¥Æ÷ÎïÆ·±í»ù´¡ÊôÐÔ",  | 
|                      ChConfig.Def_CalcAttrFunc_Equip:"×°±¸ÆäËû",  | 
|                      ChConfig.Def_CalcAttrFunc_PlusBase:"×°±¸Î»Ç¿»¯»ù´¡",  | 
|                      ChConfig.Def_CalcAttrFunc_PlusEx:"×°±¸Î»Ç¿»¯ÀÛ¼Ó",  | 
|                      ChConfig.Def_CalcAttrFunc_Stone:"×°±¸±¦Ê¯",  | 
|                      ChConfig.Def_CalcAttrFunc_Suit:"Ì××°",  | 
|                      ChConfig.Def_CalcAttrFunc_Wing:"³á°ò",  | 
|                      ChConfig.Def_CalcAttrFunc_Wash:"Ï´Á·",  | 
|                      ChConfig.Def_CalcAttrFunc_Pet:"Áé³è",  | 
|                      ChConfig.Def_CalcAttrFunc_Horse:"×øÆï",  | 
|                      ChConfig.Def_CalcAttrFunc_Prestige:"¾³½ç",  | 
|                      ChConfig.Def_CalcAttrFunc_GodWeapon:"Éñ±ø",  | 
|                      ChConfig.Def_CalcAttrFunc_Dienstgrad:"³ÆºÅ",  | 
|                      ChConfig.Def_CalcAttrFunc_Rune:"·ûÓ¡",  | 
|                      ChConfig.Def_CalcAttrFunc_GatherSoul:"¾Û»ê",  | 
|                      ChConfig.Def_CalcAttrFunc_Horcrux:"»êÆ÷",  | 
|                      ChConfig.Def_CalcAttrFunc_MagicWeapon1:"ÈË×å·¨±¦ÊôÐÔ",  | 
|                      ChConfig.Def_CalcAttrFunc_MagicWeapon2:"ħ×å·¨±¦ÊôÐÔ",   | 
|                      ChConfig.Def_CalcAttrFunc_MagicWeapon3:"ÏÉ×å·¨±¦ÊôÐÔ",   | 
|                      ChConfig.Def_CalcAttrFunc_MagicWeapon4:"ÍõÕß·¨±¦ÊôÐÔ",   | 
|                      ChConfig.Def_CalcAttrFunc_EquipOutOfPrint:"¾ø°æÊôÐÔËæµÈ¼¶±ä»¯",  | 
|                      ChConfig.Def_CalcAttrFunc_EquipAllStars:"×°±¸È«ÉíÐǼ¶ÊôÐÔ",  | 
|                      ChConfig.Def_CalcAttrFunc_Success:"³É¾Í",  | 
|                      ChConfig.Def_CalcAttrFunc_VIP:"VIP",  | 
|                      ChConfig.Def_CalcAttrFunc_Stove:"Á¶µ¤Â¯",  | 
|                      ChConfig.Def_CalcAttrFunc_FamilyTech:"ÐÄ·¨",  | 
|                      ChConfig.Def_CalcAttrFunc_EquipDecompose:"×°±¸·Ö½â",  | 
|                      ChConfig.Def_CalcAttrFunc_PetSoul:"³èÎï»êʯ",  | 
|                      ChConfig.Def_CalcAttrFunc_HorseSoul:"×øÆï»êʯ",  | 
|                      ChConfig.Def_CalcAttrFunc_HorseSkill:"×øÆï¼¼ÄÜÊôÐÔ",  | 
|                      ChConfig.Def_CalcAttrFunc_PetSkill:"³èÎï¼¼ÄÜÊôÐÔ",  | 
|                      ChConfig.Def_CalcAttrFunc_StoveYao:"Á¶µ¤Â¯µ¤Ò©",  | 
|                      ChConfig.Def_CalcAttrFunc_PetSign:"³èÎïÇ©µ½",  | 
|                      ChConfig.Def_CalcAttrFunc_MagicWeaponSoul:"·¨±¦Ö®»ê",  | 
|                      ChConfig.Def_CalcAttrFunc_Dogz:"ÉñÊÞ",  | 
|                      ChConfig.Def_CalcAttrFunc_Coat:"ʱװ",  | 
|                      ChConfig.Def_CalcAttrFunc_ZXEquip:"ÖïÏÉ×°±¸",  | 
|                      ChConfig.Def_CalcAttrFunc_ZXEquipSuit:"ÖïÏÉ×°±¸Ì××°",  | 
|                      }  | 
|       | 
|     GameWorld.DebugAnswer(curPlayer, "PrintFightPower Ä£¿éÀàÐÍ(¿ÉÑ¡)")  | 
|       | 
|     if msgList:  | 
|         mfpType = msgList[0]  | 
|         if mfpType not in mfpTypeName:  | 
|             return  | 
|         fightPower = PlayerControl.GetMFPFightPower(curPlayer, mfpType)  | 
|         GameWorld.DebugAnswer(curPlayer, "--- %sÕ½Á¦(%s): %s" % (mfpTypeName[mfpType], mfpType, fightPower))  | 
|         for funcIndex in ChConfig.MFPTypeAttrFuncIndexDict[mfpType]:  | 
|             funcName = funcIndexName.get(funcIndex, "ÊôÐÔ(%s)" % funcIndex)  | 
|             attrInfo = PlayerControl.GetCalcAttrListValue(curPlayer, funcIndex)  | 
|             GameWorld.DebugAnswer(curPlayer, "%s:%s" % (funcName, attrInfo))  | 
|         return  | 
|       | 
|     GameWorld.DebugAnswer(curPlayer, "===== ×ÜÕ½Á¦: %s" % curPlayer.GetFightPower())  | 
|     for mfpType in ChConfig.MFPTypeAttrFuncIndexDict.keys():  | 
|         fightPower = PlayerControl.GetMFPFightPower(curPlayer, mfpType)  | 
|         mfpSkillFP = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPSkill % mfpType)  | 
|         mfpEx = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPEx % mfpType)  | 
|         name = mfpTypeName.get(mfpType, "Ä£¿é%s" % mfpType)  | 
|         if mfpSkillFP or mfpEx:  | 
|             GameWorld.DebugAnswer(curPlayer, "%sÕ½Á¦(%s): %s,¼¼ÄÜ:%s, Ex=%s" % (name, mfpType, fightPower, mfpSkillFP, mfpEx))  | 
|         else:  | 
|             GameWorld.DebugAnswer(curPlayer, "%sÕ½Á¦(%s): %s" % (name, mfpType, fightPower))  | 
|           | 
|     return  | 
|   |