Formula
CommonFun.ModifyDamageBySpecialRaid
function CommonFun.ModifyDamageBySpecialRaid(srcUser, targetUser, damage, params)
local RaidType = srcUser:GetRaidType()
if RaidType == 32 then
local ball66 = 1
if srcUser:HasBuffID(210010_HOLD_ADDING_BUFF_:MAX_STACK_0) and targetUser:HasBuffID(107340_MASTER_TACKLER_LV_1_:MAX_STACK_0) then
ball66 = 0.9
elseif srcUser:HasBuffID(210010_HOLD_ADDING_BUFF_:MAX_STACK_0) and targetUser:HasBuffID(107341_MASTER_TACKLER_LV_2_:MAX_STACK_0) then
ball66 = 0.8
elseif srcUser:HasBuffID(210010_HOLD_ADDING_BUFF_:MAX_STACK_0) and targetUser:HasBuffID(107342_MASTER_TACKLER_LV_3_:MAX_STACK_0) then
ball66 = 0.7
elseif srcUser:HasBuffID(210010_HOLD_ADDING_BUFF_:MAX_STACK_0) and targetUser:HasBuffID(107343_MASTER_TACKLER_LV_4_:MAX_STACK_0) then
ball66 = 0.6
end
if 0 < damage then
damage = damage * ball66
end
elseif RaidType == 44 then
local ball66 = 1
if srcUser:HasBuffID(210200_CAPTURE_THE_CHESS_PIECE_:MAX_STACK_0) and targetUser:HasBuffID(107340_MASTER_TACKLER_LV_1_:MAX_STACK_0) then
ball66 = 0.96
elseif srcUser:HasBuffID(210200_CAPTURE_THE_CHESS_PIECE_:MAX_STACK_0) and targetUser:HasBuffID(107341_MASTER_TACKLER_LV_2_:MAX_STACK_0) then
ball66 = 0.92
elseif srcUser:HasBuffID(210200_CAPTURE_THE_CHESS_PIECE_:MAX_STACK_0) and targetUser:HasBuffID(107342_MASTER_TACKLER_LV_3_:MAX_STACK_0) then
ball66 = 0.88
elseif srcUser:HasBuffID(210200_CAPTURE_THE_CHESS_PIECE_:MAX_STACK_0) and targetUser:HasBuffID(107343_MASTER_TACKLER_LV_4_:MAX_STACK_0) then
ball66 = 0.84
end
if 0 < damage then
damage = damage * ball66
end
elseif RaidType == 50 then
local CarRealDam = srcUser:GetProperty("CarRealDam")
local CarRealDamPer = srcUser:GetProperty("CarRealDamPer")
local TwlPlayerReduc = targetUser:GetProperty("TwlPlayerReduc")
local TwlMonsterReduc = targetUser:GetProperty("TwlMonsterReduc")
local TwlMonsterDam = srcUser:GetProperty("TwlMonsterDam")
local MaxHp = targetUser:GetProperty("MaxHp")
local GetNpcID = targetUser:GetNpcID()
local GetSelfID = srcUser:GetNpcID()
if GetSelfID == 0 and 0 < damage then
damage = damage * (1 - TwlPlayerReduc)
end
if GetSelfID ~= 0 and srcUser:HasBuffID(151028_DEFENSE_TOWER_TAKE_AUTO_ATK_ONLY_:MAX_STACK_0) == false and 0 < damage then
damage = damage * (1 - TwlMonsterReduc)
end
if GetSelfID == 0 and GetNpcID ~= 0 and targetUser:HasBuffID(151028_DEFENSE_TOWER_TAKE_AUTO_ATK_ONLY_:MAX_STACK_0) == false and 0 < damage then
damage = damage * (1 + TwlMonsterDam)
elseif GetSelfID ~= 0 and GetNpcID ~= 0 and targetUser:HasBuffID(151028_DEFENSE_TOWER_TAKE_AUTO_ATK_ONLY_:MAX_STACK_0) == false and targetUser:HasBuffID(160000_BOSS_IMMUNE_EFFECT_:MAX_STACK_0) == true and 0 < damage then
damage = damage * (1 + TwlMonsterDam / 3)
elseif GetSelfID ~= 0 and GetNpcID ~= 0 and targetUser:HasBuffID(151028_DEFENSE_TOWER_TAKE_AUTO_ATK_ONLY_:MAX_STACK_0) == false and targetUser:HasBuffID(160000_BOSS_IMMUNE_EFFECT_:MAX_STACK_0) == false and 0 < damage then
damage = damage * (1 + TwlMonsterDam)
end
if srcUser:HasBuffID(151028_DEFENSE_TOWER_TAKE_AUTO_ATK_ONLY_:MAX_STACK_0) and GetNpcID == 0_PLAYER and targetUser:HasBuffID(151200_MORROC_TRANSFORMATION_:MAX_STACK_0) == false then
damage = damage + 0.1 * MaxHp
elseif not srcUser:HasBuffID(151028_DEFENSE_TOWER_TAKE_AUTO_ATK_ONLY_:MAX_STACK_0) or GetNpcID ~= 0 or targetUser:HasBuffID(151200_MORROC_TRANSFORMATION_:MAX_STACK_0) then
end
if targetUser:HasBuffID(151028_DEFENSE_TOWER_TAKE_AUTO_ATK_ONLY_:MAX_STACK_0) then
if srcUser:IsAttackSkill(params.skillIDAndLevel) == false and 0 < damage then
return 0, CommonFun.DamageType.Miss
elseif srcUser:IsAttackSkill(params.skillIDAndLevel) == false and damage < 0 then
return 0, CommonFun.DamageType.None
else
damage = math.min(damage, MaxHp * 0.003) + CarRealDam * (1 + CarRealDamPer)
end
end
local Master = srcUser:GetMasterUser()
if targetUser:HasBuffID(151028_DEFENSE_TOWER_TAKE_AUTO_ATK_ONLY_:MAX_STACK_0) and srcUser:HasBuffID(151231_DEFENSE_TOWER_DAMAGE_DEALT_:MAX_STACK_0) == false and (GetSelfID == 0 or Master ~= nil) and srcUser:HasBuffID(151200_MORROC_TRANSFORMATION_:MAX_STACK_0) == false then
damage = 0
elseif not targetUser:HasBuffID(151028_DEFENSE_TOWER_TAKE_AUTO_ATK_ONLY_:MAX_STACK_0) or srcUser:HasBuffID(151200_MORROC_TRANSFORMATION_:MAX_STACK_0) then
end
end
return damage
end