1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-08-10 22:31:40 +02:00

Merge branch 'develop' into multiple_small_fixes

This commit is contained in:
Ivan Savenko
2024-10-10 14:57:30 +03:00
committed by GitHub
7 changed files with 76 additions and 62 deletions

View File

@@ -13,6 +13,8 @@
"vcmi.adventureMap.monsterThreat.levels.10" : "Dödlig", "vcmi.adventureMap.monsterThreat.levels.10" : "Dödlig",
"vcmi.adventureMap.monsterThreat.levels.11" : "Omöjlig", "vcmi.adventureMap.monsterThreat.levels.11" : "Omöjlig",
"vcmi.adventureMap.monsterLevel" : "\n\nNivå: %LEVEL - Faktion: %TOWN", "vcmi.adventureMap.monsterLevel" : "\n\nNivå: %LEVEL - Faktion: %TOWN",
"vcmi.adventureMap.monsterMeleeType" : "närstrid",
"vcmi.adventureMap.monsterRangedType" : "fjärrstrid",
"vcmi.adventureMap.confirmRestartGame" : "Är du säker på att du vill starta om spelet?", "vcmi.adventureMap.confirmRestartGame" : "Är du säker på att du vill starta om spelet?",
"vcmi.adventureMap.noTownWithMarket" : "Det finns inga tillgängliga marknadsplatser!", "vcmi.adventureMap.noTownWithMarket" : "Det finns inga tillgängliga marknadsplatser!",
@@ -135,14 +137,15 @@
"vcmi.lobby.pvp.coin.hover" : "Mynt", "vcmi.lobby.pvp.coin.hover" : "Mynt",
"vcmi.lobby.pvp.coin.help" : "Singla slant", "vcmi.lobby.pvp.coin.help" : "Singla slant",
"vcmi.lobby.pvp.randomTown.hover" : "Slumpmässig stad", "vcmi.lobby.pvp.randomTown.hover" : "Slumpmässig stad",
"vcmi.lobby.pvp.randomTown.help" : "Skriv en slumpmässig stad i chatten", "vcmi.lobby.pvp.randomTown.help" : "Skriv en slumpad stad i chatten",
"vcmi.lobby.pvp.randomTownVs.hover" : "Slumpmässig stad vs.", "vcmi.lobby.pvp.randomTownVs.hover" : "Slumpad stad vs.",
"vcmi.lobby.pvp.randomTownVs.help" : "Skriv två slumpmässiga städer i chatten", "vcmi.lobby.pvp.randomTownVs.help" : "Skriv två slumpade städer i chatten",
"vcmi.lobby.pvp.versus" : "vs.", "vcmi.lobby.pvp.versus" : "vs.",
"vcmi.client.errors.invalidMap" : "{Ogiltig karta eller kampanj}\n\nStartade inte spelet! Vald karta eller kampanj kan vara ogiltig eller skadad. Orsak:\n%s", "vcmi.client.errors.invalidMap" : "{Ogiltig karta eller kampanj}\n\nStartade inte spelet! Vald karta eller kampanj kan vara ogiltig eller skadad. Orsak:\n%s",
"vcmi.client.errors.missingCampaigns" : "{Saknade datafiler}\n\nKampanjernas datafiler hittades inte! Du kanske använder ofullständiga eller skadade Heroes 3-datafiler. Vänligen installera om speldata.", "vcmi.client.errors.missingCampaigns" : "{Saknade datafiler}\n\nKampanjernas datafiler hittades inte! Du kanske använder ofullständiga eller skadade Heroes 3-datafiler. Vänligen installera om speldata.",
"vcmi.server.errors.disconnected" : "{Nätverksfel}\n\nAnslutningen till spelservern har förlorats!", "vcmi.server.errors.disconnected" : "{Nätverksfel}\n\nAnslutningen till spelservern har förlorats!",
"vcmi.server.errors.playerLeft" : "{Spelare har lämnat}\n\n%s spelaren har kopplat bort sig från spelet!", //%s -> spelarens färg
"vcmi.server.errors.existingProcess" : "En annan VCMI-serverprocess är igång. Vänligen avsluta den innan du startar ett nytt spel.", "vcmi.server.errors.existingProcess" : "En annan VCMI-serverprocess är igång. Vänligen avsluta den innan du startar ett nytt spel.",
"vcmi.server.errors.modsToEnable" : "{Följande modd(ar) krävs}", "vcmi.server.errors.modsToEnable" : "{Följande modd(ar) krävs}",
"vcmi.server.errors.modsToDisable" : "{Följande modd(ar) måste inaktiveras}", "vcmi.server.errors.modsToDisable" : "{Följande modd(ar) måste inaktiveras}",
@@ -221,8 +224,8 @@
"vcmi.systemOptions.enableUiEnhancementsButton.help" : "{Gränssnittsförbättringar}\n\nVälj mellan olika förbättringar av användargränssnittet. Till exempel en lättåtkomlig ryggsäcksknapp med mera. Avaktivera för att få en mer klassisk spelupplevelse.", "vcmi.systemOptions.enableUiEnhancementsButton.help" : "{Gränssnittsförbättringar}\n\nVälj mellan olika förbättringar av användargränssnittet. Till exempel en lättåtkomlig ryggsäcksknapp med mera. Avaktivera för att få en mer klassisk spelupplevelse.",
"vcmi.systemOptions.enableLargeSpellbookButton.hover" : "Stor trollformelsbok", "vcmi.systemOptions.enableLargeSpellbookButton.hover" : "Stor trollformelsbok",
"vcmi.systemOptions.enableLargeSpellbookButton.help" : "{Stor trollformelsbok}\n\nAktiverar en större trollformelsbok som rymmer fler trollformler per sida (animeringen av sidbyte i den större trollformelsboken fungerar inte).", "vcmi.systemOptions.enableLargeSpellbookButton.help" : "{Stor trollformelsbok}\n\nAktiverar en större trollformelsbok som rymmer fler trollformler per sida (animeringen av sidbyte i den större trollformelsboken fungerar inte).",
"vcmi.systemOptions.audioMuteFocus.hover" : "Stänger av ljudet vid inaktivitet", "vcmi.systemOptions.audioMuteFocus.hover" : "Tyst vid inaktivitet",
"vcmi.systemOptions.audioMuteFocus.help" : "{Stäng av ljud vid inaktivitet}\n\nStänger av ljudet i spelet vid inaktivitet. Undantag är meddelanden i spelet och ljudet för ny tur/omgång.", "vcmi.systemOptions.audioMuteFocus.help" : "{Tyst vid inaktivitet}\n\nStänger av ljudet i spelet vid inaktivitet. Undantag är meddelanden i spelet och ljudet för ny turomgång.",
"vcmi.adventureOptions.infoBarPick.hover" : "Visar textmeddelanden i infopanelen", "vcmi.adventureOptions.infoBarPick.hover" : "Visar textmeddelanden i infopanelen",
"vcmi.adventureOptions.infoBarPick.help" : "{Infopanelsmeddelanden}\n\nNär det är möjligt kommer spelmeddelanden från besökande kartobjekt att visas i infopanelen istället för att dyka upp i ett separat fönster.", "vcmi.adventureOptions.infoBarPick.help" : "{Infopanelsmeddelanden}\n\nNär det är möjligt kommer spelmeddelanden från besökande kartobjekt att visas i infopanelen istället för att dyka upp i ett separat fönster.",
@@ -234,11 +237,11 @@
"vcmi.adventureOptions.showGrid.help" : "{Visa rutnät}\n\nVisa rutnätsöverlägget som markerar gränserna mellan äventyrskartans brickor/rutor.", "vcmi.adventureOptions.showGrid.help" : "{Visa rutnät}\n\nVisa rutnätsöverlägget som markerar gränserna mellan äventyrskartans brickor/rutor.",
"vcmi.adventureOptions.borderScroll.hover" : "Kantrullning", "vcmi.adventureOptions.borderScroll.hover" : "Kantrullning",
"vcmi.adventureOptions.borderScroll.help" : "{Kantrullning}\n\nRullar äventyrskartan när markören är angränsande till fönsterkanten. Kan inaktiveras genom att hålla ned CTRL-tangenten.", "vcmi.adventureOptions.borderScroll.help" : "{Kantrullning}\n\nRullar äventyrskartan när markören är angränsande till fönsterkanten. Kan inaktiveras genom att hålla ned CTRL-tangenten.",
"vcmi.adventureOptions.infoBarCreatureManagement.hover" : "Hantering av varelser i infopanelen i nedre högra hörnet", "vcmi.adventureOptions.infoBarCreatureManagement.hover" : "Hantera armén i nedre högra hörnet",
"vcmi.adventureOptions.infoBarCreatureManagement.help" : "{Varelsehantering i infopanelen}\n\nTillåter omarrangering av varelser i infopanelen längst ner till höger på äventyrskartan istället för att bläddra mellan olika infopaneler.", "vcmi.adventureOptions.infoBarCreatureManagement.help" : "{Varelsehantering i infopanelen}\n\nTillåter omarrangering av varelser i infopanelen längst ner till höger på äventyrskartan istället för att bläddra mellan olika infopaneler.",
"vcmi.adventureOptions.leftButtonDrag.hover" : "Dra kartan med vänster musknapp", "vcmi.adventureOptions.leftButtonDrag.hover" : "V.klicksdragning",
"vcmi.adventureOptions.leftButtonDrag.help" : "{Vänsterklicksdragning}\n\nVid aktivering kan äventyrskartans kartvy dras genom att flytta musen med vänster musknapp nedtryckt.", "vcmi.adventureOptions.leftButtonDrag.help" : "{Vänsterklicksdragning}\n\nVid aktivering kan äventyrskartans kartvy dras genom att flytta musen med vänster musknapp nedtryckt.",
"vcmi.adventureOptions.rightButtonDrag.hover" : "Dra kartan med höger musknapp", "vcmi.adventureOptions.rightButtonDrag.hover" : "H.klicksdragning",
"vcmi.adventureOptions.rightButtonDrag.help" : "{Högerklicksdragning}\n\nVid aktivering kan äventyrskartans kartvy dras genom att flytta musen med höger musknapp nedtryckt.", "vcmi.adventureOptions.rightButtonDrag.help" : "{Högerklicksdragning}\n\nVid aktivering kan äventyrskartans kartvy dras genom att flytta musen med höger musknapp nedtryckt.",
"vcmi.adventureOptions.smoothDragging.hover" : "Mjuk kartdragning", "vcmi.adventureOptions.smoothDragging.hover" : "Mjuk kartdragning",
"vcmi.adventureOptions.smoothDragging.help" : "{Mjuk kartdragning}\n\nVid aktivering så har kartdragningen en modern rullningseffekt.", "vcmi.adventureOptions.smoothDragging.help" : "{Mjuk kartdragning}\n\nVid aktivering så har kartdragningen en modern rullningseffekt.",
@@ -268,16 +271,16 @@
"vcmi.battleOptions.animationsSpeed1.help" : "Ställ in animationshastigheten till mycket långsam.", "vcmi.battleOptions.animationsSpeed1.help" : "Ställ in animationshastigheten till mycket långsam.",
"vcmi.battleOptions.animationsSpeed5.help" : "Ställ in animationshastigheten till mycket snabb.", "vcmi.battleOptions.animationsSpeed5.help" : "Ställ in animationshastigheten till mycket snabb.",
"vcmi.battleOptions.animationsSpeed6.help" : "Ställ in animationshastigheten till omedelbar.", "vcmi.battleOptions.animationsSpeed6.help" : "Ställ in animationshastigheten till omedelbar.",
"vcmi.battleOptions.movementHighlightOnHover.hover" : "Muspeka (hovra) för att avslöja förflyttningsräckvidd", "vcmi.battleOptions.movementHighlightOnHover.hover" : "Avslöja förflyttningsräckvidd",
"vcmi.battleOptions.movementHighlightOnHover.help" : "{Muspeka för att avslöja förflyttningsräckvidd}\n\nVisar enheters potentiella förflyttningsräckvidd över slagfältet när du håller muspekaren över dem.", "vcmi.battleOptions.movementHighlightOnHover.help" : "{Muspeka (hovra) för att avslöja förflyttningsräckvidd}\n\nVisar enheters potentiella förflyttningsräckvidd över slagfältet när du håller muspekaren över dem.",
"vcmi.battleOptions.rangeLimitHighlightOnHover.hover": "Avslöja skyttars räckvidd", "vcmi.battleOptions.rangeLimitHighlightOnHover.hover": "Avslöja skyttars räckvidd",
"vcmi.battleOptions.rangeLimitHighlightOnHover.help" : "{Muspeka för att avslöja skyttars räckvidd}\n\nVisar hur långt en enhets distansattack sträcker sig över slagfältet när du håller muspekaren över dem.", "vcmi.battleOptions.rangeLimitHighlightOnHover.help" : "{Muspeka för att avslöja skyttars räckvidd}\n\nVisar hur långt en enhets distansattack sträcker sig över slagfältet när du håller muspekaren över dem.",
"vcmi.battleOptions.showStickyHeroInfoWindows.hover" : "Visa fönster med hjältars primärförmågor", "vcmi.battleOptions.showStickyHeroInfoWindows.hover" : "Visa fönster med hjältars primärförmågor",
"vcmi.battleOptions.showStickyHeroInfoWindows.help" : "{Visa fönster med hjältars primärförmågor}\n\nKommer alltid att visa ett fönster där du kan se dina hjältars primärförmågor (anfall, försvar, trollkonst, kunskap och trollformelpoäng).", "vcmi.battleOptions.showStickyHeroInfoWindows.help" : "{Visa fönster med hjältars primärförmågor}\n\nKommer alltid att visa ett fönster där du kan se dina hjältars primärförmågor (anfall, försvar, trollkonst, kunskap och trollformelpoäng).",
"vcmi.battleOptions.skipBattleIntroMusic.hover" : "Hoppa över intromusik", "vcmi.battleOptions.skipBattleIntroMusic.hover" : "Hoppa över intromusik",
"vcmi.battleOptions.skipBattleIntroMusic.help" : "{Hoppa över intromusik}\n\nTillåt åtgärder under intromusiken som spelas i början av varje strid.", "vcmi.battleOptions.skipBattleIntroMusic.help" : "{Hoppa över intromusik}\n\nTillåt åtgärder under intromusiken som spelas i början av varje strid.",
"vcmi.battleOptions.endWithAutocombat.hover" : "Slutför striden så fort som möjligt", "vcmi.battleOptions.endWithAutocombat.hover" : "Snabbstrid (AI)",
"vcmi.battleOptions.endWithAutocombat.help" : "{Slutför strid}\n\nAuto-strid spelar striden åt dig för att striden ska slutföras så fort som möjligt.", "vcmi.battleOptions.endWithAutocombat.help" : "{Slutför striden så fort som möjligt}\n\nAI för auto-strid spelar striden åt dig för att striden ska slutföras så fort som möjligt.",
"vcmi.battleOptions.showQuickSpell.hover" : "Snabb åtkomst till dina trollformler", "vcmi.battleOptions.showQuickSpell.hover" : "Snabb åtkomst till dina trollformler",
"vcmi.battleOptions.showQuickSpell.help" : "{Visa snabbtrollformels-panelen}\n\nVisar en snabbvalspanel vid sidan av stridsfönstret där du har snabb åtkomst till några av dina trollformler", "vcmi.battleOptions.showQuickSpell.help" : "{Visa snabbtrollformels-panelen}\n\nVisar en snabbvalspanel vid sidan av stridsfönstret där du har snabb åtkomst till några av dina trollformler",
@@ -365,15 +368,15 @@
"vcmi.optionsTab.turnOptions.help" : "Välj alternativ för turomgångs-timer och simultana turer", "vcmi.optionsTab.turnOptions.help" : "Välj alternativ för turomgångs-timer och simultana turer",
"vcmi.optionsTab.chessFieldBase.hover" : "Bas-timern", "vcmi.optionsTab.chessFieldBase.hover" : "Bas-timern",
"vcmi.optionsTab.chessFieldTurn.hover" : "Turomgångs-timern", "vcmi.optionsTab.chessFieldTurn.hover" : "Tur-timern",
"vcmi.optionsTab.chessFieldBattle.hover" : "Strids-timern", "vcmi.optionsTab.chessFieldBattle.hover" : "Strids-timern",
"vcmi.optionsTab.chessFieldUnit.hover" : "Enhets-timern", "vcmi.optionsTab.chessFieldUnit.hover" : "Enhets-timern",
"vcmi.optionsTab.chessFieldBase.help" : "Används när {Turomgångs-timern} når '0'. Ställs in en gång i början av spelet. När den når '0' avslutas den aktuella turomgången (pågående strid avslutas med förlust).", "vcmi.optionsTab.chessFieldBase.help" : "Används när {Tur-timern} når '0'. Ställs in en gång i början av spelet. När den når '0' avslutas den aktuella turomgången (pågående strid avslutas med förlust).",
"vcmi.optionsTab.chessFieldTurnAccumulate.help" : "Används utanför strid eller när {Strids-timern} tar slut. Återställs varje turomgång. Outnyttjad tid läggs till i {Bas-timern} till nästa turomgång.", "vcmi.optionsTab.chessFieldTurnAccumulate.help" : "Används utanför strid eller när {Strids-timern} tar slut. Återställs varje turomgång. Outnyttjad tid läggs till i {Bas-timern} till nästa turomgång.",
"vcmi.optionsTab.chessFieldTurnDiscard.help" : "Används utanför strid eller när {Strids-timern} tar slut. Återställs varje turomgång. Outnyttjad tid går förlorad.", "vcmi.optionsTab.chessFieldTurnDiscard.help" : "Används utanför strid eller när {Strids-timern} tar slut. Återställs varje turomgång. Outnyttjad tid går förlorad.",
"vcmi.optionsTab.chessFieldBattle.help" : "Används i strider med AI eller i PVP-strid när {Enhets-timern} tar slut. Återställs i början av varje strid.", "vcmi.optionsTab.chessFieldBattle.help" : "Används i strider med AI eller i PvP-strid när {Enhets-timern} tar slut. Återställs i början av varje strid.",
"vcmi.optionsTab.chessFieldUnitAccumulate.help" : "Används när du styr din enhet i PVP-strid. Outnyttjad tid läggs till i {Strids-timern} när enheten har avslutat sin turomgång.", "vcmi.optionsTab.chessFieldUnitAccumulate.help" : "Används när du styr din enhet i PvP-strid. Outnyttjad tid läggs till i {Strids-timern} när enheten har avslutat sin turomgång.",
"vcmi.optionsTab.chessFieldUnitDiscard.help" : "Används när du styr din enhet i PVP-strid. Återställs i början av varje enhets turomgång. Outnyttjad tid går förlorad.", "vcmi.optionsTab.chessFieldUnitDiscard.help" : "Används när du styr din enhet i PvP-strid. Återställs i början av varje enhets turomgång. Outnyttjad tid går förlorad.",
"vcmi.optionsTab.accumulate" : "Ackumulera", "vcmi.optionsTab.accumulate" : "Ackumulera",
@@ -385,7 +388,7 @@
"vcmi.optionsTab.simturnsMax.help" : "Spela samtidigt som andra spelare under ett angivet antal dagar eller tills en tillräckligt nära kontakt inträffar med en annan spelare", "vcmi.optionsTab.simturnsMax.help" : "Spela samtidigt som andra spelare under ett angivet antal dagar eller tills en tillräckligt nära kontakt inträffar med en annan spelare",
"vcmi.optionsTab.simturnsAI.help" : "{Simultana AI-turomgångar}\nExperimentellt alternativ. Tillåter AI-spelare att agera samtidigt som den mänskliga spelaren när simultana turomgångar är aktiverade.", "vcmi.optionsTab.simturnsAI.help" : "{Simultana AI-turomgångar}\nExperimentellt alternativ. Tillåter AI-spelare att agera samtidigt som den mänskliga spelaren när simultana turomgångar är aktiverade.",
"vcmi.optionsTab.turnTime.select" : "Turtids-förinställningar", "vcmi.optionsTab.turnTime.select" : "Timer-inställningar för turomgångar",
"vcmi.optionsTab.turnTime.unlimited" : "Obegränsat med tid", "vcmi.optionsTab.turnTime.unlimited" : "Obegränsat med tid",
"vcmi.optionsTab.turnTime.classic.1" : "Klassisk timer: 1 minut", "vcmi.optionsTab.turnTime.classic.1" : "Klassisk timer: 1 minut",
"vcmi.optionsTab.turnTime.classic.2" : "Klassisk timer: 2 minuter", "vcmi.optionsTab.turnTime.classic.2" : "Klassisk timer: 2 minuter",
@@ -393,22 +396,22 @@
"vcmi.optionsTab.turnTime.classic.10" : "Klassisk timer: 10 minuter", "vcmi.optionsTab.turnTime.classic.10" : "Klassisk timer: 10 minuter",
"vcmi.optionsTab.turnTime.classic.20" : "Klassisk timer: 20 minuter", "vcmi.optionsTab.turnTime.classic.20" : "Klassisk timer: 20 minuter",
"vcmi.optionsTab.turnTime.classic.30" : "Klassisk timer: 30 minuter", "vcmi.optionsTab.turnTime.classic.30" : "Klassisk timer: 30 minuter",
"vcmi.optionsTab.turnTime.chess.20" : "Schack-timer: 20:00 + 10:00 + 02:00 + 00:00", "vcmi.optionsTab.turnTime.chess.20" : "Schack: 20:00 + 10:00 + 02:00 + 00:00",
"vcmi.optionsTab.turnTime.chess.16" : "Schack-timer: 16:00 + 08:00 + 01:30 + 00:00", "vcmi.optionsTab.turnTime.chess.16" : "Schack: 16:00 + 08:00 + 01:30 + 00:00",
"vcmi.optionsTab.turnTime.chess.8" : "Schack-timer: 08:00 + 04:00 + 01:00 + 00:00", "vcmi.optionsTab.turnTime.chess.8" : "Schack: 08:00 + 04:00 + 01:00 + 00:00",
"vcmi.optionsTab.turnTime.chess.4" : "Schack-timer: 04:00 + 02:00 + 00:30 + 00:00", "vcmi.optionsTab.turnTime.chess.4" : "Schack: 04:00 + 02:00 + 00:30 + 00:00",
"vcmi.optionsTab.turnTime.chess.2" : "Schack-timer: 02:00 + 01:00 + 00:15 + 00:00", "vcmi.optionsTab.turnTime.chess.2" : "Schack: 02:00 + 01:00 + 00:15 + 00:00",
"vcmi.optionsTab.turnTime.chess.1" : "Schack-timer: 01:00 + 01:00 + 00:00 + 00:00", "vcmi.optionsTab.turnTime.chess.1" : "Schack: 01:00 + 01:00 + 00:00 + 00:00",
"vcmi.optionsTab.simturns.select" : "Välj förinställning för simultana/samtidiga turer", "vcmi.optionsTab.simturns.select" : "Simultana/samtidiga turomgångsinställningar",
"vcmi.optionsTab.simturns.none" : "Inga simultana/samtidiga turer", "vcmi.optionsTab.simturns.none" : "Inga simultana/samtidiga turer",
"vcmi.optionsTab.simturns.tillContactMax" : "Simultantur: Fram till kontakt", "vcmi.optionsTab.simturns.tillContactMax" : "Sam-tur: Fram till kontakt",
"vcmi.optionsTab.simturns.tillContact1" : "Simultantur: 1 vecka, bryt vid kontakt", "vcmi.optionsTab.simturns.tillContact1" : "Sam-tur: 1 vecka, bryt vid kontakt",
"vcmi.optionsTab.simturns.tillContact2" : "Simultantur: 2 veckor, bryt vid kontakt", "vcmi.optionsTab.simturns.tillContact2" : "Sam-tur: 2 veckor, bryt vid kontakt",
"vcmi.optionsTab.simturns.tillContact4" : "Simultantur: 1 månad, bryt vid kontakt", "vcmi.optionsTab.simturns.tillContact4" : "Sam-tur: 1 månad, bryt vid kontakt",
"vcmi.optionsTab.simturns.blocked1" : "Simultantur: 1 vecka, kontakter blockerade", "vcmi.optionsTab.simturns.blocked1" : "Sam-tur: 1 vecka, kontakter blockerade",
"vcmi.optionsTab.simturns.blocked2" : "Simultantur: 2 veckor, kontakter blockerade", "vcmi.optionsTab.simturns.blocked2" : "Sam-tur: 2 veckor, kontakter blockerade",
"vcmi.optionsTab.simturns.blocked4" : "Simultantur: 1 månad, kontakter blockerade", "vcmi.optionsTab.simturns.blocked4" : "Sam-tur: 1 månad, kontakter blockerade",
// Translation note: translate strings below using form that is correct for "0 days", "1 day" and "2 days" in your language // Translation note: translate strings below using form that is correct for "0 days", "1 day" and "2 days" in your language
// Using this information, VCMI will automatically select correct plural form for every possible amount // Using this information, VCMI will automatically select correct plural form for every possible amount
@@ -525,10 +528,10 @@
"core.bonus.AIR_IMMUNITY.description" : "Immun mot alla trollformler från skolan för luftmagi", "core.bonus.AIR_IMMUNITY.description" : "Immun mot alla trollformler från skolan för luftmagi",
"core.bonus.ATTACKS_ALL_ADJACENT.name" : "Attackera runtomkring", "core.bonus.ATTACKS_ALL_ADJACENT.name" : "Attackera runtomkring",
"core.bonus.ATTACKS_ALL_ADJACENT.description" : "Attackerar alla angränsande fiender", "core.bonus.ATTACKS_ALL_ADJACENT.description" : "Attackerar alla angränsande fiender",
"core.bonus.BLOCKS_RETALIATION.name" : "Ingen motattack", "core.bonus.BLOCKS_RETALIATION.name" : "Blockera närstrids-motattack",
"core.bonus.BLOCKS_RETALIATION.description" : "Fienden kan inte slå tillbaka/retaliera", "core.bonus.BLOCKS_RETALIATION.description" : "Fienden kan inte slå tillbaka/retaliera",
"core.bonus.BLOCKS_RANGED_RETALIATION.name" : "Ingen motattack på avstånd", "core.bonus.BLOCKS_RANGED_RETALIATION.name" : "Blockera fjärrstrids-motattack",
"core.bonus.BLOCKS_RANGED_RETALIATION.description" : "Fienden kan inte göra en motattack/retaliering på avstånd genom att använda en distansattack", "core.bonus.BLOCKS_RANGED_RETALIATION.description" : "Fienden kan inte retaliera på avstånd genom att använda en distansattack",
"core.bonus.CATAPULT.name" : "Katapult", "core.bonus.CATAPULT.name" : "Katapult",
"core.bonus.CATAPULT.description" : "Attackerar belägringsmurar", "core.bonus.CATAPULT.description" : "Attackerar belägringsmurar",
"core.bonus.CHANGES_SPELL_COST_FOR_ALLY.name" : "Minska trollformelkostnaden (${val})", "core.bonus.CHANGES_SPELL_COST_FOR_ALLY.name" : "Minska trollformelkostnaden (${val})",
@@ -538,21 +541,21 @@
"core.bonus.CHARGE_IMMUNITY.name" : "Galoppanfalls-immunitet", "core.bonus.CHARGE_IMMUNITY.name" : "Galoppanfalls-immunitet",
"core.bonus.CHARGE_IMMUNITY.description" : "Immun mot ryttares och tornerares galopperande ridanfall", "core.bonus.CHARGE_IMMUNITY.description" : "Immun mot ryttares och tornerares galopperande ridanfall",
"core.bonus.DARKNESS.name" : "I skydd av mörkret", "core.bonus.DARKNESS.name" : "I skydd av mörkret",
"core.bonus.DARKNESS.description" : "Skapar ett hölje av mörker med en ${val}-rutorsradie", "core.bonus.DARKNESS.description" : "Skapar ett mörkerhölje med en rut-radie på ${val} som gäckar dina fiender",
"core.bonus.DEATH_STARE.name" : "Dödsblick (${val}%)", "core.bonus.DEATH_STARE.name" : "Dödsblick (${val}%)",
"core.bonus.DEATH_STARE.description" : "Varje förbandsenhet med 'Dödsblick' har ${val}% chans att döda den översta enheten i ett fiendeförband", "core.bonus.DEATH_STARE.description" : "Varje 'Dödsblick' har ${val}% chans att döda den översta fiendeenheten",
"core.bonus.DEFENSIVE_STANCE.name" : "Försvarshållning", "core.bonus.DEFENSIVE_STANCE.name" : "Försvarshållning",
"core.bonus.DEFENSIVE_STANCE.description" : "Ger ytterligare +${val} till enhetens försvarsförmåga när du väljer att försvarar dig", "core.bonus.DEFENSIVE_STANCE.description" : "När du väljer att försvara en enhet så får den +${val} extra försvar",
"core.bonus.DESTRUCTION.name" : "Förintelse", "core.bonus.DESTRUCTION.name" : "Förintelse",
"core.bonus.DESTRUCTION.description" : "Har ${val}% chans att döda extra enheter efter attack", "core.bonus.DESTRUCTION.description" : "Har ${val}% chans att döda extra enheter efter attack",
"core.bonus.DOUBLE_DAMAGE_CHANCE.name" : "Dödsstöt", "core.bonus.DOUBLE_DAMAGE_CHANCE.name" : "Dödsstöt",
"core.bonus.DOUBLE_DAMAGE_CHANCE.description" : "Har ${val}% chans att ge dubbel basskada vid attack", "core.bonus.DOUBLE_DAMAGE_CHANCE.description" : "Har ${val}% chans att utdela dubbel basskada vid attack",
"core.bonus.DRAGON_NATURE.name" : "Drake", "core.bonus.DRAGON_NATURE.name" : "Drake",
"core.bonus.DRAGON_NATURE.description" : "Varelsen har en draknatur", "core.bonus.DRAGON_NATURE.description" : "Varelsen har en draknatur",
"core.bonus.EARTH_IMMUNITY.name" : "Jord-immunitet", "core.bonus.EARTH_IMMUNITY.name" : "Jord-immunitet",
"core.bonus.EARTH_IMMUNITY.description" : "Immun mot alla trollformler från skolan för jordmagi", "core.bonus.EARTH_IMMUNITY.description" : "Immun mot alla trollformler från skolan för jordmagi",
"core.bonus.ENCHANTER.name" : "Förtrollare", "core.bonus.ENCHANTER.name" : "Förtrollare",
"core.bonus.ENCHANTER.description" : "Kan kasta ${subtyp.spell} på alla varje tur/omgång", "core.bonus.ENCHANTER.description" : "Kan kasta ${subtyp.spell} på alla varje turomgång",
"core.bonus.ENCHANTED.name" : "Förtrollad", "core.bonus.ENCHANTED.name" : "Förtrollad",
"core.bonus.ENCHANTED.description" : "Påverkas av permanent ${subtype.spell}", "core.bonus.ENCHANTED.description" : "Påverkas av permanent ${subtype.spell}",
"core.bonus.ENEMY_ATTACK_REDUCTION.name" : "Avfärda attack (${val}%)", "core.bonus.ENEMY_ATTACK_REDUCTION.name" : "Avfärda attack (${val}%)",
@@ -578,15 +581,15 @@
"core.bonus.GARGOYLE.name" : "Stenfigur", "core.bonus.GARGOYLE.name" : "Stenfigur",
"core.bonus.GARGOYLE.description" : "Kan varken upplivas eller läkas", "core.bonus.GARGOYLE.description" : "Kan varken upplivas eller läkas",
"core.bonus.GENERAL_DAMAGE_REDUCTION.name" : "Minska skada (${val}%)", "core.bonus.GENERAL_DAMAGE_REDUCTION.name" : "Minska skada (${val}%)",
"core.bonus.GENERAL_DAMAGE_REDUCTION.description" : "Reducerar fysisk skada från både distans- och närstridsattacker", "core.bonus.GENERAL_DAMAGE_REDUCTION.description" : "Reducerar skadan från distans- och närstrids-attacker",
"core.bonus.HATE.name" : "Hatar ${subtyp.varelse}", "core.bonus.HATE.name" : "Hatar ${subtyp.varelse}",
"core.bonus.HATE.description" : "Gör ${val}% mer skada mot ${subtyp.varelse}", "core.bonus.HATE.description" : "Gör ${val}% mer skada mot ${subtyp.varelse}",
"core.bonus.HEALER.name" : "Helare", "core.bonus.HEALER.name" : "Helare",
"core.bonus.HEALER.description" : "Helar/läker allierade enheter", "core.bonus.HEALER.description" : "Helar/läker allierade enheter",
"core.bonus.HP_REGENERATION.name" : "Självläkande", "core.bonus.HP_REGENERATION.name" : "Självläkande",
"core.bonus.HP_REGENERATION.description" : "Får tillbaka ${val} träffpoäng (hälsa) varje runda", "core.bonus.HP_REGENERATION.description" : "Får tillbaka ${val} hälsa (träffpoäng) varje runda",
"core.bonus.JOUSTING.name" : "Galopperande ridanfall", "core.bonus.JOUSTING.name" : "Galopperande ridanfall",
"core.bonus.JOUSTING.description" : "Orsakar +${val}% extra skada för varje ruta som enheten förflyttas innan attack", "core.bonus.JOUSTING.description" : "Orsakar +${val}% mer skada för varje ruta som förflyttas innan attack",
"core.bonus.KING.name" : "Kung", "core.bonus.KING.name" : "Kung",
"core.bonus.KING.description" : "Sårbar för 'Dräpar'-nivå ${val} eller högre", "core.bonus.KING.description" : "Sårbar för 'Dräpar'-nivå ${val} eller högre",
"core.bonus.LEVEL_SPELL_IMMUNITY.name" : "Förtrollningsimmunitet 1-${val}", "core.bonus.LEVEL_SPELL_IMMUNITY.name" : "Förtrollningsimmunitet 1-${val}",
@@ -594,13 +597,13 @@
"core.bonus.LIMITED_SHOOTING_RANGE.name" : "Begränsad räckvidd för skjutning", "core.bonus.LIMITED_SHOOTING_RANGE.name" : "Begränsad räckvidd för skjutning",
"core.bonus.LIMITED_SHOOTING_RANGE.description" : "Kan inte sikta på enheter längre bort än ${val} rutor", "core.bonus.LIMITED_SHOOTING_RANGE.description" : "Kan inte sikta på enheter längre bort än ${val} rutor",
"core.bonus.LIFE_DRAIN.name" : "Dränerar livskraft (${val}%)", "core.bonus.LIFE_DRAIN.name" : "Dränerar livskraft (${val}%)",
"core.bonus.LIFE_DRAIN.description" : "Dränerar ${val}% träffpoäng (hälsa) av utdelad skada", "core.bonus.LIFE_DRAIN.description" : "Dränerar ${val}% hälsa (träffpoäng) av utdelad skada",
"core.bonus.MANA_CHANNELING.name" : "Kanalisera trollformelspoäng ${val}%", "core.bonus.MANA_CHANNELING.name" : "Kanalisera trollformelspoäng ${val}%",
"core.bonus.MANA_CHANNELING.description" : "Ger din hjälte ${val}% av den mängd trollformelspoäng som fienden spenderar per trollformel i strid", "core.bonus.MANA_CHANNELING.description" : "Ger din hjälte ${val}% av fiendens spenderade trollformelspoäng i strid",
"core.bonus.MANA_DRAIN.name" : "Dränera trollformelspoäng", "core.bonus.MANA_DRAIN.name" : "Dränera trollformelspoäng",
"core.bonus.MANA_DRAIN.description" : "Dränerar ${val} trollformelspoäng varje tur", "core.bonus.MANA_DRAIN.description" : "Dränerar ${val} trollformelspoäng varje tur",
"core.bonus.MAGIC_MIRROR.name" : "Magisk spegel (${val}%)", "core.bonus.MAGIC_MIRROR.name" : "Magisk spegel (${val}%)",
"core.bonus.MAGIC_MIRROR.description" : "Har ${val}% chans att reflektera (omdirigera) en offensiv trollformel på en fiendeenhet", "core.bonus.MAGIC_MIRROR.description" : "${val}% chans att reflektera en offensiv trollformel på en fiendeenhet",
"core.bonus.MAGIC_RESISTANCE.name" : "Magiskt motstånd (${val}%)", "core.bonus.MAGIC_RESISTANCE.name" : "Magiskt motstånd (${val}%)",
"core.bonus.MAGIC_RESISTANCE.description" : "Har en ${val}% chans att motstå en skadlig trollformel", "core.bonus.MAGIC_RESISTANCE.description" : "Har en ${val}% chans att motstå en skadlig trollformel",
"core.bonus.MIND_IMMUNITY.name" : "Immunitet mot sinnesförtrollningar", "core.bonus.MIND_IMMUNITY.name" : "Immunitet mot sinnesförtrollningar",
@@ -610,11 +613,11 @@
"core.bonus.NO_MELEE_PENALTY.name" : "Ingen närstridsbestraffning", "core.bonus.NO_MELEE_PENALTY.name" : "Ingen närstridsbestraffning",
"core.bonus.NO_MELEE_PENALTY.description" : "Varelsen har ingen närstridsbestraffning", "core.bonus.NO_MELEE_PENALTY.description" : "Varelsen har ingen närstridsbestraffning",
"core.bonus.NO_MORALE.name" : "Ingen Moralpåverkan", "core.bonus.NO_MORALE.name" : "Ingen Moralpåverkan",
"core.bonus.NO_MORALE.description" : "Varelsen är immun mot moraliska effekter och har alltid neutral moral", "core.bonus.NO_MORALE.description" : "Är immun mot moraliska effekter och har alltid neutral moral",
"core.bonus.NO_WALL_PENALTY.name" : "Ingen murbestraffning", "core.bonus.NO_WALL_PENALTY.name" : "Ingen murbestraffning",
"core.bonus.NO_WALL_PENALTY.description" : "Orsakar full skada mot fiender bakom en mur", "core.bonus.NO_WALL_PENALTY.description" : "Orsakar full skada mot fiender bakom en mur",
"core.bonus.NON_LIVING.name" : "Icke levande", "core.bonus.NON_LIVING.name" : "Icke levande",
"core.bonus.NON_LIVING.description" : "Immunitet mot många effekter som annars bara påverkar levande och odöda varelser", "core.bonus.NON_LIVING.description" : "Påverkas inte av vissa effekter som levande/odöda r",
"core.bonus.RANDOM_SPELLCASTER.name" : "Slumpmässig besvärjare", "core.bonus.RANDOM_SPELLCASTER.name" : "Slumpmässig besvärjare",
"core.bonus.RANDOM_SPELLCASTER.description" : "Kan kasta trollformler som väljs slumpmässigt", "core.bonus.RANDOM_SPELLCASTER.description" : "Kan kasta trollformler som väljs slumpmässigt",
"core.bonus.RANGED_RETALIATION.name" : "Motattacker på avstånd", "core.bonus.RANGED_RETALIATION.name" : "Motattacker på avstånd",
@@ -624,21 +627,21 @@
"core.bonus.REBIRTH.name" : "Återfödelse (${val}%)", "core.bonus.REBIRTH.name" : "Återfödelse (${val}%)",
"core.bonus.REBIRTH.description" : "${val}% av enheterna kommer att återuppväckas efter döden", "core.bonus.REBIRTH.description" : "${val}% av enheterna kommer att återuppväckas efter döden",
"core.bonus.RETURN_AFTER_STRIKE.name" : "Återvänder efter närstrid", "core.bonus.RETURN_AFTER_STRIKE.name" : "Återvänder efter närstrid",
"core.bonus.RETURN_AFTER_STRIKE.description" : "Efter att ha attackerat en fiendeenhet i närstrid återvänder enheten till rutan som den var placerad på innan den utförde sin närstridsattack", "core.bonus.RETURN_AFTER_STRIKE.description" : "Efter närstridsattack återvänder den till sin ursprungliga ruta",
"core.bonus.REVENGE.name" : "Hämnd", "core.bonus.REVENGE.name" : "Hämnd",
"core.bonus.REVENGE.description" : "Orsakar extra skada baserat på angriparens förlorade träffpoäng (hälsa) i strid", "core.bonus.REVENGE.description" : "Orsakar mer skada om den själv blivit skadad",
"core.bonus.SHOOTER.name" : "Distans-attack", "core.bonus.SHOOTER.name" : "Distans-attack",
"core.bonus.SHOOTER.description" : "Varelsen kan skjuta/attackera på avstånd", "core.bonus.SHOOTER.description" : "Varelsen kan skjuta/attackera på avstånd",
"core.bonus.SHOOTS_ALL_ADJACENT.name" : "Skjuter alla i närheten", "core.bonus.SHOOTS_ALL_ADJACENT.name" : "Skjuter alla i närheten",
"core.bonus.SHOOTS_ALL_ADJACENT.description" : "Denna varelses distans-attacker drabbar alla mål i ett litet område", "core.bonus.SHOOTS_ALL_ADJACENT.description" : "Dess distans-attacker drabbar alla mål i ett litet område",
"core.bonus.SOUL_STEAL.name" : "Själtjuv", "core.bonus.SOUL_STEAL.name" : "Själtjuv",
"core.bonus.SOUL_STEAL.description" : "Återuppväcker ${val} av sina egna enheter för varje dödad fiendeenhet", "core.bonus.SOUL_STEAL.description" : "Återuppväcker ${val} av sina egna för varje dödad fiendeenhet",
"core.bonus.SPELLCASTER.name" : "Besvärjare", "core.bonus.SPELLCASTER.name" : "Besvärjare",
"core.bonus.SPELLCASTER.description" : "Kan kasta ${subtype.spell}", "core.bonus.SPELLCASTER.description" : "Kan kasta ${subtype.spell}",
"core.bonus.SPELL_AFTER_ATTACK.name" : "Besvärja efter attack", "core.bonus.SPELL_AFTER_ATTACK.name" : "Besvärja efter attack",
"core.bonus.SPELL_AFTER_ATTACK.description" : "Har en ${val}% chans att kasta ${subtype.spell} efter att den har attackerat", "core.bonus.SPELL_AFTER_ATTACK.description" : "Har ${val}% chans att kasta ${subtype.spell} efter anfall",
"core.bonus.SPELL_BEFORE_ATTACK.name" : "Besvärja före attack", "core.bonus.SPELL_BEFORE_ATTACK.name" : "Besvärja före attack",
"core.bonus.SPELL_BEFORE_ATTACK.description" : "Har en ${val}% chans att kasta ${subtype.spell} innan den attackerar", "core.bonus.SPELL_BEFORE_ATTACK.description" : "Har ${val}% chans att kasta ${subtype.spell} före anfall",
"core.bonus.SPELL_DAMAGE_REDUCTION.name" : "Trolldoms-resistens", "core.bonus.SPELL_DAMAGE_REDUCTION.name" : "Trolldoms-resistens",
"core.bonus.SPELL_DAMAGE_REDUCTION.description" : "Skadan från trollformler är reducet med ${val}%.", "core.bonus.SPELL_DAMAGE_REDUCTION.description" : "Skadan från trollformler är reducet med ${val}%.",
"core.bonus.SPELL_IMMUNITY.name" : "Trolldoms-immunitet", "core.bonus.SPELL_IMMUNITY.name" : "Trolldoms-immunitet",
@@ -659,14 +662,14 @@
"core.bonus.TRANSMUTATION.description" : "${val}% chans att förvandla angripen enhet till en annan typ", "core.bonus.TRANSMUTATION.description" : "${val}% chans att förvandla angripen enhet till en annan typ",
"core.bonus.UNDEAD.name" : "Odöd", "core.bonus.UNDEAD.name" : "Odöd",
"core.bonus.UNDEAD.description" : "Varelsen är odöd", "core.bonus.UNDEAD.description" : "Varelsen är odöd",
"core.bonus.UNLIMITED_RETALIATIONS.name" : "Obegränsat antal motattacker", "core.bonus.UNLIMITED_RETALIATIONS.name" : "Slår tillbaka varje gång",
"core.bonus.UNLIMITED_RETALIATIONS.description" : "Kan slå tillbaka mot ett obegränsat antal attacker varje omgång", "core.bonus.UNLIMITED_RETALIATIONS.description" : "Obegränsat antal motattacker",
"core.bonus.WATER_IMMUNITY.name" : "Vatten-immunitet", "core.bonus.WATER_IMMUNITY.name" : "Vatten-immunitet",
"core.bonus.WATER_IMMUNITY.description" : "Immun mot alla trollformler från vattenmagi-skolan", "core.bonus.WATER_IMMUNITY.description" : "Immun mot alla trollformler från vattenmagiskolan",
"core.bonus.WIDE_BREATH.name" : "Bred dödlig andedräkt", "core.bonus.WIDE_BREATH.name" : "Bred dödlig andedräkt",
"core.bonus.WIDE_BREATH.description" : "Bred andningsattack (flera rutor)", "core.bonus.WIDE_BREATH.description" : "Bred andningsattack (flera rutor)",
"core.bonus.DISINTEGRATE.name" : "Desintegrerar", "core.bonus.DISINTEGRATE.name" : "Desintegrerar",
"core.bonus.DISINTEGRATE.description" : "Ingen fysisk kropp finns kvar efter att enheten blivit besegrad i strid", "core.bonus.DISINTEGRATE.description" : "Ingen kropp lämnas kvar efter dödsögonblicket",
"core.bonus.INVINCIBLE.name" : "Oövervinnerlig", "core.bonus.INVINCIBLE.name" : "Oövervinnerlig",
"core.bonus.INVINCIBLE.description" : "Kan inte påverkas av någonting" "core.bonus.INVINCIBLE.description" : "Kan inte påverkas av någonting"
} }

