diff --git a/src/common/gamecode/laws.c b/src/common/gamecode/laws.c index c2cfefdc9..37ba5f94b 100644 --- a/src/common/gamecode/laws.c +++ b/src/common/gamecode/laws.c @@ -338,6 +338,23 @@ age_unit(region * r, unit * u) u->race->age(u); } } +#ifdef ASTRAL_ITEM_RESTRICTIONS + if (u->region->planep==get_astralplane()) { + item ** itemp = &u->items; + while (*itemp) { + item * itm = *itemp; + if ((itm->type->flags & ITF_NOTLOST) == 0) { + if (itm->type->flags & (ITF_BIG|ITF_ANIMAL|ITF_CURSED)) { + ADDMSG(&u->faction->msgs, msg_message("itemcrumble", "unit region item amount", + u, u->region, itm->type->rtype, itm->number)); + i_free(i_remove(itemp, itm)); + continue; + } + } + itemp=&itm->next; + } + } +#endif }