WriteAfterEntry (lines 444-553)
Back to List
Browsing verblibm.h
0444 [ WriteAfterEntry o depth stack_p flag flag2 flag3 p comb;
0445
0446 if (c_style & PARTINV_BIT ~= 0)
0447 { comb=0;
0448 if (o has light && location hasnt light) comb=comb+1;
0449 if (o has container && o hasnt open) comb=comb+2;
0450 if ((o has container && (o has open || o has transparent))
0451 && (child(o)==0)) comb=comb+4;
0452 if (comb==1) L__M(##ListMiscellany, 1, o);
0453 if (comb==2) L__M(##ListMiscellany, 2, o);
0454 if (comb==3) L__M(##ListMiscellany, 3, o);
0455 if (comb==4) L__M(##ListMiscellany, 4, o);
0456 if (comb==5) L__M(##ListMiscellany, 5, o);
0457 if (comb==6) L__M(##ListMiscellany, 6, o);
0458 if (comb==7) L__M(##ListMiscellany, 7, o);
0459 }
0460
0461 if (c_style & FULLINV_BIT ~= 0)
0462 { if (o.invent ~= 0)
0463 { inventory_stage=2;
0464 if (RunRoutines(o,invent)~=0)
0465 { if (c_style & NEWLINE_BIT ~= 0) new_line;
0466 rtrue;
0467 }
0468 }
0469 if (o has light && o has worn)
0470 { L__M(##ListMiscellany, 8); flag2=1; }
0471 else
0472 { if (o has light) { L__M(##ListMiscellany, 9, o); flag2=1; }
0473 if (o has worn) { L__M(##ListMiscellany, 10, o); flag2=1; }
0474 }
0475 if (o has container)
0476 { if (o has openable)
0477 { if (flag2==1) print (string) AND__TX;
0478 else L__M(##ListMiscellany, 11, o);
0479 if (o has open)
0480 { if (child(o)==0) L__M(##ListMiscellany, 13, o);
0481 else L__M(##ListMiscellany, 12, o);
0482 }
0483 else
0484 { if (o has lockable && o has locked)
0485 L__M(##ListMiscellany, 15, o);
0486 else L__M(##ListMiscellany, 14, o);
0487 }
0488 flag2=1;
0489 }
0490 else
0491 if (child(o)==0 && o has transparent)
0492 { if (flag2==1) L__M(##ListMiscellany, 16, o);
0493 else L__M(##ListMiscellany, 17, o);
0494 }
0495 }
0496 if (flag2==1) print ")";
0497 }
0498
0499 if (c_style & CONCEAL_BIT == 0)
0500 { flag3 = children(o);
0501 flag2 = child(o);
0502 }
0503 else
0504 { flag3 = 0;
0505 objectloop (p in o)
0506 if (p hasnt concealed && p hasnt scenery) { flag3++; flag2 = p; }
0507 }
0508
0509 if (c_style & ALWAYS_BIT ~= 0 && flag3>0)
0510 { if (c_style & ENGLISH_BIT ~= 0) L__M(##ListMiscellany, 18, o);
0511 flag=1;
0512 }
0513
0514 if (c_style & RECURSE_BIT ~= 0 && flag3>0)
0515 { if (o has supporter)
0516 { if (c_style & ENGLISH_BIT ~= 0)
0517 { if (c_style & TERSE_BIT ~= 0)
0518 L__M(##ListMiscellany, 19, o);
0519 else L__M(##ListMiscellany, 20, o);
0520 if (o has animate) print (string) WHOM__TX;
0521 else print (string) WHICH__TX;
0522 }
0523 flag=1;
0524 }
0525 if (o has container && (o has open || o has transparent))
0526 { if (c_style & ENGLISH_BIT ~= 0)
0527 { if (c_style & TERSE_BIT ~= 0)
0528 L__M(##ListMiscellany, 21, o);
0529 else L__M(##ListMiscellany, 22, o);
0530 if (o has animate) print (string) WHOM__TX;
0531 else print (string) WHICH__TX;
0532 }
0533 flag=1;
0534 }
0535 }
0536
0537 if (flag==1 && c_style & ENGLISH_BIT ~= 0)
0538 { if (flag3 > 1 || flag2 has pluralname)
0539 print (string) ARE2__TX;
0540 else print (string) IS2__TX;
0541 }
0542
0543 if (c_style & NEWLINE_BIT ~= 0) new_line;
0544
0545 if (flag==1)
0546 { o = child(o);
0547 @push lt_value; @push listing_together; @push listing_size;
0548 lt_value = 0; listing_together = 0; listing_size = 0;
0549 WriteListR(o, depth+1, stack_p);
0550 @pull listing_size; @pull listing_together; @pull lt_value;
0551 if (c_style & TERSE_BIT ~= 0) print ")";
0552 }
0553 ];
Last updated 27 February 2004.
This site is no longer supported; information may be out of date.
Maintained as a historical archive by the Interactive Fiction Technology Foundation.
Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
This page was originally managed by Graham Nelson (graham@gnelson.demon.co.uk) assisted by C Knight.