The @ScheduledMethod annotation for freeBox is Start = 10, Interval = 10, and for limEdition is Start = 50, Interval = 50. If these are always mutually exclusive (that is, 'Free Box' and 'Limited Edition' are never used to together) this is fine, but if not it could lead to some ambiguity. At tick 50, freeBox and limEdition would both fire for all agents, but some agents would get the free box first and some would get the limited edition first. This is probably fine (and arguably more realistic...?) but it might be easier to analyze if it were always one and then the other in order. If the toolkit is adjusted so that these are not mutually exclusive, but could be used simultaneously, being able to disentangle them may be helpful.
The @ScheduledMethod annotation for freeBox is Start = 10, Interval = 10, and for limEdition is Start = 50, Interval = 50. If these are always mutually exclusive (that is, 'Free Box' and 'Limited Edition' are never used to together) this is fine, but if not it could lead to some ambiguity. At tick 50, freeBox and limEdition would both fire for all agents, but some agents would get the free box first and some would get the limited edition first. This is probably fine (and arguably more realistic...?) but it might be easier to analyze if it were always one and then the other in order. If the toolkit is adjusted so that these are not mutually exclusive, but could be used simultaneously, being able to disentangle them may be helpful.