Class:Discipline/ability
| Class | |
|---|---|
| Title | Discipline ability |
| Änderungsdatum | 13.03.2016 21:14:59 |
| Store available | smw |
| Smw class | Discipline/ability |
| Namespace | MAIN |
| Beschreibt eine einzelne Fähigkeit einer Disziplin. | |
| Pages | |
| Module | Module:Discipline/ability |
| Class | Module:Discipline/ability/class |
| Config | Module:Discipline/ability/config |
| Template | Template:Discipline/ability |
| Gardening | Category:Discipline with incorrect data |
| Identity | |
| name | Name |
| level | Stufe |
| vitae | Vitae |
| willpower | Willenskraft |
| roll | Wurf auf |
| target | Ziel |
| duration | Dauer |
| flavour | Beschreibung |
| system | System |
| on_page | Seite |
| Properties | |
| Number | Costs_vitae |
| Number | Costs_willpower |
| Text | Has_ability_name |
| Text | Has_instruction |
| Number | Has_level |
| Text | Has_short_description |
| Page | Is_associated_to_page |
| Text | Is_identified_by_classengine_through |
| Text | Is_member_of_class |
| Text | Lasts_for |
| Text | Needs_roll_on |
| Text | Targets |
Beschreibt eine einzelne Fähigkeit einer Disziplin.
Class identity
| Parameter | Label | Severity | Cardinality | Description |
|---|---|---|---|---|
| name | Name | mandatory | single | Der Name der Fähigkeit |
| level | Stufe | mandatory | single | Disziplinstufe der Fähigkeit |
| vitae | Vitae | suggested | single | Die Kosten an Vitae zum Aktivieren der Fähigkeit |
| willpower | Willenskraft | suggested | single | Die Kosten an Willenskraft zum Aktivieren der Fähigkeit |
| roll | Wurf auf | suggested | single | Auf welche Attribut/Fähigkeit Kombination müsste der Anwender zum Aktivieren würfeln. |
| target | Ziel | suggested | single | Das Ziel des Spruches, z.B. 'alle Personen im Raum', 'ein Angreifer in max. 30m' oder 'selbst'. |
| duration | Dauer | suggested | single | Wie länge hält die aktivierte Fähigkeit an. Z.b. 'eine Szene', 'ein Kampf', 'eine Runde' oder 'bis auf Widerruf'. |
| flavour | Beschreibung | mandatory | single | Der Flavourtext der Fähigkeit. Steht in den Quellen üblicherweise über der 'System'-Beschreibung. |
| system | System | mandatory | single | Spielrelevante Anleitung zur Durchführung |
| on_page | Seite | mandatory | single | Auf welcher Disziplin-Seite wurde diese Fähigkeit hinzugefügt |
Data Storage
Semantic properties used in this class: |
|---|
|
Page status
This status may be inaccurate, if you just created pages. In that case, run jobs and clear cache of this page.
| Module:Discipline/ability | |
|---|---|
| Module:Discipline/ability/doc | |
| Module:Discipline/ability/class | |
| Module:Discipline/ability/class/doc | |
| Module:Discipline/ability/config | |
| Module:Discipline/ability/config/doc | |
| Template:Discipline/ability | |
| Template:Discipline/ability/doc | |
| Category:Discipline with incorrect data | |
| Property pages for your smw store | |
| Property:Costs_vitae | |
| Property:Costs_willpower | |
| Property:Has_ability_name | |
| Property:Has_instruction | |
| Property:Has_level | |
| Property:Has_short_description | |
| Property:Is_associated_to_page | |
| Property:Is_identified_by_classengine_through | |
| Property:Is_member_of_class | |
| Property:Lasts_for | |
| Property:Needs_roll_on | |
| Property:Targets | |
Page autocreation
All pages present!
Note: Creation of module pages is impossible due to an incompatibility issue.
Page contents
Contents of Module:Discipline/ability [EDIT] |
|---|
local p = {}
local Class = require('Module:Discipline/ability/class')
local getArgs = require('Module:Arguments').getArgs
function p.categorize(frame)
return tostring(Class:categorize())
end
function p.categoryPage(frame)
return tostring(Class:categoryPage())
end
function p.explainDataStore(frame)
return tostring(Class:explainDataStore())
end
function p.gardeningCategoryPage(frame)
return tostring(Class:gardeningCategoryPage())
end
function p.sfGenerateForm(frame)
return tostring(Class:sfGenerateForm())
end
function p.sfGenerateFormEntry(frame)
return tostring(Class:sfGenerateFormEntry())
end
function p.sfGenerateFormLink(frame)
return tostring(Class:sfGenerateFormLink())
end
function p.templateDocumentation(frame)
return tostring(Class:templateDocumentation())
end
function p.main(frame)
local args = getArgs(frame)
local me = Class:new(mw.title.getCurrentTitle().prefixedText)
me:initFromArgs(args)
me:storeData()
me:addInfobox()
me:addPageBody()
return me:render()
end
return p
|
Contents of Module:Discipline/ability/doc [EDIT] |
|---|
{{documentation subpage}}
{{module rating|protected}}{{lua|Module:Arguments|Module:Discipline/ability/class}}
<!-- Categories go at the bottom of this page and interwikis go in Wikidata. -->
This module implements template {{tl|Discipline/ability}}.
== Usage ==
{{pre|
{{tli|Discipline/ability|''main''}}
}}
It also provides some additional "gateways" to some of [[Module:Discipline/ability/class]]'s static methods:
{{pre|
{{tli|Discipline/ability|''categorize''}}
{{tli|Discipline/ability|''categoryPage''}}
{{tli|Discipline/ability|''explainDataStore''}}
{{tli|Discipline/ability|''gardeningCategoryPage''}}
{{tli|Discipline/ability|''sfGenerateForm''}}
{{tli|Discipline/ability|''sfGenerateFormEntry''}}
{{tli|Discipline/ability|''sfGenerateFormLink''}}
{{tli|Discipline/ability|''templateDocumentation''}}
}}
{{#invoke:Discipline/ability|categorize}}<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||
<!-- Note: The class engine sets the category "CamNet modules" automatically in function categorize -->
<!-- Categories go here if you wish an additional category to that set in {{module rating}} above automatically. -->
}}</includeonly><h2>Maintenanace notes</h2>
This page was created by [[Module:Classgenerator]] and belongs to [[Class:Discipline/ability]].
|
Contents of Module:Discipline/ability/class [EDIT] |
|---|
local FoundationClass = require('Module:Foundationclass')
local ClassDebug = require('Module:Debug/class')
-- ****************************************************************
-- * inheritance *
-- ****************************************************************
local ClassDisciplineAbility = FoundationClass:subclass('Discipline/ability')
-- setting class's configuration data
ClassDisciplineAbility.static.myConfiguration = mw.loadData('Module:Discipline/ability/config') -- this means, modules on subpages have a / in their names
-- being in a static method, use self.myConfiguration
-- being in a private method, that knows self or in a public method, use self.class.myConfiguration
-- ****************************************************************
-- * properties *
-- ****************************************************************
-- **************** initialization of table for private properties
local _private = setmetatable({}, {__mode = 'k'}) -- weak table storing all private attributes
-- **************** declaration of public static properties
-- ClassDisciplineAbility.static.myPropertyModule = require('Module:extern')
-- ClassDisciplineAbility.static.staticProperty = ' '
-- remember the static classes provided by Foundationclass:
-- ClassDisciplineAbility.globalConfig
-- ClassDisciplineAbility.myCargoUtil
-- ClassDisciplineAbility.mySmwUtil
-- ClassDisciplineAbility.myTableTools
-- ClassDisciplineAbility.myYesno
-- **************** declaration of (global) private properties
-- for properties you should rather use constructor and _private[self]. this only, if you need a private class property
-- you should, however predeclare private methods here
local _debug -- private method declared later
local _privateMethodAhead -- declaration ahead, so this private method can be used in the constructor and in other private methods
-- ***************************************************************
-- * methods *
-- ***************************************************************
-- **************** declaration of static methods
function ClassDisciplineAbility:initialize(uid, superhandler)
local _CFG = self.class.myConfiguration
FoundationClass.initialize(self, uid, superhandler)
_private[self] = {
dbg = ClassDebug:new(tostring(self.class) .. ': id ' .. uid),
}
_debug(self, 1, ' ClassDisciplineAbility: done initializing object "' .. uid ..'", from ' .. tostring(self))
end
-- use use self.myConfiguration to access your configuration in a static method
function ClassDisciplineAbility.static:aStaticMethod(var)
_debug(self, 1, 'entering ClassDisciplineAbility.static:aStaticMethod() to do something, from ' .. tostring(self))
end
function ClassDisciplineAbility.static:mySfDynamicFieldAttribute(fieldname, attribute, value)
_debug(self, 1, 'entering ClassDisciplineAbility.static:mySfDynamicFieldAttribute(fieldname, attribute, value), from ' .. tostring(self))
_debug(self, 2, ' with parameters "' .. fieldname .. '", "' .. attribute .. '" and a ' .. type(value) .. ' value')
-- function that can process any attribute/value pair just before rendering the semantic forms field
-- usually done, to generate a dynamic 'default' value
-- keep in mind: you can completely disable a form field, if you return true on attribute "disable".
-- however, this causes the parameter to not show at all, neither in the form, nor in processing
local val = value
if fieldname == 'this' and attribute == 'that' then
val = 'whatever ' .. val
end
return val -- this value will be used as new value for field's attribute
end
-- **************** declaration of private methods
-- use self.class.myConfiguration to access your configuration in a public or a private method that is called by a public method
_debug = function (self, level, text)
if _private[self] and _private[self].dbg then
local debugLevel = FoundationClass.globalConfig.debugLevel or self.class.myConfiguration.global.debugLevel
if debugLevel and level <= debugLevel then
_private[self].dbg:log(level, text)
end
else
local debugLevel = FoundationClass.globalConfig.debugLevel or self.myConfiguration.global.debugLevel
if debugLevel and level <= debugLevel then
ClassDebug:log(level, text, tostring(self) .. '.static')
end
end
end
local _privateMethod = function (self)
_debug(self, 1, 'entering private _privateMethod() to do something, from ' .. tostring(self))
end
-- **************** declaration of public methods
-- use self.class.myConfiguration to access your configuration in a public method
function ClassDisciplineAbility:addInfobox()
_debug(self, 1, 'entering ClassDisciplineAbility:addInfobox(), from ' .. tostring(self))
if self:goodToGo() then
local _CFG = self.class.myConfiguration
local coreData = self:getCoreData()
local ib_args = {
bodyclass = 'infobox_name',
aboveclass = 'objtitle titletext',
headerclass = 'headertext',
labelstyle = 'width: 30%;',
datastyle = 'width: 70%;',
title = self:getUid(),
above = _CFG.global.entityTitle,
subheader = nil,
label1 = _CFG.parameter.name.label,
data1 = coreData.name and coreData.name or nil,
header1 = nil,
}
self:addOutput(require('Module:Infobox').infobox(ib_args))
return true
end
return false
end
function ClassDisciplineAbility:addPageBody()
_debug(self, 1, 'entering ClassDisciplineAbility:addPageBody(), from ' .. tostring(self))
_debug(self, 2, ' rendering errors and warnings and adding them to output')
local frame = mw.getCurrentFrame()
self:addOutput(self:renderErrors())
self:addOutput(self:renderWarnings())
if self:goodToGo() then
self:addOutput('No output yet')
return true
end
return false
end
function ClassDisciplineAbility:myArgumentProcessing(coreData)
_debug(self, 1, 'entering ClassDisciplineAbility:myArgumentProcessing(args) to process coreData, from ' .. tostring(self))
-- function that performs some individual transformation args --> coreData
-- remember: you can add warnings to your output with self:addWarning(warning). the page, however, will not be put in any gardening category. for that, use self:addError()
-- hint: for conversion bool values, this is useful: FoundationClass.myYesno
local coreData = coreData
return coreData -- this is your new coreData.
end
function ClassDisciplineAbility:myDataAdjustments(data)
_debug(self, 1, 'entering ClassDisciplineAbility:myDataAdjustments(data) to convert data from data store into data suitable for argument processing, from ' .. tostring(self))
-- function that performs some individual transformation datastore data into argument data
-- keep in mind, when using smw data store, that data is indexed by parameter names, not properties
-- hint: for conversion bool values, this is useful: FoundationClass.myYesno
local data = data
return data -- this is your new data table, being passed on to initFromArgs and subsequently to plausibility testing
end
function ClassDisciplineAbility:myPlausibilityTest(args)
_debug(self, 1, 'entering ClassDisciplineAbility:myPlausibilityTest(args) to test arguments, from ' .. tostring(self))
-- function that performs the individual plausibility tests
-- note: before you access a field args.fieldname you should check for existance
-- use self:addError(text); this also puts the page in its class's gardening category
return false -- return value will be ignored. but if you add any error, the object's initialization will fail with the error
end
function ClassDisciplineAbility:myStashAdjustments(stash, storeType)
_debug(self, 1, 'entering ClassDisciplineAbility:myStashAdjustments(stash) to do some minor adjustments on data before storing, from ' .. tostring(self))
-- function that alters the stash before storing the data. if necessary, you can complate skip storing this stash, if you return false or the empty table {}
-- storeType is the actual method of storage for this call. either 'cargo', or 'smw'
-- hint: for conversion bool values, this is useful: FoundationClass.myYesno
local stash = stash
return stash -- this is your new stash. this will be stored. it has format (fieldname: value)
end
function ClassDisciplineAbility:method()
_debug(self, 1, 'entering ClassDisciplineAbility:method() to do something, from ' .. tostring(self))
return true
end
return ClassDisciplineAbility
|
Contents of Module:Discipline/ability/class/doc [EDIT] |
|---|
{{documentation subpage}}
{{module rating|protected}}{{lua|Module:Debug/class|Module:Foundationclass|Module:Discipline/ability/config}}
<!-- Categories go at the bottom of this page and interwikis go in Wikidata. -->
This is a Class Module. It implements a class in Lua using [[Module:Middleclass]] and the template class [[Module:Foundationclass]]. This class provides methods for PURPOSE.
== Usage ==
{{code|lang=lua|code=
local name = args[1] or args.name or mw.title.getCurrentTitle().rootText
local Class = require('Module:Discipline/ability/class')
local me = Class:new(mw.title.getCurrentTitle().prefixedText)
me:initFromArgs(args)
me:storeData()
me:addInfobox()
me:addPageBody()
return me:render()
}}
{{#invoke:Discipline/ability|explainDataStore}}
== Methods ==
=== Constructor ===
==== new(uid, superhandler) ====
Creates a new Object for the class.
;uid
:variable, optional
:used to identify the object
;superhandler
:object of childclass of Foundationclass, optional
:supply the superhandler, if you instanciate this object within another object. the instanciated object will pass errors and warnings to the superhandler and forgo adding the object category
;return
:object, of the class
=== public methods ===
==== addInfobox() ====
If no errors and data is present, adds an infobox to the object's output.
{{small|
;return
:boolean, whether adding was successful or not
}}
==== addPageBody() ====
Adds a page body (all content besides the infobox) to the object's output: Errors and Warnings, sample configuration, statistics, ... Of course, only if there is data.
{{small|
;return
:boolean, whether adding was successful or not
}}
==== myArgumentProcessing(coreData) ====
Performs the individual argument processing in [[#initFromArgs(args)|initFromArgs(args)]] right before inititializing it.
{{small|
;coreData
:table, mandatory
:the core data of the object. the one to process individually before initialization
;return
:table, the new core data array to be used
}}
==== myDataAdjustments(data) ====
Performs a transformation form data (coming from the datastore) into data used for argument processing. This is called by [[#initFromData(data)|initFromData(data)]] (for smw: after property to parameter conversion)
and is directly passed to [[#initFromArgs(args)|initFromArgs(args)]] and subsequently plausibility test.
{{small|
;data
:table, mandatory
:a data table coming directly from the data store
;return
:table, the new data table suiteable for argument processing
}}
==== myPlausibilityTest(args) ====
Performs the individual plausibility tests in [[#initFromArgs(args)|initFromArgs(args)]] before entering the initialization part.
NOTE: The return value will be ignored. If this finds errors, it must add them to the list of errors via [[#addError(errortext)|addError(errortext)]].
{{small|
;args
:table, mandatory
:arguments passed to the template to be checked
;return
:boolean, whether the object is plausible or not.
}}
==== myStashAdjustments(stash, storeType) ====
Performs the adjusts the stash in [[#storeData()|storeData()]] right before storing it.
{{small|
;stash
:table, mandatory
:the array of data to be saved (in the form fieldname: value)
;storeType
:string, mandatory
:type of storage method used with the current call (either 'cargo' or 'swm'). In case you use both stores and your stash adjustment differs with each of this methods
;return
:boolean, the new stash
}}
=== static methods ===
==== ClassDisciplineAbility:mySfDynamicFieldAttribute(fieldname, attribute, value) ====
For some semantic form fields there are attribute values, that are not static, thus can not be provided at forehand in the [[#Configuration Data|configuration file]]. This method does the trick to adapt them at runtime shortly before the field is rendered.
Essentially: the method checks, if it has a special rule for the pair fieldname:attribute and if so, calculates the new value. if not, the old value is returned. Note, that you can completely disable a form field with this when you
return false on attribute "disable".
{{small|
;fieldname
:string, mandatory
:the form field's name, needed to match current paring to an existing special treatment rule
;attribute
:string, mandatory
:the form field's attribute, needed to match current paring to an existing special treatment rule
;value
:variable, mandatory
:the value, that is already provided in the [[#Configuration Data|configuration file]]. this will be adapted by the method, if there is a special rule for the pair fieldname:attribute.
;return
:string, the value to be used forthwith (which can be the old one or a freshly calculated)
}}
=== private methods ===
==== _debug(self, level, text) ====
Adds output to the internal debug log.
{{small|
;self
:object, me
;level
:int; mandatory
:debug level for the message
;text
:string; mandatory
:debug message text
;return
:void
}}
== Properties ==
=== static ===
See also [[#Static Properties|Static Properties]]
;ClassDisciplineAbility.myConfiguration
:this is your configuration. It is devided in several section, each a
:table, holds configuration data found in Module:Discipline/ability/config
::'''WARNING:''' This is a read only table and besides functions ''pairs()'' and ''ipairs()'' nothing else will work on it, especially not the functions of the table library!
<ul>
* form, table, holds data used to create the form. here are some of them:
** formButtons, table, which buttons should be printed at the bottom
** fieldOrder, table, in which order the form fields should appear (note: only fields listed here will be added to the form)
* global, table, holds some global configuration data
* parameter, table, holds all data about all parameter used in the module (be they form only, data store only or normal). The table has the form ''paramname = { table of paramdata }''. The tables for the parameter have data as follows:
** cardinality, string, mandatory, one of singe or list
** cargo_type, string, optional, if the parameter is to be stored in cargo, add the field type here (one of Page, Text, Integer, Float, Date, Datetime, Boolean (which should be provided as 1 or 0), Coordinates, Wikitext, File, String, URL, or Email)
** description, string, mandatory, a description of this parameter
** label, string, mandatory, the label used in the form and the template documentation
** property_name, string, optional, if the parameter is to be stored in smw, add the property name here
** property_type, string, optional, if the parameter is to be stored in smw, add the property type here (defaults to page)
** severity, string, optional, if provided one of mandatory, suggested
** sf, table, optional, used to add more attributes to the semantic forms field. ref [[Module:SFfield/config]] for all possible attributes. Note that the table is of type attribute_name : value. Value can be of type string, integer, boolean, and (in case of 'show on select') a table. Please note, that the attribute name cannot contain a " " (space). Use the underscore instead.
** td_default, string, optional, if you want a default value to be indicated in the template data section on the documentation page, add it here
** td_type, string, optional, if the parameter should be present in the template documentation page, fill this field. all possible values are listed [https://www.mediawiki.org/wiki/Extension:TemplateData#Format here]
** values, table, optional, if you want the possible values to be restricted to a specific set, fill this table
* template, table, holds some data used only in the template
</ul>
;ClassDisciplineAbility.publicStaticProperty
:type, explanation
;_privateStaticProperty
:type, explanation
=== private ===
Note: all private properties are stored in table ''_private[self]''. _private is a static array that is indexed by ''self'', so the table ''_private[self]'' holds all properties for instance ''self''.
;dbg
:object, my instance of [[Module:Debug/class]] for debugging purposes. only present afer first call of [[#_debug(self, level, text)|_debug(self, level, text)]]
== Configuration Data ==
This class holds its control data in [[Module:{{ROOTPAGENAME}}/config]].
== Inheritance ==
'''Note:''' You still reference those either by self:publicMethod() or ClassDisciplineAbility:staticMethod() and ClassDisciplineAbility.staticProperty respectively!
=== Methods ===
{{MediaWiki:Classengine-content-documentation-methods}}
=== Static Properties ===
{{MediaWiki:Classengine-content-documentation-properties}}
{{#invoke:Discipline/ability|categorize}}<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||
<!-- Note: the class engine sets the categories "CamNet modules" and "Lua class modules" automatically in categorize -->
<!-- Categories go here if you wish an additional category to that set in {{module rating}} above automatically. -->
}}</includeonly><h2>Maintenanace notes</h2>
This page was created by [[Module:Classgenerator]] and belongs to [[Class:Discipline/ability]].
|
Contents of Module:Discipline/ability/config [EDIT] |
|---|
-- This is the configuration for ClassDisciplineAbility. It has been autocreated by Module:Classgenerator.
-- It is strongly suggested, you use the form to make alterations and copy the new configuration an this page!
local superglobal = mw.loadData('Module:Foundationclass/globalconfig')
local global = {
debugLevel = false,
entityTitle = 'Discipline ability',
description = 'Beschreibt eine einzelne Fähigkeit einer Disziplin.',
category = nil,
gardeningCategory = 'Discipline with incorrect data',
namespace = nil,
cargoTable = nil,
smwUseStorage = true,
smwIsSubobject = true,
restrictedTo = nil,
delimiter = ',',
}
local form = {
enable = true,
name = nil,
teaserText = nil,
typeCreateLink = 'none',
createInfotext = nil,
createInputPlaceholder = nil,
createInputQueryString = nil,
createLinkPageName = nil,
createLinkQueryString = nil,
createLinkType = nil,
labelCreate = 'Disziplinfähigkeit hinzufügen',
labelEdit = 'Disziplinfähigkeit bearbeiten',
headerText = 'Beschreibt eine einzelne Fähigkeit in einer Disziplin oder eines Wegs (thaumaturgisch oder nekromantisch)',
notification = nil,
sectionList = nil,
allowsFreeText = false,
freeTextPreload = nil,
buttons = { 'save', 'preview', 'changes', 'cancel', },
fieldSize = 80,
textareaAttributes = { -- the defaults for your textarea fields
cols = 80,
rows = 12,
autogrow = false,
editor = 'wikieditor',
},
fieldOrder = { 'name', 'level', 'vitae', 'willpower', 'roll', 'target', 'duration', 'flavour', 'system', },
}
local template = {
name = 'Discipline/ability',
templateDocumentationSeeAlso = { 'Discipline', },
}
local parameter = {
name = {
cardinality = 'single',
description = 'Der Name der Fähigkeit',
label = 'Name',
property_name = 'Is_titled',
property_type = 'Text',
severity = 'mandatory',
sf = {
input_type = 'text',
},
td_type = 'line',
},
level = {
cardinality = 'single',
description = 'DIsziplinstufe der Fähigkeit',
label = 'Stufe',
property_name = 'Has_level',
property_type = 'Number',
severity = 'mandatory',
sf = {
default = 1,
input_type = 'radiobutton',
},
td_type = 'number',
values = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, },
},
vitae = {
cardinality = 'single',
description = 'Die Kosten an Vitae zum Aktivieren der Fähigkeit',
label = 'Vitae',
property_name = 'Costs_vitae',
property_type = 'Number',
severity = 'suggested',
sf = {
base_type = 'text',
default = 0,
input_type = 'regexp',
regexp = '/^[0-9]*$/',
},
td_type = 'number',
},
willpower = {
cardinality = 'single',
description = 'Die Kosten an Willenskraft zum Aktivieren der Fähigkeit',
label = 'Willenskraft',
property_name = 'Costs_willpower',
property_type = 'Number',
severity = 'suggested',
sf = {
base_type = 'text',
default = 0,
input_type = 'regexp',
regexp = '/^[0-9]*$/',
},
td_type = 'number',
},
roll = {
cardinality = 'single',
description = 'Auf welche Attribut/Fähigkeit Kombination müsste der Anwender zum Aktivieren würfeln.',
label = 'Wurf auf',
property_name = 'Needs_roll_on',
property_type = 'Text',
severity = 'suggested',
sf = {
input_type = 'text with autocomplete',
},
td_type = 'line',
},
target = {
cardinality = 'single',
description = 'Das Ziel des Spruches, z.B. \'alle Personen im Raum\', \'ein Angreifer in max. 30m\' oder \'selbst\'.',
label = 'Ziel',
property_name = 'Targets',
property_type = 'Text',
severity = 'suggested',
sf = {
input_type = 'text with autocomplete',
},
td_type = 'line',
},
duration = {
cardinality = 'single',
description = 'Wie länge hält die aktivierte Fähigkeit an. Z.b. \'eine Szene\', \'ein Kampf\', \'eine Runde\' oder \'bis auf Widerruf\'.',
label = 'Dauer',
property_name = 'Lasts_for',
property_type = 'Text',
severity = 'suggested',
sf = {
input_type = 'text with autocomplete',
},
td_type = 'line',
},
flavour = {
cardinality = 'single',
description = 'Der Flavourtext der Fähigkeit. Steht in den Quellen üblicherweise über der \'System\'-Beschreibung.',
label = 'Beschreibung',
property_name = 'Has_short_description',
property_type = 'Text',
severity = 'mandatory',
sf = {
autogrow = false,
input_type = 'textarea',
},
td_type = 'string',
},
system = {
cardinality = 'single',
description = 'Spielrelevante Anleitung zur Durchführung',
label = 'System',
property_name = 'Has_instruction',
property_type = 'Text',
severity = 'mandatory',
sf = {
input_type = 'textarea',
},
td_type = 'string',
},
}
return {
form = form,
global = global,
parameter = parameter,
template = template,
}
|
Contents of Module:Discipline/ability/config/doc [EDIT] |
|---|
{{documentation subpage}}
{{module rating|protected}}{{lua|Module:Foundationclass/globalconfig}}
<!-- Categories go at the bottom of this page and interwikis go in Wikidata. -->
This module provides data for [[Module:Discipline/ability/class]]
== Usage ==
{{code|lang=lua|code=local cfg = mw.loadData('Module:Discipline/ability/config')}}
{{#invoke:Discipline/ability|categorize}}<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||
<!-- Note: The class engine sets the categories "CamNet modules" and "Lua class modules" automatically in function categorize -->
<!-- Categories go here if you wish an additional category to that set in {{module rating}} above automatically. -->
}}</includeonly><h2>Maintenanace notes</h2>
This page was created by [[Module:Classgenerator]] and belongs to [[Class:Discipline/ability]].
{{ombox| type=content | text = It is strongly advised, to not edit this page but to use [https://{{SERVERNAME}}{{SCRIPTPATH}}/Special:FormEdit/Classgenerator/Class%3ADiscipline%2Fability the Classgenerator form] instead! After that, use your new configuration to replace the contents of this page.}} |
Contents of Template:Discipline/ability [EDIT] |
|---|
{{#invoke:Discipline/ability|main|{{BASEPAGENAME}}}}<noinclude>
{{documentation}}
</noinclude> |
Contents of Template:Discipline/ability/doc [EDIT] |
|---|
{{Documentation subpage}}
<!-- Categories go at the bottom of this page. -->
{{#invoke:Discipline/ability|templateDocumentation}}
{{#invoke:Discipline/ability|categorize}}<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | |
<!-- Note: The class engine sets the category "CamNet templates" automatically in function categorize -->
<!-- ADD CATEGORIES AFTER THIS LINE -->
}}</includeonly><h2>Maintenanace notes</h2>
This page was created by [[Module:Classgenerator]] and belongs to [[Class:Discipline/ability]].
|
Contents of Category:Discipline with incorrect data [EDIT] |
|---|
{{#invoke:Discipline/ability|gardeningCategoryPage}}{{#invoke:Discipline/ability|categorize}}
<!-- Note: The class engine sets category "CamNet entities with erroneous input" automatically in function categorize --> |
All property pages
Contents of Property:Costs_vitae [EDIT] |
|---|
== Description ==
<div class="description-box">Die Kosten an Vitae zum Aktivieren der Fähigkeit</div>
== Type ==
* This is an attribute of the datatype [[Has type::Number]].
== Allowed values ==
No restriction given
{{#invoke:Discipline/ability|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Costs_willpower [EDIT] |
|---|
== Description ==
<div class="description-box">Die Kosten an Willenskraft zum Aktivieren der Fähigkeit</div>
== Type ==
* This is an attribute of the datatype [[Has type::Number]].
== Allowed values ==
No restriction given
{{#invoke:Discipline/ability|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Has_ability_name [EDIT] |
|---|
== Description ==
<div class="description-box">Der Name der Fähigkeit</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
No restriction given
{{#invoke:Discipline/ability|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Has_instruction [EDIT] |
|---|
== Description ==
<div class="description-box">Spielrelevante Anleitung zur Durchführung</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
No restriction given
{{#invoke:Discipline/ability|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Has_level [EDIT] |
|---|
== Description ==
<div class="description-box">Disziplinstufe der Fähigkeit</div>
== Type ==
* This is an attribute of the datatype [[Has type::Number]].
== Allowed values ==
The allowed values are:
* [[Allows value::1]]
* [[Allows value::2]]
* [[Allows value::3]]
* [[Allows value::4]]
* [[Allows value::5]]
* [[Allows value::6]]
* [[Allows value::7]]
* [[Allows value::8]]
* [[Allows value::9]]
* [[Allows value::10]]
{{#invoke:Discipline/ability|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Has_short_description [EDIT] |
|---|
== Description ==
<div class="description-box">Der Flavourtext der Fähigkeit. Steht in den Quellen üblicherweise über der 'System'-Beschreibung.</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
No restriction given
{{#invoke:Discipline/ability|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Is_associated_to_page [EDIT] |
|---|
== Description ==
<div class="description-box">Auf welcher Disziplin-Seite wurde diese Fähigkeit hinzugefügt</div>
== Type ==
* This is an attribute of the datatype [[Has type::Page]].
== Allowed values ==
No restriction given
{{#invoke:Discipline/ability|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Is_identified_by_classengine_through [EDIT] |
|---|
== Description ==
<div class="description-box">Automatisch hinzugefügt! Wird verwendet, um individuelle Objekte innerhalb der Klasse zu identifizieren.</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
No restriction given
{{#invoke:Discipline/ability|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Is_member_of_class [EDIT] |
|---|
== Description ==
<div class="description-box">Automatisch hinzugefügt! Wird verwendet, um Mitglieder dieser Klasse zu finden (funktioniert auch, ohne dass eine Kategorie definiert wird und auch fur subobjects)</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
No restriction given
{{#invoke:Discipline/ability|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Lasts_for [EDIT] |
|---|
== Description ==
<div class="description-box">Wie länge hält die aktivierte Fähigkeit an. Z.b. 'eine Szene', 'ein Kampf', 'eine Runde' oder 'bis auf Widerruf'.</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
No restriction given
{{#invoke:Discipline/ability|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Needs_roll_on [EDIT] |
|---|
== Description ==
<div class="description-box">Auf welche Attribut/Fähigkeit Kombination müsste der Anwender zum Aktivieren würfeln.</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
No restriction given
{{#invoke:Discipline/ability|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Targets [EDIT] |
|---|
== Description ==
<div class="description-box">Das Ziel des Spruches, z.B. 'alle Personen im Raum', 'ein Angreifer in max. 30m' oder 'selbst'.</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
No restriction given
{{#invoke:Discipline/ability|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |