mecoffey commited on
Commit
a77d79d
·
1 Parent(s): d0c18d3

added new function to grab traits for bard stats

Browse files
Files changed (1) hide show
  1. app.py +12 -8
app.py CHANGED
@@ -41,7 +41,7 @@ def char_description(prompt):
41
 
42
  prompt1 = f"{DESC_SYSTEM_PROMPT}\n\nCharacter Description: {prompt}\n\nDescribe:"
43
  output1 = pipe(prompt1, return_full_text=False, max_new_tokens=256)
44
- prompt2 = f"{BACK_SYSTEM_PROMPT}\n\n{output1}\n\nUser prompt: {prompt}\n\nDescribe:"
45
  output2 = pipe(prompt2, return_full_text=False, max_new_tokens=256)
46
  return output1[0]["generated_text"].strip(),output2[0]["generated_text"].strip()
47
 
@@ -52,7 +52,7 @@ def rand_char_description():
52
  rand_race = random.choice(races)
53
  prompt1 = f"{DESC_SYSTEM_PROMPT}\n\nCharacter Description: {rand_race}\n\nDescribe:"
54
  output1 = pipe(prompt1, return_full_text=False, max_new_tokens=256)
55
- prompt2 = f"{BACK_SYSTEM_PROMPT}\n\n{output1}\n\nUser prompt: {rand_race}\n\nDescribe:"
56
  output2 = pipe(prompt2, return_full_text=False, max_new_tokens=256)
57
  return output1[0]["generated_text"].strip(),output2[0]["generated_text"].strip()
58
 
@@ -80,19 +80,23 @@ def stats_gen_2():
80
  speed = '25 ft'
81
  return ac, hp, speed
82
 
 
 
 
 
 
 
 
83
  def bard_stats_gen():
84
  global smash
85
  smash = random.randint(1,30)
86
- input_file = open('traits.txt', 'r')
87
- traits = input_file.readline()
88
  global pref_traits
89
- picks = int(random.randint(1,3))
90
- pref_traits = random.choice(traits, k=picks)
91
  global ick_traits
92
- picks = int(random.randint(1,3))
93
- ick_traits = random.choice(traits, k=picks)
94
  return smash, pref_traits, ick_traits
95
 
 
96
  ##UI is fine as-is
97
  with gr.Blocks() as demo:
98
  title = gr.HTML("<center><h1>NPC Generator</h1></center>")
 
41
 
42
  prompt1 = f"{DESC_SYSTEM_PROMPT}\n\nCharacter Description: {prompt}\n\nDescribe:"
43
  output1 = pipe(prompt1, return_full_text=False, max_new_tokens=256)
44
+ prompt2 = f"{BACK_SYSTEM_PROMPT}\n\n{output1}\n\nUser prompt: {prompt}\n\nBackstory:"
45
  output2 = pipe(prompt2, return_full_text=False, max_new_tokens=256)
46
  return output1[0]["generated_text"].strip(),output2[0]["generated_text"].strip()
47
 
 
52
  rand_race = random.choice(races)
53
  prompt1 = f"{DESC_SYSTEM_PROMPT}\n\nCharacter Description: {rand_race}\n\nDescribe:"
54
  output1 = pipe(prompt1, return_full_text=False, max_new_tokens=256)
55
+ prompt2 = f"{BACK_SYSTEM_PROMPT}\n\n{output1}\n\nUser prompt: {rand_race}\n\nBackstory:"
56
  output2 = pipe(prompt2, return_full_text=False, max_new_tokens=256)
57
  return output1[0]["generated_text"].strip(),output2[0]["generated_text"].strip()
58
 
 
80
  speed = '25 ft'
81
  return ac, hp, speed
82
 
83
+ def traits_picker(filepath):
84
+ with open(filepath, 'r') as f:
85
+ items = [line.strip() for line in f if line.strip()]
86
+ count = random.randint(1, min(3, len(items)))
87
+ selected = random.sample(items,count)
88
+ return ', '.join(selected)
89
+
90
  def bard_stats_gen():
91
  global smash
92
  smash = random.randint(1,30)
 
 
93
  global pref_traits
94
+ pref_traits = traits_picker('traits.txt')
 
95
  global ick_traits
96
+ ick_traits = traits_picker('traits.txt')
 
97
  return smash, pref_traits, ick_traits
98
 
99
+
100
  ##UI is fine as-is
101
  with gr.Blocks() as demo:
102
  title = gr.HTML("<center><h1>NPC Generator</h1></center>")