GobZilla

Décoche par défaut la case active dla et le vestiaire. Affiche des icônes dans la vue. Affiche le nombre d'entrainements restants. Récup des attributs)

Versión del día 14/10/2022. Echa un vistazo a la versión más reciente.

// ==UserScript==
// @name           GobZilla
// @namespace      Gobland
// @description    Décoche par défaut la case active dla et le vestiaire. Affiche des icônes dans la vue. Affiche le nombre d'entrainements restants. Récup des attributs)
// @include        http://games.gobland.fr/jeuC.html
// @include        *https://games.gobland.fr*
// @include        http://games.gobland.fr/Vue.php
// @include        http://games.gobland.fr/ProfilPerso.php
// @include        http://games.gobland.fr/Options.php
// @include        http:/games.gobland.fr/ProfilMonster.php
// @include        http://games.gobland.fr/goodies.php
// @include        http://games.gobland.fr/activDLA.php
// @include       *http://games.gobland.fr/TechDesc.php?Id=1*
// @include        https://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael.js
// @match          http://games.gobland.fr/index.php*
// @match          https://games.gobland.fr/index.php*
// @match          http://games.gobland.fr/playActions.php?todo=52
// @require        https://greasemonkey.github.io/gm4-polyfill/gm4-polyfill.js
// @require        https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
// @require        http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.js
// @require        http://cdn.jsdelivr.net/qtip2/2.2.0/jquery.qtip.min.js
// @copyright      lordslair, Seishin et Death Métal (330)
// @author      DeathMétal 330
// @license        https://creativecommons.org/licenses/by-sa/4.0/
// @version        0.5.4
// ==/UserScript==

//================================================================================================================
/// INFO BULLES TALENTS
//=================================================================================================================

$( document ).ready(function() {
    $('a:contains("Afflux Sanguin")').prop('title',
'Apprenti ' + Math.floor((skills.PV/30) )  + 'D3'  + "\n"  +
'Compagnon ' + Math.floor((skills.PV/25) ) + 'D3'  + "\n"  +
'Maître ' + Math.floor((skills.PV/20) ) + 'D3'  + "\n"  +
'Grand Maître ' + Math.floor((skills.PV/15) )+ 'D3') ;
});

$( document ).ready(function() {
    $('a:contains("Appel des Ombres")').prop('title',
'Apprenti......' + ' MT +' + (skills.MTP/2)+ ' | ' + ' RT +0 ' + ' | ' + ' MP +0 ' + ' | ' + ' RT -' + (skills.RPP/2) + "\n"  +
'Compagnon......' + ' MT +' + (skills.MTP)+ ' | '  + ' RT +0 '+ ' | '  + ' MP +0 '+ ' | '  + ' RP -' + (skills.RPP) + "\n"  +
'Maître......' + ' MT +' + (skills.MTP)+ ' | '  + ' RT +' + (skills.RTP/2) + ' | '  + ' MP -' +(skills.MPP/2) + ' | ' + ' RP -' + (skills.RPP) + "\n"  +
'Grand Maître......' + ' MT +' + (skills.MTP)+ ' | '  + ' RT +' + (skills.RTP)+ ' | '   + ' MP -' +(skills.MPP)+ ' | '  + ' RP-' + (skills.RPP));
});


$( document ).ready(function() {
    $('a:contains("Appel de la Nature")').prop('title',
'Apprenti......' + ' MS +' + (skills.MSP/2)+ ' | ' + ' RS +0 ' + ' | ' + ' MC +0 ' + ' | ' + ' RC -' + (skills.RCP/2)   + "\n"  +
'Compagnon......' + ' MS +' + (skills.MSP)+ ' | '  + ' RS +0 '+ ' | '  + ' MC +0 '+ ' | '  + ' RC -' + (skills.RCP) + "\n"  +
'Maître......' + ' MS +' + (skills.MSP)+ ' | '  + ' RS +' + (skills.RSP/2) + ' | '  + ' MC -' +(skills.MCP/2) + ' | ' + ' RC -' + (skills.RCP) + "\n"  +
'Grand Maître......' + ' MS +' + (skills.MSP)+ ' | '  + ' RS +' + (skills.RSP)+ ' | '   + ' MC -' +(skills.MCP)+ ' | '  + ' RC -' + (skills.RCP));
});

