DestructibleTestPrototypes.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. namespace Content.IntegrationTests.Tests.Destructible
  2. {
  3. public static class DestructibleTestPrototypes
  4. {
  5. public const string SpawnedEntityId = "DestructibleTestsSpawnedEntity";
  6. public const string DestructibleEntityId = "DestructibleTestsDestructibleEntity";
  7. public const string DestructibleDestructionEntityId = "DestructibleTestsDestructibleDestructionEntity";
  8. public const string DestructibleDamageTypeEntityId = "DestructibleTestsDestructibleDamageTypeEntity";
  9. public const string DestructibleDamageGroupEntityId = "DestructibleTestsDestructibleDamageGroupEntity";
  10. [TestPrototypes]
  11. public const string DamagePrototypes = $@"
  12. - type: damageType
  13. id: TestBlunt
  14. name: damage-type-blunt
  15. - type: damageType
  16. id: TestSlash
  17. name: damage-type-slash
  18. - type: damageType
  19. id: TestPiercing
  20. name: damage-type-piercing
  21. - type: damageType
  22. id: TestArrow
  23. name: damage-type-arrow
  24. - type: damageType
  25. id: TestHeat
  26. name: damage-type-heat
  27. - type: damageType
  28. id: TestShock
  29. name: damage-type-shock
  30. - type: damageType
  31. id: TestCold
  32. name: damage-type-cold
  33. - type: damageGroup
  34. id: TestBrute
  35. name: damage-group-brute
  36. damageTypes:
  37. - TestBlunt
  38. - TestSlash
  39. - TestPiercing
  40. - type: damageGroup
  41. id: TestBurn
  42. name: damage-group-burn
  43. damageTypes:
  44. - TestHeat
  45. - TestShock
  46. - TestCold
  47. - type: entity
  48. id: {SpawnedEntityId}
  49. name: {SpawnedEntityId}
  50. - type: entity
  51. id: {DestructibleEntityId}
  52. name: {DestructibleEntityId}
  53. components:
  54. - type: Damageable
  55. - type: Destructible
  56. thresholds:
  57. - trigger:
  58. !type:DamageTrigger
  59. damage: 20
  60. triggersOnce: false
  61. - trigger:
  62. !type:DamageTrigger
  63. damage: 50
  64. triggersOnce: false
  65. behaviors:
  66. - !type:PlaySoundBehavior
  67. sound:
  68. collection: WoodDestroy
  69. - !type:SpawnEntitiesBehavior
  70. spawn:
  71. {SpawnedEntityId}:
  72. min: 1
  73. max: 1
  74. - !type:DoActsBehavior
  75. acts: [""Breakage""]
  76. - type: entity
  77. id: {DestructibleDestructionEntityId}
  78. name: {DestructibleDestructionEntityId}
  79. components:
  80. - type: Damageable
  81. - type: Destructible
  82. thresholds:
  83. - trigger:
  84. !type:DamageTrigger
  85. damage: 50
  86. behaviors:
  87. - !type:PlaySoundBehavior
  88. sound:
  89. collection: WoodDestroyHeavy
  90. - !type:SpawnEntitiesBehavior
  91. spawn:
  92. {SpawnedEntityId}:
  93. min: 1
  94. max: 1
  95. - !type:DoActsBehavior # This must come last as it destroys the entity.
  96. acts: [""Destruction""]
  97. - type: entity
  98. id: {DestructibleDamageTypeEntityId}
  99. name: {DestructibleDamageTypeEntityId}
  100. components:
  101. - type: Damageable
  102. - type: Destructible
  103. thresholds:
  104. - trigger:
  105. !type:AndTrigger
  106. triggers:
  107. - !type:DamageTypeTrigger
  108. damageType: TestBlunt
  109. damage: 10
  110. - !type:DamageTypeTrigger
  111. damageType: TestSlash
  112. damage: 10
  113. - type: entity
  114. id: {DestructibleDamageGroupEntityId}
  115. name: {DestructibleDamageGroupEntityId}
  116. components:
  117. - type: Damageable
  118. - type: Destructible
  119. thresholds:
  120. - trigger:
  121. !type:AndTrigger
  122. triggers:
  123. - !type:DamageGroupTrigger
  124. damageGroup: TestBrute
  125. damage: 10
  126. - !type:DamageGroupTrigger
  127. damageGroup: TestBurn
  128. damage: 10";
  129. }
  130. }