HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Module Help

12-11-2009, 12:18 PM#1
Anachron
Sup!

I made a little module for my inventory system, however, I am not sure if it will work correctly.

I was trying to make a module for the BonusMod library.

Collapse JASS:
//! textmacro CIItemBonus_BonusMacro takes type, shortkey
method operator $shortkey$ takes nothing returns integer
    return .Bonus$type$
endmethod

method operator $shortkey$= takes integer i returns nothing
    set .Bonus$type$ = i
endmethod
//! endtextmacro

module CIItemBonus requires BonusMod
    private integer BonusArmor          = 0
    private integer BonusDamage         = 0
    private integer BonusSightRange     = 0
    private integer BonusLifeRegen      = 0
    private integer BonusStrenght       = 0
    private integer BonusAgility        = 0
    private integer BonusIntelligence   = 0
    private integer BonusAttackSpeed    = 0
    
    //! runtextmacro CIItemBonus_BonusMacro("Armor",        "amr")
    //! runtextmacro CIItemBonus_BonusMacro("Damage",       "dmg")
    //! runtextmacro CIItemBonus_BonusMacro("SightRange",   "sr")
    //! runtextmacro CIItemBonus_BonusMacro("LifeRegen",    "lr")
    //! runtextmacro CIItemBonus_BonusMacro("Strenght",     "str")
    //! runtextmacro CIItemBonus_BonusMacro("Intelligence", "int")
    //! runtextmacro CIItemBonus_BonusMacro("Agility",      "agy")
    //! runtextmacro CIItemBonus_BonusMacro("AttackSpeed",  "as")
    //! runtextmacro CIItemBonus_BonusMacro("ManaRegen",    "mr")
    
    static if LIBRARY_MovementBonus then
    private integer BonusManaRegen      = 0
    //! runtextmacro CIItemBonus_BonusMacro("MoveSpeed")
    endif
    
    public method applyBonus takes unit u returns nothing
        call AddUnitBonus(u, BONUS_ARMOR,           .BonusArmor)
        call AddUnitBonus(u, BONUS_DAMAGE,          .BonusDamage)
        call AddUnitBonus(u, BONUS_SIGHTRANGE,      .BonusSightRange)
        call AddUnitBonus(u, BONUS_LIFEREGEN,       .BonusLifeRegen)
        call AddUnitBonus(u, BONUS_STRENGHT,        .BonusStrenght)
        call AddUnitBonus(u, BONUS_AGILITY,         .BonusAgility)
        call AddUnitBonus(u, BONUS_INTELLIGENCE,    .BonusIntelligence)
        call AddUnitBonus(u, BONUS_ATTACKSPEED,     .BonusAttackSpeed)
        call AddUnitBonus(u, BONUS_MANAREGEN,       .BonusManaRegen)
        
        static if LIBRARY_MovementBonus then
            call AddUnitBonus(u, BONUS_MOVESPEED,   .BonusMoveSpeed)
        endif
    endmethod
    
    public method removeBonus takes unit u returns nothing
        call AddUnitBonus(u, BONUS_ARMOR,           -.BonusArmor)
        call AddUnitBonus(u, BONUS_DAMAGE,          -.BonusDamage)
        call AddUnitBonus(u, BONUS_SIGHTRANGE,      -.BonusSightRange)
        call AddUnitBonus(u, BONUS_LIFEREGEN,       -.BonusLifeRegen)
        call AddUnitBonus(u, BONUS_STRENGHT,        -.BonusStrenght)
        call AddUnitBonus(u, BONUS_AGILITY,         -.BonusAgility)
        call AddUnitBonus(u, BONUS_INTELLIGENCE,    -.BonusIntelligence)
        call AddUnitBonus(u, BONUS_ATTACKSPEED,     -.BonusAttackSpeed)
        call AddUnitBonus(u, BONUS_MANAREGEN,       -.BonusManaRegen)
        
        static if LIBRARY_MovementBonus then
            call AddUnitBonus(u, BONUS_MOVESPEED,   -.BonusMoveSpeed)
        endif
    endmethod
endmodule
12-11-2009, 12:25 PM#2
Anitarf
Did you test it?
12-11-2009, 12:27 PM#3
Anachron
I can't, can you say me if I made anything obviously wrong?