View File

@@ -809,6 +809,7 @@ void SelectionTab::parseMaps(const std::unordered_set<ResourcePath> & files)
{ {
auto mapInfo = std::make_shared<ElementInfo>(); auto mapInfo = std::make_shared<ElementInfo>();
mapInfo->mapInit(file.getOriginalName()); mapInfo->mapInit(file.getOriginalName());
mapInfo->name = mapInfo->getNameForList();
if (isMapSupported(*mapInfo)) if (isMapSupported(*mapInfo))
allItems.push_back(mapInfo); allItems.push_back(mapInfo);
@@ -988,6 +989,6 @@ void SelectionTab::ListItem::updateItem(std::shared_ptr<ElementInfo> info, bool
iconLossCondition->setFrame(info->mapHeader->defeatIconIndex, 0); iconLossCondition->setFrame(info->mapHeader->defeatIconIndex, 0);
labelName->setMaxWidth(185); labelName->setMaxWidth(185);
} }
labelName->setText(info->getNameForList()); labelName->setText(info->name);
labelName->setColor(color); labelName->setColor(color);
} }

View File

@@ -33,6 +33,7 @@ public:
ElementInfo() : CMapInfo() { } ElementInfo() : CMapInfo() { }
~ElementInfo() { } ~ElementInfo() { }
std::string folderName = ""; std::string folderName = "";
std::string name = "";
bool isFolder = false; bool isFolder = false;
}; };

