//handles all the things. public override void Entry(IModHelper helper) { //set the static instance variable. is this an oxymoron? instance = this; //preserve this entry method's helper class because it's.. helpful. instance.eeHelper = helper; //read the config file, poached from horse whistles, get the configured keys and settings Config = helper.ReadConfig <ConfigurationModel>(); //add handler for the "transmute/copy" button. ControlEvents.KeyPressed += ControlEvents_KeyPressed; //exclusively to figure out if ctrl or shift have been let go of. ControlEvents.KeyReleased += ControlEvents_KeyReleased; //wire up the library scraping function to occur on save-loading to defer recipe scraping until all mods are loaded, optimistically. SaveEvents.AfterLoad += SaveEvents_AfterLoad; //we need this to save our alchemists['] data SaveEvents.BeforeSave += SaveEvents_BeforeSave; //set texture files in memory, they're tiny things. DrawingUtil.HandleTextureCaching(); //trying something completely different from a patched event hook... //gonna try using this to detect the night event heuristically. GameEvents.UpdateTick += GameEvents_UpdateTick; //wire up the PreRenderHUD event so I can display info bubbles when needed GraphicsEvents.OnPreRenderHudEvent += GraphicsEvents_OnPreRenderHudEvent; //check for experience bars mod: if it's here we draw hud elements for the new alchemy skill CheckForExperienceBarsMod(); if (hasExperienceBarsMod) { GraphicsEvents.OnPostRenderHudEvent += GraphicsEvents_OnPostRenderHudEvent; } //check for all professions mod: if it's here we run a wireup to give the player all skills professions at the right time (or after), when present. CheckForAllProfessionsMod(); if (hasAllProfessionsMod) { LocationEvents.CurrentLocationChanged += LocationEvents_CurrentLocationChanged;; } //add a debug option to give yourself experience Helper.ConsoleCommands.Add("player_givealchemyexp", "player_givealchemyexp <amount>", GiveAlchemyExperience); //post render event for skills menu GraphicsEvents.OnPostRenderGuiEvent += DrawAfterGUI; //check for chase's skills checkForLuck(); checkForCooking(); }
//handles all the things. public override void Entry(IModHelper helper) { //set the static instance variable. is this an oxymoron? instance = this; //read the config file, poached from horse whistles, get the configured keys and settings Config = helper.ReadConfig <ConfigurationModel>(); //add handler for the "transmute/copy" button. ControlEvents.KeyPressed += ControlEvents_KeyPressed; //exclusively to figure out if ctrl or shift have been let go of. ControlEvents.KeyReleased += ControlEvents_KeyReleased; //wire up the library scraping function to occur on save-loading to defer recipe scraping until all mods are loaded, optimistically. SaveEvents.AfterLoad += SaveEvents_AfterLoad; //we need this to save our alchemists['] data SaveEvents.BeforeSave += SaveEvents_BeforeSave; //set texture files in memory, they're tiny things. DrawingUtil.HandleTextureCaching(); //handles high resolution update ticks, like regeneration and held keys. GameEvents.UpdateTick += GameEvents_UpdateTick; //wire up the PreRenderHUD event so I can display info bubbles when needed GraphicsEvents.OnPreRenderHudEvent += GraphicsEvents_OnPreRenderHudEvent; // handles end of night event requirements like alchemy energy being restored and level ups. SpaceEvents.ShowNightEndMenus += SpaceEvents_ShowNightEndMenus; // stuff we have to do for multiplayer now, handles client join events to cascade data to the non-hosts. SpaceEvents.ServerGotClient += SpaceEvents_ServerGotClient; // handle looking out for the slime gift to the wizard that gates the alchemy content SpaceEvents.AfterGiftGiven += SpaceEvents_AfterGiftGiven; Networking.RegisterMessageHandler(MSG_DATA, OnDataMessage); Networking.RegisterMessageHandler(MSG_EXPERIENCE, OnExpMessage); Networking.RegisterMessageHandler(MSG_LEVEL, OnLevelMessage); Networking.RegisterMessageHandler(MSG_CURRENT_ENERGY, OnCurrentEnergyMessage); Networking.RegisterMessageHandler(MSG_MAX_ENERGY, OnMaxEnergyMessage); Networking.RegisterMessageHandler(MSG_TOTAL_VALUE_TRANSMUTED, OnTransmutedValueMessage); Networking.RegisterMessageHandler(MSG_REGEN_TICK, OnRegenTick); Networking.RegisterMessageHandler(MSG_IS_SLIME_GIVEN_TO_WIZARD, OnSlimeGivenToWizardMessage); Skills.RegisterSkill(skill = new AlchemySkill()); }