Decompile 27 functions in Source/Contents/Skills/SkillActionShinkiroShiranui.cpp, Source/Contents/Skills/SkillActionSkyEmperor.cpp, ...
Batch #3315 by youko: 0 byte-identical, 27 confirmed by peer review. - fn_08821 CEfstAction_SKY_ENCHANT::Slot01: logic confirmed by peer review - fn_08822 CEfstAction_SKY_ENCHANT::Slot02: logic confirmed by peer review - fn_08824 CSkillAction_SKE_SKY_SUN::Slot11: logic confirmed by peer review - fn_08825 CSkillAction_SKE_SKY_SUN::Slot16: logic confirmed by peer review - fn_08827 CSkillAction_SKE_SKY_MOON::Slot08: logic confirmed by peer review - fn_08828 CSkillAction_SKE_SKY_MOON::Slot11: logic confirmed by peer review - fn_08829 CSkillAction_SKE_SKY_MOON::Slot16: logic confirmed by peer review - fn_08830 CSkillAction_SKE_STAR_LIGHT_KICK::Slot11: logic confirmed by peer review - fn_08831 CSkillAction_SKE_STAR_LIGHT_KICK::Slot16: logic confirmed by peer review - fn_08833 CEfstAction_RISING_SUN::Slot00: logic confirmed by peer review - fn_08834 CEfstAction_RISING_SUN::Slot01: logic confirmed by peer review - fn_08835 CEfstAction_RISING_SUN::Slot02: logic confirmed by peer review - fn_08836 CEfstAction_NOON_SUN::Slot00: logic confirmed by peer review - fn_08837 CEfstAction_NOON_SUN::Slot01: logic confirmed by peer review - fn_08838 CEfstAction_NOON_SUN::Slot02: logic confirmed by peer review - fn_08839 CEfstAction_SUNSET_SUN::Slot00: logic confirmed by peer review - fn_08840 CEfstAction_SUNSET_SUN::Slot01: logic confirmed by peer review - fn_08841 CEfstAction_SUNSET_SUN::Slot02: logic confirmed by peer review - fn_08843 CSkillAction_SKE_NOON_BLAST::Slot11: logic confirmed by peer review - fn_08845 CSkillAction_SKE_SUNSET_BLAST::Slot11: logic confirmed by peer review - fn_08847 CEfstAction_RISING_MOON::Slot00: logic confirmed by peer review - fn_08848 CEfstAction_RISING_MOON::Slot01: logic confirmed by peer review - fn_08849 CEfstAction_RISING_MOON::Slot02: logic confirmed by peer review - fn_08850 CEfstAction_MIDNIGHT_MOON::Slot00: logic confirmed by peer review - fn_08851 CEfstAction_MIDNIGHT_MOON::Slot01: logic confirmed by peer review - fn_08852 CEfstAction_MIDNIGHT_MOON::Slot02: logic confirmed by peer review - fn_08853 CEfstAction_DAWN_MOON::Slot00: logic confirmed by peer review Peer-reviewed-by: eAthena, meitogi Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
This commit is contained in:
parent
725d163276
commit
2eb77a4dad
1 changed files with 222 additions and 0 deletions
|
|
@ -143,22 +143,113 @@ void CEfstAction_SKY_ENCHANT::Slot00(int efstId, int value, int argument3, int a
|
|||
}
|
||||
|
||||
// OFFSET: 0x00797A70
|
||||
// FUNCTION: fn_08821
|
||||
void CEfstAction_SKY_ENCHANT::Slot01(int efstId, int argument2, int argument3, int argument4, CRenderObject* actor) {
|
||||
if (actor) {
|
||||
g_effectMgr->Retire(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_enchanting_sky_01"));
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00797BB0
|
||||
// FUNCTION: fn_08822
|
||||
void CEfstAction_SKY_ENCHANT::Slot02(int efstId, int value, int argument3, int argument4, CRenderObject* actor) {
|
||||
if (actor) {
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_enchanting_sky_01"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00797D40
|
||||
// FUNCTION: fn_08824
|
||||
void CSkillAction_SKE_SKY_SUN::Slot11(int level, CGameActor* source, CGameActor* target) {
|
||||
if (!source || !target) {
|
||||
return;
|
||||
}
|
||||
|
||||
g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_sun"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
|
||||
for (int index = 0; index < 6; ++index) {
|
||||
CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("sky_sun_small"), target->render.position.x, target->render.position.y,
|
||||
target->render.position.z, 0, -1, 0, 0);
|
||||
if (!effect) {
|
||||
return;
|
||||
}
|
||||
|
||||
const int offsetZ = 15 - std::max(0, std::rand() % 30);
|
||||
const int offsetX = 15 - std::max(0, std::rand() % 30);
|
||||
effect->position[0] = target->render.position.x + offsetX;
|
||||
effect->position[1] = target->render.position.y + 0.0f;
|
||||
effect->position[2] = target->render.position.z + offsetZ;
|
||||
effect->Slot16(index * 32);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x007980C0
|
||||
// FUNCTION: fn_08825
|
||||
void CSkillAction_SKE_SKY_SUN::Slot16(int level, CGameActor* source, CGameActor* target) {
|
||||
if (source) {
|
||||
g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_sun_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00798240
|
||||
// FUNCTION: fn_08827
|
||||
void CSkillAction_SKE_SKY_MOON::Slot08(int level, CGameActor* source) {
|
||||
if (source) {
|
||||
if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_moon_cast"),
|
||||
0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) {
|
||||
effect->Slot14(level);
|
||||
}
|
||||
if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_moon_cast_bottom"),
|
||||
0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) {
|
||||
effect->Slot14(level);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x007984D0
|
||||
// FUNCTION: fn_08828
|
||||
void CSkillAction_SKE_SKY_MOON::Slot11(int level, CGameActor* source, CGameActor* target) {
|
||||
if (!target) {
|
||||
return;
|
||||
}
|
||||
|
||||
const float scale = source->unknown_0378 * source->render.speed * 16.0f;
|
||||
if (CEffect* effect = g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_moon"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) {
|
||||
effect->Slot16(static_cast<int>(scale));
|
||||
}
|
||||
if (CEffect* effect = g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_moon_bottom"),
|
||||
0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) {
|
||||
effect->Slot16(static_cast<int>(scale));
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00798770
|
||||
// FUNCTION: fn_08829
|
||||
void CSkillAction_SKE_SKY_MOON::Slot16(int level, CGameActor* source, CGameActor* target) {
|
||||
if (source) {
|
||||
g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_moon_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x007988D0
|
||||
// FUNCTION: fn_08830
|
||||
void CSkillAction_SKE_STAR_LIGHT_KICK::Slot11(int level, CGameActor* source, CGameActor* target) {
|
||||
if (!source || !target) {
|
||||
return;
|
||||
}
|
||||
|
||||
source->LaunchEffect(2426, vector3d{0.0f, 0.0f, 0.0f}, 0.0f);
|
||||
g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("star_light_kick"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("star_light_kick_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
|
||||
// OFFSET: 0x00798B90
|
||||
// FUNCTION: fn_08831
|
||||
void CSkillAction_SKE_STAR_LIGHT_KICK::Slot16(int level, CGameActor* source, CGameActor* target) {
|
||||
if (source) {
|
||||
g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("star_light_kick_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00798D10
|
||||
// FUNCTION: fn_08832
|
||||
|
|
@ -167,22 +258,79 @@ int CSkillAction_SKE_RISING_SUN::Slot02() {
|
|||
}
|
||||
|
||||
// OFFSET: 0x00798D20
|
||||
// FUNCTION: fn_08833
|
||||
void CEfstAction_RISING_SUN::Slot00(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) {
|
||||
if (actor) {
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_00"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_01"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00798FA0
|
||||
// FUNCTION: fn_08834
|
||||
void CEfstAction_RISING_SUN::Slot01(int efstId, int argument2, int argument3, int argument4, CRenderObject* actor) {
|
||||
if (actor) {
|
||||
g_effectMgr->Retire(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_01"));
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x007990D0
|
||||
// FUNCTION: fn_08835
|
||||
void CEfstAction_RISING_SUN::Slot02(int efstId, int value, int argument3, int argument4, CRenderObject* actor) {
|
||||
if (actor) {
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_01"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00799250
|
||||
// FUNCTION: fn_08836
|
||||
void CEfstAction_NOON_SUN::Slot00(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) {
|
||||
if (actor) {
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_02"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_03"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x007994D0
|
||||
// FUNCTION: fn_08837
|
||||
void CEfstAction_NOON_SUN::Slot01(int efstId, int argument2, int argument3, int argument4, CRenderObject* actor) {
|
||||
if (actor) {
|
||||
g_effectMgr->Retire(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_03"));
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00799600
|
||||
// FUNCTION: fn_08838
|
||||
void CEfstAction_NOON_SUN::Slot02(int efstId, int value, int argument3, int argument4, CRenderObject* actor) {
|
||||
if (actor) {
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_03"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00799780
|
||||
// FUNCTION: fn_08839
|
||||
void CEfstAction_SUNSET_SUN::Slot00(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) {
|
||||
if (actor) {
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_04"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_05"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00799A00
|
||||
// FUNCTION: fn_08840
|
||||
void CEfstAction_SUNSET_SUN::Slot01(int efstId, int argument2, int argument3, int argument4, CRenderObject* actor) {
|
||||
if (actor) {
|
||||
g_effectMgr->Retire(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_05"));
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00799B30
|
||||
// FUNCTION: fn_08841
|
||||
void CEfstAction_SUNSET_SUN::Slot02(int efstId, int value, int argument3, int argument4, CRenderObject* actor) {
|
||||
if (actor) {
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_05"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00799CB0
|
||||
// FUNCTION: fn_08842
|
||||
|
|
@ -191,6 +339,12 @@ int CSkillAction_SKE_NOON_BLAST::Slot02() {
|
|||
}
|
||||
|
||||
// OFFSET: 0x00799CC0
|
||||
// FUNCTION: fn_08843
|
||||
void CSkillAction_SKE_NOON_BLAST::Slot11(int level, CGameActor* source, CGameActor* target) {
|
||||
if (target) {
|
||||
g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_noon_blast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00799E30
|
||||
// FUNCTION: fn_08844
|
||||
|
|
@ -199,6 +353,29 @@ int CSkillAction_SKE_SUNSET_BLAST::Slot02() {
|
|||
}
|
||||
|
||||
// OFFSET: 0x00799E40
|
||||
// FUNCTION: fn_08845
|
||||
void CSkillAction_SKE_SUNSET_BLAST::Slot11(int level, CGameActor* source, CGameActor* target) {
|
||||
if (!target) {
|
||||
return;
|
||||
}
|
||||
|
||||
g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sunset_blast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
|
||||
for (int index = 0; index < 6; ++index) {
|
||||
CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("sunset_blast_small"), target->render.position.x,
|
||||
target->render.position.y, target->render.position.z, 0, -1, 0, 0);
|
||||
if (!effect) {
|
||||
return;
|
||||
}
|
||||
|
||||
const int offsetZ = 15 - std::max(0, std::rand() % 30);
|
||||
const int offsetX = 15 - std::max(0, std::rand() % 30);
|
||||
effect->position[0] = target->render.position.x + offsetX;
|
||||
effect->position[1] = target->render.position.y + 0.0f;
|
||||
effect->position[2] = target->render.position.z + offsetZ;
|
||||
effect->Slot16(index * 32);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x0079A1C0
|
||||
// FUNCTION: fn_08846
|
||||
|
|
@ -207,18 +384,63 @@ int CSkillAction_SKE_RISING_MOON::Slot02() {
|
|||
}
|
||||
|
||||
// OFFSET: 0x0079A1D0
|
||||
// FUNCTION: fn_08847
|
||||
void CEfstAction_RISING_MOON::Slot00(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) {
|
||||
if (actor) {
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_00"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_01"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x0079A450
|
||||
// FUNCTION: fn_08848
|
||||
void CEfstAction_RISING_MOON::Slot01(int efstId, int argument2, int argument3, int argument4, CRenderObject* actor) {
|
||||
if (actor) {
|
||||
g_effectMgr->Retire(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_01"));
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x0079A580
|
||||
// FUNCTION: fn_08849
|
||||
void CEfstAction_RISING_MOON::Slot02(int efstId, int value, int argument3, int argument4, CRenderObject* actor) {
|
||||
if (actor) {
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_01"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x0079A700
|
||||
// FUNCTION: fn_08850
|
||||
void CEfstAction_MIDNIGHT_MOON::Slot00(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) {
|
||||
if (actor) {
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_02"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_03"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x0079A980
|
||||
// FUNCTION: fn_08851
|
||||
void CEfstAction_MIDNIGHT_MOON::Slot01(int efstId, int argument2, int argument3, int argument4, CRenderObject* actor) {
|
||||
if (actor) {
|
||||
g_effectMgr->Retire(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_03"));
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x0079AAB0
|
||||
// FUNCTION: fn_08852
|
||||
void CEfstAction_MIDNIGHT_MOON::Slot02(int efstId, int value, int argument3, int argument4, CRenderObject* actor) {
|
||||
if (actor) {
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_03"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x0079AC30
|
||||
// FUNCTION: fn_08853
|
||||
void CEfstAction_DAWN_MOON::Slot00(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) {
|
||||
if (actor) {
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_04"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_05"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x0079AEB0
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue