Rectified creating of non-persistent behaviors;
Rectified implementation of non-persistent behaviors: default constructor is compulsory.
Implemented Game cloning:
* Behaviors are cloned in two phases;
* * In the first phase behaviors are default-constructed;
* * In the second phase behaviors are transferred from the original behavior to the cloned one;
* Implemented correctly transferring for:
* * Warrior;
* * LastingEffect;
* * Various behaviors involving warrior attack modifier;
Removed Passive_NoPlayerAttacker;
Removed Profile from Player.
Renamed/Relocated MessageMap.MessageHandlerAttribute to MessageHandlerAttribute;
Refactored BaseController : Made it work in sync mode, which no inter-thread communication happens between Notify and Respond;
Refactored BehaviorModel : subclasses now can override the GetBehaviorType() method if BehaviorModelAttribute is not provided (fixed crash on some behavior's ModelType.Instantiate());
Added Game.SimulateMainPhase() to run MainPhase once on simulate-only game;
Implemented Simulation.Context for basic choice-based game state forking:
* Each different purposed simulation shall derive from BaseSimulator and yields every possible choice at every interaction;
* Refer to PlayCardSimulator (W.I.P.);
* Implemented some choices, more to come soon.
Implemented evaluation of a game;
Used the AI to decide how to play a card instead of hard coding card's value.
Card attack score is now weighted by the warrior's state and the presence of Neutral behavior;
Choices are now printed to debug output;
PlayCard choices are now only selected for distinct card models.
Optimize server readmessage loop to lower CPU usage
Made Card UI rotate/flip correctly in both VsAI mode and Hotseat mode;
Made particles be double-faced temporarily.
Added DoubleFace option to particle system.
Merge branch 'AI' of https://github.com/galaxyyao/TouhouGrave into Network
Implemented MainStage2Simulator which basically enumerates every possible attacker/defender pair;
Used MainStage2Simulator to make a plan for AI attacking;
Fixed a crash in LastingEffect.
Implemented planning for AI outside Main phrase.
put Game Parameter in one single function
Implemented correct game simulation out of main phase;
Game evaluation now takes battlefield cards' value into account.
Moved AI planning to a standalone thread to make the game run smoother.
Merge branch 'AI' into Network
Server will wait another player's enter and then start the game
Player will wait the server sending "startgame" cdommand and then start the game
synchronize seed for Network
Adjust kaguya & lunar's avartar to 512x512