contract DungeonTokenAuction is DungeonToken, ERC721DutchAuction {

    function DungeonTokenAuction(uint _ownerCut) ERC721DutchAuction(this, _ownerCut) public { }

    /**
     * @dev Creates and begins a new auction.
     * @param _tokenId - ID of token to auction, sender must be owner.
     * @param _startingPrice - Price of item (in wei) at beginning of auction.
     * @param _endingPrice - Price of item (in wei) at end of auction.
     * @param _duration - Length of time to move between starting price and ending price (in seconds).
     */
    function createAuction(
        uint _tokenId,
        uint _startingPrice,
        uint _endingPrice,
        uint _duration
    ) whenNotPaused external {
        _approve(_tokenId, this);

        // This will perform all the checkings necessary.
        _createAuction(_tokenId, _startingPrice, _endingPrice, _duration, msg.sender);
    }

}
function createAuction(
    uint _tokenId,
    uint _startingPrice,
    uint _endingPrice,
    uint _duration
) whenNotPaused external {
    _approve(_tokenId, this);

    // This will perform all the checkings necessary.
    _createAuction(_tokenId, _startingPrice, _endingPrice, _duration, msg.sender);
}

/**
 * @dev Creates and begins a new auction.
 * @param _tokenId - ID of token to auction, sender must be owner.
 * @param _startingPrice - Price of item (in wei) at beginning of auction.
 * @param _endingPrice - Price of item (in wei) at end of auction.
 * @param _duration - Length of time to move between starting price and ending price (in seconds).
 */