Opened 11 years ago
Last modified 8 years ago
#27 confirmed enhancement
Define unit requirements
Reported by: | ibboard | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | WarFoundry API 0.2 |
Component: | WarFoundry-API | Version: | Unknown or N/A |
Keywords: | Cc: | ||
Blocked By: | #52, #345, #350, #351, #365, #394, #396, #397, #398 | Blocking: | #29, #104, #278 |
Description
Rollcall had a concept of "use restrictions", which are the basis for WarFoundry "use restrictions". An initial basic implementation already exists but isn't extensively used or tested. A full set of use restrictions should be handled and available for different factories to create as necessary.
Change History (88)
comment:1 Changed 11 years ago by
Component: | General/Unknown → WarFoundry API |
---|
comment:2 Changed 11 years ago by
Blocking: | 29 added |
---|
comment:3 Changed 11 years ago by
Blocked By: | 52 added |
---|
comment:4 Changed 11 years ago by
Summary: | Define "unit requirements" → Define unit requirements |
---|
comment:5 Changed 11 years ago by
Owner: | ibboard deleted |
---|
Remove owner so that the team can more easily see bugs. Using default owners seems good at first but is bad practice when a team can be working on any part of the project.
comment:6 Changed 10 years ago by
Blocking: | 104 added |
---|
comment:7 Changed 10 years ago by
Blocking: | 57 added |
---|
comment:8 Changed 10 years ago by
Status: | new → confirmed |
---|
Move tickets to new "confirmed" status to show that they've been checked
comment:9 Changed 10 years ago by
Blocking: | 271 added |
---|
comment:10 Changed 10 years ago by
Blocking: | 278 added |
---|
comment:7 Changed 9 years ago by
Milestone: | WarFoundry 0.2 → WarFoundry API 0.2 |
---|
Separate API milestone from UI milestone
comment:8 Changed 9 years ago by
Blocking: | 57 removed |
---|
(In #57) Ticket doesn't make sense any more - we're defining the spec as we go and relying on backward/forward compatibility so there is no "complete" to load.
comment:9 Changed 9 years ago by
Version: | → Unknown or N/A |
---|
A list of requirements has been collected in this thread. In addition to unit requirements (what must/must not be taken before a unit can/can't be taken) we also need to consider equipment requirements.
The current list of requirements is:
- Must have one (or more) of unit Y to take any number of unit X (e.g. "must have at least one bowman unit to take Borris the Bowman special character")
- Can have up to A units of X for every B of unit Y (e.g. "can have up to three slave units for each normal unit")
- Cannot have any of Y to take X (e.g. "cannot have any flame demons if you take dryads")
- Unit X makes unit Y count as cat A instead of cat B (mainly occurs with special characters moving special choices to core choices)
- Unit X requires Z number of models of unit Y (e.g. "Doomsayer can only be taken if there are 15 or more flagelants")
- Unit X can only be taken in armies of Y points and above (e.g. "Grand High Emperor can only be taken in armies of 3000pts or more)
- Unit must take item X to have equipment item Y (e.g. "must have Mark of Warrior God to take Axe of Warrior God")
- Equipment item X can only be taken Y times per army (e.g. "rare scroll can only be taken three times per army")
- Points limits on unit equipment (e.g. "up to 40pts spent on any combination of items Q, R, S...Y or Z")
- Equipment X can only be taken in armies of Y points and above (e.g. "Historic National Battle Standard can only be takin in armies of 3000pts or more")
comment:68 Changed 9 years ago by
Blocked By: | 345 added |
---|
comment:69 Changed 9 years ago by
Blocking: | 344 added |
---|
comment:70 Changed 9 years ago by
Blocking: | 344 removed |
---|
comment:5 Changed 9 years ago by
"-1" requirement should mainly be handled by UnitRequiresAtLeastNUnitsRequirement class (you can have any number as soon as you have N of the specified units, defaulting to 1) - OR option isn't handled yet. Schema to be added under #347.
"-2" requirement should now be handled by UnitRequiresNoMoreThanNOfUnitTypeRequirement (you can have any number as long as you have no more than N, defaulting to 0) - OR behavior isn't an important change and just requires separate requirements. Schema to be added under #348.
comment:6 Changed 9 years ago by
Blocked By: | 350 added |
---|
comment:8 Changed 9 years ago by
Blocked By: | 351 added |
---|
comment:9 Changed 8 years ago by
Blocked By: | 365 added |
---|
comment:10 Changed 8 years ago by
comment:11 Changed 8 years ago by
comment:12 Changed 8 years ago by
Blocked By: | 394 added |
---|
comment:13 Changed 8 years ago by
Blocked By: | 396 added |
---|
comment:14 Changed 8 years ago by
Blocked By: | 397 added |
---|
comment:15 Changed 8 years ago by
Blocked By: | 398 added |
---|
comment:16 Changed 8 years ago by
Some of the requirement ideas have been moved out to ticket:399 because they're related to equipment more than units.
Rollcall restrictions:
N, UnitIDList
- In this case the army may have N of this unit for each unit in the UnitIDList. Assume there are three X units and two Y units. Then 2,X|Y means you may have no more than 10 [2 * (3 + 2)] of this unit while 2,X,2,Y means you may have no more than 6 [2 * 3] or no more than 4 [2 * 2] of this unit.-1, UnitIDList
- The army must have at least one unit listed in the UnitIDList to be eligible to have this unit. Note that -1,X,-1,Y means the army must have at least unit X AND one unit Y while -1,X|Y means the army must have a unit X OR Y-2. UnitIDList
- The army may not have any unit listed in the UnitIDList to be eligible to have this unit. Note that -2,X,-2,Y is equivalent to -2,X|Y with the exception that two entries produce two warning messages.-3, X
-This unit cannot be chosen. This unit is only used as a champion. If X is 1 then the unit can have its own equipment, otherwise the equipment will match that of the parent unit.-4,0
- This unit may be the army general but is not required to be so-5,0
- This unit must be the army general.-4 and -5 equivalents should be handled under #23. -3 is to be handled by #28.