It seems like today's update may have broken or changed something with inventory manager. Before today, my code for using buff and poison potions worked just fine, but now it throws a ton of errors when loading the routine. I've attached a log, and here's what the method actually looks like: Code: public Composite UsePotion(string PotName, GameObject onTarget) { var pot = InventoryManager.FilledSlots.FirstOrDefault(a => a.Name.Equals(PotName) && a.IsHighQuality); if(onTarget == Core.Me) { return new Decorator(r => pot != null && pot.IsValid && pot.CanUse(onTarget) && settings.UseBuffPotions && ((settings.UseOpenerPotion && Opener) || !settings.UseOpenerPotion), new Action(r => { pot.UseItem(onTarget); })); } else { return new Decorator(r => pot != null && pot.IsValid && pot.CanUse(onTarget) && settings.UsePoisonPotions, new Action(r => { pot.UseItem(onTarget); })); } } Which is called by: Code: UsePotion("X-Potion of Dexterity", Core.Me) and UsePotion("Potent Poisoning Potion", Core.Me.CurrentTarget) If I take out the actual calls, the errors are not there anymore and the combat routine loads and works fine, but I think it's weird that it worked perfectly until today's update. Any assistance would be appreciated. Thanks.
To add some more, just running Code: foreach (BagSlot a in InventoryManager.FilledSlots) { Logging.Write(a.Name); } gives me Code: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object. at ff14bot.Managers.BagSlot.get_Name() at Driver.Run() in c:\Users\Name\Desktop\RebornBuddy\Plugins\RebornConsole\Temp\t1baxmje.0.cs:line 36 --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args) at HighVoltz.CodeDriver.CompileAndRun(String input) in c:\Users\Name\Desktop\RebornBuddy\Plugins\RebornConsole\RebornConsole.cs:line 452
Found what it is. The key items for the new Postmooge quests are not indexed correctly, so if you have one of them it freaks out the inventory manager when it gets to them. The id's for all the letters seem to be 200#### so maybe that whole range is not accounted for.
Should be working now, rb gets upset if you have an item that isn't in the database, was waiting on the cn version to get updated today before I scrapped the game data as its kinda a pain.