summaryrefslogtreecommitdiff
path: root/src/Game/Actor/actPlayerCreateUtils.cpp
blob: 0ba229e752a5b17b0255d9a3a47b90352da492bb (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
#include "Game/Actor/actPlayerCreateUtils.h"
#include "Game/Actor/actPlayerCreateMgr.h"
#include "Game/Actor/actWeapon.h"
#include "Game/UI/uiPauseMenuDataMgr.h"
#include "KingSystem/ActorSystem/Profiles/actWeaponBase.h"

namespace uking::act {

void requestCreateWeaponByRawLife(const char* actor_class, const sead::Matrix34f& matrix, f32 scale,
                                  sead::Heap* heap, ksys::act::BaseProcHandle* handle, s32 life,
                                  bool is_player_put, const WeaponModifierInfo* modifier,
                                  s32 task_lane_id, s32 res_lane_id) {
    ksys::act::InstParamPack params;
    params->add(is_player_put, "IsPlayerPut");
    if (modifier) {
        modifier->addModifierParams(params);
    }
    params->add(true, "IsWeaponCreateByRawLife");
    params->addResourceLane(res_lane_id);

    ksys::act::WeaponBase::requestCreateWeaponActor(actor_class, matrix, scale, heap, handle, life,
                                                    &params, task_lane_id);
}

}  // namespace uking::act