Feast 2.0!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

61 lines
1.6 KiB

  1. import { VoreAI } from '@/game/ai'
  2. import { DamageType, Side, Stat, StatDamageFormula, Vigor } from '@/game/combat'
  3. import { DigestionPowerEffect } from '@/game/combat/effects'
  4. import { Creature } from '@/game/creature'
  5. import { LogEntry, LogLine } from '@/game/interface'
  6. import { ImproperNoun, MalePronouns, ObjectPronouns, Preposition, Verb } from '@/game/language'
  7. import { anyVore, ConnectionDirection, Container, Stomach, Throat, transferDescription } from '@/game/vore'
  8. import * as Words from '@/game/words'
  9. export default class Werewolf extends Creature {
  10. constructor () {
  11. super(
  12. new ImproperNoun("werewolf", "werewolves"),
  13. new ImproperNoun("werewolf", "werewolves"),
  14. MalePronouns,
  15. {
  16. Power: 45,
  17. Toughness: 30,
  18. Agility: 25,
  19. Reflexes: 25,
  20. Charm: 10,
  21. Willpower: 15
  22. },
  23. anyVore,
  24. anyVore,
  25. 75
  26. )
  27. const throat = new Throat(
  28. this,
  29. 25
  30. )
  31. const stomach = new Stomach(
  32. this,
  33. 50,
  34. new StatDamageFormula([
  35. { fraction: 1, stat: Stat.Toughness, type: DamageType.Acid, target: Vigor.Health }
  36. ])
  37. )
  38. this.addContainer(throat)
  39. this.addContainer(stomach)
  40. throat.connect({
  41. destination: stomach,
  42. direction: ConnectionDirection.Deeper,
  43. description: transferDescription(Words.Swallow, new Preposition("down"))
  44. })
  45. stomach.connect({
  46. destination: throat,
  47. direction: ConnectionDirection.Shallower,
  48. description: transferDescription(new Verb("hork"), new Preposition("up"))
  49. })
  50. this.side = Side.Monsters
  51. this.ai = new VoreAI(this)
  52. }
  53. }