Time Stones Feature

This commit is contained in:
MelonSpeedruns
2026-04-13 10:46:09 -04:00
parent 299503a5aa
commit 277d16c110
7 changed files with 48 additions and 6 deletions
+23 -6
View File
@@ -3868,12 +3868,7 @@ void daAlink_c::setWolfHowlNotHappen(int param_0) {
}
int daAlink_c::procWolfHowlDemoInit() {
if (!dComIfGp_event_compulsory(this, NULL, 0xFFFF)) {
return 0;
}
mDemo.setSpecialDemoType();
#if TARGET_PC
s16 name;
if (field_0x27f4 != NULL) {
name = fopAcM_GetName(field_0x27f4);
@@ -3881,6 +3876,28 @@ int daAlink_c::procWolfHowlDemoInit() {
name = fpcNm_ALINK_e;
}
if (name == fpcNm_Obj_WindStone_e && !static_cast<daWindStone_c*>(field_0x27f4)->chkEveOccur() && dusk::getSettings().game.timeStones) {
Z2GetSeMgr()->seStart(Z2SE_READ_RIDDLE_B, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dKy_instant_timechg(0.0f);
return 0;
}
#endif
if (!dComIfGp_event_compulsory(this, NULL, 0xFFFF)) {
return 0;
}
mDemo.setSpecialDemoType();
#if !TARGET_PC
s16 name;
if (field_0x27f4 != NULL) {
name = fopAcM_GetName(field_0x27f4);
} else {
name = fpcNm_ALINK_e;
}
#endif
if (name == fpcNm_Tag_WaraHowl_e) {
shape_angle.y = field_0x27f4->shape_angle.y;
current.angle.y = shape_angle.y;
+13
View File
@@ -87,6 +87,9 @@ int daWindStone_c::execute() {
exeModeMapDisp();
break;
case 2:
#if TARGET_PC
exeModeSetTime();
#endif
break;
}
setModelMtx();
@@ -180,6 +183,16 @@ void daWindStone_c::exeModeMapDisp() {
}
}
#if TARGET_PC
void daWindStone_c::exeModeSetTime() {
attention_info.flags = 0;
if (!chkEveOccur() && chkWlfInRange() && dusk::getSettings().game.timeStones) {
attention_info.flags |= fopAc_AttnFlag_ETC_e;
attention_info.distances[fopAc_attn_ETC_e] = 65;
}
}
#endif
bool daWindStone_c::chkMapDispMode() {
if (fopAcM_isSwitch(this, getSwBit2())) {
return false;