TP required to weaponskill is now 1000.

Jun 16, 2014 update to FFXI changed TP to now be reported as 10 times the old number.
Merge pull request #12 from SchroedingerHepcat/patch-1

TP required to weaponskill is now 1000.
Fixed user interface to allow user to select weaponskill tp in range of 0 - 1000

Changed the maximum value of the tp slider in WeaponsView to be 1000.
Users can now select value between 0 and 1000 for tp usage.

I've removed references to the statusbar in WeaponsViewModel since it
has been replaced by the function call InformUser.
Embedded FFACETools and Added all previous releases of EasyFarm to the repository.

I've embedded a copy of FFACETools into the project's executable now
lowering the number of dll files in the release/debug folders to one:
FFACE.dll.

I've also added all of the version of EasyFarm that were created except
for the initial ones that are laying around under a different project
name.
Reverted FSM Code, Added Private Server Debug Aid, Reverted Slider Changes

I've re-added the return statement in the FSM code in hopes it fixes
some intermittent state transition problems.

I've added a #if DEBUG statement in the battle function to allow
development on private servers. The private server still uses TP values
of 100 and not the new value of 1000.

I've reverted the changes in the weaponskill view. The health slider
will now trigger from the health range of 1 - 100 instead of 1 - 1000
which was a mistake.
Simplified multithreading code and Removing return in FSM

Simplified multithreading code and Removing return in FSM

I've simplified the multithreading in the Finite State Machine class by
replacing it with a background worker instead of using threads.

I've also found out that the return statement causes the bot not to
trigger the InvalidTarget state that's needed in order to target
creatures so I'm reversing the edit.
Changes to make services less dependant on each other.

These changes were made so that we can gradually move away from our
Engine super object and have available to use only the things we need.

* Added GetInstance functions for Engine, UnitService and RestingService
classes. GetInstance returns a singleton object for the given class.
* Changed all references to Config's FilterInfo field into UnitService's
new FilterInfo field.
* RestingService and UnitService now only depend on FFACE
implementations.
* Session class is now renamed FFInstance again.
Added ability to adjust min/max melee, height and detection settings

These changes bring more flexibility for the user to customize the
programs settings to suit his farming environment. The changes made
were:

* Addition of a misc settings view and view model to change max / min
melee distance, max detection distance, max height difference.

* Addition of a new MiscSetting's class to hold the data and is placed
in config within the engine.

* I've also renamed the file Session to FFInstance to match its class
name.
Moved data from GameEngine to FarmingTools

I've removed all data from GameEngine to the new FarmingTools class. You
can use the FarmingTools class to get access to the information your
classes need. It exposes all the previous services held by game engine.

Moved InfoUser into App.cs from view model base to make it easier to
user in other code files. This means event aggregator is also in the
app.cs class now.

All classes that were previously singletons are now not. You can access
them statically from the FarmingTools class.
Restore defaults button to Misc View and Changed way GetInstance works for FarmingTools

I've added a restore defaults settings to the misc tab so that once
users change the settings they can recover them back.

I've added a new GetInstance() method to FarmingTools that takes nothing
and expects the user to manually pass an FFACE session.

I've changed the way GetInstance(fface) works. It will now also return a
new instance when the user passes in an fface instance that is different
than the one stored internally.
Fixed Config bug. Added "Stopped!" message on death.  Fixed HealingView bug

* I've added code that now initializes Config to default values.
* I've added a "Stopped!" message when the player dies in the Dead State
class
* I've fixed the bug where the healing abilities would not receive
updated from the healing view.
More comments and added IsActionValid function in PlayerActions. Its use fixes a bug where HealingList returned abilities that weren't valid.
Lots of namespace changes

Preparing to move FarmingTools out of EasyFarm. This build compiles but
probably won't run.
Versions 1.1.0.3 release. Revamped casting systems, Now using XI-Tools for heavy lifting,

There's been a structural shift in the program. State classes are now
going to do the heavy lifting. This means more code will be implemented
in the states and less will be added to XI-Tools.

DebugSpellCasting helps test FFACE's spell casting functions which in
implementing the casting system.

There was a complete revamp of the combat system and the code was moved
into AttackState.cs

FarmingTools is now just a wrapper to hold the services provided by
XI-Tools. We'll be trying to move away from using this class but we're
keeping it for now until we can eliminate the TargetData, PlayerActions,
and PlayerData classes.
Version 1.1.0.3 release version

Fixed bug that prevented weaponskilling.
Added a new pull option under the battle's tab.
Fixed bug where melee distance was not being used properly.
Fixed bug where the bot would stop working when trying to rest.
Changed healing tab's look by moving buttons below the healing moves
box.
Changed third person view mode to be the default view mode.

This version adds the new pull feature to the battles tab. The roles for
the battle system is now as follows:

Start - Used for moves that buff the character like protect. The program
attempt to cast these spell until they complete successfully.
Pull - Used for moves that make the enemy mob attack you. One example
would be provoking mobs to get claim.
Battle - Used for moves that will be repeatedly used in combat like
casting stone over and over to kill an enemy.
End - Used for moves that will be used after killing the mob. Very
similar to start in function.

One problem with this version is you can't change the default global
cast delay or the spell cast latency settings. In the next update I'll
try to expose these setting for you guys to modify. Also, tell me if you
like the changes to the Healing Tab or forcing third person view to be
the new default view. We'll see what we can do about making the user
interfaces a little bit cleaner ^^;
Adding files for chat log.

Added classes that support the building of a chat log tab for
communicating with Final Fantasy XI through the program. This will allow
someone to chat and not be interfered by the program while it is
running.
Fixed a few bugs and added support for claimed mobs.

This update contains a two bug fixes and two improvements:
* Fixed bug where MobFilters in UnitsFilter class silently would throw a
null exception error prevent some states from triggering.
* I've improved the background worker's thread cancellation.
* Disable bot on zoning has been implemented.
* Option for killing claimed mobs has been implemented.
Fixed code in order to process claimed status correctly.

The use of player.id instead of partymember[0].serverid changed the
behavior of the bot to hit mobs once and then disengage them.

I've also added some more logging methods into EasyFarmEventSource but
they are not in use.
Fixed mob filtering code to exclude nighttime mobs (skeletons and bats that are not spawn yet but are still valid mobs.) and included mobs with an npcbit of 4(colibris.)
Ranged attack support and bugfix to stop running.

Added ranged attack support for pulling.  Created loop that will keep
trying to pull if offensive spells or ranged attacks are in the pull
list.  Before StartList and PullList are executed, run to max ranged
attack if ranged is present but no offensive spells are present,
otherwise run to max spell range if offensive spells are present.

Also added a bugfix to stop the bot from running forever if the bot is
stopped while travelling.