Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 97 additions & 14 deletions src/main/tabs/playing.js
Original file line number Diff line number Diff line change
Expand Up @@ -492,14 +492,15 @@ Main.k.tabs.playing = function() {

// Planets
if ($("#navModule").length > 0) {
var tooltipText = Main.k.FormatPlanets(0,true);
$("<a>").addClass("butmini formatbtn").html("<img src='/img/icons/ui/planet.png' />").attr("href", "#").appendTo(sharediv)
.on("click", function() {
var txt = Main.k.FormatPlanets();
$(this).parent().parent().siblings("td").first().find("textarea").insertAtCaret(txt);
return false;
})
.attr("_title", Main.k.text.gettext("Partager les planètes"))
.attr("_desc", Main.k.text.gettext("<p>Insère les détails des planètes dans la zone de texte active.</p><p>TODO: Exemple</p>"))
.attr("_desc", Main.k.text.gettext("<p>Insère les détails des planètes dans la zone de texte active.<br />"+tooltipText+"</p>"))
.on("mouseover", Main.k.CustomTip)
.on("mouseout", Main.k.hideTip);
}
Expand Down Expand Up @@ -1002,8 +1003,18 @@ Main.k.tabs.playing = function() {
/**
* @return string;
*/
Main.k.FormatPlanets = function(index) {//TODO: MULTILANG
var ret = "**//"+Main.k.text.gettext("Planètes")+" : //**";
Main.k.FormatPlanets = function(index,tooltip) {//TODO: MULTILANG
var ret = '';
var tooltipret = '';
var nbrPlanet = $("#navModule").find(".planet").not(".planetoff").length;
var compteurPlanet = 0;
var caseDesc = '';

if(tooltip === undefined){
tooltip = false;
}else{
tooltip = true;
}

var parse = function(t) {
t = t.replace(/<img\s+src=\"\/img\/icons\/ui\/triumph.png\"\s+alt=\"triomphe\"[\/\s]*>/ig, ":mush_triumph:");
Expand Down Expand Up @@ -1033,19 +1044,89 @@ Main.k.tabs.playing = function() {

// Cases
var nbcases = $(this).find("td img.explTag").length;
var nbCasesInconnues = $(this).find("td img.explTag.off").length;
var cases = [];
var casesToolTip = [];
var casenamereg = /<h1>([^<]+)<\/h1>/;
$(this).find("td img.explTag.on").each(function() {
cases.push(casenamereg.exec($(this).attr("onmouseover"))[1]);
});

// Print planet
ret += "\n**" + name + "** (" + nbcases + ' ' + Main.k.text.gettext('cases') + ")\n";
if (dist && dir) ret += "//" + dir + " - " + dist + " :mush_fuel:****//\n";
ret += cases.join(", ");
var caseNameRecup = casenamereg.exec($(this).attr("onmouseover"))[1];
var finalCaseName = '';
var finalCaseNameToolTip = '';
switch(caseNameRecup){
case 'Sismique':
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le texte est différent selon la langue du jeu donc faudrait passer le texte FR dans la fonction Main.k.text.gettext()

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tout à fait d'accord. N'ayant de compte sur les deux autres Mush, je ne m'étais attardé sur la question. De plus, le nom de la section/zone/case est différent de celui relevé dans les Wikis (c'est le cas pour l'activité sismique et celle volcanique). Comme je fais une petite pause sur le jeu en ce moment, je repousse la modification cette partie.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Si tu ne joue pas sur les autres versions, juste utiliser Main.k.text.gettext suffit. A un joueur d'une autre langue de passer ici pour traduire.

case 'Mankarog':
case 'Activité volcanique':
finalCaseName = '**//'+caseNameRecup+'//** :dead:';
finalCaseNameToolTip = '<strong><em>'+caseNameRecup+'</em></strong> <img src="http://data.mush.vg/img/icons/ui/dead.png" />';
break;
case 'Cristalite':
finalCaseName = '//'+caseNameRecup+'// :mush:';
finalCaseNameToolTip = '<em>'+caseNameRecup+'</em> <img src="http://data.mush.vg/img/icons/ui/mush.png" />';
break;
case 'Hydro-Carbure':
finalCaseName = '**'+caseNameRecup+'** :fuel:';
finalCaseNameToolTip = '<strong>'+caseNameRecup+'</strong> <img src="http://data.mush.vg/img/icons/ui/fuel.png" />';
break;
case 'Oxygène':
finalCaseName = '**'+caseNameRecup+'** :o2:';
finalCaseNameToolTip = '<strong>'+caseNameRecup+'</strong> <img src="http://data.mush.vg/img/icons/ui/o2.png" />';
break;
default:
finalCaseNameToolTip = finalCaseName = caseNameRecup;
}
cases.push(finalCaseName);
casesToolTip.push(finalCaseNameToolTip);
});

return ret;
// Print planet
if(compteurPlanet === 0){
compteurPlanet++;
}else{
ret += "\n";
tooltipret += "<br />";
compteurPlanet++;
}
ret += "**" + name + "** (" + nbcases + ' ' + Main.k.text.gettext('cases') + ")\n";
tooltipret += "<strong>" + name + "</strong> (" + nbcases + ' ' + Main.k.text.gettext('cases') + ")<br />";
if (dist && dir) ret += "//" + dir + " - " + dist + " :mush_fuel:****//\n";
if (dist && dir) tooltipret += "<em>" + dir + " - " + dist + " <img alt=\"Icône Fuel\" src=\"http://data.twinoid.com/proxy/mush.vg/img/icons/ui/fuel.png\"/></em><br />";
ret += '---\n'+cases.join(", ");
tooltipret += '--<br />'+casesToolTip.join(", ");
if(nbCasesInconnues === 1){
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tu peux me donner un exemple de ce que ça donne quand case.length === 0 ? j'ai du mal à visualiser.
Tu as oublié Main.k.text.gettext ;)
Je trouve aussi que ça fait beaucoup de if et chaque texte est copié/collé 4 fois. C'est pas tip top.
Tu peux utiliser Main.k.text.ngettext pour gérer les pluriels facilement. Voir un exemple ici :

.html(Main.k.text.strargs(Main.k.text.ngettext("%1 réponse","%1 réponses",topic.replies.length),[topic.replies.length])+ " - " + Main.k.text.strargs(Main.k.text.ngettext("%1 message non lu","%1 messages non lus",unread),[unread]))

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ! Nickel que cette fonction existe, merci ^^
Pour le case.length === 0, ah vrai dire, je ne sais pas si cette situation peut apparaitre : une planète venant d'être tout juste découverte semble avoir toujours une section ou plus (inconnue). Alors je n'ai jamais réfléchi à l'éventualité qu'aucune section soit présente. Je vais creuser la question.

if(cases.length === 0){
ret += "Encore ";
tooltipret += "Encore ";
} else {
ret += " et encore ";
tooltipret += " et encore ";
}
ret += "1 case inconnue.";
tooltipret += "1 case inconnue.";
} else if ( nbCasesInconnues === 0){
ret += ".";
tooltipret += ".";
} else {
if(cases.length === 0){
ret += "Encore ";
tooltipret += "Encore ";
} else {
ret += " et encore ";
tooltipret += " et encore ";
}
ret += nbCasesInconnues+" cases inconnues.";
tooltipret += nbCasesInconnues+" cases inconnues.";
}
});

if(compteurPlanet > 0 && compteurPlanet < nbrPlanet){
tooltipret += '<hr />';
}

if(tooltip === true){
return tooltipret;
}else{
return ret;
}
};
/**
* @return string;
Expand Down Expand Up @@ -5335,6 +5416,7 @@ Main.k.tabs.playing = function() {
// Astro
} else if ($("#navModule").length > 0) {
var nav = $("#navModule");
var toolTipText = '';
var planets = nav.find(".planet").not(".planetoff");
if (planets.length > 0) {
t = $("<h3>").html(Main.k.text.gettext("Planètes")).appendTo(project_list);
Expand All @@ -5343,6 +5425,7 @@ Main.k.tabs.playing = function() {

projectsdiv = $("<div>").addClass("projectspreview planetpreview").attr("id", "projectspreview").appendTo(project_list);
planets.each(function(i) {
toolTipText = Main.k.FormatPlanets(i,true);
// Print planet
var planet = $("<div>").addClass("planetpreview").appendTo(projectsdiv);
$("<img>").attr("width", "40")
Expand Down Expand Up @@ -5374,8 +5457,8 @@ Main.k.tabs.playing = function() {

// Planets actions
Main.k.MakeButton("<img src='/img/icons/ui/talk.gif' /> "+Main.k.text.gettext("Partager"), null, null, Main.k.text.gettext("Partager les planètes"),
Main.k.text.gettext("Insère la liste de planètes dans la zone de texte active, de la forme&nbsp;:</p><p>" +
"TODO: aperçu")
Main.k.text.gettext("Insère la liste de planètes dans la zone de texte active, de la forme&nbsp;:<br />" +
toolTipText + "</p>")
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C'est utile ce <p> à la fin ? Il y était de base mais c'est du vieux code. Je crois que je ne suis pas repassé dessus. Si on peut en profiter pour nettoyer les trucs inutiles je suis preneur :).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Étourdis comme je le suis, et vous l'avez constaté il y a peu, je ne risque pas d'être d'une grande aide. Mais je me ferais un plaisir de débusquer au filet à papillon les inscriptions caduques ^^

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

^^ Faudrait juste tester le jeu en l'enlevant voir si ça change quelque chose, si c'est pas le cas, on vire ! :)

).appendTo(project_list)
.find("a").on("mousedown", function(e) {
$('textarea:focus').each(function(e) {
Expand Down Expand Up @@ -5666,4 +5749,4 @@ Main.k.tabs.playing = function() {
$(document).keypress(function(e){
if (e.keyCode === 27) Main.k.ClosePopup();
});
};
};