$( document ).ready(function() {
    $('a:contains("Connaissance des Monstres")').prop('title', 'portée : ' + (Math.floor((+skills.PER)+(+skills.PERM)+(+skills.PERP))));
});

$( document ).ready(function() {
    $('a:contains("Projectile")').prop('title',
' ATT ' +  Math.floor(((skills.PER/2 +   skills.ATT/2)) - Math.max(0,2/4-0)) + 'D6 +' + ( skills.PERM/2 ) +
' DEG ' +  Math.floor((skills.PER/2 +   skills.ATT/2)) + 'D3 +' + (skills.ATTM/2 + skills.PERM/2 ));

});

$( document ).ready(function() {
    $('a:contains("Baratin")').prop('title',
'Apprenti......' +  Math.floor((skills.PER)/5 + (skills.REG)/5)+'D6' + "\n"  +
'Compagnon......'  + Math.floor((skills.PER)/4 + (skills.REG)/5) +'D6' + "\n"  +
'Maître ......'  + Math.floor((skills.PER)/3 + (skills.REG)/5)+'D6' + "\n"  +
'Grand Maître ......' +  Math.floor((skills.PER)/2 + (skills.REG)/5)+'D6');
});

$( document ).ready(function() {
    $('a:contains("Chirurgie")').prop('title',
'Apprenti...... ' + Math.floor((3/2)*skills.REG) + 'D3'+ "\n"  +
'Compagnon...... ' + Math.floor((4/2)*skills.REG) + 'D3'+ "\n"  +
'Maître...... ' + Math.floor((5/2)*skills.REG) + 'D3'+ "\n"  +
'Grand Maître...... ' + Math.floor((6/2)*skills.REG) + 'D3');
});

$( document ).ready(function() {
    $('a:contains("Téléportation")').prop('title',
'Apprenti...... ' +  'Portée horizontale : ' + Math.floor((Math.sqrt((19+8*((skills.MM)*1)/5+3)-7)/2  + 20 + +skills.PER + +skills.PERM)) + ' Portée verticale : ' + Math.floor(((Math.sqrt(((19+8*(skills.MM*1)/5+3)-7)/2))/3)+3) + "\n"  +
'Compagnon...... ' +  'Portée horizontale : ' + Math.floor((Math.sqrt((19+8*((skills.MM)*1.1)/5+3)-7)/2  + 20 + +skills.PER + +skills.PERM)) + ' Portée verticale : ' + Math.floor(((Math.sqrt(((19+8*(skills.MM*1.1)/5+3)-7)/2))/3)+3) + "\n"  +
'Maître...... ' +  'Portée horizontale : ' + Math.floor((Math.sqrt((19+8*((skills.MM)*1.2)/5+3)-7)/2  + 20 + +skills.PER + +skills.PERM)) + ' Portée verticale : ' + Math.floor(((Math.sqrt(((19+8*(skills.MM*1.2)/5+3)-7)/2))/3)+3) + "\n"  +
'Grand Maître...... ' +  'Portée horizontale : ' + Math.floor((Math.sqrt((19+8*((skills.MM)*1.3)/5+3)-7)/2  + 20 + +skills.PER + +skills.PERM)) + ' Portée verticale : ' + Math.floor(((Math.sqrt(((19+8*(skills.MM*1.3)/5+3)-7)/2))/3)+3));
});


