« Module:SkillInfoCard » : différence entre les versions

De Eco - Wiki Français
Aller à :navigation, rechercher
[version vérifiée][version vérifiée]
Aucun résumé des modifications
mAucun résumé des modifications
 
Ligne 105 : Ligne 105 :
-- Icône
-- Icône
WikiText =  WikiText .. '<h3>Utilisation de l\'icône</h3>'
WikiText =  WikiText .. '<h3>Utilisation de l\'icône</h3>'
WikiText =  WikiText .. '<p>L\'icône de ' .. Skill.Name[Lang] .. ' peut être utilisée sur n\'importe quel panneau affichant du texte, y compris dans les [[Véhicules|Véhicules]] :<br>'
WikiText =  WikiText .. '<p>L\'icône de ' .. Skill.Name[Lang] .. ' peut être utilisée sur n\'importe quel panneau affichant du texte, y compris dans les [[Vehicules|Véhicules]] :<br>'
WikiText =  WikiText .. 'Icône avec fond : <icon name="' .. Skill.SkillID .. '"></br>'
WikiText =  WikiText .. 'Icône avec fond : <icon name="' .. Skill.SkillID .. '"></br>'



Dernière version du 16 novembre 2025 à 21:07

La documentation pour ce module peut être créée à Module:SkillInfoCard/doc

local p = {}

local Utils = require('Module:Utils')
local IconUtils = require('Module:IconUtils')

local Lang = Utils.getLanguageName()

