From 08a84ce13d2ce5d452ba71123e495dbb01e2b3b5 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Wed, 27 Sep 2017 19:47:04 -0500 Subject: [PATCH] Redesign: Veteran Pet migration (#9090) * feat(migration): add Veteran pets Also refactor pinned items query to fetch less data * refactor(migration): rename/move, not duplicate --- ...d_items.js => 20170928_redesign_launch.js} | 23 ++++++++++++++++-- .../stable/pets/Pet-Bear-Veteran.png | Bin 0 -> 3630 bytes website/common/locales/en/pets.json | 1 + website/common/script/content/stable.js | 1 + 4 files changed, 23 insertions(+), 2 deletions(-) rename migrations/{20170811_pinned_items.js => 20170928_redesign_launch.js} (80%) create mode 100644 website/assets/sprites/spritesmith/stable/pets/Pet-Bear-Veteran.png diff --git a/migrations/20170811_pinned_items.js b/migrations/20170928_redesign_launch.js similarity index 80% rename from migrations/20170811_pinned_items.js rename to migrations/20170928_redesign_launch.js index 3c12a01531..3ff9970d83 100644 --- a/migrations/20170811_pinned_items.js +++ b/migrations/20170928_redesign_launch.js @@ -1,12 +1,13 @@ var updateStore = require('../website/common/script/libs/updateStore'); var getItemInfo = require('../website/common/script/libs/getItemInfo'); -var migrationName = '20170811_pinned_items.js'; +var migrationName = '20170928_redesign_launch.js'; var authorName = 'paglias'; // in case script author needs to know when their ... var authorUuid = 'ed4c688c-6652-4a92-9d03-a5a79844174a'; //... own data is done /* * Migrate existing in app rewards lists to pinned items + * Award Veteran Pets */ var monk = require('monk'); @@ -16,9 +17,16 @@ var dbUsers = monk(connectionString).get('users', { castIds: false }); function processUsers(lastId) { // specify a query to limit the affected users (empty for all users): var query = { - 'migration':{$ne:migrationName}, + 'migration': {$ne:migrationName}, + 'auth.timestamps.loggedin': {$gt: new Date('2017-09-21')}, }; + var fields = { + 'items.pets': 1, + 'items.gear': 1, + 'stats.class': 1, + } + if (lastId) { query._id = { $gt: lastId @@ -26,6 +34,7 @@ function processUsers(lastId) { } return dbUsers.find(query, { + fields: fields, sort: {_id: 1}, limit: 250, }) @@ -84,6 +93,16 @@ function updateUser (user) { set.pinnedItems = newPinnedItems; + if (user.items.pets['Lion-Veteran']) { + set['items.pets.Bear-Veteran'] = 5; + } else if (user.items.pets['Tiger-Veteran']) { + set['items.pets.Lion-Veteran'] = 5; + } else if (user.items.pets['Wolf-Veteran']) { + set['items.pets.Tiger-Veteran'] = 5; + } else { + set['items.pets.Wolf-Veteran'] = 5; + } + if (count % progressCount == 0) console.warn(count + ' ' + user._id); if (user._id == authorUuid) console.warn(authorName + ' processed'); diff --git a/website/assets/sprites/spritesmith/stable/pets/Pet-Bear-Veteran.png b/website/assets/sprites/spritesmith/stable/pets/Pet-Bear-Veteran.png new file mode 100644 index 0000000000000000000000000000000000000000..bf275c27d26245aaaacb6f086b0acef730dd1ac1 GIT binary patch literal 3630 zcmV+}4$<+6P)uJ@VVD_UC<6{NG_fI~0ue<-1QkJoA_k0xBC#Thg@9ne9*`iQ#9$Or zQF$}6R&?d%y_c8YA7_1QpS|}zXYYO1x&V;8{kgn!SPFnNo`4_X6{c}T{8k*B#$jdxfFg<9uYy1K45IaYvHg`_dOZM)Sy63ve6hvv z1)yUy0P^?0*fb9UASvow`@mQCp^4`uNg&9uGcn1|&Nk+9SjOUl{-OWr@Hh0;_l(8q z{wNRKos+;6rV8ldy0Owz(}jF`W(JeRp&R{qi2rfmU!TJ;gp(Kmm5I1s5m_f-n#TRsj}B0%?E`vOzxB2#P=n*a3EfYETOrKoe*ICqM@{4K9Go;5xVgZi5G4 z1dM~{UdP6d+Yd3o?MrAqM0Kc|iV92owdyL5UC#5<>aVCa44|hpM4E zs0sQWIt5*Tu0n&*J!lk~f_{hI!w5`*sjxDv4V%CW*ah~3!{C*0BD@;TgA3v9a1~q+ zAA{TB3-ERLHar49hi4Ih5D^-ph8Q6X#0?2VqLBoIkE}zAkxHZUgRb+f=nat zP#6>iMMoK->`~sRLq)(kHo*Vn{;LcG6+edD1=7D>9j^O?D{Qg|tCDK{ym)H7&wDr6*;uGTJg8GHjVbnL{!cWyUB7MT6o-VNo_w8Yq`2<5Ub)hw4L3rj}5@qxMs0 zWMyP6Wy582WNT#4$d1qunl{acmP#w5ouJ*Jy_Zv#bCKi7ZIf$}8d zZdVy&)LYdbX%I9R8VMQ|8r>Q*nyQ)sn)#Z|n)kKvS`4iu ztvy=3T65Yu+7a4Yv^%sXb>ww?bn(=Yu(!=O6^iuTp>)p_Y^{w=i z^lS773}6Fm1Fpe-gF!>Ip{*g$u-szvGhed;vo5pW&GpS$<~8QGEXWp~7V9lKEnZq0SaK{6Sl+dwSOr*Z zvFf(^Xl-N7w{EeXveC4Ov)N}e%%C!Y7^RFWwrE>d+x51mZQt2h+X?JW*!^a2WS?Sx z)P8cQ&Qi|OhNWW;>JChYI)@QQx?`Nj^#uJBl~d&PK+RZLOLos~K(b5>qmrMN0})tOkySZ3_W zICNY@+|jrX%s^&6b2i>5eqa0y%Z;^%^_=a@u3%4b9605ii3Ep)@`TAmhs0fpQ%O!q zl}XcFH*PieWwLj2ZSq`7V9Mc?h17`D)-+sNT-qs~3@?S(ldh7UlRlVXkWrK|vf6I- z?$tAVKYn8-l({mqQ$Q8{O!WzMg`0(=S&msXS#Pt$vrpzo=kRj+a`kh!z=6$;c zwT88(J6|n-WB%w`m$h~4pmp)YIh_ z3ETV2tjiAU!0h1dxU-n=E9e!)6|Z;4?!H=SSy{V>ut&IOq{_dl zbFb#!9eY1iCsp6Bajj|Hr?hX|zPbJE{X++w546-O*Ot`2Kgd0Jx6Z4syT zu9enWavU5N9)I?I-1m1*_?_rJ$vD~agVqoG+9++s?NEDe`%Fht$4F;X=in*dQ{7$m zU2Q)a|9JSc+Uc4zvS-T963!N$T{xF_ZuWe}`RNOZ7sk3{yB}PPym+f8xTpV;-=!;; zJuhGEb?H5K#o@~7t9DmUU1MD9xNd#Dz0azz?I)|B+WM{g+Xrk0I&awC=o(x)cy`EX z=)z6+o0o6-+`4{y+3mqQ%kSJBju{@g%f35#FZJHb`&swrA8dGtepviS>QUumrN{L@ z>;2q1Vm)$Z)P1z?N$8UYW2~{~zhwUMVZ87u`Dx{Z>O|9|`Q+&->FRy-Sjp7DHs zy69KwU-!MxeeuI@&cF4|M9z%AfP?@5 z`Tzg`fam}Kbua(`>RI+y?e7jT@qQ9J+u00v@9M??Vs0RI60puMM)00009a7bBm z000XU000XU0RWnu7ytkO2XskIMF-&q926oWnz=*%0009yNkl})L1@$P zEOlronozMKD2>~_KXAv(dwD5o-uF#^ua|p|^#A(b-Mgn000000000000000000000 z0049jv39tL;|F3jQ~TQQTCA1V3Tyl>@`x`n+B!?E9*rI}_L(VchoZLaT49Y(CZcnD zu&*6%VmvpeuEK*H~wIl>Y3U5p$pZ zM6c&K-#2~*?k~wN#uPfEbHsF(3Qu0#)a_3{45*-L%gUP@t_4$Q5rm)T08J(k`vrO;&qIpXyH|%&S)?cTO_xe{(;Kzm>&+07OrSgy8ywmaX z2iGkBI$~rZI!8fgo7(kN*a>CLYpeKv$FcRdRev%Oog=7oE2x%_>bNidL&rDvZ|QjT zQ@4&UOdRtZ^W*F{cQSwOrWoIRU8O2yB0BGJn%dcx+hUDWLt7ttoMSY3#HjYk+vjyW zJ^RP=KBp#nbXn{1p;15uH0=?QB~|OC6ed)5`XWhu=xQ+&Y`SGN@yDLhMxLzCveoM(37c z+iH^R+~&jXLR