commit effdaa12daf78a63dcb8887e9bccd2b55df067f0 Author: lzrdblzzrd Date: Sun Aug 21 17:53:25 2022 +0300 initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..a7ad1fa --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +Планировщик персонажа Fallout 4 + +https://lzrdblzzrd.github.io/f4cp/ diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..05f0b6e --- /dev/null +++ b/css/style.css @@ -0,0 +1,233 @@ +html { + border: 1px solid #42454a; +} +body { + color: #FFF; + background-color: #36393f; +} +.row { + background: #2f3136; +} + +::-webkit-scrollbar { + width: 2px; + background-color: transparent; +} +::-webkit-scrollbar-button { + display: none; +} +::-webkit-scrollbar-corner { + background-color: transparent; +} +::-webkit-scrollbar-thumb { + background-color: #99aab5; +} + +.container-fluid { + background-color: #202225; +} +.navbar { + margin-bottom: 0; + border: none; +} +.navbar-default, .navbar-brand { + color: #fff !important; + background-color: #202225; + border: none; +} + +.btn { + border-radius: 0; +} + + + +.col-md-3 { + color: #FFF; + background-color: #2f3136; + border: 1px solid #42454a; +} +.col-md-3>h3, .col-md-3>h4, .col-md-3>span{ + font-family: monospace; + margin-top: 0px; + margin-bottom: 0px; + font-size: 25px; + text-align: center; +} +.col-md-3>h4 { +} +.include-bobbleheads { + margin-top: -20px; +} + +.list-group-item:first-child, .list-group-item:last-child { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} +.list-special { + font-family: monospace; + font-size: 20px; + font-weight: bold; + color: #2f3136; + background-color: #2f3136; +} +.list-group-item { + color: #FFF; + background-color: #2f3136; + border: 1px solid #42454a; +} +.list-special input { + display: inline-block; + width: 45px; + height: 25px; +} +.container-fluid>h4 { + +} + + + +.summary { + padding-top: 25px; +} +.summary>li { + border-top: 2px solid #42454a; + font-size: 20px; + font-weight: bolder; + font-family: monospace; +} +.summary>:first-child { + border-top: none; +} +.summary>ul>li { + border-bottom: 1px solid #42454a; + margin-top: -2px; + font-style: italic; +} +.summary>ul>:last-child { + margin-bottom: 10px; + border-bottom: none; +} + + + +.form-control { + color: #FFF; + background-color: #36393f; + border: 1px solid #42454a; +} +select.form-control { + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; +} +input::-webkit-outer-spin-button, +input::-webkit-inner-spin-button { + -webkit-appearance: none; + +} +input[type=number] { + -moz-appearance: textfield; /* Firefox */ +} +.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { + background-color: #36393f; + opacity: 1; + margin: 0; +} + + + +.col-md-9 { + color: #FFF; + background-color: #36393f; + padding-right: 0; + padding-left: 0; +} +.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th { + text-align: center; + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-left: 1px solid #42454a; border-right: 1px solid #42454a; + border-top: none; +} + + + +.popover { + background: #202225; + border-radius: 0px; +} +.popover-title { + font-size: 20px; + font-weight: bolder; + color: #FFF; + background: #2f3136; + border: none; + border-radius: 0px; +} +.popover-content { + font-style: italic; + color: #FFF; + background: #36393f; + border-radius: 0px; +} +.popover-content>.no-rank { + border-bottom: 1px solid #42454a; + padding-bottom: 10px; +} +.popover-content>:last-child { + border-bottom: none; + margin: none; +} +.popover.left>.arrow:after { + border-left-color: #1a1b1e; + color: #202225; +} +popover.right>.arrow:after{ + border-right-color: #1a1b1e; + color: #202225; +} +.popover.top>.arrow:after { + border-top-color: #1a1b1e; + color: #202225; +} +.popover.bottom>.arrow:after { + border-bottom-color: #1a1b1e; + color: #202225; +} + +.has-rank { + color: #FFFDE0; + font-style: normal; + font-weight: bold; + background-color: rgba(0,224,167, 0.1); + padding: 2px; + border-radius: 0px; +} + + + +.perk { + width: 100px; + height: 100px; + border: 1px solid #42454a; + position: relative; + left: 50%; + transform: translate(-50%); +} +.overlay { + font-size: 20px; + bottom: 0px; + position: absolute; + width: 100%; + text-align: center; + color: #FFF; + font-weight: bold; + background-color: rgba(35,39,42, 0.75) /* 40% opaque red */ +} +.unavailable { + opacity: 0.1; +} diff --git a/cursors/danger.cur b/cursors/danger.cur new file mode 100644 index 0000000..d81bd55 Binary files /dev/null and b/cursors/danger.cur differ diff --git a/cursors/help.cur b/cursors/help.cur new file mode 100644 index 0000000..dd9e49a Binary files /dev/null and b/cursors/help.cur differ diff --git a/cursors/miniminus.cur b/cursors/miniminus.cur new file mode 100644 index 0000000..475a3bd Binary files /dev/null and b/cursors/miniminus.cur differ diff --git a/cursors/miniplus.cur b/cursors/miniplus.cur new file mode 100644 index 0000000..50c009a Binary files /dev/null and b/cursors/miniplus.cur differ diff --git a/cursors/normal.cur b/cursors/normal.cur new file mode 100644 index 0000000..66df6fc Binary files /dev/null and b/cursors/normal.cur differ diff --git a/cursors/plus.cur b/cursors/plus.cur new file mode 100644 index 0000000..f135b35 Binary files /dev/null and b/cursors/plus.cur differ diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..64c76f3 Binary files /dev/null and b/favicon.ico differ diff --git a/img/action-boy-action-girl.png b/img/action-boy-action-girl.png new file mode 100644 index 0000000..bee46f9 Binary files /dev/null and b/img/action-boy-action-girl.png differ diff --git a/img/adamantium-skeleton.png b/img/adamantium-skeleton.png new file mode 100644 index 0000000..b0aeba9 Binary files /dev/null and b/img/adamantium-skeleton.png differ diff --git a/img/animal-friend.png b/img/animal-friend.png new file mode 100644 index 0000000..57c99c2 Binary files /dev/null and b/img/animal-friend.png differ diff --git a/img/aquaboy.png b/img/aquaboy.png new file mode 100644 index 0000000..0deabcd Binary files /dev/null and b/img/aquaboy.png differ diff --git a/img/armorer.png b/img/armorer.png new file mode 100644 index 0000000..50763cc Binary files /dev/null and b/img/armorer.png differ diff --git a/img/attack-dog.png b/img/attack-dog.png new file mode 100644 index 0000000..e99eaf3 Binary files /dev/null and b/img/attack-dog.png differ diff --git a/img/awareness.png b/img/awareness.png new file mode 100644 index 0000000..375dd73 Binary files /dev/null and b/img/awareness.png differ diff --git a/img/basher.png b/img/basher.png new file mode 100644 index 0000000..a2611c4 Binary files /dev/null and b/img/basher.png differ diff --git a/img/better-criticals.png b/img/better-criticals.png new file mode 100644 index 0000000..d5c42a6 Binary files /dev/null and b/img/better-criticals.png differ diff --git a/img/big-leagues.png b/img/big-leagues.png new file mode 100644 index 0000000..0d2945e Binary files /dev/null and b/img/big-leagues.png differ diff --git a/img/blacksmith.png b/img/blacksmith.png new file mode 100644 index 0000000..2c7e4d8 Binary files /dev/null and b/img/blacksmith.png differ diff --git a/img/blitz.png b/img/blitz.png new file mode 100644 index 0000000..ecbfbcf Binary files /dev/null and b/img/blitz.png differ diff --git a/img/bloody-mess.png b/img/bloody-mess.png new file mode 100644 index 0000000..827b998 Binary files /dev/null and b/img/bloody-mess.png differ diff --git a/img/brand.png b/img/brand.png new file mode 100644 index 0000000..b9b8828 Binary files /dev/null and b/img/brand.png differ diff --git a/img/cannibal.png b/img/cannibal.png new file mode 100644 index 0000000..7eca62b Binary files /dev/null and b/img/cannibal.png differ diff --git a/img/cap-collector.png b/img/cap-collector.png new file mode 100644 index 0000000..0c3bbaf Binary files /dev/null and b/img/cap-collector.png differ diff --git a/img/chem-resistant.png b/img/chem-resistant.png new file mode 100644 index 0000000..e03a4fe Binary files /dev/null and b/img/chem-resistant.png differ diff --git a/img/chemist.png b/img/chemist.png new file mode 100644 index 0000000..982b18d Binary files /dev/null and b/img/chemist.png differ diff --git a/img/commando.png b/img/commando.png new file mode 100644 index 0000000..a4a4095 Binary files /dev/null and b/img/commando.png differ diff --git a/img/concentrated-fire.png b/img/concentrated-fire.png new file mode 100644 index 0000000..9ff3eaa Binary files /dev/null and b/img/concentrated-fire.png differ diff --git a/img/critical-banker.png b/img/critical-banker.png new file mode 100644 index 0000000..ebb7f0b Binary files /dev/null and b/img/critical-banker.png differ diff --git a/img/demolition-expert.png b/img/demolition-expert.png new file mode 100644 index 0000000..24258de Binary files /dev/null and b/img/demolition-expert.png differ diff --git a/img/fortune-finder.png b/img/fortune-finder.png new file mode 100644 index 0000000..e13b25b Binary files /dev/null and b/img/fortune-finder.png differ diff --git a/img/four-leaf-clover.png b/img/four-leaf-clover.png new file mode 100644 index 0000000..f53ad33 Binary files /dev/null and b/img/four-leaf-clover.png differ diff --git a/img/ghoulish.png b/img/ghoulish.png new file mode 100644 index 0000000..4a8e24b Binary files /dev/null and b/img/ghoulish.png differ diff --git a/img/grim-reapers-sprint.png b/img/grim-reapers-sprint.png new file mode 100644 index 0000000..389a5b8 Binary files /dev/null and b/img/grim-reapers-sprint.png differ diff --git a/img/gun-fu.png b/img/gun-fu.png new file mode 100644 index 0000000..01f853e Binary files /dev/null and b/img/gun-fu.png differ diff --git a/img/gun-nut.png b/img/gun-nut.png new file mode 100644 index 0000000..cfc4b3e Binary files /dev/null and b/img/gun-nut.png differ diff --git a/img/gunslinger.png b/img/gunslinger.png new file mode 100644 index 0000000..2b667f7 Binary files /dev/null and b/img/gunslinger.png differ diff --git a/img/hacker.png b/img/hacker.png new file mode 100644 index 0000000..3d89f37 Binary files /dev/null and b/img/hacker.png differ diff --git a/img/heavy-gunner.png b/img/heavy-gunner.png new file mode 100644 index 0000000..e595d36 Binary files /dev/null and b/img/heavy-gunner.png differ diff --git a/img/idiot-savant.png b/img/idiot-savant.png new file mode 100644 index 0000000..dd9c81c Binary files /dev/null and b/img/idiot-savant.png differ diff --git a/img/inspiration.png b/img/inspiration.png new file mode 100644 index 0000000..acb2983 Binary files /dev/null and b/img/inspiration.png differ diff --git a/img/intimidation.png b/img/intimidation.png new file mode 100644 index 0000000..a30ceee Binary files /dev/null and b/img/intimidation.png differ diff --git a/img/iron-fist.png b/img/iron-fist.png new file mode 100644 index 0000000..195f87c Binary files /dev/null and b/img/iron-fist.png differ diff --git a/img/lady-killer-black-widow.png b/img/lady-killer-black-widow.png new file mode 100644 index 0000000..28656da Binary files /dev/null and b/img/lady-killer-black-widow.png differ diff --git a/img/lead-belly.png b/img/lead-belly.png new file mode 100644 index 0000000..ae96370 Binary files /dev/null and b/img/lead-belly.png differ diff --git a/img/life-giver.png b/img/life-giver.png new file mode 100644 index 0000000..336a96d Binary files /dev/null and b/img/life-giver.png differ diff --git a/img/local-leader.png b/img/local-leader.png new file mode 100644 index 0000000..0baecf2 Binary files /dev/null and b/img/local-leader.png differ diff --git a/img/locksmith.png b/img/locksmith.png new file mode 100644 index 0000000..22fc627 Binary files /dev/null and b/img/locksmith.png differ diff --git a/img/lone-wanderer.png b/img/lone-wanderer.png new file mode 100644 index 0000000..dc144d2 Binary files /dev/null and b/img/lone-wanderer.png differ diff --git a/img/medic.png b/img/medic.png new file mode 100644 index 0000000..9be4814 Binary files /dev/null and b/img/medic.png differ diff --git a/img/mister-sandman.png b/img/mister-sandman.png new file mode 100644 index 0000000..66abffe Binary files /dev/null and b/img/mister-sandman.png differ diff --git a/img/moving-target.png b/img/moving-target.png new file mode 100644 index 0000000..3a896f5 Binary files /dev/null and b/img/moving-target.png differ diff --git a/img/mysterious-stranger.png b/img/mysterious-stranger.png new file mode 100644 index 0000000..74b99a2 Binary files /dev/null and b/img/mysterious-stranger.png differ diff --git a/img/nerd-rage.png b/img/nerd-rage.png new file mode 100644 index 0000000..44c654c Binary files /dev/null and b/img/nerd-rage.png differ diff --git a/img/night-person.png b/img/night-person.png new file mode 100644 index 0000000..258d21c Binary files /dev/null and b/img/night-person.png differ diff --git a/img/ninja.png b/img/ninja.png new file mode 100644 index 0000000..5c2b464 Binary files /dev/null and b/img/ninja.png differ diff --git a/img/nuclear-physicist.png b/img/nuclear-physicist.png new file mode 100644 index 0000000..4bf04bb Binary files /dev/null and b/img/nuclear-physicist.png differ diff --git a/img/pain-train.png b/img/pain-train.png new file mode 100644 index 0000000..2c2d263 Binary files /dev/null and b/img/pain-train.png differ diff --git a/img/party-boy-party-girl.png b/img/party-boy-party-girl.png new file mode 100644 index 0000000..8d4bc9e Binary files /dev/null and b/img/party-boy-party-girl.png differ diff --git a/img/penetrator.png b/img/penetrator.png new file mode 100644 index 0000000..ee9edfe Binary files /dev/null and b/img/penetrator.png differ diff --git a/img/pickpocket.png b/img/pickpocket.png new file mode 100644 index 0000000..e211627 Binary files /dev/null and b/img/pickpocket.png differ diff --git a/img/quick-hands.png b/img/quick-hands.png new file mode 100644 index 0000000..3b2b252 Binary files /dev/null and b/img/quick-hands.png differ diff --git a/img/rad-resistant.png b/img/rad-resistant.png new file mode 100644 index 0000000..b0e85f8 Binary files /dev/null and b/img/rad-resistant.png differ diff --git a/img/refractor.png b/img/refractor.png new file mode 100644 index 0000000..375cec6 Binary files /dev/null and b/img/refractor.png differ diff --git a/img/ricochet.png b/img/ricochet.png new file mode 100644 index 0000000..5bfd111 Binary files /dev/null and b/img/ricochet.png differ diff --git a/img/rifleman.png b/img/rifleman.png new file mode 100644 index 0000000..fe72689 Binary files /dev/null and b/img/rifleman.png differ diff --git a/img/robotics-expert.png b/img/robotics-expert.png new file mode 100644 index 0000000..35b23df Binary files /dev/null and b/img/robotics-expert.png differ diff --git a/img/rooted.png b/img/rooted.png new file mode 100644 index 0000000..b0afb5c Binary files /dev/null and b/img/rooted.png differ diff --git a/img/science.png b/img/science.png new file mode 100644 index 0000000..a65e465 Binary files /dev/null and b/img/science.png differ diff --git a/img/scrapper.png b/img/scrapper.png new file mode 100644 index 0000000..6972d5e Binary files /dev/null and b/img/scrapper.png differ diff --git a/img/scrounger.png b/img/scrounger.png new file mode 100644 index 0000000..71b5d97 Binary files /dev/null and b/img/scrounger.png differ diff --git a/img/sneak.png b/img/sneak.png new file mode 100644 index 0000000..d2e49e6 Binary files /dev/null and b/img/sneak.png differ diff --git a/img/sniper.png b/img/sniper.png new file mode 100644 index 0000000..a986bbc Binary files /dev/null and b/img/sniper.png differ diff --git a/img/solar-powered.png b/img/solar-powered.png new file mode 100644 index 0000000..d32f931 Binary files /dev/null and b/img/solar-powered.png differ diff --git a/img/steady-aim.png b/img/steady-aim.png new file mode 100644 index 0000000..e83b18c Binary files /dev/null and b/img/steady-aim.png differ diff --git a/img/strong-back.png b/img/strong-back.png new file mode 100644 index 0000000..60f50ea Binary files /dev/null and b/img/strong-back.png differ diff --git a/img/toughness.png b/img/toughness.png new file mode 100644 index 0000000..e4228f6 Binary files /dev/null and b/img/toughness.png differ diff --git a/img/vans.png b/img/vans.png new file mode 100644 index 0000000..f3dfa7e Binary files /dev/null and b/img/vans.png differ diff --git a/img/wasteland-whisperer.png b/img/wasteland-whisperer.png new file mode 100644 index 0000000..666e3f0 Binary files /dev/null and b/img/wasteland-whisperer.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..c69bb86 --- /dev/null +++ b/index.html @@ -0,0 +1,157 @@ + + + + Планировщик персонажа Fallout 4 + + + + + + + + + +
+
+
+

