Feast 2.0!
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 
 

154 satır
3.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 * as Items from '@/game/items'
  13. import { Creature, POV } from '@/game/entity'
  14. import { ProperNoun, TheyPronouns, FemalePronouns, MalePronouns, ImproperNoun } from '@/game/language'
  15. @Component({
  16. components: {
  17. Combat, Header
  18. }
  19. })
  20. export default class App extends Vue {
  21. left: Creature
  22. right: Creature
  23. combatants: Array<Creature>
  24. constructor () {
  25. super()
  26. const fighter = new Creatures.Human(new ProperNoun("Redgar"), MalePronouns, {
  27. stats: {
  28. Toughness: 40,
  29. Power: 50,
  30. Speed: 30,
  31. Willpower: 40,
  32. Charm: 20
  33. }
  34. })
  35. fighter.title = "Lv. 6 Fighter"
  36. fighter.items.push(Items.Sword)
  37. const rogue = new Creatures.Human(new ProperNoun('Lidda'), FemalePronouns, {
  38. stats: {
  39. Toughness: 25,
  40. Power: 40,
  41. Speed: 70,
  42. Willpower: 50,
  43. Charm: 80
  44. }
  45. })
  46. rogue.title = "Lv. 5 Rogue"
  47. rogue.items.push(Items.Dagger)
  48. const wizard = new Creatures.Human(new ProperNoun('Mialee'), FemalePronouns, {
  49. stats: {
  50. Toughness: 30,
  51. Power: 20,
  52. Speed: 50,
  53. Willpower: 80,
  54. Charm: 60
  55. }
  56. })
  57. wizard.title = "Lv. 6 Wizard"
  58. wizard.items.push(Items.Wand)
  59. const cleric = new Creatures.Human(new ProperNoun('Jozan'), MalePronouns, {
  60. stats: {
  61. Toughness: 35,
  62. Power: 40,
  63. Speed: 25,
  64. Willpower: 90,
  65. Charm: 50
  66. }
  67. })
  68. cleric.title = "Lv. 5 Cleric"
  69. cleric.items.push(Items.Mace)
  70. this.left = fighter
  71. this.right = new Creatures.Withers()
  72. const kenzie = new Creatures.Kenzie()
  73. this.combatants = [this.left, this.right, wizard, rogue, cleric, kenzie]
  74. console.log(this.left)
  75. console.log(this.right)
  76. }
  77. }
  78. </script>
  79. <style>
  80. body, html {
  81. background: #181818;
  82. width: 100%;
  83. height: 100%;
  84. overflow-x: hidden;
  85. }
  86. #app {
  87. font-family: Avenir, Helvetica, Arial, sans-serif;
  88. -webkit-font-smoothing: antialiased;
  89. -moz-osx-font-smoothing: grayscale;
  90. text-align: center;
  91. color: #ddd;
  92. background: #111;
  93. width: 100%;
  94. margin: auto;
  95. height: 100%;
  96. display: flex;
  97. flex-direction: column;
  98. }
  99. .tippy-box {
  100. text-align: center;
  101. }
  102. .tippy-box .tooltip-title {
  103. font-size: 18pt;
  104. font-family: sans-serif;
  105. }
  106. .tippy-box .tooltip-body {
  107. font-size: 12pt;
  108. font-family: sans-serif;
  109. }
  110. *::-webkit-scrollbar {
  111. height: 12px;
  112. }
  113. *::-webkit-scrollbar-button {
  114. width: 0px;
  115. height: 0px;
  116. }
  117. *::-webkit-scrollbar-thumb {
  118. background: #e1e1e1;
  119. border: 0px none #ffffff;
  120. border-radius: 50px;
  121. }
  122. *::-webkit-scrollbar-thumb:hover {
  123. background: #ffffff;
  124. }
  125. *::-webkit-scrollbar-thumb:active {
  126. background: #000000;
  127. }
  128. *::-webkit-scrollbar-track {
  129. background: #00000000;
  130. border: 0px none #ffffff;
  131. border-radius: 50px;
  132. }
  133. *::-webkit-scrollbar-track:hover {
  134. background: #666666;
  135. }
  136. *::-webkit-scrollbar-track:active {
  137. background: #333333;
  138. }
  139. *::-webkit-scrollbar-corner {
  140. background: transparent;
  141. }
  142. </style>