This is the XP trickle from Vox Populi. Units garrisoned in a barracks will gain 1 xp per second.
Details
- Reviewers
wraitii - Group Reviewers
Restricted Owners Package (Owns No Changed Paths) - Commits
- rP23541: Experience trickle
Agree that it's a nice choice for players: for citizen-soldiers to either gather resources as usual or garrison in a barracks for a couple of minutes to "train". (Remember that promoted units don't gather resources as efficiently.)
Diff Detail
- Repository
- rP 0 A.D. Public Repository
- Branch
- /ps/trunk
- Lint
Lint OK - Unit
No Unit Test Coverage - Build Status
Buildable 4612 Build 8038: Vulcan Build (Windows) Build 8037: Vulcan Build Build 8036: arc lint + arc unit
Event Timeline
I'm ok with the idea, although maybe i would have made it slower (1 xp per 2s ?)
But any reason to use an Aura and not a GarrisonHolder property analoguous to the GarrisonHolder/BuffHeal?
Edit: and healers should not have this trickle in barracks (though possible in temple)
So how about this?
Maybe we can just implement the ability and delay adding it into gameplay.
The question was not against adding it to gameplay, but how to best implement it and avoiding having a different way for similar feature.
So let's summarize my point:
- does it matter (for performances or ease of maintenance or any other reason) to have it in the component or as aura?
- if yes, do it that way
- if not, we should decide on a way and implement consistently the different features.
garisoned units are healing in some building allready, so do it the way which heling is ?
I think it's an interesting property to have in the game. Not sure about adding it in Vanilla.
I like the implementation in Promotion instead of elsewhere, as this doesn't limit it to auras. If garrisoned auras become a problem, they could be optimised specifically (particularly if we had D274). I think BuffHeal should be changed similarly.
Couldn't find anything to remark for the code, so looks good. (Unit tests officially recommended). So don't forget to update the ValueModification wiki page in case of commit.
Dunno if we need it in vanilla. It rewards players to not use their units directly?
Having it in the GarrisonHolder means that the trickle can only occur when garrisoning units,
whereas units trickle rates could also be affected by technologies or other aura types (global, local, player) without being garrisoned.
I think BuffHeal should be changed similarly.
Doesn't sound wrong at first sight, unless there are performance concerns
I'm OK with committing this in vanilla with a low trickle value, making it technically a functionality but kind of useless in practice. Then we can decide to buff it later.
[16:18] <Freagarach> One could perhaps check the timer every time the rate is computed?
[16:19] <Stan`> could be delete this.trickleTimer
[16:20] <Freagarach> That too, and var -> let ;)
(http://irclogs.wildfiregames.com/2020-03/2020-03-21-QuakeNet-%230ad-dev.log)
Applying changes with commit to not get control of diff.
Dunno if we need it in vanilla. It rewards players to not use their units directly?
Only citizen soldiers are able to promote so having them garrisoned for most time will hurt economy of the player. And experience gain is not so fast as in combat.