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

83 строки
3.1 KiB

  1. import { Creature } from "../creature"
  2. import { Damage, DamageType, ConstantDamageFormula, Vigor, Side, StatDamageFormula, Stat } from '../combat'
  3. import { MalePronouns, ImproperNoun, ProperNoun, ObjectPronouns, FemalePronouns, TheyPronouns, Verb } from '../language'
  4. import { VoreType, Stomach, Bowels, Cock, Balls, anyVore, Slit, Womb, biconnectContainers } from '../vore'
  5. import { AttackAction, TransferAction, FeedAction } from '../combat/actions'
  6. import { Human } from '../creatures'
  7. export class Wolf extends Creature {
  8. constructor () {
  9. super(
  10. new ImproperNoun('wolf', 'wolves'),
  11. new ImproperNoun('wolf', 'wolves'),
  12. [MalePronouns, FemalePronouns, TheyPronouns][Math.floor(Math.random() * 3)],
  13. { Toughness: 20, Power: 20, Speed: 20, Willpower: 20, Charm: 20 },
  14. anyVore,
  15. anyVore,
  16. 25
  17. )
  18. this.actions.push(
  19. new AttackAction(
  20. new StatDamageFormula([
  21. { fraction: 1, stat: Stat.Power, target: Vigor.Health, type: DamageType.Pierce },
  22. { fraction: 0.5, stat: Stat.Power, target: Vigor.Health, type: DamageType.Crush }
  23. ]),
  24. new Verb("bite")
  25. )
  26. )
  27. this.side = Side.Monsters
  28. const stomach = new Stomach(this, 2, new Damage(
  29. { amount: 60, type: DamageType.Acid, target: Vigor.Health },
  30. { amount: 30, type: DamageType.Crush, target: Vigor.Stamina },
  31. { amount: 30, type: DamageType.Dominance, target: Vigor.Resolve }
  32. ))
  33. this.containers.push(stomach)
  34. const bowels = new Bowels(this, 2, new Damage(
  35. { amount: 30, type: DamageType.Crush, target: Vigor.Health },
  36. { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
  37. { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
  38. ))
  39. this.containers.push(bowels)
  40. this.actions.push(new TransferAction(bowels, stomach))
  41. this.otherActions.push(new FeedAction(stomach))
  42. const cock = new Cock(this, 2, new Damage(
  43. { amount: 30, type: DamageType.Crush, target: Vigor.Health },
  44. { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
  45. { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
  46. ))
  47. const balls = new Balls(this, 2, new Damage(
  48. { amount: 30, type: DamageType.Crush, target: Vigor.Health },
  49. { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
  50. { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
  51. ), cock)
  52. const slit = new Slit(this, 2, new Damage(
  53. { amount: 30, type: DamageType.Crush, target: Vigor.Health },
  54. { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
  55. { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
  56. ))
  57. const womb = new Womb(this, 2, new Damage(
  58. { amount: 30, type: DamageType.Crush, target: Vigor.Health },
  59. { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
  60. { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
  61. ), slit)
  62. this.containers.push(balls)
  63. this.containers.push(cock)
  64. this.containers.push(womb)
  65. this.containers.push(slit)
  66. biconnectContainers(cock, balls)
  67. biconnectContainers(slit, womb)
  68. }
  69. }