You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1049 lines
14 KiB

#pragma once
#include <cstdint>
#include <magic_enum/magic_enum.hpp>
namespace devilution {
enum class HeroSpeech : uint8_t {
ChamberOfBoneLore,
HorazonsSanctumLore,
GolemSpellLore,
HorazonsCreatureOfFlameLore,
MortaVespaGaieaInnuminoEvegeenJatanLuaGraton,
GrimspikeLieutenantOfBelialLore,
HorazonsJournal,
YourDeathWillBeAvenged,
RestInPeaceMyFriend,
ValorLore,
HallsOfTheBlindLore,
WarlordOfBloodLore,
ICantUseThisYet,
ICantCarryAnymore,
IHaveNoRoom,
WhereWouldIPutThis,
NoWay,
NotAChance,
IdNeverUseThis,
IdHaveToEquipThat,
ICantMoveThis,
ICantMoveThisYet,
ICantOpenThis,
ICantOpenThisYet,
ICantLiftThis,
ICantLiftThisYet,
ICantCastThatHere,
ICantCastThatYet,
ThatDidntDoAnything,
ICanAlreadyDoThat,
IDontNeedThat,
IDontNeedToDoThat,
IDontWantThat,
IDontHaveASpellReady,
NotEnoughMana,
ThatWouldKillMe,
ICantDoThat,
No,
Yes,
ThatWontWork,
ThatWontWorkHere,
ThatWontWorkYet,
ICantGetThereFromHere,
ItsTooHeavy,
ItsTooBig,
JustWhatIWasLookingFor,
IveGotABadFeelingAboutThis,
GotMilk,
ImNotThirsty,
ImNoMilkmaid,
ICouldBlowUpTheWholeVillage,
YepThatsACowAlright,
TooUghHeavy,
InSpirituSanctum,
PraedictumOtium,
EfficioObitusUtInimicus,
TheEnchantmentIsGone,
OhTooEasy,
BackToTheGrave,
TimeToDie,
ImNotImpressed,
ImSorryDidIBreakYourConcentration,
VengeanceIsMine,
Die,
Yeah,
Ah,
Phew,
Argh,
ArghClang,
Aaaaargh,
OofAh,
HeavyBreathing,
Oh,
Wow,
ThankTheLight,
WhatWasThat,
MmHmm,
Hmm,
UhHuh,
TheSpiritsOfTheDeadAreNowAvenged,
TheTownIsSafeFromTheseFoulSpawn,
RestWellLeoricIllFindYourSon,
YourMadnessEndsHereBetrayer,
YoullLureNoMoreMenToTheirDeaths,
ReturnToHeavenWarriorOfLight,
ICanSeeWhyTheyFearThisWeapon,
ThisMustBeWhatGriswoldWanted,
INeedToGetThisToLachdanan,
INeedToGetThisToGriswold,
IveNeverBeenHereBefore,
MayTheSpiritOfArkaineProtectMe,
ThisIsAPlaceOfGreatPower,
ThisBladeMustBeDestroyed,
YourReignOfPainHasEnded,
NowThatsOneBigMushroom,
TheSmellOfDeathSurroundsMe,
TheSanctityOfThisPlaceHasBeenFouled,
ItsHotDownHere,
IMustBeGettingClose,
MaybeItsLockedFromTheInside,
LooksLikeItsRustedShut,
MaybeTheresAnotherWay,
AuughUh,
LAST = AuughUh
};
enum class SfxID : int16_t {
Walk,
ShootBow,
CastSpell,
Swing,
Swing2,
WarriorDeath,
QuestDone,
BarrelExpload,
BarrelBreak,
ChestOpen,
DoorClose,
DoorOpen,
ItemAnvilFlip,
ItemAxeFlip,
ItemBloodStoneFlip,
ItemBodyPartFlip,
ItemBookFlip,
ItemBowFlip,
ItemCapFlip,
ItemArmorFlip,
ItemLeatherFlip,
ItemMushroomFlip,
ItemPotionFlip,
ItemRingFlip,
ItemRockFlip,
ItemScrollFlip,
ItemShieldFlip,
ItemSignFlip,
ItemStaffFlip,
ItemSwordFlip,
ItemGold,
ItemAnvil,
ItemAxe,
ItemBloodStone,
ItemBodyPart,
ItemBook,
ItemBow,
ItemCap,
GrabItem,
ItemArmor,
ItemLeather,
ItemMushroom,
ItemPotion,
ItemRing,
ItemRock,
ItemScroll,
ItemShield,
ItemSign,
ItemStaff,
ItemSword,
OperateLever,
OperateShrine,
OperateShrine1,
ReadBook,
Sarcophagus,
MenuMove,
MenuSelect,
TriggerTrap,
CastFire,
CastLightning,
CastSkill,
SpellEnd,
CastHealing,
SpellRepair,
SpellAcid,
SpellAcid1,
SpellApocalypse,
SpellBloodStar,
SpellBloodStarHit,
SpellBoneSpirit,
SpellBoneSpiritHit,
OperateCaldron,
SpellChargedBolt,
SpellDoomSerpents, // Unused
SpellLightningHit,
SpellElemental,
SpellEtherealize,
SpellFirebolt,
SpellFireHit,
SpellFlameWave,
OperateFountain,
SpellGolem,
OperateGoatShrine,
SpellGuardian,
SpellHolyBolt,
SpellInfravision,
SpellInvisibility, // Unused
SpellLightning,
SpellManaShield,
SpellNova,
SpellPuddle,
SpellResurrect,
SpellStoneCurse,
SpellPortal,
SpellInferno,
SpellTrapDisarm,
SpellTeleport,
SpellFireWall,
Gillian1,
Gillian2,
Gillian3,
Gillian4,
Gillian5,
Gillian6,
Gillian7,
Gillian8,
Gillian9,
Gillian10,
Gillian11,
Gillian12,
Gillian13,
Gillian14,
Gillian15,
Gillian16,
Gillian17,
Gillian18,
Gillian19,
Gillian20,
Gillian21,
Gillian22,
Gillian23,
Gillian24,
Gillian25,
Gillian26,
Gillian27,
Gillian28,
Gillian29,
Gillian30,
Gillian31,
Gillian32,
Gillian33,
Gillian34,
Gillian35,
Gillian36,
Gillian37,
Gillian38,
Gillian39,
Gillian40,
Griswold1,
Griswold2,
Griswold3,
Griswold4,
Griswold5,
Griswold6,
Griswold7,
Griswold8,
Griswold9,
Griswold10,
Griswold12,
Griswold13,
Griswold14,
Griswold15,
Griswold16,
Griswold17,
Griswold18,
Griswold19,
Griswold20,
Griswold21,
Griswold22,
Griswold23,
Griswold24,
Griswold25,
Griswold26,
Griswold27,
Griswold28,
Griswold29,
Griswold30,
Griswold31,
Griswold32,
Griswold33,
Griswold34,
Griswold35,
Griswold36,
Griswold37,
Griswold38,
Griswold39,
Griswold40,
Griswold41,
Griswold42,
Griswold43,
Griswold44,
Griswold45,
Griswold46,
Griswold47,
Griswold48,
Griswold49,
Griswold50,
Griswold51,
Griswold52,
Griswold53,
Griswold55,
Griswold56,
Cow1,
Cow2,
WoundedTownsmanOld, // Unused
Farnham1,
Farnham2,
Farnham3,
Farnham4,
Farnham5,
Farnham6,
Farnham7,
Farnham8,
Farnham9,
Farnham10,
Farnham11,
Farnham12,
Farnham13,
Farnham14,
Farnham15,
Farnham16,
Farnham17,
Farnham18,
Farnham19,
Farnham20,
Farnham21,
Farnham22,
Farnham23,
Farnham24,
Farnham25,
Farnham26,
Farnham27,
Farnham28,
Farnham29,
Farnham30,
Farnham31,
Farnham32,
Farnham33,
Farnham34,
Farnham35,
Pepin1,
Pepin2,
Pepin3,
Pepin4,
Pepin5,
Pepin6,
Pepin7,
Pepin8,
Pepin9,
Pepin10,
Pepin11,
Pepin12,
Pepin13,
Pepin14,
Pepin15,
Pepin16,
Pepin17,
Pepin18,
Pepin19,
Pepin20,
Pepin21,
Pepin22,
Pepin23,
Pepin24,
Pepin25,
Pepin26,
Pepin27,
Pepin28,
Pepin29,
Pepin30,
Pepin31,
Pepin32,
Pepin33,
Pepin34,
Pepin35,
Pepin36,
Pepin37,
Pepin38,
Pepin39,
Pepin40,
Pepin41,
Pepin42,
Pepin43,
Pepin44,
Pepin45,
Pepin46,
Pepin47,
Wirt1,
Wirt2,
Wirt3,
Wirt4,
Wirt5,
Wirt6,
Wirt7,
Wirt8,
Wirt9,
Wirt10,
Wirt11,
Wirt12,
Wirt13,
Wirt14,
Wirt15,
Wirt16,
Wirt17,
Wirt18,
Wirt19,
Wirt20,
Wirt21,
Wirt22,
Wirt23,
Wirt24,
Wirt25,
Wirt26,
Wirt27,
Wirt28,
Wirt29,
Wirt30,
Wirt31,
Wirt32,
Wirt33,
Wirt34,
Wirt35,
Wirt36,
Wirt37,
Wirt38,
Wirt39,
Wirt40,
Wirt41,
Wirt42,
Wirt43,
Tremain0, // Unused
Tremain1, // Unused
Tremain2, // Unused
Tremain3, // Unused
Tremain4, // Unused
Tremain5, // Unused
Tremain6, // Unused
Tremain7, // Unused
Cain0,
Cain1,
Cain2,
Cain3,
Cain4,
Cain5,
Cain6,
Cain7,
Cain8,
Cain9,
Cain10,
Cain11,
Cain12,
Cain13,
Cain14,
Cain15,
Cain16,
Cain17,
Cain18,
Cain19,
Cain20,
Cain21,
Cain22,
Cain23,
Cain24,
Cain25,
Cain26,
Cain27,
Cain28,
Cain29,
Cain30,
Cain31,
Cain33,
Cain34,
Cain35,
Cain36,
Cain37,
Cain38,
Ogden0,
Ogden1,
Ogden2,
Ogden3,
Ogden4,
Ogden5,
Ogden6,
Ogden7,
Ogden8,
Ogden9,
Ogden10,
Ogden11,
Ogden12,
Ogden13,
Ogden14,
Ogden15,
Ogden16,
Ogden17,
Ogden18,
Ogden19,
Ogden20,
Ogden21,
Ogden22,
Ogden23,
Ogden24,
Ogden25,
Ogden26,
Ogden27,
Ogden28,
Ogden29,
Ogden30,
Ogden31,
Ogden32,
Ogden33,
Ogden34,
Ogden35,
Ogden36,
Ogden37,
Ogden38,
Ogden39,
Ogden40,
Ogden41,
Ogden43,
Ogden44,
Ogden45,
Adria1,
Adria2,
Adria3,
Adria4,
Adria5,
Adria6,
Adria7,
Adria8,
Adria9,
Adria10,
Adria11,
Adria12,
Adria13,
Adria14,
Adria15,
Adria16,
Adria17,
Adria18,
Adria19,
Adria20,
Adria21,
Adria22,
Adria23,
Adria24,
Adria25,
Adria26,
Adria27,
Adria28,
Adria29,
Adria30,
Adria31,
Adria32,
Adria33,
Adria34,
Adria35,
Adria36,
Adria37,
Adria38,
Adria39,
Adria40,
Adria41,
Adria42,
Adria43,
Adria44,
Adria45,
Adria46,
Adria47,
Adria48,
Adria49,
Adria50,
WoundedTownsman,
Sorceror1,
Sorceror2,
Sorceror3,
Sorceror4,
Sorceror5,
Sorceror6,
Sorceror7,
Sorceror8,
Sorceror9,
Sorceror10,
Sorceror11,
Sorceror12,
Sorceror13,
Sorceror14,
Sorceror15,
Sorceror16,
Sorceror17,
Sorceror18,
Sorceror19,
Sorceror20,
Sorceror21,
Sorceror22,
Sorceror23,
Sorceror24,
Sorceror25,
Sorceror26,
Sorceror27,
Sorceror28,
Sorceror29,
Sorceror30,
Sorceror31,
Sorceror32,
Sorceror33,
Sorceror34,
Sorceror35,
Sorceror36,
Sorceror37,
Sorceror38,
Sorceror39,
Sorceror40,
Sorceror41,
Sorceror42,
Sorceror43,
Sorceror44,
Sorceror45,
Sorceror46,
Sorceror47,
Sorceror48,
Sorceror49,
Sorceror50,
Sorceror51,
Sorceror52,
Sorceror53,
Sorceror54,
Sorceror55,
Sorceror56,
Sorceror57,
Sorceror58,
Sorceror59,
Sorceror60,
Sorceror61,
Sorceror62,
Sorceror63,
Sorceror64,
Sorceror65,
Sorceror66,
Sorceror67,
Sorceror68,
Sorceror69,
Sorceror69b,
Sorceror70,
Sorceror71,
Sorceror72,
Sorceror73,
Sorceror74,
Sorceror75,
Sorceror76,
Sorceror77,
Sorceror78,
Sorceror79,
Sorceror80,
Sorceror81,
Sorceror82,
Sorceror83,
Sorceror84,
Sorceror85,
Sorceror86,
Sorceror87,
Sorceror88,
Sorceror89,
Sorceror90,
Sorceror91,
Sorceror92,
Sorceror93,
Sorceror94,
Sorceror95,
Sorceror96,
Sorceror97,
Sorceror98,
Sorceror99,
Sorceror100,
Sorceror101,
Sorceror102,
Rogue1,
Rogue2,
Rogue3,
Rogue4,
Rogue5,
Rogue6,
Rogue7,
Rogue8,
Rogue9,
Rogue10,
Rogue11,
Rogue12,
Rogue13,
Rogue14,
Rogue15,
Rogue16,
Rogue17,
Rogue18,
Rogue19,
Rogue20,
Rogue21,
Rogue22,
Rogue23,
Rogue24,
Rogue25,
Rogue26,
Rogue27,
Rogue28,
Rogue29,
Rogue30,
Rogue31,
Rogue32,
Rogue33,
Rogue34,
Rogue35,
Rogue36,
Rogue37,
Rogue38,
Rogue39,
Rogue40,
Rogue41,
Rogue42,
Rogue43,
Rogue44,
Rogue45,
Rogue46,
Rogue47,
Rogue48,
Rogue49,
Rogue50,
Rogue51,
Rogue52,
Rogue53,
Rogue54,
Rogue55,
Rogue56,
Rogue57,
Rogue58,
Rogue59,
Rogue60,
Rogue61,
Rogue62,
Rogue63,
Rogue64,
Rogue65,
Rogue66,
Rogue67,
Rogue68,
Rogue69,
Rogue69b,
Rogue70,
Rogue71,
Rogue72,
Rogue73,
Rogue74,
Rogue75,
Rogue76,
Rogue77,
Rogue78,
Rogue79,
Rogue80,
Rogue81,
Rogue82,
Rogue83,
Rogue84,
Rogue85,
Rogue86,
Rogue87,
Rogue88,
Rogue89,
Rogue90,
Rogue91,
Rogue92,
Rogue93,
Rogue94,
Rogue95,
Rogue96,
Rogue97,
Rogue98,
Rogue99,
Rogue100,
Rogue101,
Rogue102,
Warrior1,
Warrior2,
Warrior3,
Warrior4,
Warrior5,
Warrior6,
Warrior7,
Warrior8,
Warrior9,
Warrior10,
Warrior11,
Warrior12,
Warrior13,
Warrior14,
Warrior14b,
Warrior14c,
Warrior15,
Warrior15b,
Warrior15c,
Warrior16,
Warrior16b,
Warrior16c,
Warrior17,
Warrior18,
Warrior19,
Warrior20,
Warrior21,
Warrior22,
Warrior23,
Warrior24,
Warrior25,
Warrior26,
Warrior27,
Warrior28,
Warrior29,
Warrior30,
Warrior31,
Warrior32,
Warrior33,
Warrior34,
Warrior35,
Warrior36,
Warrior37,
Warrior38,
Warrior39,
Warrior40,
Warrior41,
Warrior42,
Warrior43,
Warrior44,
Warrior45,
Warrior46,
Warrior47,
Warrior48,
Warrior49,
Warrior50,
Warrior51,
Warrior52,
Warrior53,
Warrior54,
Warrior55,
Warrior56,
Warrior57,
Warrior58,
Warrior59,
Warrior60,
Warrior61,
Warrior62,
Warrior63,
Warrior64,
Warrior65,
Warrior66,
Warrior67,
Warrior68,
Warrior69,
Warrior69b,
Warrior70,
Warrior71,
Warrior72,
Warrior73,
Warrior74,
Warrior75,
Warrior76,
Warrior77,
Warrior78,
Warrior79,
Warrior80,
Warrior81,
Warrior82,
Warrior83,
Warrior84,
Warrior85,
Warrior86,
Warrior87,
Warrior88,
Warrior89,
Warrior90,
Warrior91,
Warrior92,
Warrior93,
Warrior94,
Warrior95,
Warrior96b,
Warrior97,
Warrior98,
Warrior99,
Warrior100,
Warrior101,
Warrior102,
Narrator1,
Narrator2,
Narrator3,
Narrator4,
Narrator5,
Narrator6,
Narrator7,
Narrator8,
Narrator9,
DiabloGreeting,
ButcherGreeting,
Gharbad1,
Gharbad2,
Gharbad3,
Gharbad4,
Lachdanan1,
Lachdanan2,
Lachdanan3,
LazarusGreeting,
LeoricGreeting,
Snotspill1,
Snotspill2,
Snotspill3,
Warlord,
Zhar1,
Zhar2,
DiabloDeath,
ShootBow2,
ShootFireballBow,
PodExpload,
PodPop,
UrnExpload,
UrnBreak,
BigExplosion,
SpellLightningWall,
Pig,
Monk1,
Monk8,
Monk9,
Monk10,
Monk11,
Monk12,
Monk13,
Monk14,
Monk15,
Monk16,
Monk24,
Monk27,
Monk29,
Monk34,
Monk35,
Monk43,
Monk46,
Monk49,
Monk50,
Monk52,
Monk54,
Monk55,
Monk56,
Monk61,
Monk62,
Monk68,
Monk69,
Monk69b,
Monk70,
Monk71,
Monk79,
Monk80,
Monk82,
Monk83,
Monk87,
Monk88,
Monk89,
Monk91,
Monk92,
Monk94,
Monk95,
Monk96,
Monk97,
Monk98,
Monk99,
Farmer1,
Farmer2,
Farmer2a,
Farmer3,
Farmer4,
Farmer5,
Farmer6,
Farmer7,
Farmer8,
Farmer9,
Celia1,
Celia2,
Celia3,
Celia4,
Defiler1,
Defiler2,
Defiler3,
Defiler4,
Defiler8,
Defiler6,
Defiler7,
NaKrul1,
NaKrul2,
NaKrul3,
NaKrul4,
NaKrul5,
NaKrul6,
NarratorHF3,
CompleteNut1,
CompleteNut2,
CompleteNut3,
CompleteNut4,
CompleteNut4a,
CompleteNut5,
CompleteNut6,
CompleteNut7,
CompleteNut8,
CompleteNut9,
CompleteNut10,
CompleteNut11,
CompleteNut12,
NarratorHF6,
NarratorHF7,
NarratorHF8,
NarratorHF5,
NarratorHF9,
NarratorHF4,
CryptDoorOpen,
CryptDoorClose,
LAST = CryptDoorClose,
None = -1,
};
enum sfx_flag : uint8_t {
// clang-format off
sfx_STREAM = 1 << 0,
sfx_MISC = 1 << 1,
sfx_UI = 1 << 2,
sfx_MONK = 1 << 3,
sfx_ROGUE = 1 << 4,
sfx_WARRIOR = 1 << 5,
sfx_SORCERER = 1 << 6,
// clang-format on
};
} // namespace devilution
template <>
struct magic_enum::customize::enum_range<devilution::SfxID> {
static constexpr int min = static_cast<int>(devilution::SfxID::None);
static constexpr int max = static_cast<int>(devilution::SfxID::LAST);
};