Inform - Support - Source

Back to List

Inventory
Complete

Backward
Forward

Plain
Coloured
Gaudy

This code
in plain text

Browsing verblibm.h

WriteAfterEntry (lines 444-553)

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 web site has not been fully supported since April 2008. Information may be out of date. This page was originally managed by Graham Nelson (graham@gnelson.demon.co.uk) assisted by C Knight.