- PCHAR to char*
- remove pulsing variable.
- Replace TargetIt #define with function.
- VOID to void
- remove void as a parameter
- RemoveCommand for /permignore added.
- Added function Moving(PSPAWNINFO pSpawn) to avoid the plugin spam sitting when the character moves manually.
- move most if not all commands to their own line following an if statement.
- Removed commented out plugin API calls.
- change char var[MAX_STRING] parameters to use char*
- Changed atob to do a case insensitive compare and remove looping through the character array setting characters to lowercase.
- CHAR to char
- Add spacing after move if statements for readability.
- Adjust the clear option for /farm farmmob clear so that it doesn't return. Which allows "UpdateSearchString()" to occur.
- DWORD to unsigned long
- refactor SearchSpawns to significantly reduce the likelyhood that it would fail to find targets accurately.
- reduce lag produced by SearchSpawns by using base cases, and removing the use of PathExists in favor of getting a PathLength which is saved to a variable, then verifying the pathlength isn't -1
- refactor AmFacing(unsigned long) to use the correct formula.
- Update NavCommands.h to update from deprecated API function calls. Update uses the same thing that is in cwtncommon.
- Adjustments for the updated NavCommands.h were made to MQ2FarmTest.cpp
- Prototypes adjusted to match their definitions.
- unsigned __int64 to uint64_t
Keep in mind as I develop this plugin that I'm very new to the C++ language and changes for the plugin likely won't happen as fast as they do for my macros. Due to the way plugins allow a user to run multiple utilities at once, I feel that it would be a better fit to run it as a plugin as both a learning process for me, and an opportunity for the user to be able to run other utility macros while this is going. Honestly I should be making this the other way around, where the utilities are the ones I make the plugin for and leave the heavier lifting to the macros due to the complexity of maintaining a plugin of this type. But again, this was primarily created as a learning tool for me, but you the user hopefully get to benefit from it.
Have you used my plugin? Swing by the discussion posts and let me know what you think. Any bugs you've encountered related to the plugin, and some things you'd like to see worked on as a priority.
- Added the use of the FarmMobIgnored.ini file in the macro folder for the global ignores
so players didn't need to reinvent the wheel and could use the existing ignores file.
- Added group health mana and endurance checks so you can now have the merc tag along
without worry of running them out of mana.
- Reduced the delay between pulses by 1/3rd
- Nav will now refresh destination if target is moving while navigating to the selected spawn.
- Made some adjustments to stopping distance to prevent "You are to far away" issues.
- Discs now verify target is in range before attempting to use if you have a target.
- Fixed a crash that occured if no valid spawns were found.
- TODO: Add the /permignore command to replicate the usage in the macro
- TODO: Fix spell casting...yes, really...maybe....I'm not sure.
- TODO: Change the distance checks for NavigateToID(DWORD ID) to use Get3DDistance function instead of GetDistance
- TODO: Check for dead group members
- TODO: Check for dead mercenaries and handle it appropriately. (Gah, window access?)