Feast 2.0!
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 

69 wiersze
2.5 KiB

  1. import { Creature } from "../creature"
  2. import { Damage, DamageType, ConstantDamageFormula, Vigor, Side, StatDamageFormula, Stat } from '../combat'
  3. import { MalePronouns, ImproperNoun, Verb } from '../language'
  4. import { Stomach, Bowels, Cock, Balls, anyVore, biconnectContainers } from '../vore'
  5. import { AttackAction, TransferAction, FeedAction } from '../combat/actions'
  6. import { VoreAI } from '../ai'
  7. export class Werewolf extends Creature {
  8. constructor () {
  9. super(
  10. new ImproperNoun('werewolf', 'werewolves'),
  11. new ImproperNoun('werewolf', 'werewolves'),
  12. MalePronouns,
  13. { Toughness: 40, Power: 50, Reflexes: 40, Agility: 30, Willpower: 20, Charm: 50 },
  14. anyVore,
  15. anyVore,
  16. 100
  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.ai = new VoreAI()
  28. this.side = Side.Monsters
  29. const stomach = new Stomach(this, 2, new ConstantDamageFormula(new Damage(
  30. { amount: 60, type: DamageType.Acid, target: Vigor.Health },
  31. { amount: 30, type: DamageType.Crush, target: Vigor.Stamina },
  32. { amount: 30, type: DamageType.Dominance, target: Vigor.Resolve }
  33. )))
  34. this.containers.push(stomach)
  35. const bowels = new Bowels(this, 2, new ConstantDamageFormula(new Damage(
  36. { amount: 30, type: DamageType.Crush, target: Vigor.Health },
  37. { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
  38. { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
  39. )))
  40. this.containers.push(bowels)
  41. this.actions.push(new TransferAction(bowels, stomach))
  42. this.otherActions.push(new FeedAction(stomach))
  43. const cock = new Cock(this, 2, new ConstantDamageFormula(new Damage(
  44. { amount: 30, type: DamageType.Crush, target: Vigor.Health },
  45. { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
  46. { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
  47. )))
  48. const balls = new Balls(this, 2, new ConstantDamageFormula(new Damage(
  49. { amount: 30, type: DamageType.Crush, target: Vigor.Health },
  50. { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
  51. { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
  52. )), cock)
  53. this.containers.push(balls)
  54. this.containers.push(cock)
  55. biconnectContainers(cock, balls)
  56. }
  57. }