Lines Matching refs:obj

59 add_to_pack(object *obj, object *pack, int condense)  in add_to_pack()  argument
64 if ((op = check_duplicate(obj, pack)) != NULL) { in add_to_pack()
65 free_object(obj); in add_to_pack()
68 obj->ichar = next_avail_ichar(); in add_to_pack()
72 pack->next_object = obj; in add_to_pack()
79 op->next_object = obj; in add_to_pack()
81 obj->next_object = 0; in add_to_pack()
82 return(obj); in add_to_pack()
86 take_from_pack(object *obj, object *pack) in take_from_pack() argument
88 while (pack->next_object != obj) { in take_from_pack()
101 object *obj; in pick_up() local
109 obj = object_at(&level_objects, row, col); in pick_up()
110 if (!obj) { in pick_up()
112 return(obj); in pick_up()
114 if ( (obj->what_is == SCROL) && in pick_up()
115 (obj->which_kind == SCARE_MONSTER) && in pick_up()
116 obj->picked_up) { in pick_up()
119 vanish(obj, 0, &level_objects); in pick_up()
126 if (obj->what_is == GOLD) { in pick_up()
127 rogue.gold += obj->quantity; in pick_up()
129 take_from_pack(obj, &level_objects); in pick_up()
131 return(obj); /* obj will be free_object()ed in caller */ in pick_up()
133 if (pack_count(obj) >= MAX_PACK_COUNT) { in pick_up()
138 take_from_pack(obj, &level_objects); in pick_up()
139 obj = add_to_pack(obj, &rogue.pack, 1); in pick_up()
140 obj->picked_up = 1; in pick_up()
141 return(obj); in pick_up()
147 object *obj, *new; in drop() local
162 if (!(obj = get_letter_object(ch))) { in drop()
166 if (obj->in_use_flags & BEING_WIELDED) { in drop()
167 if (obj->is_cursed) { in drop()
172 } else if (obj->in_use_flags & BEING_WORN) { in drop()
173 if (obj->is_cursed) { in drop()
180 } else if (obj->in_use_flags & ON_EITHER_HAND) { in drop()
181 if (obj->is_cursed) { in drop()
185 un_put_on(obj); in drop()
187 obj->row = rogue.row; in drop()
188 obj->col = rogue.col; in drop()
190 if ((obj->quantity > 1) && (obj->what_is != WEAPON)) { in drop()
191 obj->quantity--; in drop()
193 *new = *obj; in drop()
195 obj = new; in drop()
197 obj->ichar = 'L'; in drop()
198 take_from_pack(obj, &rogue.pack); in drop()
200 place_at(obj, rogue.row, rogue.col); in drop()
202 get_desc(obj, desc + 8); in drop()
208 check_duplicate(object *obj, object *pack) in check_duplicate() argument
212 if (!(obj->what_is & (WEAPON | FOOD | SCROL | POTION))) { in check_duplicate()
215 if ((obj->what_is == FOOD) && (obj->which_kind == FRUIT)) { in check_duplicate()
221 if ((op->what_is == obj->what_is) && in check_duplicate()
222 (op->which_kind == obj->which_kind)) { in check_duplicate()
224 if ((obj->what_is != WEAPON) || in check_duplicate()
225 ((obj->what_is == WEAPON) && in check_duplicate()
226 ((obj->which_kind == ARROW) || in check_duplicate()
227 (obj->which_kind == DAGGER) || in check_duplicate()
228 (obj->which_kind == DART) || in check_duplicate()
229 (obj->which_kind == SHURIKEN)) && in check_duplicate()
230 (obj->quiver == op->quiver))) { in check_duplicate()
231 op->quantity += obj->quantity; in check_duplicate()
243 object *obj; in next_avail_ichar() local
250 obj = rogue.pack.next_object; in next_avail_ichar()
251 while (obj) { in next_avail_ichar()
252 if (obj->ichar >= 'a' && obj->ichar <= 'z') { in next_avail_ichar()
253 ichars[(obj->ichar - 'a')] = 1; in next_avail_ichar()
255 obj = obj->next_object; in next_avail_ichar()
314 object *obj; in take_off() local
321 obj = rogue.armor; in take_off()
324 get_desc(obj, desc+12); in take_off()
338 object *obj; in wear() local
350 if (!(obj = get_letter_object(ch))) { in wear()
354 if (obj->what_is != ARMOR) { in wear()
358 obj->identified = 1; in wear()
360 get_desc(obj, desc + 8); in wear()
362 do_wear(obj); in wear()
368 unwear(object *obj) in unwear() argument
370 if (obj) { in unwear()
371 obj->in_use_flags &= (~BEING_WORN); in unwear()
377 do_wear(object *obj) in do_wear() argument
379 rogue.armor = obj; in do_wear()
380 obj->in_use_flags |= BEING_WORN; in do_wear()
381 obj->identified = 1; in do_wear()
388 object *obj; in wield() local
400 if (!(obj = get_letter_object(ch))) { in wield()
404 if (obj->what_is & (ARMOR | RING)) { in wield()
406 ((obj->what_is == ARMOR) ? "armor" : "rings")); in wield()
410 if (obj->in_use_flags & BEING_WIELDED) { in wield()
415 get_desc(obj, desc + 9); in wield()
417 do_wield(obj); in wield()
423 do_wield(object *obj) in do_wield() argument
425 rogue.weapon = obj; in do_wield()
426 obj->in_use_flags |= BEING_WIELDED; in do_wield()
430 unwield(object *obj) in unwield() argument
432 if (obj) { in unwield()
433 obj->in_use_flags &= (~BEING_WIELDED); in unwield()
442 object *obj; in call_it() local
451 if (!(obj = get_letter_object(ch))) { in call_it()
455 if (!(obj->what_is & (SCROL | POTION | WAND | RING))) { in call_it()
459 id_table = get_id_table(obj); in call_it()
461 if (get_input_line("call it:","",buf,id_table[obj->which_kind].title,1,1)) { in call_it()
462 id_table[obj->which_kind].id_status = CALLED; in call_it()
463 strcpy(id_table[obj->which_kind].title, buf); in call_it()
470 object *obj; in pack_count() local
473 obj = rogue.pack.next_object; in pack_count()
475 while (obj) { in pack_count()
476 if (obj->what_is != WEAPON) { in pack_count()
477 count += obj->quantity; in pack_count()
481 ((obj->which_kind != ARROW) && in pack_count()
482 (obj->which_kind != DAGGER) && in pack_count()
483 (obj->which_kind != DART) && in pack_count()
484 (obj->which_kind != SHURIKEN)) || in pack_count()
485 (new_obj->which_kind != obj->which_kind) || in pack_count()
486 (obj->quiver != new_obj->quiver)) { in pack_count()
489 obj = obj->next_object; in pack_count()
552 object *obj; in kick_into_pack() local
559 if ((obj = pick_up(rogue.row, rogue.col, &stat)) != NULL) { in kick_into_pack()
560 get_desc(obj, desc); in kick_into_pack()
561 if (obj->what_is == GOLD) { in kick_into_pack()
563 free_object(obj); in kick_into_pack()
567 desc[n+1] = obj->ichar; in kick_into_pack()
573 if (obj || (!stat)) { in kick_into_pack()