function p.main(frame)
	local PageName = frame.args[1]
	if (Lang == 'English') then SkillName = PageName else SkillName = Utils.SkillSearch(PageName) end
	local SkillData = require( "Module:SkillData" )
    local Skill = SkillData.skills[SkillName]
    local RootSkill = SkillData.skills[Skill.RootSkill]
    local ItemData = require( "Module:ItemData" )
    local SkillBook = Skill.Name.English .. ' Skill Book'
    local SkillBook = ItemData.items[SkillBook]
    local SkillScroll = Skill.Name.English .. ' Skill Scroll'
    local SkillScroll = ItemData.items[SkillScroll]
    local ClaimPaper = ItemData.items['Claim Paper Item']
	local WikiText =''
	
	WikiText =  WikiText ..'__NOTOC__'
	WikiText =  WikiText .. IconUtils.main{name = Skill.Name[Lang], id = Skill.SkillID , size = 32, style = 1} .. ' '
	
	-- Description Profession / Spécialisation
	if (Skill.IsRoot == 'True') then 
		WikiText =  WikiText .. Skill.Name[Lang] .. ' est une [[Professions|Profession]].<br>'
	else 
		WikiText =  WikiText .. Skill.Name[Lang] .. ' est une [[Professions|Spécialisation]] liée à la profession [[' .. RootSkill.Name[Lang] ..']].<br>'
	end
	
	WikiText =  WikiText .. Skill.Description[Lang] .. '<br>'
	
	-- Si Profession : Liste des Spécialisations
	if (Skill.IsRoot == 'True') then
		WikiText =  WikiText .. '<h3>Spécialisations</h3>'
		WikiText =  WikiText .. 'La profession ' .. Skill.Name[Lang] .. ' inclut les spécialisations suivantes :<br>'
		WikiText =  WikiText .. '<div class="container-fluid" id="icon-grid"><div class="row row-cols-1 row-cols-sm-1 row-cols-md-2 row-cols-lg-2 g-4 py-5">'
		for Sname,Sdata in pairs(SkillData.skills) do
			if Sdata.IsRoot == 'False' and Sdata.RootSkill == SkillName then 
				if (Sdata.Name[Lang] == "") then SpecialtyName = Sdata.Name.English else SpecialtyName = Sdata.Name[Lang] end
				if (Sdata.Description[Lang] == "") then SpecialtyDescription = Sdata.Description.English else SpecialtyDescription = Sdata.Description[Lang] end
				WikiText =  WikiText .. '<div class="col d-flex align-items-start">'
				if (Utils.checkImage(Sdata.SkillID .. '_Icon.png') == "Y") then IconName = Sdata.SkillID else IconName = 'NoItem' end
				WikiText =  WikiText .. '[[file:' .. IconName.. '_Icon.png|64px|link='.. SpecialtyName .. '|class=IconGrid]]'
				WikiText =  WikiText .. '<div><h5 class="fw-bold mb-0 fs-4 text-body-emphasis">[[' .. SpecialtyName .. ']]</h5><p>' .. SpecialtyDescription .. '</p></div>'
				WikiText =  WikiText .. '</div>'
			end
		end
		WikiText =  WikiText .. '</div></div>'
	
	-- Sinon : Informations sur l'apprentissage
	else
		WikiText =  WikiText .. '<h3>Comment apprendre</h3>'
			if (Skill.PlayerDefaultSkill == 'True') then
				if (SkillName == 'Self Improvement') then 
					WikiText =  WikiText .. Skill.Name[Lang] .. ' est déjà apprise et commence au niveau 1 dès le début du jeu.'
				else 
					WikiText =  WikiText .. 'La spécialisation ' .. Skill.Name[Lang] .. ' est apprise et disponible dès le début du jeu dans le Livre des Compétences (touche <kbd class="keyboard-key nowrap">Z</kbd>).'
				end
			else
				WikiText =  WikiText .. Skill.Name[Lang] .. ' s\'apprend en utilisant [[File:RMB.png|15px|alt=RMB|link=]] clic-droit sur [[File:SkillScroll_Icon.png|32px|link=]] <b>' .. SkillScroll.Name[Lang] .. '</b>, obtenu depuis le [[File:SkillBook_Icon.png|32px|link=]] <b>' .. SkillBook.Name[Lang] .. '</b>.<br>'
				WikiText =  WikiText .. 'Lors de l’apprentissage d’un(e) [[File:SkillScroll_Icon.png|32px|link=]] <b>' ..  SkillScroll.Name[Lang] .. '</b>, selon les paramètres du serveur, le joueur peut également recevoir plusieurs [[' .. ClaimPaper.Name[Lang] .. ']] pour agrandir son [[Domaine|Domaine]].'
			end
		
		WikiText =  WikiText .. '<h3>Avantages et objets disponibles par niveau :</h3>'
		if (SkillName ~= 'Self Improvement') then
			WikiText =  WikiText .. 'L\'apprentissage de la spécialisation commence au niveau 0'
			if (Skill.PlayerDefaultSkill == 'False') then WikiText =  WikiText .. ' lors de l’utilisation d’un(e) [[File:SkillScroll_Icon.png|32px|link=]] <b>' ..  SkillScroll.Name[Lang] .. '</b>' end
			WikiText =  WikiText .. ' et progresse au niveau 1 en dépensant une étoile.'
		else
			WikiText =  WikiText .. 'Pour améliorer une spécialisation de 1 niveau, vous recevrez 20 points d\'expérience pour la spécialisation ' .. Skill.Name[Lang] .. '.'
		end
		
		WikiText =  WikiText .. '<br>Le niveau maximum atteignable pour la spécialisation ' .. Skill.Name[Lang] .. ' est <b>' .. Skill.MaxLevel .. '</b>.'
		
		WikiText =  WikiText .. '<h4>Points d\'expérience requis par niveau :</h4>'
		WikiText =  WikiText .. Utils.SpecialtyXP(Skill.Tier)
		WikiText =  WikiText .. '* Basé sur les paramètres serveur par défaut (SpecialtyExperiencePerLevelSquared=25)'
		
		-- Talents
		WikiText =  WikiText .. '<h3>Talents :</h3>'
		local TalentData = require( "Module:TalentData" )
		local TalentList = TalentData.talents
		local TalentThreeCount = 0
		local TalentSixCount = 0
		local TalentsThree = {}
		local TalentsSix = {}
		
		for Tname,Tdata in pairs(TalentList) do
			if (Tdata.SkillID == Skill.SkillID) then 
				if (Tdata.Level == '3') then TalentThreeCount = TalentThreeCount + 1; TalentsThree[TalentThreeCount] = Tname; end
				if (Tdata.Level == '6') then TalentSixCount = TalentSixCount + 1; TalentsSix[TalentSixCount] = Tname; end
			end
		end
		
		WikiText =  WikiText .. '<h4>Au niveau 3, le joueur peut choisir l\'un des deux talents proposés :</h4>'

		WikiText =  WikiText .. '<h4>Au niveau 6, le joueur peut choisir l\'un des deux talents proposés :</h4>'

		WikiText =  WikiText .. '<h3>Modules d\'amélioration :</h3>'
		WikiText =  WikiText .. '<h3>Vêtements :</h3>'
	end
	
	-- Icône
	WikiText =  WikiText .. '<h3>Utilisation de l\'icône</h3>'
	WikiText =  WikiText .. '<p>L\'icône de ' .. Skill.Name[Lang] .. ' peut être utilisée sur n\'importe quel panneau affichant du texte, y compris dans les [[Vehicules|Véhicules]] :<br>'
	WikiText =  WikiText .. 'Icône avec fond : <icon name="' .. Skill.SkillID .. '"></br>'

	-- Liens interlangues
	if (Lang ~= 'English') then WikiText =  WikiText .. '[[en:' .. Skill.Name.English .. ']]' end
	if (Lang ~= 'Russian') then WikiText =  WikiText .. '[[ru:' .. Skill.Name.Russian .. ']]' end
	if (Lang ~= 'German') then WikiText =  WikiText .. '[[de:' .. Skill.Name.German .. ']]' end
	if (Lang ~= 'French') then WikiText =  WikiText .. '[[fr:' .. Skill.Name.English .. ']]' end
	
	return WikiText
end

return p