def test_dropping_item(self): """ Items dropped by character should end on the floor """ dagger = Dagger() Uglak = Goblin(carrying(dagger)) place(Uglak, middle_of(Level())) make(Uglak, drop(dagger)) assert_that(Uglak, has_dropped(dagger))
def impl(context, caster_name, spell_and_target): caster = get_character(context, caster_name) split_text = spell_and_target.split() if 'on' in split_text: on_index = split_text.index('on') spell = " ".join(split_text[:on_index]) target_name = " ".join(split_text[on_index + 1:]) else: spell = spell_and_target target_name = None if target_name: target = get_character(context=context, character_name=target_name) else: target = None make(caster, cast_spell(spell_name=spell, target=target))
def impl(context, character_name): character = get_character(context, character_name) make(character, take_random_step())
def impl(context, attacker_name, target_name): attacker = get_character(context, attacker_name) target = get_character(context, target_name) make(attacker, hit(target))
def step_impl(context, caster_name, item_name, domain_name): caster = get_character(context, caster_name) item = get_item(context, item_name) make(caster, gain_domain_(item=item, domain=domain_name))
def impl(context, character_name, item_name): character = get_character(context, character_name) item = get_item(context, item_name) make(character, drop(item))
def step_impl(context, character_name): character = get_character(context, character_name) make(character, wait_())