From b4b2a0d7634e818f991ec28cb77f1f0ed46a60aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20E=2E=20Lozano?= Date: Mon, 27 Sep 2021 23:31:26 +0200 Subject: [PATCH 1/3] Spanish updated --- lang/es.json | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/lang/es.json b/lang/es.json index c3c5075a..96f38e4d 100644 --- a/lang/es.json +++ b/lang/es.json @@ -369,12 +369,17 @@ "WITCHER.SkIntDeduction": "Deducción", "WITCHER.SkIntEducation": "Cultura", "WITCHER.SkIntCommon": "Lengua: Común(2)", + "WITCHER.SkIntCommonLable": "Lengua: Común", "WITCHER.SkIntElder": "Lengua: Antigua(2)", + "WITCHER.SkIntElderLable": "Lengua: Antigua", "WITCHER.SkIntDwarven": "Lengua: Enanés (2)", + "WITCHER.SkIntDwarvenLable": "Lengua: Enanés", "WITCHER.SkIntMonster": "S. de monstruos (2)", + "WITCHER.SkIntMonsterLable": "S. de monstruos", "WITCHER.SkIntSocialEt": "Etiqueta", "WITCHER.SkIntStreet": "Callejeo", "WITCHER.SkIntTactics": "Táctica(2)", + "WITCHER.SkIntTacticsLable": "Táctica", "WITCHER.SkIntTeaching": "Enseñar", "WITCHER.SkIntWilderness": "Supervivencia", @@ -408,20 +413,27 @@ "WITCHER.SkEmpSeduction": "Seducción", "WITCHER.SkCraAlchemy": "Alquimia (2)", + "WITCHER.SkCraAlchemyLable": "Alquimia", "WITCHER.SkCraCrafting": "Artesanía (2)", + "WITCHER.SkCraCraftingLable": "Artesanía", "WITCHER.SkCraDisguise": "Disfraz", "WITCHER.SkCraAid": "Primeros auxilios", "WITCHER.SkCraForge": "Falsificación", "WITCHER.SkCraPick": "Abrir cerraduras", "WITCHER.SkCraTrapCraft": "Preparar Trampas (2)", + "WITCHER.SkCraTrapCraftLable": "Preparar Trampas", "WITCHER.SkWillCourage": "Coraje", "WITCHER.SkWillHex": "Urdir Maleficios (2)", + "WITCHER.SkWillHexLable": "Urdir Maleficios", "WITCHER.SkWillIntim": "Intimidar", "WITCHER.SkWillSpellcast": "Lanzar Hechizos (2)", + "WITCHER.SkWillSpellcastLable": "Lanzar Hechizos", "WITCHER.SkWillResistMag": "Resitir magia (2)", + "WITCHER.SkWillResistMagLable": "Resitir magia", "WITCHER.SkWillResistCoer": "Resist Coacción", "WITCHER.SkWillRitCraft": "Elaborar rituales(2)", + "WITCHER.SkWillRitCraftLable": "Elaborar rituales", "WITCHER.Actor.ImprovementPoints": "Puntos de Perfeccionamiento", "WITCHER.Actor.CurrentIP":"Actual PP:", @@ -679,5 +691,16 @@ "WITCHER.Currency.floren" : "Florín", "WITCHER.Currency.crown" : "Corona", "WITCHER.Currency.oren" : "Oren", - "WITCHER.Currency.falsecoin" : "Moneda falsa" + "WITCHER.Currency.falsecoin" : "Moneda falsa", + + "WITCHER.background.activeEffect" : "Efectos activos", + + "WITCHER.Spell.CreateTemplate": "Crear una plantilla", + "WITCHER.Spell.meters": "m", + "WITCHER.Spell.Size" : "Alcance", + "WITCHER.Spell.Type" : "Tipo", + "WITCHER.Spell.Square": "Casillas", + "WITCHER.Spell.Circle": "Radio", + "WITCHER.Spell.Cone": "Cono", + "WITCHER.Spell.Ray": "Rayo" } \ No newline at end of file From f321eecdb7be5b80c98313cf8280058fd670da16 Mon Sep 17 00:00:00 2001 From: frnprt <44530535+frnprt@users.noreply.github.com> Date: Wed, 6 Oct 2021 12:48:20 +0000 Subject: [PATCH 2/3] Added Italian translation --- lang/it.json | 704 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 704 insertions(+) create mode 100644 lang/it.json diff --git a/lang/it.json b/lang/it.json new file mode 100644 index 00000000..24653062 --- /dev/null +++ b/lang/it.json @@ -0,0 +1,704 @@ +{ + "WITCHER.Type": "Tipo", + "WITCHER.Percentage": "Percentuale", + "WITCHER.DC": "CD", + + "WITCHER.Item.Availability": "Disp.", + "WITCHER.Item.Weight": "Peso", + "WITCHER.Item.Cost": "Costo", + "WITCHER.Item.Effect": "Effetti", + "WITCHER.Item.Quantity": "Quantità", + "WITCHER.Item.Description": "Descrizione", + "WITCHER.Item.Attribute": "Attributi", + "WITCHER.Item.ROF": "N°Att", + + "WITCHER.Item.CraftingMaterial": "Materiali per Manifatture", + "WITCHER.Item.Hides&AnimalParts": "Pelli & Parti Animali", + "WITCHER.Item.AlchemicalTreatments": "Trattamenti Alchemici", + "WITCHER.Item.Ingots&Minerals": "Lingotti & Materiali", + + "WITCHER.Item.Avalability.Everywhere": "D", + "WITCHER.Item.Avalability.Common": "C", + "WITCHER.Item.Avalability.Poor": "S", + "WITCHER.Item.Avalability.Rare": "R", + "WITCHER.Item.Avalability.Witcher": "W", + + "Witcher.Item.Tiny": "M", + "Witcher.Item.Small": "P", + "Witcher.Item.Large": "G", + "Witcher.Item.CantHide": "NA", + + "WITCHER.Weapon.Type": "Tipo", + "WITCHER.Weapon.WeaponAccuracy": "PA", + "WITCHER.Weapon.Damage": "DAN", + "WITCHER.Weapon.Reliability": "Aff.", + "WITCHER.Weapon.MaxReliability": "Max. Aff.", + "WITCHER.Weapon.Hands": "Mani", + "WITCHER.Weapon.Concealement": "Occ.", + "WITCHER.Weapon.Enhancement": "POT", + "WITCHER.Weapon.Range": "GIT", + "WITCHER.Weapon.Elderfolk": "RA", + + "WITCHER.Weapon.AttackSkill": "Abilità di Attacco", + "WITCHER.Weapon.MeleeBonus": "Bonus in Mischia", + + "WITCHER.Weapon.isAmmunition": "Sono Munizioni", + "WITCHER.Weapon.rateOfFire": "N°Att", + + "WITCHER.Armor.StoppingPower": "PR", + "WITCHER.Armor.MaxStoppingPower": "Max. PR", + + "WITCHER.Armor.Enhancement": "POA", + "WITCHER.Armor.Reliable": "Aff.", + "WITCHER.Armor.EncumbranceValue": "Ingombro", + "WITCHER.Armor.Resistances": "Resistenze", + "WITCHER.Armor.Bludgeoning": "Contundente", + "WITCHER.Armor.Slashing": "Tagliente", + "WITCHER.Armor.Percing": "Perforante", + + "WITCHER.Armor.LocationHead": "Testa", + "WITCHER.Armor.LocationTorso": "Torso", + "WITCHER.Armor.LocationLeg": "Gamba", + "WITCHER.Armor.LocationArm": "Braccio", + "WITCHER.Armor.LocationFull": "Riparo Completo", + "WITCHER.Armor.LocationShield": "Scudo", + + "WITCHER.Armor.LocationLeft": "S.", + "WITCHER.Armor.LocationRight": "D.", + + "WITCHER.Location.Left": "Sinistra", + "WITCHER.Location.Right": "Destra", + + + "WITCHER.Armor.Location": "Parte", + + "WITCHER.Component.Rarity": "Rarità", + "WITCHER.Component.Location": "Ubicazione", + "WITCHER.Component.Quantity": "Quantità", + "WITCHER.Component.Forage": "CD per Procacciarlo", + + + "WITCHER.Enhancement.Stopping": "Protezione", + "WITCHER.Enhancement.Bludgeoning": "C", + "WITCHER.Enhancement.Slashing": "T", + "WITCHER.Enhancement.Percing": "P", + + "WITCHER.Enhancement.Armor": "Armatura", + "WITCHER.Enhancement.Rune": "Runa", + "WITCHER.Enhancement.Glyph": "Glifo", + + "WITCHER.Mount.Dex": "DES + Atl", + "WITCHER.Mount.Dexterity": "DES", + "WITCHER.Mount.ControlMod": "Mod. al Controllo", + "WITCHER.Mount.Control": "Controllo", + "WITCHER.Mount.Speed": "Velocità", + "WITCHER.Mount.Hp": "PS", + + "WITCHER.Alchemy.Duration": "Durata", + "WITCHER.Alchemy.Toxicity": "Toss.", + "WITCHER.Alchemy.Potion": "Pozione", + "WITCHER.Alchemy.Decoction": "Decotto", + "WITCHER.Alchemy.Oil": "Unguento", + + "WITCHER.Diagram.alchemyDC": "CD per Creare", + "WITCHER.Diagram.craftingDC": "CD Manifattura", + "WITCHER.Diagram.craftingTime": "Tempo", + "WITCHER.Diagram.components": "Componenti", + "WITCHER.Diagram.otherComponents": "Altri Componenti", + "WITCHER.Diagram.investment": "Investimento", + "WITCHER.Diagram.Learned": "Appreso", + "WITCHER.Diagram.Formulae": "Formule", + + "WITCHER.Diagram.Ingredient": "Ingrediente", + "WITCHER.Diagram.Weapon": "Arma", + "WITCHER.Diagram.Armor": "Armatura", + "WITCHER.Diagram.ArmorEnhancement": "Potenziamento Armatura", + "WITCHER.Diagram.ElderfolkWeapon": "Arma Razze Antiche", + "WITCHER.Diagram.ElderfolkArmor": "Armatura Razze Antiche", + "WITCHER.Diagram.Ammunition": "Munizioni", + + "WITCHER.Diagram.Novice": "Novizio", + "WITCHER.Diagram.Journeyman": "Esperto", + "WITCHER.Diagram.Master": "Maestro", + "WITCHER.Diagram.GrandMaster": "Gran Maestro", + "WITCHER.Diagram.Witcher": "Witcher", + + "WITCHER.Mutagen.MutSource": "Fonte del Mutageno", + "WITCHER.Mutagen.AlchemyDC": "CD Alchimia", + "WITCHER.Mutagen.MinorMutation": "Mutazione Minore", + "WITCHER.Mutagen.Type": "Tipo", + "WITCHER.Mutagen.Source": "Fonte", + + "WITCHER.Mutagen.Red": "Rosso", + "WITCHER.Mutagen.Green": "Verde", + "WITCHER.Mutagen.Blue": "Blu", + + "WITCHER.Valuable.Conceal": "Occultare", + "WITCHER.Valuable.Quality": "Qualità", + "WITCHER.Valueble.Toolkit": "Utensili", + "WITCHER.Valueble.General": "Generale", + "WITCHER.Valueble.Containers": "Recipienti", + "WITCHER.Valueble.Food&Drinks": "Cibo & Bevande", + "WITCHER.Valueble.Clothings": "Abiti", + "WITCHER.Valueble.Service": "Servizio", + "WITCHER.Valueble.Loging": "Alloggio", + "WITCHER.Valueble.MountAccessories": "Accessori Cavalcatura", + + "WITCHER.StInt": "Intelligenza", + "WITCHER.StRef": "Riflessi", + "WITCHER.StDex": "Destrezza", + "WITCHER.StBody": "Fisico", + "WITCHER.StEmp": "Empatia", + "WITCHER.StCra": "Manualità", + "WITCHER.StWill": "Volontà", + "WITCHER.StLuck": "Fortuna", + "WITCHER.StSpd": "Velocità", + "WITCHER.StVigor": "Vigore", + + "WITCHER.Actor.SkillTab": "Abilità & Modificatori", + "WITCHER.Actor.ProfessionTab": "Professione & Razza", + "WITCHER.Actor.InventoryTab": "Equipaggiamento & Inventario", + "WITCHER.Actor.MagicTab": "Magie & Invocazioni", + "WITCHER.Actor.BackgroundTab": "Background", + + "WITCHER.Actor.Name": "Nome Personaggio", + "WITCHER.Actor.Race": "Razza", + "WITCHER.Actor.Gender": "Sesso", + "WITCHER.Actor.Age": "Età", + "WITCHER.Actor.Perks": "Doti", + + "WITCHER.Actor.Adda.Profession": "Aggiungi una Professione", + "WITCHER.Actor.Adda.Race": "Aggiungi una Razza", + + "WITCHER.Actor.TotalStats": "Totale Statistiche", + + "WITCHER.Actor.Stat.Int": "INT", + "WITCHER.Actor.Stat.Ref": "RIF", + "WITCHER.Actor.Stat.Dex": "DES", + "WITCHER.Actor.Stat.Body": "FIS", + "WITCHER.Actor.Stat.Spd": "VEL", + "WITCHER.Actor.Stat.Emp": "EMP", + "WITCHER.Actor.Stat.Cra": "MAN", + "WITCHER.Actor.Stat.Will": "VOL", + "WITCHER.Actor.Stat.Luck": "FOR", + + "WITCHER.Actor.StatTitle.LableLeft": "Statistiche", + "WITCHER.Actor.StatTitle.ModMax": "Mod / Max", + "WITCHER.Actor.StatTitle.Derived": "Derivate", + + "WITCHER.Actor.CoreStat.Stun": "GRI", + "WITCHER.Actor.CoreStat.Run": "Corsa", + "WITCHER.Actor.CoreStat.Leap": "Balzo", + "WITCHER.Actor.CoreStat.Enc": "ING", + "WITCHER.Actor.CoreStat.Rec": "REC", + "WITCHER.Actor.CoreStat.woundTreshold": "SF", + + "WITCHER.Actor.DerStat.Vigor": "Vigore", + "WITCHER.Actor.DerStat.HP": "PS Max", + "WITCHER.Actor.DerStat.Sta": "RES", + "WITCHER.Actor.DerStat.Resolve": "Risolutezza", + "WITCHER.Actor.DerStat.Focus": "Focus", + "WITCHER.Actor.DerStat.Punch": "Pugno", + "WITCHER.Actor.DerStat.Kick": "Calcio", + + "WITCHER.Actor.Initiative": "Iniziativa", + "WITCHER.Actor.SavingThrow": "Tiro Salvezza", + "WITCHER.Actor.Crit/Fumble": "Critico/Disastro", + "WITCHER.Actor.Defense": "Difesa", + "WITCHER.Actor.Adrenaline": "Adrenalina", + "WITCHER.Actor.Stamina": "Resistenza", + "WITCHER.Actor.Hp": "PS", + + "WITCHER.Actor.Skill.Intelligence": "Intelligenza", + "WITCHER.Actor.Skill.Reflex": "Riflessi", + "WITCHER.Actor.Skill.Willpower": "Volontà", + "WITCHER.Actor.Skill.Dexterity": "Destrezza", + "WITCHER.Actor.Skill.Crafting": "Manualità", + "WITCHER.Actor.Skill.Body": "Fisico", + "WITCHER.Actor.Skill.Empathy": "Empatia", + + "WITCHER.Actor.Profession.Level": "Livello", + + "WITCHER.CritWound.Header": "Ferite Critiche", + "WITCHER.CritWound.HealingTime.Label": "Giorni alla Guarigione", + "WITCHER.CritWound.Simple": "Semplice", + "WITCHER.CritWound.Complex": "Complicato", + "WITCHER.CritWound.Difficult": "Difficile", + "WITCHER.CritWound.Deadly": "Mortale", + + "WITCHER.CritWound.None": "Nessuno", + "WITCHER.CritWound.Stabilized": "Stabilizzato", + "WITCHER.CritWound.Treated": "Curato", + + "WITCHER.CritWound.Name.SimpleCrackedJaw": "Mascella Incrinata", + "WITCHER.CritWound.Name.SimpleDisfiguringScar": "Sfregio", + "WITCHER.CritWound.Name.SimpleCrackedRibs": "Costole Incrinate", + "WITCHER.CritWound.Name.SimpleForeignObject": "Corpo Estraneo", + "WITCHER.CritWound.Name.SimpleSprainedArm": "Braccio Slogato", + "WITCHER.CritWound.Name.SimpleSprainedLeg": "Gamba Slogata", + + "WITCHER.CritWound.Name.ComplexMinorHeadWound": "Ferita alla Testa", + "WITCHER.CritWound.Name.ComplexLostTeeth": "Denti Persi", + "WITCHER.CritWound.Name.ComplexRupturedSpleen": "Milza Lesionata", + "WITCHER.CritWound.Name.ComplexBrokenRibs": "Costole Rotte", + "WITCHER.CritWound.Name.ComplexFracturedArm": "Braccio Fratturato", + "WITCHER.CritWound.Name.ComplexFracturedLeg": "Gamba Fratturata", + + "WITCHER.CritWound.Name.DifficultSkullFracture": "Frattura Cranica", + "WITCHER.CritWound.Name.DifficultConcussion": "Commozione Cerebrale", + "WITCHER.CritWound.Name.DifficultTornStomach": "Stomaco Lacerato", + "WITCHER.CritWound.Name.DifficultSuckingChestWound": "Pneumotorace", + "WITCHER.CritWound.Name.DifficultCompoundArmFracture": "Frattura Scomposta al Braccio", + "WITCHER.CritWound.Name.DifficultCompoundLegFracture": "Frattura Scomposta alla Gamba", + + "WITCHER.CritWound.Name.DeadlyDecapitated": "Spina Dorsale Spezzata / Decapitazione", + "WITCHER.CritWound.Name.DeadlyDamagedEye": "Occhio Danneggiato", + "WITCHER.CritWound.Name.DeadlyHearthDamage": "Danni Cardiaci", + "WITCHER.CritWound.Name.DeadlySepticShock": "Shock Settico", + "WITCHER.CritWound.Name.DeadlyDismemberedArm": "Braccio Mutilato", + "WITCHER.CritWound.Name.DeadlyDismemberedLeg": "Gamba Mutilata", + + "WITCHER.CritWound.SimpleCrackedJaw": "Il colpo ha incrinato la mascella, rendendo difficile parlare chiaramente.", + "WITCHER.CritWound.SimpleDisfiguringScar": "Il colpo ha sfigurato il volto della vittima. È grottesca ed è difficile guardarla in viso.", + "WITCHER.CritWound.SimpleCrackedRibs": "Il colpo ha incrinato le costole della vittima, rendendo doloroso respirare e fare sforzi fisici.", + "WITCHER.CritWound.SimpleForeignObject": "Il colpo ha conficcato nella ferita parte degli abiti o dell’armatura, causando un’infezione.", + "WITCHER.CritWound.SimpleSprainedArm": "Il colpo ha slogato il braccio della vittima, che ora lo muove con difficoltà.", + "WITCHER.CritWound.SimpleSprainedLeg": "Il colpo ha slogato la gamba della vittima, che ora ha difficoltà a muoversi.", + "WITCHER.CritWound.ComplexMinorHeadWound": "Il colpo ha scombussolato il cervello, causando una lieve emorragia interna. Pensare lucidamente è difficile.", + "WITCHER.CritWound.ComplexLostTeeth": "Il colpo ha fatto saltar via qualche dente (tirare 1d10 per scoprire quanti).", + "WITCHER.CritWound.ComplexRupturedSpleen": "Una lesione alla milza sanguina copiosamente, frastornando la vittima.", + "WITCHER.CritWound.ComplexBrokenRibs": "Il colpo ha spezzato le costole della vittima, causandole dolori atroci nel piegarsi e sforzarsi.", + "WITCHER.CritWound.ComplexFracturedArm": "Il colpo ha fratturato il braccio della vittima.", + "WITCHER.CritWound.ComplexFracturedLeg": "Il colpo ha fratturato la gamba della vittima.", + "WITCHER.CritWound.DifficultSkullFracture": "Il colpo frantuma parte del teschio, indebolendo la testa e causando emorragie.", + "WITCHER.CritWound.DifficultConcussion": "Il colpo ha causato una lieve commozione cerebrale.", + "WITCHER.CritWound.DifficultTornStomach": "Il colpo ha perforato lo stomaco della vittima, riversando i suoi acidi nelle budella.", + "WITCHER.CritWound.DifficultSuckingChestWound": "La ferita lacera un polmone e il torace si riempie d’aria, schiacciando gli organi interni.", + "WITCHER.CritWound.DifficultCompoundArmFracture": "Il colpo frantuma il braccio e le ossa spuntano dalla pelle.", + "WITCHER.CritWound.DifficultCompoundLegFracture": "Il colpo frantuma la gamba, rendendola inutilizzabile.", + "WITCHER.CritWound.DeadlyDecapitated": "Il colpo spezza il collo della vittima o le stacca la testa dal torso.", + "WITCHER.CritWound.DeadlyDamagedEye": "Il colpo ferisce o cava un occhio.", + "WITCHER.CritWound.DeadlyHearthDamage": "Il colpo danneggia il cuore.", + "WITCHER.CritWound.DeadlySepticShock": "Il colpo danneggia gli intestini, immettendo escrementi nel flusso sanguigno.", + "WITCHER.CritWound.DeadlyDismemberedArm": "Il colpo amputa il braccio della vittima o lo danneggia irreparabilmente.", + "WITCHER.CritWound.DeadlyDismemberedLeg": "Il colpo amputa la gamba della vittima o la danneggia irreparabilmente.", + + "WITCHER.CritWound.Mod.SimpleCrackedJaw.None": "La vittima subisce -2 a Lanciare Incantesimi e Scontro Verbale (Carisma, Persuasione, Seduzione, Autorità, Inganno, Etichetta e Intimidire).", + "WITCHER.CritWound.Mod.SimpleCrackedJaw.Stabilized": "La vittima subisce -1 a Lanciare Incantesimi e Scontro Verbale.", + "WITCHER.CritWound.Mod.SimpleCrackedJaw.Treated": "La vittima subisce -1 a Lanciare Incantesimi.", + "WITCHER.CritWound.Mod.SimpleDisfiguringScar.None": "La vittima subisce -3 allo Scontro Verbale empatico (Carisma, Persuasione, Seduzione, Inganno, Etichetta e Intimidire).", + "WITCHER.CritWound.Mod.SimpleDisfiguringScar.Stabilized": "La vittima subisce -1 a Scontro Verbale.", + "WITCHER.CritWound.Mod.SimpleDisfiguringScar.Treated": "La vittima subisce -1 a Seduzione.", + "WITCHER.CritWound.Mod.SimpleCrackedRibs.None": "La vittima subisce -2 a FIS. Non ha effetto sui Punti Salute.", + "WITCHER.CritWound.Mod.SimpleCrackedRibs.Stabilized": "La vittima subisce -1 a FIS.", + "WITCHER.CritWound.Mod.SimpleCrackedRibs.Treated": "La vittima subisce -10 all’Ingombro massimo.", + "WITCHER.CritWound.Mod.SimpleForeignObject.None": "Il Recupero e la Guarigione dai Critici della vittima sono ridotti a un quarto.", + "WITCHER.CritWound.Mod.SimpleForeignObject.Stabilized": "Il Recupero e la Guarigione dai Critici della vittima sono dimezzati.", + "WITCHER.CritWound.Mod.SimpleForeignObject.Treated": "La vittima subisce -2 a Recupero e -1 alla Guarigione dai Critici.", + "WITCHER.CritWound.Mod.SimpleSprainedArm.None": "La vittima subisce -2 alle azioni effettuate con quel braccio.", + "WITCHER.CritWound.Mod.SimpleSprainedArm.Stabilized": "La vittima subisce -1 alle azioni effettuate con quel braccio.", + "WITCHER.CritWound.Mod.SimpleSprainedArm.Treated": "La vittima subisce -1 alla Prestanza", + "WITCHER.CritWound.Mod.SimpleSprainedLeg.None": "La vittima subisce -2 a VEL, Eludere e Atletica.", + "WITCHER.CritWound.Mod.SimpleSprainedLeg.Stabilized": "La vittima subisce -1 a VEL, Eludere e Atletica.", + "WITCHER.CritWound.Mod.SimpleSprainedLeg.Treated": "La vittima subisce -1 a VEL.", + + "WITCHER.CritWound.Mod.ComplexMinorHeadWound.None": "Pensare lucidamente è difficile. La vittima subisce -1 a INT, VOL e Grinta.", + "WITCHER.CritWound.Mod.ComplexMinorHeadWound.Stabilized": "La vittima subisce -1 a INT e VOL.", + "WITCHER.CritWound.Mod.ComplexMinorHeadWound.Treated": "La vittima subisce -1 a VOL.", + "WITCHER.CritWound.Mod.ComplexLostTeeth.None": "La vittima subisce -3 a Lanciare Incantesimi e Scontro Verbale.", + "WITCHER.CritWound.Mod.ComplexLostTeeth.Stabilized": "La vittima subisce -2 a Lanciare Incantesimi e Scontro Verbale.", + "WITCHER.CritWound.Mod.ComplexLostTeeth.Treated": "La vittima subisce -1 a Lanciare Incantesimi e Scontro Verbale.", + "WITCHER.CritWound.Mod.ComplexRupturedSpleen.None": "La vittima deve effettuare un tiro salvezza su Grinta ogni 5 round. La ferita causa sanguinamento.", + "WITCHER.CritWound.Mod.ComplexRupturedSpleen.Stabilized": "La vittima deve effettuare un tiro salvezza su Grinta ogni 10 round.", + "WITCHER.CritWound.Mod.ComplexRupturedSpleen.Treated": "La vittima subisce -2 Grinta.", + "WITCHER.CritWound.Mod.ComplexBrokenRibs.None": "La vittima subisce -2 a FIS e -1 a RIF e DES.", + "WITCHER.CritWound.Mod.ComplexBrokenRibs.Stabilized": "La vittima subisce -1 a FIS e RIF.", + "WITCHER.CritWound.Mod.ComplexBrokenRibs.Treated": "La vittima subisce -1 a FIS.", + "WITCHER.CritWound.Mod.ComplexFracturedArm.None": "La vittima subisce -3 alle azioni effettuate con quel braccio.", + "WITCHER.CritWound.Mod.ComplexFracturedArm.Stabilized": "La vittima subisce -2 alle azioni effettuate con quel braccio.", + "WITCHER.CritWound.Mod.ComplexFracturedArm.Treated": "La vittima subisce -1 alle azioni effettuate con quel braccio.", + "WITCHER.CritWound.Mod.ComplexFracturedLeg.None": "La vittima subisce -3 a VEL, Eludere e Atletica.", + "WITCHER.CritWound.Mod.ComplexFracturedLeg.Stabilized": "La vittima subisce -2 a VEL, Eludere e Atletica.", + "WITCHER.CritWound.Mod.ComplexFracturedLeg.Treated": "La vittima subisce -1 a VEL, Eludere e Atletica.", + + "WITCHER.CritWound.Mod.DifficultSkullFracture.None": "La vittima subisce -1 a INT e DES e quadruplica il danno delle ferite alla testa.", + "WITCHER.CritWound.Mod.DifficultSkullFracture.Stabilized": "La vittima subisce -1 a INT e DES e quadruplica il danno delle ferite alla testa.", + "WITCHER.CritWound.Mod.DifficultSkullFracture.Treated": "La vittima subisce danni quadrupli dalle ferite alla testa.", + "WITCHER.CritWound.Mod.DifficultConcussion.None": "La vittima deve effettuare un tiro salvezza di Grinta ogni 1d6 round e subisce -2 a INT, RIF e DES.", + "WITCHER.CritWound.Mod.DifficultConcussion.Stabilized": "La vittima subisce -1 a INT, RIF e DES.", + "WITCHER.CritWound.Mod.DifficultConcussion.Treated": "La vittima subisce -1 a INT e DES.", + "WITCHER.CritWound.Mod.DifficultTornStomach.None": "La vittima subisce -2 a tutte le azioni e subisce 4 danni da acido per round.", + "WITCHER.CritWound.Mod.DifficultTornStomach.Stabilized": "La vittima subisce -2 a tutte le azioni.", + "WITCHER.CritWound.Mod.DifficultTornStomach.Treated": "La vittima subisce -1 a tutte le azioni.", + "WITCHER.CritWound.Mod.DifficultSuckingChestWound.None": "La vittima subisce -3 a FIS e VEL e inizia inoltre a soffocare.", + "WITCHER.CritWound.Mod.DifficultSuckingChestWound.Stabilized": "La vittima subisce -2 a FIS e VEL.", + "WITCHER.CritWound.Mod.DifficultSuckingChestWound.Treated": "La vittima subisce -1 a FIS e VEL.", + "WITCHER.CritWound.Mod.DifficultCompoundArmFracture.None": "Il braccio è inutilizzabile e la vittima subisce sanguinamento.", + "WITCHER.CritWound.Mod.DifficultCompoundArmFracture.Stabilized": "Il braccio è inutilizzabile.", + "WITCHER.CritWound.Mod.DifficultCompoundArmFracture.Treated": "Il braccio deve rimanere a tracolla, ma può tenere in mano qualcosa.", + "WITCHER.CritWound.Mod.DifficultCompoundLegFracture.None": "La vittima riduce a un quarto VEL, Eludere e Atletica e inoltre subisce sanguinamento.", + "WITCHER.CritWound.Mod.DifficultCompoundLegFracture.Stabilized": "La vittima dimezza VEL, Eludere e Atletica.", + "WITCHER.CritWound.Mod.DifficultCompoundLegFracture.Treated": "La vittima subisce -2 a VEL, Eludere e Atletica.", + + "WITCHER.CritWound.Mod.DeadlyDecapitated.None": "La morte è istantanea.", + "WITCHER.CritWound.Mod.DeadlyDecapitated.Stabilized": "Questa ferita non può essere stabilizzata.", + "WITCHER.CritWound.Mod.DeadlyDecapitated.Treated": "Questa ferita non può essere curata.", + "WITCHER.CritWound.Mod.DeadlyDamagedEye.None": "La vittima subisce -5 alle prove di Accortezza basate sulla vista e DES. La ferita inizia a sanguinare.", + "WITCHER.CritWound.Mod.DeadlyDamagedEye.Stabilized": "La vittima subisce -3 alle prove di Accortezza basate sulla vista e DES.", + "WITCHER.CritWound.Mod.DeadlyDamagedEye.Treated": "La vittima subisce -1 permanente alle prove di Accortezza basate sulla vista e DES.", + "WITCHER.CritWound.Mod.DeadlyHearthDamage.None": "La vittima deve effettuare immediatamente un tiro salvezza su Morte. Se sopravvive, subisce sanguinamento e riduce a un quarto i suoi valori di Resistenza, VEL e FIS.", + "WITCHER.CritWound.Mod.DeadlyHearthDamage.Stabilized": "La vittima dimezza i suoi valori di Resistenza, VEL e FIS.", + "WITCHER.CritWound.Mod.DeadlyHearthDamage.Treated": "La vittima subisce +2 danni per round ogni volta che subisce sanguinamento. La penalità è permanente.", + "WITCHER.CritWound.Mod.DeadlySepticShock.None": "Il bersaglio riduce a un quarto il suo valore di Resistenza e subisce -3 INT, VOL, RIF e DES. È avvelenato.", + "WITCHER.CritWound.Mod.DeadlySepticShock.Stabilized": "La vittima dimezza il suo valore di Resistenza e subisce -1 INT, VOL, RIF e DES.", + "WITCHER.CritWound.Mod.DeadlySepticShock.Treated": "La vittima subisce -5 permanentemente alla Resistenza.", + "WITCHER.CritWound.Mod.DeadlyDismemberedArm.None": "Il braccio è inutilizzabile e subisce sanguinamento.", + "WITCHER.CritWound.Mod.DeadlyDismemberedArm.Stabilized": "Il braccio è inutilizzabile.", + "WITCHER.CritWound.Mod.DeadlyDismemberedArm.Treated": "Il braccio può essere sostituito da una protesi.", + "WITCHER.CritWound.Mod.DeadlyDismemberedLeg.None": "La vittima riduce a un quarto VEL, Eludere e Atletica. Subisce sanguinamento.", + "WITCHER.CritWound.Mod.DeadlyDismemberedLeg.Stabilized": "La vittima riduce a un quarto VEL, Eludere e Atletica.", + "WITCHER.CritWound.Mod.DeadlyDismemberedLeg.Treated": "La gamba può essere sostituita da una protesi.", + + "WITCHER.Notes": "Note", + + "WITCHER.SkIntAwareness": "Accortezza", + "WITCHER.SkIntBusiness": "Commercio", + "WITCHER.SkIntDeduction": "Deduzione", + "WITCHER.SkIntEducation": "Istruzione", + "WITCHER.SkIntCommon": "Lingua Comune (2)", + "WITCHER.SkIntCommonLable": "Lingua Comune", + "WITCHER.SkIntElder": "Lingua Antica (2)", + "WITCHER.SkIntElderLable": "Lingua Antica", + "WITCHER.SkIntDwarven": "Nanico (2)", + "WITCHER.SkIntDwarvenLable": "Nanico", + "WITCHER.SkIntMonster": "Bestiario (2)", + "WITCHER.SkIntMonsterLable": "Bestiario", + "WITCHER.SkIntSocialEt": "Etichetta", + "WITCHER.SkIntStreet": "Scaltrezza", + "WITCHER.SkIntTactics": "Tattica (2)", + "WITCHER.SkIntTacticsLable": "Tattica", + "WITCHER.SkIntTeaching": "Insegnamento", + "WITCHER.SkIntWilderness": "Sopravvivenza", + + "WITCHER.SkRefBrawling": "Rissa", + "WITCHER.SkRefDodge": "Eludere", + "WITCHER.SkRefMelee": "Mischia", + "WITCHER.SkRefRiding": "Cavalcare", + "WITCHER.SkRefSailing": "Navigazione", + "WITCHER.SkRefSmall": "Lame Corte", + "WITCHER.SkRefStaff": "Armi in Asta", + "WITCHER.SkRefSwordmanship": "Scherma", + + "WITCHER.SkDexArchery": "Archi", + "WITCHER.SkDexAthletics": "Atletica", + "WITCHER.SkDexCrossbow": "Balestre", + "WITCHER.SkDexSleight": "Rapidità di Mano", + "WITCHER.SkDexStealth": "Nascondersi", + + "WITCHER.SkBodyPhys": "Prestanza", + "WITCHER.SkBodyEnd": "Tempra", + + "WITCHER.SkEmpCharisma": "Carisma", + "WITCHER.SkEmpDeceit": "Inganno", + "WITCHER.SkEmpArts": "Belle Arti", + "WITCHER.SkEmpGambling": "Gioco d'Azzardo", + "WITCHER.SkEmpGrooming": "Eleganza", + "WITCHER.SkEmpHumanPerc": "Sensibilità", + "WITCHER.SkEmpLeadership": "Autorità", + "WITCHER.SkEmpPersuasion": "Persuasione", + "WITCHER.SkEmpPerformance": "Esibirsi", + "WITCHER.SkEmpSeduction": "Seduzione", + + "WITCHER.SkCraAlchemy": "Alchimia (2)", + "WITCHER.SkCraAlchemyLable": "Alchimia", + "WITCHER.SkCraCrafting": "Manifattura (2)", + "WITCHER.SkCraCraftingLable": "Manifattura", + "WITCHER.SkCraDisguise": "Cammuffare", + "WITCHER.SkCraAid": "Pronto Soccorso", + "WITCHER.SkCraForge": "Falsificare", + "WITCHER.SkCraPick": "Scassinare", + "WITCHER.SkCraTrapCraft": "Costruire Trappole (2)", + "WITCHER.SkCraTrapCraftLable": "Costruire Trappole", + + "WITCHER.SkWillCourage": "Coraggio", + "WITCHER.SkWillHex": "Intessere Fatture (2)", + "WITCHER.SkWillHexLable": "Intessere Fatture", + "WITCHER.SkWillIntim": "Intimidire", + "WITCHER.SkWillSpellcast": "Lanciare Incantesimi (2)", + "WITCHER.SkWillSpellcastLable": "Lanciare Incantesimi", + "WITCHER.SkWillResistMag": "Resistere alla Magia (2)", + "WITCHER.SkWillResistMagLable": "Resistere alla Magia", + "WITCHER.SkWillResistCoer": "Resistere a Coercizione", + "WITCHER.SkWillRitCraft": "Officiare Rituali (2)", + "WITCHER.SkWillRitCraftLable": "Officiare Rituali", + + + "WITCHER.Actor.ImprovementPoints": "Punti Incremento", + "WITCHER.Actor.CurrentIP":"PI attuali:", + "WITCHER.Actor.SkillName": "Nome Abilità...", + "WITCHER.ACtor.TotalSkill": "Totale Abilità", + "WITCHER.ACtor.TotalProfSkill": "Totale Abilità Professionali", + + "WITCHER.SocialStanding": "Posizione Sociale", + "WITCHER.Profession": "Professione", + "WITCHER.Reputation": "Reputazione", + "WITCHER.Homeland": "Terra Natale", + "WITCHER.Value": "Principio Morale", + "WITCHER.ValuedPerson": "Persona Stimata", + "WITCHER.Affectations": "Affetti", + "WITCHER.Hair": "Capelli", + "WITCHER.Personality": "Personalità", + "WITCHER.Clothing": "Abiti", + "WITCHER.FeelingsOnPeople": "Sentimenti verso gli Altri", + "WITCHER.LifeEvents": "Eventi Passati", + "WITCHER.Decade": "Decade", + "WITCHER.Event": "Evento", + "WITCHER.DeathSave": "Tiro Salvezza GRI/Morte", + + "WITCHER.Crit": "Critico", + "WITCHER.Fumble": "Disastro", + + "WITCHER.table.Quantity": "Qtà", + "WITCHER.table.Range": "Gittata", + "WITCHER.table.Damage": "Danno", + "WITCHER.table.Reliability": "Aff.", + "WITCHER.table.Name": "Nome", + + "WITCHER.table.StoppingPower": "PR", + "WITCHER.table.ResBludgeon": "C", + "WITCHER.table.ResSlashing": "T", + "WITCHER.table.ResPiercing": "P", + "WITCHER.table.Equipped": "Eq", + + "WITCHER.Monster.HeadArmor": "Armatura Testa", + "WITCHER.Monster.UpperArmor": "Armatura Superiore", + "WITCHER.Monster.LowerArmor": "Armor Inferiore", + "WITCHER.Monster.CustomHP/STA": "PS/RES Personalizzati", + + "WITCHER.Monster.Easy": "Facile", + "WITCHER.Monster.Normal": "Medio", + "WITCHER.Monster.Hard": "Difficile", + "WITCHER.Monster.Simple": "Semplice", + "WITCHER.Monster.Complex": "Complesso", + "WITCHER.Monster.Difficult": "Arduo", + + "WITCHER.Monster.Type.Lable": "Tipologia", + "WITCHER.Monster.Difficulty": "Difficoltà", + "WITCHER.Monster.Complexity": "Complessità", + "WITCHER.Monster.Bounty": "Ricompensa", + + "WITCHER.Monster.Height": "Altezza", + "WITCHER.Monster.Weight": "Peso", + "WITCHER.Monster.Environment": "Ambiente", + "WITCHER.Monster.Intelligence": "Intelligenza", + "WITCHER.Monster.Organization": "Organizzazione", + + "WITCHER.Monster.CommonerSupperstition": "Superstizione Comune: Istruzione CD: ", + "WITCHER.Monster.WitcherKnowledge": "Conoscenza dei Witcher: Bestiario CD: ", + + "WITCHER.Monster.SkillTab": "Abilità", + "WITCHER.Monster.InventryTab": "Attacchi/Bottino", + "WITCHER.Monster.DetailsTab": "Dettagli", + "WITCHER.Monster.SpellsTab": "Capacità", + + "WITCHER.Monster.Type.Humanoid": "Umanoide", + "WITCHER.Monster.Type.Necrophage": "Necrofago", + "WITCHER.Monster.Type.Specter": "Spettro", + "WITCHER.Monster.Type.Beast": "Bestia", + "WITCHER.Monster.Type.CursedOne": "Creatura Maledetta", + "WITCHER.Monster.Type.Hybrid": "Ibrido", + "WITCHER.Monster.Type.Insectoid": "Insettoide", + "WITCHER.Monster.Type.Elementa": "Costrutto", + "WITCHER.Monster.Type.Relict": "Creatura Ancestrale", + "WITCHER.Monster.Type.Ogroid": "Orco", + "WITCHER.Monster.Type.Draconid": "Dragonide", + "WITCHER.Monster.Type.Vampire": "Vampiro", + + "WITCHER.Monster.Resistances": "Resistenze", + "WITCHER.Monster.Immunities": "Immunità", + "WITCHER.Monster.Susceptibilities": "Vulnerabilità", + "WITCHER.Monster.Senses": "Sensi", + + "WITCHER.Loot.TotalWeight": "Peso Totale", + "WITCHER.Loot.TotalCost": "Costo Totale", + "WITCHER.Loot.Weapons": "Armi", + "WITCHER.Loot.Armors": "Armature", + "WITCHER.Loot.Valuables": "Tesori", + "WITCHER.Loot.Diagrams": "Schemi", + "WITCHER.Loot.Components": "Componenti", + + "WITCHER.Inventory.Armor": "Armatura Equipaggiata", + "WITCHER.Inventory.Weapons": "Armi Equipaggiate", + "WITCHER.Inventory.Valuables": "Tesori", + "WITCHER.Inventory.Substances": "Sostanze", + "WITCHER.Inventory.Components": "Componenti", + "WITCHER.Inventory.Diagrams": "Schemi & Formule", + + "WITCHER.Inventory.Substance": "Sostanza", + + "WITCHER.Inventory.Vitriol": "Vetriolo", + "WITCHER.Inventory.Rebis": "Rebis", + "WITCHER.Inventory.Aether": "Etere", + "WITCHER.Inventory.Quebrith": "Quebrith", + "WITCHER.Inventory.Hydragenum": "Hydragenum", + "WITCHER.Inventory.Vermilion": "Vermiglio", + "WITCHER.Inventory.Sol": "Sol", + "WITCHER.Inventory.Caelum": "Caelum", + "WITCHER.Inventory.Fulgur": "Fulgur", + + "WITCHER.Button.Cancel": "Annulla", + "WITCHER.Button.Continue": "Continua", + + "WITCHER.Spell.type": "Tipo", + "WITCHER.Spell.Spells": "Incantesimi", + "WITCHER.Spell.Invocations": "Invocazioni", + "WITCHER.Spell.Witcher": "Segni da Witcher", + "WITCHER.Spell.Rituals": "Rituali", + "WITCHER.Spell.Hexes": "Fatture", + "WITCHER.Spell.Danger": "Pericolosità", + "WITCHER.Spell.DangerLow": "Bassa", + "WITCHER.Spell.DangerMedium": "Media", + "WITCHER.Spell.DangerHigh": "Alta", + "WITCHER.Spell.Novice": "Novizio", + "WITCHER.Spell.Journeyman": "Esperto", + "WITCHER.Spell.Master": "Maestro", + "WITCHER.Spell.Mixed": "Elemento Misto", + "WITCHER.Spell.Earth": "Terra", + "WITCHER.Spell.Air": "Aria", + "WITCHER.Spell.Fire": "Fuoco", + "WITCHER.Spell.Water": "Acqua", + "WITCHER.Spell.Druid": "Druido", + "WITCHER.Spell.Preacher": "Predicatore", + "WITCHER.Spell.Archpriest": "Arciprete", + "WITCHER.Spell.Basic": "Segno Fondamentale", + "WITCHER.Spell.Alt": "Segni Alternativi", + "WITCHER.Spell.Duration": "Durata", + "WITCHER.Spell.Range": "Portata", + "WITCHER.Spell.Defence": "Difese", + "WITCHER.Spell.PrepTime": "Tempo di Preparazione", + "WITCHER.Spell.DC": "Difficoltà della Prova", + "WITCHER.Spell.Components": "Componenti", + "WITCHER.Spell.Requirements": "Occorrente per Toglierla", + "WITCHER.Spell.Effect": "Effetto", + "WITCHER.Spell.AlternateComponents": "Componenti Alternativi", + "WITCHER.SPell.Signs": "Segni", + + "WITCHER.Spell.StaCost": "Costo in RES", + "WITCHER.Spell.Variable": "RES Variabile", + + "WITCHER.Spell.staminaDialog": "Quanta RES vuoi usare?", + "WITCHER.Spell.notEnoughSta": "Resistenza insufficiente.", + "WITCHER.Spell.MagicCost": "Costo Magia", + + "WITCHER.Chat.SaveText": "Per avere successo devi tirare sotto", + + "WITCHER.Dialog.Crafting": "Creando", + "WITCHER.Dialog.AlchemyTitle": "Effettuando un'azione di Alchimia", + "WITCHER.Dialog.ButtonCraft": "Crea", + "WITCHER.Dialog.CraftingAlchemycal": "Creando un prodotto alchemico", + + "WITCHER.Dialog.ButtonDodge": "Schivare", + "WITCHER.Dialog.ButtonReposition": "Riposizionarsi", + "WITCHER.Dialog.ButtonParry": "Parare", + "WITCHER.Dialog.ButtonBlock": "Bloccare", + "WITCHER.Dialog.ButtonParryThrown": "Parare arma da lancio", + "WITCHER.Dialog.Defense": "Difesa", + "WITCHER.Dialog.DefenseExtra": "Difesa Extra", + "WITCHER.Dialog.DefenseWith": "Difesa con", + "WITCHER.Dialog.DefenseTitle": "Effettuando un'azione di difesa", + + "WITCHER.Dialog.attack": "Casuale (Umanoide)", + + "WITCHER.Dialog.attackRandomHuman": "Casuale (Umanoide)", + "WITCHER.Dialog.attackRandomMonster": "Casuale (Mostro)", + "WITCHER.Dialog.attackHead": "Testa", + "WITCHER.Dialog.attackTorso": "Torso", + "WITCHER.Dialog.attackArm": "Braccio", + "WITCHER.Dialog.attackLeg": "Gamba", + "WITCHER.Dialog.attackLimb": "Arto", + "WITCHER.Dialog.attackTail": "Coda/Ala", + + "WITCHER.Dialog.attackOutsideLOS": "Fuori dalla Linea di Vista nemica", + "WITCHER.Dialog.attackisFastDraw": "Estrazione Rapida", + "WITCHER.Dialog.attackisProne": "Sei prono", + "WITCHER.Dialog.attackisPinned": "Bersaglio Immobilizzato", + "WITCHER.Dialog.attackisActivelyDodging": "Il bersaglio Schiva Attivamente", + "WITCHER.Dialog.attackisMoving": "Il bersaglio si muove e ha RIF > 10", + "WITCHER.Dialog.attacktargetOutsideLOS": "Il bersaglio è fuori dalla tua Linea di Vista", + "WITCHER.Dialog.attackisAmbush": "Agguato", + "WITCHER.Dialog.attackisRicochet": "Colpo di Rimbalzo", + "WITCHER.Dialog.attackisBlinded": "Sei accecato", + "WITCHER.Dialog.attackisSilhouetted": "Controluce", + "WITCHER.Dialog.attackisAiming": "Round di Mira", + + "WITCHER.Dialog.sizeMedium": "Media", + "WITCHER.Dialog.sizeSmall": "Piccola", + "WITCHER.Dialog.sizeLarge": "Grande", + "WITCHER.Dialog.sizeHuge": "Enorme", + + "WITCHER.Dialog.rangeNone": "Nessuna", + "WITCHER.Dialog.rangePointBlank": "Vicina", + "WITCHER.Dialog.rangeClose": "Corta", + "WITCHER.Dialog.rangeMedium": "Media", + "WITCHER.Dialog.rangeLong": "Lunga", + "WITCHER.Dialog.rangeExtreme": "Estrema", + + "WITCHER.Dialog.strikeNormal": "Colpo Normale", + "WITCHER.Dialog.strikeFast": "Colpo Rapido", + "WITCHER.Dialog.strikeStrong": "Colpo Potente", + "WITCHER.Dialog.strikeJoint": "Colpo Coordinato", + + "WITCHER.Dialog.attackUse": "L'attacco userà", + "WITCHER.Dialog.attackExtra": "Attacco Extra", + "WITCHER.Dialog.attackLocation": "Localizzazione del Danno", + "WITCHER.Dialog.attackModifierse": "Modificatori d'Attacco", + "WITCHER.Dialog.attackSize": "Modificatori di Taglia nemici", + "WITCHER.Dialog.attackRange": "Modificatori di Gittata", + "WITCHER.Dialog.attackCustom": "Modificatori Personalizzati", + "WITCHER.Dialog.attackStrike": "Tipo di Colpo", + "WITCHER.Dialog.attackDamage": "danno", + "WITCHER.Dialog.attackMeleeBonus": "Danno bonus in Mischia", + "WITCHER.Dialog.attackCustomDmg": "Modificatori di Danno Personalizzati", + "WITCHER.Dialog.attackWith": "Effettuando un Attacco con", + + "WITCHER.Dialog.chooseAmmunition": "Scegli Munizioni", + "WITCHER.Dialog.NoAmmunation": "Munizioni esaurite", + "WITCHER.Dialog.Ammunation": "Munizioni", + + "WITCHER.Dialog.ButtonRoll": "Tira", + + "WITCHER.Chat.FullDmg": "Danno pieno", + + "WITCHER.Enhancement.ChooseTitle": "Scegli un Potenziamento", + "WITCHER.Enhancement.NoEnhancement": "Nessun Potenziamento disponibile", + "WITCHER.Dialog.Enhancement": "Potenziamento", + "WITCHER.Dialog.Apply": "Applica", + + "WITCHER.Weapon.Broken": "La tua arma si è rotta", + "WITCHER.Shield.Broken": "Il tuo scudo si è rotto", + "WITCHER.Settings.Adrenaline": "Utilizzare Regola Opzionale dell'Adrenalina", + "WITCHER.Settings.AdrenalineDetails": "L’adrenalina è la volontà di proseguire e combattere con più forza quando si è in cattive acque.", + + "WITCHER.Dialog.Skill" : "Effettuando una Prova di Abilità", + "WITCHER.Chat.Success" : "Successo", + "WITCHER.Chat.Fail" : "Fallimento", + + "WITCHER.Currency.bizant" : "Bisante", + "WITCHER.Currency.ducat" : "Ducato", + "WITCHER.Currency.lintar" : "Lintar", + "WITCHER.Currency.floren" : "Fiorino", + "WITCHER.Currency.crown" : "Corona", + "WITCHER.Currency.oren" : "Oren", + "WITCHER.Currency.falsecoin" : "Moneta Falsa", + + "WITCHER.background.activeEffect" : "Effetti Attivi", + + "WITCHER.Spell.CreateTemplate": "Crea un Template", + "WITCHER.Spell.meters": "m", + "WITCHER.Spell.Size" : "Taglia", + "WITCHER.Spell.Type" : "Tipo", + "WITCHER.Spell.Square": "Quadrato", + "WITCHER.Spell.Circle": "Cerchio", + "WITCHER.Spell.Cone": "Cono", + "WITCHER.Spell.Ray": "Raggio" +} \ No newline at end of file From dfd5e160f64f87a2c26ac5aa0638c1e6b77109b2 Mon Sep 17 00:00:00 2001 From: Antho Date: Thu, 7 Oct 2021 13:47:04 -0400 Subject: [PATCH 3/3] Active Effect now can divide, verify Sta, spell Crit/fumble --- README.md | 17 +-- module/sheets/WitcherActorSheet.js | 92 ++++++++++++---- module/witcher.js | 166 ++++++++++++++++++++--------- system.json | 7 +- 4 files changed, 205 insertions(+), 77 deletions(-) diff --git a/README.md b/README.md index 80e9ce2c..fd1c28ab 100644 --- a/README.md +++ b/README.md @@ -4,21 +4,22 @@ This Sheet represent a Player character with all of it's stats ### Skill Tab ### -This tabs allows you to roll skills and keep track of your improvement Points +This tabs allows you to roll skills and keep track of your improvement Points. +There is a color code for the skill to easily discernate the trained skills (Red) and those who are not(Brown). + ### Race and Profession Tab ### This tab is used to handle the race and profession. -It allows you to roll the professions skills. +It allows you to roll the professions skills by clicking on the dice of a profession skill. You can create Items of type Race and/or profession To drag and drop in the caracter sheet. + ### Inventory Tab ### This tab is used to organize different sort of items that the character is carrying. -You can see the total carrying weight -Weapons -Armor -Valuables -Substances and Components -Diagrams +At the top left there is a section for the currency. In the weapon section you have the weapons. +By clicking on the name of a weapon it launches an attack with this specific weapons and will use the specified skill to make the attack. +After you have the armor section, which will help you to easily keep track you your stopping power and resistances. B, S, P, stand for resistance to Blundgeoning damage, Slashing damage and perforring damage. When an armor is equipped, if it contains an encumbrance value it will automaticly subtract it to your REf and DEX. +At the bottom of the sheet you can see the total carrying weight ### Magic Tab ### This tab is used to organize your Spell, invocations, witcher signs, rituals and hexes. diff --git a/module/sheets/WitcherActorSheet.js b/module/sheets/WitcherActorSheet.js index fe4302ea..f98a0bf3 100644 --- a/module/sheets/WitcherActorSheet.js +++ b/module/sheets/WitcherActorSheet.js @@ -302,7 +302,9 @@ export default class WitcherActorSheet extends ActorSheet { if (previousActor) { previousActor.deleteOwnedItem(dragData.item._id) } - this.actor.createEmbeddedDocuments("Item", [dragData.item]); + if (dragData.item.data.quantity != 0) { + this.actor.createEmbeddedDocuments("Item", [dragData.item]); + } } else { super._onDrop(event, data); } @@ -866,23 +868,41 @@ export default class WitcherActorSheet extends ActorSheet { break; } let staCostTotal = spellItem.data.data.stamina; + let customModifier = 0; + let isExtraAttack = false + let content = `
` if (spellItem.data.data.staminaIsVar){ - const content = `${game.i18n.localize("WITCHER.Spell.staminaDialog")}`; - let cancel = true - let dialogData = { - buttons : [[`${game.i18n.localize("WITCHER.Button.Cancel")}`, ()=>{}], - [`${game.i18n.localize("WITCHER.Button.Continue")}`, (html)=>{ - let sta = html.find("[name=staCost]")[0].value; - staCostTotal = sta - cancel = false - } ]], - title : game.i18n.localize("WITCHER.Spell.MagicCost"), - content : content - } - await buttonDialog(dialogData) - if (cancel) { - return + content = `${game.i18n.localize("WITCHER.Spell.staminaDialog")}
` + } + content += `
`; + let cancel = true + let dialogData = { + buttons : [ + [`${game.i18n.localize("WITCHER.Button.Continue")}`, (html)=>{ + + if (spellItem.data.data.staminaIsVar){ + staCostTotal = html.find("[name=staCost]")[0].value; + } + customModifier = html.find("[name=customMod]")[0].value; + isExtraAttack = html.find("[name=isExtraAttack]").prop("checked"); + cancel = false + } ]], + title : game.i18n.localize("WITCHER.Spell.MagicCost"), + content : content + } + await buttonDialog(dialogData) + if (cancel) { + return + } + let newSta = this.actor.data.data.derivedStats.sta.value + if (isExtraAttack) { + newSta -= 3 + if (newSta < 0) { + return ui.notifications.error(game.i18n.localize("WITCHER.Spell.notEnoughSta")); } + this.actor.update({ + 'data.derivedStats.sta.value': newSta + }); } let staCostdisplay = staCostTotal; let staFocus = 0 @@ -895,7 +915,7 @@ export default class WitcherActorSheet extends ActorSheet { staCostTotal = 0 } - let newSta = this.actor.data.data.derivedStats.sta.value - staCostTotal + newSta -= staCostTotal if (newSta < 0) { return ui.notifications.error(game.i18n.localize("WITCHER.Spell.notEnoughSta")); } @@ -904,7 +924,9 @@ export default class WitcherActorSheet extends ActorSheet { 'data.derivedStats.sta.value': newSta }); staCostdisplay += `-${staFocus}[Focus]` - + + if (customModifier < 0){formula += `${customModifier}`} + if (customModifier > 0){formula += `+${customModifier}`} let rollResult = new Roll(formula).roll() let messageData = {flavor:`