$( document ).ready(function() {
    $('a:contains("Double Dague")').prop('title',
'Grand Maître : 1ere attaque : ' + skills.ATT+ 'D6'+ '+' + skills.ATTP*1+ '+' + +skills.ATTM +
'2eme attaque : ' + Math.floor(skills.ATT-+skills.ATT*0.25) + 'D6'+ '+' +  Math.floor(skills.ATTP*1*0.25)+ '+' +  Math.floor(skills.ATTM*0.25) +
'3eme attaque : ' + Math.floor(skills.ATT-+skills.ATT*0.5) + 'D6'+ '+' +  Math.floor(skills.ATTP*1*0.5)+ '+' +  Math.floor(skills.ATTM*0.5) +
'4eme attaque : ' + Math.floor(skills.ATT-+skills.ATT*0.75) + 'D6'+ '+' +  Math.floor(skills.ATTP*1*0.75)+ '+' +  Math.floor(skills.ATTM*0.75) +
'Dégâts : ' + skills.DEG  + 'D3'+ '+' +  Math.floor(skills.DEGP*1.5)+ '+' +  Math.floor(skills.DEGM)) ;

});

$( document ).ready(function() {
    $('a:contains("Alchimie")').prop('title', "Apprenti : 1ere attaque\n " + skills.ATTP);
});

$( document ).ready(function() {
    $('a:contains("Flairer le gibier")').prop('title',
'Apprenti...... ' +  'Portée  : ' + 1.5*(+skills.PER+(+skills.PERP)) + "\n"  +
'Compagnon......' +  'Portée  : '+ 2*(+skills.PER+(+skills.PERP)) + "\n"  +
'Maître...... ' +  'Portée  : ' + 2.5*(+skills.PER+(+skills.PERP)) + "\n"  +
'Grand Maître...... ' +  'Portée  : ' + 3*(+skills.PER+(+skills.PERP)) + "\n"  );
});

//====================================================================================
/// Décocher par défaut la case activer sa DLA sur la page de Log-In piqué a Seishin
//====================================================================================
(function() {
    'use strict';

 $('input[type=checkbox][name=aDLA]').prop( "checked", false);
})();

//===================================================
// Décocher par défaut le vestaire piqué a Seishin
//===================================================
(function() {
    'use strict';

    $('input[type=checkbox][name=VESTIAIRE]').prop( "checked", false );
})();

//====================================================================================
///Info Bulle CdM (en construction a faire une fois la base de données cdm solide)
//====================================================================================
$( document ).ready(function() {
    $('a:contains("Abishaii Bleu")').prop('title',  'XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX');});

