summaryrefslogtreecommitdiff
path: root/mm/2s2h/Rando/ActorBehavior/DmHina.cpp
blob: f45c9d503ce8bd84d72a798bfcdd03c679b4e59a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "ActorBehavior.h"

void Rando::ActorBehavior::InitDmHinaBehavior() {
    COND_VB_SHOULD(VB_DRAW_BOSS_REMAINS, IS_RANDO, {
        Actor* actor = va_arg(args, Actor*);
        RandoCheckId checkId;
        switch (actor->params) {
            case 0: // Odolwa's Remains
                checkId = RC_WOODFALL_TEMPLE_BOSS_WARP;
                break;
            case 1: // Goht's Remains
                checkId = RC_SNOWHEAD_TEMPLE_BOSS_WARP;
                break;
            case 2: // Gyorg's Remains
                checkId = RC_GREAT_BAY_TEMPLE_BOSS_WARP;
                break;
            case 3: // Twinmold's Remains
                checkId = RC_STONE_TOWER_TEMPLE_INVERTED_BOSS_WARP;
                break;
            default:
                return;
        }
        *should = false;

        auto randoSaveCheck = RANDO_SAVE_CHECKS[checkId];
        if (!randoSaveCheck.cycleObtained) {
            Rando::DrawItem(Rando::ConvertItem(randoSaveCheck.randoItemId, checkId), checkId, actor);
        }
    });
}