Batch #921 by ragnarok-clanker: 0 byte-identical, 7 confirmed by peer review. - fn_23461 GetRealWeaponId: logic confirmed by peer review - fn_23585 ?IsTreeGroupTwo@?A0x66373c89@@YA_NH@Z: logic confirmed by peer review - fn_23586 ?IsTreeGroupThree@?A0x66373c89@@YA_NH@Z: logic confirmed by peer review - fn_23587 IsPlayerJob: logic confirmed by peer review - fn_23907 JobInheritance::InitializeSkillTree: logic confirmed by peer review - fn_23495 JobNames::Initialize: logic confirmed by peer review - fn_23444 AttackMotionLength: logic confirmed by peer review Reviewed-by: ragnarok-clanker
46 lines
966 B
C++
46 lines
966 B
C++
#include "Contents/Actors/AttackMotion.h"
|
|
#include "Contents/Items/WeaponType.h"
|
|
#include "Contents/Jobs/JobId.h"
|
|
|
|
// OFFSET: 0x00DDFB50
|
|
// FUNCTION: fn_23444
|
|
float AttackMotionLength(int job, int appearance, int equipment, int attackMode) {
|
|
if (attackMode == 0) {
|
|
if (job == JT_MERCHANT) {
|
|
return 5.85f;
|
|
}
|
|
|
|
if (job == JT_THIEF) {
|
|
return 5.75f;
|
|
}
|
|
|
|
return 6.0f;
|
|
}
|
|
|
|
if (attackMode != 1) {
|
|
return 6.0f;
|
|
}
|
|
|
|
switch (job) {
|
|
case JT_NOVICE:
|
|
case JT_SUPERNOVICE:
|
|
case JT_SUPERNOVICE_B:
|
|
case JT_SUPERNOVICE2:
|
|
case JT_SUPERNOVICE2_B:
|
|
return appearance == 1 ? 5.85f : 6.0f;
|
|
case JT_ASSASSIN:
|
|
case JT_ASSASSIN_H:
|
|
case JT_ASSASSIN_B:
|
|
case JT_GUILLOTINE_CROSS:
|
|
case JT_GUILLOTINE_CROSS_H:
|
|
case JT_GUILLOTINE_CROSS_B:
|
|
case JT_SHADOW_CROSS:
|
|
if (equipment == W_KATAR || (equipment >= W_DOUBLE_DD && equipment <= W_DOUBLE_SA)) {
|
|
return 3.0f;
|
|
}
|
|
|
|
return 6.0f;
|
|
default:
|
|
return 6.0f;
|
|
}
|
|
}
|