Exemplo n.º 1
0
def kill_monster(monster: Entity) -> Message:
    death_message = Message(f'{monster.name.capitalize()} is dead!',
                            tcod.orange)

    monster.char = '%'
    monster.color = tcod.dark_red
    monster.blocks = False
    monster.fighter = None
    monster.ai = None
    monster.name = f'remains of {monster.name}'
    monster.render_order = RenderOrder.CORPSE
    return death_message
Exemplo n.º 2
0
def kill_monster(monster: Entity):
    death_message = Message(f"{monster.name.capitalize()} is dead!",
                            Colors.ORANGE)

    monster.char = "%"
    monster.color = Colors.RED
    monster.blocks = False
    monster.fighter = None
    monster.ai = None
    monster.name = f"remains of {monster.name}"
    monster.render_order = RenderLayer.CORPSE

    return death_message
Exemplo n.º 3
0
def cast_confuse(entity: Entity, *, fov_map: tcod.map.Map,
                 entities: List[Entity], target_x: int, target_y: int,
                 **_: Any) -> ActionResults:
    results = []

    if not fov_map.fov[target_x, target_y]:
        results.append({
            'consumed':
            False,
            'message':
            Message(
                "You cannot target a tile outside your field of view.",
                tcod.yellow,
            ),
        })
        return results

    for entity in entities:
        if entity.x == target_x and entity.y == target_y and entity.ai:
            confused_ai = ConfusedMonster(entity.ai, 10)
            confused_ai.owner = entity
            entity.ai = confused_ai
            results.append({
                'consumed':
                True,
                'message':
                Message(
                    f"The eyes of the {entity.name} look vacant, as he starts"
                    f" to stumble around!", tcod.light_green),
            })
            break
    else:
        results.append({
            'consumed':
            False,
            'message':
            Message("There is no targetable enemy at that location.",
                    tcod.yellow),
        })

    return results