Improve attack hit timing and camera shake
This commit is contained in:
@@ -113,7 +113,6 @@ local pop = _EntityService:GetEntityByPath(base)
|
||||
if pop == nil then
|
||||
return
|
||||
end
|
||||
local startDelay = 0.2 * (popIndex - 1)
|
||||
local function showNow()
|
||||
self:SetEntityEnabled(base, false)
|
||||
self:SetText(base, "")
|
||||
@@ -193,13 +192,7 @@ local function showNow()
|
||||
self:SetEntityEnabled(base, false)
|
||||
end, 0.3)
|
||||
end
|
||||
if startDelay > 0 then
|
||||
_TimerService:SetTimerOnce(function()
|
||||
showNow()
|
||||
end, startDelay)
|
||||
else
|
||||
showNow()
|
||||
end`, [
|
||||
showNow()`, [
|
||||
{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'slot' },
|
||||
{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'amount' },
|
||||
]),
|
||||
@@ -211,6 +204,48 @@ else
|
||||
end
|
||||
self:SetEntityEnabled(base, true)
|
||||
_TimerService:SetTimerOnce(function() self:SetEntityEnabled(base, false) end, 0.6)`, [{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'amount' }]),
|
||||
method('ShakeCombatCamera', `local lp = _UserService.LocalPlayer
|
||||
local cam = nil
|
||||
if lp ~= nil then
|
||||
cam = lp.CameraComponent
|
||||
end
|
||||
if cam == nil then
|
||||
cam = _CameraService:GetCurrentCameraComponent()
|
||||
end
|
||||
if cam == nil then
|
||||
return
|
||||
end
|
||||
self.CombatCameraShakeSeq = (self.CombatCameraShakeSeq or 0) + 1
|
||||
local seq = self.CombatCameraShakeSeq
|
||||
local baseCameraOffset = Vector2(${CAM.cameraOffsetX}, ${CAM.cameraOffsetY})
|
||||
cam.CameraOffset = baseCameraOffset
|
||||
local offsets = {
|
||||
Vector2(-0.22, 0),
|
||||
Vector2(0.2, 0),
|
||||
Vector2(-0.12, 0),
|
||||
Vector2(0.06, 0),
|
||||
Vector2(0, 0),
|
||||
}
|
||||
for i = 1, #offsets do
|
||||
local delta = offsets[i]
|
||||
_TimerService:SetTimerOnce(function()
|
||||
local lp2 = _UserService.LocalPlayer
|
||||
local cam2 = nil
|
||||
if lp2 ~= nil then
|
||||
cam2 = lp2.CameraComponent
|
||||
end
|
||||
if cam2 == nil then
|
||||
cam2 = _CameraService:GetCurrentCameraComponent()
|
||||
end
|
||||
if cam2 == nil then
|
||||
return
|
||||
end
|
||||
if seq ~= self.CombatCameraShakeSeq then
|
||||
return
|
||||
end
|
||||
cam2.CameraOffset = Vector2(baseCameraOffset.x + delta.x, baseCameraOffset.y + delta.y)
|
||||
end, 0.028 * (i - 1))
|
||||
end`, []),
|
||||
method('PlayerAttackMotion', `local lp = _UserService.LocalPlayer
|
||||
if lp == nil then
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user