System Bonus (unit state modification)

Discussion in 'Systems and Snippets' started by Cohadar, Nov 25, 2008.

  1. Cohadar

    Cohadar master of fugue

    Ratings:
    +209 / 0 / -0
    The answer to both questions is yes.

    Life regen is a BinaryBonus.
    ManaRegen is a LinearBonus.
     
  2. LilBlueSmurf

    LilBlueSmurf New Member

    Ratings:
    +0 / 0 / -0
    Okay cool. More questions:

    How does this help if a bonus is of the linear type? If I needed to have say 50 different levels of a linear bonus ranging from 1 to 50 wouldn't this require just as much as a single 50 level ability?

    What do I use for life and mana regen? Would the life regen from a heal aura be correct, and perhaps mana regen from brilliance aura? And would either of these require spellbooks to hide?
     
  3. Cohadar

    Cohadar master of fugue

    Ratings:
    +209 / 0 / -0
    Those are all the things you can test yourself.
     
  4. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    Maybe try the health/mana stone items. They have a unit-only regen effect, I believe...
     
  5. Hatebreeder

    Hatebreeder So many apples

    Ratings:
    +383 / 0 / -0
    Does this work with the latest patch?
     
  6. Renendaru

    Renendaru (Evol)ution is nothing without love.

    Ratings:
    +309 / 0 / -0
    Yes.
     
  7. Narks

    Narks Vastly intelligent whale-like being from the stars

    Ratings:
    +92 / 0 / -0
    Will this system ever support negative values?
     
  8. Rllulium

    Rllulium New Member

    Ratings:
    +10 / 0 / -0
    Would it be possible to implement Magic Resistance% into this system?
     
  9. SerraAvenger

    SerraAvenger Cuz I can

    Ratings:
    +236 / 0 / -0
    Should be possible.

    Just reuse one of the plugins with the data of the spell you want.

    EDIT:
    you'ld also have to add an IBonus for Magic resistance in here. Should then work perfectly fine.

    JASS:
    //===========================================================================
    //  Bonus struct global variables
    //===========================================================================
    globals
        public IBonus Life
        public IBonus Mana
        public IBonus Armor
        public IBonus Damage
        public IBonus Str
        public IBonus Agi
        public IBonus Int
        public IBonus AttackSpeed
        public IBonus MoveSpeed    
        public IBonus Evasion
        public IBonus Critical
    endglobals
    
    //===========================================================================
    //  Init bonus structs
    //===========================================================================
    private function Init takes nothing returns nothing
        set Life   = BinaryBonus.create('A8L0', 8, 100)
        set Mana   = BinaryBonus.create('A8M0', 8, 100)
        
        set Armor  = BinaryBonus.create('A8D0', 8, 1)
        set Damage = BinaryBonus.create('A8T0', 8, 5)
        
        set Str    = BinaryBonus.create('A8S0', 8, 1)
        set Agi    = BinaryBonus.create('A8A0', 8, 1)
        set Int    = BinaryBonus.create('A8I0', 8, 1)
        
        set AttackSpeed = BinaryBonus.create('A8H0', 7, 5)
        set MoveSpeed   = LinearBonus.create('A8P1', 10, 5, false)    
        
        set Evasion  = LinearBonus.create('A8E1', 8, 5, true)
        set Critical = LinearBonus.create('A8C1', 8, 5, true)
    endfunction
    
    endlibrary


    PS: With cohadar gone, you'll have to do it yourself unless you find someone who does it for you.
     
  10. NetherHawk

    NetherHawk New Member

    Ratings:
    +26 / 0 / -0
    Hi, in the map attack speed plugin is 0.05, 0.1, 0.2, 0.4 so on and so forth, does this mean that the delta value is 0.05 ? And if this is so, does this mean i can give a bonus of 0.3?
     
  11. SerraAvenger

    SerraAvenger Cuz I can

    Ratings:
    +236 / 0 / -0
    any multiple of delta. Must be smaller than (2⁸-1)*delta though (not sure on the actual exponent, but you get the idea)
     
  12. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    I don't really see why this uses the IBonus interface. I don't see people passing bonuses as parameters, which is the only purpose that seems to serve. I'm not thrilled how much this system goes through to add 1 to a unit's damage - I'd like to add a unit's mana to its damage as a bonus, but using this would mean periodically firing n complexity functions through trigger evaluates. Is this likely to be optimised further?
     
  13. Wratox1

    Wratox1 Member

    Ratings:
    +22 / 0 / -0
    is it possible to add 1 damage?
     
  14. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    You have to modify the system to be able to.
    I ended up writing my own system, instead..
     
  15. RaiJin

    RaiJin New Member

    Ratings:
    +40 / 0 / -0
    this system is really inferior to Status by Jesus ;3 jesus really did a great job
     
  16. Viikuna

    Viikuna No Marlo no game.

    Ratings:
    +265 / 0 / -0
    Im still looking forward for bonus system which reads initial stats values from object editor with gsl or some other way, and then writes them to units bonus structs automaticly.

    Something I havent really seen in public yet.

    Would be cool ( hint, hint... )
     
  17. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    Of course, the point of bonuses being that they have nothing to do with initial values... :p

    It would be helpful for things like unit vertex colouring, though.
     
  18. Viikuna

    Viikuna No Marlo no game.

    Ratings:
    +265 / 0 / -0
    And base armor, and base min and max damage, and base movespeed and base magic resistance and base other thingies.


    Thats why UnitProperties is the best system right now. Its like some cool OOP unit object, which allows you to read and modify all values of unit. ( And then again, there aint any version of UnitProperties which does that initial values stuff published yet. )

    edit So my point was: there should be no different systems for object editor values and bonus scripts, just one unit object: UnitProperties.
     
  19. SerraAvenger

    SerraAvenger Cuz I can

    Ratings:
    +236 / 0 / -0
    n?
    Did I miss something? Las time I checked it was log n...
     

Share This Page