Announcement

Collapse
No announcement yet.

Spell and Damage System

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [SUPPORT] Spell and Damage System

    Click image for larger version

Name:	HighresScreenshot00000.jpg
Views:	1
Size:	78.5 KB
ID:	1191654

    NEW ON MARKETPLACE!

    Description

    Preview: http://www.youtube.com/watch?v=3VGhpUwbhRM

    The system is designed to be used with any game that needs advanced damage system. This includes RPG games, FPS, MOBA, MMOs ... The spell system is built on top of the damage system so you can use either one or both if you want to.

    Core features:
    - different spell type templates: projectile, lock-on projectile, direct spell, area of effect, spell following ground, link spell
    - enhanced damage system with very flexible modifiers (buff and debuffs): increase/decrease of damage, healing, critical strike, critical strike chance ...
    - modifiers also effect other properties of the actor: speed, casting speed, movement, is it in control ...
    - working examples with unique effects: there are over 15 unique game-ready spells and modifiers implemented
    - full support for networked game
    - built so it is easy to setup and prototype
    - data based spell and modifier description so you can load properties from cvs file
    Technical Details

    The package contains (without Demo content):
    - Blueprint Library for extended damage system (can be used separately from the spells, only depends on the modifiers)
    - 11 Blueprints
    - 3 Blueprint interfaces
    - 2 Blueprint structures
    - 27 particle effects (explosions are modified Epic's assets needed for the demo but other are unique), 34 materials and material instances used mostly by particle effects
    - 3 vector fields

    Demo example contains working examples of spells where some, but far from all possibilities are used.
    Attached Files
    Last edited by ziga.osolin; 08-14-2016, 04:25 AM.
    Žiga Osolin
    Available on Marketplace: Spell and Damage System

    #2
    REQUEST: how do I implement casting system?

    The current version does not include the sample how casting could be implemented. Casting system, in general, is very game specific so this example here might not suit all your needs. For example, can we move while casting, how are casts interrupted (can this happen), are there movement penalties when casting, ... Additionally, you should probably implement it in your character blueprint (or have a blueprint component you can attach to all characters that need casting). Here, I give a simple step by step example how to extend your character to implement it (this example will be included in the next update):

    1. Add replicated variables CastFullTime (float), CastCurrentTime (float), IsCasting (bool) and CastSpellID (int or enum) to the ThirdPersonCharacter blueprint (or your character blueprint class)
    2. Create a function StartCast that takes spell ID and cast time. Only call this function on the server! Check if we are currently not casting and in control, and if so, set the cast full time to cast time, spell ID to the input spell ID and IsCasting to true. Also set CastCurrentTime to zero.
    3. On tick on the server only, if we are casting, increment CastCurrentTime by delta time; if it goes above CastFullTime, call the event that handled when the ability. You can do a switch based on the spell ID to route to the correct event.

    This should make for a simple casting system. You can easily add more logic later on.
    Žiga Osolin
    Available on Marketplace: Spell and Damage System

    Comment


      #3
      Is it possible to use this system in a turn-based game?
      Last edited by Wizard1200; 08-14-2016, 02:40 PM.

      Comment


        #4
        Originally posted by ziga.osolin View Post
        REQUEST: how do I implement casting system?

        The current version does not include the sample how casting could be implemented. Casting system, in general, is very game specific so this example here might not suit all your needs. For example, can we move while casting, how are casts interrupted (can this happen), are there movement penalties when casting, ... Additionally, you should probably implement it in your character blueprint (or have a blueprint component you can attach to all characters that need casting). Here, I give a simple step by step example how to extend your character to implement it (this example will be included in the next update):

        1. Add replicated variables CastFullTime (float), CastCurrentTime (float), IsCasting (bool) and CastSpellID (int or enum) to the ThirdPersonCharacter blueprint (or your character blueprint class)
        2. Create a function StartCast that takes spell ID and cast time. Only call this function on the server! Check if we are currently not casting and in control, and if so, set the cast full time to cast time, spell ID to the input spell ID and IsCasting to true. Also set CastCurrentTime to zero.
        3. On tick on the server only, if we are casting, increment CastCurrentTime by delta time; if it goes above CastFullTime, call the event that handled when the ability. You can do a switch based on the spell ID to route to the correct event.

        This should make for a simple casting system. You can easily add more logic later on.
        Would love a few tutorials on different types of cast systems and how to execute them with your spells and damage. would def pay more

        Comment


          #5
          Originally posted by Wizard1200 View Post
          Is it possible to use this system in a turn-based game?
          I have not thought of this possibility but I would say yes. I guess you would use the spell and damage system each turn, and let the animation (that is spell effect and dealing damage) play before allowing the opponent to do his turn.
          Žiga Osolin
          Available on Marketplace: Spell and Damage System

          Comment


            #6
            Originally posted by JManDawg View Post
            Would love a few tutorials on different types of cast systems and how to execute them with your spells and damage. would def pay more
            I will try to include those systems in the next update. I just have to think of a good way to abstract it as I do not want people to have to copy and paste it into their character blueprint. Thanks for the advice though!
            Žiga Osolin
            Available on Marketplace: Spell and Damage System

            Comment


              #7
              First of all thank you for this awesome pack, it is very well documented. But i have a request too, i would love to see a Tutorial on how to implement a Mana system.
              Last edited by Silonidas; 08-20-2016, 09:20 AM.

              Comment


                #8
                Originally posted by Silonidas View Post
                First of all thank you for this awesome pack, it is very well documented. But i have a request too, i would love to see a Tutorial on how to implement a Mana system.
                If you are in a hurry, it should be easy to implement something resource like mana directly on the character blueprint by adding a mana variable, set it to replicated and some initial value. Probably you will also need MaxMana variable as well. Then when you cast something that needs mana, you check if you have enough on the server, and only execute the attach if that is true. At the end of the cast (or immediately if instant), also subtract that mana cost from Mana variable.

                I will try to include as much of the requested things in the next pack, for now this included casting and resource management. I already did some work on the casting system; it should now be almost as simple as adding a component to the actor to enable him to cast. I will also try to make the system as general as possible to also include mana/rage/other components and allows a fair amount of modification if someone want things done in a different way. This system should be totally independent from the current system so you can built on top of it (just like the spell template system is independent from the damage system).
                Žiga Osolin
                Available on Marketplace: Spell and Damage System

                Comment


                  #9
                  A new version of Spell and Damage system is on the marketplace. Besides the migration to 4.13, it also includes casting and resource system in a new CastingComponent that you can attach to your actor. This component also manages resources as they are used or generated by spells. The example character and UI fully uses the new system.

                  The component allows you to start casting spells using StartCast by supplying cast information such as name, time, resources requirement and various other options. Checks for cast errors will first be made (other cast going on, global cooldown not available, not enough resources, ...) and if successful, the cast will start. All you need to do is to subscribe to the delegate OnCastSuccessfull to add logic, like spawning a spell from the template. The system currently supports two simultaneous resources (resource 1 and resource 2) that you can use for anything you want, typical examples would be mana/rage + secondary resource like focus if needed by your character. The system also supports global cooldown (usually used so you can't spam instant/short casts), interrupts, intercept of any other event (interrupted, start cast ...), interrupts when moving for spells that enable that, intermediate event during the cast ...

                  Also, the system will be on -15% sale from 16-23 of September!
                  Žiga Osolin
                  Available on Marketplace: Spell and Damage System

                  Comment


                    #10
                    Hey Žiga, I absolutely love your system! I really like the update that added casting and resources to it. Too bad I already bought it, that -15% off would have been nice. But I do not regret buying it for full price at all! It is well worth it! Has excellent Tutorials too! The tutorials are very clear, easy to follow. Only thing I would add to the tutorial system you have, is to have a master tutorial guide that would take you thru your entire tutorial system in a specific order. Also I noticed in the Advanced Casting System tutorial it says to make sure you have covered the Basic Casting System tutorial first, would be nice if there was a link right there to the Basic Casting System tutorial AND would be nice if the name of the Basic Casting System tutorial was actually called "Basic Casting System" instead of "Spell Casting"

                    Anyways, I highly recommend this system to anyone wanting spells or damage modifiers in their game!!!

                    Comment


                      #11
                      Originally posted by Kaotix View Post
                      Hey Žiga, I absolutely love your system! I really like the update that added casting and resources to it. Too bad I already bought it, that -15% off would have been nice. But I do not regret buying it for full price at all! It is well worth it! Has excellent Tutorials too! The tutorials are very clear, easy to follow. Only thing I would add to the tutorial system you have, is to have a master tutorial guide that would take you thru your entire tutorial system in a specific order. Also I noticed in the Advanced Casting System tutorial it says to make sure you have covered the Basic Casting System tutorial first, would be nice if there was a link right there to the Basic Casting System tutorial AND would be nice if the name of the Basic Casting System tutorial was actually called "Basic Casting System" instead of "Spell Casting"

                      Anyways, I highly recommend this system to anyone wanting spells or damage modifiers in their game!!!
                      Thanks!

                      I am really happy that you like the system, this gives me additional boosts for expanding the system. Also thank you for the tips, I will correct those Tutorial names and order them, that is something I missed on review. Be sure to give me more ideas on what you would like in the system for the next update!
                      Žiga Osolin
                      Available on Marketplace: Spell and Damage System

                      Comment


                        #12
                        The item is on sale now for a week!
                        Žiga Osolin
                        Available on Marketplace: Spell and Damage System

                        Comment


                          #13
                          Thank you for this awesome system !
                          I've successfully implemented it on my top down "shooter". At this point, I've one question : if I want to make a spell that make the owner invisible and one that make the owner immaterial (enemies spells go through him and has no collision with enemies) where and how should I implement this cleanly ?

                          Comment


                            #14
                            Hi! Sorry for the late response.

                            1) For the first spell to make someone invisible, you will have to make your own logic. I suggest you have a IsStealth boolean on character that signals visibility and additional method, SetStealth that switches between stealth and unstealth mode. Whenever you cast the ability, you will want to call SetStealth(true) and after a delayed time, SetStealth(false). In this method, set the visibility of the character mesh to false (or some other visualization of stealth). You may also want to tweak collision. The reason to also use boolean is to replicate to all clients if you have networked game. Set it to RepNotify and call SetStealth with its value. Also make sure you set the varable after calling SetStealth (or in SetStealth but be aware of recursive calling on the server)

                            2) If you want the spell to go through you, implement BPI_ProjectileIgnoreOverlap on the character and pass true whenever you get something that should hit you. Also, if the projectile is lock-on, make sure you remove the lock-on target at that stage otherwise it won't explode but it will be pinned to you character.

                            I hope this helps at l
                            Žiga Osolin
                            Available on Marketplace: Spell and Damage System

                            Comment


                              #15
                              I'm a bit new to unreal, after i kill the actor with the spell system. How do i get rid of the HUD? I've tried to hide it, and destroy it. Is there a particular way i should be dealing with removing it upon death? Also apologies if this was covered someplace already.

                              Comment

                              Working...
                              X