111
This commit is contained in:
72
Base/CallBack/GetDamageRate.nut
Normal file
72
Base/CallBack/GetDamageRate.nut
Normal file
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
文件名:GetDamageRate.nut
|
||||
路径:Base/CallBack/GetDamageRate.nut
|
||||
创建日期:2024-08-09 14:10
|
||||
文件用途:获取伤害倍率
|
||||
*/
|
||||
function L_getCurrentModuleDamageRate(obj) {
|
||||
if (!obj)
|
||||
return 1.0;
|
||||
local rate;
|
||||
if (getroottable().rawin("LenheartCurrentModuleDamageRate")) {
|
||||
rate = 1.0 + getroottable()["LenheartCurrentModuleDamageRate"];
|
||||
} else {
|
||||
rate = 1.0;
|
||||
}
|
||||
|
||||
//超时空伤害
|
||||
if (getroottable().rawin("LenheartFiendModuleDamageRate")) {
|
||||
rate *= getroottable()["LenheartFiendModuleDamageRate"];
|
||||
} else {
|
||||
rate *= 1.0;
|
||||
}
|
||||
|
||||
//pvf伤害
|
||||
local ClientRat = 1.0;
|
||||
try {
|
||||
ClientRat = getCurrentModuleDamageRate(obj).tofloat();
|
||||
} catch (exception) {
|
||||
ClientRat = 1.0;
|
||||
}
|
||||
|
||||
//副本伤害控制
|
||||
try {
|
||||
local stage = sq_GetGlobaludpModuleStage();
|
||||
local dungeon = sq_GetDungeonByStage(stage);
|
||||
local dungeonIndex = sq_GetDuegonIndex(dungeon);
|
||||
local fbsh = 100;
|
||||
|
||||
foreach(id in DungeonIndex) {
|
||||
if (dungeonIndex == id[0]) {
|
||||
fbsh = id[1];
|
||||
}
|
||||
}
|
||||
local nrate = fbsh.tofloat() / 100.0;
|
||||
rate = rate.tofloat() * nrate;
|
||||
} catch (exception) {
|
||||
|
||||
}
|
||||
|
||||
//职业伤害控制
|
||||
try {
|
||||
local LLJob = sq_getJob(obj);
|
||||
local LLGrowT = sq_getGrowType(obj);
|
||||
|
||||
local LLLen = GrowType.len();
|
||||
for (local i = 0; i< 11; ++i) {
|
||||
if (i == LLLen) break;
|
||||
if (LLJob == i) {
|
||||
foreach(GR in GrowType[i]) {
|
||||
if (LLGrowT == GR[0])
|
||||
rate = rate.tofloat() * GR[1].tofloat();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} catch (exception) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
return (rate * ClientRat);
|
||||
}
|
||||
Reference in New Issue
Block a user