subject.py 837B

123456789101112131415161718192021222324
  1. # coding: utf-8
  2. from opencombat.const import COLLECTION_ALIVE
  3. from opencombat.const import COMBAT_MODE_DEFENSE
  4. from opencombat.simulation.base import BaseSubject
  5. from opencombat.simulation.behaviour import MoveToBehaviour
  6. from opencombat.simulation.behaviour import EngageOpponent
  7. from opencombat.simulation.behaviour import LookAroundBehaviour
  8. from synergine2.share import shared
  9. class TileSubject(BaseSubject):
  10. start_collections = [
  11. COLLECTION_ALIVE,
  12. ]
  13. behaviours_classes = [
  14. MoveToBehaviour,
  15. LookAroundBehaviour,
  16. EngageOpponent,
  17. ]
  18. visible_opponent_ids = shared.create_self('visible_opponent_ids', lambda: [])
  19. combat_mode = shared.create_self('combat_mode', COMBAT_MODE_DEFENSE)
  20. # TODO: implement (copied from engulf)
  21. # behaviour_selector_class = CellBehaviourSelector