// Basket.js
(function () {
/* global adventurejs A */
/**
* @ajstangiblecontainer in
* @ajspath adventurejs.Atom.Asset.Matter.Tangible.Thing.Container.SolidContainer.Basket
* @augments adventurejs.SolidContainer
* @class adventurejs.Basket
* @ajsconstruct MyGame.createAsset({ "class":"Basket", "name":"foo", [...] })
* @ajsconstructedby adventurejs.Game#createAsset
* @ajsnavheading ContainerClasses
* @param {String} game_name The name of the top level game object.
* @param {String} name A name for the object, to be serialized and used as ID.
* @summary For carrying anything and everything.
* @tutorial Tangibles_Aspects
* @classdesc
* <p>
* <strong>Basket</strong> is a subclass of
* {@link adventurejs.SolidContainer|SolidContainer}.
* It's possible to limit what can
* be put in it by size, weight, and quantity.
* It's also possible to restrict its contents to
* certain classes or specific items.
* </p>
**/
class Basket extends adventurejs.SolidContainer {
constructor(name, game_name) {
super(name, game_name);
this.class = "Basket";
this.singlePluralPairs = [["basket", "baskets"]];
this.aspects.in.set({
contents_limits: {
height: 1,
width: 1,
depth: 1,
count: 10,
weight: 10,
},
list_contents_in_examine: true,
list_contents_in_room: true,
nest: { can: { enter: false } },
});
}
}
adventurejs.Basket = Basket;
})();