Mudanças entre as edições de "Predefinição:Character"

De Wiki Gla
Ir para navegação Ir para pesquisar
m
m
 
(33 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
<includeonly>
<templatestyles src="Template:Character/styles.css" />
{{#invoke:Character|generate
| name      = {{{name|}}}
| tier      = {{{tier|}}}
| desc      = {{{desc|}}}
| class      = {{{class|}}}
| image      = {{{image|}}}
<!-- Skills (1-21) -->
| skill1-name  = {{{skill1-name|}}} | skill1-icon  = {{{skill1-icon|}}} | skill1-level = {{{skill1-level|}}} | skill1-desc = {{{skill1-desc|}}} | skill1-attr  = {{{skill1-attr|}}} | skill1-video = {{{skill1-video|}}}
| skill2-name  = {{{skill2-name|}}} | skill2-icon  = {{{skill2-icon|}}} | skill2-level = {{{skill2-level|}}} | skill2-desc = {{{skill2-desc|}}} | skill2-attr  = {{{skill2-attr|}}} | skill2-video = {{{skill2-video|}}}
| skill3-name  = {{{skill3-name|}}} | skill3-icon  = {{{skill3-icon|}}} | skill3-level = {{{skill3-level|}}} | skill3-desc = {{{skill3-desc|}}} | skill3-attr  = {{{skill3-attr|}}} | skill3-video = {{{skill3-video|}}}
| skill4-name  = {{{skill4-name|}}} | skill4-icon  = {{{skill4-icon|}}} | skill4-level = {{{skill4-level|}}} | skill4-desc = {{{skill4-desc|}}} | skill4-attr  = {{{skill4-attr|}}} | skill4-video = {{{skill4-video|}}}
| skill5-name  = {{{skill5-name|}}} | skill5-icon  = {{{skill5-icon|}}} | skill5-level = {{{skill5-level|}}} | skill5-desc = {{{skill5-desc|}}} | skill5-attr  = {{{skill5-attr|}}} | skill5-video = {{{skill5-video|}}}
| skill6-name  = {{{skill6-name|}}} | skill6-icon  = {{{skill6-icon|}}} | skill6-level = {{{skill6-level|}}} | skill6-desc = {{{skill6-desc|}}} | skill6-attr  = {{{skill6-attr|}}} | skill6-video = {{{skill6-video|}}}
| skill7-name  = {{{skill7-name|}}} | skill7-icon  = {{{skill7-icon|}}} | skill7-level = {{{skill7-level|}}} | skill7-desc = {{{skill7-desc|}}} | skill7-attr  = {{{skill7-attr|}}} | skill7-video = {{{skill7-video|}}}
| skill8-name  = {{{skill8-name|}}} | skill8-icon  = {{{skill8-icon|}}} | skill8-level = {{{skill8-level|}}} | skill8-desc = {{{skill8-desc|}}} | skill8-attr  = {{{skill8-attr|}}} | skill8-video = {{{skill8-video|}}}
| skill9-name  = {{{skill9-name|}}} | skill9-icon  = {{{skill9-icon|}}} | skill9-level = {{{skill9-level|}}} | skill9-desc = {{{skill9-desc|}}} | skill9-attr  = {{{skill9-attr|}}} | skill9-video = {{{skill9-video|}}}
| skill10-name = {{{skill10-name|}}} | skill10-icon = {{{skill10-icon|}}} | skill10-level = {{{skill10-level|}}} | skill10-desc = {{{skill10-desc|}}} | skill10-attr = {{{skill10-attr|}}} | skill10-video = {{{skill10-video|}}}
| skill11-name = {{{skill11-name|}}} | skill11-icon = {{{skill11-icon|}}} | skill11-level = {{{skill11-level|}}} | skill11-desc = {{{skill11-desc|}}} | skill11-attr = {{{skill11-attr|}}} | skill11-video = {{{skill11-video|}}}
| skill12-name = {{{skill12-name|}}} | skill12-icon = {{{skill12-icon|}}} | skill12-level = {{{skill12-level|}}} | skill12-desc = {{{skill12-desc|}}} | skill12-attr = {{{skill12-attr|}}} | skill12-video = {{{skill12-video|}}}
| skill13-name = {{{skill13-name|}}} | skill13-icon = {{{skill13-icon|}}} | skill13-level = {{{skill13-level|}}} | skill13-desc = {{{skill13-desc|}}} | skill13-attr = {{{skill13-attr|}}} | skill13-video = {{{skill13-video|}}}
| skill14-name = {{{skill14-name|}}} | skill14-icon = {{{skill14-icon|}}} | skill14-level = {{{skill14-level|}}} | skill14-desc = {{{skill14-desc|}}} | skill14-attr = {{{skill14-attr|}}} | skill14-video = {{{skill14-video|}}}
| skill15-name = {{{skill15-name|}}} | skill15-icon = {{{skill15-icon|}}} | skill15-level = {{{skill15-level|}}} | skill15-desc = {{{skill15-desc|}}} | skill15-attr = {{{skill15-attr|}}} | skill15-video = {{{skill15-video|}}}
| skill16-name = {{{skill16-name|}}} | skill16-icon = {{{skill16-icon|}}} | skill16-level = {{{skill16-level|}}} | skill16-desc = {{{skill16-desc|}}} | skill16-attr = {{{skill16-attr|}}} | skill16-video = {{{skill16-video|}}}
| skill17-name = {{{skill17-name|}}} | skill17-icon = {{{skill17-icon|}}} | skill17-level = {{{skill17-level|}}} | skill17-desc = {{{skill17-desc|}}} | skill17-attr = {{{skill17-attr|}}} | skill17-video = {{{skill17-video|}}}
| skill18-name = {{{skill18-name|}}} | skill18-icon = {{{skill18-icon|}}} | skill18-level = {{{skill18-level|}}} | skill18-desc = {{{skill18-desc|}}} | skill18-attr = {{{skill18-attr|}}} | skill18-video = {{{skill18-video|}}}
| skill19-name = {{{skill19-name|}}} | skill19-icon = {{{skill19-icon|}}} | skill19-level = {{{skill19-level|}}} | skill19-desc = {{{skill19-desc|}}} | skill19-attr = {{{skill19-attr|}}} | skill19-video = {{{skill19-video|}}}
| skill20-name = {{{skill20-name|}}} | skill20-icon = {{{skill20-icon|}}} | skill20-level = {{{skill20-level|}}} | skill20-desc = {{{skill20-desc|}}} | skill20-attr = {{{skill20-attr|}}} | skill20-video = {{{skill20-video|}}}
| skill21-name = {{{skill21-name|}}} | skill21-icon = {{{skill21-icon|}}} | skill21-level = {{{skill21-level|}}} | skill21-desc = {{{skill21-desc|}}} | skill21-attr = {{{skill21-attr|}}} | skill21-video = {{{skill21-video|}}}
<!-- Skins (1-11) -->
| skin1-image = {{{skin1-image|}}} | skin1-banner = {{{skin1-banner|}}} | skin1-tooltip = {{{skin1-tooltip|}}}
| skin2-image = {{{skin2-image|}}} | skin2-banner = {{{skin2-banner|}}} | skin2-tooltip = {{{skin2-tooltip|}}}
| skin3-image = {{{skin3-image|}}} | skin3-banner = {{{skin3-banner|}}} | skin3-tooltip = {{{skin3-tooltip|}}}
| skin4-image = {{{skin4-image|}}} | skin4-banner = {{{skin4-banner|}}} | skin4-tooltip = {{{skin4-tooltip|}}}
| skin5-image = {{{skin5-image|}}} | skin5-banner = {{{skin5-banner|}}} | skin5-tooltip = {{{skin5-tooltip|}}}
| skin6-image = {{{skin6-image|}}} | skin6-banner = {{{skin6-banner|}}} | skin6-tooltip = {{{skin6-tooltip|}}}
| skin7-image = {{{skin7-image|}}} | skin7-banner = {{{skin7-banner|}}} | skin7-tooltip = {{{skin7-tooltip|}}}
| skin8-image = {{{skin8-image|}}} | skin8-banner = {{{skin8-banner|}}} | skin8-tooltip = {{{skin8-tooltip|}}}
| skin9-image = {{{skin9-image|}}} | skin9-banner = {{{skin9-banner|}}} | skin9-tooltip = {{{skin9-tooltip|}}}
| skin10-image = {{{skin10-image|}}} | skin10-banner = {{{skin10-banner|}}} | skin10-tooltip = {{{skin10-tooltip|}}}
| skin11-image = {{{skin11-image|}}} | skin11-banner = {{{skin11-banner|}}} | skin11-tooltip = {{{skin11-tooltip|}}}
}}
{{#widget:Character}}
</includeonly>
<noinclude>
<noinclude>
{{Predefinição:Character/doc}}
<!-- Predefinição:Character — Documentação de Arquitetura -->
</noinclude>
== Arquivos envolvidos ==
 
=== Predefinição ===
* [[Predefinição:Character]] — Ponto de entrada. Invoca <code><nowiki>{{#invoke:C|generate}}</nowiki></code> e carrega todos os widgets.
 
=== Módulos Lua ===
* [[Módulo:C]] — Fachada: re-exporta funções de C.Utils, C.i18n, C.Skin e C.Generate.
* [[Módulo:C.Generate]] — Gera todo o HTML server-side (header, icon-bar, skills, skins, data-attributes i18n).
* [[Módulo:C.i18n]] — Constantes i18n (ATTR, FLAGS, TAB, TIER, TAGS) e funções tierPackFrom / tagsPackFrom.
* [[Módulo:C.Skin]] — Serializa dados de skin (<code><nowiki>{{Skin}}</nowiki></code>) para JSON consumido por C.Generate.
* [[Módulo:C.Utils]] — Utilitários: trim, fileURL, normalizeDim, makeAttrString, requireCharModule, collectJsonObjects.
* [[Módulo:I]] — Fachada do sistema Info: re-exporta I.Utils, I.Skills, I.Expand.
* [[Módulo:I.Skills]] — Gera JSON de skills/skins a partir do módulo do personagem (skill, skin, forms).
* [[Módulo:I.Utils]] — Utilitários Info: trim, colorize, parseFlags, requireCharacterModule.
* [[Módulo:I.Expand]] — Expande tier/tags i18n via token (getTier, getTags, expandTier, expandTags).
 
=== Widgets HTML ===
* [[Widget:C.Base]] — CSS completo: layout, icon-bar, tabs, skins, responsivo, tier visual.
* [[Widget:C.Skills]] — JS principal: seleção de skill, vídeo, atributos, flags, forms, swap de personagens (`data-swap`, `data-only-character`, `data-character-videos`; opcional `data-default-character` no `#skills` via `character_swap_default` no módulo Lua).
* [[Widget:C.Background]] — JS: carrega background via IndexedDB cache + fallback URL.
* [[Widget:C.Skins]] — JS: podium isométrico, tooltip, offset_x, YouTube spotlight.
* [[Widget:C.Subskills]] — JS: barra aninhada de sub-habilidades, herança de atributos.
* [[Widget:C.Translator]] — JS: troca de idioma (pt/en/es/pl), atualiza tier, tags, descs, flags, skins.
* [[Widget:C.WeaponToggle]] — JS: toggle de arma especial, popup i18n, swap de atributos/vídeos.
 
== Dependências (quem chama quem) ==
 
<pre>
Predefinição:Character
├─ {{#invoke:C|generate}}
│  └─ Módulo:C (fachada)
│      ├─ Módulo:C.Utils      ← usado por todos os módulos C.*
│      ├─ Módulo:C.i18n      ← usado por C.Generate
│      ├─ Módulo:C.Skin      ← usa C.Utils
│      └─ Módulo:C.Generate  ← usa C.Utils, C.i18n, I.Utils, I.Skills
│          ├─ Módulo:I.Skills  ← usa I.Utils, C.Utils
│          └─ Módulo:I.Utils
├─ {{#widget:C.Base}}          (CSS — sem dependências JS)
├─ {{#widget:C.Skills}}        (JS — lê data-* gerados por C.Generate)
├─ {{#widget:C.Background}}    (JS — lê data-bg-url/data-bg-file)
├─ {{#widget:C.Skins}}        (JS — lê .skins-podium gerado por C.Generate)
├─ {{#widget:C.Subskills}}     (JS — lê data-subs dos skill-icon)
├─ {{#widget:C.Translator}}    (JS — lê data-*-i18n, altera DOM)
└─ {{#widget:C.WeaponToggle}}  (JS — lê data-weapon dos skill-icon)
 
Módulo:I (fachada)
├─ Módulo:I.Utils
├─ Módulo:I.Skills  ← usa I.Utils, C.Utils
└─ Módulo:I.Expand  ← usa I.Utils
</pre>
</noinclude><includeonly>{{#invoke:C|generate
|name={{{name|}}}
|module={{{module|}}}
}}{{#widget:C.Base}}{{#widget:C.Skills}}{{#widget:C.Background}}{{#widget:C.Skins}}{{#widget:C.Subskills}}{{#widget:C.Translator}}{{#widget:C.WeaponToggle}}{{#widget:TiraTitulo}}</includeonly>

Edição atual tal como às 21h20min de 2 de abril de 2026

Arquivos envolvidos

Predefinição

Módulos Lua

  • Módulo:C — Fachada: re-exporta funções de C.Utils, C.i18n, C.Skin e C.Generate.
  • Módulo:C.Generate — Gera todo o HTML server-side (header, icon-bar, skills, skins, data-attributes i18n).
  • Módulo:C.i18n — Constantes i18n (ATTR, FLAGS, TAB, TIER, TAGS) e funções tierPackFrom / tagsPackFrom.
  • Módulo:C.Skin — Serializa dados de skin ({{Skin}}) para JSON consumido por C.Generate.
  • Módulo:C.Utils — Utilitários: trim, fileURL, normalizeDim, makeAttrString, requireCharModule, collectJsonObjects.
  • Módulo:I — Fachada do sistema Info: re-exporta I.Utils, I.Skills, I.Expand.
  • Módulo:I.Skills — Gera JSON de skills/skins a partir do módulo do personagem (skill, skin, forms).
  • Módulo:I.Utils — Utilitários Info: trim, colorize, parseFlags, requireCharacterModule.
  • Módulo:I.Expand — Expande tier/tags i18n via token (getTier, getTags, expandTier, expandTags).

Widgets HTML

  • Widget:C.Base — CSS completo: layout, icon-bar, tabs, skins, responsivo, tier visual.
  • Widget:C.Skills — JS principal: seleção de skill, vídeo, atributos, flags, forms, swap de personagens (`data-swap`, `data-only-character`, `data-character-videos`; opcional `data-default-character` no `#skills` via `character_swap_default` no módulo Lua).
  • Widget:C.Background — JS: carrega background via IndexedDB cache + fallback URL.
  • Widget:C.Skins — JS: podium isométrico, tooltip, offset_x, YouTube spotlight.
  • Widget:C.Subskills — JS: barra aninhada de sub-habilidades, herança de atributos.
  • Widget:C.Translator — JS: troca de idioma (pt/en/es/pl), atualiza tier, tags, descs, flags, skins.
  • Widget:C.WeaponToggle — JS: toggle de arma especial, popup i18n, swap de atributos/vídeos.

Dependências (quem chama quem)

Predefinição:Character
 ├─ {{#invoke:C|generate}}
 │   └─ Módulo:C (fachada)
 │       ├─ Módulo:C.Utils      ← usado por todos os módulos C.*
 │       ├─ Módulo:C.i18n       ← usado por C.Generate
 │       ├─ Módulo:C.Skin       ← usa C.Utils
 │       └─ Módulo:C.Generate   ← usa C.Utils, C.i18n, I.Utils, I.Skills
 │           ├─ Módulo:I.Skills  ← usa I.Utils, C.Utils
 │           └─ Módulo:I.Utils
 ├─ {{#widget:C.Base}}          (CSS — sem dependências JS)
 ├─ {{#widget:C.Skills}}        (JS — lê data-* gerados por C.Generate)
 ├─ {{#widget:C.Background}}    (JS — lê data-bg-url/data-bg-file)
 ├─ {{#widget:C.Skins}}         (JS — lê .skins-podium gerado por C.Generate)
 ├─ {{#widget:C.Subskills}}     (JS — lê data-subs dos skill-icon)
 ├─ {{#widget:C.Translator}}    (JS — lê data-*-i18n, altera DOM)
 └─ {{#widget:C.WeaponToggle}}  (JS — lê data-weapon dos skill-icon)

Módulo:I (fachada)
 ├─ Módulo:I.Utils
 ├─ Módulo:I.Skills   ← usa I.Utils, C.Utils
 └─ Módulo:I.Expand   ← usa I.Utils