function Rolling_onUpdate()
if GetVariable("RollingVariationIndex") == 3 then
act(2001, 1.5)
end
if env(1116, 703555) == TRUE then
act(2018)
end
if GetVariable("RollingVariationIndex") == 7 then
act(2027)
end
act(129, TRUE)
if IsDemonSwordMode() == FALSE then
SetThrowAtkInvalid()
end
if env(1116, 100390) == TRUE then
ResetDamageCount()
end
SetEnableAimMode()
if env(1116, 701530) == TRUE and GetVariable("RollingVariationIndex") == 6 then
local guardindex = GUARD_STYLE_HIGHGUARD
SetVariable("IndexGuardStyle", guardindex)
local hand = HAND_LEFT
if c_Style == HAND_RIGHT_BOTH then
hand = HAND_RIGHT
end
act(9000, "Guard_Activate ( ) ")
SetGuardHand(hand)
if EvasionCommonFunction(FALL_TYPE_DEFAULT, "W_AttackRightLight1", "W_AttackRightHeavy1Start", "W_AttackLeftLight1", "W_AttackLeftHeavy1", "W_AttackBothLight1", "W_AttackBothHeavy1Start", QUICKTYPE_ROLLING) == TRUE then
return
end
local blend_type, lower_state = GetHalfBlendInfo()
if env(339, 1) == TRUE or env(301, 0) == TRUE then
ExecEventHalfBlend(Event_GuardOn, blend_type)
return
end
else
local r1 = "W_AttackRightLightStep"
local l1 = "W_AttackLeftLight1"
local l2 = "W_AttackLeftHeavy1"
local b1 = "W_AttackBothLightStep"
if env(371) == HERO_SPEED then
if SPEED_COMBO_NUMBER_RIGHT == 1 and IsEnableNextAttack(1, HAND_RIGHT) == TRUE then
r1 = "W_AttackRightLight2"
elseif SPEED_COMBO_NUMBER_RIGHT == 2 and IsEnableNextAttack(2, HAND_RIGHT) == TRUE then
r1 = "W_AttackRightLight3"
elseif SPEED_COMBO_NUMBER_RIGHT == 3 and IsEnableNextAttack(3, HAND_RIGHT) == TRUE then
r1 = "W_AttackRightLight4"
elseif SPEED_COMBO_NUMBER_RIGHT == 4 and IsEnableNextAttack(4, HAND_RIGHT) == TRUE then
r1 = "W_AttackRightLight5"
elseif SPEED_COMBO_NUMBER_RIGHT == 5 and IsEnableNextAttack(5, HAND_RIGHT) == TRUE then
r1 = "W_AttackRightLight6"
end
if SPEED_COMBO_NUMBER_LEFT == 1 and IsEnableNextAttack(1, HAND_LEFT) == TRUE then
l2 = "W_AttackLeftHeavy2"
elseif SPEED_COMBO_NUMBER_LEFT == 2 and IsEnableNextAttack(2, HAND_LEFT) == TRUE then
l2 = "W_AttackLeftHeavy3"
elseif SPEED_COMBO_NUMBER_LEFT == 3 and IsEnableNextAttack(3, HAND_LEFT) == TRUE then
l2 = "W_AttackLeftHeavy4"
elseif SPEED_COMBO_NUMBER_LEFT == 4 and IsEnableNextAttack(4, HAND_LEFT) == TRUE then
l2 = "W_AttackLeftHeavy5"
elseif SPEED_COMBO_NUMBER_LEFT == 5 and IsEnableNextAttack(5, HAND_LEFT) == TRUE then
l2 = "W_AttackLeftHeavy6"
end
if SPEED_COMBO_NUMBER_BOTH == 1 and IsEnableNextAttack(1, HAND_RIGHT) == TRUE then
b1 = "W_AttackBothLight2"
elseif SPEED_COMBO_NUMBER_BOTH == 2 and IsEnableNextAttack(2, HAND_RIGHT) == TRUE then
b1 = "W_AttackBothLight3"
elseif SPEED_COMBO_NUMBER_BOTH == 3 and IsEnableNextAttack(3, HAND_RIGHT) == TRUE then
b1 = "W_AttackBothLight4"
elseif SPEED_COMBO_NUMBER_BOTH == 4 and IsEnableNextAttack(4, HAND_RIGHT) == TRUE then
b1 = "W_AttackBothLight5"
elseif SPEED_COMBO_NUMBER_BOTH == 5 and IsEnableNextAttack(5, HAND_RIGHT) == TRUE then
b1 = "W_AttackBothLight6"
end
if SPEED_COMBO_NUMBER_DUAL == 1 and GetDualAttackMaxNumber(HAND_RIGHT) >= 2 then
l1 = "W_AttackLeftLight2"
elseif SPEED_COMBO_NUMBER_DUAL == 2 and 3 <= GetDualAttackMaxNumber(HAND_RIGHT) then
l1 = "W_AttackLeftLight3"
elseif SPEED_COMBO_NUMBER_DUAL == 3 and GetDualAttackMaxNumber(HAND_RIGHT) >= 4 then
l1 = "W_AttackLeftLight4"
elseif SPEED_COMBO_NUMBER_DUAL == 4 and GetDualAttackMaxNumber(HAND_RIGHT) >= 5 then
l1 = "W_AttackLeftLight5"
elseif SPEED_COMBO_NUMBER_DUAL == 5 and 6 <= GetDualAttackMaxNumber(HAND_RIGHT) then
l1 = "W_AttackLeftLight6"
end
end
if env(1116, 709000) == TRUE and GetVariable("RollingVariationIndex") == 12 then
if env(1106, ACTION_ARM_R2) == TRUE then
ATTACKER_COUNTER = 1
ExecEventAllBody("W_TranceModeCounter")
return
elseif env(1106, ACTION_ARM_R1) == TRUE then
ATTACKER_COUNTER = 0
ExecEventAllBody("W_TranceModeCounter")
return
end
end
if EvasionCommonFunction(FALL_TYPE_DEFAULT, r1, "W_AttackRightHeavy1Start", l1, l2, b1, "W_AttackBothHeavy1Start", QUICKTYPE_ROLLING) == TRUE then
return
end
if env(339, 1) == TRUE then
ExecEventAllBody("W_Idle")
return
end
end
SetRollingTurnCondition(FALSE)
end
function TranceModeCounter_onUpdate()
act(2020, 0, FALSE)
if env(301, 0) == TRUE then
if ATTACKER_COUNTER == 0 then
act(2002, 709000)
ExecEventAllBody("W_AttackRightLightStep")
return
else
act(2002, 709000)
ExecEventAllBody("W_AttackRightLightCounter")
return
end
end
local r1 = "W_AttackRightLightSubStart"
if g_ComboReset == TRUE then
r1 = "W_AttackRightLight1"
end
if AttackCommonFunction(r1, "W_AttackRightHeavy1Start", "W_AttackLeftLight1", "W_AttackLeftHeavy1", "W_AttackBothLight1", "W_AttackBothHeavy1Start", FALSE, TRUE, 1) == TRUE then
return
end
if env(339, 0) == TRUE then
ExecEventAllBody("W_Idle")
return
end
end
ATTACKER_COUNTER는 스태틱이고 0으로 초기화되어 있음
라다곤은 마리카다 - dc App
엘든링은 스꼴라라고 적혀잇네요 - dc App
엘든 링은 스꼴라다
라단
Ai한테 완성시켜달래볼까나
근데 각 액션값이 뭔지를 모르는데 저 코드가 의미가 있음?
몇 번 애니메이션에서 어떤 효과가 파생되는지는 대충 읽을 수 있잖아
위쪽꺼는 구르기 얘기라 의미없을거같고 장의사 스킬이 tracemode였으니까 이게 스킬로직이겠네 보니까 요도랑 동일한 메커니즘같은데 스킬 온 상태에서 카운터 비성공시 우수 롤공 카운터 성공시 우수 카운터 스킬 오프상태에서 아래부분은 그냥 약공강공이도류 메커니즘같이 보임
구르기 함수에서 TranceModeCounter를 호출하잖음
@Chloranthus 그 부분 보고 왔는데 위에 가디언보면 저게 하이가드 발동키랑 매우 유사함 그니까 스탭이 포함된 조작키로 카운터를 발동시켰을 때 다른 모션이 나가는 구조인 듯
@멜리멜리 ARM R1 R2 무기약공 강공같은데 그럼 자세형 전기같은 느낌일 듯
위쪽코드에 데몬스워드가 요도인가 하이가드도 있는거보니까 구르기 조건문 캐릭별로 걸어둔거같은데 - dc App
딱히 뭐 신캐관련된건 없는거같은디 - dc App
@ㅇㅇ 아 어태커가 신캐릭이랬지 - dc App
hero_attacker가 신캐 코드네임이라서 ATTACKER_COUNTER는 신캐 관련 변수일 가능성이 높음
TranceMode는 신캐 스킬 코드네임이고
@Chloranthus 전용회피 관련 공격기에 카운터가 나가는 구조인가? 그런느낌같은데 - dc App
나도 그렇게 봤는데 그게 맞는 것 같네
코드에서 지정하는 객체들이 뭔지몰라 저것만봐선 알기어려워
장의사 전용 입력 로직인듯?
첫 번째 함수는 구르기 로직임
회사라 대충봐서 잘 모르겠는데 ATTACKER_COUNTER는 그냥 상태값이고 ExecEventAllBody가 아마 캐릭터 움직임 같은거 변경해주는거 같은데 이렇게만 봐선 움직임 바꿔서 뭐가 되는진 모르겠음 대충요약하면 구르기에서 어떠한 값(ACTION_ARM_R2)이 켜져있으면 뭔가의 상태가 켜지고 그때 아래쪽 스킬을 쓰면 뭔가 다른행동을 하는듯
무뢰한 스택쌓였을때 강한스킬 나가는것처럼