* added skills listview-page

* removed some overzealous $WH.-insertions
* fixed logic error omiting jsGlobals with id: 1
This commit is contained in:
Sarjuuk
2013-08-07 19:52:17 +02:00
parent 5436ead926
commit 0b0fa39ff4
19 changed files with 428 additions and 80 deletions

View File

@@ -8,6 +8,32 @@ class SkillList extends BaseType
{
public static $type = TYPE_SKILL;
protected $setupQuery = 'SELECT *, id AS ARRAY_KEY FROM ?_skillLine sl WHERE [cond] ORDER BY id ASC';
protected $matchQuery = 'SELECT COUNT(1) FROM ?_skillLine sl WHERE [cond]';
public function __construct($data)
{
parent::__construct($data);
// post processing
while ($this->iterate())
{
$_ = &$this->curTpl['specializations']; // shorthand
if (!$_)
$_ = [0, 0, 0, 0, 0];
else
{
$_ = explode(' ', $_);
while (count($_) < 5)
$_[] = 0;
}
$this->templates[$this->id] = $this->curTpl;
}
$this->reset(); // push first element back for instant use
}
public static function getName($id)
{
$n = DB::Aowow()->SelectRow('
@@ -26,10 +52,41 @@ class SkillList extends BaseType
return Util::localizedString($n, 'name');
}
public function getListviewData() { }
public function addGlobalsToJScript(&$template, $addMask = 0) { }
public function renderTooltip() { }
public function getListviewData()
{
$data = [];
while ($this->iterate())
{
$data[$this->id] = array(
'category' => $this->curTpl['typeCat'],
'categorybak' => $this->curTpl['categoryId'],
'id' => $this->id,
'name' => Util::jsEscape($this->getField('name', true)),
'profession' => $this->curTpl['professionMask'],
'recipeSubclass' => $this->curTpl['recipeSubClass'],
'specializations' => json_encode($this->curTpl['specializations'], JSON_NUMERIC_CHECK),
'icon' => Util::jsEscape($this->curTpl['iconString'])
);
}
return $data;
}
public function addGlobalsToJScript(&$template, $addMask = 0)
{
while ($this->iterate())
{
$template->extendGlobalData(self::$type, [
$this->id => [
'name' => Util::jsEscape($this->getField('name', true)),
'icon' => Util::jsEscape($this->curTpl['iconString'])
]
]);
}
}
public function renderTooltip() { }
}
?>

View File

@@ -1225,7 +1225,7 @@ Lasts 5 min. $?$gte($pl,68)[][Cannot be used on items level 138 and higher.]
// line endings
$str = strtr($str, ["\r" => '', "\n" => '<br />']);
return array($str, null/*$relSpells*/);
return array($str, []/*$relSpells*/);
}
public function renderBuff($level = MAX_LEVEL, $interactive = false)
@@ -1424,7 +1424,7 @@ Lasts 5 min. $?$gte($pl,68)[][Cannot be used on items level 138 and higher.]
if ($tools || $reagents || $reqItems || $desc || $createItem)
$x .= '<table><tr><td>'.implode('<br />', $xTmp).'</td></tr></table>';
$this->tooltips[$this->id] = array($x, $desc[1]);
$this->tooltips[$this->id] = array($x, $desc ? $desc[1] : null);
return $this->tooltips[$this->id];
}

View File

@@ -413,6 +413,7 @@ class Lang
public static $npc;
public static $pet;
public static $quest;
public static $skill;
public static $spell;
public static $title;
public static $zone;
@@ -781,7 +782,7 @@ class SmartyAoWoW extends Smarty
$this->initJSGlobal($type);
foreach ($ids as $k => $id) // filter already generated data, maybe we can save a lookup or two
if (isset($this->_tpl_vars['jsGlobals'][$type][$id]))
if (isset($this->_tpl_vars['jsGlobals'][$type][1][$id]))
unset($ids[$k]);
switch ($type)

View File

