FV Battling

QOL improvements for the warrior career

目前为 2020-07-19 提交的版本。查看 最新版本

  1. /* ==UserStyle==
  2. @name FV Battling
  3. @namespace gf.qytechs.cn
  4. @description QOL improvements for the warrior career
  5. @version 1.0.0
  6. ==/UserStyle== */
  7.  
  8. @-moz-document url-prefix("http://www.furvilla.com/career/warrior/battle") {
  9.  
  10. /* ==========================================================================
  11. Header
  12. ========================================================================== */
  13. /* shrinks the header */
  14. header {
  15. height: 78px;
  16. }
  17.  
  18. /* shrinks the header (moving top part of navigation to proper position) */
  19. header nav {
  20. top: 0;
  21. border-radius: 0;
  22. }
  23.  
  24. /* moves the search bar to where the logo used to be */
  25. header .search-form {
  26. top: 6px;
  27. left: 6px;
  28. }
  29. /* hiding unnecessary content - alerts, logo, header, ads, shopkeeper*/
  30. /* (logo and breadcrumbs removed because both link to Town Hall - which already has a link) */
  31. .margin-10px, #logo, .modal-content .logo, .stat-panel .text-center:first-child, .battle-complete > br, .equipment-wrap > br, .left-column > br, .right-column .widget-header, .battle-end-stats .registration-well > .row:nth-child(5), .battle-end-stats .registration-well > .row:nth-child(7) {
  32. display: none;
  33. }
  34.  
  35. /* ==========================================================================
  36. Notifications
  37. ========================================================================== */
  38. /*shrinks notifications widget*/
  39. .notifications-widget {
  40. height: 32px;
  41. width: 116px;
  42. overflow: hidden;
  43. position: absolute;
  44. left: -74px;
  45. top: 54px;
  46. -ms-transform: rotate(270deg);
  47. -webkit-transform: rotate(270deg);
  48. transform: rotate(270deg);
  49. z-index: 10;
  50. }
  51.  
  52. /*expands notifications widget on mouseover*/
  53. .notifications-widget:hover {
  54. height: auto;
  55. width: auto;
  56. left: -32px;
  57. top: 0;
  58. z-index: 95;
  59. -ms-transform: rotate(0deg);
  60. -webkit-transform: rotate(0deg);
  61. transform: rotate(0deg);
  62. padding: 10px 10px 0 42px;
  63. overflow: visible;
  64. }
  65.  
  66. /*keeps notifications header still on mouseover*/
  67. .notifications-widget:hover .widget-header {
  68. -ms-transform: rotate(270deg);
  69. -webkit-transform: rotate(270deg);
  70. transform: rotate(270deg);
  71. position: absolute;
  72. z-index: 10;
  73. left: -42px;
  74. top: 54px;
  75. border: 0;
  76. }
  77.  
  78. /*keeps notifications header visible on smaller screens*/
  79. @media screen and (max-width: 1054px) {
  80. .notifications-widget {
  81. transform: none;
  82. top: -32px;
  83. left: 400px;
  84. }
  85.  
  86. .notifications-widget:hover .widget-header {
  87. transform: none;
  88. left: 432px;
  89. top: -32px;
  90. }
  91. }
  92.  
  93. /* ==========================================================================
  94. Right column
  95. ========================================================================== */
  96. /* full width */
  97. .content .right-column {
  98. width: 950px;
  99. margin-top: 50px;
  100. }
  101.  
  102. /* horizontal adjustments */
  103. .right-column .widget, .widget .text-center {
  104. float: left;
  105. margin: 0;
  106. }
  107.  
  108. /* horizontal adjustments */
  109. .widget:first-child .text-center {
  110. float: none;
  111. }
  112.  
  113. /* horizontal adjustments */
  114. .widget .text-center div:last-child {
  115. display: block !important;
  116. width: 50px;
  117. height: 50px;
  118. margin: 0 7px 7px;
  119. }
  120.  
  121. /* hides excess text from first widget */
  122. .widget h4, .widget:first-child p {
  123. font-size: 0;
  124. }
  125. .widget h4 a, .widget:first-child p a, .widget:first-child p strong, .widget:first-child p b {
  126. font-size: 14px;
  127. }
  128.  
  129. /* shrink user avatar */
  130. .widget img {
  131. height: 64px;
  132. max-height: 100%;
  133. margin-bottom: 5px;
  134. }
  135.  
  136. /* shrink villager and career images */
  137. .widget .villager-avatar {
  138. width: 50px;
  139. height: 50px;
  140. margin: 7px;
  141. }
  142.  
  143. /* currency images */
  144. .widget:first-child p:nth-child(3) img {
  145. display: block;
  146. margin: -24px 0 0;
  147. height: auto;
  148. }
  149. /* spacing */
  150. .right-column .widget:first-child {
  151. margin: 0 45px;
  152. }
  153. /* horizontal adjustments */
  154. .widget .forum-posts li {
  155. float: left;
  156. width: 190px;
  157. padding: 20px;
  158. background: none !important;
  159. font-size: 12px !important;
  160. border-bottom: none;
  161. text-align: right;
  162. }
  163.  
  164. /* fairy buffs */
  165. .widget .forum-posts {
  166. position: absolute;
  167. left: -412px;
  168. background: #fff;
  169. }
  170.  
  171. /* fairy buffs */
  172. .recent-posts .forum-posts {
  173. position: relative;
  174. left: 0;
  175. }
  176.  
  177. /* fairy buffs */
  178. .recent-posts .forum-posts li {
  179. text-align: center;
  180. }
  181.  
  182. /* horizontal adjustments for unemployed villagers */
  183. .widget .text-center .villager-avatar:only-child {
  184. margin-top: 7px;
  185. }
  186.  
  187. /* aesthetic adjustments */
  188. .right-column .widget-content {
  189. background: none;
  190. }
  191.  
  192. /* ==========================================================================
  193. Battling adjustments
  194. ========================================================================== */
  195. /*moves the monster's stats to the right + minor aesthetic changes*/
  196. .enemy-panel .stat-panel {
  197. display: block !important;
  198. border: none;
  199. width: 215px;
  200. position: absolute;
  201. top: 0;
  202. right: -234px;
  203. margin: 0;
  204. cursor: pointer !important;
  205. z-index: 89;
  206. overflow: auto;
  207. height: 465px;
  208. }
  209.  
  210. /*shrinks the monster's description*/
  211. .stat-panel .text-center {
  212. font-size: 12px;
  213. line-height: 1.5em;
  214. height: 72px;
  215. overflow: auto;
  216. }
  217.  
  218. /*shrinks margins*/
  219. .stat-panel hr {
  220. margin: 6px 0;
  221. }
  222.  
  223. /*turns the stats into a single column*/
  224. .stat-panel > .row > .col-sm-6 {
  225. width: 100%;
  226. }
  227.  
  228. /* moves progress bars under monster's stats */
  229. .battle-end-stats .registration-well > .row:nth-child(2),
  230. .battle-end-stats .registration-well > .row:nth-child(3),
  231. .battle-end-stats .registration-well > .row:nth-child(4) {
  232. margin: 0 !important;
  233. position: absolute;
  234. top: 505px;
  235. right: 20px;
  236. width: 215px;
  237. }
  238.  
  239. /* moves progress bars under monster's stats */
  240. .battle-end-stats .registration-well > .row:nth-child(3) {
  241. top: 529px;
  242. }
  243.  
  244. /* moves progress bars under monster's stats */
  245. .battle-end-stats .registration-well > .row:nth-child(4) {
  246. top: 553px;
  247. }
  248.  
  249. /*condenses things down to five abilities per row*/
  250. .equipment-slot {
  251. margin: 0 11px 20px 0;
  252. border: 0;
  253. width: 130px;
  254. height: 180px;
  255. vertical-align: top;
  256. padding: 6px;
  257. position: relative;
  258. }
  259.  
  260. /*spacing equipment slots*/
  261. .equipment-wrap {
  262. overflow: hidden;
  263. }
  264.  
  265. /*spacing equipment slots*/
  266. .equipment-wrap .row {
  267. padding: 0;
  268. margin: 0;
  269. }
  270.  
  271. /*spacing equipment slots*/
  272. .equipment-slot:last-child {
  273. margin-right: 0;
  274. }
  275.  
  276. /*move charge counter + readability */
  277. .equipment-slot .label-info {
  278. position: absolute;
  279. top: 0;
  280. right: 0;
  281. background: none;
  282. color: #3b4e51;
  283. font-size: 16px;
  284. height: 24px;
  285. line-height: 20px;
  286. border: 1px solid #37317e;
  287. padding: 0 6px;
  288. }
  289.  
  290. /*condenses loot*/
  291. .battle-loots {
  292. margin: 15px 0 0;
  293. padding: 0;
  294. }
  295.  
  296. /*condenses loot*/
  297. .battle-loot {
  298. height: auto;
  299. }
  300.  
  301. /*consumables*/
  302. .battle-end-stats .row.text-center {
  303. position: absolute;
  304. top: 649px;
  305. right: 20px;
  306. width: 215px;
  307. margin: 0;
  308. font-size: 0;
  309. }
  310.  
  311. /*consumables*/
  312. .battle-end-stats .row.text-center img {
  313. max-width: 70px;
  314. }
  315.  
  316. /* back to warrior button */
  317. .battle-complete > p .btn {
  318. position: absolute;
  319. right: 20px;
  320. width: 215px;
  321. top: 597px;
  322. }
  323.  
  324. /* continue battling - sizing */
  325. .battle-complete > p > .btn[href*="generate"] {
  326. position: absolute;
  327. top: 377px;
  328. width: 716px;
  329. left: 20px;
  330. height: 86px;
  331. line-height: 86px;
  332. }
  333.  
  334. /* continue battling from open modal */
  335. .modal-open .battle-complete > p > .btn[href*="generate"] {
  336. position: fixed;
  337. z-index: 1051;
  338. width: 200px;
  339. top: 0;
  340. right: calc(50% - 500px);
  341. height: 100%;
  342. line-height: 100vh;
  343. margin: 0;
  344. left: initial;
  345. }
  346.  
  347. /* readability adjustments */
  348. .whitetext h4, .effects {
  349. text-shadow: 2px -2px #000, 2px -1px #000, 2px 0 #000, 2px 1px #000, 2px 2px #000, 1px -2px #000, 1px -1px #000, 1px 0 #000, 1px 1px #000, 1px 2px #000, 0 -2px #000, 0 -1px #000, 0 0 #000, 0 1px #000, 0 2px #000, -1px -2px #000, -1px -1px #000, -1px 0 #000, -1px 1px #000, -1px 2px #000, -2px -2px #000, -2px -1px #000, -2px 0 #000, -2px 1px #000, -2px 2px #000;
  350. }
  351.  
  352. /*aesthetic changes*/
  353. .enemy-panel .stat-panel,
  354. .equipment-slot,
  355. .pass-span,
  356. .flee-span,
  357. .equipment-slot:hover,
  358. .pass-span:hover,
  359. .flee-span:hover,
  360. .battle-log {
  361. background: rgba(255,255,255, .5);
  362. }
  363.  
  364. /*aesthetic changes*/
  365. .top-panel-wrap, .top-panel-wrap-pvp {
  366. height: 335px;
  367. background-position: bottom;
  368. margin-bottom: 20px;
  369. }
  370.  
  371. /* aesthetic changes */
  372. .battleground-wrap {
  373. bottom: initial;
  374. }
  375.  
  376. /* pvp village crest */
  377. .stat-panel-toggle > .text-center > div:first-child {
  378. top: 165px;
  379. font-size: 0;
  380. }
  381.  
  382. /*fv does weird things when screens get small*/
  383. /*they pretend it makes things "responsive"*/
  384. /*it doesn't*/
  385. .col-sm-6 {
  386. width: 50%;
  387. float: left;
  388. }
  389.  
  390. /*button spacing*/
  391. .battle-complete > p {
  392. height: 96px;
  393. }
  394.  
  395.  
  396. /* ==========================================================================
  397. Modal consumables
  398. ========================================================================== */
  399. /* modal spacing */
  400. .modal {
  401. padding: 0 !important;
  402. }
  403.  
  404. /* consumables */
  405. .modal-open .battle-end-stats .row.text-center a {
  406. position: fixed;
  407. z-index: 2050;
  408. top: 100px;
  409. height: 50px;
  410. width: 50px;
  411. background: none;
  412. left: calc(50% - 300px);
  413. }
  414.  
  415. /* image resizing */
  416. .modal-open .battle-end-stats .row.text-center a img {
  417. display: block;
  418. width: 100%;
  419. }
  420.  
  421. /* candycorn */
  422. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/1894"] {
  423. left: calc(50% - 197px);
  424. }
  425.  
  426. /* elixir */
  427. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/2183"] {
  428. left: calc(50% - 146px);
  429. }
  430.  
  431. /* mini hp potion */
  432. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/575"] {
  433. left: calc(50% - 249px);
  434. }
  435.  
  436. /* wax lips */
  437. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/3843"] {
  438. left: calc(50% - 95px);
  439. }
  440.  
  441. /* dew */
  442. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/4275"] {
  443. left: calc(50% - 44px);
  444. }
  445.  
  446. /*positions buttons on smaller screens*/
  447. @media screen and (max-width: 900px) {
  448. .modal-open .battle-complete > p > .btn[href*="generate"] {
  449. top: 30px;
  450. height: 170px;
  451. line-height: 170px;
  452. right: 0;
  453. left: 0;
  454. width: 253px;
  455. margin: 0 auto;
  456. }
  457.  
  458. /* candycorn */
  459. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/1894"] {
  460. left: calc(50% - 198px);
  461. }
  462.  
  463. /* elixir */
  464. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/2183"] {
  465. left: calc(50% + 134px);
  466. }
  467.  
  468. /* wax lips */
  469. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/3843"] {
  470. left: calc(50% + 185px);
  471. }
  472.  
  473. /* dew */
  474. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/4275"] {
  475. left: calc(50% + 237px);
  476. }
  477. }
  478.  
  479. @media screen and (max-width: 600px) {
  480. .modal-header .modal-title {
  481. max-width: 253px;
  482. margin: 0 auto;
  483. }
  484.  
  485. /* hp potion */
  486. .modal-open .battle-end-stats .row.text-center a {
  487. left: calc(50% - 213px);
  488. top: 200px;
  489. }
  490.  
  491. /* mini hp potion */
  492. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/575"] {
  493. position: fixed;
  494. left: calc(50% - 213px);
  495. top: 149px;
  496. }
  497.  
  498. /* candycorn */
  499. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/1894"] {
  500. left: calc(50% - 213px);
  501. top: 98px;
  502. }
  503.  
  504. /* elixir */
  505. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/2183"] {
  506. left: calc(50% + 164px);
  507. top: 100px;
  508. }
  509.  
  510. /* wax lips */
  511. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/3843"] {
  512. left: calc(50% + 164px);
  513. top: 150px;
  514. }
  515.  
  516. /* dew */
  517. .modal-open .battle-end-stats .row.text-center a[data-url^="/use/warrior-hp-charge/4275"] {
  518. left: calc(50% + 164px);
  519. }
  520. }
  521.  
  522. /*spacing fix for button placement*/
  523. .enemy-panel, .warrior-panel {
  524. margin-bottom: 20px;
  525. }
  526.  
  527. /*disable sliding animation*/
  528. .equipment-loader {
  529. margin-left: 1000px !important;
  530. }
  531. .equipment-slots {
  532. margin-left: 0 !important;
  533. }
  534.  
  535. /*[[collapse]]*/
  536. }
  537.  
  538. @-moz-document url-prefix("http://www.furvilla.com/tourney") {
  539. /*sets up the counter*/
  540. .registration-well + .widget tbody,
  541. .fur-idol-big + .widget tbody {
  542. counter-reset: row-num;
  543. }
  544.  
  545. /*increments the counter each row*/
  546. .registration-well + .widget tbody tr,
  547. .fur-idol-big + .widget tbody tr {
  548. counter-increment: row-num;
  549. }
  550.  
  551. /*displays the counter*/
  552. .registration-well + .widget tbody td:first-child::before,
  553. .fur-idol-big + .widget tbody td:first-child::before {
  554. content: counter(row-num) ".";
  555. width: 30px;
  556. display: inline-block;
  557. }
  558.  
  559. /*alignment*/
  560. .registration-well + .widget tbody td:first-child,
  561. .fur-idol-big + .widget tbody td:first-child{
  562. margin-left: -109px;
  563. }
  564.  
  565. /*alignment*/
  566. .registration-well + .widget th:first-child,
  567. .fur-idol-big + .widget th:first-child{
  568. padding-left: 38px;
  569. }
  570. }
  571.  
  572. @-moz-document url-prefix("http://www.furvilla.com/career/blacksmith/") {
  573. /* reduce flickering when scrapping quickly */
  574. .modal-content {
  575. min-height: 540px;
  576. }
  577.  
  578. /*let's you continue scrapping without closing the modal*/
  579. .modal-open .btn[data-url*="scrap/"] {
  580. position: fixed;
  581. z-index: 9999;
  582. top: 0;
  583. right: calc(50% - 443px);
  584. height: 100%;
  585. line-height: 100vh;
  586. }
  587.  
  588. /*let's you continue scrapping without closing the modal*/
  589. .widget-content {
  590. z-index: initial;
  591. }
  592.  
  593. .inventory-block-confirm-button {
  594. float: right;
  595. }
  596.  
  597. .inventory-block-selected-cancel {
  598. float: left !important;
  599. }
  600.  
  601. /*positions button on smaller screens*/
  602. @media screen and (max-width: 900px) {
  603. .modal-open .btn[data-url*="scrap/"] {
  604. top: 30px;
  605. height: 170px;
  606. line-height: 170px;
  607. right: 0;
  608. left: 0;
  609. width: 500px;
  610. margin: 0 auto;
  611. }
  612. }
  613.  
  614. /*positions button on even smaller screens*/
  615. @media screen and (max-width: 500px) {
  616. .modal-open .btn[data-url*="scrap/"] {
  617. width: 100%;
  618. }
  619. }
  620. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址