#BB slowdown timing

1 messages · Page 1 of 1 (latest)

pure vigil
#

playerweaponvo, l46:

    uv0.Battle.BattleCameraUtil.GetInstance():FocusCharacter(slot1, uv1.CAST_CAM_ZOOM_IN_DURATION)
    uv0.Battle.BattleCameraUtil.GetInstance():ZoomCamara(nil, uv1.CAST_CAM_ZOOM_SIZE, uv1.CAST_CAM_ZOOM_IN_DURATION, true)
    uv0.Battle.BattleCameraUtil.GetInstance():BulletTime(uv1.SPEED_FACTOR_FOCUS_CHARACTER, uv1.FOCUS_MAP_RATE, slot1) --This changes the speed for everything

    slot0._focus = true

    if slot0._focusTimer then
        pg.TimeMgr.GetInstance():RemoveBattleTimer(slot0._focusTimer)
    end

    slot0._focusTimer = pg.TimeMgr.GetInstance():AddBattleTimer("", -1, uv1.CAST_CAM_ZOOM_IN_DURATION, function () --0.1s
        pg.TimeMgr.GetInstance():RemoveBattleTimer(uv0._focusTimer)

        uv0._focusTimer = nil

        uv1() --I assume this is chargeweapon.ResetFocus
    end, true)
end```
chargeweaponvo:
```function slot4.ResetFocus(slot0)
    if slot0._focus then
        slot1 = uv0.Battle.BattleCameraUtil.GetInstance()

        slot1:FocusCharacter(nil, uv1.CAST_CAM_ZOOM_OUT_DURATION_CANNON, uv1.CAST_CAM_ZOOM_OUT_EXTRA_DELAY_CANNON)
        slot1:ZoomCamara(uv1.CAST_CAM_ZOOM_SIZE, uv1.CAST_CAM_OVERLOOK_SIZE, uv1.CAST_CAM_ZOOM_OUT_DURATION_CANNON)
        LeanTween.delayedCall(go(slot1:GetCamera()), uv1.CAST_CAM_ZOOM_OUT_DURATION_CANNON + uv1.CAST_CAM_ZOOM_OUT_EXTRA_DELAY_CANNON, System.Action(function () --0.1, 0.04
            uv0._focus = false

            uv1:BulletTime(uv2.SPEED_FACTOR_FOCUS_CHARACTER, nil)
            uv1:ZoomCamara(nil, , uv2.CAST_CAM_OVERLOOK_REVERT_DURATION)
        end))
    end
end```
#

I don't really understand where the other 0.6s could sneak in

echo pasture
#

skeleton animation

#

BB guns have action_index,
for example champ gun: "91000": {
"action_index": "attack_main"

pure vigil
#

Sure, but what part of this does it delay?

#

Since after the first BulletTime there is just a timer put to trigger the ResetFocus function no?

echo pasture
#

the gun tries to fire 0.1s after beginning, that's a hardcoded time. After that 0.1s, the weapon's Fire() is called, which sends an event for the character to begin animation and then DoAttack

#

--I assume this is chargeweapon.ResetFocus
you assumed wrong

pure vigil
#

Yeah but Fire is called before PlayFocus

pure vigil
echo pasture
#

uv1 is slot2 in the parameters

#

which is function slot5() from battlefleetvo

pure vigil
#

Hmm I see

#

So ResetFocus is called from overheat?

echo pasture
#

but idk because attack_main isn't a character action MurmWat

pure vigil
#

It is

echo pasture
#

where?

pure vigil
#

I'm not sure why it isn't in action names or loop

#

But it can be extracted from the assets

#

At least from main fleet assets

echo pasture
#

fr

#

most attack_main are still 0.2s

pure vigil
#

Yup

#

You have a good script that extracts any character action you want?

echo pasture
#

no

#

or wdym

#

i think i only have old skeletons, and then i output this map of frames to how many skeletons trigger on that frame
{
'5': 17,
'6': 165,
'7': 7,
'8': 1,
'9': 1,
'10': 2,
'14': 2,
'15': 5,
'16': 11,
'17': 6,
'18': 1,
'19': 2,
'20': 5,
'21': 1,
'22': 1,
'30': 1,
None: 1654
}

pure vigil
echo pasture
#

Noteshiro and all green names are german, not chinese

pure vigil
#

So logic would be sth like battlestate(facade).calcUpdate -> manualweaponthingy.Update -> fleetVO.QuickTagChrageWeapon -> fireChargeWeapon -> PlayerWeaponVO.PlayFocus(starts to slow, 0.1s delay) -> PointHitWeaponUnit.DispatchBlink -> PlayerCharacter.onCastBlink -> Character.AddFX -> Fire???

pure vigil
#

So anyway if you get your hands on a script that you're willing to share and that can give you anim times for action index "skill_left" or whatever it was exactly again, let me know

echo pasture
#

upon viewing a video frame by frame, it appears that the spine skel animates in real time, not slowed by bullet time

#

what does skill_left do?

pure vigil
#

I can't find the file rn, but I think it was used by Heinrich's Hunch Punch?

pure vigil
echo pasture
#

Does only heinrich's skeletons has skill_left

pure vigil
#

Not sure but could be, at least I think that was the only akill using it

#

But as I said I can't find the file so not 100% that it was "skill_left" exactly

echo pasture
#

only shenyuanboss4.skel has skill_left from my skel collection, maybe i don't have heinrich

pure vigil
#

Ok thx anyway

pure vigil
echo pasture
#

i don't see skill_left in lua

#

after AddFX it goes to effectmgr something and then InitParticleSystemCB and idk

#

but Fire should be called somewhere there

pure vigil
#

Hmm idk I tried to find it again, but all I can find as player actions are none, attack and attack_main now oh well

#

Hmm but as it's played in real time we're still 0.4s short of 3s right?
Though the path from Fire to Overheat isn't 100% clear to me yet either

echo pasture
#

0.1 zoom in + 0.05something something + 0.02 attack_main + 0.14 zoom out makes 0.3something

pure vigil
#

What is the 0.05?

echo pasture
#

something

#

it's unknown to me

pure vigil
#

Hmmm

#

I hate it

#

But ingame footage shows it happens before the anim?

#

Or rather that much time passes before the anim

#

That is only applicable to BB guns or to airstrikes as well?

pure vigil
echo pasture
#

idk and I don't want to bother checking, you can try to find some pvp YouTube video that watches the ally main fleet and count frames

pure vigil
#

@echo pasture Can you find the "jineng" animation on anyone?

echo pasture
#

i cannot read any skels that use spine version other than 3.6.52, and all spines seem to be 3.8.99 nowadays

#

and no skels from 2 years ago have jineng