//====================================================================================
///fonction principale pour remplacer le texte et ajouter des icones dans Gobland
//====================================================================================
(function () {
    'use strict';

    var words = {

///les mots a changer/améliorer + icones
'((286|386|387|393|46237|95720|130171|46237|47717|95720|130171|53|101759|101|50127|95982|108284|100794|94082|108|121|129|141|180|48520|66516|69423|119472|32954|))' : '🥰', // Clan et CM
'Champi-Glouton' :  'Champi-Glouton 👾', // Monstres manque CdM
'Basilic': 'Basilic 👾',
'Gnu Sauvage': 'Gnu Sauvage 👾',
'Mille-pattes géant': 'Mille-pattes géant 👾',
'Erinyes': 'Erinyes 👾',
'Gnoll': 'Gnoll 👾',
'Halfelin': 'Halfelin 👾',
'Momie': 'Momie 👾',
'Monstre Rouilleur': 'Monstre Rouilleur 👾',
'Galopin': 'Galopin 👾',
'Gargouille': 'Gargouille 👾',
'Incube': 'Incube 👾',
'Succube': 'Succube 👾',
'Babélien': 'Babélien 👾',
'Golem de Chair': 'Golem de Chair 👾',
'Homme-Lézard': 'Homme-Lézard 👾',
'Méphite de Feu': 'Méphite de Feu 👾',
'Naga': 'Naga 👾',
'Ogre': 'Ogre 👾',
'Ondine': 'Ondine 👾',
'Rat-garou': 'Rat-garou 👾',
'Scorpion Géant': 'Scorpion Géant 👾',

'Oni': 'Oni 🎯', //gros monstres (liste a completer)
'Marid': 'Marid 🎯',
'Vampire': 'Vampire 🎯',
'Megantereon': 'Megantereon 🎯',
'Automate': 'Automate 🎯',
'Viverne': 'Viverne 🎯',
'Homothérium': 'Homothérium 🎯',
'Horreur chasseresse': 'Horreur chasseresse 🎯',
'Behemoth': 'Behemoth🎯',
'Sphinx': 'Sphinx 🎯',
'Cerbère': 'Cerbère 🎯',
'Légion-en-peine' : 'Légion-en-peine🎯',
'Danseur de Mort' : 'Danseur de Mort🎯',
'Chimère' : 'Chimère🎯',
'Tarasque': 'Tarasque🎯',
'Hydre': 'Hydre🎯',
'Balrog': 'Balrog🎯',
'Dragon': 'Dragon🎯',
'Phoenix': 'Phoenix🎯',
'Vampire Archaïque': 'Vampire Archaïque🎯',
'Troll': 'Troll🎯',
'Barghest' : 'Barghest🎯',


'Potion' : 'Potion 🧪', //icones équipement
'Parchemin' : 'Parchemin 📜',
'CT| Canines de Trõll' : ' CT 💰',
'Anneau' : 'Anneau 💍 ',
'Bouclier' : 'Bouclier 🛡️',
'Corps' : 'Corps ☠️',
'Arme 1 Main' : 'Arme 1 main 🗡️',

'Ankheg' : 'Ankheg 👨‍🍳', //monstre a cuisiner (insectes)
'Araignée Géante' : 'Araignée Géante 👨‍🍳',
'Brontoscorpion' : 'Brontoscorpion 👨‍🍳',
'Fourmi Guerrière' : 'Fourmi Guerrière 👨‍🍳',
'Fourmi Ouvrière' : 'Fourmi Ouvrière 👨‍🍳',
'Guêpe géante' : 'Guêpe géante 👨‍🍳',
'Limace Géante' : ' Limace Géante 👨‍🍳',
'Mante religieuse géante' : 'Mante religieuse géante 👨‍🍳',
'Meganeura' : 'Meganeura 👨‍🍳',
'Mille-pattes géant' : 'Mille-pattes géant 👨‍🍳',
'Nuage dinsectes' : 'Nuage dinsectes 👨‍🍳',
'Nuée de Vermines' : 'Nuée de Vermines 👨‍🍳',
'Reine Fourmi' : 'Reine Fourmi 👨‍🍳',
'Scarabée Géant' : 'Scarabée Géant 👨‍🍳',
'Scorpion Géant' : 'Scorpion Géant 👨‍🍳',
'Strige': 'Strige 👨‍🍳',
'Thri-kreen': 'Thri-kreen 👨‍🍳',

'Baguette' : 'Baguette 🪄 ',
'Escalier' : 'Escalier 🪜 ',
'Baie' : 'Baie 🫐',

'Zone de ténèbres' : 'Zone de ténèbres 🌫️',
'Porte' : 'Porte 🚪',

//Mon Profil

//'Perception' :    'PER 👁️' ,
'Santé' : 'Santé ❤️',
'Echéance du Tour' : 'Echéance du Tour⏱️',
'Combat' : 'Combat ⚔️',
'Affinités' : 'Affinités ✨',

'[Goodies]' : '[GobZilla]',
'DEVELOPPEMENT EN COURS !!!' : 'Bienvenu sur Gobzilla. Ici bientôt des Infos',


///'Apprenti':   'Apprenti 1️⃣',
///'Compagnon':'Compagnon 2️⃣',
///'Grand Maître':'Grand Maître 4️⃣',
///'Maître':'Maître 3️⃣',

'':''};

///enclenchement des remplacements et ajouts d'icones
var regexs = [], replacements = [],
        tagsWhitelist = ['PRE', 'BLOCKQUOTE', 'CODE', 'INPUT', 'BUTTON', 'TEXTAREA'],
        rIsRegexp = /^\/(.+)\/([gim]+)?$/,
        word, text, texts, i, userRegexp;

    function prepareRegex(string) {
        return string.replace(/(\({2}|([\[\]\^\&\$\.\?\/\\\+\{\}])|\)$)/g, '\\$1');
    }

    function isTagOk(tag) {
        return tagsWhitelist.indexOf(tag) === -1;
    }

    for (word in words) {
        if ( typeof word === 'string' && words.hasOwnProperty(word) ) {
            userRegexp = word.match(rIsRegexp);

            // add the search/needle/query
            if (userRegexp) {
                regexs.push(new RegExp(userRegexp[1], 'g'));
            } else {
                regexs.push(
                    new RegExp(prepareRegex(word).replace(/\\?\*/g, function (fullMatch) {
                        return fullMatch === '\\*' ? '*' : '[^ ]*';
                    }), 'g')
                );
            }

            replacements.push(words[word]);
        }
    }

    texts = document.evaluate('//body//text()[ normalize-space(.) != "" ]', document, null, 6, null);
    for (i = 0; text = texts.snapshotItem(i); i += 1) {
        if ( tagsWhitelist.indexOf(text.parentNode.tagName) ) {
            regexs.forEach(function (value, index) {
                text.data = text.data.replace( value, replacements[index] );
            });
        }
    }

}());

