I am almost there. I just have to solve a problem with the database layer and a compilation problem.Bertram wrote: All that we seem to lack is, implementation apart obviously, a start of a simple "hard-coded" table of special.
I'd be glad to see the basics of this system running with a real simple example function put in the script of the tmwdata repo. Can you make patch using git, Crush?
Special Attack System
Forum rules
This forum houses many years of development, tracing back to some of the earliest posts that exist on the board.
Its current use is for the continued development of the server and game it has always served: TMW Classic.
Re: Special Attack System
- former Manasource Programmer
- former TMW Pixel artist
- NOT a game master
Please do not send me any inquiries regarding player accounts on TMW.
You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
Re: Special Attack System
Here is the first server patch.
What it does:
-Implement LUA bindings for giving/taking/checking the specials a character can perform
-Implement a LUA script call for making the script engine calculate the specials use cost
-Save the specials of a character in the database
What it doesn't:
-Directly inform the client about the available specials. It does however do it indirectly by recharge status updates, but this is flawed because it doesn't inform the client when it loses a special.
-It doesn't calculate any other special cost except mana recharge in LUA
-It doesn't implement any new restriction like cooldown or special cost. Cooldown should not be an issue but before I implement SP cost we first have to answer some questions regarding if and how we want to offer the option to have multiple different SP pools.
http://bugs.manasource.org/file_downloa ... 1&type=bug
What it does:
-Implement LUA bindings for giving/taking/checking the specials a character can perform
-Implement a LUA script call for making the script engine calculate the specials use cost
-Save the specials of a character in the database
What it doesn't:
-Directly inform the client about the available specials. It does however do it indirectly by recharge status updates, but this is flawed because it doesn't inform the client when it loses a special.
-It doesn't calculate any other special cost except mana recharge in LUA
-It doesn't implement any new restriction like cooldown or special cost. Cooldown should not be an issue but before I implement SP cost we first have to answer some questions regarding if and how we want to offer the option to have multiple different SP pools.
http://bugs.manasource.org/file_downloa ... 1&type=bug
Well there is already some stuff in the LUA script bindings which could be used for implementing damaging special attacks (getting being around, check their positions, apply damage to them) but this is all pretty spartan. I will look into providing some more handy script bindings. Unfortunately I will go on a 3 week vacation next Saturday. And when I return, work will become stressful again. But I will not give up on this.Bertram wrote:There is one thing else lacking I can see coming: The inner targeting system. As for now, ManaServ only handles targeted fights, even if the code for computing areas is already there.
Then, I guess adding area of damage for ManaServ would be a good addition, tiled based for now.
- former Manasource Programmer
- former TMW Pixel artist
- NOT a game master
Please do not send me any inquiries regarding player accounts on TMW.
You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
Re: Special Attack System
Hi Crush,
As for the targetting system, I'd prefer having some C++ function ready to compute if a being is in an area of damage, within a tile range, etc, later taking into account the being radius (in tiles for now). That would be much faster.
But indeed, the script should have access to such functions in order to get a potential target list.
Thanks again for your effort and best regards.
As for the targetting system, I'd prefer having some C++ function ready to compute if a being is in an area of damage, within a tile range, etc, later taking into account the being radius (in tiles for now). That would be much faster.
But indeed, the script should have access to such functions in order to get a potential target list.
Thanks again for your effort and best regards.
- strikerbcb
- Novice
- Posts: 155
- Joined: 15 Apr 2005, 06:42
- Location: Brasil
- Contact:
Re: Special Attack System
Well, here i post a little suggestions about the special system.
A Special need these informations :
Special Icon ( client only )
Special Name ( both )
Description ( only to client )
Lua Script do be run ( only to server )
Cooldown_time ( both )
SP_COST ( both )
Its not need one more gui for specials, but increment/extend the shortcut window to be able to attach a special and show the cooldown animation in the used special slot.
In all :
* Define the way the specials will be handled in specials.xml ( open to the creator put one special script per file or not, or only permit ALL specials in a single file )
In the client we need :
* The client its informed when a character gains or loses a special, and when he its using him.
* The Client needs to know when a special gains xp or loses.
In Scripting/Server we need :
* Capacity to play audio effects easy, and handle with him like stop, play and loop ( its in mantis ).
* Capacity to handle with elemental damages and resistence ( ex. A fire special that cause X damage in the target )
* Capacity to handle with more types of targets like Area Damages
* Scripting features to handle with specials like add and remove a special and add or remove xp points in a special.
* Add a capacity of the server to handle with 'Passive' Specials
* Add suport to particle engine to handle toguether with the 'Area Damage Handling' to show a Area Effect around the targets ( i don´t know if this exists now, please refresh me if it exists ... )
In the Mantis i post too a critical bug for skills/special system that not handles well when you have more than one char per account, its better fix now before we can make more advanced tests like creating magics.
A Special need these informations :
Special Icon ( client only )
Special Name ( both )
Description ( only to client )
Lua Script do be run ( only to server )
Cooldown_time ( both )
SP_COST ( both )
Its not need one more gui for specials, but increment/extend the shortcut window to be able to attach a special and show the cooldown animation in the used special slot.
In all :
* Define the way the specials will be handled in specials.xml ( open to the creator put one special script per file or not, or only permit ALL specials in a single file )
In the client we need :
* The client its informed when a character gains or loses a special, and when he its using him.
* The Client needs to know when a special gains xp or loses.
In Scripting/Server we need :
* Capacity to play audio effects easy, and handle with him like stop, play and loop ( its in mantis ).
* Capacity to handle with elemental damages and resistence ( ex. A fire special that cause X damage in the target )
* Capacity to handle with more types of targets like Area Damages
* Scripting features to handle with specials like add and remove a special and add or remove xp points in a special.
* Add a capacity of the server to handle with 'Passive' Specials
* Add suport to particle engine to handle toguether with the 'Area Damage Handling' to show a Area Effect around the targets ( i don´t know if this exists now, please refresh me if it exists ... )
In the Mantis i post too a critical bug for skills/special system that not handles well when you have more than one char per account, its better fix now before we can make more advanced tests like creating magics.
<<Striker>> - Evolving Ever
Project World of Dragons - Brazilian Total Rework Fork of the TMW and a newer 3D Client/Server
Mundo dos Dragões - http://www.mundodosdragoes.org
Project World of Dragons - Brazilian Total Rework Fork of the TMW and a newer 3D Client/Server
Mundo dos Dragões - http://www.mundodosdragoes.org