Ejemplo n.º 1
0
import dict
from weaponGeneration import generateWeapon
from armorGeneration import generateArmor
from enemyGeneration import generateEnemy
from npcGeneration import generateNPC
from random import randint
import sys

arg = sys.argv
# arg1<map> arg2<level> arg3<?>

#generate enemy party
foe = generateEnemy(0, 2, arg[1], 3, int(arg[2]))

#generate npc
self = generateNPC(arg[2])

#check npc stats, decide Role.
#?

#Generate Weapon, Aegis.
self['armor'] = generateArmor(level)
self['weapon'] = generateWeapon(level)

#check agility scores, set up turn order


#begin turn sequence
#pseudocode, there isn't actually hp
while(npc['hp']!=0 and foe['hp']!=0):
def generateEnemy(low, high, map, enemyAmount, level):
	for x in range(0,enemyAmount):

		foe = randint(low,high)
		mod = randint(0,10)


		#statements for setting enemy code from map options in the dictionary
		chosenMap = list(dict.enemyMaps[map])
		foeCode = list(chosenMap[foe])

		#Generate stats
		dist = []
		for x in range(0,9):
			dist.append(foeCode[x + 1])
			foeCode[x+1] = 0

		#For each strength level
		for j in range(1,level+1):
			#For each stat
			for i in range(0,9):
				if(randint(0,100) <= dist[i]):
					if(1+i<6):
						foeCode[1 + i] += 1
					else:
						foeCode[1 + i] += 2

		#statements for adjusting enemy code based on temperment. 1/str 2/fin 3/vit 4/agi 5/awr
		if(enemyAmount > 1):
			if(mod == 1): #Manic
				foeCode[0] = 'Manic ' + foeCode[0]
				foeCode[1] += math.floor(randint(1,3)*0.1*level)
				foeCode[4] += math.floor(randint(1,3)*0.1*level)
				foeCode[3] -= math.floor(randint(1,3)*0.1*level)

			if(mod == 2): #Deadly
				foeCode[0] = 'Deadly ' + foeCode[0]
				foeCode[1] += math.floor(randint(1,3)*0.1*level)
				foeCode[2] += math.floor(randint(1,3)*0.1*level)
				foeCode[5] -= math.floor(randint(1,3)*0.1*level)

			if(mod == 3): #Stitched
				foeCode[0] = 'Stitched ' + foeCode[0]
				foeCode[3] += math.floor(randint(1,3)*0.1*level)
				foeCode[2] += math.floor(randint(1,3)*0.1*level)

			if(mod == 4): #Trembling
				foeCode[0] = 'Trembling ' + foeCode[0]
				foeCode[2] += math.floor(randint(1,3)*0.1*level)
				foeCode[4] += math.floor(randint(1,3)*0.1*level)
				foeCode[1] -= math.floor(randint(1,3)*0.1*level)

			if(mod == 5): #Lidless
				foeCode[0] = 'Lidless ' + foeCode[0]
				foeCode[2] += math.floor(randint(1,3)*0.1*level)
				foeCode[5] += math.floor(randint(1,3)*0.1*level)
				foeCode[3] -= math.floor(randint(1,3)*0.1*level)

			if(mod == 6): #Broken
				foeCode[0] = 'Broken ' + foeCode[0]
				foeCode[3] -= math.floor(randint(1,3)*0.1*level)

			if(mod == 7): #TwoFaced
				foeCode[0] = 'TwoFaced ' + foeCode[0]
				foeCode[4] += math.floor(randint(1,3)*0.1*level)
				foeCode[5] += math.floor(randint(1,3)*0.1*level)
				foeCode[2] -= math.floor(randint(1,3)*0.1*level)

		#Check minimum and maximum requirements and adjust accordingly
		for x in range(0,5):
			min = math.floor((dist[x]/100.0) * level)
			max = level+1
			if(foeCode[x+1] < min):
				foeCode[x+1] = math.floor(min)
			if(foeCode[x+1] > max):
				foeCode[x+1] = max
				
			

		print
		print 'Name: ' + foeCode[0]
		print 'Str: ' + str(int(foeCode[1]))
		print 'Fin: ' + str(int(foeCode[2]))
		print 'Vit: ' + str(int(foeCode[3]))
		print 'Agi: ' + str(int(foeCode[4]))
		print 'Awr: ' + str(int(foeCode[5]))
		print 'Sunder: ' + str(int(foeCode[6])) + '  Crush: ' + str(int(foeCode[7])) + '  Pierce: ' + str(int(foeCode[8])) + '  Flesh: ' + str(int(foeCode[9]))
		print
		print foeCode[11]
		print generateWeapon(1,level,foeCode[10], False)

	return foeCode
Ejemplo n.º 3
0
import dict
from mapGeneration import generateMap

#Python imports
from random import randint
import sys

#argument declaration for clarity
arg = sys.argv


#break it up into if's
if(arg[1] == 'loot'):
	type = randint(0,7)	
	if(type<4):
		generateWeapon()
	elif(type<9):
		generateArmor()
	elif(type<10):
		print("Card")
	else:
		print("Whisper Bottle")

if(arg[1] == 'options'):
	print 'npc / map / weapon / armor / encounter / multifoe / foe'

if(arg[1] == 'help'):
	if(arg[2] == 'encounter'):
		print '<Map> <level>'
	if(arg[2] == 'foe'):
		print '<id> <map> <level>'