If you wanted to have timed evolution, why not just use a (url="http://"http://www.ambrosiasw.com/webboard/Forum9/HTML/002708.html")counter(/url) and have each evolvable ship set the correct binary value in the bits. When the counter reaches zero, another cron would trigger, changing your ship.
Would require:
n+s crons where n is the number of bits and s is the number of ships to be upgraded.
n+s bits (1 toggle bit for each ship). Cron setup is slightly less cluttered if you use n+s+1 bits.
I've also got a (url="http://"http://www.ambrosiasw.com/webboard/Forum9/HTML/004987.html")counter(/url) setup using outfits instead which requires:
5+s crons
4 outfits
1+s bits
For anything over 31 days, its would appear to be a better method.
E.g. for 3 ships which evolve after 20, 50 and 90 days respectively into a different 3 ships, we would require 8 crons, 4 outfits and 4 bits with my method, compared with 10 crons and 10 bits using the old ncb counter method - at the expense of 4 outfits we save 2 crons and 6 bits.
Code is as follows for my method:
Crons:
Enable On ......... On Start ...... On End ... CIC Entry
O2 & !b0 ........... D2 G3 G4 .................... Yes ........ Moves total into outfits 3 and 4
O1 & O3 ............ D1 D3 ........ b0 ........... Yes ........ Compares counter, total in 3 by decrementing until 1 is zero
!O3 & b0 & b1 ... C4 !b1 ......................... No ........ If counter>=total then 1 evolves into 4
!O3 & b0 & b2 ... C5 !b2 ......................... No ........ If counter>=total then 2 evolves into 5
!O3 & b0 & b3 ... C6 !b3 ......................... No ........ If counter>=total then 3 evolves into 6
!O3 & O4 ........... G2 D4 ......................... Yes ........ Rezeroes 4 and restores the total in 2
O3 & O4 ............ G1 G2 D4 ... !b0 .......... Yes ........ If counter<total then total is moved back to outfit 2
O1 & O3 ............ D1 D3 ......................... Yes ........ Sets counter back to pre-calc status
Ships:
RID ... On Purchase ... On Capture ... On Retire
1 ...... b1 G2 * 30 ...... b1 G2 * 30 .... !b1 !b0 D2 * 30
2 ...... b2 G2 * 50 ...... b2 G2 * 50 .... !b2 !b0 D2 * 50
3 ...... b3 G2 * 90 ...... b3 G2 * 90 .... !b3 !b0 D2 * 90
4 ......................................................................
5 ......................................................................
6 ......................................................................
------------------
(url="http://"http://homepage.mac.com/jonathanboyd/evn/index.html")Classic4Nova plug-in(/url)