Formula
CommonFun.ModifyDamageBySpecialRaid
formula.lua
1function CommonFun.ModifyDamageBySpecialRaid(srcUser, targetUser, damage, params)
2 local RaidType = srcUser:GetRaidType()
3 if RaidType == 32 then
4 local ball66 = 1
5 if srcUser:HasBuffID(210010_HOLD_ADDING_BUFF_:MAX_STACK_0) and targetUser:HasBuffID(107340_MASTER_TACKLER_LV_1_:MAX_STACK_0) then
6 ball66 = 0.9
7 elseif srcUser:HasBuffID(210010_HOLD_ADDING_BUFF_:MAX_STACK_0) and targetUser:HasBuffID(107341_MASTER_TACKLER_LV_2_:MAX_STACK_0) then
8 ball66 = 0.8
9 elseif srcUser:HasBuffID(210010_HOLD_ADDING_BUFF_:MAX_STACK_0) and targetUser:HasBuffID(107342_MASTER_TACKLER_LV_3_:MAX_STACK_0) then
10 ball66 = 0.7
11 elseif srcUser:HasBuffID(210010_HOLD_ADDING_BUFF_:MAX_STACK_0) and targetUser:HasBuffID(107343_MASTER_TACKLER_LV_4_:MAX_STACK_0) then
12 ball66 = 0.6
13 end
14 if 0 < damage then
15 damage = damage * ball66
16 end
17 elseif RaidType == 44 then
18 local ball66 = 1
19 if srcUser:HasBuffID(210200_CAPTURE_THE_CHESS_PIECE_:MAX_STACK_0) and targetUser:HasBuffID(107340_MASTER_TACKLER_LV_1_:MAX_STACK_0) then
20 ball66 = 0.96
21 elseif srcUser:HasBuffID(210200_CAPTURE_THE_CHESS_PIECE_:MAX_STACK_0) and targetUser:HasBuffID(107341_MASTER_TACKLER_LV_2_:MAX_STACK_0) then
22 ball66 = 0.92
23 elseif srcUser:HasBuffID(210200_CAPTURE_THE_CHESS_PIECE_:MAX_STACK_0) and targetUser:HasBuffID(107342_MASTER_TACKLER_LV_3_:MAX_STACK_0) then
24 ball66 = 0.88
25 elseif srcUser:HasBuffID(210200_CAPTURE_THE_CHESS_PIECE_:MAX_STACK_0) and targetUser:HasBuffID(107343_MASTER_TACKLER_LV_4_:MAX_STACK_0) then
26 ball66 = 0.84
27 end
28 if 0 < damage then
29 damage = damage * ball66
30 end
31 elseif RaidType == 50 then
32 local CarRealDam = srcUser:GetProperty("CarRealDam")
33 local CarRealDamPer = srcUser:GetProperty("CarRealDamPer")
34 local TwlPlayerReduc = targetUser:GetProperty("TwlPlayerReduc")
35 local TwlMonsterReduc = targetUser:GetProperty("TwlMonsterReduc")
36 local TwlMonsterDam = srcUser:GetProperty("TwlMonsterDam")
37 local MaxHp = targetUser:GetProperty("MaxHp")
38 local GetNpcID = targetUser:GetNpcID()
39 local GetSelfID = srcUser:GetNpcID()
40 if GetSelfID == 0 and 0 < damage then
41 damage = damage * (1 - TwlPlayerReduc)
42 end
43 if GetSelfID ~= 0 and srcUser:HasBuffID(151028_DEFENSE_TOWER_TAKE_AUTO_ATK_ONLY_:MAX_STACK_0) == false and 0 < damage then
44 damage = damage * (1 - TwlMonsterReduc)
45 end
46 if GetSelfID == 0 and GetNpcID ~= 0 and targetUser:HasBuffID(151028_DEFENSE_TOWER_TAKE_AUTO_ATK_ONLY_:MAX_STACK_0) == false and 0 < damage then
47 damage = damage * (1 + TwlMonsterDam)
48 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
49 damage = damage * (1 + TwlMonsterDam / 3)
50 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
51 damage = damage * (1 + TwlMonsterDam)
52 end
53 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
54 damage = damage + 0.1 * MaxHp
55 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
56 end
57 if targetUser:HasBuffID(151028_DEFENSE_TOWER_TAKE_AUTO_ATK_ONLY_:MAX_STACK_0) then
58 if srcUser:IsAttackSkill(params.skillIDAndLevel) == false and 0 < damage then
59 return 0, CommonFun.DamageType.Miss
60 elseif srcUser:IsAttackSkill(params.skillIDAndLevel) == false and damage < 0 then
61 return 0, CommonFun.DamageType.None
62 else
63 damage = math.min(damage, MaxHp * 0.003) + CarRealDam * (1 + CarRealDamPer)
64 end
65 end
66 local Master = srcUser:GetMasterUser()
67 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
68 damage = 0
69 elseif not targetUser:HasBuffID(151028_DEFENSE_TOWER_TAKE_AUTO_ATK_ONLY_:MAX_STACK_0) or srcUser:HasBuffID(151200_MORROC_TRANSFORMATION_:MAX_STACK_0) then
70 end
71 end
72 return damage
73endFormula Graph
Connected Archive Data
See which cards, equipment, headwears, buffs, and other archived records connect to this formula.
Loading graph filters
CommonFun.ModifyDamageBySpecialRaid
commonfun-modifydamagebyspecialraid
Nodes
0
Edges
0
Related Nodes
Select at least one node type.
