Special Attack System

Content and general development discussion, including quest scripts and server code. TMW Classic is a project comprising the Legacy tmwAthena server & the designated improved engine server based on evolHercules.


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.

User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: Special Attack System

Post by Crush »

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? :cry:
I am almost there. I just have to solve a problem with the database layer and a compilation problem.
  • 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.
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: Special Attack System

Post by Crush »

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
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.
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.
  • 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.
User avatar
Bertram
Manasource
Manasource
Posts: 1026
Joined: 07 Sep 2004, 14:55
Location: France

Re: Special Attack System

Post by Bertram »

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.
User avatar
strikerbcb
Novice
Novice
Posts: 155
Joined: 15 Apr 2005, 06:42
Location: Brasil
Contact:

Re: Special Attack System

Post by strikerbcb »

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.
<<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
Post Reply