|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
-- ESO-911673: When swapping out a player skill line for another player skill line pendingDeactivationLines can
-- equal MAX_LINE_SWAPS temporarily until the pending deactivation player skill line is removed upon activation.
-- ESO-915394: Bumping MAX_LINE_SWAPS from 2 to 3 to account for the fact that you actually can swap 3 things if you had
-- already subclassed two lines, and then want to do it again and swap your player class with another player class.
-- As a result of this change, it makes the fix for the prior bug (ESO-911673) moot.
local MAX_LINE_SWAPS = 3
ZO_SkillsAssignmentManager_Base.Initialize(self, ZO_SkillsAndActionBarManager.OnSkillLineAssignmentManagerReady)
end
end
end
-- Training --
if #self.pendingTrainingLines < MAX_SKILL_LINES_IN_TRAINING and not self:IsSkillLinePendingTrain(skillLineData) then
if not suppressCallback then
end
return true
end
return false
end
local index = ZO_IndexOfElementInNumericallyIndexedTable(self.pendingTrainingLines, skillLineData:GetId())
if index then
if not suppressCallback then
end
return true
end
return false
end
end
-- Deactivation --
local success = false
local pendingActivationIndex = ZO_IndexOfElementInNumericallyIndexedTable(self.pendingActivationLines, skillLineData:GetId())
if pendingActivationIndex then
success = true
elseif #self.pendingDeactivationLines < MAX_LINE_SWAPS and not self:IsSkillLinePendingDeactivation(skillLineData) then
success = true
end
if success then
-- Cannot suppress this, it's necessary
if not suppressCallback then
end
end
return success
end
end
-- Activation --
local success = false
local pendingDeactivationIndex = ZO_IndexOfElementInNumericallyIndexedTable(self.pendingDeactivationLines, skillLineData:GetId())
if pendingDeactivationIndex then
success = true
elseif #self.pendingActivationLines < MAX_LINE_SWAPS and not self:IsSkillLinePendingActivation(skillLineData) then
success = true
end
if success and not suppressCallback then
end
return success
end
end
-- Processing --
local pendingDelta = 0
end
return pendingDelta
end
end
end
end
end
end
end
end
local anyChangesAdded = false
anyChangesAdded = true
end
anyChangesAdded = true
end
anyChangesAdded = true
end
return anyChangesAdded
end
end
|