• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[vJASS] Quick Question, +2 rep to solving user.

Status
Not open for further replies.

Sverkerman

Hosted Project: BoW
Level 17
Joined
Feb 28, 2010
Messages
1,325
Sometimes this code affects floating texts which it is not suppose to affect. Why is that?

JASS:
struct FDTPreparation extends FDT
    
    private static method StartPrep takes nothing returns nothing
        call .setup(thistype.create())
    endmethod
    
    private static method setup takes thistype this returns nothing
        call .start(udg_DamageEventAmount,udg_DamageEventSource,udg_DamageEventTarget)
        set udg_FDT_PreparationEvent = 0.00
    endmethod
    
    stub method onStart takes nothing returns nothing
        local integer x = 0
        loop
            exitwhen GetOwningPlayer(.attackUnit) == Player(x)
            set x = x + 1
        endloop
        if x == 0 then
            set .textRed = 255
            set .textGreen = 0
            set .textBlue = 0
        elseif x==1 then
            set .textRed = 0
            set .textGreen = 0
            set .textBlue = 255
        elseif x==2 then
            set .textRed = 75
            set .textGreen = 255
            set .textBlue = 170
        elseif x==3 then
            set .textRed = 60
            set .textGreen = 0
            set .textBlue = 120
        elseif x==4 then
            set .textRed = 255
            set .textGreen = 255
            set .textBlue = 0
        elseif x==5 then
            set .textRed = 255
            set .textGreen = 130
            set .textBlue = 0
        elseif x==6 then
            set .textRed = 0
            set .textGreen = 255
            set .textBlue = 0
        elseif x==7 then
            set .textRed = 255
            set .textGreen = 95
            set .textBlue = 180
        elseif x==8 then
            set .textRed = 120
            set .textGreen = 120
            set .textBlue = 120
        elseif x==9 then
            set .textRed = 0
            set .textGreen = 180
            set .textBlue = 230
        elseif x==10 then
            set .textRed = 0
            set .textGreen = 75
            set .textBlue = 45
        elseif x==11 then
            set .textRed = 100
            set .textGreen = 50
            set .textBlue = 0
        endif            
    endmethod
    
    private static method onInit takes nothing returns nothing
        local trigger t = CreateTrigger()
        call TriggerAddAction(t, function thistype.StartPrep)
        call TriggerRegisterVariableEvent(t,"udg_FDT_PreparationEvent",EQUAL,1.00)
    endmethod
    
endstruct
JASS:
library FDTSystem

globals
    real                        FDT_EDIT_PERIOD                         = 0.03125
    
    real                        FDT_TEXT_LIFESPAN                       = 1.0
    real                        FDT_TEXT_FADEPOINT                      = 0.2
    
    integer                     FDT_TEXT_COLOR_RED                      = 255
    integer                     FDT_TEXT_COLOR_GREEN                    = 255
    integer                     FDT_TEXT_COLOR_BLUE                     = 255
    integer                     FDT_TEXT_COLOR_ALPHA                    = 255
    
    real                        FDT_TEXT_HEIGHT                         = 1.
    
    real                        FDT_TEXT_FONT                           = 0.075
    real                        FDT_TEXT_FONT_CHANGE                    = -0.0004
    
    integer                     FDT_TEXT_X_VELOCITY_MAX                 = 85
    integer                     FDT_TEXT_X_VELOCITY_MIN                 = 45
    real                        FDT_TEXT_Y_VELOCITY                     = 0.1
    real                        FDT_TEXT_Y_VELOCITY_CHANGE              = -0.002
endglobals



module Events

    stub method onStart takes nothing returns nothing
    endmethod

endmodule




struct FDT
implement Events
//-----------------------------------------------------------------------------------------------------------------
  //------------------------------------------------------//
 //   Values used by the system . SHOULDN'T BE CHANGED   //
