/* 文件名:GetDamageRate.nut 路径:Base/CallBack/GetDamageRate.nut 创建日期:2024-08-09 14:10 文件用途:获取伤害倍率 */ RindroDamageRate <- 1.0; function L_getCurrentModuleDamageRate(obj) { if (!obj) return 1.0; local ClientRat = 1.0; try { ClientRat = getCurrentModuleDamageRate(obj).tofloat(); } catch (exception) { ClientRat = 1.0; } return (RindroDamageRate * ClientRat); } function Lenheart_GetDamageRate_Fun(obj) { //在城镇时 if (sq_GetCurrentModuleType() == 1) { RindroDamageRate = 1.0; } } //修改伤害回调 function SetDamageRateCallBack(Chunk) { local Jso = Json.Decode(Chunk); RindroDamageRate = Jso.rate; } Pack_Control.rawset(2024110902, SetDamageRateCallBack); getroottable()["LenheartFuncTab"].rawset("GetDamageRateFuncN", Lenheart_GetDamageRate_Fun); // ModuleDamageTable <- { // //这个1是 副本编号 // [1] = { // //这个0是大职业编号 比如说鬼剑士就是 0 女格斗家就是 1 在character/character.lst 这个文件里可以看 // [0] = { // //这个0 和 1 是转职编号 0就是未转职 1 就是转了剑魂 // [0] = 1.0, // [1] = 3.0 // } // }, // //2号副本 // [2] ={ // //女格斗家职业 // [1] = { // [0] = 1.0, // [1] = 3.0 // } // } // } // function getCurrentModuleDamageRate(obj) // { // local Rate = 1.0; // local stage = sq_GetGlobaludpModuleStage(); // local dungeon = sq_GetDungeonByStage(stage); // local dungeonIndex = sq_GetDuegonIndex(dungeon); // local LLJob = sq_getJob(obj); // local LLGrowT = sq_getGrowType(obj); // //处于生效副本中 // if(ModuleDamageTable.rawin(dungeonIndex)){ // //自己是生效职业 // if(ModuleDamageTable[dungeonIndex].rawin(LLJob)){ // //是生效转职 // if(ModuleDamageTable[dungeonIndex][LLJob].rawin(LLGrowT)){ // Rate += ModuleDamageTable[dungeonIndex][LLJob][LLGrowT].tofloat(); // } // } // } // return Rate; // }