158 lines
5.2 KiB
PHP
158 lines
5.2 KiB
PHP
<?php
|
|
/**
|
|
* app/plugins/dnd/plugin.php
|
|
*
|
|
* This houses all of the main plugin info and functionality.
|
|
*
|
|
* @package TTE Dungeons & Dragons
|
|
* @version 3.0
|
|
* @author Joey Kimsey <Joey@tabletopelite.com>
|
|
* @link https://TableTopElite.com
|
|
*/
|
|
namespace TheTempusProject\Plugins;
|
|
|
|
use TheTempusProject\Classes\Plugin;
|
|
|
|
class Dnd extends Plugin {
|
|
public $pluginName = 'TP D&D';
|
|
public $pluginAuthor = 'JoeyK';
|
|
public $pluginWebsite = 'https://TheTempusProject.com';
|
|
public $modelVersion = '1.0';
|
|
public $pluginVersion = '3.0';
|
|
public $pluginDescription = 'A simple plugin which adds support for D&D 5e.';
|
|
public $configName = 'dnd';
|
|
public $configMatrix = [
|
|
'enabled' => [
|
|
'type' => 'radio',
|
|
'pretty' => 'Enable D&D plugin.',
|
|
'default' => true,
|
|
],
|
|
];
|
|
public $permissionMatrix = [
|
|
'canCreateCharacters' => [
|
|
'pretty' => 'Can use the character creator',
|
|
'default' => true,
|
|
],
|
|
'canCreateClasses' => [
|
|
'pretty' => 'Can add Classes.',
|
|
'default' => true,
|
|
],
|
|
'canCreateItems' => [
|
|
'pretty' => 'Can add Items',
|
|
'default' => true,
|
|
],
|
|
'canCreateMonsters' => [
|
|
'pretty' => 'Can add Monsters',
|
|
'default' => true,
|
|
],
|
|
'canCreateRaces' => [
|
|
'pretty' => 'Can add Races',
|
|
'default' => true,
|
|
],
|
|
'canCreateSkills' => [
|
|
'pretty' => 'Can add Skills',
|
|
'default' => true,
|
|
],
|
|
'canCreateSourceBooks' => [
|
|
'pretty' => 'Can add SourceBooks',
|
|
'default' => true,
|
|
],
|
|
'canCreateSpells' => [
|
|
'pretty' => 'Can add Spells',
|
|
'default' => true,
|
|
],
|
|
];
|
|
public $main_links = [
|
|
[
|
|
'text' => 'Characters',
|
|
'url' => '{ROOT_URL}characters/index',
|
|
],
|
|
[
|
|
'text' => 'D&Databases',
|
|
'url' => [
|
|
[
|
|
'text' => 'Spells',
|
|
'url' => '{ROOT_URL}dndatabase/spells',
|
|
],
|
|
[
|
|
'text' => 'Classes',
|
|
'url' => '{ROOT_URL}dndatabase/classes',
|
|
],
|
|
[
|
|
'text' => 'Races',
|
|
'url' => '{ROOT_URL}dndatabase/races',
|
|
],
|
|
[
|
|
'text' => 'Monsters',
|
|
'url' => '{ROOT_URL}dndatabase/monsters',
|
|
],
|
|
[
|
|
'text' => 'Items',
|
|
'url' => '{ROOT_URL}dndatabase/items',
|
|
],
|
|
[
|
|
'text' => 'Skills',
|
|
'url' => '{ROOT_URL}dndatabase/skills',
|
|
],
|
|
[
|
|
'text' => 'SourceBooks',
|
|
'url' => '{ROOT_URL}dndatabase/sourcebooks',
|
|
],
|
|
],
|
|
],
|
|
];
|
|
public $admin_links = [
|
|
[
|
|
'text' => '<i class="fa fa-fw fa-arrows-v"></i> DnD-Database',
|
|
'url' => [
|
|
[
|
|
'text' => '<i class="fa fa-fw fa-database"></i> Classes',
|
|
'url' => '{ROOT_URL}admin/classes',
|
|
],
|
|
[
|
|
'text' => '<i class="fa fa-fw fa-database"></i> Gods',
|
|
'url' => '{ROOT_URL}admin/gods',
|
|
],
|
|
[
|
|
'text' => '<i class="fa fa-fw fa-database"></i> Items',
|
|
'url' => '{ROOT_URL}admin/items',
|
|
],
|
|
[
|
|
'text' => '<i class="fa fa-fw fa-database"></i> Languages',
|
|
'url' => '{ROOT_URL}admin/languages',
|
|
],
|
|
[
|
|
'text' => '<i class="fa fa-fw fa-database"></i> Monsters',
|
|
'url' => '{ROOT_URL}admin/monsters',
|
|
],
|
|
[
|
|
'text' => '<i class="fa fa-fw fa-database"></i> Races',
|
|
'url' => '{ROOT_URL}admin/races',
|
|
],
|
|
[
|
|
'text' => '<i class="fa fa-fw fa-database"></i> Skills',
|
|
'url' => '{ROOT_URL}admin/skills',
|
|
],
|
|
[
|
|
'text' => '<i class="fa fa-fw fa-database"></i> Source Books',
|
|
'url' => '{ROOT_URL}admin/sourcebooks',
|
|
],
|
|
[
|
|
'text' => '<i class="fa fa-fw fa-database"></i> Spells',
|
|
'url' => '{ROOT_URL}admin/spells',
|
|
],
|
|
[
|
|
'text' => '<i class="fa fa-fw fa-database"></i> Traits',
|
|
'url' => '{ROOT_URL}admin/traits',
|
|
],
|
|
],
|
|
],
|
|
];
|
|
}
|
|
|
|
// would be cool to have mmo-style character creator
|
|
// need a highlight mode with question mark popups that give you more info
|
|
// allow players to 'use' swap and adjust spells and spell slots
|
|
// need to highlight aspects that need to be filled out such as adding spells, picking traits or skills etc.
|
|
|
|
// need to add a system for importing the jsons i make
|