diff --git a/locales/en/limited.json b/locales/en/limited.json index 663c372fe7..b421410621 100644 --- a/locales/en/limited.json +++ b/locales/en/limited.json @@ -22,5 +22,9 @@ "candycaneSet": "Candy Cane (Mage)", "skiSet": "Ski-sassin (Rogue)", "snowflakeSet": "Snowflake (Healer)", - "yetiSet": "Yeti Tamer (Warrior)" + "yetiSet": "Yeti Tamer (Warrior)", + "nyeCard": "New Year's Card", + "seasonalItems": "Seasonal Items", + "auldAcquaintance": "Auld Acquaintance", + "auldAcquaintanceText": "Happy New Year! Sent or received <%= cards %> New Year's cards." } diff --git a/script/content.coffee b/script/content.coffee index 2d2d528f1f..acf7bce778 100644 --- a/script/content.coffee +++ b/script/content.coffee @@ -690,6 +690,20 @@ api.spells = user.stats.buffs.spookDust = false user.stats.gp -= 5 + nye: + text: "New Year's Card" + mana: 0 + value: 10 + target: 'user' + notes: "Send a New Year's card to a friend." + cast: (user, target) -> + _.each [user,target], (t)-> + t.achievements.nye ?= 0 + t.achievements.nye++ + (target.items.special.nyeReceived ?= []).push user.profile.name + target.markModified? 'items.special.nyeReceived' + user.stats.gp -= 10 + # Intercept all spells to reduce user.stats.mp after casting the spell _.each api.spells, (spellClass) -> _.each spellClass, (spell, key) -> diff --git a/script/index.coffee b/script/index.coffee index 2bcc323a35..f41b2981b1 100644 --- a/script/index.coffee +++ b/script/index.coffee @@ -693,8 +693,8 @@ api.wrap = (user, main=true) -> item = content.special[key] return cb?({code:401, message: i18n.t('messageNotEnoughGold', req.language)}) if user.stats.gp < item.value user.stats.gp -= item.value - user.items.special[item.key] ?= 0 - user.items.special[item.key]++ + user.items.special[key] ?= 0 + user.items.special[key]++ user.markModified? 'items.special' message = i18n.t('messageBought', {itemText: item.text(req.language)}, req.language) cb? {code:200,message}, _.pick(user,$w 'items stats')