S.P.E.C.I.A.L.

+

Загрузка...

+
    +
  • + СИЛА + + + + + + +
  • +
  • + ВОСПРИЯТИЕ + + + + + + +
  • +
  • + ВЫНОСЛИВОСТЬ + + + + + + +
  • +
  • + ХАРИЗМА + + + + + + +
  • +
  • + ИНТЕЛЛЕКТ + + + + + + +
  • +
  • + ЛОВКОСТЬ + + + + + + +
  • +
  • + УДАЧА + + + + + + +
  • +
+
+ Собраны все 7 пупсов S.P.E.C.I.A.L. (не сохраняется) +
+

Сводка:

+ Загрузка... +
    +
+
+
+
+
+
+
+ + + + + + + + + + + diff --git a/js/perks.js b/js/perks.js new file mode 100644 index 0000000..0782f7b --- /dev/null +++ b/js/perks.js @@ -0,0 +1,1882 @@ +var perks = [ + { + special: 'СИЛ', + perks: [ + { + rank: 1, + name: 'Iron Fist', + name_ru: 'Железный кулак', + img: 'iron-fist.png', + ranks: 5, + ranked: [ + { + rank: 1, + level: 0, + description: 'Преобразуйте энергию ци в неукротимую ярость! Удары кулаками наносят на 20 % больший урон.' + }, + { + rank: 2, + level: 9, + description: 'Удары кулаками наносят на 40 % больший урон и могут разоружить противника.' + }, + { + rank: 3, + level: 18, + description: 'Удары кулаками наносят на 60 % больший урон. Мощные атаки без оружия могут повредить конечность противника.' + }, + { + rank: 4, + level: 31, + description: 'Рукопашные атаки наносят на 80 % больше урона. Безоружные Силовые атаки получают повышенный шанс повредить одну из конечностей противника.' + }, + { + rank: 5, + level: 46, + description: 'Удары кулаками наносят удвоенный урон. Критические попадания в V.A.T.S. парализуют противников.' + } + ] + }, + { + rank: 2, + name: 'Big Leagues', + name_ru: 'Высшая лига', + img: 'big-leagues.png', + ranks: 5, + ranked: [ + { + rank: 1, + level: 0, + description: 'Бей со всей силы! Оружие ближнего боя наносит на 20 % больший урон.' + }, + { + rank: 2, + level: 7, + description: 'Холодное оружие наносит на 40 % больший урон и дает шанс разоружить врага.' + }, + { + rank: 3, + level: 15, + description: 'Холодное оружие наносит на 60 % больший урон и имеет повышенный шанс разоружить врага. ' + }, + { + rank: 4, + level: 27, + description: 'Холодное оружие наносит на 80 % больший урон и позволяет одновременно атаковать всех врагов перед вами.' + }, + { + rank: 5, + level: 42, + description: 'Холодное оружие наносит вдвое больший урон и дает шанс нанести увечье противнику или отрубить ему голову одним ударом!' + } + ] + }, + { + rank: 3, + name: 'Armorer', + name_ru: 'Оружейник', + img: 'armorer.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Защитите себя от опасностей Пустошей с доступом к базовым и первоуровневым модификациям брони.' + }, + { + rank: 2, + level: 13, + description: 'Вы можете использовать модификации брони 2 уровня.' + }, + { + rank: 3, + level: 25, + description: 'Вы можете использовать модификации брони 3 уровня.' + }, + { + rank: 4, + level: 39, + description: 'Вы можете использовать модификации брони 4 уровня.' + } + ] + }, + { + rank: 4, + name: 'Blacksmith', + name_ru: 'Кузнец', + img: 'blacksmith.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Куйте железо, пока горячо получив доступ к базовым и первоуровневым модификациям оружия ближнего боя.' + }, + { + rank: 2, + level: 16, + description: 'Вы можете использовать модификации оружия ближнего боя 2 уровня.' + }, + { + rank: 3, + level: 29, + description: 'Вы можете использовать модификации оружия ближнего боя 3 уровня.' + } + ] + }, + { + rank: 5, + name: 'Heavy Gunner', + name_ru: 'Фанат больших пушек', + img: 'heavy-gunner.png', + ranks: 5, + ranked: [ + { + rank: 1, + level: 0, + description: 'Физическая и стрелковая тренировки приносят свои плоды. Тяжелое оружие наносит на 20 % больший урон.' + }, + { + rank: 2, + level: 11, + description: 'Тяжелое оружие наносит на 40 % больший урон. Повышенная точность стрельбы от бедра.' + }, + { + rank: 3, + level: 21, + description: 'Тяжелое оружие наносит на 60 % больший урон. Еще более высокая точность стрельбы от бедра.' + }, + { + rank: 4, + level: 35, + description: 'Тяжелое оружие наносит на 80 % больший урон и дает шанс ошеломить противника.' + }, + { + rank: 5, + level: 47, + description: 'Тяжелое оружие наносит в два раза больше урона.' + } + ] + }, + { + rank: 6, + name: 'Strong Back', + name_ru: 'Крепкий хребет', + img: 'strong-back.png', + ranks: 5, + ranked: [ + { + rank: 1, + level: 0, + description: 'У вас что, мулы в родне? +25 к переноске грузов.' + }, + { + rank: 2, + level: 10, + description: '+50 к переноске грузов.' + }, + { + rank: 3, + level: 20, + description: 'Персонаж может бегать при превышении максимального веса, расходуя очки действия.' + }, + { + rank: 4, + level: 30, + description: 'Быстрое путешествие доступно при превышении максимального веса.' + }, + { + rank: 5, + level: 40, + description: 'Когда вы перегружены, расход очков действия на бег на 50 % меньше. (Far Harbor)' + } + ] + }, + { + rank: 7, + name: 'Steady Aim', + name_ru: 'Твёрдая рука', + img: 'steady-aim.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Бейте точно в цель! Повышение точности стрельбы от бедра из всех видов оружия.' + }, + { + rank: 2, + level: 28, + description: 'Еще большее повышение точности стрельбы от бедра из всех видов оружия.' + }, + { + rank: 3, + level: 49, + description: 'Повышение точности при стрельбе от бедра из всех видов оружия. (Nuka-World)' + } + ] + }, + { + rank: 8, + name: 'Basher', + name_ru: 'Хрясь!', + img: 'basher.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Войдите с врагом в тесный контакт! Удары прикладом наносят на 25 % больший урон.' + }, + { + rank: 2, + level: 5, + description: 'Удар прикладом наносит на 50 % больший урон. Шанс нанести увечье.' + }, + { + rank: 3, + level: 14, + description: 'Удар прикладом наносит на 75 % больший урон. Повышенный шанс нанести увечье.' + }, + { + rank: 4, + level: 26, + description: 'Удар прикладом наносит на 100 % больший урон. Повышенный шанс нанести увечье. Шанс нанести критический удар.' + } + ] + }, + { + rank: 9, + name: 'Rooted', + name_ru: 'Человек-дерево', + img: 'rooted.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы чем-то похожи на дерево. +25 % к урону в ближнем бою и без оружия и +25 к сопротивляемости урону, пока вы неподвижны.' + }, + { + rank: 2, + level: 22, + description: '+50 % к урону в ближнем бою и без оружия и +50 к сопротивляемости урону, пока вы неподвижны.' + }, + { + rank: 3, + level: 43, + description: 'Сохраняя неподвижность, вы можете автоматически разоружать врагов, которые атакуют вас оружием ближнего боя.' + } + ] + }, + { + rank: 10, + name: 'Pain Train', + name_ru: 'Локомотив', + img: 'pain-train.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Ту-ту-у! Поезд отправляется! Ускоряясь в Силовой Броне, вы наносите урон врагам и оглушаете их. Впрочем, на роботов и особо крупных противниках это не работает.' + }, + { + rank: 2, + level: 24, + description: 'Ускоряясь в Силовой Броне, вы наносите серьезный урон врагам и еще сильнее оглушаете их. Впрочем, на роботов и особо крупных противниках это все равно не работает.' + }, + { + rank: 3, + level: 50, + description: 'Ускоряясь в Силовой Броне, вы наносите значительный урон врагам и сбиваете их с ног. Силовое приземление наносит еще больший урон.' + } + ] + } + ] + }, + { + special: 'pe', + perks: [ + { + rank: 1, + name: 'Pickpocket', + name_ru: 'Карманник', + img: 'pickpocket.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'У вас быстрые руки и ловкие пальцы. Карманные кражи становятся на 25 % легче.' + }, + { + rank: 2, + level: 6, + description: 'Карманные кражи становятся на 50 % легче. Можно подкладывать в карман жертвы гранаты с выдернутой чекой.' + }, + { + rank: 3, + level: 17, + description: 'Карманные кражи становятся на 75 % легче. Можно красть оружие из рук.' + }, + { + rank: 4, + level: 30, + description: 'Карманные кражи становятся вдвое легче. Вы можете красть предметы экипировки.' + } + ] + }, + { + rank: 2, + name: 'Rifleman', + name_ru: 'Эксперт по карабинам', + img: 'rifleman.png', + ranks: 5, + ranked: [ + { + rank: 1, + level: 0, + description: 'Держите дистанцию и считайте убитых! Неавтоматические карабины наносят на 20 % больший урон.' + }, + { + rank: 2, + level: 9, + description: 'Неавтоматические карабины наносят на 40 % больший урон и игнорируют 15 % брони цели.' + }, + { + rank: 3, + level: 18, + description: 'Неавтоматические карабины наносят на 60 % больший урон и игнорируют 20 % брони цели.' + }, + { + rank: 4, + level: 31, + description: 'Неавтоматические карабины наносят на 80 % больший урон и игнорируют 25 % брони. Повышается шанс повредить конечность цели выстрелом из них.' + }, + { + rank: 5, + level: 46, + description: 'Неавтоматические карабины наносят удвоенный урон и игнорируют 30 % брони. Повышается шанс повредить конечность цели выстрелом из них.' + } + ] + }, + { + rank: 3, + name: 'Awareness', + name_ru: 'Наблюдательность', + img: 'awareness.png', + ranks: 2, + ranked: [ + { + rank: 1, + level: 0, + description: 'Чтобы победить врага, нужно знать его слабое место. В V.A.T.S. отображаются характеристики сопротивляемости цели.' + }, + { + rank: 2, + level: 14, + description: 'Зная слабые стороны противника, вы можете более эффективно атаковать. Плюс 5 % к меткости и урону в режиме V.A.T.S. (Nuka-World)' + } + ] + }, + { + rank: 4, + name: 'Locksmith', + name_ru: 'Взломщик', + img: 'locksmith.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Благодаря ловкости пальцев вы можете взламывать средние замки.' + }, + { + rank: 2, + level: 7, + description: 'Вы можете взламывать сложные замки.' + }, + { + rank: 3, + level: 18, + description: 'Вы можете взламывать очень сложные замки.' + }, + { + rank: 4, + level: 41, + description: 'Шпильки никогда не ломаются при взломе замков.' + } + ] + }, + { + rank: 5, + name: 'Demolition Expert', + name_ru: 'Эксперт-подрывник', + img: 'demolition-expert.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Чем больше бабах, тем лучше! Вы можете изготавливать взрывчатку в любых химлабораториях, а урон от нее увеличивается на 25 %.' + }, + { + rank: 2, + level: 10, + description: 'Взрывчатка наносит на 50 % больший урон. Видна траектория броска гранат.' + }, + { + rank: 3, + level: 22, + description: 'Взрывчатка наносит на 75 % больший урон и накрывает большую площадь.' + }, + { + rank: 4, + level: 34, + description: 'Взрывчатка наносит удвоенный урон. Мины и гранаты, взорванные выстрелом в V.A.T.S, также наносят вдвое больший урон.' + } + ] + }, + { + rank: 6, + name: 'Night Person', + name_ru: 'Ночное существо', + img: 'night-person.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы — существо ночи! +2 к интеллекту и восприятию с 18:00 до 6:00.' + }, + { + rank: 2, + level: 25, + description: 'Еще +1 к интеллекту и восприятию (в итоге +3) в период с 18:00 до 6:00. Ночное зрение в режиме скрытности.' + }, + { + rank: 3, + level: 37, + description: 'Вы получаете 30 дополнительных очков здоровья в период с 18:00 до 6:00. (Far Harbor)' + } + ] + }, + { + rank: 7, + name: 'Refractor', + name_ru: 'Отражатель', + img: 'refractor.png', + ranks: 5, + ranked: [ + { + rank: 1, + level: 0, + description: 'Похоже, у вас зеркальная кожа! +10 к сопротивляемости энергии.' + }, + { + rank: 2, + level: 11, + description: '+20 к сопротивляемости энергии.' + }, + { + rank: 3, + level: 21, + description: '+30 к сопротивляемости энергии. ' + }, + { + rank: 4, + level: 35, + description: '+40 к сопротивляемости энергии. ' + }, + { + rank: 5, + level: 42, + description: '+50 к сопротивляемости энергии. ' + } + ] + }, + { + rank: 8, + name: 'Sniper', + name_ru: 'Снайпер', + img: 'sniper.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Главное — сосредоточенность. Вы можете дольше задерживать дыхание и лучше координировать движение рук во время прицеливания.' + }, + { + rank: 2, + level: 13, + description: 'Шанс сбить врага с ног одиночным выстрелом из неавтоматического карабина с оптическим прицелом.' + }, + { + rank: 3, + level: 26, + description: 'Повышение вероятности попадания в голову в V.A.T.S. из неавтоматического карабина с оптическим прицелом на 25 %.' + } + ] + }, + { + rank: 9, + name: 'Penetrator', + name_ru: 'Сквозные выстрелы', + img: 'penetrator.png', + ranks: 2, + ranked: [ + { + rank: 1, + level: 0, + description: 'Враг не уйдет! При использовании V.A.T.S. вы можете стрелять по частям тела противника, скрытыми за препятствиями. Вероятность попадания при этом снижается.' + }, + { + rank: 2, + level: 28, + description: 'При использовании V.A.T.S. вы можете стрелять по частям тела противника, скрытыми за препятствиями. Вероятность попадания при этом не снижается.' + } + ] + }, + { + rank: 10, + name: 'Concentrated Fire', + name_ru: 'Массированный огонь', + img: 'concentrated-fire.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Сосредоточьтесь! +10 % к вероятности попадания в V.A.T.S. за каждую повторную атаку в ту же часть тела.' + }, + { + rank: 2, + level: 26, + description: '+15 % к вероятности попадания в V.A.T.S. за каждую повторную атаку в ту же часть тела.' + }, + { + rank: 3, + level: 50, + description: '+20 % к вероятности попадания и урону в V.A.T.S. за каждую повторную атаку в ту же часть тела.' + } + ] + } + ] + }, + { + special: 'en', + perks: [ + { + rank: 1, + name: 'Toughness', + name_ru: 'Стойкость', + img: 'toughness.png', + ranks: 5, + ranked: [ + { + rank: 1, + level: 0, + description: 'Как минимум, держать удар вы умеете! +10 к сопротивляемости урону.' + }, + { + rank: 2, + level: 9, + description: '+20 к сопротивляемости урону. ' + }, + { + rank: 3, + level: 18, + description: '+30 к сопротивляемости урону. ' + }, + { + rank: 4, + level: 31, + description: '+40 к сопротивляемости урону. ' + }, + { + rank: 5, + level: 46, + description: '+50 к сопротивляемости урону. ' + } + ] + }, + { + rank: 2, + name: 'Lead Belly', + name_ru: 'Свинцовое брюхо', + img: 'lead-belly.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Ваш пищеварительный тракт идеально приспособился к жизни в Пустоши. +10 к сопротивляемости радиации при употреблении радиоактивной пищи и воды.' + }, + { + rank: 2, + level: 6, + description: 'Персонаж получает еще меньше радиации при употреблении зараженной пищи и воды.' + }, + { + rank: 3, + level: 17, + description: 'Персонаж не получает радиации при употреблении зараженной пищи и воды. ' + } + ] + }, + { + rank: 3, + name: 'Life Giver', + name_ru: 'Фонтан жизни', + img: 'life-giver.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы — воплощение здорового образа жизни! Мгновенное увеличение максимального здоровья на 20 единиц.' + }, + { + rank: 2, + level: 8, + description: 'Мгновенное увеличение максимального здоровья еще на 20 единиц.' + }, + { + rank: 3, + level: 20, + description: 'Мгновенное увеличение максимального здоровья еще на 20 единиц. Постепенное восстановление утраченного здоровья.' + } + ] + }, + { + rank: 4, + name: 'Chem Resistant', + name_ru: 'Чистая жизнь', + img: 'chem-resistant.png', + ranks: 2, + ranked: [ + { + rank: 1, + level: 0, + description: 'Приход без проблем. Вероятность получить зависимость при употреблении химикатов снижена на 50 %.' + }, + { + rank: 2, + level: 22, + description: 'Вы не можете получить зависимость от химии.' + } + ] + }, + { + rank: 5, + name: 'Aquaboy', + name_ru: 'Аква-мальчик', + img: 'aquaboy.png', + ranks: 2, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вода — ваш союзник. Вы можете дышать под водой и не получаете урон от радиации во время плавания.' + }, + { + rank: 2, + level: 21, + description: 'Если вы находитесь под водой, враг вас не видит.' + } + ] + }, + { + rank: 6, + name: 'Rad Resistant', + name_ru: 'Свинцовые штаны', + img: 'rad-resistant.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Жизнь в Пустоши закалила вас. +10 к сопротивляемости радиации.' + }, + { + rank: 2, + level: 13, + description: '+20 к сопротивляемости радиации.' + }, + { + rank: 3, + level: 26, + description: '+30 к сопротивляемости радиации.' + }, + { + rank: 4, + level: 35, + description: '+40 к сопротивляемости радиации. (Far Harbor)' + } + ] + }, + { + rank: 7, + name: 'Adamantium Skeleton', + name_ru: 'Адамантиевый скелет', + img: 'adamantium-skeleton.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Ваши кости пропитаны невероятно прочным металлом. Урон конечностям ниже на 30 %.' + }, + { + rank: 2, + level: 13, + description: 'Урон конечностям персонажа уменьшается на 60 %.' + }, + { + rank: 3, + level: 26, + description: 'Конечностям персонажа не может быть нанесен урон.' + } + ] + }, + { + rank: 8, + name: 'Cannibal', + name_ru: 'Каннибал', + img: 'cannibal.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Лечитесь, пожирая человечину! Поедание человеческих останков восстанавливает здоровье.' + }, + { + rank: 2, + level: 19, + description: 'Поедание останков гулей и супермутантов восстанавливает здоровье.' + }, + { + rank: 3, + level: 38, + description: 'Поедание останков гулей, супермутантов и людей значительно восстанавливает здоровье.' + } + ] + }, + { + rank: 9, + name: 'Ghoulish', + name_ru: 'Гуль', + img: 'ghoulish.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы все еще человек, просто несколько менее симпатичный. Теперь радиация восстанавливает ваше здоровье.' + }, + { + rank: 2, + level: 24, + description: 'Радиация еще быстрее восстанавливает ваше здоровье.' + }, + { + rank: 3, + level: 48, + description: 'Радиация еще быстрее восстанавливает ваше здоровье. Некоторые дикие гули могут стать вашими союзниками.' + }, + { + rank: 4, + level: 50, + description: 'Доза облучения будет постепенно уменьшаться, а здоровье восстанавливаться. (Nuka-World)' + } + ] + }, + { + rank: 10, + name: 'Solar Powered', + name_ru: 'Солнечная батарейка', + img: 'solar-powered.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Здравствуй, Солнце! +2 к силе и выносливости в период с 06:00 до 18:00 часов.' + }, + { + rank: 2, + level: 27, + description: 'Солнечный свет медленно нейтрализуют полученную вами радиацию.' + }, + { + rank: 3, + level: 50, + description: 'Солнечный свет восстанавливает ваше здоровье.' + } + ] + } + ] + }, + { + special: 'ch', + perks: [ + { + rank: 1, + name: 'Cap Collector', + name_ru: 'Коллекционер крышек', + img: 'cap-collector.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы овладели искусством торговли. Цены у торговцев стали выгоднее.' + }, + { + rank: 2, + level: 20, + description: 'Цены у торговцев стали намного выгоднее.' + }, + { + rank: 3, + level: 41, + description: 'Вы можете повысить покупательную способность магазина, инвестировав в него 500 крышек.' + } + ] + }, + { + rank: 2, + name: 'Lady Killer', + name_ru: 'Женоубийца', + img: 'lady-killer-black-widow.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы очаровательны… и опасны. Женщины/мужчины легче поддаются вашему убеждению и получают на 5 % больший урон в бою.' + }, + { + rank: 2, + level: 7, + description: 'Вероятность успешного разговора с женщинами/мужчинами ещё выше, а наносимый им урон увеличивается на 10 %. Женщин/мужчин легче усмирить с помощью способности Запугивание.' + }, + { + rank: 3, + level: 16, + description: 'Вероятность успешного разговора с женщинами/мужчинами намного выше, а наносимый им урон увеличивается на 15 %. Женщин/мужчин ещё легче усмирить с помощью способности Запугивание.' + } + ] + }, + { + rank: 3, + name: 'Lone Wanderer', + name_ru: 'Одинокий странник', + img: 'lone-wanderer.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Кому нужны друзья? Путешествуя без спутника, вы получаете на 15 % меньший урон, а максимальный вес переносимых вами грузов увеличивается на 50.' + }, + { + rank: 2, + level: 17, + description: 'Путешествуя без спутника, вы получаете на 30 % меньший урон, а максимальный вес переносимых вами грузов увеличивается на 100.' + }, + { + rank: 3, + level: 40, + description: 'Путешествуя без спутника, вы наносите на 25 % больше урона.' + }, + { + rank: 4, + level: 50, + description: 'Путешествуя без спутника, вы получаете дополнительных 25 очков действия. (Far Harbor)' + } + ] + }, + { + rank: 4, + name: 'Attack Dog', + name_ru: 'Боевой пёс', + img: 'attack-dog.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Псина обезвреживает противника, повышая вероятность попадания в него в режиме V.A.T.S.' + }, + { + rank: 2, + level: 9, + description: 'Обездвиживая противника, ваша собака может повредить ему конечность.' + }, + { + rank: 3, + level: 25, + description: 'Обездвиживая противника, ваша собака может вызвать у него кровотечение.' + }, + { + rank: 4, + level: 31, + description: 'Если вы путешествуете в компании собаки, то получаете на 10 % меньше урона. (Nuka-World)' + } + ] + }, + { + rank: 5, + name: 'Animal Friend', + name_ru: 'Друг животных', + img: 'animal-friend.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы понимаете язык диких зверей! Наставьте оружие на животное, которое меньше вас по уровню, чтобы получить шанс усмирить его.' + }, + { + rank: 2, + level: 12, + description: 'Усмирив животное, вы можете заставить его атаковать ваших врагов.' + }, + { + rank: 3, + level: 28, + description: 'Усмирив животное, вы можете отдавать ему определенные команды.' + } + ] + }, + { + rank: 6, + name: 'Local Leader', + name_ru: 'Местный лидер', + img: 'local-leader.png', + ranks: 2, + ranked: [ + { + rank: 1, + level: 0, + description: 'Будучи всенародно признанным правителем, вы можете прокладывать линии снабжения между своими поселениями.' + }, + { + rank: 2, + level: 14, + description: 'Вы можете строить торговые пункты и мастерские в поселениях.' + } + ] + }, + { + rank: 7, + name: 'Party Boy', + name_ru: 'Тусовщик', + img: 'party-boy-party-girl.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Никто не умеет так веселиться, как вы! Алкоголь не вызывает зависимости.' + }, + { + rank: 2, + level: 15, + description: 'Эффекты от употребления алкоголя усиливаются в 2 раза.' + }, + { + rank: 3, + level: 37, + description: 'В состоянии алкогольного опьянения ваша удача повышается на 3.' + } + ] + }, + { + rank: 8, + name: 'Inspiration', + name_ru: 'Прирождённый лидер', + img: 'inspiration.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы — прирождённый лидер. Ваш спутник наносит дополнительный урон в бою и не может ранить вас самих.' + }, + { + rank: 2, + level: 19, + description: 'Спутник лучше сопротивляется урону, а также становится неуязвимым к вашим собственным атакам.' + }, + { + rank: 3, + level: 43, + description: 'Спутник может нести больше вещей.' + } + ] + }, + { + rank: 9, + name: 'Wasteland Whisperer', + name_ru: 'Говорящий с Пустошью', + img: 'wasteland-whisperer.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Станьте повелителем постапокалиптического мира! Наставьте оружие на существо, которое меньше вас по уровню, чтобы получить шанс усмирить его.' + }, + { + rank: 2, + level: 21, + description: 'Усмирив существо, вы можете заставить его атаковать ваших врагов.' + }, + { + rank: 3, + level: 49, + description: 'Усмирив существо, вы сможете им командовать.' + } + ] + }, + { + rank: 10, + name: 'Intimidation', + name_ru: 'Запугивание', + img: 'intimidation.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Покажите всем, кто тут главный! наставьте оружие на человека, который меньше вас по уровню, чтобы получить шанс усмирить его.' + }, + { + rank: 2, + level: 23, + description: 'Усмирив человека, вы можете заставить его атаковать ваших врагов.' + }, + { + rank: 3, + level: 50, + description: 'Усмирив человека, вы сможете им командовать.' + } + ] + } + ] + }, + { + special: 'in', + perks: [ + { + rank: 1, + name: 'V.A.N.S.', + name_ru: 'V.A.N.S.', + img: 'vans.png', + ranks: 2, + ranked: [ + { + rank: 1, + level: 0, + description: 'Пусть вас направит сила «Волт-Тек»! Путь к вашей ближайшей цели задания отображается в V.A.T.S.' + }, + { + rank: 2, + level: 36, + description: 'Восприятие +2 (Nuka-World)' + } + ] + }, + { + rank: 2, + name: 'Medic', + name_ru: 'Медик', + img: 'medic.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Врача, срочно! Стимуляторы восстанавливают 40 % утраченного здоровья, а антирадин нейтрализует 40 % радиации.' + }, + { + rank: 2, + level: 18, + description: 'Стимуляторы восстанавливают 60 % утраченного здоровья, а антирадин нейтрализует 60 % радиации.' + }, + { + rank: 3, + level: 30, + description: 'Стимуляторы восстанавливают 80 % утраченного здоровья, а антирадин нейтрализует 80 % радиации.' + }, + { + rank: 4, + level: 49, + description: 'Стимуляторы полностью восстанавливают здоровье, а антирадин нейтрализует всю радиацию. При этом они действуют намного быстрее.' + } + ] + }, + { + rank: 3, + name: 'Gun Nut', + name_ru: 'Фанатик оружия', + img: 'gun-nut.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Стреляйте и убивайте, получив доступ к к модификация оружия базового и 1 уровня.' + }, + { + rank: 2, + level: 13, + description: 'Вы можете использовать модификации стрелкового оружия 2 уровня.' + }, + { + rank: 3, + level: 25, + description: 'Вы можете использовать модификации стрелкового оружия 3 уровня.' + }, + { + rank: 4, + level: 39, + description: 'Вы можете использовать модификации стрелкового оружия 4 уровня.' + } + ] + }, + { + rank: 4, + name: 'Hacker', + name_ru: 'Хакер', + img: 'hacker.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Знание современных программ шифрования позволяет вам взламывать средние терминалы.' + }, + { + rank: 2, + level: 9, + description: 'Вы можете взламывать сложные терминалы.' + }, + { + rank: 3, + level: 21, + description: 'Вы можете взламывать очень сложные терминалы.' + }, + { + rank: 4, + level: 33, + description: 'Терминалы не блокируются в ходе взлома.' + } + ] + }, + { + rank: 5, + name: 'Scrapper', + name_ru: 'Драчун', + img: 'scrapper.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Всему найдется применение! Разбирая оружие и доспехи, вы можете добывать необычные компоненты: винты, алюминий, медь.' + }, + { + rank: 2, + level: 23, + description: 'Разбирая оружие и доспехи, вы можете добывать редкие компоненты: электронику, ядерные материалы. Предметы с помеченными компонентами подсвечиваются.' + }, + { + rank: 3, + level: 40, + description: 'Разбирая на части предметы, вы получаете больше материалов. (Far Harbor)' + } + ] + }, + { + rank: 6, + name: 'Science', + name_ru: 'Наука!', + img: 'science.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Воспользуйтесь преимуществами передовых технологий, получив доступ к базовым и первоуровневым модификациям высокотехнологического оружия.' + }, + { + rank: 2, + level: 17, + description: 'Вы можете использовать высокотехнологические модификации 2 уровня.' + }, + { + rank: 3, + level: 28, + description: 'Вы можете использовать высокотехнологические модификации 3 уровня.' + }, + { + rank: 4, + level: 41, + description: 'Вы можете использовать высокотехнологические модификации 4 уровня.' + } + ] + }, + { + rank: 7, + name: 'Chemist', + name_ru: 'Химик', + img: 'chemist.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Длительность действия препаратов увеличивается на 50 %. Полный улет.' + }, + { + rank: 2, + level: 16, + description: 'Длительность действия препаратов увеличивается на 100 %.' + }, + { + rank: 3, + level: 32, + description: 'Длительность действия препаратов увеличивается на 150 %.' + }, + { + rank: 4, + level: 45, + description: 'Длительность действия препаратов увеличивается на 200 %.' + } + ] + }, + { + rank: 8, + name: 'Robotics Expert', + name_ru: 'Эксперт по роботехнике', + img: 'robotics-expert.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Машины должны служить людям. Теперь вы можете взламывать роботов, чтобы включать и выключать их или запустить их программу самоуничтожения.' + }, + { + rank: 2, + level: 19, + description: 'Взломав робота, вы можете заставить его атаковать ваших врагов.' + }, + { + rank: 3, + level: 44, + description: 'Взломав робота, вы сможете отдавать ему определенные команды.' + } + ] + }, + { + rank: 9, + name: 'Nuclear Physicist', + name_ru: 'Физик-ядерщик', + img: 'nuclear-physicist.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы научились расщеплять атом… и повелевать его энергией. Урон от радиационного оружия повышен на 50 %, а срок действия ядерных блоков увеличен на 25 %.' + }, + { + rank: 2, + level: 14, + description: 'Радиационное оружие наносит удвоенный урон, а ядерные блоки действуют еще на 50 % дольше.' + }, + { + rank: 3, + level: 26, + description: 'Вы можете извлекать ядерные блоки из Силовой брони и бросать их, словно мощные гранаты. Ядерные блоки действуют вдвое дольше.' + } + ] + }, + { + rank: 10, + name: 'Nerd Rage', + name_ru: 'Бешенство ботаника!', + img: 'nerd-rage.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Гений в ярости! Когда здоровье падает ниже 20 %, время замедляется, сопротивляемость урону +20, а наносимый урон увеличивается на 20 %.' + }, + { + rank: 2, + level: 31, + description: '+30 к сопротивляемости урону и +30 % к наносимому урону во время действия «Бешенства ботаника».' + }, + { + rank: 3, + level: 50, + description: 'Сопротивляемость урону +40, а наносимый урон увеличивается на 40 % пока действует «Бешенства ботаника». Убив врага в этом состоянии, вы восстанавливаете здоровье.' + } + ] + } + ] + }, + { + special: 'ag', + perks: [ + { + rank: 1, + name: 'Gunslinger', + name_ru: 'Дуэлист', + img: 'gunslinger.png', + ranks: 5, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вспомним традиции Дикого Запада! Неавтоматические пистолеты наносят на 20 % больше урона.' + }, + { + rank: 2, + level: 7, + description: 'Неавтоматические пистолеты наносят на 40 % больше урона, а их дальность стрельбы увеличена.' + }, + { + rank: 3, + level: 15, + description: 'Неавтоматические пистолеты наносят на 60 % больше урона, а их дальность стрельбы увеличена еще больше.' + }, + { + rank: 4, + level: 27, + description: 'Неавтоматические пистолеты наносят на 80 % больший урон. Их выстрелы могут разоружить противника.' + }, + { + rank: 5, + level: 42, + description: 'Неавтоматические пистолеты наносят на 100 % больше урона. Их выстрелы с большей вероятностью разоружают противника и даже могут нанести ему увечье.' + } + ] + }, + { + rank: 2, + name: 'Commando', + name_ru: 'Коммандос', + img: 'commando.png', + ranks: 5, + ranked: [ + { + rank: 1, + level: 0, + description: 'Ваши тренировки на полигоне не проходят даром. Автоматическое оружие наносит на 20 % больший урон.' + }, + { + rank: 2, + level: 11, + description: 'Автоматическое оружие наносит на 40 % больший урон. Повышенная точность стрельбы от бедра.' + }, + { + rank: 3, + level: 21, + description: 'Автоматическое оружие наносит на 60 % больший урон. Высокая точность стрельбы от бедра.' + }, + { + rank: 4, + level: 35, + description: 'Автоматическое оружие наносит на 80 % больший урон и дает шанс ошеломить врага.' + }, + { + rank: 5, + level: 49, + description: 'Автоматическое оружие наносит на 100 % больший урон и дает повышенный шанс ошеломить врага.' + } + ] + }, + { + rank: 3, + name: 'Sneak', + name_ru: 'Лазутчик', + img: 'sneak.png', + ranks: 5, + ranked: [ + { + rank: 1, + level: 0, + description: 'Станьте шёпотом, станьте тенью. Если вы находитесь в режиме скрытности, вероятность обнаружения вас противником уменьшается на 20 %.' + }, + { + rank: 2, + level: 5, + description: 'Вероятность того, что в режиме скрытности вас обнаружит враг, ниже на 30 %. От ваших шагов не срабатывают напольные ловушки.' + }, + { + rank: 3, + level: 12, + description: 'Вероятность того, что в режиме скрытности вас обнаружит враг, ниже на 40 %. От ваших шагов не срабатывают напольные ловушки и мины.' + }, + { + rank: 4, + level: 23, + description: 'Вероятность того, что в режиме скрытности вас обнаружит враг, ниже на 50 %. Бег в режиме скрытности больше не выдает вас.' + }, + { + rank: 5, + level: 38, + description: 'Если вы находитесь в режиме скрытности, находящиеся вдали враги перестают вас преследовать.' + } + ] + }, + { + rank: 4, + name: 'Mister Sandman', + name_ru: 'Песочный человек', + img: 'mister-sandman.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Служа самой Смерти, вы можете мгновенно убивать спящих. Урон от скрытных атак при использовании оружия с глушителем увеличен на 15 %.' + }, + { + rank: 2, + level: 17, + description: 'Урон от оружия с глушителем при использовании скрытных атак увеличивается на 30 %.' + }, + { + rank: 3, + level: 30, + description: 'Урон от оружия с глушителем при использовании скрытных атак увеличивается на 50 %.' + } + ] + }, + { + rank: 5, + name: 'Action Boy', + name_ru: 'Живчик', + img: 'action-boy-action-girl.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Нельзя терять ни минуты! ОД восстанавливаются на 25 % быстрее.' + }, + { + rank: 2, + level: 18, + description: 'ОД восстанавливаются на 50 % быстрее.' + }, + { + rank: 3, + level: 38, + description: 'Очки действия теперь восстанавливаются на 75 % быстрее. (Far Harbor)' + } + ] + }, + { + rank: 6, + name: 'Moving Target', + name_ru: 'Бегущая мишень', + img: 'moving-target.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Не догонишь, не поймаешь! +25 к сопротивляемости урону и энергии при ускорении.' + }, + { + rank: 2, + level: 24, + description: '+50 к сопротивляемости урону и энергии при ускорении.' + }, + { + rank: 3, + level: 44, + description: 'Расход ОД при ускорении уменьшается на 50 %.' + } + ] + }, + { + rank: 7, + name: 'Ninja', + name_ru: 'Ниндзя', + img: 'ninja.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы — настоящий ниндзя. Урон от скрытных атак в дальнем бою увеличивается в 2,5 раза, а в ближнем бою — в 4 раза.' + }, + { + rank: 2, + level: 16, + description: 'Урон от скрытных атак в дальнем бою увеличивается в 3 раза, а в ближнем бою — в 5 раз.' + }, + { + rank: 3, + level: 33, + description: 'Урон от скрытных атак в дальнем бою увеличивается в 3,5 раза, а в ближнем бою — в 10 раз.' + } + ] + }, + { + rank: 8, + name: 'Quick Hands', + name_ru: 'Ловкость рук', + img: 'quick-hands.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'В бою дорога каждая секунда. Ускорение перезарядки всех видов оружия.' + }, + { + rank: 2, + level: 28, + description: 'При перезарядке оружия в V.A.T.S. не тратятся ОД.' + }, + { + rank: 3, + level: 40, + description: 'Быстро и эффективно. Вы получаете 10 дополнительных ОД. (Nuka-World)' + } + ] + }, + { + rank: 9, + name: 'Blitz', + name_ru: 'Блиц', + img: 'blitz.png', + ranks: 2, + ranked: [ + { + rank: 1, + level: 0, + description: 'Найдите брешь и идите на прорыв! Дистанция атак в ближнем бою в V.A.T.S. значительно увеличивается.' + }, + { + rank: 2, + level: 29, + description: 'Еще большее увеличение дистанции ближнего боя в V.A.T.S.. Чем дальше враг, тем больший урон он получает.' + } + ] + }, + { + rank: 10, + name: 'Gun Fu', + name_ru: 'Ган-ката', + img: 'gun-fu.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы обнаружили связь между боевыми искусствами и стрельбой! +25 % к урону второй и последующим целям в V.A.T.S.' + }, + { + rank: 2, + level: 26, + description: '+50 % к урону 3-й и последующим целям в V.A.T.S.' + }, + { + rank: 3, + level: 50, + description: 'Попадания в 4-ю и последующие цели в V.A.T.S. становятся критическими.' + } + ] + } + ] + }, + { + special: 'lu', + perks: [ + { + rank: 1, + name: 'Fortune Finder', + name_ru: 'Кладоискатель', + img: 'fortune-finder.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы научились искать сокровища Пустоши и теперь будете находить больше крышек в ящиках.' + }, + { + rank: 2, + level: 5, + description: 'В ящиках можно найти еще больше крышек.' + }, + { + rank: 3, + level: 25, + description: 'В ящиках можно найти еще больше крышек.' + }, + { + rank: 4, + level: 40, + description: 'В ящиках можно найти еще больше крышек. Есть шанс, что убитый вами противник осыпет вас дождем из крышек.' + } + ] + }, + { + rank: 2, + name: 'Scrounger', + name_ru: 'Халявщик', + img: 'scrounger.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы способны добывать боеприпасы даже на поле боя и находите больше патронов в ящиках.' + }, + { + rank: 2, + level: 7, + description: 'На трупах и в ящиках можно найти еще больше боеприпасов.' + }, + { + rank: 3, + level: 24, + description: 'На трупах и в ящиках можно найти еще больше боеприпасов.' + }, + { + rank: 4, + level: 37, + description: 'При выстреливании последнего патрона в магазине, есть шанс, что магазин восполнится.' + } + ] + }, + { + rank: 3, + name: 'Bloody Mess', + name_ru: 'Кровавая баня', + img: 'bloody-mess.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Увеличение урона на 5 % означает, что убитые враги иногда могут взрываться. Берегитесь летящих глазных яблок!' + }, + { + rank: 2, + level: 9, + description: '+10 % к урону в бою.' + }, + { + rank: 3, + level: 31, + description: '+15 % к урону в бою.' + }, + { + rank: 4, + level: 47, + description: 'Если ваша цель взрывается, находящиеся рядом с ней враги могут разделить ее судьбу.' + } + ] + }, + { + rank: 4, + name: 'Mysterious Stranger', + name_ru: 'Загадочный незнакомец', + img: 'mysterious-stranger.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Кто он? Почему он вам помогает? Какая разница! При использовании V.A.T.S. к вам на помощь иногда будет приходить смертельно опасный незнакомец.' + }, + { + rank: 2, + level: 22, + description: 'При использовании V.A.T.S. загадочный незнакомец появляется чаще.' + }, + { + rank: 3, + level: 41, + description: 'При использовании V.A.T.S. загадочный незнакомец появляется чаще. Когда он убивает противника, ваш индикатор критической атаки может заполняться.' + }, + { + rank: 4, + level: 49, + description: 'При использовании VATS Загадочный незнакомец появляется еще чаще. Когда он убивает противника, ваш индикатор критической атаки с высокой вероятностью может заполниться. (Nuka-World)' + } + ] + }, + { + rank: 5, + name: 'Idiot Savant', + name_ru: 'Савант', + img: 'idiot-savant.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы не тупы, а альтернативно гениальны. Любое действие может принести в 3 раза больше опыта. Чем ниже интеллект, тем выше вероятность успеха.' + }, + { + rank: 2, + level: 11, + description: 'Любое действие может принести в 5 раза больше опыта. Чем ниже интеллект, тем выше вероятность успеха.' + }, + { + rank: 3, + level: 34, + description: 'Получение дополнительного опыта за любое действие может дать временное трехкратное увеличение опыта за все убийства. Чем ниже интеллект, тем выше вероятность.' + } + ] + }, + { + rank: 6, + name: 'Better Criticals', + name_ru: 'Критический урон', + img: 'better-criticals.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Курсы повышения боевой квалификации! Урон от критических атак увеличен на 50 %.' + }, + { + rank: 2, + level: 15, + description: 'Критические атаки наносят вдвое больший урон.' + }, + { + rank: 3, + level: 40, + description: 'Критические атаки наносят в 2,5 раза больший урон.' + } + ] + }, + { + rank: 7, + name: 'Critical Banker', + name_ru: 'Банк критических атак', + img: 'critical-banker.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Терпение и тактическая смекалка — ваши сильные стороны. Вы можете сохранить 1 критическую атаку для последующего использования в V.A.T.S.' + }, + { + rank: 2, + level: 17, + description: 'Вы можете сохранить 2 критические атаки для последующего использования в V.A.T.S.' + }, + { + rank: 3, + level: 43, + description: 'Вы можете сохранить 3 критические атаки для последующего использования в V.A.T.S. При каждом сохранении критической атаки есть шанс на автоматическое сохранение еще одной.' + }, + { + rank: 4, + level: 50, + description: 'Вы можете сохранить 4 критические атаки для последующего использования в V.A.T.S. (Far Harbor)' + } + ] + }, + { + rank: 8, + name: 'Grim Reaper\'s Sprint', + name_ru: 'Смерть на взлёте', + img: 'grim-reapers-sprint.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Вы — воплощение смерти! Уничтожение врага в V.A.T.S. с вероятностью 15 % восстанавливает все ОД.' + }, + { + rank: 2, + level: 19, + description: 'Уничтожение врага в V.A.T.S. с вероятностью 25 % восстанавливает все ОД.' + }, + { + rank: 3, + level: 46, + description: 'Уничтожение врага в V.A.T.S. с вероятностью 35 % восстанавливает все ОД и заполняет индикатор критической атаки.' + } + ] + }, + { + rank: 9, + name: 'Four Leaf Clover', + name_ru: 'Клевер-четырёхлистник', + img: 'four-leaf-clover.png', + ranks: 4, + ranked: [ + { + rank: 1, + level: 0, + description: 'Думаете, вам повезет? Вероятность заполнить индикатор критической атаки при попадании в V.A.T.S.' + }, + { + rank: 2, + level: 13, + description: 'Еще большая вероятность мгновенно заполнить индикатор критической атаки при попадании в V.A.T.S.' + }, + { + rank: 3, + level: 32, + description: 'Очень высокая вероятность мгновенно заполнить индикатор критической атаки при попадании в V.A.T.S.' + }, + { + rank: 4, + level: 48, + description: 'Превосходная вероятность мгновенно заполнить индикатор критической атаки при попадании в V.A.T.S.' + } + ] + }, + { + rank: 10, + name: 'Ricochet', + name_ru: 'Рикошет', + img: 'ricochet.png', + ranks: 3, + ranked: [ + { + rank: 1, + level: 0, + description: 'Что посеешь, то и пожнешь! Противник, атакующий вас в дальнем бою, получает шанс погибнуть от собственного выстрела. Чем меньше ваше здоровье, тем выше вероятность.' + }, + { + rank: 2, + level: 29, + description: 'Еще более высокий шанс того, что выстрел противника срикошетит в него самого и убьет.' + }, + { + rank: 3, + level: 50, + description: 'Если противник умирает от рикошета, ваш индикатор критической атаки может заполниться.' + } + ] + } + ] + } +]; diff --git a/js/scripts.js b/js/scripts.js new file mode 100644 index 0000000..cebb65d --- /dev/null +++ b/js/scripts.js @@ -0,0 +1,306 @@ +var totalPoints = 28; + +var renderPerks = function () { + var html = '', + special = getSPECIAL(); + specialRu = getSPECIALru(); + + html += ''; + for (var i = 0; i < special.length; ++i) { + html += '' + specialRu[i].special.toUpperCase() + ': ' + special[i].value + ''; + } + html += ''; + + for (var i = 0; i <= 9; ++i) { + html += ''; + for (var j = 0; j < perks.length; ++j) { + var perk = perks[j].perks[i], + className = i > special[j].value - 1 ? ' unavailable' : ''; + + if (!perk.currentRank) { + perk.currentRank = 0; + } + if (className == ' unavailable') { + perk.currentRank = 0; + } + + var title = ''; + title += perk.ranked.map(function (rank) { + var rankClass = perk.currentRank >= rank.rank ? 'has-rank' : 'no-rank'; + return '

Ранг ' + rank.rank + ' (' + rank.level + '): ' + rank.description + '

'; + }).join(''); + + html += '
'; + if (className !== ' unavailable') { + html += '
 ' + perk.currentRank + ' / ' + perk.ranks + ' 
'; + } + html += ''; + } + html += ''; + } + $('.table').html(html); +} + +var getJSON = function () { + return btoa(JSON.stringify({ + s: getSPECIALShort(), + r: getRanks() + })); +} + +var getRanks = function () { + var ranks = []; + for (var i = 0; i < perks.length; ++i) { + for (var j = 0; j < perks[i].perks.length; ++j) { + var perk = perks[i].perks[j]; + if (perk.currentRank && perk.currentRank > 0) { + var item = {}; + item[perk.name] = perk.currentRank; + ranks.push(item); + } + } + } + + return ranks; +} + +var getSPECIALShort = function () { + var specs = []; + $('input[type="number"]').each(function () { + specs.push($(this).val()); + }); + return specs; +}; + +var getSPECIAL = function () { + return $('[data-special]').map(function () { + return { + special: $(this).data('special'), + value: $(this).find('input').val() + }; + }); +}; + +var getSPECIALru = function () { + return $('[data-special-ru]').map(function () { + return { + special: $(this).data('special-ru'), + }; + }); +}; + +var requiredLevel = function () { + var total = 0; + for (var i = 0; i < perks.length; ++i) { + for (var j = 0; j < perks[i].perks.length; ++j) { + total += perks[i].perks[j].currentRank; + } + } + + var remaining = totalPoints - getAllocatedPoints(); + if (remaining < 0) { + total += remaining * -1; + } + + var maxLevel = 0; + for (var i = 0; i < perks.length; ++i) { + for (var j = 0; j < perks[i].perks.length; ++j) { + for (var k = 0; k < perks[i].perks[j].currentRank; ++k) { + if (perks[i].perks[j].ranked[k].level > maxLevel) { + maxLevel = perks[i].perks[j].ranked[k].level; + } + } + } + } + + if (maxLevel > total) + total = maxLevel; + + return total; +} + +var renderRequiredLevel = function () { + $('.required-level').text('Необходимый уровень: ' + requiredLevel()); +} + +var renderAll = function () { + renderPerks(); + calculatePoints(); + renderRequiredLevel(); + renderSummary(); + window.location.hash = '#' + getJSON(); + $('.perk').mousedown(function(e) { + var $container = $(this), + i = parseInt($container.data('i')), + j = parseInt($container.data('j')), + perk = perks[j].perks[i], + special = getSPECIAL(); + className = i > special[j].value - 1 ? ' unavailable' : ''; + if (e.which === 1 && perk.currentRank < perk.ranks && className !== ' unavailable') { + perk.currentRank += 1; + renderAll(); + } else if (e.which === 3 && perk.currentRank != 0 && className !== ' unavailable') { + perk.currentRank -= 1; + renderAll(); + }; + }); +}; + +var calculatePoints = function () { + + var remaining = totalPoints - getAllocatedPoints(); + if (remaining <= 0) { + remaining = 0; + $(".points-left").hide(250); + } else { + $(".points-left").show(250); + }; + $pointsLeft.text(remaining + ' очков осталось'); +} + +var getAllocatedPoints = function () { + return $('[data-special] input').map(function () { + return parseInt($(this).val()); + }).get().reduce(function (prev, curr) { + return prev + curr; + }); +} + +var $pointsLeft = $('.points-left'); +$includeBobbleheads = $('.include-bobbleheads-check'); + +var includeBobbleheads = function () { + return $includeBobbleheads.is(':checked'); +} + +var pointsRemaining = function () { + return parseInt($pointsLeft.text()); +} + +var renderSummary = function () { + var html = ''; + for (var i = 0; i < perks.length; ++i) { + for (var j = 0; j < perks[i].perks.length; ++j) { + var perk = perks[i].perks[j]; + if (perk.currentRank && perk.currentRank > 0) { + html += '
  • ' + perk.name_ru + ': ' + perk.currentRank + '/' + perk.ranks + '
  • '; + html += ''; + } + } + } + + $('.summary').html(html); + $('[rel="popover"]').popover(); +} + +$(function () { + var hash = window.location.hash.replace('#', ''); + if (hash.length > 0) { + var load = JSON.parse(atob(hash)); + $('input[type=number]').each(function (index) { + $(this).val(load.s[index]); + }); + + for (var i = 0; i < load.r.length; ++i) { + var key = Object.keys(load.r[i])[0], + value = load.r[i][key]; + + for (var j = 0; j < perks.length; ++j) { + for (var k = 0; k < perks[j].perks.length; ++k) { + var perk = perks[j].perks[k]; + if (perk.name === key) { + perk.currentRank = value; + } + } + } + } + } + + renderAll(); + + $includeBobbleheads.on('click', function () { + if (includeBobbleheads()) { + totalPoints += 7; + } else { + totalPoints -= 7; + } + renderAll(); + }); + + $('.btn-inc').on('click', function () { + var $li = $(this).parent().parent(), + $input = $li.find('input'), + value = parseInt($input.val()), + remaining = totalPoints - getAllocatedPoints(); + + if (value < 10) { + $input.val(value + 1); + } + + renderAll(); + }); + + $('.btn-dec').on('click', function () { + var $li = $(this).parent().parent(), + $input = $li.find('input'), + value = parseInt($input.val()), + special = $li.data('special'); + + if (value > 1) { + $input.val(value - 1); + + for (var i = 0; i < perks.length; ++i) { + if (perks[i].special === special) { + for (var j = value - 1; j < perks[i].perks.length; ++j) { + perks[i].perks[j].currentRank = 0; + } + } + } + } + + renderAll(); + }); + + $('body').on('click', '.btn-inc-perk, .btn-dec-perk', function () { + var $container = $(this).parent().parent(), + i = parseInt($container.data('i')), + j = parseInt($container.data('j')), + perk = perks[j].perks[i], + incrementing = $(this).hasClass('btn-inc-perk'); + + if (!perk.currentRank) + perk.currentRank = 0; + + if (incrementing) { + if (perk.currentRank < perk.ranks) { + perk.currentRank += 1; + } + } else { + if (perk.currentRank > 0) { + perk.currentRank -= 1; + } + } + + renderAll(); + }); +}); + +$('.saveToFile').on('click', function () { + html2canvas($(".col-md-3")[0]).then(function(canvas) { + canvas.toBlob(function(blob) { + saveAs(blob, "F4CP Билд.png"); + }); + }); +}); + +var angle = sessionStorage['angle'] || '0'; + +(function RainbowColor() { + $(".rainbow").css({"background-color":"hsla(" + (180 + angle) + ", 100%, 50%, 50%)", "color":"hsl(" + angle + ", 100%, 50%)", "border-color":"hsl(" + (180 + angle) + ", 100%, 50%"}); + (angle < 360 ? angle++ : angle = 0); sessionStorage['angle'] = angle; + requestAnimationFrame(RainbowColor); +})(); \ No newline at end of file