def place_equipment(map, x, y, itemToSpawn): """ Places a piece of equipment, that can be picked up, at the given position """ from components import Object, Item, Equipment, Weapon, Armor, Ranged import mechanics compEquip = Equipment( slot=str(itemToSpawn["equipment"]["slot"]) ) if itemToSpawn["equipment"].has_key("armor"): armor= itemToSpawn["equipment"]["armor"] compEquip.armor = Armor(bashing_soak=armor["bashing_soak"], lethal_soak=armor["lethal_soak"], fatigue=armor["fatigue"], penalty=armor["penalty"], hardness=armor["hardness"]) if itemToSpawn["equipment"].has_key("weapon"): weapon= itemToSpawn["equipment"]["weapon"] compEquip.weapon = Weapon(accuracy=weapon["accuracy"], damage=weapon["damage"], skill=weapon["skill"], speed=weapon["speed"]) if "ranged" in weapon and weapon["ranged"] == True: compEquip.ranged = Ranged(accuracy=weapon["ranged_accuracy"], damage=weapon["ranged_damage"], skill=weapon["ranged_skill"], speed=weapon["ranged_speed"]) item = Object(map.owner, map.owner.maps.index(map), x, y, str(itemToSpawn["character"]), color=libtcod.Color(itemToSpawn["color"][0], itemToSpawn["color"][1], itemToSpawn["color"][2]), name=itemToSpawn["name"], equipment=compEquip) map.objects.append(item) item.send_to_back()
def place_item(map, x, y, itemToSpawn): """ Places a usable item at the given position """ from components import Object, Item, Equipment import mechanics compItem = Item(use_function=getattr(mechanics, itemToSpawn["use_function"]), args=itemToSpawn["args"], count=libtcod.random_get_int(0, itemToSpawn["amount"][0], itemToSpawn["amount"][1])) item = Object(map.owner, map.owner.maps.index(map), x, y, str(itemToSpawn["character"]), color=libtcod.Color(itemToSpawn["color"][0], itemToSpawn["color"][1], itemToSpawn["color"][2]), name=itemToSpawn["name"], item=compItem) map.objects.append(item) item.send_to_back()