Spellparsing:

- apply abs() in final function as the original value may be needed before output .. fixes some 'reduced by -X talents/setboni'
 - use number_format() instead fo round() for precision .. trailing zeros will show for exact vaues e.g. ${1.5}.3 => 1.500

Basetype:
 - custom operators in the setup query are now properly applied.

Searches:
 - implemented result cap and set it to 1000 results
 - split achievements in achievements and statistics
 - the modelviewer that may be called from the item-listview now works (and still calls home)
This commit is contained in:
Sarjuuk
2013-03-07 23:30:04 +01:00
parent 3d16eaec42
commit 0c0a7ec5e2
13 changed files with 267 additions and 136 deletions

View File

@@ -30,7 +30,7 @@ class ItemList extends BaseType
$this->initJsonStats();
// readdress itemset .. is wrong for virtual sets
if ($pieceToSet && $pieceToSet[$this->id])
if ($pieceToSet && isset($pieceToSet[$this->id]))
$this->json[$this->id]['itemset'] = $pieceToSet[$this->id];
}
@@ -1029,6 +1029,7 @@ class ItemList extends BaseType
if ($this->curTpl['class'] == ITEM_CLASS_WEAPON || $this->curTpl['class'] == ITEM_CLASS_AMMUNITION)
{
$json['dmgtype1'] = $this->curTpl['dmg_type1'];
$json['dmgmin1'] = $this->curTpl['dmg_min1'] + $this->curTpl['dmg_min2'];
$json['dmgmax1'] = $this->curTpl['dmg_max1'] + $this->curTpl['dmg_max2'];

View File

@@ -280,7 +280,7 @@ class SpellList extends BaseType
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return abs($base);
return $base;
case 'b': // PointsPerComboPoint
case 'B':
if ($lookup)
@@ -291,7 +291,7 @@ class SpellList extends BaseType
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return abs($base);
return $base;
/* where the heck is this var...?
case 'c': // BasePoints (raw)
if ($lookup > 0 && $exprData[0])
@@ -344,7 +344,7 @@ class SpellList extends BaseType
if ($op && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return Util::formatTime($base, true);
return Util::formatTime(abs($base), true);
case 'e': // EffectValueMultiplier
case 'E':
if ($lookup)
@@ -355,7 +355,7 @@ class SpellList extends BaseType
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return abs($base);
return $base;
case 'f': // EffectDamageMultiplier
case 'F':
if ($lookup)
@@ -366,7 +366,7 @@ class SpellList extends BaseType
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return abs($base);
return $base;
case 'g': // boolean choice with casters gender as condition $gX:Y;
case 'G':
return '>'.$switch[0].'/'.$switch[1].'<';
@@ -380,7 +380,7 @@ class SpellList extends BaseType
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return abs($base);
return $base;
case 'i': // MaxAffectedTargets
case 'I':
if ($lookup)
@@ -391,7 +391,7 @@ class SpellList extends BaseType
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return abs($base);
return $base;
case 'l': // boolean choice with last value as condition $lX:Y;
case 'L':
return '$l'.$switch[0].':'.$switch[1]; // resolve later by backtracking
@@ -442,7 +442,7 @@ class SpellList extends BaseType
if ($rType)
return '<!--rtg'.$rType.'-->'.abs($base)."&nbsp;<small>(".Util::setRatingLevel($level, $rType, abs($base)).")</small>";
else
return abs($base);
return $base;
case 'n': // ProcCharges
case 'N':
if ($lookup)
@@ -453,7 +453,7 @@ class SpellList extends BaseType
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return abs($base);
return $base;
case 'o': // TotalAmount for periodic auras (with variance)
case 'O':
if ($lookup)
@@ -494,7 +494,7 @@ class SpellList extends BaseType
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return abs($base);
return $base;
case 'r': // SpellRange
case 'R':
if ($lookup)
@@ -505,7 +505,7 @@ class SpellList extends BaseType
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return abs($base);
return $base;
case 's': // BasePoints (with variance)
case 'S':
if ($lookup)
@@ -563,7 +563,7 @@ class SpellList extends BaseType
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return abs($base);
return $base;
case 'u': // StackCount
case 'U':
if ($lookup)
@@ -574,7 +574,7 @@ class SpellList extends BaseType
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return abs($base);
return $base;
case 'v': // MaxTargetLevel
case 'V':
if ($lookup)
@@ -585,7 +585,7 @@ class SpellList extends BaseType
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return abs($base);
return $base;
case 'x': // ChainTargetCount
case 'X':
if ($lookup)
@@ -596,7 +596,7 @@ class SpellList extends BaseType
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
eval("\$base = $base $op $oparg;");
return abs($base);
return $base;
case 'z': // HomeZone
return Lang::$spell['home'];
}
@@ -662,17 +662,16 @@ class SpellList extends BaseType
$str .= '#'; // mark as done, reset below
continue;
}
$pos += strlen($result[0]);
$str .= $this->resolveVariableString($result, $level);
}
$str .= substr($formula, $pos);
$str = str_replace('#', '$', $str); // reset marks
$str = str_replace('#', '$', $str); // reset marks
// step 3: try to evaluate result
$evaled = $this->resolveEvaluation($str, $level);
return (int)$evaled ? round($evaled, $precision) : $evaled;
return (float)$evaled ? number_format($evaled, $precision) : $evaled;
}
// should probably used only once to create ?_spell. come to think of it, it yields the same results every time.. it absolutely has to!
@@ -929,7 +928,9 @@ class SpellList extends BaseType
}
$pos += strlen($result[0]);
$str .= $this->resolveVariableString($result, $level);
$resolved = $this->resolveVariableString($result, $level);
$str .= intVal($resolved) ? abs($resolved) : resolved;
}
$str .= substr($data, $pos);
$str = str_replace('#', '$', $str); // reset marks

View File

@@ -33,7 +33,7 @@ define('CACHETYPE_SEARCH', 3);
define('SEARCH_TYPE_REGULAR', 0x10000000);
define('SEARCH_TYPE_OPEN', 0x20000000);
define('SEARCH_TYPE_JSON', 0x40000000);
define('SEARCH_MASK_OPEN', 0x017F807F); // open search
define('SEARCH_MASK_OPEN', 0x001D807F); // open search
define('SEARCH_MASK_ALL', 0x07FFFFFF); // normal search
// Databases

View File

@@ -76,9 +76,6 @@ abstract class BaseType
else
continue;
if (isset($c[2]) && $c[2] != '!')
$op = $c[2];
if (is_array($c[1]))
{
$op = (isset($c[2]) && $c[2] == '!') ? 'NOT IN' : 'IN';
@@ -95,8 +92,9 @@ abstract class BaseType
$op = (isset($c[2]) && $c[2] == '!') ? '<>' : '=';
$val = Util::sqlEscape($c[1]);
}
else
continue;
if (isset($c[2]) && $c[2] != '!')
$op = $c[2];
$sql[] = $field.' '.$op.' '.$val;
}
@@ -422,7 +420,7 @@ class Util
public static $changeLevelString = '<a href="javascript:;" onmousedown="return false" class="tip" style="color: white; cursor: pointer" onclick="$WH.g_staticTooltipLevelClick(this, null, 0)" onmouseover="$WH.Tooltip.showAtCursor(event, \'<span class=\\\'q2\\\'>\' + LANG.tooltip_changelevel + \'</span>\')" onmousemove="$WH.Tooltip.cursorUpdate(event)" onmouseout="$WH.Tooltip.hide()"><!--lvl-->%s</a>';
public static $filterResultString = 'sprintf(%s, %s, %s) + LANG.dash + LANG.lvnote_tryfiltering.replace(\'<a>\', \'<a href="javascript:;" onclick="fi_toggle()">\')';
public static $narrowResultString = 'sprintf(%s, %s, %s) + LANG.dash + LANG.lvnote_trynarrowing';
public static $expansionString = array( // 3 & 4 unused .. obviously
null, 'bc', 'wotlk', 'cata', 'mop'
@@ -1242,7 +1240,6 @@ class Util
return $return;
}
// BaseType::_construct craaap!
// todo: unify names
public static function getNameFieldName($tpl)

View File

@@ -38,15 +38,16 @@ Util::execTime(true);
15: Listview - template: 'npc', id: 'npcs', name: LANG.tab_npcs,
16: Listview - template: 'quest', id: 'quests', name: LANG.tab_quests,
17: Listview - template: 'achievement', id: 'achievements', name: LANG.tab_achievements, visibleCols: ['category'],
18: Listview - template: 'zone', id: 'zones', name: LANG.tab_zones,
19: Listview - template: 'object', id: 'objects', name: LANG.tab_objects,
20: Listview - template: 'faction', id: 'factions', name: LANG.tab_factions,
21: Listview - template: 'skill', id: 'skills', name: LANG.tab_skills, hiddenCols: ['reagents', 'skill'],
22: Listview - template: 'pet', id: 'pets', name: LANG.tab_pets,
23: Listview - template: 'spell', id: 'npc-abilities', name: LANG.tab_npcabilities, visibleCols: ['level'], hiddenCols: ['reagents', 'skill'],
24: Listview - template: 'spell', id: 'spells', name: LANG.tab_uncategorizedspells, visibleCols: ['level'], hiddenCols: ['reagents', 'skill'],
25: Listview - template: 'profile', id: 'characters', name: LANG.tab_characters, visibleCols: ['race','classs','level','talents','gearscore','achievementpoints'],
26: Guilds..?
18: Listview - template: 'achievement', id: 'statistics', name: LANG.tab_statistics, visibleCols: ['category'], hiddenCols: ['side', 'points', 'rewards'],
19: Listview - template: 'zone', id: 'zones', name: LANG.tab_zones,
20: Listview - template: 'object', id: 'objects', name: LANG.tab_objects,
21: Listview - template: 'faction', id: 'factions', name: LANG.tab_factions,
22: Listview - template: 'skill', id: 'skills', name: LANG.tab_skills, hiddenCols: ['reagents', 'skill'],
23: Listview - template: 'pet', id: 'pets', name: LANG.tab_pets,
24: Listview - template: 'spell', id: 'npc-abilities', name: LANG.tab_npcabilities, visibleCols: ['level'], hiddenCols: ['reagents', 'skill'],
25: Listview - template: 'spell', id: 'spells', name: LANG.tab_uncategorizedspells, visibleCols: ['level'], hiddenCols: ['reagents', 'skill'],
26: Listview - template: 'profile', id: 'characters', name: LANG.tab_characters, visibleCols: ['race','classs','level','talents','gearscore','achievementpoints'],
27: Guilds..?
*/
$search = urlDecode(trim($pageParam));
@@ -55,6 +56,7 @@ $type = @intVal($_GET['type']);
$searchMask = 0x0;
$found = [];
$jsGlobals = [];
$maxResults = 1000; // todo: move to config
if (isset($_GET['json']))
{
@@ -207,7 +209,7 @@ if ($searchMask & 0x4)
// 5 Currencies
if ($searchMask & 0x10)
{
$money = new CurrencyList(array(['name_loc'.User::$localeId, $query]));
$money = new CurrencyList(array($maxResults, ['name_loc'.User::$localeId, $query]));
if ($data = $money->getListviewData())
{
@@ -220,13 +222,16 @@ if ($searchMask & 0x10)
'data' => $data,
'params' => ['tabs' => '$myTabs']
);
if ($money->matches > $maxResults)
$found['currency']['params']['note'] = '$'.sprintf(Util::$narrowResultString, 'LANG.lvnote_currenciesfound', $money->matches, $maxResults);
}
}
// 6 Itemsets
if ($searchMask & 0x20)
{
$sets = new ItemsetList(array(['name_loc'.User::$localeId, $query]));
$sets = new ItemsetList(array($maxResults, ['name_loc'.User::$localeId, $query]));
$sets->addGlobalsToJscript($jsGlobals);
if ($data = $sets->getListviewData())
@@ -241,6 +246,9 @@ if ($searchMask & 0x20)
'params' => ['tabs' => '$myTabs'],
'pcsToSet' => $sets->pieceToSet
);
if ($sets->matches > $maxResults)
$found['itemset']['params']['note'] = '$'.sprintf(Util::$narrowResultString, 'LANG.lvnote_itemsetsfound', $sets->matches, $maxResults);
}
}
@@ -250,9 +258,9 @@ if ($searchMask & 0x40)
if (($searchMask & SEARCH_TYPE_JSON) && $type == TYPE_ITEMSET && isset($found['itemset']))
$conditions = [['i.entry', array_keys($found['itemset']['pcsToSet'])]];
else if (($searchMask & SEARCH_TYPE_JSON) && $type == TYPE_ITEM)
$conditions = [['i.class', [2, 4]], [User::$localeId ? 'name_loc'.User::$localeId : 'name', $query], 0];
$conditions = [['i.class', [2, 4]], [User::$localeId ? 'name_loc'.User::$localeId : 'name', $query], $AoWoWconf['sqlLimit']];
else
$conditions = [[User::$localeId ? 'name_loc'.User::$localeId : 'name', $query], 0];
$conditions = [[User::$localeId ? 'name_loc'.User::$localeId : 'name', $query], $maxResults];
$items = new ItemList($conditions, @$found['itemset']['pcsToSet']);
$items->addGlobalsToJscript($jsGlobals);
@@ -271,6 +279,9 @@ if ($searchMask & 0x40)
'params' => ['tabs' => '$myTabs'],
'data' => $data,
);
if ($items->matches > $maxResults)
$found['item']['params']['note'] = '$'.sprintf(Util::$narrowResultString, 'LANG.lvnote_itemsfound', $items->matches, $maxResults);
}
}
@@ -304,7 +315,7 @@ if ($searchMask & 0x40)
// 17 Achievements
if ($searchMask & 0x10000)
{
$acvs = new AchievementList(array(['name_loc'.User::$localeId, $query]));
$acvs = new AchievementList(array($maxResults, 'AND', ['flags', ~ACHIEVEMENT_FLAG_COUNTER, "&"], ['name_loc'.User::$localeId, $query]));
if ($data = $acvs->getListviewData())
{
@@ -317,39 +328,69 @@ if ($searchMask & 0x10000)
'data' => $data,
'params' => [
'tabs' => '$myTabs',
'visibleCols' => '$[\'category\']'
'visibleCols' => "\$['category']"
]
);
if ($acvs->matches > $maxResults)
$found['achievement']['params']['note'] = '$'.sprintf(Util::$narrowResultString, 'LANG.lvnote_achievementsfound', $acvs->matches, $maxResults);
}
}
// 18 Zones
// if ($searchMask & 0x20000)
// 18 Statistics
if ($searchMask & 0x20000)
{
$stats = new AchievementList(array($maxResults, 'AND', ['flags', ACHIEVEMENT_FLAG_COUNTER, '&'], ['name_loc'.User::$localeId, $query]));
// 19 Objects
if ($data = $stats->getListviewData())
{
$stats->addGlobalsToJScript($jsGlobals);
$stats->addRewardsToJScript($jsGlobals);
$found['statistic'] = array(
'type' => TYPE_ACHIEVEMENT,
'data' => $data,
'params' => [
'tabs' => '$myTabs',
'visibleCols' => "\$['category']",
'hiddenCols' => "\$['side', 'points', 'rewards']",
'name' => '$LANG.tab_statistics',
'id' => 'statistics'
]
);
if ($stats->matches > $maxResults)
$found['statistic']['params']['note'] = '$'.sprintf(Util::$narrowResultString, 'LANG.lvnote_statisticsfound', $stats->matches, $maxResults);
}
}
// 19 Zones
// if ($searchMask & 0x40000)
// 20 Factions
// 20 Objects
// if ($searchMask & 0x80000)
// 21 Skills
// 21 Factions
// if ($searchMask & 0x100000)
// 22 Pets
// 22 Skills
// if ($searchMask & 0x200000)
// 23 NPCAbilities
// 23 Pets
// if ($searchMask & 0x400000)
// 24 Spells (Misc)
// 24 NPCAbilities
// if ($searchMask & 0x800000)
// 25 Characters
// 25 Spells (Misc)
// if ($searchMask & 0x1000000)
// 26 Guilds
// 26 Characters
// if ($searchMask & 0x2000000)
// 27 Guilds
// if ($searchMask & 0x4000000)
/*
!note! dear reader, if you ever try to generate a string, that is to be evaled by JS, NEVER EVER terminate with a \n
$totalHoursWasted +=2;
@@ -458,7 +499,8 @@ else /* if ($searchMask & SEARCH_TYPE_REGULAR) */
$vars = array(
'title' => $search.' - '.Lang::$search['search'],
'tab' => 0 // tabId 0: Database for g_initHeader($tab)
'tab' => 0, // tabId 0: Database for g_initHeader($tab)
'reqJS' => [array('path' => 'template/js/swfobject.js', 'conditional' => false)]
);
$smarty->updatePageVars($vars);