///fonction principale pour remplacer le texte et ajouter des icones dans Gobland(fin)
///---------------------------------------------------------------------------------------------///

//===============================================================
//   R E C U P   D E S   I N F O S   P A G E   P R O F I L
//===============================================================


// calcul du nombre d'entrainement pour passer au lvl sup
	var gobExperience = $('th:contains("Expérience")').parent().closest('tr');
	var tdExp = $('td:first', gobExperience);
	var sExp = tdExp.html();
	res = sExp.match(/: (\d+) \((\d+) PI \| Niveau (\d+) : (\d+)/);
	var nbTrain = Math.ceil((res[4].valueOf() - res[2].valueOf())/( 2 * res[1].valueOf()));
	var pExp = sExp.indexOf(")");
	var sTrain = (nbTrain > 1) ? " entraînements" : " entraînement";
  tdExp.html(sExp.substr(0, pExp + 1 ) + " ---> Il te reste " + nbTrain + sTrain + sExp.substr(pExp + 1));

/// RECUP DES CARACS

 var skills = {};

// Recup position et PER
	var gobPosition = $('th:contains("Position")').parent().closest('tr').text();
	var pos = gobPosition.match(/X = ([-]*\d+) \| Y = ([-]*\d+) \| N = ([-]*\d+)/);
	skills.X = pos[1];
	skills.Y = pos[2];
	skills.N = pos[3];

  var per =  gobPosition.match(/Perception......: (\d+)/);
  skills.PER = per[1];
  var perp = gobPosition.match(/Cases (\W(\d+))/);
  skills.PERP = perp[1];
  var perm = gobPosition.match(/Cases (\W(\d+))(\W(\d+))/);
  skills.PERM = perm[3];



// Recup PV, PVMax et REG
	var gobSante = $('th:contains("Santé")').parent().closest('tr');
	var tdSante = $('td:first', gobSante);
	res = tdSante.html().split(/<BR>/i); //gobSante.match(/: (\d+)([^:]+): (\d+)([^:]+): (\d+)/);
	skills.PV = res[0].match(/: (\d+)/)[1];
	skills.PVMax = res[1].match(/: (\d+)/)[1];


  var regensgob = $('td:contains("Régénération")').parent().closest('tr').text();
  var reg = regensgob.match(/Régénération..: (\d+)/);
  skills.REG = reg[1];
  var regp = regensgob.match(/D3(\W(\d+))/);
  skills.REGP = regp[1];
  var regm = regensgob.match(/D3(\W(\d+))(\W(\d+))/);
  skills.REGM = regm[3];

/// recup DEG
  var degatsgob = $('div:contains("Dégâts")').parent().closest('tr').text();
  var deg = degatsgob.match(/: (\d+)/);
  skills.DEG = deg[1];
  var degp = degatsgob.match(/D3(\W(\d+))/);
  skills.DEGP = degp[1];
  var degm = degatsgob.match(/D3(\W(\d+))(\W(\d+))/);
  skills.DEGM = degm[3];

/// recup ARM
  var armuresgob = $('div:contains("Armure")').parent().closest('tr').text();
  var armp = armuresgob.match(/Armure.....: (\d+)/);
  skills.ARMP = armp[1];
  var armm = armuresgob.match(/Armure.....: (\d+)(\W)(\d+)/);
  skills.ARMM = armm[3];

/// recup ATT
  var attaquesgob = $('td:contains("Attaque")').parent().closest('tr').text();
  var att = attaquesgob.match(/Attaque.....: (\d+)/);
  skills.ATT = att[1];
  var attp = attaquesgob.match(/Attaque.....: (\d+)D6(\W(\d+))/);
  skills.ATTP = attp[2];
  var attm = attaquesgob.match(/Attaque.....: (\d+)D6(\W(\d+))(\W(\d+))/);
  skills.ATTM = attm[4];

/// recup ESQ
  var esquivesgob = $('td:contains("Esquive")').parent().closest('tr').text();
  var esq = esquivesgob.match(/Esquive....: (\d+)/);
  skills.ESQ = esq[1];
  var esqp = esquivesgob.match(/Esquive....: (\d+)D6(\W(\d+))(\W)(\d+)/);
  skills.ESQP = esqp[2];
  var esqm = esquivesgob.match(/Esquive....: (\d+)D6(\W)(\d+)(\W(\d+))/);
  skills.ESQM = esqm[4];

///recup Magies (a finir)
	skills.RM = $('td.invisible:contains("(RM)")').next('td').text().match(/= ([-]*\d+)/)[1];
  skills.RMP = $('td.invisible:contains("(RM)")').next('td').text().match(/(\d+)(\W(\d+))/)[1];
  skills.RMM = $('td.invisible:contains("(RM)")').next('td').text().match(/(\d+)(\W(\d+))/)[2];

  skills.MM = $('td.invisible:contains("(MM)")').next('td').text().match(/= ([-]*\d+)/)[1];
	skills.MMP = $('td.invisible:contains("(MM)")').next('td').text().match(/(\d+)(\W(\d+))/)[1];
	skills.MMM = $('td.invisible:contains("(MM)")').next('td').text().match(/(\d+)(\W(\d+))/)[2];

  skills.RS = $('td.invisible:contains("(RS)")').next('td').text().match(/= ([-]*\d+)/)[1];
	skills.RSP = $('td.invisible:contains("(RS)")').next('td').text().match(/(\d+)(\W(\d+))/)[1];
	skills.RSM = $('td.invisible:contains("(RS)")').next('td').text().match(/(\d+)(\W(\d+))/)[2];

  skills.MS = $('td.invisible:contains("(MS)")').next('td').text().match(/= ([-]*\d+)/)[1];
	skills.MSP = $('td.invisible:contains("(MS)")').next('td').text().match(/(\d+)(\W(\d+))/)[1];
	skills.MSM = $('td.invisible:contains("(MS)")').next('td').text().match(/(\d+)(\W(\d+))/)[2];

  skills.RT = $('td.invisible:contains("(RT)")').next('td').text().match(/= ([-]*\d+)/)[1];
  skills.RTP = $('td.invisible:contains("(RT)")').next('td').text().match(/(\d+)(\W(\d+))/)[1];
  skills.RTM = $('td.invisible:contains("(RT)")').next('td').text().match(/(\d+)(\W(\d+))/)[2];

  skills.MT = $('td.invisible:contains("(MT)")').next('td').text().match(/= ([-]*\d+)/)[1];
  skills.MTP = $('td.invisible:contains("(MT)")').next('td').text().match(/(\d+)(\W(\d+))/)[1];
  skills.MTM = $('td.invisible:contains("(MT)")').next('td').text().match(/(\d+)(\W(\d+))/)[2];

  skills.RC = $('td.invisible:contains("(RC)")').next('td').text().match(/= ([-]*\d+)/)[1];
	skills.RCP = $('td.invisible:contains("(RC)")').next('td').text().match(/(\d+)(\W(\d+))/)[1];
  skills.RCM = $('td.invisible:contains("(RC)")').next('td').text().match(/(\d+)(\W(\d+))/)[2];

  skills.MC = $('td.invisible:contains("(RT)")').next('td').text().match(/= ([-]*\d+)/)[1];
  skills.MCP = $('td.invisible:contains("(RT)")').next('td').text().match(/(\d+)(\W(\d+))/)[1];
  skills.MCM = $('td.invisible:contains("(RT)")').next('td').text().match(/(\d+)(\W(\d+))/)[2];

  skills.RP = $('td.invisible:contains("(RP)")').next('td').text().match(/= ([-]*\d+)/)[1];
	skills.RPP = $('td.invisible:contains("(RP)")').next('td').text().match(/(\d+)(\W(\d+))/)[1];
	skills.RPM = $('td.invisible:contains("(RP)")').next('td').text().match(/(\d+)(\W(\d+))/)[2];

  skills.MP = $('td.invisible:contains("(MP)")').next('td').text().match(/= ([-]*\d+)/)[1];
	skills.MPP = $('td.invisible:contains("(MP)")').next('td').text().match(/(\d+)(\W(\d+))/)[1];
	skills.MPM = $('td.invisible:contains("(MP)")').next('td').text().match(/(\d+)(\W(\d+))/)[2];

  skills.RR = $('td.invisible:contains("(RR)")').next('td').text().match(/= ([-]*\d+)/)[1];
	skills.RRP = $('td.invisible:contains("(RR)")').next('td').text().match(/(\d+)(\W(\d+))/)[1];
  skills.RRM = $('td.invisible:contains("(RR)")').next('td').text().match(/(\d+)(\W(\d+))/)[2];

//	var tNiveaux = { "(Apprenti)" : 1,
//	                 "(Compagnon)" : 2,
//                 "(Maître)" : 3,
//                "(Grand Maître)" : 4 };


var danger = {
    // Mort-Vivant
    "Croquemitaine": 1,
    "Ombre": 1,
    "Momie": 1,
    "Squelette": 1,
    "Ame-en-peine": 1,
    "Goule": 1,
    "Zombi": 1,
    "Crâne Volant": 1,
    "Zombi invoqué": 1,
    "Vampire": 1,
    "Vampire Archaïque": 1,
    "Spectre": 1,
    "Légion-en-peine": 1,
    "Fantôme": 1,
    "Fongoïde": 1,
    "Nécrophage": 1,
    // Démon
    "Pseudo-Dragon": 2,
    "Erinyes": 2,
    "Incube": 2,
    "Succube": 2,
    "Ultime à Tom": 2,
    "Diablotin": 2,
    "Phoenix": 2,
    "Cattis": 2,
    "Behemoth": 2,
    "Shai": 2,
    "Marilith": 2,
    "Cerbère": 2,
    "Barghest": 2,
    "Abishaii Blanc": 2,
    "Abishaii Vert": 2,
    "Abishaii Multicolore": 2,
    "Horreur chasseresse": 2,
    "Gorille démoniaque": 2,
    "Abishaii Bleu": 2,
    "Abishaii Noir": 2,
    "Abishaii Rouge": 2,
    "Balrog": 2,
    "Gargouille": 2,
    "Hellrot": 2,
    "Larbin démoniaque": 2,
    "Lémure": 2,
    "Molosse Satanique": 2,
    "Rakshah": 2,
    "Taureau démoniaque": 2,
    "Crapaud démoniaque": 2
};