|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T t
Length: 1781 (0x6f5) Types: TextFile Names: »take_from.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987 └─⟦this⟧ »EUUGD18/General/Galaxy/src/take_from.c«
/* * %W% (mrdch&amnnon) %G% */ # include "header" takefrom (s) char *s; { planet * pp; int i = 0, spl; char cc; pp = getpl (s); assert_player (pp); skipwhite (s); if (*s == 'k') { /* in case of knowledge, no parameter needed */ if (pp -> inventar.know) {/* only if above A type */ pp -> to_take.know = pp -> inventar.know; pp -> inventar.know = 0; /* DONT leave the knowledge there */ say ("%c-type knowledge ready to be moved, sir !!!", 'A' + pp -> to_take.know); return; } say ("Planet blessed with little knowledge, sir."); return; } i = atoi (s); /* in any other case- numeric parameter needed */ assert_number (i); skipword (s); cc = *s++; assert_end (s); /* * for each of the following: * first check if enough available to be taken. * if not- print error massege and exit ; * if so- make the transportation to the wharehouse */ if (cc == 't') { if (pp -> inventar.metals < i) { say ("But you don't have that much metal there !!"); return; } pp -> inventar.metals -= i; pp -> to_take.metals += i; say ("%d A-type material ready to move, sir !!", i); return; } spl = which_class (cc); assert_occup (spl); if (pp -> inventar.popul[spl] < i) { say ("But sir, you don't have that much %s there !!", ocup_name[spl]); return; } pp -> inventar.popul[spl] -= i; pp -> to_take.popul[spl] += i; say ("%d %s are ready to move, sir !!", i, ocup_name[spl]); return; }