ksys/dmg: Implementing some of DamageManagerBase. Added some temporary classes/variables used by DamageManagerBase.

This commit is contained in:
Wildex999
2020-10-18 17:12:23 +02:00
parent e3fd543178
commit 05a69f745b
15 changed files with 751 additions and 57 deletions
+10
View File
@@ -2,6 +2,9 @@
namespace uking {
SEAD_ENUM_IMPL(aoc2::Flags1)
SEAD_ENUM_IMPL(aoc2::Flags2)
bool aoc2::shouldApplyMasterModeDamageMultiplier(const ksys::act::ActorConstDataAccess& accessor) {
if (!accessor.hasProc())
return false;
@@ -180,4 +183,11 @@ bool aoc2::rankUpEnemy(const sead::SafeString& actor_name, const ksys::map::Obje
return true;
}
void aoc2::buffDamage(s32& damage) {
damage = damage * 1.5f;
if (damage == 1) {
damage = 2;
}
}
} // namespace uking
+13
View File
@@ -1,6 +1,8 @@
#pragma once
#include <heap/seadDisposer.h>
#include <prim/seadBitFlag.h>
#include <prim/seadEnum.h>
#include <prim/seadSafeString.h>
#include "KingSystem/ActorSystem/actActorConstDataAccess.h"
#include "KingSystem/Map/mapObject.h"
@@ -15,15 +17,26 @@ class aoc2 {
virtual ~aoc2();
public:
SEAD_ENUM(Flags1, F0, F1, F2, F3, F4, EnableLifeRegen, F7, ApplyDamageMultiplier);
SEAD_ENUM(Flags2, EnableHardMode);
void init(sead::Heap* heap);
static bool
shouldApplyMasterModeDamageMultiplier(const ksys::act::ActorConstDataAccess& accessor);
static void buffDamage(s32& damage);
bool isTestOfStrengthShrine() const;
bool rankUpEnemy(const sead::SafeString& actor_name, const ksys::map::Object& obj,
const char** new_name);
bool checkFlag1(Flags1 flag) const { return mFlags1.isOnBit(flag); }
bool checkFlag2(Flags2 flag) const { return mFlags2.isOnBit(flag); }
u8 TEMP[0x28]; // Temp to get flag offsets correct
sead::BitFlag32 mFlags1;
sead::BitFlag32 mFlags2;
};
} // namespace uking