View File

@@ -16,7 +16,7 @@
data:[
{foreach name=i from=$data item=curr}
{ldelim}
name:'{$curr.quality}{$curr.name|escape:"quotes"}',
name:'{$curr.name|escape:"quotes"}',
{if isset($curr.level)}
level:{$curr.level},
{/if}
@@ -56,14 +56,17 @@
{/if}
],
{/if}
{if $curr.classs == 1}
{if isset($curr.displayid)}
displayid:{$curr.displayid},
{/if}
{if isset($curr.nslots)}
nslots:{$curr.nslots},
{/if}
{if $curr.classs == 2}
{if isset($curr.dps)}
dps:{$curr.dps},
speed:{$curr.speed},
{/if}
{if $curr.classs == 4}
{if isset($curr.armor)}
armor:{$curr.armor},
{/if}
{if isset($curr.slot)}

View File

@@ -13790,6 +13790,8 @@ var Lightbox = new function () {
};
var ModelViewer = new function () {
this.validSlots = [1,3,4,5,6,7,8,9,10,13,14,15,16,17,19,20,21,22,23,25,26];
this.slotMap = {1: 1, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, 10: 10, 13: 21, 14: 22, 15: 22, 16: 16, 17: 21, 19: 19, 20: 5, 21: 21, 22: 22, 23: 22, 25: 21, 26: 21};
var
model,
modelType,

View File

@@ -2274,32 +2274,38 @@ var LANG = {
lvnodata_vi1: "Es wurden noch keine Videos eingesandt.",
lvnodata_vi2: "Ihr k\u00f6nntet der Erste sein, der f\u00fcr diese Seite ein <a>Video</a> vorschl\u00e4gt!",
lvnodata_vi3: "Bitte <a>meldet Euch an</a> um ein Video vorzuschlagen, oder <a>registriert Euch</a> falls Ihr noch nicht \u00fcber einen Account verf\u00fcgt.",
lvnote_tryfiltering: "Versucht es mit <a>gefilterten</a> Suchergebnissen.",
lvnote_trynarrowing: "Versucht, Eure Suche weiter einzugrenzen",
lvnote_upgradesfor: 'Sucht nach Verbesserungen f\u00fcr <a href="?item=$1" class="q$2"><b>$3</b></a>.',
lvnote_itemsfound: "$1 Gegenst\u00e4nde gefunden ($2 angezeigt)",
lvnote_itemsetsfound: "$1 Sets gefunden ($2 angezeigt)",
lvnote_npcsfound: "$1 NPCs gefunden ($2 angezeigt)",
lvnote_objectsfound: "$1 Objekte gefunden ($2 angezeigt)",
lvnote_questsfound: "$1 Quests gefunden ($2 angezeigt)",
lvnote_spellsfound: "$1 Zauber gefunden ($2 angezeigt)",
lvnote_skillsfound: "$1 Fertigkeiten gefunden ($2 angezeigt)",
lvnote_abilitiesfound: "$1 F\u00e4higkeiten gefunden ($2 angezeigt)",
lvnote_talentsfound: "$1 Talente gefunden ($2 angezeigt)",
lvnote_professionfound: "$1 Berufe gefunden ($2 angezeigt)",
lvnote_mountsfound: "$1 Reittiere gefunden ($2 angezeigt)",
lvnote_zonesfound: "$1 Gebiete gefunden ($2 angezeigt)",
lvnote_companionsfound: "$1 Haustiere gefunden ($2 angezeigt)",
lvnote_factionsfound: "$1 Fraktionen gefunden ($2 angezeigt)",
lvnote_petsfound: "$1 Begleiter gefunden ($2 angezeigt)",
lvnote_upgradesfor: 'Sucht nach Verbesserungen f\u00fcr <a href="?item=$1" class="q$2"><b>$3</b></a>.',
lvnote_itemsfound: "$1 Gegenst\u00e4nde gefunden ($2 angezeigt)",
lvnote_itemsetsfound: "$1 Sets gefunden ($2 angezeigt)",
lvnote_npcsfound: "$1 NPCs gefunden ($2 angezeigt)",
lvnote_objectsfound: "$1 Objekte gefunden ($2 angezeigt)",
lvnote_questsfound: "$1 Quests gefunden ($2 angezeigt)",
lvnote_questsind: 'Quests kategorisiert unter <a href="?quests=$1.$2" target="_blank">$3</a>.',
lvnote_spellsfound: "$1 Zauber gefunden ($2 angezeigt)",
lvnote_skillsfound: "$1 Fertigkeiten gefunden ($2 angezeigt)",
lvnote_abilitiesfound: "$1 F\u00e4higkeiten gefunden ($2 angezeigt)",
lvnote_talentsfound: "$1 Talente gefunden ($2 angezeigt)",
lvnote_professionfound: "$1 Berufe gefunden ($2 angezeigt)",
lvnote_mountsfound: "$1 Reittiere gefunden ($2 angezeigt)",
lvnote_zonesfound: "$1 Gebiete gefunden ($2 angezeigt)",
lvnote_companionsfound: "$1 Haustiere gefunden ($2 angezeigt)",
lvnote_factionsfound: "$1 Fraktionen gefunden ($2 angezeigt)",
lvnote_petsfound: "$1 Begleiter gefunden ($2 angezeigt)",
lvnote_achievementsfound: "$1 Erfolge gefunden ($2 angezeigt)",
lvnote_statisticsfound: "$1 Statistiken gefunden ($2 angezeigt)",
lvnote_charactersfound: "Insgesamt $1 Charaktere",
lvnote_charactersfound2: "Insgesamt $1 Charaktere, $2 passende",
lvnote_guildsfound: "Insgesamt $1 Gilden",
lvnote_guildsfound2: "Insgesamt $1 Gilden, $2 passende",
lvnote_arenateamsfound: "Insgesamt $1 Arena-Teams",
lvnote_arenateamsfound2: "Insgesamt $1 Arena-Teams, $2 passende",
lvnote_achievementsind: 'Erfolge kategorisiert unter <a href="?achievements=$1.$2" target="_blank">$3</a>.',
lvnote_statisticsfound: "$1 Statistiken gefunden ($2 angezeigt)",
lvnote_charactersfound: "Insgesamt $1 Charaktere",
lvnote_charactersfound2: "Insgesamt $1 Charaktere, $2 passende",
lvnote_guildsfound: "Insgesamt $1 Gilden",
lvnote_guildsfound2: "Insgesamt $1 Gilden, $2 passende",
lvnote_arenateamsfound: "Insgesamt $1 Arena-Teams",
lvnote_arenateamsfound2: "Insgesamt $1 Arena-Teams, $2 passende",
lvnote_currenciesfound: "$1 Währungen gefunden ($2 angezeigt)",
lvnote_createafilter: '<small><a href="$1">Filter erstellen</a></small>',
lvnote_filterresults: '<a href="$1">Diese Ergebnisse filtern</a>',
lvnote_questgivers: '<small><a href="?zone=$1">Questgeber</a> in <b>$2</a> anzeigen &nbsp;<b>|</b>&nbsp; Nach <a href="?items&filter=cr=126;crs=$3;crv=0">Questbelohnungen</a> filtern</small>',
@@ -2336,7 +2342,7 @@ var LANG = {
lvnote_objectopeningnormalX: "Dieses Objekt wurde $1 Mal im normalen $2 Schwierigkeitsgrad ge\u00f6ffnet.",
lvnote_objectopeningheroicX: "Dieses Objekt wurde $1 Mal im heroischen $2 Schwierigkeitsgrad ge\u00f6ffnet.",
lvnote_zonefishing: "In den Gew\u00e4ssern dieses Gebiets wurde $1 Mal geangelt.",
lvnote_achieveevent: 'Die <a href="?event=$1">Ereignisseite</a> für <b>$2</b> anzeigen',
lvnote_achieveevent: 'Die <a href="?event=$1">Ereignisseite</a> für <b>$2</b> anzeigen',
lvnote_usercomments: "Dieser Benutzer hat insgesamt $1 Kommentare abgegeben.",
lvnote_userscreenshots: "Dieser Benutzer hat insgesamt $1 Screenshots eingesandt.",
lvnote_uservideos: "Dieser Benutzer hat insgesamt $1 Videos eingesandt.",
@@ -2728,7 +2734,7 @@ var LANG = {
// alt heroiczone: [[4494, "Ahn'kahet: Das Alte K\u00f6nigreich"], [4603, "Archavons Kammer"], [3790, "Auchenaikrypta"], [4277, "Azjol-Nerub"], [206, "Burg Utgarde"], [4500, "Das Auge der Ewigkeit"], [4100, "Das Ausmerzen von Stratholme"], [4493, "Das Obsidiansanktum"], [4228, "Das Oculus"], [3713, "Der Blutkessel"], [4265, "Der Nexus"], [3716, "Der Tiefensumpf"], [2366, "Der schwarze Morast"], [3848, "Die Arkatraz"], [3847, "Die Botanika"], [3715, "Die Dampfkammer"], [4272, "Die Hallen der Blitze"], [4264, "Die Hallen des Steins"], [3849, "Die Mechanar"], [4809, "Die Seelenschmiede"], [3717, "Die Sklavenunterk\u00fcnfte"], [4415, "Die Violette Festung"], [3714, "Die zerschmetterten Hallen"], [4812, "Eiskronenzitadelle"], [4196, "Feste Drak'Tharon"], [4813, "Grube von Saron"], [4416, "Gundrak"], [4820, "Hallen der Reflexion"], [3562, "H\u00f6llenfeuerbollwerk"], [3792, "Managruft"], [3456, "Naxxramas"], [4723, "Pr\u00fcfung des Champions"], [4722, "Pr\u00fcfung des Kreuzfahrers"], [3789, "Schattenlabyrinth"], [3791, "Sethekkhallen"], [4131, "Terrasse der Magister"], [1196, "Turm Utgarde"], [4273, "Ulduar"], [2367, "Vorgebirge des Alten H\u00fcgellands"]],
heroicdungeon: [[4494, "Ahn'kahet: Das Alte K\u00f6nigreich"], [3790, "Auchenaikrypta"], [4277, "Azjol-Nerub"], [209, "Burg Schattenfang"], [206, "Burg Utgarde"], [4100, "Das Ausmerzen von Stratholme"], [4228, "Das Oculus"], [3713, "Der Blutkessel"], [4265, "Der Nexus"], [2366, "Der Schwarze Morast"], [3716, "Der Tiefensumpf"], [3848, "Die Arkatraz"], [3847, "Die Botanika"], [3715, "Die Dampfkammer"], [3849, "Die Mechanar"], [4809, "Die Seelenschmiede"], [3717, "Die Sklavenunterk\u00fcnfte"], [1581, "Die Todesminen"], [4415, "Die Violette Festung"], [3714, "Die Zerschmetterten Hallen"], [4196, "Feste Drak'Tharon"], [4813, "Grube von Saron"], [4416, "Gundrak"], [4272, "Hallen der Blitze"], [4820, "Hallen der Reflexion"], [4264, "Hallen des Steins"], [3562, "H\u00f6llenfeuerbollwerk"], [3792, "Managruft"], [4723, "Pr\u00fcfung des Champions"], [3789, "Schattenlabyrinth"], [3791, "Sethekkhallen"], [4131, "Terrasse der Magister"], [5004, "Thron der Gezeiten"], [1196, "Turm Utgarde"], [2367, "Vorgebirge des Alten H\u00fcgellands"]],
// alt heroicdungeon: [[4494, "Ahn'kahet: Das Alte K\u00f6nigreich"], [3790, "Auchenaikrypta"], [4277, "Azjol-Nerub"], [206, "Burg Utgarde"], [4100, "Das Ausmerzen von Stratholme"], [4228, "Das Oculus"], [3713, "Der Blutkessel"], [4265, "Der Nexus"], [3716, "Der Tiefensumpf"], [2366, "Der schwarze Morast"], [3848, "Die Arkatraz"], [3847, "Die Botanika"], [3715, "Die Dampfkammer"], [4272, "Die Hallen der Blitze"], [4264, "Die Hallen des Steins"], [3849, "Die Mechanar"], [4809, "Die Seelenschmiede"], [3717, "Die Sklavenunterk\u00fcnfte"], [4415, "Die Violette Festung"], [3714, "Die zerschmetterten Hallen"], [4196, "Feste Drak'Tharon"], [4813, "Grube von Saron"], [4416, "Gundrak"], [4820, "Hallen der Reflexion"], [3562, "H\u00f6llenfeuerbollwerk"], [3792, "Managruft"], [4723, "Pr\u00fcfung des Champions"], [3789, "Schattenlabyrinth"], [3791, "Sethekkhallen"], [4131, "Terrasse der Magister"], [1196, "Turm Utgarde"], [2367, "Vorgebirge des Alten H\u00fcgellands"]],
heroicraid: [[4987, "Das Rubinsanktum"], [4812, "Eiskronenzitadelle"], [4722, "Pr\u00fcfung des Kreuzfahrers"]],
heroicraid: [[4987, "Das Rubinsanktum"], [4812, "Eiskronenzitadelle"], [4722, "Pr\u00fcfung des Kreuzfahrers"]],
multimoderaid: [[4603, "Archavons Kammer"], [4500, "Das Auge der Ewigkeit"], [4493, "Das Obsidiansanktum"], [4987, "Das Rubinsanktum"], [4812, "Eiskronenzitadelle"], [3456, "Naxxramas"], [2159, "Onyxias Hort"], [4722, "Pr\u00fcfung des Kreuzfahrers"], [4273, "Ulduar"]],
event: [[424, "Angelwettstreit der Kalu'ak"], [301, "Anglerwettbewerb im Schlingendorntal"], [372, "Braufest"], [374, "Dunkelmond-Jahrmarkt"], [321, "Erntedankfest"], [201, "Kinderwoche"], [335, "Liebe liegt in der Luft"], [327, "Mondfest"], [181, "Nobelgartenfest"], [404, "Pilgerfreudenfest"], [398, "Piratentag"], [324, "Schlotternächte"], [341, "Sonnenwendfest"], [409, "Tag der Toten"], [141, "Winterhauchfest"], [283, "Zu den Waffen: Alteractal"], [285, "Zu den Waffen: Arathibecken"], [353, "Zu den Waffen: Auge des Sturms"], [420, "Zu den Waffen: Insel der Eroberung"], [284, "Zu den Waffen: Kriegshymnenschlucht"], [400, "Zu den Waffen: Strand der Uralten"]],
pvp: [[1, "Ja"], [3, "Arena"], [4, "Schlachtfeld"], [5, "Welt"], [2, "Nein"]],

View File

@@ -2319,32 +2319,38 @@ var LANG = {
lvnodata_vi1: "No videos have been submitted yet.",
lvnodata_vi2: "Be the first to <a>suggest a video</a> for this page!",
lvnodata_vi3: "Please <a>sign in</a> to suggest a video, or <a>sign up</a> if you don't already have an account.",
lvnote_tryfiltering: "Try <a>filtering</a> your results",
lvnote_trynarrowing: "Try narrowing your search",
lvnote_upgradesfor: 'Finding upgrades for <a href="?item=$1" class="q$2"><b>$3</b></a>.',
lvnote_itemsfound: "$1 items found ($2 displayed)",
lvnote_itemsetsfound: "$1 item sets found ($2 displayed)",
lvnote_npcsfound: "$1 NPCs found ($2 displayed)",
lvnote_objectsfound: "$1 objects found ($2 displayed)",
lvnote_questsfound: "$1 quests found ($2 displayed)",
lvnote_spellsfound: "$1 spells found ($2 displayed)",
lvnote_skillsfound: "$1 skills found ($2 displayed)",
lvnote_abilitiesfound: "$1 abilities found ($2 displayed)",
lvnote_talentsfound: "$1 talents found ($2 displayed)",
lvnote_professionfound: "$1 professions found ($2 displayed)",
lvnote_mountsfound: "$1 mounts found ($2 displayed)",
lvnote_zonesfound: "$1 zones found ($2 displayed)",
lvnote_companionsfound: "$1 companions found ($2 displayed)",
lvnote_factionsfound: "$1 factions found ($2 displayed)",
lvnote_petsfound: "$1 pets found ($2 displayed)",
lvnote_upgradesfor: 'Finding upgrades for <a href="?item=$1" class="q$2"><b>$3</b></a>.',
lvnote_itemsfound: "$1 items found ($2 displayed)",
lvnote_itemsetsfound: "$1 item sets found ($2 displayed)",
lvnote_npcsfound: "$1 NPCs found ($2 displayed)",
lvnote_objectsfound: "$1 objects found ($2 displayed)",
lvnote_questsfound: "$1 quests found ($2 displayed)",
lvnote_questsind: 'Quests categorized under <a href="?quests=$1.$2" target="_blank">$3</a>.',
lvnote_spellsfound: "$1 spells found ($2 displayed)",
lvnote_skillsfound: "$1 skills found ($2 displayed)",
lvnote_abilitiesfound: "$1 abilities found ($2 displayed)",
lvnote_talentsfound: "$1 talents found ($2 displayed)",
lvnote_professionfound: "$1 professions found ($2 displayed)",
lvnote_mountsfound: "$1 mounts found ($2 displayed)",
lvnote_zonesfound: "$1 zones found ($2 displayed)",
lvnote_companionsfound: "$1 companions found ($2 displayed)",
lvnote_factionsfound: "$1 factions found ($2 displayed)",
lvnote_petsfound: "$1 pets found ($2 displayed)",
lvnote_achievementsfound: "$1 achievements found ($2 displayed)",
lvnote_statisticsfound: "$1 statistics found ($2 displayed)",
lvnote_charactersfound: "$1 total characters",
lvnote_charactersfound2: "$1 total characters, $2 matching",
lvnote_guildsfound: "$1 total guilds",
lvnote_guildsfound2: "$1 total guilds, $2 matching",
lvnote_arenateamsfound: "$1 total arena teams",
lvnote_arenateamsfound2: "$1 total arena teams, $2 matching",
lvnote_achievementsind: 'Achievements categorized under <a href="?achievements=$1.$2" target="_blank">$3</a>.',
lvnote_statisticsfound: "$1 statistics found ($2 displayed)",
lvnote_charactersfound: "$1 total characters",
lvnote_charactersfound2: "$1 total characters, $2 matching",
lvnote_guildsfound: "$1 total guilds",
lvnote_guildsfound2: "$1 total guilds, $2 matching",
lvnote_arenateamsfound: "$1 total arena teams",
lvnote_arenateamsfound2: "$1 total arena teams, $2 matching",
lvnote_currenciesfound: "$1 currencies found ($2 displayed)",
lvnote_createafilter: '<small><a href="$1">Create a filter</a></small>',
lvnote_filterresults: '<a href="$1">Filter these results</a>',
lvnote_questgivers: '<small>View <a href="?zone=$1">quest givers</a> in <b>$2</b> &nbsp;<b>|</b>&nbsp; Filter <a href="?items&filter=cr=126;crs=$3;crv=0">quest rewards</a></small>',

View File

@@ -2155,34 +2155,38 @@ var LANG = {and:" y ",
req:"Req. ",
reputation:"Reputación",
rewards:"Recompensas",
petfamily:"Familias de mascotas",
pieces:"Piezas",
points:"Puntos",
posted:"Escrito",
premiumupgrade:"Mejora Premium",
preview:"Visualizar",
privateprofile:"Privado",
prize:"Premio",
profiler:"Perfiles",
progress:"Progreso",
publicprofile:"Público",
replies:"Respuestas",
report:"Reportar",
report_tooltip:"Click para ver opciones de reporte",
school:"Escuela",
score:"Puntuación",
settings:"Configuración",
side:"Lado",
signout:"Salir",
sockets:"Ranuras",
source:"Fuente",
skill:"Habilidad",
skin:"Skin",
slot:"Casilla",
slots:"Casillas",
smartloot:"Botín inteligente",
speed:"Velocidad",
stack:"Monton",
petfamily:"Familias de mascotas",
pieces:"Piezas",
points:"Puntos",
posted:"Escrito",
premiumupgrade:"Mejora Premium",
preview:"Visualizar",
privateprofile:"Privado",
prize:"Premio",
profiler:"Perfiles",
progress:"Progreso",
publicprofile:"Público",
replies:"Respuestas",
report:"Reportar",
report_tooltip:"Click para ver opciones de reporte",
school:"Escuela",
score:"Puntuación",
settings:"Configuración",
side:"Lado",
signout:"Salir",
sockets:"Ranuras",
source:"Fuente",
skill:"Habilidad",
skin:"Skin",
slot:"Casilla",
slots:"Casillas",
smartloot:"Botín inteligente",
speed:"Velocidad",
stack:"Monton",
standing:"Posición",
stock:"Cantidad",
statistic:"Estadística",
subject:"Sujeto",
submit:"Enviar",
talents:"Talentos",
territory:"Territorio",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -35,6 +35,7 @@
{if isset($found.faction)} {include file='bricks/faction_table.tpl' data=$found.faction.data params=$found.faction.params } {/if}
{if isset($found.pet)} {include file='bricks/npc_table.tpl' data=$found.pet.data params=$found.pet.params } {/if}
{if isset($found.achievement)} {include file='bricks/achievement_table.tpl' data=$found.achievement.data params=$found.achievement.params} {/if}
{if isset($found.statistic)} {include file='bricks/achievement_table.tpl' data=$found.statistic.data params=$found.statistic.params } {/if}
{if isset($found.event)} {include file='bricks/event_table.tpl' data=$found.event.data params=$found.event.params } {/if}
{if isset($found.skill)} {include file='bricks/skill_table.tpl' data=$found.skill.data params=$found.skill.params } {/if}
{if isset($found.currency)} {include file='bricks/currency_table.tpl' data=$found.currency.data params=$found.currency.params } {/if}