View File

@@ -202,6 +202,10 @@ elseif(NOT APPLE_IOS)
target_link_libraries(vcmilauncher SDL2::SDL2) target_link_libraries(vcmilauncher SDL2::SDL2)
endif() endif()
if(ENABLE_STATIC_LIBS OR NOT (ENABLE_EDITOR AND ENABLE_LAUNCHER))
target_compile_definitions(vcmilauncher PRIVATE VCMIQT_STATIC)
endif()
target_link_libraries(vcmilauncher vcmi vcmiqt Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network) target_link_libraries(vcmilauncher vcmi vcmiqt Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network)
target_include_directories(vcmilauncher target_include_directories(vcmilauncher
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}

View File

@@ -217,6 +217,10 @@ if(APPLE)
set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER vcmieditor) set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER vcmieditor)
endif() endif()
if(ENABLE_STATIC_LIBS OR NOT (ENABLE_EDITOR AND ENABLE_LAUNCHER))
target_compile_definitions(vcmieditor PRIVATE VCMIQT_STATIC)
endif()
target_link_libraries(vcmieditor vcmi vcmiqt Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network) target_link_libraries(vcmieditor vcmi vcmiqt Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network)
target_include_directories(vcmieditor target_include_directories(vcmieditor
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}

View File

@@ -235,7 +235,8 @@ void CGameHandler::levelUpCommander (const CCommanderInstance * c, int skill)
scp.accumulatedBonus.type = BonusType::STACKS_SPEED; scp.accumulatedBonus.type = BonusType::STACKS_SPEED;
break; break;
case ECommander::SPELL_POWER: case ECommander::SPELL_POWER:
scp.accumulatedBonus.type = BonusType::MAGIC_RESISTANCE; scp.accumulatedBonus.type = BonusType::SPELL_DAMAGE_REDUCTION;
scp.accumulatedBonus.subtype = BonusSubtypeID(SpellSchool::ANY);
scp.accumulatedBonus.val = difference (VLC->creh->skillLevels, c->secondarySkills, ECommander::RESISTANCE); scp.accumulatedBonus.val = difference (VLC->creh->skillLevels, c->secondarySkills, ECommander::RESISTANCE);
sendAndApply(scp); //additional pack sendAndApply(scp); //additional pack
scp.accumulatedBonus.type = BonusType::CREATURE_SPELL_POWER; scp.accumulatedBonus.type = BonusType::CREATURE_SPELL_POWER;

View File

@@ -10,7 +10,7 @@
#include <QtCore/QtGlobal> #include <QtCore/QtGlobal>
#if VCMIQT_STATIC #ifdef VCMIQT_STATIC
# define VCMIQT_LINKAGE # define VCMIQT_LINKAGE
#elif defined(VCMIQT_SHARED) #elif defined(VCMIQT_SHARED)
# define VCMIQT_LINKAGE Q_DECL_EXPORT # define VCMIQT_LINKAGE Q_DECL_EXPORT