#!/usr/bin/python # -*- coding: GBK -*- # ##@package # # @todo: Êä³öÍæ¼Ò¼¼ÄÜ # # @author: Alee # @date 2019-5-9 ÏÂÎç02:54:09 # @version 1.0 # # @note: # #--------------------------------------------------------------------- import GameWorld import PassiveBuffEffMng import PlayerPet import IpyGameDataPY import SkillCommon ## GMÃüÁîÖ´ÐÐÈë¿Ú # @param curPlayer µ±Ç°Íæ¼Ò # @param list ²ÎÊýÁбí [npcID] # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def OnExec(curPlayer, cmdList): GameWorld.DebugAnswer(curPlayer, "----¿ªÊ¼´òÓ¡Íæ¼Ò¼¼ÄÜ, ´ø²ÎÊý1Êä³ö±»¶¯¼¼ÄÜ") GameWorld.DebugAnswer(curPlayer, "PrintSkill ÊÇ·ñÏÔʾ¼¼ÄÜÃû") skillDict = {} showSkillName = cmdList[0] if len(cmdList) > 0 else 0 skillManager = curPlayer.GetSkillManager() for i in range(0 , skillManager.GetSkillCount()): curSkill = skillManager.GetSkillByIndex(i) if not curSkill: continue funcType = curSkill.GetFuncType() if funcType not in skillDict: skillDict[funcType] = {} skillInfo = skillDict[funcType] skillInfo[curSkill.GetSkillID()] = curSkill.GetSkillName() showDict = { 0 : "ËæÒâ", 1 : "ÈË×å·¨±¦", 2 : "ħ×å·¨±¦", 3 : "·¨±¦×¨¾«", 4 : "Ì츳", 5 : "×øÆï¼¼ÄÜ", 6 : "Áé³è¼¼ÄÜ", 7 : "ÈË×å·¨±¦", 8 : "ÆÕ¹¥", 9 : "ÎÞ", 10 : "ͨÓ÷­¹ö", 11 : "NPC¾³½ç", 12 : "ÉñÊÞ¼¼ÄÜ", 13 : "ÖïÏɼ¼ÄÜ", 14 : "Ì××°¼¼ÄÜ", 15 : "¿ÉÓÐר¾«µÄ±»¶¯¼¼ÄÜ", 16 : "Áé³èÖ÷È˼¼ÄÜ", 17 : "³ÆºÅ¼¼ÄÜ", 18 : "×°±¸±»¶¯¼¼ÄÜ", 19 : "Á¶Ìå¼¼ÄÜ", 20 : "Éñͨ¼¼ÄÜ", } for funcType, skillInfo in skillDict.items(): skillIDList = skillInfo.keys() skillIDList.sort() GameWorld.DebugAnswer(curPlayer, "%s : %s" % (showDict.get(funcType, funcType), skillIDList)) if showSkillName: for skillID in skillIDList: GameWorld.DebugAnswer(curPlayer, " %s : %s" % (skillID, skillInfo[skillID])) ## ´òÓ¡¼¼ÄÜÔö¼õÉËÐÅÏ¢ plusSkillTypeIDList = [] skillPlusAttrIDDict = IpyGameDataPY.GetFuncEvalCfg("SkillPlusAttrID", 2, {}) for skillTypeIDList in skillPlusAttrIDDict.values(): for skillTypeID in skillTypeIDList: if skillTypeID in plusSkillTypeIDList: continue skillData = GameWorld.GetGameData().GetSkillBySkillID(skillTypeID) if not SkillCommon.CheckSkillJob(curPlayer, skillData): continue plusSkillTypeIDList.append(skillTypeID) addPer = SkillCommon.GetSkillAddPerByID(curPlayer, skillTypeID) reducePer = SkillCommon.GetSkillReducePerByID(curPlayer, skillTypeID) if addPer or reducePer: GameWorld.DebugAnswer(curPlayer, "%s ÔöÉË+%s ¼õÉË+%s" % (skillData.GetSkillName(), addPer, reducePer)) if not cmdList: return passiveEff = PassiveBuffEffMng.GetPassiveEffManager().GetPassiveEff(curPlayer) if not passiveEff: return GameWorld.DebugAnswer(curPlayer, "---------Êä³ö±»¶¯Ð§¹û") GameWorld.DebugAnswer(curPlayer, "±»¶¯Ð§¹û £º%s" % passiveEff.AffectSkillDict) GameWorld.DebugAnswer(curPlayer, "Ñ¡Öеı»¶¯¼¼ÄÜЧ¹û £º%s" % passiveEff.AffectPassiveSkillSetDict) GameWorld.DebugAnswer(curPlayer, "±»¶¯BUFFЧ¹û £º%s" % passiveEff.AffectBuffDict) GameWorld.DebugAnswer(curPlayer, "ÉñÊÞ±»¶¯Ð§¹û £º%s" % passiveEff.AffectDogzSkillDict) fightPet = curPlayer.GetPetMgr().GetFightPet() if fightPet: GameWorld.DebugAnswer(curPlayer, "³öÕ½³èÎï¼¼ÄÜ%s-%s" % PlayerPet.GetPetLearnSkill(curPlayer)) passiveEff = PassiveBuffEffMng.GetPassiveEffManager().GetPassiveEff(fightPet) if not passiveEff: return GameWorld.DebugAnswer(curPlayer, "³èÎï±»¶¯Ð§¹û £º%s" % passiveEff.AffectSkillDict) GameWorld.DebugAnswer(curPlayer, "³èÎï±»¶¯BUFFЧ¹û £º%s" % passiveEff.AffectBuffDict) #=============================================================================== # (Def_SkillFuncType_Common, #0ΪͨÓü¼ÄÜ # Def_SkillFuncType_FbSkill, #1Ϊ·¨±¦¹¦ÄÜ»ñµÃµÄÖ÷¶¯¼¼ÄÜ # Def_SkillFuncType_FbPassiveSkill, #2Ϊ·¨±¦¹¦ÄÜ»ñµÃµÄ±»¶¯¼¼ÄÜ # Def_SkillFuncType_FbSPSkill, #3Ϊ·¨±¦¹¦ÄÜ»ñµÃµÄSP¼¼ÄÜ # Def_SkillFuncType_GiftSkill, #4ΪÌ츳¼¼ÄÜ # Def_SkillFuncType_HorseSkill, #5Îª×øÆï¼¼ÄÜ # Def_SkillFuncType_PetSkill, #6Ϊ³èÎï¼¼ÄÜ # Def_SkillFuncType_GWSkill, #7ΪÉñ±ø¼¼ÄÜ # Def_SkillFuncType_NormalAttack, #8ΪÆÕ¹¥ # Def_SkillFuncType_SP15, #9ΪSP15¼¶ ·þÎñ¶ËδÓõ½ # Def_SkillFuncType_SkillRoll, #10Ϊ·­¹ö ·þÎñ¶ËδÓõ½ # Def_SkillFuncType_RealmSuppress, #11Ϊ¾³½çÑ¹ÖÆ ĿǰÊÇNPCÔÚÓà # Def_SkillFuncType_Dogz, #12 ÉñÊÞ¼¼ÄÜ # Def_SkillFuncType_ZhuXian, #13 ÖïÏɼ¼ÄÜ #===============================================================================