Implement interact event-action configurations. More interactions work now, for more transitions, we just need to generate more configs (soon) NOTE: this commit BREAKS your nap_gameserver.toml. To fix it, you have to add 'event_config_path' property into [assets] section of your config.
161 lines
3.2 KiB
Rust
161 lines
3.2 KiB
Rust
use std::fmt::Display;
|
|
|
|
use num_enum::FromPrimitive;
|
|
|
|
#[derive(Debug, PartialEq, Eq, Clone, Copy, FromPrimitive)]
|
|
#[repr(u32)]
|
|
pub enum ESceneType {
|
|
#[default]
|
|
Unknown = 0,
|
|
Hall = 1,
|
|
Hollow = 2,
|
|
Fight = 3,
|
|
Fresh = 4,
|
|
MultiFight = 5,
|
|
}
|
|
|
|
#[derive(Debug, Default, PartialEq, Eq, Clone, Copy, FromPrimitive)]
|
|
#[repr(u32)]
|
|
pub enum ESystem {
|
|
#[default]
|
|
None = 0xFFFFFFFF,
|
|
VhsStore = 7,
|
|
Gacha = 21,
|
|
Hadal = 43,
|
|
MonsterCard = 40,
|
|
AbyssCollect = 45,
|
|
Vhs = 1,
|
|
ActivityPv = 48,
|
|
StoryModeSwitch = 12,
|
|
RamenStore = 8,
|
|
QteSwitch = 13,
|
|
DoubleElite = 36,
|
|
LandRevive = 35,
|
|
HadalShop = 47,
|
|
Role = 2,
|
|
Grocery = 10,
|
|
AvatarBase = 33,
|
|
Activity = 27,
|
|
BuddyInstall = 26,
|
|
AvatarEquip = 34,
|
|
TartarusHounds = 20,
|
|
BossBig = 38,
|
|
Buddy = 25,
|
|
Interknot = 6,
|
|
Workbench = 9,
|
|
HIA = 39,
|
|
Smithy = 3,
|
|
Trash = 23,
|
|
UseStoryMode = 15,
|
|
Photowall = 44,
|
|
AbyssShop = 46,
|
|
AbyssHeat = 29,
|
|
DailyQuest = 41,
|
|
Newsstand = 17,
|
|
Cafe = 22,
|
|
Rally = 42,
|
|
HollowQuest = 0,
|
|
Package = 4,
|
|
VideoShop = 11,
|
|
BattleDaily = 24,
|
|
Arcade = 19,
|
|
BossSmall = 37,
|
|
LineupSelect = 14,
|
|
ArcadeRoom = 30,
|
|
Teleport = 5,
|
|
Train = 32,
|
|
UseManualQteMode = 16,
|
|
ArcadeGame = 31,
|
|
Abyss = 28,
|
|
Toy = 18,
|
|
}
|
|
|
|
#[derive(Default, Debug, Clone, Copy, FromPrimitive)]
|
|
#[repr(u32)]
|
|
pub enum EOperator {
|
|
Enter = 0,
|
|
Log = 1,
|
|
Leave = 2,
|
|
#[default]
|
|
Undefined = 0xFFFFFFFF,
|
|
}
|
|
|
|
#[derive(Debug, Clone, Copy)]
|
|
#[repr(u32)]
|
|
pub enum TimePeriodType {
|
|
Morning = 0,
|
|
Evening = 1,
|
|
Night = 2,
|
|
}
|
|
|
|
impl Display for TimePeriodType {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
|
std::fmt::Debug::fmt(self, f)
|
|
}
|
|
}
|
|
|
|
#[derive(Default, Debug, Clone, Copy)]
|
|
#[repr(u32)]
|
|
pub enum WeatherType {
|
|
SunShine = 0,
|
|
Fog = 1,
|
|
Cloudy = 2,
|
|
Rain = 3,
|
|
Thunder = 4,
|
|
ThickFog = 5,
|
|
ThickCloudy = 6,
|
|
#[default]
|
|
None = 0xFFFFFFFF,
|
|
}
|
|
|
|
impl Display for WeatherType {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
|
std::fmt::Debug::fmt(self, f)
|
|
}
|
|
}
|
|
|
|
#[allow(dead_code)]
|
|
#[derive(Debug, Clone, Copy)]
|
|
#[repr(u32)]
|
|
pub enum ENPCInteraction {
|
|
OnStart = 0,
|
|
OnEnd = 1,
|
|
OnInteract = 2,
|
|
OnAddInteract = 3,
|
|
OnRemoveInteract = 4,
|
|
}
|
|
|
|
impl Display for ENPCInteraction {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
|
std::fmt::Debug::fmt(self, f)
|
|
}
|
|
}
|
|
|
|
#[derive(Default, Debug, Clone, Copy)]
|
|
pub enum ELocalPlayType {
|
|
TrainingRoom = 290,
|
|
BigBossBattle = 211,
|
|
BossLittleBattleLongfight = 215,
|
|
PureHollowBattle = 280,
|
|
DualElite = 208,
|
|
PureHollowBattleHardmode = 282,
|
|
OperationBetaDemo = 216,
|
|
AvatarDemoTrial = 213,
|
|
BossRushBattle = 218,
|
|
BossBattle = 210,
|
|
GuideSpecial = 203,
|
|
DailyChallenge = 206,
|
|
OperationTeamCoop = 219,
|
|
TrainingRoomFight = 291,
|
|
LevelZero = 205,
|
|
ArchiveLongFight = 212,
|
|
MpBigBossBattle = 214,
|
|
RallyLongFight = 207,
|
|
BigBossBattleLongfight = 217,
|
|
ArchiveBattle = 201,
|
|
PureHollowBattleLonghfight = 281,
|
|
HadalZone = 209,
|
|
ChessBoardBattle = 202,
|
|
#[default]
|
|
Unknown = 0,
|
|
}
|