//------------------------------------------------------//
    public              integer             textRed                     = FDT_TEXT_COLOR_RED
    public              integer             textGreen                   = FDT_TEXT_COLOR_GREEN
    public              integer             textBlue                    = FDT_TEXT_COLOR_BLUE
    public              integer             textAlpha                   = FDT_TEXT_COLOR_ALPHA
    public              real                textHeight                  = FDT_TEXT_HEIGHT
    public              real                textFont                    = FDT_TEXT_FONT
    public              real                textFontChange              = FDT_TEXT_FONT_CHANGE
    public              real                textLifespan                = FDT_TEXT_LIFESPAN
    public              real                textFadepoint               = FDT_TEXT_FADEPOINT
    public              integer             xVelocityMax                = FDT_TEXT_X_VELOCITY_MAX
    public              integer             xVelocityMin                = FDT_TEXT_X_VELOCITY_MIN
    public              real                yVelocity                   = FDT_TEXT_Y_VELOCITY
    public              real                yVelocityChange             = FDT_TEXT_Y_VELOCITY_CHANGE
    readonly            unit                attackUnit                  = null
    readonly            unit                targetUnit                  = null
    private             real                xVelocity                   = 0.
    private             texttag             textTag                     = null
    private             string              textString                  = null
    private             real                textTimeleft                = 0.
    private             integer             tick                        = 0
    private             real                bang                        = 0.
    private static      timer               t                           = null      //period timer
    private static      integer             count                       = 0         //instance counter
    private             boolean             active                      = false     //turns true when texttag created begins
    private static      thistype            curText                     = 0         //equals to the current running instance
    private             boolean             isTextReg                   = false     //turns true when instance registered to the struct list
    private             thistype            next
    private             thistype            prev
    private static      thistype            first                       
    private static      thistype            last                        
    private static      thistype            thiss

    
    
    static method EditTextTag takes nothing returns nothing
        local thistype this = thistype.curText
        if .textTimeleft > 0.00 then
            if .tick == 5 then
                set .textFontChange = .textFontChange / 25
            endif
            set .yVelocity = .yVelocity + .yVelocityChange
            set .textFont = .textFont + .textFontChange
            call SetTextTagVelocity(.textTag,.xVelocity,.yVelocity)
            call SetTextTagText(.textTag,.textString,.textFont)
            set .textTimeleft = .textTimeleft - (.textLifespan * FDT_EDIT_PERIOD)
            set .tick = .tick + 1
        else
            set .active = FALSE
        endif
    endmethod
    
    
    
    static method TextList takes nothing returns nothing
            local thistype trash
            set thistype.thiss = thistype.first.next
            loop
                exitwhen thistype.thiss == thistype.last
                if thistype.thiss.active and thistype.thiss != 0 then
                    set thistype.curText = thistype.thiss
                    call thistype.thiss.EditTextTag()
                else
                    if thistype.thiss != 0 then
                        set thistype.thiss.next.prev = thistype.thiss.prev
                        set thistype.thiss.prev.next = thistype.thiss.next
                        set trash = thistype.thiss
                        set thistype.thiss = thistype.thiss.prev
                        call trash.destroy()
                    endif
                    set thistype.count = thistype.count -1
                endif
                set thistype.thiss = thistype.thiss.next
            endloop
            
            if thistype.count <= 0 then
                set thistype.count = 0
                call PauseTimer(thistype.t)
            endif
    endmethod
    
    //-------------------REGISTERING-----LINKING IN THE LIST--------------------
    public method start takes real Damage, unit AUnit, unit TUnit returns nothing
        local   thistype    lth     = thistype.last
        set .attackUnit = AUnit
        set .targetUnit = TUnit
        call .onStart()
        set .textFontChange = .textFontChange * 25
        set .textTimeleft = .textLifespan * 2.0
        set .textString   =   I2S(R2I(Damage))
        set .bang = .textFont * 0.4
        if GetRandomInt(0,1) == 1 then
            set .xVelocity = I2R(GetRandomInt(.xVelocityMin,.xVelocityMax))/1000.0 * (-1)
        else
            set .xVelocity = I2R(GetRandomInt(.xVelocityMin,.xVelocityMax))/1000.0
        endif
        if GetLocalPlayer() == GetOwningPlayer(AUnit) or IsPlayerAlly(GetLocalPlayer(),GetOwningPlayer(AUnit)) then
        set .textTag = CreateTextTag()
            call SetTextTagColor(.textTag,.textRed,.textGreen,.textBlue,.textAlpha)
            call SetTextTagPermanent(.textTag,false)
            call SetTextTagLifespan(.textTag,.textLifespan)
            call SetTextTagFadepoint(.textTag,.textFadepoint)
            call SetTextTagVelocity(.textTag,.xVelocity,.yVelocity)
            call SetTextTagPosUnit(.textTag,TUnit,/*.textHeight*/0.)
            call SetTextTagText(.textTag,.textString,.textFont)
        endif
        if not .isTextReg then
            set .active = true
            set .isTextReg = true
            //this goes here and there and that goes there and here...
            set .prev = lth.prev
            set .next = lth
            set .prev.next = this
            set lth.prev = this
            set thistype.count = thistype.count + 1
            if thistype.count == 1 then
                call TimerStart(thistype.t, FDT_EDIT_PERIOD, true, function thistype.TextList)
            endif
        endif  
    endmethod

