JaneDoe-ZS/nap_gameserver/src/logic/enums.rs
xeon cbe169fe1a Implement event configs, more interactions work
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.
2024-07-26 22:44:44 +03:00

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,
}