Lines Matching refs:obj

70 extern struct obj zeroobj;
82 static void assigninvlet(struct obj *);
83 static char obj_to_let(struct obj *);
84 static char *xprname(struct obj *, char);
86 static int merged(struct obj *, struct obj *, int);
90 assigninvlet(struct obj *otmp) in assigninvlet()
94 struct obj *obj; in assigninvlet() local
97 for(obj = invent; obj; obj = obj->nobj) if(obj != otmp) { in assigninvlet()
98 i = obj->invlet; in assigninvlet()
115 struct obj *
116 addinv(struct obj *obj) in addinv() argument
118 struct obj *otmp; in addinv()
122 invent = obj; in addinv()
126 if(merged(otmp, obj, 0)) in addinv()
129 otmp->nobj = obj; in addinv()
133 obj->nobj = 0; in addinv()
136 assigninvlet(obj); in addinv()
144 if((invent->invlet ^ 040) > (obj->invlet ^ 040)) { in addinv()
145 obj->nobj = invent; in addinv()
146 invent = obj; in addinv()
150 (otmp->nobj->invlet ^ 040) > (obj->invlet ^ 040)){ in addinv()
151 obj->nobj = otmp->nobj; in addinv()
152 otmp->nobj = obj; in addinv()
159 return(obj); in addinv()
163 useup(struct obj *obj) in useup() argument
165 if(obj->quan > 1){ in useup()
166 obj->quan--; in useup()
167 obj->owt = weight(obj); in useup()
169 setnotworn(obj); in useup()
170 freeinv(obj); in useup()
171 obfree(obj, (struct obj *) 0); in useup()
176 freeinv(struct obj *obj) in freeinv() argument
178 struct obj *otmp; in freeinv()
180 if(obj == invent) in freeinv()
183 for(otmp = invent; otmp->nobj != obj; otmp = otmp->nobj) in freeinv()
185 otmp->nobj = obj->nobj; in freeinv()
191 delobj(struct obj *obj) in delobj() argument
193 freeobj(obj); in delobj()
194 unpobj(obj); in delobj()
195 obfree(obj, (struct obj *) 0); in delobj()
200 freeobj(struct obj *obj) in freeobj() argument
202 struct obj *otmp; in freeobj()
204 if(obj == fobj) fobj = fobj->nobj; in freeobj()
206 for(otmp = fobj; otmp->nobj != obj; otmp = otmp->nobj) in freeobj()
208 otmp->nobj = obj->nobj; in freeobj()
268 struct obj *
271 struct obj *otmp; in o_at()
278 struct obj *
281 struct obj *otmp; in sobj_at()
290 carried(struct obj *obj) in carried() argument
292 struct obj *otmp; in carried()
295 if(otmp == obj) return(1); in carried()
302 struct obj *otmp; in carrying()
310 struct obj *
311 o_on(unsigned int id, struct obj *objchn) in o_on()
345 struct obj *
348 struct obj *otmp; in mkgoldobj()
365 struct obj *
368 struct obj *otmp; in getobj()
454 return((struct obj *)0); in getobj()
456 return(allownone ? &zeroobj : (struct obj *) 0); in getobj()
503 struct obj *obj; in getobj() local
504 obj = splitobj(otmp, (int) cnt); in getobj()
505 if(otmp == uwep) setuwep(obj); in getobj()
512 ckunpaid(struct obj *otmp) in ckunpaid()
520 ggetobj(char *word, int (*fn)(struct obj *), int max) in ggetobj() argument
528 int (*ckfn)(struct obj *) = NULL; in ggetobj()
535 struct obj *otmp = invent; in ggetobj()
597 askchain(struct obj *objchn, char *olets, int allflag, int (*fn)(struct obj *), in askchain() argument
598 int (*ckfn)(struct obj *), int max) in askchain() argument
600 struct obj *otmp, *otmp2; in askchain()
637 obj_to_let(struct obj *obj) in obj_to_let() argument
639 struct obj *otmp; in obj_to_let()
643 return(obj->invlet); in obj_to_let()
645 for(otmp = invent; otmp && otmp != obj; otmp = otmp->nobj) in obj_to_let()
651 prinv(struct obj *obj) in prinv() argument
653 pline("%s", xprname(obj, obj_to_let(obj))); in prinv()
657 xprname(struct obj *obj, char let) in xprname() argument
662 flags.invlet_constant ? obj->invlet : let, in xprname()
663 doname(obj)); in xprname()
679 struct obj *otmp; in doinv()
712 struct obj *otmp; in dotypeinv()
781 struct obj *otmp, *otmp0; in dolook()
838 stackobj(struct obj *obj) in stackobj() argument
840 struct obj *otmp = fobj; in stackobj()
842 for(otmp = fobj; otmp; otmp = otmp->nobj) if(otmp != obj) in stackobj()
843 if(otmp->ox == obj->ox && otmp->oy == obj->oy && in stackobj()
844 merged(obj,otmp,1)) in stackobj()
850 merged(struct obj *otmp, struct obj *obj, int lose) in merged() argument
852 if(obj->otyp == otmp->otyp && in merged()
853 obj->unpaid == otmp->unpaid && in merged()
854 obj->spe == otmp->spe && in merged()
855 obj->dknown == otmp->dknown && in merged()
856 obj->cursed == otmp->cursed && in merged()
857 (strchr("%*?!", obj->olet) || in merged()
858 (obj->known == otmp->known && in merged()
859 (obj->olet == WEAPON_SYM && obj->otyp < BOOMERANG)))) { in merged()
860 otmp->quan += obj->quan; in merged()
861 otmp->owt += obj->owt; in merged()
862 if(lose) freeobj(obj); in merged()
863 obfree(obj,otmp); /* free(obj), bill->otmp */ in merged()