Home | History | Annotate | Download | only in rogue

Lines Matching refs:obj

66 add_to_pack(object *obj, object *pack, int condense)
71 if ((op = check_duplicate(obj, pack)) != NULL) {
72 free_object(obj);
75 obj->ichar = next_avail_ichar();
79 pack->next_object = obj;
86 op->next_object = obj;
88 obj->next_object = 0;
89 return(obj);
93 take_from_pack(object *obj, object *pack)
95 while (pack->next_object != obj) {
108 object *obj;
116 obj = object_at(&level_objects, row, col);
117 if (!obj) {
119 return(obj);
121 if ( (obj->what_is == SCROL) &&
122 (obj->which_kind == SCARE_MONSTER) &&
123 obj->picked_up) {
126 vanish(obj, 0, &level_objects);
133 if (obj->what_is == GOLD) {
134 rogue.gold += obj->quantity;
136 take_from_pack(obj, &level_objects);
138 return(obj); /* obj will be free_object()ed in caller */
140 if (pack_count(obj) >= MAX_PACK_COUNT) {
145 take_from_pack(obj, &level_objects);
146 obj = add_to_pack(obj, &rogue.pack, 1);
147 obj->picked_up = 1;
148 return(obj);
154 object *obj, *new;
169 if (!(obj = get_letter_object(ch))) {
173 if (obj->in_use_flags & BEING_WIELDED) {
174 if (obj->is_cursed) {
179 } else if (obj->in_use_flags & BEING_WORN) {
180 if (obj->is_cursed) {
187 } else if (obj->in_use_flags & ON_EITHER_HAND) {
188 if (obj->is_cursed) {
192 un_put_on(obj);
194 obj->row = rogue.row;
195 obj->col = rogue.col;
197 if ((obj->quantity > 1) && (obj->what_is != WEAPON)) {
198 obj->quantity--;
200 *new = *obj;
202 obj = new;
204 obj->ichar = 'L';
205 take_from_pack(obj, &rogue.pack);
207 place_at(obj, rogue.row, rogue.col);
208 get_desc(obj, desc, sizeof(desc));
214 check_duplicate(object *obj, object *pack)
218 if (!(obj->what_is & (WEAPON | FOOD | SCROL | POTION))) {
221 if ((obj->what_is == FOOD) && (obj->which_kind == FRUIT)) {
227 if ((op->what_is == obj->what_is) &&
228 (op->which_kind == obj->which_kind)) {
230 if ((obj->what_is != WEAPON) ||
231 ((obj->what_is == WEAPON) &&
232 ((obj->which_kind == ARROW) ||
233 (obj->which_kind == DAGGER) ||
234 (obj->which_kind == DART) ||
235 (obj->which_kind == SHURIKEN)) &&
236 (obj->quiver == op->quiver))) {
237 op->quantity += obj->quantity;
249 object *obj;
256 obj = rogue.pack.next_object;
257 while (obj) {
258 if (obj->ichar >= 'a' && obj->ichar <= 'z') {
259 ichars[(obj->ichar - 'a')] = 1;
261 obj = obj->next_object;
318 object *obj;
325 obj = rogue.armor;
327 get_desc(obj, desc, sizeof(desc));
341 object *obj;
353 if (!(obj = get_letter_object(ch))) {
357 if (obj->what_is != ARMOR) {
361 obj->identified = 1;
362 get_desc(obj, desc, sizeof(desc));
364 do_wear(obj);
370 unwear(object *obj)
372 if (obj) {
373 obj->in_use_flags &= (~BEING_WORN);
379 do_wear(object *obj)
381 rogue.armor = obj;
382 obj->in_use_flags |= BEING_WORN;
383 obj->identified = 1;
390 object *obj;
402 if (!(obj = get_letter_object(ch))) {
406 if (obj->what_is & (ARMOR | RING)) {
408 ((obj->what_is == ARMOR) ? "armor" : "rings"));
411 if (obj->in_use_flags & BEING_WIELDED) {
415 get_desc(obj, desc, sizeof(desc));
417 do_wield(obj);
423 do_wield(object *obj)
425 rogue.weapon = obj;
426 obj->in_use_flags |= BEING_WIELDED;
430 unwield(object *obj)
432 if (obj) {
433 obj->in_use_flags &= (~BEING_WIELDED);
442 object *obj;
451 if (!(obj = get_letter_object(ch))) {
455 if (!(obj->what_is & (SCROL | POTION | WAND | RING))) {
459 id_table = get_id_table(obj);
462 id_table[obj->which_kind].title, 1, 1)) {
463 id_table[obj->which_kind].id_status = CALLED;
464 (void)strlcpy(id_table[obj->which_kind].title, buf,
465 sizeof(id_table[obj->which_kind].title));
472 object *obj;
475 obj = rogue.pack.next_object;
477 while (obj) {
478 if (obj->what_is != WEAPON) {
479 count += obj->quantity;
483 ((obj->which_kind != ARROW) &&
484 (obj->which_kind != DAGGER) &&
485 (obj->which_kind != DART) &&
486 (obj->which_kind != SHURIKEN)) ||
487 (new_obj->which_kind != obj->which_kind) ||
488 (obj->quiver != new_obj->quiver)) {
491 obj = obj->next_object;
554 object *obj;
561 if ((obj = pick_up(rogue.row, rogue.col, &stat)) != NULL) {
562 get_desc(obj, desc, sizeof(desc));
563 if (obj->what_is == GOLD) {
565 free_object(obj);
567 messagef(0, "%s(%c)", desc, obj->ichar);
570 if (obj || (!stat)) {