diff --git a/dist/habitrpg-shared.js b/dist/habitrpg-shared.js index 9904c98938..c349931365 100644 --- a/dist/habitrpg-shared.js +++ b/dist/habitrpg-shared.js @@ -9386,54 +9386,82 @@ gear = { wizard: { 0: { twoHanded: true, - text: "Apprentice Staff", - notes: 'Practice staff. Confers no benefit.', + text: (function() { + return i18n.t('weaponWizard0Text'); + }), + notes: (function() { + return i18n.t('weaponWizard0Notes'); + }), value: 0 }, 1: { twoHanded: true, - text: "Wooden Staff", - notes: 'Basic implement of carven wood. Increases INT by 3 and PER by 1.', + text: (function() { + return i18n.t('weaponWizard1Text'); + }), + notes: (function() { + return i18n.t('weaponWizard1Notes'); + }), int: 3, per: 1, value: 30 }, 2: { twoHanded: true, - text: "Jeweled Staff", - notes: 'Focuses power through a precious stone. Increases INT by 6 and PER by 2.', + text: (function() { + return i18n.t('weaponWizard2Text'); + }), + notes: (function() { + return i18n.t('weaponWizard2Notes'); + }), int: 6, per: 2, value: 50 }, 3: { twoHanded: true, - text: "Iron Staff", - notes: 'Plated in metal to channel heat, cold, and lightning. Increases INT by 9 and PER by 3.', + text: (function() { + return i18n.t('weaponWizard3Text'); + }), + notes: (function() { + return i18n.t('weaponWizard3Notes'); + }), int: 9, per: 3, value: 80 }, 4: { twoHanded: true, - text: "Brass Staff", - notes: 'As powerful as it is heavy. Increases INT by 12 and PER by 5.', + text: (function() { + return i18n.t('weaponWizard4Text'); + }), + notes: (function() { + return i18n.t('weaponWizard4Notes'); + }), int: 12, per: 5, value: 120 }, 5: { twoHanded: true, - text: "Archmage Staff", - notes: 'Assists in weaving the most complex of spells. Increases INT by 15 and PER by 7.', + text: (function() { + return i18n.t('weaponWizard5Text'); + }), + notes: (function() { + return i18n.t('weaponWizard5Notes'); + }), int: 15, per: 7, value: 160 }, 6: { twoHanded: true, - text: "Golden Staff", - notes: 'Fashioned of orichalcum, the alchemic gold, mighty and rare. Increases INT by 18 and PER by 10.', + text: (function() { + return i18n.t('weaponWizard6Text'); + }), + notes: (function() { + return i18n.t('weaponWizard6Notes'); + }), int: 18, per: 10, value: 200, @@ -9442,43 +9470,71 @@ gear = { }, healer: { 0: { - text: "Novice Rod", - notes: 'For healers in training. Confers no benefit.', + text: (function() { + return i18n.t('weaponHealer0Text'); + }), + notes: (function() { + return i18n.t('weaponHealer0Notes'); + }), value: 0 }, 1: { - text: "Acolyte Rod", - notes: 'Crafted during a healer\'s initiation. Increases INT by 2.', + text: (function() { + return i18n.t('weaponHealer1Text'); + }), + notes: (function() { + return i18n.t('weaponHealer1Notes'); + }), int: 2, value: 20 }, 2: { - text: "Quartz Rod", - notes: 'Topped with a gem bearing curative properties. Increases INT by 3.', + text: (function() { + return i18n.t('weaponHealer2Text'); + }), + notes: (function() { + return i18n.t('weaponHealer2Notes'); + }), int: 3, value: 30 }, 3: { - text: "Amethyst Rod", - notes: 'Purifies poison at a touch. Increases INT by 5.', + text: (function() { + return i18n.t('weaponHealer3Text'); + }), + notes: (function() { + return i18n.t('weaponHealer3Notes'); + }), int: 5, value: 45 }, 4: { - text: "Physician Rod", - notes: 'As much a badge of office as a healing tool. Increases INT by 7.', + text: (function() { + return i18n.t('weaponHealer4Text'); + }), + notes: (function() { + return i18n.t('weaponHealer4Notes'); + }), int: 7, value: 65 }, 5: { - text: "Royal Scepter", - notes: 'Fit to grace the hand of a monarch, or of one who stands at a monarch\'s right hand. Increases INT by 9.', + text: (function() { + return i18n.t('weaponHealer5Text'); + }), + notes: (function() { + return i18n.t('weaponHealer5Notes'); + }), int: 9, value: 90 }, 6: { - text: "Golden Scepter", - notes: 'Soothes the pain of all who look upon it. Increases INT by 11.', + text: (function() { + return i18n.t('weaponHealer6Text'); + }), + notes: (function() { + return i18n.t('weaponHealer6Notes'); + }), int: 11, value: 120, last: true @@ -9486,8 +9542,12 @@ gear = { }, special: { 0: { - text: "Dark Souls Blade", - notes: 'Feasts upon foes\' life essence to power its wicked strokes. Increases STR by 20.', + text: (function() { + return i18n.t('weaponSpecial0Text'); + }), + notes: (function() { + return i18n.t('weaponSpecial0Notes'); + }), str: 20, value: 150, canOwn: (function(u) { @@ -9496,8 +9556,12 @@ gear = { }) }, 1: { - text: "Crystal Blade", - notes: 'Its glittering facets tell the tale of a hero. Increases all attributes by 6.', + text: (function() { + return i18n.t('weaponSpecial1Text'); + }), + notes: (function() { + return i18n.t('weaponSpecial1Notes'); + }), str: 6, per: 6, con: 6, @@ -9509,8 +9573,12 @@ gear = { }) }, 2: { - text: "Stephen Weber's Shaft of the Dragon", - notes: 'Feel the potency of the dragon surge from within! Increases STR and PER by 25 each.', + text: (function() { + return i18n.t('weaponSpecial2Text'); + }), + notes: (function() { + return i18n.t('weaponSpecial2Notes'); + }), str: 25, per: 25, value: 200, @@ -9520,8 +9588,12 @@ gear = { }) }, 3: { - text: "Mustaine's Milestone Mashing Morning Star", - notes: "Meetings, monsters, malaise: managed! Mash! Increases STR, INT, and CON by 17 each.", + text: (function() { + return i18n.t('weaponSpecial3Text'); + }), + notes: (function() { + return i18n.t('weaponSpecial3Notes'); + }), str: 17, int: 17, con: 17, @@ -9532,8 +9604,12 @@ gear = { }) }, critical: { - text: "Critical Hammer of Bug-Crushing", - notes: "This champion slew a critical Github foe where many warriors fell. Fashioned from the bones of Bug, this hammer deals a mighty critical hit. Increases STR and PER by 40 each.", + text: (function() { + return i18n.t('weaponSpecialCriticalText'); + }), + notes: (function() { + return i18n.t('weaponSpecialCriticalNotes'); + }), str: 40, per: 40, value: 200, @@ -9544,35 +9620,59 @@ gear = { }, yeti: { event: events.winter, - specialClass: 'warrior', - text: "Yeti-Tamer Spear", - notes: 'Limited Edition 2013 Winter Gear! This spear allows its user to command any yeti. Increases STR by 15.', + canOwn: (function(u) { + return u.stats["class"] === 'warrior'; + }), + text: (function() { + return i18n.t('weaponSpecialYetiText'); + }), + notes: (function() { + return i18n.t('weaponSpecialYetiNotes'); + }), str: 15, value: 90 }, ski: { event: events.winter, - specialClass: 'rogue', - text: "Ski-sassin Pole", - notes: 'Limited Edition 2013 Winter Gear! A weapon capable of destroying hordes of enemies! It also helps the user make very nice parallel turns. Increases STR by 8.', + canOwn: (function(u) { + return u.stats["class"] === 'rogue'; + }), + text: (function() { + return i18n.t('weaponSpecialSkiText'); + }), + notes: (function() { + return i18n.t('weaponSpecialSkiNotes'); + }), str: 8, value: 90 }, candycane: { event: events.winter, - specialClass: 'wizard', + canOwn: (function(u) { + return u.stats["class"] === 'wizard'; + }), twoHanded: true, - text: "Candy Cane Staff", - notes: "Limited Edition 2013 Winter Gear! A powerful mage's staff. Powerfully DELICIOUS, we mean! Two-handed weapon. Increases INT by 15 and PER by 7.", + text: (function() { + return i18n.t('weaponSpecialCandycaneText'); + }), + notes: (function() { + return i18n.t('weaponSpecialCandycaneNotes'); + }), int: 15, per: 7, value: 160 }, snowflake: { event: events.winter, - specialClass: 'healer', - text: "Snowflake Wand", - notes: 'Limited Edition 2013 Winter Gear! This wand sparkles with unlimited healing power. Increases INT by 9.', + canOwn: (function(u) { + return u.stats["class"] === 'healer'; + }), + text: (function() { + return i18n.t('weaponSpecialSnowflakeText'); + }), + notes: (function() { + return i18n.t('weaponSpecialSnowflakeNotes'); + }), int: 9, value: 90 }, @@ -10171,72 +10271,44 @@ gear = { }, rogue: { 0: { - text: (function() { - return i18n.t('weaponRogue0Text'); - }), - notes: (function() { - return i18n.t('weaponRogue0Notes'); - }), + text: "Dagger", + notes: 'A rogue\'s most basic weapon. Confers no benefit.', str: 0, value: 0 }, 1: { - text: (function() { - return i18n.t('weaponRogue1Text'); - }), - notes: (function() { - return i18n.t('weaponRogue1Notes'); - }), + text: "Short Sword", + notes: 'Light, concealable blade. Increases STR by 2.', str: 2, value: 20 }, 2: { - text: (function() { - return i18n.t('weaponRogue2Text'); - }), - notes: (function() { - return i18n.t('weaponRogue2Notes'); - }), + text: "Scimitar", + notes: 'Slashing sword, swift to deliver a killing blow. Increases STR by 3.', str: 3, value: 35 }, 3: { - text: (function() { - return i18n.t('weaponRogue3Text'); - }), - notes: (function() { - return i18n.t('weaponRogue3Notes'); - }), + text: "Kukri", + notes: 'Distinctive bush knife, both survival tool and weapon. Increases STR by 4.', str: 4, value: 50 }, 4: { - text: (function() { - return i18n.t('weaponRogue4Text'); - }), - notes: (function() { - return i18n.t('weaponRogue4Notes'); - }), + text: "Nunchaku", + notes: 'Heavy batons whirled about on a length of chain. Increases STR by 6.', str: 6, value: 70 }, 5: { - text: (function() { - return i18n.t('weaponRogue5Text'); - }), - notes: (function() { - return i18n.t('weaponRogue5Notes'); - }), + text: "Ninja-to", + notes: 'Sleek and deadly as the ninja themselves. Increases STR by 8.', str: 8, value: 90 }, 6: { - text: (function() { - return i18n.t('weaponRogue6Text'); - }), - notes: (function() { - return i18n.t('weaponRogue6Notes'); - }), + text: "Hook Sword", + notes: 'Complex weapon adept at ensnaring and disarming opponents. Increases STR by 10.', str: 10, value: 120, last: true diff --git a/locales/README.md b/locales/README.md index e0790b9267..e7a34ee612 100644 --- a/locales/README.md +++ b/locales/README.md @@ -1,4 +1,6 @@ -HabitRPG's translations are managed on [Transifex](). +HabitRPG's translations are managed on [Transifex](https://www.transifex.com/projects/p/habitrpg/). The files in this folder are automatically pulled from Transifex, with expcetion of -the original English strings which are managed directly through GitHub. \ No newline at end of file +the original English strings which are managed directly through GitHub. + +Before starting to translate, please give a look at [this](https://trello.com/c/SvTsLdRF/12-translations) Trello card. \ No newline at end of file diff --git a/locales/en/content.json b/locales/en/content.json index d77af32d77..47c0241223 100644 --- a/locales/en/content.json +++ b/locales/en/content.json @@ -19,16 +19,66 @@ "weaponRogue0Text": "Dagger", "weaponRogue0Notes": "A rogue's most basic weapon. Confers no benefit.", - "weaponRogue0Text": "Short Sword", - "weaponRogue0Notes": "Light, concealable blade. Increases STR by 2.", - "weaponRogue0Text": "Scimitar", - "weaponRogue0Notes": "Slashing sword, swift to deliver a killing blow. Increases STR by 3.", - "weaponRogue0Text": "Kukri", - "weaponRogue0Notes": "Distinctive bush knife, both survival tool and weapon. Increases STR by 4.", - "weaponRogue0Text": "Nunchaku", - "weaponRogue0Notes": "Heavy batons whirled about on a length of chain. Increases STR by 6.", - "weaponRogue0Text": "Ninja-to", - "weaponRogue0Notes": "Sleek and deadly as the ninja themselves. Increases STR by 8.", - "weaponRogue0Text": "Hook Sword", - "weaponRogue0Notes": "Complex weapon adept at ensnaring and disarming opponents. Increases STR by 10." + "weaponRogue1Text": "Short Sword", + "weaponRogue1Notes": "Light, concealable blade. Increases STR by 2.", + "weaponRogue2Text": "Scimitar", + "weaponRogue2Notes": "Slashing sword, swift to deliver a killing blow. Increases STR by 3.", + "weaponRogue3Text": "Kukri", + "weaponRogue3Notes": "Distinctive bush knife, both survival tool and weapon. Increases STR by 4.", + "weaponRogue4Text": "Nunchaku", + "weaponRogue4Notes": "Heavy batons whirled about on a length of chain. Increases STR by 6.", + "weaponRogue5Text": "Ninja-to", + "weaponRogue5Notes": "Sleek and deadly as the ninja themselves. Increases STR by 8.", + "weaponRogue6Text": "Hook Sword", + "weaponRogue6Notes": "Complex weapon adept at ensnaring and disarming opponents. Increases STR by 10.", + + "weaponWizard0Text": "Apprentice Staff", + "weaponWizard0Notes": "Practice staff. Confers no benefit.", + "weaponWizard1Text": "Wooden Staff", + "weaponWizard1Notes": "Basic implement of carven wood. Increases INT by 3 and PER by 1.", + "weaponWizard2Text": "Jeweled Staff", + "weaponWizard2Notes": "Focuses power through a precious stone. Increases INT by 6 and PER by 2.", + "weaponWizard3Text": "Iron Staff", + "weaponWizard3Notes": "Plated in metal to channel heat, cold, and lightning. Increases INT by 9 and PER by 3.", + "weaponWizard4Text": "Brass Staff", + "weaponWizard4Notes": "As powerful as it is heavy. Increases INT by 12 and PER by 5.", + "weaponWizard5Text": "Archmage Staff", + "weaponWizard5Notes": "Assists in weaving the most complex of spells. Increases INT by 15 and PER by 7.", + "weaponWizard6Text": "Golden Staff", + "weaponWizard6Notes": "Fashioned of orichalcum, the alchemic gold, mighty and rare. Increases INT by 18 and PER by 10.", + + "weaponHealer0Text": "Novice Rod", + "weaponHealer0Notes": "For healers in training. Confers no benefit.", + "weaponHealer1Text": "Acolyte Rod", + "weaponHealer1Notes": "Crafted during a healer's initiation. Increases INT by 2.", + "weaponHealer2Text": "Quartz Rod", + "weaponHealer2Notes": "Topped with a gem bearing curative properties. Increases INT by 3.", + "weaponHealer3Text": "Amethyst Rod", + "weaponHealer3Notes": "Purifies poison at a touch. Increases INT by 5.", + "weaponHealer4Text": "Physician Rod", + "weaponHealer4Notes": "As much a badge of office as a healing tool. Increases INT by 7.", + "weaponHealer5Text": "Royal Scepter", + "weaponHealer5Notes": "Fit to grace the hand of a monarch, or of one who stands at a monarch's right hand. Increases INT by 9.", + "weaponHealer6Text": "Golden Scepter", + "weaponHealer6Notes": "Soothes the pain of all who look upon it. Increases INT by 11.", + + "weaponSpecial0Text": "Dark Souls Blade", + "weaponSpecial0Notes": "Feasts upon foes' life essence to power its wicked strokes. Increases STR by 20.", + "weaponSpecial1Text": "Crystal Blade", + "weaponSpecial1Notes": "Its glittering facets tell the tale of a hero. Increases all attributes by 6.", + "weaponSpecial2Text": "Stephen Weber's Shaft of the Dragon", + "weaponSpecial2Notes": "Feel the potency of the dragon surge from within! Increases STR and PER by 25 each.", + "weaponSpecial3Text": "Mustaine's Milestone Mashing Morning Star", + "weaponSpecial3Notes": "Meetings, monsters, malaise: managed! Mash! Increases STR, INT, and CON by 17 each.", + "weaponSpecialCriticalText": "Critical Hammer of Bug-Crushing", + "weaponSpecialCriticalNotes": "This champion slew a critical Github foe where many warriors fell. Fashioned from the bones of Bug, this hammer deals a mighty critical hit. Increases STR and PER by 40 each.", + "weaponSpecialYetiText": "Yeti-Tamer Spear", + "weaponSpecialYetiNotes": "Limited Edition 2013 Winter Gear! This spear allows its user to command any yeti. Increases STR by 15.", + "weaponSpecialSkiText": "Ski-sassin Pole", + "weaponSpecialSkiNotes": "Limited Edition 2013 Winter Gear! A weapon capable of destroying hordes of enemies! It also helps the user make very nice parallel turns. Increases STR by 8.", + "weaponSpecialCandycaneText": "Candy Cane Staff", + "weaponSpecialCandycaneNotes": "Limited Edition 2013 Winter Gear! A powerful mage's staff. Powerfully DELICIOUS, we mean! Two-handed weapon. Increases INT by 15 and PER by 7.", + "weaponSpecialSnowflakeText": "Snowflake Wand", + "weaponSpecialSnowflakeNotes": "Limited Edition 2013 Winter Gear! This wand sparkles with unlimited healing power. Increases INT by 9." + } \ No newline at end of file diff --git a/script/content.coffee b/script/content.coffee index a24b02423e..aefc0e009e 100644 --- a/script/content.coffee +++ b/script/content.coffee @@ -53,32 +53,32 @@ gear = 5: text: (-> i18n.t('weaponRogue5Text')), notes: (-> i18n.t('weaponRogue5Notes')), str: 8, value: 90 6: text: (-> i18n.t('weaponRogue6Text')), notes: (-> i18n.t('weaponRogue6Notes')), str: 10, value: 120, last: true wizard: - 0: twoHanded: true, text: "Apprentice Staff", notes:'Practice staff. Confers no benefit.', value:0 - 1: twoHanded: true, text: "Wooden Staff", notes:'Basic implement of carven wood. Increases INT by 3 and PER by 1.', int: 3, per: 1, value:30 - 2: twoHanded: true, text: "Jeweled Staff", notes:'Focuses power through a precious stone. Increases INT by 6 and PER by 2.', int: 6, per: 2, value:50 - 3: twoHanded: true, text: "Iron Staff", notes:'Plated in metal to channel heat, cold, and lightning. Increases INT by 9 and PER by 3.', int: 9, per: 3, value:80 - 4: twoHanded: true, text: "Brass Staff", notes:'As powerful as it is heavy. Increases INT by 12 and PER by 5.', int:12, per: 5, value:120 - 5: twoHanded: true, text: "Archmage Staff", notes:'Assists in weaving the most complex of spells. Increases INT by 15 and PER by 7.', int: 15, per: 7, value:160 - 6: twoHanded: true, text: "Golden Staff", notes:'Fashioned of orichalcum, the alchemic gold, mighty and rare. Increases INT by 18 and PER by 10.', int: 18, per: 10, value:200, last: true + 0: twoHanded: true, text: (-> i18n.t('weaponWizard0Text')), notes: (-> i18n.t('weaponWizard0Notes')), value:0 + 1: twoHanded: true, text: (-> i18n.t('weaponWizard1Text')), notes: (-> i18n.t('weaponWizard1Notes')), int: 3, per: 1, value:30 + 2: twoHanded: true, text: (-> i18n.t('weaponWizard2Text')), notes: (-> i18n.t('weaponWizard2Notes')), int: 6, per: 2, value:50 + 3: twoHanded: true, text: (-> i18n.t('weaponWizard3Text')), notes: (-> i18n.t('weaponWizard3Notes')), int: 9, per: 3, value:80 + 4: twoHanded: true, text: (-> i18n.t('weaponWizard4Text')), notes: (-> i18n.t('weaponWizard4Notes')), int:12, per: 5, value:120 + 5: twoHanded: true, text: (-> i18n.t('weaponWizard5Text')), notes: (-> i18n.t('weaponWizard5Notes')), int: 15, per: 7, value:160 + 6: twoHanded: true, text: (-> i18n.t('weaponWizard6Text')), notes: (-> i18n.t('weaponWizard6Notes')), int: 18, per: 10, value:200, last: true healer: - 0: text: "Novice Rod", notes:'For healers in training. Confers no benefit.', value:0 - 1: text: "Acolyte Rod", notes:'Crafted during a healer\'s initiation. Increases INT by 2.', int: 2, value:20 - 2: text: "Quartz Rod", notes:'Topped with a gem bearing curative properties. Increases INT by 3.', int: 3, value:30 - 3: text: "Amethyst Rod", notes:'Purifies poison at a touch. Increases INT by 5.', int: 5, value:45 - 4: text: "Physician Rod", notes:'As much a badge of office as a healing tool. Increases INT by 7.', int:7, value:65 - 5: text: "Royal Scepter", notes:'Fit to grace the hand of a monarch, or of one who stands at a monarch\'s right hand. Increases INT by 9.', int: 9, value:90 - 6: text: "Golden Scepter", notes:'Soothes the pain of all who look upon it. Increases INT by 11.', int: 11, value:120, last: true + 0: text: (-> i18n.t('weaponHealer0Text')), notes: (-> i18n.t('weaponHealer0Notes')), value:0 + 1: text: (-> i18n.t('weaponHealer1Text')), notes: (-> i18n.t('weaponHealer1Notes')), int: 2, value:20 + 2: text: (-> i18n.t('weaponHealer2Text')), notes: (-> i18n.t('weaponHealer2Notes')), int: 3, value:30 + 3: text: (-> i18n.t('weaponHealer3Text')), notes: (-> i18n.t('weaponHealer3Notes')), int: 5, value:45 + 4: text: (-> i18n.t('weaponHealer4Text')), notes: (-> i18n.t('weaponHealer4Notes')), int:7, value:65 + 5: text: (-> i18n.t('weaponHealer5Text')), notes: (-> i18n.t('weaponHealer5Notes')), int: 9, value:90 + 6: text: (-> i18n.t('weaponHealer6Text')), notes: (-> i18n.t('weaponHealer6Notes')), int: 11, value:120, last: true special: - 0: text: "Dark Souls Blade", notes:'Feasts upon foes\' life essence to power its wicked strokes. Increases STR by 20.', str: 20, value:150, canOwn: ((u)-> +u.backer?.tier >= 70) - 1: text: "Crystal Blade", notes:'Its glittering facets tell the tale of a hero. Increases all attributes by 6.', str: 6, per: 6, con: 6, int: 6, value:170, canOwn: ((u)-> +u.contributor?.level >= 4) - 2: text: "Stephen Weber's Shaft of the Dragon", notes:'Feel the potency of the dragon surge from within! Increases STR and PER by 25 each.', str: 25, per: 25, value:200, canOwn: ((u)-> (+u.backer?.tier >= 300) or u.items.gear.owned.weapon_special_2?) - 3: text: "Mustaine's Milestone Mashing Morning Star", notes:"Meetings, monsters, malaise: managed! Mash! Increases STR, INT, and CON by 17 each.", str: 17, int: 17, con: 17, value:200, canOwn: ((u)-> +u.backer?.tier >= 300) - critical: text: "Critical Hammer of Bug-Crushing", notes:"This champion slew a critical Github foe where many warriors fell. Fashioned from the bones of Bug, this hammer deals a mighty critical hit. Increases STR and PER by 40 each.", str: 40, per: 40, value:200, canOwn: ((u)-> !!u.contributor?.critical) + 0: text: (-> i18n.t('weaponSpecial0Text')), notes: (-> i18n.t('weaponSpecial0Notes')), str: 20, value:150, canOwn: ((u)-> +u.backer?.tier >= 70) + 1: text: (-> i18n.t('weaponSpecial1Text')), notes: (-> i18n.t('weaponSpecial1Notes')), str: 6, per: 6, con: 6, int: 6, value:170, canOwn: ((u)-> +u.contributor?.level >= 4) + 2: text: (-> i18n.t('weaponSpecial2Text')), notes: (-> i18n.t('weaponSpecial2Notes')), str: 25, per: 25, value:200, canOwn: ((u)-> (+u.backer?.tier >= 300) or u.items.gear.owned.weapon_special_2?) + 3: text: (-> i18n.t('weaponSpecial3Text')), notes: (-> i18n.t('weaponSpecial3Notes')), str: 17, int: 17, con: 17, value:200, canOwn: ((u)-> +u.backer?.tier >= 300) + critical: text: (-> i18n.t('weaponSpecialCriticalText')), notes: (-> i18n.t('weaponSpecialCriticalNotes')), str: 40, per: 40, value:200, canOwn: ((u)-> !!u.contributor?.critical) # Winter event gear - yeti: event: events.winter, specialClass: 'warrior', text: "Yeti-Tamer Spear", notes:'Limited Edition 2013 Winter Gear! This spear allows its user to command any yeti. Increases STR by 15.', str: 15, value:90 - ski: event: events.winter, specialClass: 'rogue' , text: "Ski-sassin Pole", notes: 'Limited Edition 2013 Winter Gear! A weapon capable of destroying hordes of enemies! It also helps the user make very nice parallel turns. Increases STR by 8.', str: 8, value: 90 - candycane: event: events.winter, specialClass: 'wizard' , twoHanded: true, text: "Candy Cane Staff", notes:"Limited Edition 2013 Winter Gear! A powerful mage's staff. Powerfully DELICIOUS, we mean! Two-handed weapon. Increases INT by 15 and PER by 7.", int: 15, per: 7, value:160 - snowflake: event: events.winter, specialClass: 'healer' , text: "Snowflake Wand", notes:'Limited Edition 2013 Winter Gear! This wand sparkles with unlimited healing power. Increases INT by 9.', int: 9, value:90 + yeti: event: events.winter, canOwn: ((u)->u.stats.class is 'warrior' ), text: (-> i18n.t('weaponSpecialYetiText')), notes: (-> i18n.t('weaponSpecialYetiNotes')), str: 15, value:90 + ski: event: events.winter, canOwn: ((u)->u.stats.class is 'rogue' ), text: (-> i18n.t('weaponSpecialSkiText')), notes: (-> i18n.t('weaponSpecialSkiNotes')), str: 8, value: 90 + candycane: event: events.winter, canOwn: ((u)->u.stats.class is 'wizard' ), twoHanded: true, text: (-> i18n.t('weaponSpecialCandycaneText')), notes: (-> i18n.t('weaponSpecialCandycaneNotes')), int: 15, per: 7, value:160 + snowflake: event: events.winter, canOwn: ((u)->u.stats.class is 'healer' ), text: (-> i18n.t('weaponSpecialSnowflakeText')), notes: (-> i18n.t('weaponSpecialSnowflakeNotes')), int: 9, value:90 #Spring Fling springRogue: event: events.spring, specialClass: 'rogue', text: 'Hook Claws', notes: 'Great for scaling tall buildings, and also for shredding carpets. Adds 8 points to STR. Limited Edition 2014 Spring Gear.', value: 80, str: 8 springWarrior: event: events.spring, specialClass: 'warrior', text: 'Carrot Sword', notes: 'This mighty sword can slice foes with ease! It also makes a delicious mid-battle snack. Adds 15 points to STR. Limited Edition 2014 Spring Gear.', value: 90, str: 15