Feast 2.0!
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 

111 строки
2.3 KiB

  1. <template>
  2. <div id="app">
  3. <Header version="pre-alpha" />
  4. <Combat :left="left" :right="right" :combatants="combatants" />
  5. </div>
  6. </template>
  7. <script lang="ts">
  8. import { Component, Vue, Prop } from 'vue-property-decorator'
  9. import Combat from './components/Combat.vue'
  10. import Header from './components/Header.vue'
  11. import * as Creatures from '@/game/creatures'
  12. import { Creature, POV } from '@/game/entity'
  13. import { ProperNoun, TheyPronouns, FemalePronouns, MalePronouns, ImproperNoun } from '@/game/language'
  14. @Component({
  15. components: {
  16. Combat, Header
  17. }
  18. })
  19. export default class App extends Vue {
  20. left: Creature
  21. right: Creature
  22. combatants: Array<Creature>
  23. constructor () {
  24. super()
  25. const fighter = new Creatures.Human(new ImproperNoun('fighter'), TheyPronouns, {
  26. stats: {
  27. Toughness: 40,
  28. Power: 50,
  29. Speed: 30,
  30. Willpower: 40,
  31. Charm: 20
  32. }
  33. })
  34. const rogue = new Creatures.Human(new ImproperNoun('wizard'), MalePronouns, {
  35. stats: {
  36. Toughness: 25,
  37. Power: 40,
  38. Speed: 70,
  39. Willpower: 50,
  40. Charm: 80
  41. }
  42. })
  43. const wizard = new Creatures.Human(new ImproperNoun('rogue'), FemalePronouns, {
  44. stats: {
  45. Toughness: 30,
  46. Power: 20,
  47. Speed: 50,
  48. Willpower: 80,
  49. Charm: 60
  50. }
  51. })
  52. const cleric = new Creatures.Human(new ImproperNoun('cleric'), FemalePronouns, {
  53. stats: {
  54. Toughness: 35,
  55. Power: 40,
  56. Speed: 25,
  57. Willpower: 90,
  58. Charm: 50
  59. }
  60. })
  61. this.left = fighter
  62. this.right = new Creatures.Withers()
  63. this.combatants = [this.left, this.right, wizard, rogue, cleric]
  64. console.log(this.left)
  65. console.log(this.right)
  66. }
  67. }
  68. </script>
  69. <style>
  70. body, html {
  71. background: #181818;
  72. width: 100%;
  73. height: 100%;
  74. overflow-x: hidden;
  75. }
  76. #app {
  77. font-family: Avenir, Helvetica, Arial, sans-serif;
  78. -webkit-font-smoothing: antialiased;
  79. -moz-osx-font-smoothing: grayscale;
  80. text-align: center;
  81. color: #ddd;
  82. background: #111;
  83. width: 100%;
  84. margin: auto;
  85. height: 100%;
  86. display: flex;
  87. flex-direction: column;
  88. }
  89. .tippy-box {
  90. text-align: center;
  91. }
  92. .tippy-box .tooltip-title {
  93. font-size: 18pt;
  94. font-family: sans-serif;
  95. }
  96. .tippy-box .tooltip-body {
  97. font-size: 12pt;
  98. font-family: sans-serif;
  99. }
  100. </style>