Rewrite the crate bonus logic.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ares |
Invalid
|
Medium
|
Unassigned |
Bug Description
Crate goodies are one more messed up feature of this lovable game. I'm going to rewrite their routine soon, so let's hear your ideas. So far I've got this:
[CrateGoodies]
1 = FreeUnit
2 = Money
3 = Upgrade
4 = Explosion
5 = Heal
6 = Cloak
7 = Experience
; and so on
[FreeUnit]
Crate.Effect = CrateBonus.Freebie
; generic crate params
Crate.Sound = FreeUnitSound
Crate.EVA = EVA_Reinforceme
; Freebie specific params
Crate.FreeUnits = 1 ; how many random units to spawn
Crate.FreeInfantry = 3 ; - inf -
Crate.Weight = 5 ; like country random weighing, x shares in (sum x)
[Upgrade]
Crate.Effect = CrateBonus.Upgrade
; generic crate params
Crate.Sound = UnitUpgradeSound
Crate.EVA = EVA_UnitUpgraded
Crate.Anim = RING1 ; randomness prevails
Crate.Radius = 3
; Upgrade specific params
Crate.ArmorMult
Crate.SpeedMult
Crate.Firepower
[Experience]
Crate.Effect = CrateBonus.XP
; generic crate params
Crate.Sound = UnitUpgradeSound
Crate.EVA = EVA_UnitUpgraded
Crate.Radius = 3
; Upgrade specific params
Crate.ExtraExpe
Crate.ExtraExpe
; and so on
As nice as that is, it is really not compatible with the current [Powerups] model, so
[CrateRules]
or something?
(Gotta be careful not to break the different handling in singleplay campaign mode.)
Also, aside from the new bonus types, the actual crate randomness logic could use some tweaking. This will be changed, not sure if configuration to leave the old broken logic in is worth it.
under freeunit, make a override system of what units you want. like have it like the paradrop clone system... you decide what units and how many. This be nice. OR make it so it uses a taskforce from AIMD.ini. This would be a good way to make it so the crate makes it so it uses a taskforce also if you desire. this way we can have custom armies.
p.s sorry if i wasnt supposed to use note for this idea :p