void Crash_extract_norents(struct obj_data * obj) { if (obj) { Crash_extract_norents(obj->contains); Crash_extract_norents(obj->next_content); if (Crash_is_unrentable(obj)) extract_obj(obj); } }
/* * Get !RENT items from equipment to inventory and * extract !RENT out of worn containers. */ void Crash_extract_norent_eq(struct char_data *ch) { int j; for (j = 0; j < NUM_WEARS; j++) { if (GET_EQ(ch, j) == NULL) continue; if (Crash_is_unrentable(GET_EQ(ch, j))) obj_to_char(unequip_char(ch, j), ch); else Crash_extract_norents(GET_EQ(ch, j)); } }
int Crash_report_unrentables(struct char_data * ch, struct char_data * recep, struct obj_data * obj) { char buf[128]; int has_norents = 0; if (obj) { if (Crash_is_unrentable(obj)) { has_norents = 1; sprintf(buf, "%s You cannot store %s.", GET_NAME(ch), OBJS(obj, ch)); do_tell(recep, buf, 0, 0); } has_norents += Crash_report_unrentables(ch, recep, obj->contains); has_norents += Crash_report_unrentables(ch, recep, obj->next_content); } return (has_norents); }
int Crash_report_unrentables(struct char_data *ch, struct char_data *recep, struct obj_data *obj) { char buf[128]; int has_norents = 0; if (obj) { if (Crash_is_unrentable(obj)) { has_norents = 1; sprintf(buf, "$n tells you, 'You cannot store %s.'", OBJS(obj, ch)); act(buf, FALSE, recep, 0, ch, TO_VICT); } has_norents += Crash_report_unrentables(ch, recep, obj->contains); has_norents += Crash_report_unrentables(ch, recep, obj->next_content); } return (has_norents); }
void Crash_report_rent(struct char_data * ch, struct char_data * recep, struct obj_data * obj, long *cost, long *nitems, int display, int factor) { static char buf[256]; if (obj) { if (!Crash_is_unrentable(obj)) { (*nitems)++; *cost += MAX(0, (int)(GET_OBJ_RENT(obj) * factor)); if (display) { sprintf(buf, "%s %5d coins for %s..", GET_NAME(ch), (GET_OBJ_RENT(obj) * factor), OBJS(obj, ch)); do_tell(recep, buf, 0, 0); } } Crash_report_rent(ch, recep, obj->contains, cost, nitems, display, factor); Crash_report_rent(ch, recep, obj->next_content, cost, nitems, display, factor); } }
void Crash_report_rent(struct char_data *ch, struct char_data *recep, struct obj_data *obj, long *cost, long *nitems, int display, int factor) { static char buf[256]; if (obj) { if (!Crash_is_unrentable(obj)) { (*nitems)++; *cost += MAX(0, (GET_OBJ_RENT(obj) * factor)); if (display) { sprintf(buf, "$n tells you, '%5d coins for %s..'", (GET_OBJ_RENT(obj) * factor), OBJS(obj, ch)); act(buf, FALSE, recep, 0, ch, TO_VICT); } } Crash_report_rent(ch, recep, obj->contains, cost, nitems, display, factor); Crash_report_rent(ch, recep, obj->next_content, cost, nitems, display, factor); } }