${spellItem.name}

${game.i18n.localize("WITCHER.Spell.StaCost")}: ${staCostdisplay}
@@ -933,6 +955,14 @@ export default class WitcherActorSheet extends ActorSheet { if (spellItem.data.data.liftRequirement) { messageData.flavor += `
${game.i18n.localize("WITCHER.Spell.Requirements")}: ${spellItem.data.data.liftRequirement}
` } + + if (rollResult.dice[0].results[0].result == 10){ + messageData.flavor += `
${game.i18n.localize("WITCHER.Crit")}
` + } + else if(rollResult.dice[0].results[0].result == 1) { + messageData.flavor += `
${game.i18n.localize("WITCHER.Fumble")}
` + } + rollResult.toMessage(messageData) let token = this.actor.token; @@ -1061,7 +1091,8 @@ export default class WitcherActorSheet extends ActorSheet {

- `; + +
`; let messageData = { speaker: {alias: this.actor.name}, @@ -1076,8 +1107,12 @@ export default class WitcherActorSheet extends ActorSheet { label: `${game.i18n.localize("WITCHER.Dialog.ButtonDodge")}`, callback: (html) => { let isExtraDefense = html.find("[name=isExtraDefense]").prop("checked"); + let customDef = html.find("[name=customDef]")[0].value; if (isExtraDefense) { let newSta = this.actor.data.data.derivedStats.sta.value - 1 + if (newSta < 0) { + return ui.notifications.error(game.i18n.localize("WITCHER.Spell.notEnoughSta")); + } this.actor.update({ 'data.derivedStats.sta.value': newSta }); @@ -1087,6 +1122,9 @@ export default class WitcherActorSheet extends ActorSheet { let displayFormula = `1d10 + Ref + ${game.i18n.localize("WITCHER.SkRefDodge")}`; messageData.flavor = `

${game.i18n.localize("WITCHER.Dialog.Defense")}: ${game.i18n.localize("WITCHER.Dialog.ButtonDodge")}

${displayFormula}

`; let rollFormula = `1d10+${stat}+${skill}`; + if (customDef != "0") { + rollFormula += "+"+customDef; + } let roll = new Roll(rollFormula).roll() if (roll.dice[0].results[0].result == 10){ messageData.flavor += `
${game.i18n.localize("WITCHER.Crit")}
`; @@ -1103,6 +1141,9 @@ export default class WitcherActorSheet extends ActorSheet { let isExtraDefense = html.find("[name=isExtraDefense]").prop("checked"); if (isExtraDefense) { let newSta = this.actor.data.data.derivedStats.sta.value - 1 + if (newSta < 0) { + return ui.notifications.error(game.i18n.localize("WITCHER.Spell.notEnoughSta")); + } this.actor.update({ 'data.derivedStats.sta.value': newSta }); @@ -1128,6 +1169,9 @@ export default class WitcherActorSheet extends ActorSheet { let isExtraDefense = html.find("[name=isExtraDefense]").prop("checked"); if (isExtraDefense) { let newSta = this.actor.data.data.derivedStats.sta.value - 1 + if (newSta < 0) { + return ui.notifications.error(game.i18n.localize("WITCHER.Spell.notEnoughSta")); + } this.actor.update({ 'data.derivedStats.sta.value': newSta }); @@ -1195,6 +1239,9 @@ export default class WitcherActorSheet extends ActorSheet { let isExtraDefense = html.find("[name=isExtraDefense]").prop("checked"); if (isExtraDefense) { let newSta = this.actor.data.data.derivedStats.sta.value - 1 + if (newSta < 0) { + return ui.notifications.error(game.i18n.localize("WITCHER.Spell.notEnoughSta")); + } this.actor.update({ 'data.derivedStats.sta.value': newSta }); @@ -1244,6 +1291,9 @@ export default class WitcherActorSheet extends ActorSheet { let isExtraDefense = html.find("[name=isExtraDefense]").prop("checked"); if (isExtraDefense) { let newSta = this.actor.data.data.derivedStats.sta.value - 1 + if (newSta < 0) { + return ui.notifications.error(game.i18n.localize("WITCHER.Spell.notEnoughSta")); + } this.actor.update({ 'data.derivedStats.sta.value': newSta }); @@ -1540,6 +1590,10 @@ export default class WitcherActorSheet extends ActorSheet { if (isExtraAttack) { let newSta = this.actor.data.data.derivedStats.sta.value - 3 + + if (newSta < 0) { + return ui.notifications.error(game.i18n.localize("WITCHER.Spell.notEnoughSta")); + } this.actor.update({ 'data.derivedStats.sta.value': newSta }); diff --git a/module/witcher.js b/module/witcher.js index 2f8d2885..a7ca181a 100644 --- a/module/witcher.js +++ b/module/witcher.js @@ -26,6 +26,15 @@ function updateDerived(actor){ let craTotalModifiers = 0; let willTotalModifiers = 0; let luckTotalModifiers = 0; + let intDivider = 1; + let refDivider = 1; + let dexDivider = 1; + let bodyDivider = 1; + let spdDivider = 1; + let empDivider = 1; + let craDivider = 1; + let willDivider = 1; + let luckDivider = 1; thisActor.data.data.stats.int.modifiers.forEach(item => intTotalModifiers += Number(item.value)); thisActor.data.data.stats.ref.modifiers.forEach(item => refTotalModifiers += Number(item.value)); thisActor.data.data.stats.dex.modifiers.forEach(item => dexTotalModifiers += Number(item.value)); @@ -40,15 +49,42 @@ function updateDerived(actor){ activeEffects.forEach(item => item.data.data.stats.forEach(stat => { switch(stat.stat){ - case "WITCHER.Actor.Stat.Int": intTotalModifiers += Number(stat.modifier); break; - case "WITCHER.Actor.Stat.Ref": refTotalModifiers += Number(stat.modifier); break; - case "WITCHER.Actor.Stat.Dex": dexTotalModifiers += Number(stat.modifier); break; - case "WITCHER.Actor.Stat.Body": bodyTotalModifiers += Number(stat.modifier); break; - case "WITCHER.Actor.Stat.Spd": spdTotalModifiers += Number(stat.modifier); break; - case "WITCHER.Actor.Stat.Emp": empTotalModifiers += Number(stat.modifier); break; - case "WITCHER.Actor.Stat.Cra": craTotalModifiers += Number(stat.modifier); break; - case "WITCHER.Actor.Stat.Will": willTotalModifiers += Number(stat.modifier); break; - case "WITCHER.Actor.Stat.Luck": luckTotalModifiers += Number(stat.modifier); break; + case "WITCHER.Actor.Stat.Int": + if (stat.modifier.includes("/")){intDivider = Number(stat.modifier.replace("/", ''));} + else {intTotalModifiers += Number(stat.modifier)} + break; + case "WITCHER.Actor.Stat.Ref": + if (stat.modifier.includes("/")){refDivider = Number(stat.modifier.replace("/", ''));} + else {refTotalModifiers += Number(stat.modifier)} + break; + case "WITCHER.Actor.Stat.Dex": + if (stat.modifier.includes("/")){dexDivider = Number(stat.modifier.replace("/", ''));} + else {dexTotalModifiers += Number(stat.modifier)} + break; + case "WITCHER.Actor.Stat.Body": + if (stat.modifier.includes("/")){bodyDivider = Number(stat.modifier.replace("/", ''));} + else {bodyTotalModifiers += Number(stat.modifier)} + break; + case "WITCHER.Actor.Stat.Spd": + if (stat.modifier.includes("/")){spdDivider = Number(stat.modifier.replace("/", ''));} + else {spdTotalModifiers += Number(stat.modifier)} + break; + case "WITCHER.Actor.Stat.Emp": + if (stat.modifier.includes("/")){empDivider = Number(stat.modifier.replace("/", ''));} + else {empTotalModifiers += Number(stat.modifier)} + break; + case "WITCHER.Actor.Stat.Cra": + if (stat.modifier.includes("/")){craDivider = Number(stat.modifier.replace("/", ''));} + else {craTotalModifiers += Number(stat.modifier)} + break; + case "WITCHER.Actor.Stat.Will": + if (stat.modifier.includes("/")){willDivider = Number(stat.modifier.replace("/", ''));} + else {willTotalModifiers += Number(stat.modifier)} + break; + case "WITCHER.Actor.Stat.Luck": + if (stat.modifier.includes("/")){luckDivider = Number(stat.modifier.replace("/", ''));} + else {luckTotalModifiers += Number(stat.modifier)} + break; } })); @@ -58,6 +94,12 @@ function updateDerived(actor){ let encTotalModifiers = 0; let recTotalModifiers = 0; let wtTotalModifiers = 0; + let stunDivider = 1; + let runDivider = 1; + let leapDivider = 1; + let encDivider = 1; + let recDivider = 1; + let wtDivider= 1; thisActor.data.data.coreStats.stun.modifiers.forEach(item => stunTotalModifiers += Number(item.value)); thisActor.data.data.coreStats.run.modifiers.forEach(item => runTotalModifiers += Number(item.value)); thisActor.data.data.coreStats.leap.modifiers.forEach(item => leapTotalModifiers += Number(item.value)); @@ -78,52 +120,71 @@ function updateDerived(actor){ activeEffects.forEach(item => item.data.data.derived.forEach(derived => { switch(derived.derivedStat){ - case "WITCHER.Actor.CoreStat.Stun": stunTotalModifiers += Number(derived.modifier); break; - case "WITCHER.Actor.CoreStat.Run": runTotalModifiers += Number(derived.modifier); break; - case "WITCHER.Actor.CoreStat.Leap": leapTotalModifiers += Number(derived.modifier); break; - case "WITCHER.Actor.CoreStat.Enc": encTotalModifiers += Number(derived.modifier); break; - case "WITCHER.Actor.CoreStat.Rec": recTotalModifiers += Number(derived.modifier); break; - case "WITCHER.Actor.CoreStat.woundTreshold": wtTotalModifiers += Number(derived.modifier); break; + case "WITCHER.Actor.CoreStat.Stun": + if (derived.modifier.includes("/")){stunDivider = Number(derived.modifier.replace("/", ''));} + else {stunTotalModifiers += Number(derived.modifier)} + break; + case "WITCHER.Actor.CoreStat.Run": + if (derived.modifier.includes("/")){runDivider = Number(derived.modifier.replace("/", ''));} + else {runTotalModifiers += Number(derived.modifier)} + break; + case "WITCHER.Actor.CoreStat.Leap": + if (derived.modifier.includes("/")){leapDivider = Number(derived.modifier.replace("/", ''));} + else {leapTotalModifiers += Number(derived.modifier)} + break; + case "WITCHER.Actor.CoreStat.Enc": + if (derived.modifier.includes("/")){encDivider = Number(derived.modifier.replace("/", ''));} + else {encTotalModifiers += Number(derived.modifier)} + break; + case "WITCHER.Actor.CoreStat.Rec": + if (derived.modifier.includes("/")){recDivider = Number(derived.modifier.replace("/", ''));} + else {recTotalModifiers += Number(derived.modifier)} + break; + case "WITCHER.Actor.CoreStat.woundTreshold": + if (derived.modifier.includes("/")){wtDivider = Number(derived.modifier.replace("/", ''));} + else {wtTotalModifiers += Number(derived.modifier)} + break; } })); - - let curInt = thisActor.data.data.stats.int.max + intTotalModifiers; - let curRef = thisActor.data.data.stats.ref.max + refTotalModifiers - armorEnc - encDiff; - let curDex = thisActor.data.data.stats.dex.max + dexTotalModifiers - armorEnc - encDiff; - let curBody = thisActor.data.data.stats.body.max + bodyTotalModifiers; - let curSpd = thisActor.data.data.stats.spd.max + spdTotalModifiers - encDiff; - let curEmp = thisActor.data.data.stats.emp.max + empTotalModifiers; - let curCra = thisActor.data.data.stats.cra.max + craTotalModifiers; - let curWill = thisActor.data.data.stats.will.max + willTotalModifiers; - let curLuck = thisActor.data.data.stats.luck.max + luckTotalModifiers; + let curInt = Math.floor((thisActor.data.data.stats.int.max + intTotalModifiers) / intDivider); + let curRef = Math.floor((thisActor.data.data.stats.ref.max + refTotalModifiers - armorEnc - encDiff) / refDivider); + let curDex = Math.floor((thisActor.data.data.stats.dex.max + dexTotalModifiers - armorEnc - encDiff) / dexDivider); + let curBody = Math.floor((thisActor.data.data.stats.body.max + bodyTotalModifiers) / bodyDivider); + let curSpd = Math.floor((thisActor.data.data.stats.spd.max + spdTotalModifiers - encDiff) / spdDivider); + let curEmp = Math.floor((thisActor.data.data.stats.emp.max + empTotalModifiers) / empDivider); + let curCra = Math.floor((thisActor.data.data.stats.cra.max + craTotalModifiers) / craDivider); + let curWill = Math.floor((thisActor.data.data.stats.will.max + willTotalModifiers) / willDivider); + let curLuck = Math.floor((thisActor.data.data.stats.luck.max + luckTotalModifiers) / luckDivider); let isDead = false; let isWounded = false; let HPvalue = thisActor.data.data.derivedStats.hp.value; if (HPvalue <= 0) { isDead = true - curInt = Math.floor((thisActor.data.data.stats.int.max + intTotalModifiers)/3) - curRef =Math.floor(( thisActor.data.data.stats.ref.max + refTotalModifiers)/3) - curDex = Math.floor((thisActor.data.data.stats.dex.max + dexTotalModifiers)/3) - curBody = Math.floor((thisActor.data.data.stats.body.max + bodyTotalModifiers)/3) - curSpd = Math.floor((thisActor.data.data.stats.spd.max + spdTotalModifiers)/3) - curEmp = Math.floor((thisActor.data.data.stats.emp.max + empTotalModifiers)/3) - curCra = Math.floor((thisActor.data.data.stats.cra.max + craTotalModifiers)/3) - curWill = Math.floor((thisActor.data.data.stats.will.max + willTotalModifiers)/3) - curLuck = Math.floor((thisActor.data.data.stats.luck.max + luckTotalModifiers)/3) + curInt = Math.floor((thisActor.data.data.stats.int.max + intTotalModifiers)/3/intDivider) + curRef =Math.floor(( thisActor.data.data.stats.ref.max + refTotalModifiers - armorEnc - encDiff)/3/dexDivider) + curDex = Math.floor((thisActor.data.data.stats.dex.max + dexTotalModifiers - armorEnc - encDiff)/3/refDivider) + curBody = Math.floor((thisActor.data.data.stats.body.max + bodyTotalModifiers)/3/bodyDivider) + curSpd = Math.floor((thisActor.data.data.stats.spd.max + spdTotalModifiers - encDiff)/3/spdDivider) + curEmp = Math.floor((thisActor.data.data.stats.emp.max + empTotalModifiers)/3/empDivider) + curCra = Math.floor((thisActor.data.data.stats.cra.max + craTotalModifiers)/3/craDivider) + curWill = Math.floor((thisActor.data.data.stats.will.max + willTotalModifiers)/3/willDivider) + curLuck = Math.floor((thisActor.data.data.stats.luck.max + luckTotalModifiers)/3/luckDivider) } else if (HPvalue < thisActor.data.data.coreStats.woundTreshold.current > 0) { isWounded = true - curRef = Math.floor((thisActor.data.data.stats.ref.max + refTotalModifiers)/2) - curDex = Math.floor((thisActor.data.data.stats.dex.max + dexTotalModifiers)/2) - curInt = Math.floor((thisActor.data.data.stats.int.max + intTotalModifiers)/2) - curWill = Math.floor((thisActor.data.data.stats.will.max + willTotalModifiers)/2) + curRef = Math.floor((thisActor.data.data.stats.ref.max + refTotalModifiers - armorEnc - encDiff)/2/refDivider) + curDex = Math.floor((thisActor.data.data.stats.dex.max + dexTotalModifiers - armorEnc - encDiff)/2/dexDivider) + curInt = Math.floor((thisActor.data.data.stats.int.max + intTotalModifiers)/2/intDivider) + curWill = Math.floor((thisActor.data.data.stats.will.max + willTotalModifiers)/2/willDivider) } let hpTotalModifiers = 0; let staTotalModifiers = 0; let resTotalModifiers = 0; let focusTotalModifiers = 0; + let hpDivider = 1; + let staDivider = 1; thisActor.data.data.derivedStats.hp.modifiers.forEach(item => hpTotalModifiers += Number(item.value)); thisActor.data.data.derivedStats.sta.modifiers.forEach(item => staTotalModifiers += Number(item.value)); thisActor.data.data.derivedStats.resolve.modifiers.forEach(item => resTotalModifiers += Number(item.value)); @@ -131,8 +192,14 @@ function updateDerived(actor){ activeEffects.forEach(item => item.data.data.derived.forEach(derived => { switch(derived.derivedStat){ - case "WITCHER.Actor.DerStat.HP": hpTotalModifiers += Number(derived.modifier); break; - case "WITCHER.Actor.DerStat.Sta": staTotalModifiers += Number(derived.modifier); break; + case "WITCHER.Actor.DerStat.HP": + if (derived.modifier.includes("/")){hpDivider = Number(derived.modifier.replace("/", ''));} + else {hpTotalModifiers += Number(derived.modifier)} + break; + case "WITCHER.Actor.DerStat.Sta": + if (derived.modifier.includes("/")){staDivider = Number(derived.modifier.replace("/", ''));} + else {staTotalModifiers += Number(derived.modifier)} + break; } })); @@ -142,8 +209,8 @@ function updateDerived(actor){ let curFocus = thisActor.data.data.derivedStats.focus.max + focusTotalModifiers; if (thisActor.data.data.customStat != true){ - curHp = base * 5 + hpTotalModifiers - curSta = base * 5 + staTotalModifiers + curHp = Math.floor((base * 5 + hpTotalModifiers)/hpDivider) + curSta = Math.floor((base * 5 + staTotalModifiers)/staDivider) curRes = Math.floor((curWill + curInt)/2*5) + resTotalModifiers curFocus = Math.floor((curWill + curInt)/2*3) + focusTotalModifiers } @@ -166,22 +233,22 @@ function updateDerived(actor){ 'data.derivedStats.resolve.max': curRes, 'data.derivedStats.focus.max': curFocus, - 'data.coreStats.stun.current': Math.clamped(base, 1, 10) + stunTotalModifiers, + 'data.coreStats.stun.current': Math.floor((Math.clamped(base, 1, 10) + stunTotalModifiers)/stunDivider), 'data.coreStats.stun.max': Math.clamped(baseMax, 1, 10), - 'data.coreStats.enc.current': stats.body.current*10 + encTotalModifiers, + 'data.coreStats.enc.current': Math.floor((stats.body.current*10 + encTotalModifiers)/encDivider), 'data.coreStats.enc.max': stats.body.current*10, - 'data.coreStats.run.current': stats.spd.current*3 +runTotalModifiers, + 'data.coreStats.run.current': Math.floor((stats.spd.current*3 +runTotalModifiers)/runDivider), 'data.coreStats.run.max': stats.spd.current*3, - 'data.coreStats.leap.current': Math.floor(stats.spd.current*3/5)+leapTotalModifiers, + 'data.coreStats.leap.current': Math.floor((stats.spd.current*3/5)+leapTotalModifiers)/leapDivider, 'data.coreStats.leap.max': Math.floor(stats.spd.max*3/5), - 'data.coreStats.rec.current': base + recTotalModifiers, + 'data.coreStats.rec.current': Math.floor((base + recTotalModifiers)/recDivider), 'data.coreStats.rec.max': baseMax, - 'data.coreStats.woundTreshold.current': baseMax+wtTotalModifiers, + 'data.coreStats.woundTreshold.current': Math.floor((baseMax+wtTotalModifiers)/wtDivider), 'data.coreStats.woundTreshold.max': baseMax, 'data.attackStats.meleeBonus': meleeBonus, @@ -270,7 +337,8 @@ function rollSkillCheck(thisActor, statNum, skillNum){ activeEffects.forEach(item => item.data.data.skills.forEach(skill => { if (skillName == game.i18n.localize(skill.skill)){ - rollFormula += `+${skill.modifier}` + if (skill.modifier.includes("/")){rollFormula += `/${Number(skill.modifier.replace("/", ''))}`} + else {rollFormula += `+${skill.modifier}`} } })); diff --git a/system.json b/system.json index 292a2aff..bd609e12 100644 --- a/system.json +++ b/system.json @@ -3,7 +3,7 @@ "title": "TheWitcherTRPG - fvtt", "description": "The Witcher TRPG System.", "compatibleCoreVersion": "0.8.8", - "version": 0.54, + "version": 0.55, "author": "TechAntho", "scripts": [ ], @@ -88,6 +88,11 @@ "lang": "deu", "name": "German", "path": "lang/deu.json" + }, + { + "lang": "it", + "name": "Italian", + "path": "lang/it.json" } ], "dependencies": [