first of all i wish to advise. I am not a professional, i am coding this to learn. I am making this a open source, since it's based on the
and this is actually open source too. Actually i moved the Phoenix structure to a new source, so it would be easier for me to understand.The source is ready to login and already have a few functions. There is no protection against any kind of attack in this version. There are a few things that need to be changed if you want to use this on a open server.
Of course you will notice that my codes aren't so great, but if you want to point anything bad, make something constructive so i can improve myself too. I will update the source if the community say that i need to keep the work.
This does have a lot of packet handlers that has not been finished yet, because i found out somethings on the middle of the development and so i started to do some researchs. There are a few txt files on the MsgServer/bin/debug folder, which contains informations about a few packets.
The client i am using is version 5517, i will list a few things that has been already coded here. By the way, there isn't much done.
Character Creation Packet isn't finished yet. It doesn't redirect the character after creation and doesn't make the name checks.
Chat Message Packet does handle Talk, Whisper, Guild, Friend and World Messages (GM/PM Commands).
Item Action does handle: Buy, Sell (Bound Items too), Equip, Unequip, Warehouse money, Repair and Repair All, Improve, Uplevel, Ping Packet (lol), Enchant, Talisman Socket with Items (I don't want to implement the CPs part on my server), Drop Packet (Not completed, it doesn't check for bound items and etc), Blessing, Activate Items (Accessories, items with timers, all handled already), Socket Equipment, Merge Items, Split Items (Shift + Click), Item tooltip and Degrade Equipment (Thanks to COPS V6).
String Packet does handle the basic.
Relationship packet does handle Add Friend, Delete Friend, Enemies etc.
Interaction Packet does handle Physical Attack (Meele and Bow) and Magic Attacks of Sort 1 and 14/33.
And the rest you should check out by yourself.
I will also provide on this thread, a little guide of how to work on the interaction packets (Attacking). I tried to implement it like on Demons Source, using the Sort Types of the cq_magictype.
Bellow, a few screenshots and then later, a tutorial of how to handle the attack classes. They're in order of development.



If you want to see all versions, check out the link below: (The versions not listed here, are not releases, just backups or shared work)

Battle System
The battle system may be complex to some peoples, but once you get familiar with it, it's pretty easy.
If you want to change the calculations you should look for the methods CalcAttackPower (Physical and Bow) and CalcMagicPower (Magic) on the file Structures\Entities\Battle System.cs
This will affect any attack calculation. You don't need to create millions of methods to handle each kind of attack.
The method CheckCondition on the same file, will check if the target is able to be attacked by a magic attack.
The methods for Physical and Magic attacks on Battle System are ProcAttack_Hand2Hand() and ProccessMagicAttack(int nType, uint idTarget, ushort x, ushort y, byte ucAutoActive).
Any magic check should be done on ProccessMagicAttack, once it's not the sort requirement. If the requirement is done by the type of magic (sort), you should look below on the Launch method.
The boolean Launch()
This method will just send the skill to it's own processor. Then, you create the processor and make the other Sort support. Check the ready sorts for more information.
There are a few known bugs that I will leave there, so who ever download this, try to solve. On future versions they will be fixed.
Last Update: 03-08-2015
Thanks for Akarui, never denied me support and for the Phoenix Project.
Thanks for CptSky for releasing Cops V6 that helped me on a few items handle algos and for the tips of the portals.
Thanks for pro4never, because of the Albetros Source that been so useful to me with it's packet structures.
And thanks for everyone who at least check out the code or the server itself.
Vídeo for release alpha 1.0.1005a






