how to check gold cost

afisakov

You can change this now in User CP.
Reaction score
37
How do I check the gold cost of a unit in a trigger?
I am already using point value for something else so I can't emulate it that way.
Is there a way to directly check the "gold cost" for triggering unit, or do I need to devise a workaround?

Thanks in advance for the help.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
As far as I know there is no way to get the gold cost of a unit type. You have to hack your own solution.
 

afisakov

You can change this now in User CP.
Reaction score
37
In that case, do you know how to reference the prior structure from "a unit owned by play x finishes an upgrade"?

This is for a TD map where towers repeatedly upgrade to higher forms. point value is currently set to total value at that form, so if I could subtract point value of upgraded structure from point value of prev form... but unable to find reference for prev form.
 

The Helper

Necromancy Power over 9000
Staff member
Reaction score
1,688
Make a copy when or the unit when start upgrade and ref that when it is finished - will that work?
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
612
Maybe Custom Values, if you're not using those for anything else? A simple Hashtable storage relating Key (Tower's Handle ID) and Unit-type?
 

afisakov

You can change this now in User CP.
Reaction score
37
"Make a copy when start upgrade"
how do I reference prior unit? I just tested using "begins upgrade" as the event and triggering unit returned the unit being made, not the one it upgrades from. the tower upgrades themselves are not triggered at all, just work from object editor.

"Maybe Custom Values, if you're not using those for anything else? A simple Hashtable storage relating Key (Tower's Handle ID) and Unit-type?"
Any idea how to apply the custom values? As far as I can tell, they are set in triggers, not object editor. and the triggers cannot see gold cost.
I am not too familiar with hashtables. What would relating handle-id to unit type get me? I can find unit type easily, but not the cost of the unit type.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
So as I understand it you:
1) Already use the Point Value to store the Gold Cost, correct?
2) You are not using Custom Value yet, correct?

In that case you can set the Custom Value of a unit to be equal to its Point Value when the unit enters the map (beware of pre-placed units!).
Alternatively you could use dummy upgrade-units in combination with the Chaos ability to turn your dummies into the real deal. You use one dummy unit type per original unit type, this way you know what the original was.
For example:
We have towers A, B and C. A and B can upgrade into C. We need to know whether the original tower was A or B when it upgraded. We introduce dummy units cA and cB. cA and cB both have a Chaos ability to morph it into the real C. A and B can upgrade into cA and cB respectively. This way when you get a "Unit finished Upgrade" event you know whether the original was an A or a B. Use this, perhaps in combination with a HashTable, to get the gold cost.
 

afisakov

You can change this now in User CP.
Reaction score
37
So as I understand it you:
1) Already use the Point Value to store the Gold Cost, correct?
2) You are not using Custom Value yet, correct?

In that case you can set the Custom Value of a unit to be equal to its Point Value when the unit enters the map (beware of pre-placed units!).
Alternatively you could use dummy upgrade-units in combination with the Chaos ability to turn your dummies into the real deal. You use one dummy unit type per original unit type, this way you know what the original was.
For example:
We have towers A, B and C. A and B can upgrade into C. We need to know whether the original tower was A or B when it upgraded. We introduce dummy units cA and cB. cA and cB both have a Chaos ability to morph it into the real C. A and B can upgrade into cA and cB respectively. This way when you get a "Unit finished Upgrade" event you know whether the original was an A or a B. Use this, perhaps in combination with a HashTable, to get the gold cost.
1) I use point value to store cumulative gold cost at this time.
so tower A upgrades to tower B upgrades to tower C,
point value of C=cost of A+B+C; point value of B= cost of A+B
and I am trying to get just the cost of C while upgrading (either when starting or ending the upgrade)
(point value C-point value B) would do it but cannot find how to reference B
hesitant to change point value because used in prior triggers
2) custom value not used yet
3) including all upgrades map has over 100 towers, so I would prefer not to have to make a dummy unit for every one if them if I can avoid it, would inflate map size and take quiet a while
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
612
Unit is first built -> Set Custom Value to Point Value
This means that:
CV = Cost[1]
PV = Cost[1]

[Time Period A]

When unit begins upgrade -> Set Custom Value = Point Value - Custom Value
This means that:
CV = Cost of upgrading, i.e. Cost[2] - Cost[1]
PV = Cost[2]

[Time Period B]

When unit finishes upgrade -> Set Custom Value to Point Value
This means that:
CV = Cost[2]
PV = Cost[2]

Throughout Time Period B you'd be able to access the cost of the upgrade.
 

afisakov

You can change this now in User CP.
Reaction score
37
Unit is first built -> Set Custom Value to Point Value
This means that:
CV = Cost[1]
PV = Cost[1]

[Time Period A]

When unit begins upgrade -> Set Custom Value = Point Value - Custom Value
This means that:
CV = Cost of upgrading, i.e. Cost[2] - Cost[1]
PV = Cost[2]

[Time Period B]

When unit finishes upgrade -> Set Custom Value to Point Value
This means that:
CV = Cost[2]
PV = Cost[2]

Throughout Time Period B you'd be able to access the cost of the upgrade.
Thank you very much!
It never occurred to me that custom value was kept during upgrade, I had always assumed it worked as a sort of replacement.
I did a quick preliminary test and it seems to be working :)
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Upgrades do not replace the unit. They simple change its unit type. The units keep their relative HP / MP, buffs, custom value, handle (for hash tables for example), rally points, etc.
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
612
Thank you very much!
It never occurred to me that custom value was kept during upgrade, I had always assumed it worked as a sort of replacement.
I did a quick preliminary test and it seems to be working :)

Nice! I wasn't sure it would work as expected, since it's been a while since I touched the editor, so I'm glad it solves your problem so far.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top