Example #1
0
def set_scroll_components(item):
    item.set_child(ItemType(ItemType.SCROLL))
    item.set_child(PlayerAutoPickUp())
    item.set_child(DataPoint(DataTypes.WEIGHT, 1))
    item.set_child(GraphicChar(None, colors.CHAMPAGNE, icon.SCROLL))
    set_thrown_item_hit_floor_action(item, [
        MoveTriggeredEffect(),
        LocalMessageEffect(messenger.ITEM_HITS_THE_GROUND_LIGHT)
    ])
Example #2
0
def new_ammunition(game_state):
    """
    A composite component representing a gun ammunition item.
    """
    ammo = Composite()
    set_item_components(ammo, game_state)
    ammo.set_child(ItemType(ItemType.AMMO))
    ammo.set_child(Flag("is_ammo"))
    ammo.set_child(Stacker("ammo", 10, random.randrange(2, 6)))
    ammo.set_child(
        Description("Gun Bullets", "These bullets will fit in most guns."))
    ammo.set_child(GraphicChar(None, colors.GRAY, icon.AMMO2))
    ammo.set_child(DataPoint(DataTypes.WEIGHT, 1))
    ammo.set_child(PlayerAutoPickUp())
    return ammo
Example #3
0
def new_bomb(game_state):
    bomb = Composite()
    set_item_components(bomb, game_state)
    bomb.set_child(ItemType(ItemType.BOMB))
    bomb.set_child(PlayerAutoPickUp())
    bomb.set_child(GraphicChar(None, colors.GRAY_D, icon.BOMB))
    bomb.set_child(DataPoint(DataTypes.WEIGHT, 4))
    bomb.set_child(
        Description(
            "Bomb", "A ball filled gunpowder, with a fuse attached."
            "Throwing it will cause some serious damage."))
    set_thrown_item_hit_floor_action(bomb, [
        ExplodeTriggeredEffect(),
        LocalMessageEffect(messenger.ENTITY_EXPLODES)
    ])
    return bomb
Example #4
0
def new_energy_sphere(game_state):
    """
    A composite component representing a gun ammunition item.
    """
    charge = Composite()
    set_item_components(charge, game_state)
    charge.set_child(ItemType(ItemType.ENERGY_SHPERE))
    charge.set_child(Stacker("charge", 5, random.randrange(1, 3)))
    charge.set_child(
        Description("Energy Sphere",
                    "These spheres are used to power ancient devices."))
    charge.set_child(
        GraphicChar(None, colors.LIGHT_ORANGE, icon.BIG_CENTER_DOT))
    charge.set_child(DataPoint(DataTypes.WEIGHT, 1))
    charge.set_child(PlayerAutoPickUp())
    set_use_item_action(CHARGE_ACTION_TAG, charge, [
        action.TriggerAction("Charge Device", 90, [CHARGE_ACTION_TAG]),
        ChooseChargeDeviceTriggeredEffect()
    ])
    return charge
Example #5
0
def set_ranged_weapon_components(item):
    item.set_child(EquipmentType(equipment.EquipmentTypes.RANGED_WEAPON))
    item.set_child(ItemType(ItemType.WEAPON))
    item.set_child(ReEquipAction())
    item.set_child(AddSpoofChildEquipEffect2(WeaponRangedAttacker(item)))
Example #6
0
def set_melee_weapon_component(item):
    item.set_child(EquipmentType(equipment.EquipmentTypes.MELEE_WEAPON))
    item.set_child(ItemType(ItemType.WEAPON))
    item.set_child(DamageType(DamageTypes.PHYSICAL))
    item.set_child(AddSpoofChildEquipEffect2(WeaponMeleeAttacker(item)))
    item.set_child(ReEquipAction())
Example #7
0
def set_device_components(item):
    item.set_child(ItemType(ItemType.DEVICE))
    item.set_child(PlayerAutoPickUp())
    item.set_child(Charge(random.randrange(2, 7)))
    item.set_child(DataPoint(DataTypes.WEIGHT, 5))
    return item
Example #8
0
def set_potion_components(item):
    item.set_child(ItemType(ItemType.POTION))
    item.set_child(PlayerAutoPickUp())
    item.set_child(DataPoint(DataTypes.WEIGHT, 4))
Example #9
0
def set_armor_components(item):
    item.set_child(ItemType(ItemType.ARMOR))
    item.set_child(ReEquipAction())
    return item
Example #10
0
def set_amulet_components(item):
    item.set_child(EquipmentType(equipment.EquipmentTypes.AMULET))
    item.set_child(ItemType(ItemType.JEWELLRY))
    item.set_child(ReEquipAction())
    item.set_child(DataPoint(DataTypes.WEIGHT, 3))
Example #11
0
def set_ring_components(item):
    item.set_child(EquipmentType(equipment.EquipmentTypes.RING))
    item.set_child(ItemType(ItemType.JEWELLRY))
    item.set_child(ReEquipAction())
    item.set_child(DataPoint(DataTypes.WEIGHT, 2))