// Tree.js
(function () {
/*global adventurejs A*/
/**
* @ajspath adventurejs.Atom.Asset.Matter.Tangible.Thing.Climbable.Tree
* @augments adventurejs.Climbable
* @class adventurejs.Tree
* @ajsconstruct MyGame.createAsset({ "class":"Tree", "name":"foo", [...] })
* @ajsconstructedby adventurejs.Game#createAsset
* @ajsnavheading ForestClasses
* @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 One grows in Brooklyn.
* @ajstangiblecontainer on
* @classdesc
* <p>
* <strong>Tree</strong> is a subclass of
* {@link adventurejs.Climbable|Climbable}.
* Player can climb on/to/from, and swing to.
* </p>
**/
class Tree extends adventurejs.Climbable {
constructor(name, game_name) {
super(name, game_name);
this.class = "Tree";
this.singlePluralPairs = [["tree", "trees"]];
this.group = [];
this.dimensions.height = 3;
this.setDOV("hang");
this.quirks.in_means_on = true;
this.quirks.get_off_means_go_down = true;
this.aspects.on.set({
list_in_room: true,
player: {
posture: "cling",
can: {
grip: true,
hang: true,
cling: true,
climb: true,
scale: true,
},
},
});
this.aspects.hung = new adventurejs.Aspect("hung", this.game_name).set({
parent_id: this.id,
list_in_room: true,
});
}
}
adventurejs.Tree = Tree;
})();