@@ -126,6 +126,8 @@ $lang = array(
'reqSkillLevel' => "Benötigte Fertigkeitsstufe",
'level' => "Stufe",
'school' => "Magieart",
'skill' => "Fertigkeit",
'skills' => "Fertigkeiten",
'spell' => "Zauber",
'spells' => "Zauber",
'type' => "Art",
@@ -286,6 +288,12 @@ $lang = array(
'Allgemein', 'Spieler gegen Spieler', 'Ruf', 'Dungeon & Schlachtzug', 'Quests', 'Berufe', 'Weltereignisse'
)
),
'skill' => array(
'cat' => array(
-6 => 'Haustiere', -5 => 'Reittiere', -4 => 'Völkerfertigkeiten', 5 => 'Attribute', 6 => 'Waffenfertigkeiten', 7 => 'Klassenfertigkeiten', 8 => 'Rüstungssachverstand',
9 => 'Nebenberufe', 10 => 'Sprachen', 11 => 'Berufe'
)
),
'currency' => array(
'cat' => array(
1 => "Verschiedenes", 2 => "Spieler gegen Spieler", 4 => "Classic", 21 => "Wrath of the Lich King", 22 => "Dungeon und Schlachtzug", 23 => "Burning Crusade", 41 => "Test", 3 => "Unbenutzt"

View File

@@ -121,6 +121,8 @@ $lang = array(
'reqSkillLevel' => "Required skill level",
'level' => "Level",
'school' => "School",
'skill' => "skill",
'skills' => "Skills",
'spell' => "spell",
'spells' => "Spells",
'type' => "Type",
@@ -281,6 +283,12 @@ $lang = array(
'General', 'Player vs. Player', 'Reputation', 'Dungeons & Raids', 'Quests', 'Professions', 'World Events'
)
),
'skill' => array(
'cat' => array(
-6 => 'Companions', -5 => 'Mounts', -4 => 'Racial Traits', 5 => 'Attributes', 6 => 'Weapon Skills', 7 => 'Class Skills', 8 => 'Armor Proficiencies',
9 => 'Secondary Skills', 10 => 'Languages', 11 => 'Professions'
)
),
'currency' => array(
'cat' => array(
1 => "Miscellaneous", 2 => "Player vs. Player", 4 => "Classic", 21 => "Wrath of the Lich King", 22 => "Dungeon and Raid", 23 => "Burning Crusade", 41 => "Test", 3 => "Unused"

View File

@@ -118,6 +118,8 @@ $lang = array(
'reqSkillLevel' => "Requiere nivel de habilidad",
'level' => "Nivel",
'school' => "Escuela",
'skill' => "habilidad",
'skills' => "Habilidades",
'spell' => "hechizo",
'spells' => "Hechizos",
'type' => "Tipo",
@@ -239,6 +241,12 @@ $lang = array(
'General', 'Jugador contra Jugador', 'Reputación', 'Mazmorras y bandas', 'Misiones', 'Profesiones', 'Eventos del mundo'
)
),
'skill' => array(
'cat' => array(
-6 => 'Compañeros', -5 => 'Monturas', -4 => 'Habilidades de raza', 5 => 'Atributos', 6 => 'Habilidades con armas', 7 => 'Habilidades de clase', 8 => 'Armaduras disponibles',
9 => 'Habilidades secundarias', 10 => 'Idiomas', 11 => 'Profesiones'
)
),
'currency' => array(
'cat' => array(
1 => "Miscelánea", 2 => "Jugador contra Jugador", 4 => "Clásico", 21 => "Wrath of the Lich King", 22 => "Mazmorra y banda", 23 => "Burning Crusade", 41 => "Prueba", 3 => "No las uso"

View File

@@ -118,6 +118,8 @@ $lang = array(
'reqSkillLevel' => "Niveau de compétence requis",
'level' => "Niveau",
'school' => "École",
'skill' => "compétence",
'skills' => "Compétences",
'spell' => "sort",
'spells' => "Sorts",
'type' => "Type",
@@ -238,6 +240,12 @@ $lang = array(
'Général', 'Joueur ctr. Joueur', 'Réputation', 'Donjons & raids', 'Quêtes', 'Métiers', 'Évènements mondiaux'
)
),
'skill' => array(
'cat' => array(
-6 => 'Compagnons', -5 => 'Montures', -4 => 'Traits raciaux', 5 => 'Caractéristiques', 6 => "Compétences d'armes", 7 => 'Compétences de classe', 8 => 'Armures utilisables',
9 => 'Compétences secondaires', 10 => 'Langues', 11 => 'Métiers'
)
),
'currency' => array(
'cat' => array(
1 => "Divers", 2 => "JcJ", 4 => "Classique", 21 => "Wrath of the Lich King", 22 => "Raid", 23 => "Burning Crusade", 41 => "Test", 3 => "Inutilisées"

View File

@@ -118,6 +118,8 @@ $lang = array(
'reqSkillLevel' => "Требуется уровень навыка",
'level' => "Уровень",
'school' => "Школа",
'skill' => "Уровень навыка",
'skills' => "Умения",
'spell' => "заклинание",
'spells' => "Заклинания",
'type' => "Тип",
@@ -238,6 +240,12 @@ $lang = array(
'Общее', 'PvP', 'Репутация', 'Подземелья и рейды', 'Задания', 'Профессии', 'Игровые события'
)
),
'skill' => array(
'cat' => array(
-6 => 'Спутники', -5 => 'Транспорт', -4 => 'Классовые навыки', 5 => 'Характеристики', 6 => 'Оружейные навыки', 7 => 'Классовые навыки', 8 => 'Доспехи',
9 => 'Вторичные навыки', 10 => 'Языки', 11 => 'Профессии'
)
),
'currency' => array(
'cat' => array(
1 => "Разное", 2 => "PvP", 4 => "World of Warcraft", 21 => "Wrath of the Lich King", 22 => "Подземелья и рейды", 23 => "Burning Crusade", 41 => "Test", 3 => "Неактивно"

51
pages/skills.php Normal file
View File

@@ -0,0 +1,51 @@
<?php
if (!defined('AOWOW_REVISION'))
die('illegal access');
$cat = Util::extractURLParams($pageParam)[0];
$path = [0, 14];
$title = [Util::ucFirst(Lang::$game['skills'])];
$cacheKey = implode('_', [CACHETYPE_PAGE, TYPE_SKILL, -1, $cat ? $cat : -1, User::$localeId]);
$validCats = [-6, -5, -4, 6, 8, 9, 10, 11];
if (!Util::isValidPage($validCats, $cat))
$smarty->error();
if (!$smarty->loadCache($cacheKey, $pageData))
{
$conditions = [['categoryId', 12, '!']]; // DND
if ($cat)
{
$conditions[] = ['typeCat', $cat];
$path[] = $cat;
array_unshift($title, Lang::$skill['cat'][$cat]);
}
$skills = new SkillList($conditions);
$pageData = array(
'file' => 'skill',
'data' => $skills->getListviewData(),
'params' => []
);
$smarty->saveCache($cacheKey, $pageData);
}
// menuId 14: Skill g_initPath()
// tabId 0: Database g_initHeader()
$smarty->updatePageVars(array(
'title' => implode(' - ', $title),
'path' => json_encode($path, JSON_NUMERIC_CHECK),
'tab' => 0
));
$smarty->assign('lang', Lang::$main);
$smarty->assign('lvData', $pageData);
// load the page
$smarty->display('generic-no-filter.tpl');
?>

74
setup/aowow_skillLine.sql Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,64 @@
/*
* Skills
*/
CREATE TABLE world.aowow_skillLine LIKE dbc.skillLine;
INSERT world.aowow_skillLine SELECT * FROM dbc.skillLine;
ALTER TABLE `aowow_skillline`
ADD COLUMN `typeCat` bigint(20) NOT NULL AFTER `Id`,
CHANGE COLUMN `nameEN` `name_loc0` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `skillCostId`,
CHANGE COLUMN `nameFR` `name_loc2` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `name_loc0`,
CHANGE COLUMN `nameDE` `name_loc3` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `name_loc2`,
CHANGE COLUMN `nameES` `name_loc6` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `name_loc3`,
CHANGE COLUMN `nameRU` `name_loc8` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `name_loc6`,
CHANGE COLUMN `descriptionEN` `description_loc0` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `name_loc8`,
CHANGE COLUMN `descriptionFR` `description_loc2` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `description_loc0`,
CHANGE COLUMN `descriptionDE` `description_loc3` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `description_loc2`,
CHANGE COLUMN `descriptionES` `description_loc6` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `description_loc3`,
CHANGE COLUMN `descriptionRU` `description_loc8` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `description_loc6`,
ADD COLUMN `iconString` varchar(40) NOT NULL AFTER `spellIconId`,
CHANGE COLUMN `verbEN` `verb_loc0` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `iconString`,
CHANGE COLUMN `verbFR` `verb_loc2` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `verb_loc0`,
CHANGE COLUMN `verbDE` `verb_loc3` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `verb_loc2`,
CHANGE COLUMN `verbES` `verb_loc6` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `verb_loc3`,
CHANGE COLUMN `verbRU` `verb_loc8` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `verb_loc6`,
ADD COLUMN `professionMask` bigint(20) NOT NULL AFTER `canLink`,
ADD COLUMN `recipeSubClass` bigint(20) NOT NULL AFTER `professionMask`,
ADD COLUMN `specializations` text NOT NULL COMMENT 'spcae-separated spellIds' AFTER `recipeSubClass`;
-- manual data for professions
UPDATE aowow_skillLine SET professionMask = 0 WHERE id = 393;
UPDATE aowow_skillLine SET professionMask = 1, recipeSubClass = 6, specializations = '28677 28675 28672' WHERE id = 171;
UPDATE aowow_skillLine SET professionMask = 2, recipeSubClass = 4, specializations = '9788 9787 17041 17040 17039' WHERE id = 164;
UPDATE aowow_skillLine SET professionMask = 4, recipeSubClass = 5 WHERE id = 185;
UPDATE aowow_skillLine SET professionMask = 8, recipeSubClass = 8 WHERE id = 333;
UPDATE aowow_skillLine SET professionMask = 16, recipeSubClass = 3, specializations = '20219 20222' WHERE id = 202;
UPDATE aowow_skillLine SET professionMask = 32, recipeSubClass = 7 WHERE id = 129;
UPDATE aowow_skillLine SET professionMask = 64, recipeSubClass = 10 WHERE id = 755;
UPDATE aowow_skillLine SET professionMask = 128, recipeSubClass = 1, specializations = '10656 10658 10660' WHERE id = 165;
UPDATE aowow_skillLine SET professionMask = 256 WHERE id = 186;
UPDATE aowow_skillLine SET professionMask = 512, recipeSubClass = 2, specializations = '26798 26801 26797' WHERE id = 197;
UPDATE aowow_skillLine SET professionMask = 1024, recipeSubClass = 9 WHERE id = 356;
UPDATE aowow_skillLine SET professionMask = 2048 WHERE id = 182;
UPDATE aowow_skillLine SET professionMask = 4096, recipeSubClass = 11 WHERE id = 773;
-- fixups
UPDATE aowow_skillLine SET spellIconId = 736 WHERE id = 393; -- skinning has generic icon
UPDATE aowow_skillLine SET spellIconId = 936 WHERE id = 633; -- lockpicking has generic icon
UPDATE aowow_skillLine SET name_loc0 = 'Pet - Wasp' WHERE id = 785; -- the naming in general is fubar inconsistent
UPDATE aowow_skillLine SET name_loc2 = 'Familier - diablosaure exotique' WHERE id = 781;
UPDATE aowow_skillLine SET name_loc6 = 'Mascota: Evento - Control remoto', name_loc3 = 'Tier - Ereignis Ferngesteuert' WHERE id = 758;
UPDATE aowow_skillLine SET name_loc8 = REPLACE(name_loc8, ' - ', ': ') WHERE categoryId = 7;
UPDATE aowow_skillLine SET categoryId = 7 WHERE id IN (758, 788); -- spirit beast listed under Attributes; remote controled pet listed under bogus
-- iconstrings
UPDATE aowow_skillLine sl, dbc.spell s, dbc.skillLineAbility sla SET sl.spellIconId = s.spellIconId WHERE (s.effectId1 IN (25, 26, 40) OR s.effectId2 = 60) AND sla.spellId = s.id AND sl.id = sla.skillLineId;
UPDATE aowow_skillLine sl, dbc.spellIcon si SET sl.iconString = SUBSTRING_INDEX(si.string, '\\', -1) WHERE sl.spellIconId = si.id;
UPDATE aowow_skillLine SET iconString = 'inv_misc_questionmark' WHERE spellIconId = 0;
-- categorization
UPDATE aowow_skillLine SET typeCat = -5 WHERE id = 777 OR (categoryId = 9 AND id NOT IN (356, 129, 185, 142, 155));
UPDATE aowow_skillLine SET typeCat = -4 WHERE categoryId = 9 AND name_loc0 LIKE '%racial%';
UPDATE aowow_skillLine SET typeCat = -6 WHERE id = 778 OR (categoryId = 7 AND name_loc0 LIKE '%pet%');
UPDATE aowow_skillLine SET typeCat = categoryId WHERE typeCat = 0;

View File

@@ -0,0 +1,9 @@
var _ = g_skills;
{strip}
{foreach from=$data key=id item=item}
_[{$id}]={ldelim}
name_{$user.language}:'{$item.name|escape:"javascript"}',
icon:'{$item.icon|escape:"javascript"}'
{rdelim};
{/foreach}
{/strip}

View File

@@ -0,0 +1,30 @@
{strip}
new Listview({ldelim}
template:'skill',
{if !isset($params.id)}id:'skills',{/if}
{if !isset($params.name)}name:LANG.tab_skills,{/if}
{if !isset($params.parent)}parent:'listview-generic',{/if}
{foreach from=$params key=k item=v}
{if $v[0] == '$'}
{$k}:{$v|substr:1},
{else if $v}
{$k}:'{$v}',
{/if}
{/foreach}
data:[
{foreach name=i from=$data item=curr}
{ldelim}
category:{$curr.category},
categorybak:{$curr.categorybak},
id:{$curr.id},
name:'{$curr.name|escape:"javascript"}',
profession:{$curr.profession},
recipeSubclass:{$curr.recipeSubclass},
specializations:{$curr.specializations},
icon:'{$curr.icon|escape:"javascript"}'
{rdelim}
{if $smarty.foreach.i.last}{else},{/if}
{/foreach}
]
{rdelim});
{/strip}

View File

@@ -3582,7 +3582,7 @@ Listview.prototype = {
}
},
changePage: function() {
this.validatePa$WH.ge();
this.validatePage();
this.refreshRows();
this.updateNav();
this.updatePound();
@@ -3594,22 +3594,22 @@ Listview.prototype = {
},
firstPage: function() {
this.rowOffset = 0;
this.changePa$WH.ge();
this.changePage();
return false
},
previousPage: function() {
this.rowOffset -= this.nItemsPerPage;
this.changePa$WH.ge();
this.changePage();
return false
},
nextPage: function() {
this.rowOffset += this.nItemsPerPage;
this.changePa$WH.ge();
this.changePage();
return false
},
lastPage: function() {
this.rowOffset = 99999999;
this.changePa$WH.ge();
this.changePage();
return false
},
addSort: function(a, c) {
@@ -3680,7 +3680,7 @@ Listview.prototype = {
var a = parseInt(b);
if (!isNaN(a)) {
this.rowOffset = a;
this.validatePa$WH.ge();
this.validatePage();
if (this.poundable != 2) {
var d = [];
var f = b.match(/(\+|\-)[0-9]+/g);
@@ -3860,7 +3860,7 @@ Listview.prototype = {
}
this.updateTabName();
if (this.rowOffset >= this.nRowsVisible) {
this.previousPa$WH.ge()
this.previousPage()
} else {
this.refreshRows();
this.updateNav()
@@ -8018,64 +8018,75 @@ Listview.templates = {
sort: [1],
searchable: 1,
filtrable: 1,
columns: [{
id: "name",
name: LANG.name,
type: "text",
align: "left",
value: "name",
span: 2,
compute: function(c, h, f) {
var d = $WH.ce("td");
d.style.width = "1px";
d.style.padding = "0";
d.style.borderRight = "none";
$WH.ae(d, Icon.create(c.icon, 0, null, this.getItemLink(c)));
$WH.ae(f, d);
h.style.borderLeft = "none";
var g = $WH.ce("div");
var b = $WH.ce("a");
b.style.fontFamily = "Verdana, sans-serif";
b.href = this.getItemLink(c);
$WH.ae(b, $WH.ct(c.name));
if (c.expansion) {
var e = $WH.ce("span");
e.className = g_GetExpansionClassName(c.expansion);
$WH.ae(e, b);
$WH.ae(g, e)
} else {
$WH.ae(g, b)
}
$WH.ae(h, g)
},
getVisibleText: function(a) {
var b = a.name + Listview.funcBox.getExpansionText(a);
return b
}
},
{
id: "category",
name: LANG.category,
type: "text",
width: "16%",
compute: function(c, d) {
if (c.category != 0) {
d.className = "small q1";
var b = $WH.ce("a");
b.href = "?skills=" + c.category;
$WH.ae(b, $WH.ct(g_skill_categories[c.category]));
$WH.ae(d, b)
columns: [
{
id: 'name',
name: LANG.name,
type: 'text',
align: 'left',
value: 'name',
span: 2,
compute: function(skill, td, tr) {
var i = $WH.ce('td');
i.style.width = '1px';
i.style.padding = '0';
i.style.borderRight = 'none';
$WH.ae(i, Icon.create(skill.icon, 0, null, this.template.getItemLink(skill)));
$WH.ae(tr, i);
td.style.borderLeft = 'none';
var wrapper = $WH.ce('div');
var a = $WH.ce('a');
a.style.fontFamily = 'Verdana, sans-serif';
a.href = this.template.getItemLink(skill);
$WH.ae(a, $WH.ct(skill.name));
if (skill.expansion) {
var sp = $WH.ce('span');
sp.className = g_GetExpansionClassName(skill.expansion);
$WH.ae(sp, a);
$WH.ae(wrapper, sp);
}
else {
$WH.ae(wrapper, a);
}
$WH.ae(td, wrapper);
},
getVisibleText: function(skill) {
var buff = skill.name + Listview.funcBox.getExpansionText(skill);
return buff;
}
},
getVisibleText: function(a) {
return g_skill_categories[skill.category]
},
sortFunc: function(d, c, e) {
return $WH.strcmp(g_skill_categories[d.category], g_skill_categories[c.category])
{
id: 'category',
name: LANG.category,
type: 'text',
width: '16%',
compute: function(skill, td) {
if (skill.category != 0) {
td.className = 'small q1';
var a = $WH.ce('a');
a.href = '?skills=' + skill.category;
$WH.ae(a, $WH.ct(g_skill_categories[skill.category]));
$WH.ae(td, a);
}
},
getVisibleText: function(skill) {
return g_skill_categories[skill.category];
},
sortFunc: function(a, b, col) {
return $WH.strcmp(g_skill_categories[a.category], g_skill_categories[b.category]);
}
}
}],
getItemLink: function(a) {
return "?skill=" + a.id
],
getItemLink: function(skill) {
return '?skill=' + skill.id;
}
},
@@ -12480,8 +12491,6 @@ var Menu = new function()
}
};
Menu.fixUrls(mn_achievements, '?achievements=');
Menu.fixUrls(mn_classes, '?class=');
Menu.fixUrls(mn_currencies, '?currencies=');
@@ -12498,8 +12507,6 @@ Menu.fixUrls(mn_spells, '?spells=');
Menu.fixUrls(mn_titles, '?titles=');
Menu.fixUrls(mn_zones, '?zones=');
$(document).ready(function() // Locale is only known later
{
// if(Locale.getId() == LOCALE_ENUS)

View File

@@ -531,7 +531,8 @@ var mn_skills = [
[,"Sonstige"],
[8,"Rüstngssachverstand","?skills=8"],
[10,"Sprachen","?skills=10"],
[6,"Waffenfertigkeiten","?skills=6"]
[6,"Waffenfertigkeiten","?skills=6"],
[7,"Klassenfertigkeiten","?skills=7"]
];
var mn_spells = [
[,"Charakter"],
@@ -1754,7 +1755,9 @@ var g_skill_categories = {
"-6": 'Haustiere',
"-5": 'Reittiere',
"-4": 'Völkerfertigkeiten',
5: 'Attribute',
6: 'Waffenfertigkeiten',
6: 'Klassenfertigkeiten',
8: 'Rüstungssachverstand',
9: 'Nebenberufe',
10: 'Sprachen',

View File

@@ -531,7 +531,8 @@ var mn_skills = [
[,"Other"],
[8,"Armor Proficiencies","?skills=8"],
[10,"Languages","?skills=10"],
[6,"Weapon Skills","?skills=6"]
[6,"Weapon Skills","?skills=6"],
[7,"Class Skills","?skills=7"]
];
var mn_spells = [
[,"Character"],
@@ -1799,7 +1800,9 @@ var g_skill_categories = {
"-6": 'Companions',
"-5": 'Mounts',
"-4": 'Racial Traits',
5: 'Attributes',
6: 'Weapon Skills',
7: 'Class Skills',
8: 'Armor Proficiencies',
9: 'Secondary Skills',
10: 'Languages',

View File

@@ -530,8 +530,9 @@ var mn_skills = [
[762,"Equitación","?skill=762",,{tinyIcon:"spell_nature_swiftness"}],
[,"Otros"],
[8,"Armaduras disponibles","?skills=8"],
[10,"Lenguas","?skills=10"],
[6,"Armas disponibles","?skills=6"]
[10,"Idiomas","?skills=10"],
[6,"Habilidades con armas","?skills=6"],
[7,"Habilidades de clase","?skills=6"]
];
var mn_spells = [
[,"Habilidades y Talentos"],
@@ -1754,10 +1755,12 @@ var g_skill_categories = {
"-6": 'Compañeros',
"-5": 'Monturas',
"-4": 'Habilidades de raza',
6: 'Armas disponibles',
5: 'Atributos',
6: 'Habilidades con armas',
7: 'Habilidades de clase',
8: 'Armaduras disponibles',
9: 'Habilidades secundarias',
10: 'Lenguas',
10: 'Idiomas',
11: 'Profesiones'
};

View File

@@ -531,7 +531,8 @@ var mn_skills = [
[,"Autre"],
[8,"Armures utilisables","?skills=8"],
[10,"Langues","?skills=10"],
[6,"Compétences d'armes","?skills=6"]
[6,"Compétences d'armes","?skills=6"],
[7,"Compétences de classe","?skills=7"]
];
var mn_spells = [
[,"Personnage"],
@@ -1741,7 +1742,9 @@ var g_skill_categories = {
"-6": 'Compagnons',
"-5": 'Montures',
"-4": 'Traits raciaux',
5: 'Caractéristiques',
6: 'Compétences d\'armes',
7: 'Compétences de classe',
8: 'Armures utilisables',
9: 'Compétences secondaires',
10: 'Langues',

View File

@@ -531,7 +531,8 @@ var mn_skills = [
[,"Другое"],
[8,"Доспехи","?skills=8"],
[10,"Языки","?skills=10"],
[6,"Оружейные навыки","?skills=6"]
[6,"Оружейные навыки","?skills=6"],
[7,"Классовые навыки","?skills=7"]
];
var mn_spells = [
[,"Персонаж"],
@@ -1741,7 +1742,9 @@ var g_skill_categories = {
"-6": 'Спутники',
"-5": 'Транспорт',
"-4": 'Классовые навыки',
5: 'Характеристики',
6: 'Оружейные навыки',
7: 'Классовые навыки',
8: 'Доспехи',
9: 'Вторичные навыки',
10: 'Языки',