Here's what I ended up using:
Code:
Specialties, basevalue(0)
Attribute Cost, basevalue(ST:ST::Points + ST:DX::Points + ST:IQ::Points + ST:HT::Points + ST:Hit Points::Points + ST:Fatigue Points::Points + ST:Will::Points + ST:Perception::Points)
<SNIP>
x(_
#message("You will need to spend at least 60 points on Attributes and select three specialties packages.")_
),
needs(_
ST:ST >= 10,
ST:DX >= 10,
ST:IQ >= 10,
ST:HT >= 10,
ST:Hit Points >= 10,
ST:Will >= 10,
ST:Perception >= 10,
ST:Fatigue Points >= 10,
ST:Attribute Cost >= 60,
ST:Specialties = 3_
),
It is clunky, but seems to be working. The Specialties is just a counter for some small skill packages that the player must select from.