Question regarding GetHandleId and unit death

Embrace_It

New Member
Reaction score
9
Suppose you have a unit/hero with a specific handle id (through GetHandleId(...)) and this integer is used, in whatever system, you have for struct attachment.

What if the unit dies? Is it assigned a new id? A new id that hashes to the same location? Or maybe it simply keeps the old id until it is removed from the game?

For systems that need to persist even if the unit/hero dies and is thereafter revived, for example an inventory system, I imagine this could be a problem.
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
For systems that need to persist even if the unit/hero dies and is thereafter revived, for example an inventory system, I imagine this could be a problem.
No, you can put condition if death unit is a hero, system will not flushes it.
 

Embrace_It

New Member
Reaction score
9
Another reason to use AIDS.

So they are changed upon unit death by default? And AIDS takes that into account?

No, you can put condition if death unit is a hero, system will not flushes it.

If the above statement is true, I don't see how you can retain the id. You can make your own system not flush the data, but not the internal id assignment as far as I can see.
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
So they are changed upon unit death by default?
No, assigned id will not changes until the unit is removed from game. The id is recycled and it will assign to next unassigned unit.
 

Embrace_It

New Member
Reaction score
9
Ok. Then I can rework one of my systems without having to worry about unit death then. Thx +rep

I have been wanting to try AIDS for a while now, and so I will when I find a spell that is suited :)
 

Jesus4Lyf

Good Idea™
Reaction score
397
AIDS gives the unit an id (or "index") for its entire existence by default, from when it enters play to when it finishes decaying or is removed from the game or whatever.

It also creates AIDS structs for that unit as appropriate with pleasant syntax and insane efficiency - and will call the AIDS_onCreate and AIDS_onDestroy methods as per the documentation so you can handle the ID being recycled however you want. You can also postpone its recycling in the case you are attaching to timers or something and don't want it to fire on the wrong unit when it expires (if it has been recycled by then somehow). That's the locking features.

Lots of yummy features. :D
 

Embrace_It

New Member
Reaction score
9
I do have an old spell somewhere that I will try this on ;) :

It's called Mana Corrupt and damages the target everytime they cast a spell. Lasts x seconds. This is not doable without some kind of unit attachment system since, when the enemy target casts a spell, you have no idea what the source (caster) is. This means you cannot damage the target accordingly, so that the source gets the bounty. It is a small detail but an important one nevertheless.

Thanks Jesus4Lyf
 
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