#pragma once
class Menu;
class TESRace;
class TESForm;
class TESObjectREFR;
class AlchemyItem;

void Hook_Gameplay_Init(void);
void ToggleUIMessages(bool enableSpam);
bool ToggleMenuShortcutKeys(bool bEnable, Menu* menu = NULL);
void SetRaceAlias(TESRace* race, TESRace* alias, bool bEnableAlias);

void ModPlayerSpellEffectiveness(double modBy);
double GetPlayerSpellEffectivenessModifier();

extern TESForm* g_LastEnchantedItem;
extern TESForm* g_LastCreatedSpell;
extern TESForm* g_LastCreatedPotion;
extern TESForm* g_LastUniqueCreatedPotion;

void QueueRefForDeletion(TESObjectREFR* refr);

// returns a potion that matches the effects of toMatch if one exists
AlchemyItem* MatchPotion(AlchemyItem* toMatch);

void ModPlayerMovementSpeed(double modBy);
double GetPlayerMovementSpeedModifier();

// this returns a refID rather than a TESObjectREFR* as dropped items are non-persistent references
UInt32 GetPCLastDroppedItemRef();
TESForm* GetPCLastDroppedItem();		// returns the base object
