Lines Matching refs:obj

77 static char *xprname(struct obj *, char);
79 static int merged(struct obj *, struct obj *, int);
82 assigninvlet(struct obj *otmp) in assigninvlet()
86 struct obj *obj; in assigninvlet() local
90 for (obj = invent; obj; obj = obj->nobj) in assigninvlet()
91 if (obj != otmp) { in assigninvlet()
92 i = obj->invlet; in assigninvlet()
116 struct obj *
117 addinv(struct obj *obj) in addinv() argument
119 struct obj *otmp; in addinv()
123 invent = obj; in addinv()
127 if (merged(otmp, obj, 0)) in addinv()
130 otmp->nobj = obj; in addinv()
134 obj->nobj = 0; in addinv()
137 assigninvlet(obj); in addinv()
145 if ((invent->invlet ^ 040) > (obj->invlet ^ 040)) { in addinv()
146 obj->nobj = invent; in addinv()
147 invent = obj; in addinv()
151 (otmp->nobj->invlet ^ 040) > (obj->invlet ^ 040)) { in addinv()
152 obj->nobj = otmp->nobj; in addinv()
153 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()
186 otmp->nobj = obj->nobj; in freeinv()
192 delobj(struct obj *obj) in delobj() argument
194 freeobj(obj); in delobj()
195 unpobj(obj); in delobj()
196 obfree(obj, (struct obj *) 0); in delobj()
201 freeobj(struct obj *obj) in freeobj() argument
203 struct obj *otmp; in freeobj()
205 if (obj == fobj) in freeobj()
209 while (otmp->nobj != obj) { in freeobj()
214 otmp->nobj = obj->nobj; in freeobj()
279 struct obj *
282 struct obj *otmp; in o_at()
290 struct obj *
293 struct obj *otmp; in sobj_at()
302 carried(struct obj *obj) in carried() argument
304 struct obj *otmp; in carried()
306 if (otmp == obj) in carried()
314 struct obj *otmp; in carrying()
322 struct obj *
323 o_on(unsigned int id, struct obj *objchn) in o_on()
330 return ((struct obj *) 0); in o_on()
358 static struct obj *
361 struct obj *otmp; in mkgoldobj()
378 struct obj *
381 struct obj *otmp; in getobj()
478 return ((struct obj *) 0); in getobj()
480 return (allownone ? &zeroobj : (struct obj *) 0); in getobj()
532 struct obj *obj; in getobj() local
533 obj = splitobj(otmp, (int) cnt); in getobj()
535 setuwep(obj); in getobj()
542 ckunpaid(struct obj *otmp) in ckunpaid()
550 ggetobj(const char *word, int (*fn)(struct obj *), int max) in ggetobj() argument
558 int (*ckfn)(struct obj *) = in ggetobj()
559 (int (*)(struct obj *)) 0; in ggetobj()
565 struct obj *otmp = invent; in ggetobj()
633 askchain(struct obj *objchn, char *olets, int allflag, in askchain()
634 int (*fn)(struct obj *), in askchain() argument
635 int (*ckfn)(struct obj *), in askchain() argument
638 struct obj *otmp, *otmp2; in askchain()
682 obj_to_let(struct obj *obj) in obj_to_let() argument
684 struct obj *otmp; in obj_to_let()
688 return (obj->invlet); in obj_to_let()
690 for (otmp = invent; otmp && otmp != obj; otmp = otmp->nobj) in obj_to_let()
697 prinv(struct obj *obj) in prinv() argument
699 pline("%s", xprname(obj, obj_to_let(obj))); in prinv()
703 xprname(struct obj *obj, char let) in xprname() argument
708 flags.invlet_constant ? obj->invlet : let, in xprname()
709 doname(obj)); in xprname()
725 struct obj *otmp; in doinv()
761 struct obj *otmp; in dotypeinv()
837 struct obj *otmp = NULL, *otmp0 = NULL; in dolook()
891 stackobj(struct obj *obj) in stackobj() argument
893 struct obj *otmp = fobj; in stackobj()
895 if (otmp != obj) in stackobj()
896 if (otmp->ox == obj->ox && otmp->oy == obj->oy && in stackobj()
897 merged(obj, otmp, 1)) in stackobj()
903 merged(struct obj *otmp, struct obj *obj, int lose) in merged() argument
905 if (obj->otyp == otmp->otyp && in merged()
906 obj->unpaid == otmp->unpaid && in merged()
907 obj->spe == otmp->spe && in merged()
908 obj->dknown == otmp->dknown && in merged()
909 obj->cursed == otmp->cursed && in merged()
910 (strchr("%*?!", obj->olet) || in merged()
911 (obj->known == otmp->known && in merged()
912 (obj->olet == WEAPON_SYM && obj->otyp < BOOMERANG)))) { in merged()
913 otmp->quan += obj->quan; in merged()
914 otmp->owt += obj->owt; in merged()
916 freeobj(obj); in merged()
917 obfree(obj, otmp); /* free(obj), bill->otmp */ in merged()