Interest trigger

CBBPhoenix

New Member
Reaction score
1
Hi Everyone

I am currently working on a map which features different heroes. No problems so far. The thing is that one of the heroes has an ability which should give interest based on the owner of that unit's current gold per interval. I would like for the ability to give 1/7 X players gold at lvl1, 1/6 at lvl2 etc. I have tried this trigger which I had suggested, but nothing happens.
Trigger:
  • Time - Every 7.00 seconds of game time
    • Set Tempgroup = (Units in (Playable map area) matching ((Level of Interest for (Matching unit)) Greater than 0))
    • Unit Group - Pick every unit in Tempgroup and do (Actions)
      • Loop - Actions
        • Player - Add (((Owner of (Picked unit)) Current gold) x (1 / (8 - (Level of Interest for (Picked unit))))) to (Owner of (Picked unit)) Current gold
    • Player - Add (((Owner of (Picked unit)) Current gold) x (1 / (8 - (Level of Interest for (Picked unit))))) to (Owner of (Picked unit)) Current gold
    • Custom script: call DestroyGroup(udg_Tempgroup)




When I change the function to a constant, for instance 1, the player's gold amount is doubled successfully. How can I solve this problem?
Thanks in advance :)
 

Summoned

New Member
Reaction score
51
The reason is that you can only add Integer amounts to gold (and the fact that (1 / (8 - (Level of Interest for (Picked unit)))) is always an integer anyway). 1/7 as an Integer comes out to 0. :(

I suggest using a Real variable and keep adding to it during the trigger, then at the end convert that variable into an Integer and add the gold that way.
 

CBBPhoenix

New Member
Reaction score
1
hmm

So what I should do is using a conversion? The function requests an integer so that must be it... But sounds like something that might work. Checking :p
 

Summoned

New Member
Reaction score
51
Yes, you basically convert everything to reals (including the current gold value) before the calculation, then convert them back to integer after the calculation.

It should look something like: Integer((Real((Owner of (Picked unit)) Current gold) x (1.00 / (8.00 - Real(Level of Interest for (Picked unit))))))
 

HydraRancher

Truth begins in lies
Reaction score
197
You could make the numbers bigger? So multiply bounty, every cost to X10

Ofcourse this probably isnt Full-Proof
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top