//----------------------------------------------------------------------------------------------------------
//-------------INITIALIZATIONS------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------        
    private static method onInit takes nothing returns nothing
        set thistype.t          = CreateTimer()
        set thistype.first      = .create()
        set thistype.last       = .create()
        set thistype.first.next = thistype.last
        set thistype.last.prev  = thistype.first
    endmethod
endstruct
endlibrary
 
Level 12
Joined
Oct 16, 2010
Messages
680
thx for this notice:D

I edited the system i made for you
I added last time the event call in bribes system (Silly me :/ )

So i Removed and like in this test map you should call it in
Set Damage triggers

That way you can determine which texts get handled by the system

if you don't want the system to handle a text remowe the
Set FDT_PreparationEvent = 1.00 from that part of your trigger

View attachment FloatingDamageText System.w3x

oh and reimport the DamageEngine as I removed the needless part (that i added before) from it
and reimport the system too , cuz I made the texttags appear on the unit exactly (it was a lil bit to the right and didn't like it:D )
 

Sverkerman

Hosted Project: BoW
Level 17
Joined
Feb 28, 2010
Messages
1,325
I don't understand. Your english is pretty bad ;/
First of all, what do I need to do?
Second of all, how do I make the system ignore a floating text?

Please do explain with the best english you can and I'll do my best to comprihend with the information ;P
 
Level 12
Joined
Oct 16, 2010
Messages
680
1. reimport all the triggers.
2. if you want a damage shown and edited by my system
insert this right after you set the damage with Set DamageEventAmount = 'edited damage'
  • Set FDT_PreparationEvent = 1.00
and from now the system won't interfere with your other floating texts
 

Sverkerman

Hosted Project: BoW
Level 17
Joined
Feb 28, 2010
Messages
1,325
1eq2d2.png


I did exactly what you said, still your system modifies the floating texts generated by my income system.


Look at this picture. The red rings marks where your system converted the floating texts generated by my income system.


Got any clues as to why this is happening?
 

Sverkerman

Hosted Project: BoW
Level 17
Joined
Feb 28, 2010
Messages
1,325

  • For each (Integer A) from 1 to 1, do (Actions)
    • Loop - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit_IncomeStructure[(Integer A)] is alive) Equal to True
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Unit-type of Unit_IncomeStructure[(Integer A)]) Equal to Bank 1
            • Then - Actions
              • Set temp_real2[(Integer A)] = 1.00
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Load (Player number of (Player((Integer A)))) of 22 from Hashtable_TalentsSpent) Equal to 1
            • Then - Actions
              • Set temp_real2[(Integer A)] = (temp_real2[(Integer A)] x 1.05)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Load (Player number of (Player((Integer A)))) of 22 from Hashtable_TalentsSpent) Equal to 2
                • Then - Actions
                  • Set temp_real2[(Integer A)] = (temp_real2[(Integer A)] x 1.10)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Load (Player number of (Player((Integer A)))) of 22 from Hashtable_TalentsSpent) Equal to 3
                    • Then - Actions
                      • Set temp_real2[(Integer A)] = (temp_real2[(Integer A)] x 1.17)
                    • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Load (Player number of (Player((Integer A)))) of 26 from Hashtable_TalentsSpent) Equal to 1
            • Then - Actions
              • Set temp_real2[(Integer A)] = (temp_real2[(Integer A)] x 1.05)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Load (Player number of (Player((Integer A)))) of 26 from Hashtable_TalentsSpent) Equal to 2
                • Then - Actions
                  • Set temp_real2[(Integer A)] = (temp_real2[(Integer A)] x 1.12)
                • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Unit_IncomeStructure[(Integer A)] has buff Linked ) Equal to True
            • Then - Actions
              • Set temp_real2[(Integer A)] = (temp_real2[(Integer A)] x 1.10)
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Boolean_DTotemIsActive[(Integer A)] Equal to True
            • Then - Actions
              • Set temp_real2[(Integer A)] = (temp_real2[(Integer A)] x 1.10)
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Unit_IncomeStructure[(Integer A)] has buff Acquirement ) Equal to True
            • Then - Actions
              • Set temp_real2[(Integer A)] = (temp_real2[(Integer A)] x 1.50)
            • Else - Actions
          • -------- MAKE TOTEM SPELL --------
          • Player - Set (Player((Integer A))) Current gold to (((Player((Integer A))) Current gold) + (Integer(temp_real2[(Integer A)])))
          • Set temp_point = (Position of Unit_IncomeStructure[(Integer A)])
          • Floating Text - Create floating text that reads (|cffffcc00+ + (String((Integer(temp_real2[(Integer A)]))))) at temp_point with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
          • Custom script: call RemoveLocation(udg_temp_point)
          • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
          • Floating Text - Change (Last created floating text): Disable permanence
          • Floating Text - Change the fading age of (Last created floating text) to 1.10 seconds
          • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
        • Else - Actions



  • Actions
    • -------- Bulwark --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventTarget)) of 2 from Hashtable_TalentsSpent) Equal to 3
        • (Unit-type of DamageEventSource) Equal to Guard Tower
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 0.90)
      • Else - Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Load (Player number of (Owner of DamageEventTarget)) of 2 from Hashtable_TalentsSpent) Equal to 2
            • (Unit-type of DamageEventSource) Equal to Guard Tower
          • Then - Actions
            • Set DamageEventAmount = (DamageEventAmount x 0.94)
          • Else - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (Load (Player number of (Owner of DamageEventTarget)) of 2 from Hashtable_TalentsSpent) Equal to 1
                • (Unit-type of DamageEventSource) Equal to Guard Tower
              • Then - Actions
                • Set DamageEventAmount = (DamageEventAmount x 0.97)
              • Else - Actions
    • -------- Reflect --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventTarget)) of 6 from Hashtable_TalentsSpent) Equal to 1
        • (Unit-type of DamageEventSource) Equal to Guard Tower
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 1.50)
        • Unit - Cause DamageEventTarget to damage DamageEventSource, dealing (DamageEventAmount x 0.20) damage of attack type Normal and damage type Normal
      • Else - Actions
    • -------- Adversity --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventSource)) of 11 from Hashtable_TalentsSpent) Equal to 1
        • (Unit-type of DamageEventSource) Equal to Guard Tower
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 1.05)
      • Else - Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Load (Player number of (Owner of DamageEventSource)) of 11 from Hashtable_TalentsSpent) Equal to 2
            • (Unit-type of DamageEventSource) Equal to Guard Tower
          • Then - Actions
            • Set DamageEventAmount = (DamageEventAmount x 1.10)
          • Else - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (Load (Player number of (Owner of DamageEventSource)) of 11 from Hashtable_TalentsSpent) Equal to 3
                • (Unit-type of DamageEventSource) Equal to Guard Tower
              • Then - Actions
                • Set DamageEventAmount = (DamageEventAmount x 1.17)
              • Else - Actions
    • -------- Power Generator --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventSource)) of 14 from Hashtable_TalentsSpent) Equal to 1
        • (Unit-type of DamageEventSource) Equal to Guard Tower
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 1.05)
      • Else - Actions
    • -------- Overcharge --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventSource)) of 19 from Hashtable_TalentsSpent) Equal to 1
        • (DamageEventSource has buff Acid Bomb) Equal to True
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 1.10)
      • Else - Actions
    • -------- Reversed Pillage --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventTarget)) of 27 from Hashtable_TalentsSpent) Equal to 1
      • Then - Actions
        • Set temp_integer = (Integer((DamageEventAmount x 0.01)))
        • Player - Set (Owner of DamageEventTarget) Current gold to (((Owner of DamageEventTarget) Current gold) + temp_integer)
      • Else - Actions
    • -------- Employment --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventTarget)) of 28 from Hashtable_TalentsSpent) Equal to 1
      • Then - Actions
        • Player - Set (Owner of DamageEventTarget) Current gold to (((Owner of DamageEventTarget) Current gold) + (Integer(DamageEventAmount)))
      • Else - Actions
    • -------- Disease Cloud --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventTarget)) of 38 from Hashtable_TalentsSpent) Equal to 1
        • (DamageEventTarget has buff Acid Bomb) Equal to True
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 0.80)
      • Else - Actions
    • -------- Improve Alacritous Strike --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventSource)) of 40 from Hashtable_TalentsSpent) Equal to 1
        • (DamageEventSource has buff Wind Walk) Equal to True
      • Then - Actions
        • Unit - Cause DamageEventSource to damage DamageEventTarget, dealing ((Max life of DamageEventTarget) x 0.05) damage of attack type Normal and damage type Normal
      • Else - Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Load (Player number of (Owner of DamageEventSource)) of 40 from Hashtable_TalentsSpent) Equal to 2
            • (DamageEventSource has buff Wind Walk) Equal to True
          • Then - Actions
            • Unit - Cause DamageEventSource to damage DamageEventTarget, dealing ((Max life of DamageEventTarget) x 0.10) damage of attack type Normal and damage type Normal
          • Else - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (Load (Player number of (Owner of DamageEventSource)) of 40 from Hashtable_TalentsSpent) Equal to 3
                • (DamageEventSource has buff Wind Walk) Equal to True
              • Then - Actions
                • Unit - Cause DamageEventSource to damage DamageEventTarget, dealing ((Max life of DamageEventTarget) x 0.17) damage of attack type Normal and damage type Normal
              • Else - Actions
    • -------- Improve Consumption --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventSource)) of 49 from Hashtable_TalentsSpent) Equal to 1
        • (DamageEventSource has buff Acid Bomb) Equal to True
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 1.20)
      • Else - Actions
    • -------- Sabotage --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventSource)) of 51 from Hashtable_TalentsSpent) Equal to 1
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 1.05)
      • Else - Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Load (Player number of (Owner of DamageEventSource)) of 51 from Hashtable_TalentsSpent) Equal to 2
          • Then - Actions
            • Set DamageEventAmount = (DamageEventAmount x 1.10)
          • Else - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (Load (Player number of (Owner of DamageEventSource)) of 51 from Hashtable_TalentsSpent) Equal to 3
              • Then - Actions
                • Set DamageEventAmount = (DamageEventAmount x 1.17)
              • Else - Actions
    • -------- Hardened Skin --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventTarget)) of 52 from Hashtable_TalentsSpent) Equal to 1
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 0.95)
      • Else - Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Load (Player number of (Owner of DamageEventTarget)) of 52 from Hashtable_TalentsSpent) Equal to 2
          • Then - Actions
            • Set DamageEventAmount = (DamageEventAmount x 0.90)
          • Else - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (Load (Player number of (Owner of DamageEventTarget)) of 52 from Hashtable_TalentsSpent) Equal to 3
              • Then - Actions
                • Set DamageEventAmount = (DamageEventAmount x 0.83)
              • Else - Actions
    • -------- Improve Sabotage --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventSource)) of 53 from Hashtable_TalentsSpent) Equal to 1
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 1.05)
      • Else - Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Load (Player number of (Owner of DamageEventSource)) of 53 from Hashtable_TalentsSpent) Equal to 2
          • Then - Actions
            • Set DamageEventAmount = (DamageEventAmount x 1.12)
          • Else - Actions
    • -------- Improve Hardened Skin --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventTarget)) of 55 from Hashtable_TalentsSpent) Equal to 1
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 0.92)
      • Else - Actions
    • -------- Molten Skin --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventTarget)) of 56 from Hashtable_TalentsSpent) Equal to 1
        • (DamageEventSource has buff Acid Bomb) Equal to True
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 0.80)
      • Else - Actions
    • -------- Improve Molten Blade --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventSource)) of 58 from Hashtable_TalentsSpent) Equal to 1
        • (DamageEventTarget has buff Acid Bomb) Equal to True
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 1.25)
      • Else - Actions
    • -------- Rage --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventSource)) of 59 from Hashtable_TalentsSpent) Equal to 1
        • (DamageEventSource has buff Acid Bomb) Equal to True
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 1.20)
      • Else - Actions
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Load (Player number of (Owner of DamageEventTarget)) of 59 from Hashtable_TalentsSpent) Equal to 1
        • (DamageEventTarget has buff Acid Bomb) Equal to True
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 1.20)
      • Else - Actions
    • -------- Sickle --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (DamageEventTarget has buff Acid Bomb) Equal to True
      • Then - Actions
        • Set DamageEventAmount = (DamageEventAmount x 1.20)
      • Else - Actions
    • -------- Satyr Attacking Tower --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Unit-type of DamageEventTarget) Equal to Tower 1
      • Then - Actions
        • Set DamageEventAmount = 3.00
      • Else - Actions
    • Set FDT_PreparationEvent = 1.00


Let me know if this information isn't enough, then I'll send you the map.
 
Level 12
Joined
Oct 16, 2010
Messages
680
well it seems that there was a small problem in my system
The problem was that the texttag was deleted (lifespan ended) still the instance was active in the list.

but I don't have any single f*kin idea how that interfered with that income system....

IMO when a texttag is destroyed (lifespan) the pointer still points to its place in memory.
there is a chance that a texttag of income system had been saved there during the instance

but that is just an idea, I don't really know the real reason of this bug:/

I've sent you the map in PM
 
Status
Not open for further replies.
Top