This commit is contained in:
Aria 2025-03-21 22:23:30 +11:00
commit 9c94d113d3
Signed by untrusted user who does not match committer: aria
GPG key ID: 19AB7AA462B8AB3B
10260 changed files with 1237388 additions and 0 deletions

View file

@ -0,0 +1,46 @@
#ifndef STAR_DAMAGE_DATABASE_HPP
#define STAR_DAMAGE_DATABASE_HPP
#include "StarJson.hpp"
#include "StarThread.hpp"
#include "StarDamageTypes.hpp"
namespace Star {
STAR_STRUCT(DamageKind);
STAR_CLASS(DamageDatabase);
STAR_STRUCT(ElementalType);
typedef String TargetMaterial;
struct ElementalType {
String resistanceStat;
HashMap<HitType, String> damageNumberParticles;
};
struct DamageEffect {
Json sounds;
Json particles;
};
struct DamageKind {
String name;
HashMap<TargetMaterial, HashMap<HitType, DamageEffect>> effects;
String elementalType;
};
class DamageDatabase {
public:
DamageDatabase();
DamageKind const& damageKind(String name) const;
ElementalType const& elementalType(String const& name) const;
private:
StringMap<DamageKind> m_damageKinds;
StringMap<ElementalType> m_elementalTypes;
};
}
#endif