Source: Apparel/Womenswear/PantsWomens.js

/*****************************************************************************
 * Copyright (c) 2019 Echo Hollow / L. Adamson. All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without 
 *  modification, are permitted provided that the following conditions are met:
 * 
 *     1. Redistributions of source code must retain the above copyright 
 *        notice, this list of conditions and the following disclaimer.
 *     2. Redistributions in binary form must reproduce the above copyright 
 *        notice, this list of conditions and the following disclaimer in the 
 *        documentation and/or other materials provided with the distribution.
 *     3. All advertising materials mentioning features or use of this software 
 *        must display the following acknowledgement:
 *          "This product includes software developed by Echo Hollow."
 *     4. Neither the name of the copyright holder nor the names of its 
 *        contributors may be used to endorse or promote products derived from 
 *        this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDER "AS IS" AND ANY EXPRESS OR 
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 
 * EVENT SHALL COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *****************************************************************************/

const ClothingSlot = LibEcho.Apparel.ClothingSlot;
const GenericWomenswear = LibEcho.Apparel.GenericWomenswear;

/**
 * An item of Women's {@link LibEcho.Apparel|Apparel} that occupies {@link LibEcho.Apparel.ClothingSlot|ClothingSlot.LEGS}.
 * 
 * @extends LibEcho.Apparel.GenericWomenswear
 * @memberof LibEcho.Apparel.Womenswear
 */
class PantsWomens extends GenericWomenswear
{
    /**
     * <i>You should never instantiate a {@link LibEcho.Persistence.PersistentObject|PersistentObject} directly!  Instead, you must define it with {@link LibEcho.PersistentObject.define|PersistentObject.define()}, and then instantiate it with the {@link LibEcho.PersistentObject.instantiate|obj()} function when you want to use it.  <i><b>You must also never store {@link LibEcho.Persistence.PersistentObject|PersistentObjects} in Sugarcube variables!</b></i>  Just store their ids, instantiate them with {@link LibEcho.Persistence.obj|obj()} as needed, and then let them be garbage-collected.</i>
     * 
     * @param {string} id - The id of the {@link LibEcho.Persistence|Persistence} defaults entry to be associated with this instance.
     */
	constructor( id )
	{
		super( id );
	}
	
	/**
	 * FIXME
	 */
	get genericName()
	{
		return "pair of pants"; // FIXME it shouldn't be obvious that these are women's apparel when showing an outline through a tight long ClothingSlot.OVER garment?
	}
	
	/**
	 * Returns {@link LibEcho.Apparel.ClothingSlot|[ ClothingSlot.LEGS ]}
	 * @readonly
	 * @type LibEcho.Apparel.ClothingSlot[]
	 */
	get defaultSlots()
	{
		return [ ClothingSlot.LEGS ];
	}

	get defaultLong()
	{
		return true;
	}
}

module.exports = PantsWomens;