1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. The poll for Hive's 12th Concept Art Contest is up! Go cast your vote for your favourite genie!
    Dismiss Notice
  5. Travel to distant realms and encounter scenes unknown to the common folk. The Greatest of Adventures is upon us with the 8th Cinematic Contest. Join in on a fun ride.
    Dismiss Notice
  6. The 18th Icon Contest is ON! Choose any ingame unit and give him/her Hero abilities. Good luck to all.
    Dismiss Notice
  7. Contestants are to create a scene set in the Stone Age. Come and see what you can come up with. We wish you the best of luck!
    Dismiss Notice
  8. Colour outside the lines! Techtree Contest #13 is a go. The contest is optionally paired.
    Dismiss Notice
  9. Greetings cerebrates, our Swarm needs new spawners that will have numerous children. Join the HIVE's 31st Modeling Contest - Spawners and Spawned! The contest is optionally paired.
    Dismiss Notice
  10. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Buff System v1.8

Submitted by Noobsmoke
This bundle is marked as approved. It works and satisfies the submission rules.
Description :
Buff System allows you to create dummy buffs based on auras making buff handling and stacking a lot easier.
Triggers

  • Run Buffing
    • Events
    • Conditions
    • Actions
      • Set BS_Recycle = True
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (BS_Buffed_Unit[BS_Index2] is alive) Equal to True
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (BS_Buffed_Unit[BS_Index2] is Magic Immune) Equal to True
              • BS_MagicImmune[BS_Index2] Equal to False
            • Then - Actions
              • Set BS_Recycle = False
            • Else - Actions
        • Else - Actions
          • Set BS_Recycle = False
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • BS_Recycle Equal to True
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (BS_Buffed_Unit[BS_Index2] has buff BS_Buff[BS_Index2]) Equal to True
            • Then - Actions
              • For each (Integer BS_Index3) from 1 to (BS_Index2 - 1), do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • BS_Buffed_Unit[BS_Index3] Equal to BS_Buffed_Unit[BS_Index2]
                      • BS_Buff[BS_Index3] Equal to BS_Buff[BS_Index2]
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • BS_Stack[BS_Index3] Less than BS_MaxStack[BS_Index3]
                        • Then - Actions
                          • Set BS_Stack[BS_Index3] = (BS_Stack[BS_Index3] + 1)
                        • Else - Actions
                      • Set BS_Buffing_Unit[BS_Index3] = BS_Buffing_Unit[BS_Index2]
                      • Set BS_Buffed_Unit[BS_Index3] = BS_Buffed_Unit[BS_Index2]
                      • Set BS_Buff_Ability[BS_Index3] = BS_Buff_Ability[BS_Index2]
                      • Set BS_Bonus_Ability[BS_Index3] = BS_Bonus_Ability[BS_Index2]
                      • Set BS_Use_Bonus[BS_Index3] = BS_Use_Bonus[BS_Index2]
                      • Set BS_Buff[BS_Index3] = BS_Buff[BS_Index2]
                      • Set BS_Buff_Duration[BS_Index3] = BS_Buff_Duration[BS_Index2]
                      • Set BS_Buff_Category[BS_Index3] = BS_Buff_Category[BS_Index2]
                      • Set BS_MaxStack[BS_Index3] = BS_MaxStack[BS_Index2]
                      • Set BS_Buff_Type[BS_Index3] = BS_Buff_Type[BS_Index2]
                      • Set BS_Permanent[BS_Index3] = BS_Permanent[BS_Index2]
                      • Set BS_MagicImmune[BS_Index3] = BS_MagicImmune[BS_Index2]
                      • Set BS_Index2 = (BS_Index2 - 1)
                      • Set BS_Event_Index = BS_Index3
                      • Set BS_Buffed_Event = 3.00
                      • Set BS_Buffed_Event = 0.00
                      • Set BS_Buff_Duration[BS_Index3] = BS_Buff_Duration[BS_Event_Index]
                    • Else - Actions
            • Else - Actions
              • Set BS_Event_Index = BS_Index2
              • Set BS_Buffed_Event = 1.00
              • Set BS_Buffed_Event = 0.00
              • Set BS_Buff_Duration[BS_Index2] = BS_Buff_Duration[BS_Event_Index]
              • For each (Integer BS_IntegerA) from 1 to 14, do (Actions)
                • Loop - Actions
                  • Player - Disable BS_Buff_Ability[BS_Index2] for (Player(BS_IntegerA))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • BS_Buff_Duration[BS_Index2] Greater than 0.00
                • Then - Actions
                  • Unit - Add BS_Buff_Ability[BS_Index2] to BS_Buffed_Unit[BS_Index2]
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • BS_Use_Bonus[BS_Index2] Equal to True
                    • Then - Actions
                      • Player - Disable BS_Bonus_Ability[BS_Index2] for (Owner of BS_Buffed_Unit[BS_Index2])
                      • Unit - Add BS_Bonus_Ability[BS_Index2] to BS_Buffed_Unit[BS_Index2]
                    • Else - Actions
                • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Buff Periodic <gen> is on) Not equal to True
            • Then - Actions
              • Trigger - Turn on Buff Periodic <gen>
            • Else - Actions
        • Else - Actions

  • Buff Periodic
    • Events
      • Time - Every 0.05 seconds of game time
    • Conditions
    • Actions
      • For each (Integer BS_Index1) from 1 to BS_Index2, do (Actions)
        • Loop - Actions
          • Set BS_Recycle = False
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • BS_Buff_Duration[BS_Index1] Greater than or equal to 0.05
              • (BS_Buffed_Unit[BS_Index1] is alive) Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (BS_Buffed_Unit[BS_Index1] is Magic Immune) Equal to True
                  • BS_MagicImmune[BS_Index1] Equal to False
                • Then - Actions
                  • Set BS_Recycle = True
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • BS_Permanent[BS_Index1] Equal to False
                    • Then - Actions
                      • Set BS_Buff_Duration[BS_Index1] = (BS_Buff_Duration[BS_Index1] - 0.05)
                    • Else - Actions
            • Else - Actions
              • Set BS_Recycle = True
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • BS_Recycle Equal to True
            • Then - Actions
              • Set BS_Event_Index = BS_Index1
              • Set BS_Buffed_Event = 2.00
              • Set BS_Buffed_Event = 0.00
              • Unit - Remove BS_Buff_Ability[BS_Index1] from BS_Buffed_Unit[BS_Index1]
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • BS_Use_Bonus[BS_Index1] Equal to True
                • Then - Actions
                  • Unit - Remove BS_Bonus_Ability[BS_Index1] from BS_Buffed_Unit[BS_Index1]
                • Else - Actions
              • Unit - Remove BS_Buff[BS_Index1] buff from BS_Buffed_Unit[BS_Index1]
              • Set BS_Buffing_Unit[BS_Index1] = BS_Buffing_Unit[BS_Index2]
              • Set BS_Buffed_Unit[BS_Index1] = BS_Buffed_Unit[BS_Index2]
              • Set BS_Buff_Ability[BS_Index1] = BS_Buff_Ability[BS_Index2]
              • Set BS_Bonus_Ability[BS_Index1] = BS_Bonus_Ability[BS_Index2]
              • Set BS_Use_Bonus[BS_Index1] = BS_Use_Bonus[BS_Index2]
              • Set BS_Buff[BS_Index1] = BS_Buff[BS_Index2]
              • Set BS_Buff_Duration[BS_Index1] = BS_Buff_Duration[BS_Index2]
              • Set BS_Buff_Category[BS_Index1] = BS_Buff_Category[BS_Index2]
              • Set BS_Stack[BS_Index1] = BS_Stack[BS_Index2]
              • Set BS_MaxStack[BS_Index1] = BS_MaxStack[BS_Index2]
              • Set BS_Buff_Type[BS_Index1] = BS_Buff_Type[BS_Index2]
              • Set BS_Permanent[BS_Index1] = BS_Permanent[BS_Index2]
              • Set BS_MagicImmune[BS_Index1] = BS_MagicImmune[BS_Index2]
              • Set BS_Index2 = (BS_Index2 - 1)
              • Set BS_Index1 = (BS_Index1 - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • BS_Index2 Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
            • Else - Actions



You will find the documentation inside the map.

Changelog

Buff System 1.8
-Stun System plugin added
-Event system improved
-Now Buff System can be used as an indexer
-Debuff system efficiency improved slightly
-Faerie Fire reworked
-Dispell no longer dispells disarm effects
-Buff System now disables spell books for all players (not just for buffed unit owner)
-Some leaks fixed
-Documentation added
-Stuns on heroes now last 50% less

Buff System 1.7
-New spell added (Storm Bolt)
-New spell added (Disarm)
-Buffs now have category
-Normal buffs can now be integrated with the system
-Category Restrictions added
-Deadly buffs concept removed
-Preloading added
-Slow Circle duration increased to 6 seconds
-Bloodlust not working on magic immune units fixed
-Enchanted Shields leak fixed
-Colored hotkey is tooltips
-Enchanted Shields tooltip fixed
-Some tooltip fix
-Basic loading screen changed

Buff System 1.6
-New spell added (Avatar)
-Event added to check when a unit gets buffed
-Event added to check when a unit gets debuffed
-Event added to check when a unit gets rebuffed
-Dispell engine now have an option to remove deadly buffs too
-Dispell engine efficiency improved
-Spell Steal engine efficiency improved
-Bladestorm removed
-Archimode's Bloodlust transfered to Blademaster
-Magic immune bug fixed

Buff System 1.5
-Blademaster added (new hero)
-Bladestorm added (new spell)
-Soul Vitality (new spell)
-Incinerate (new spell)
-New option added buff type
-New option for permanent buffs added
-New option for buff stacking
-New option to make buffs work on magic immune units
-A slow circle added to test the magic immunity
-Buff owner will be registered in index
-On rebuffing all settings will be applied not only duration
-Efficiency on dispelling and spellstealing improved
-Buffs Initialization is no longer needed, removed
-Buff Check interval changed from 0.03 to 0.05
-Buffs cannot be applied on immune units
-Enchanted Shields armor effect decreased from 10 to 5
-Faerie Fire becomes deadly only at level 3
-Faerie Fire efficiency improved
-Renew no longer increase movement speed
-Bloodlust can be casted on magic immune units
-Recycling deadly buffs bug fixed
-Fixed minor bugs
-Some variable names changed
-Some grammar corrections

Buff System 1.4
-Efficiency increased
-Renew added (new spell)
-Deadly buffs option added
-Faerie Fire tooltip fixed
-Faerie Fire is now a deadly buff
-Visual effect for Dispell
-Visual effect for Spellsteal
-Bloodlust can now be casted on enemies to test Spell Steal
-Shadow Strike can now be casted on allys to test Dispell
-Faerie Fire can now be casted on allys to test a deadly buff
-Dispell can be now targeted to self
-Alchemist range increased from 200 to 300
-Map redesigned

Buff System 1.3
-Faerie Fire added to Buffs Initialization

Buff System 1.2
-Small indexing bug fixed

Buff System v1.1
-New spell added (Faerie Fire)
-Support to multi level abilites
-Debuff engine added
-Efficiency Improved

Buff System v1.0
-Dispell added (new spell)
-Spell Steal added (new spell)
-Bug Fixed


Note:
*This system is MUI ( multi unit instanceable)

Checkout my facebook page for more : OfficialNoobsmoke

Keywords:
Buff System Noobsmoke king_drift_alex noob_smoke
Contents

Buff System v1.8 (Map)

Reviews
Moderator
Approved. Still, don't use an array index as the loop integer. Also generally in WC3, the buff icon starts to blink when the buff is about to end. That would require dummy casters though, and is not possbile with this system.
  1. mckill2009

    mckill2009

    Joined:
    Mar 10, 2009
    Messages:
    4,696
    Resources:
    34
    Maps:
    5
    Spells:
    27
    JASS:
    2
    Resources:
    34
    Im not really a fan of array inside an array, so better to use single variable for indexing...it's only my opinion so no harm done...
     
  2. baassee

    baassee

    Joined:
    Nov 14, 2008
    Messages:
    3,220
    Resources:
    17
    Spells:
    14
    Tutorials:
    3
    Resources:
    17
    Why use spellbook at all? Just add the ability, make it permanent then it will stay there even when the unit uses chaos ability or transforms. Make it non-permanent and remove the ability when you remove it.
     
  3. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,674
    Resources:
    23
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Tutorials:
    1
    JASS:
    2
    Resources:
    23
    That's why I suggested using Slow Aura since its already invisible on the UI, he doesn't need the spellbook anymore...

    and he can also always check the unit type, so that if it changes, he readds the ability...
     
  4. Noobsmoke

    Noobsmoke

    Joined:
    Nov 20, 2007
    Messages:
    631
    Resources:
    1
    Spells:
    1
    Resources:
    1
    Version 1.4 released, thanks to Maker for efficiency improvement
     
  5. Noobsmoke

    Noobsmoke

    Joined:
    Nov 20, 2007
    Messages:
    631
    Resources:
    1
    Spells:
    1
    Resources:
    1
    New version incoming, any requests ?
     
  6. Noobsmoke

    Noobsmoke

    Joined:
    Nov 20, 2007
    Messages:
    631
    Resources:
    1
    Spells:
    1
    Resources:
    1
    Buff System 1.5 released !
     
  7. Noobsmoke

    Noobsmoke

    Joined:
    Nov 20, 2007
    Messages:
    631
    Resources:
    1
    Spells:
    1
    Resources:
    1
    Buff System 1.7 released !
    Offtopic : Buff System has 666 downloads HAHA
    Screen
    [​IMG]
     

    Attached Files:

    Last edited: Jul 11, 2012
  8. defskull

    defskull

    Joined:
    Mar 27, 2008
    Messages:
    7,978
    Resources:
    17
    Spells:
    17
    Resources:
    17
    offtopic
    It is not 666 views, it's 666 download count.
    Yay for my system to be included in your screenshot haha.


    System: 5/5
     
  9. Windu

    Windu

    Joined:
    Nov 26, 2005
    Messages:
    706
    Resources:
    0
    Resources:
    0
    How exatctly do u implement it in a map? What do u have to copy :?
     
  10. Noobsmoke

    Noobsmoke

    Joined:
    Nov 20, 2007
    Messages:
    631
    Resources:
    1
    Spells:
    1
    Resources:
    1
    I will add more instructions on next version.
     
  11. Bladesmaster123

    Bladesmaster123

    Joined:
    Dec 26, 2016
    Messages:
    2
    Resources:
    0
    Resources:
    0
    i think that can be fixed by making the spell permanent through trigger
     
  12. blanabasjim

    blanabasjim

    Joined:
    Feb 13, 2019
    Messages:
    95
    Resources:
    0
    Resources:
    0
    You're doing god's work.
     
  13. blanabasjim

    blanabasjim

    Joined:
    Feb 13, 2019
    Messages:
    95
    Resources:
    0
    Resources:
    0
    Quick question though, I've heard you don't want to make an object editor modified copy of a base Warcraft 3 Spell(Like let's say Firebolt) because if you have multiple spells with the same BaseID's you'd find that it will not work properly, you could get "mixed effects" So say one Firebolt is weaker and stuns for 2 seconds and does 50 dmg, but one stuns for 7 seconds and does 150 dmg, your weaker example might fire the 150dmg or longer stun, things like that. (So you make custom spells out of channel?)

    If I make multiple buffs or just even just one buff, (the example says use Bloodlust) will the amounts of the effects from my buffs, debuffs, damage, etc. act as intended? Or will the ID's start conflicting with one another?
     
  14. Pyrogasm

    Pyrogasm

    Joined:
    Feb 27, 2007
    Messages:
    2,789
    Resources:
    1
    Spells:
    1
    Resources:
    1
    This is not at all true, there is no mixing up that can ever happen. The issue you’re thinking of is that if a unit has 2+ (non-passive) spells with the same base order, the unit will attempt to cast ALL of the shared id spells when any of them are cast. This is not permitted by the game engine so you get some unintended behavior of the spells not fully casting.

    Buffs have nothing to do with this behavior. Make as many buffs as you want with this system.
     
  15. blanabasjim

    blanabasjim

    Joined:
    Feb 13, 2019
    Messages:
    95
    Resources:
    0
    Resources:
    0

    Ahhhh, thanks once again my good man. :cool:2