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 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.