view nagslang/constants.py @ 281:9b56e954c674

Protagonist actions, now required for operating doors.
author Jeremy Thurgood <firxen@gmail.com>
date Thu, 05 Sep 2013 15:58:24 +0200
parents 9fcdb106424a
children 7b121ed73b95
line wrap: on
line source

SCREEN = (800, 600)
FPS = 40
FONT = 'DejaVuSans.ttf'
FONT_SIZE = 16

DEFAULTS = dict(
    debug=False,
    sound=True,
)

# Sound constants
FREQ = 44100   # same as audio CD
BITSIZE = -16  # unsigned 16 bit
CHANNELS = 2   # 1 == mono, 2 == stereo
BUFFER = 1024  # audio buffer size in no. of samples

COLLISION_TYPE_OTHER = 0
COLLISION_TYPE_PLAYER = 1
COLLISION_TYPE_WALL = 2
COLLISION_TYPE_SWITCH = 3
COLLISION_TYPE_BOX = 4
COLLISION_TYPE_ENEMY = 5
COLLISION_TYPE_DOOR = 6
COLLISION_TYPE_PROJECTILE = 7
COLLISION_TYPE_WEREWOLF_ATTACK = 8

SWITCH_PUSHERS = [COLLISION_TYPE_PLAYER, COLLISION_TYPE_BOX]

CALLBACK_COLLIDERS = [
    # Collisions between the player and shapes with these collision types will
    # fire callbacks on the game object associated with the shape.
    COLLISION_TYPE_SWITCH,
    COLLISION_TYPE_BOX,
    COLLISION_TYPE_ENEMY,
    COLLISION_TYPE_DOOR,
]

NON_GAME_OBJECT_COLLIDERS = [
    # These collision types are excluded from action checks, etc.
    COLLISION_TYPE_WALL,
    COLLISION_TYPE_PROJECTILE,
    COLLISION_TYPE_WEREWOLF_ATTACK,
]

ZORDER_FLOOR = 0
ZORDER_LOW = 1
ZORDER_MID = 2
ZORDER_HIGH = 3

WEREWOLF_SOAK_FACTOR = 10
PROTAGONIST_HEALTH_MAX_LEVEL = 100
PROTAGONIST_HEALTH_MIN_LEVEL = 0