Ejemplo n.º 1
0
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()
Ejemplo n.º 2
0
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()