Browse Source

[revamp] npccleanc

slanon 4 years ago
parent
commit
641f5af8c5
2 changed files with 326 additions and 91 deletions
  1. 215 90
      locations/npccleanc.qsrc
  2. 111 1
      locations/npcgeneratec.qsrc

+ 215 - 90
locations/npccleanc.qsrc

@@ -3,96 +3,221 @@
 !! {This code should be called to purge a specific NPC. It expects an ARGS[0] of the code of the C array.}
 $tempcclean = $ARGS[0]
 
-$npc_firstname[$tempcclean] = ''
-$npc_nickname[$tempcclean] = ''
-$npc_lastname[$tempcclean] = ''
-$npc_usedname[$tempcclean] = ''
-$npc_notes[$tempcclean] = ''
-npc_dob[$tempcclean] = 0
-npc_vital[$tempcclean] = 0
-npc_stren[$tempcclean] = 0
-npc_intel[$tempcclean] = 0
-npc_agil[$tempcclean] = 0
-npc_sprt[$tempcclean] = 0
-npc_magik[$tempcclean] = 0
-npc_drunk[$tempcclean] = 0
-npc_pantys[$tempcclean] = 0
-npc_cyc[$tempcclean] = 0
-npc_fert[$tempcclean] = 0
-$npc_firstpart[$tempcclean] = ''
-$npc_lastpart[$tempcclean] = ''
-$npc_kidpater[$tempcclean] = ''
-npc_gender[$tempcclean] = 0
-$npc_thdick[$tempcclean] = ''
-npc_dick[$tempcclean] = 0
-npc_sexskill[$tempcclean] = 0
-npc_spermpot[$tempcclean] = 0
-npc_vag[$tempcclean] = 0
-npc_ass[$tempcclean] = 0
-npc_hymen[$tempcclean] = 0
-npc_horny[$tempcclean] = 0
-npc_Pavrep[$tempcclean] = 0
-npc_Godrep[$tempcclean] = 0
-npc_apprnc[$tempcclean] = 0
-npc_lipbalm[$tempcclean] = 0
-npc_makeup[$tempcclean] = 0
-npc_sweat[$tempcclean] = 0
-npc_dye[$tempcclean] = 0
-npc_hairbsh[$tempcclean] = 0
-npc_skin[$tempcclean] = 0
-npc_bodyhair[$tempcclean] = 0
-npc_breath[$tempcclean] = 0
-npc_hipcurv[$tempcclean] = 0
-npc_hgt[$tempcclean] = 0
-npc_bust[$tempcclean] = 0
-npc_nips[$tempcclean] = 0
-npc_fat[$tempcclean] = 0
-npc_pubes[$tempcclean] = 0
-npc_hairlng[$tempcclean] = 0
-npc_haircol[$tempcclean] = 0
-npc_haircurl[$tempcclean] = 0
-npc_tan[$tempcclean] = 0
-npc_lip[$tempcclean] = 0
-npc_lashes[$tempcclean] = 0
-npc_eyesize[$tempcclean] = 0
-npc_eyecol[$tempcclean] = 0
-npc_dom[$tempcclean] = 0
-npc_sub[$tempcclean] = 0
-npc_glasses[$tempcclean] = 0
-npc_grades[$tempcclean] = 0
-npc_run[$tempcclean] = 0
-npc_vball[$tempcclean] = 0
-npc_shoot[$tempcclean] = 0
-npc_sewing[$tempcclean] = 0
-npc_serving[$tempcclean] = 0
-npc_chess[$tempcclean] = 0
-npc_dance[$tempcclean] = 0
-npc_danceero[$tempcclean] = 0
-npc_jab[$tempcclean] = 0
-npc_punch[$tempcclean] = 0
-npc_kick[$tempcclean] = 0
-npc_def[$tempcclean] = 0
-npc_vokal[$tempcclean] = 0
-npc_teach[$tempcclean] = 0
-npc_QW[$tempcclean] = 0
-npc_rel[$tempcclean] = 0
-npc_love[$tempcclean] = 0
-npc_job[$tempcclean] = 0
-npc_cloc[$tempcclean] = 0
-$npc_dad[$tempcclean] = ''
-$npc_mom[$tempcclean] = ''
-$npc_pic[$tempcclean] = ''
-npc_herpes[$tempcclean] = 0
-npc_syth[$tempcclean] = 0
-npc_gon[$tempcclean] = 0
-npc_chlam[$tempcclean] = 0
-npc_genwart[$tempcclean] = 0
-npc_thrush[$tempcclean] = 0
-npc_malen[$tempcclean] = 0
-npc_chem[$tempcclean] = 0
-npc_clothpref[$tempcclean] = 0
-$npc_PersType[$tempcclean] = ''
-$npc_dna[$tempcclean] = ''
+if mid($tempcclean, 1, 1) = 'C' and npc_firstname['$tempcclean'] > 0:
+    !! {create arrays to loop through}
+    ! {array for strings}
+    $tmpStrArr[0] = 'npc_firstname'
+    $tmpStrArr[] = 'npc_nickname'
+    $tmpStrArr[] = 'npc_lastname'
+    $tmpStrArr[] = 'npc_usedname'
+    $tmpStrArr[] = 'npc_notes'
+    $tmpStrArr[] = 'npc_firstpart'
+    $tmpStrArr[] = 'npc_lastpart'
+    $tmpStrArr[] = 'npc_kidpater'
+    $tmpStrArr[] = 'npc_thdick'
+    $tmpStrArr[] = 'npc_dad'
+    $tmpStrArr[] = 'npc_mom'
+    $tmpStrArr[] = 'npc_pic'
+    $tmpStrArr[] = 'npc_PersType'
+    $tmpStrArr[] = 'npc_dna'
+    ! {array for ints}
+    $tmpIntArr[0] = 'npc_dob'
+    $tmpIntArr[] = 'npc_vital'
+    $tmpIntArr[] = 'npc_stren'
+    $tmpIntArr[] = 'npc_intel'
+    $tmpIntArr[] = 'npc_agil'
+    $tmpIntArr[] = 'npc_sprt'
+    $tmpIntArr[] = 'npc_magik'
+    $tmpIntArr[] = 'npc_drunk'
+    $tmpIntArr[] = 'npc_pantys'
+    $tmpIntArr[] = 'npc_cyc'
+    $tmpIntArr[] = 'npc_fert'
+    $tmpIntArr[] = 'npc_gender'
+    $tmpIntArr[] = 'npc_dick'
+    $tmpIntArr[] = 'npc_sexskill'
+    $tmpIntArr[] = 'npc_spermpot'
+    $tmpIntArr[] = 'npc_vag'
+    $tmpIntArr[] = 'npc_ass'
+    $tmpIntArr[] = 'npc_hymen'
+    $tmpIntArr[] = 'npc_horny'
+    $tmpIntArr[] = 'npc_Pavrep'
+    $tmpIntArr[] = 'npc_Godrep'
+    $tmpIntArr[] = 'npc_apprnc'
+    $tmpIntArr[] = 'npc_lipbalm'
+    $tmpIntArr[] = 'npc_makeup'
+    $tmpIntArr[] = 'npc_sweat'
+    $tmpIntArr[] = 'npc_dye'
+    $tmpIntArr[] = 'npc_hairbsh'
+    $tmpIntArr[] = 'npc_skin'
+    $tmpIntArr[] = 'npc_bodyhair'
+    $tmpIntArr[] = 'npc_breath'
+    $tmpIntArr[] = 'npc_hipcurv'
+    $tmpIntArr[] = 'npc_hgt'
+    $tmpIntArr[] = 'npc_bust'
+    $tmpIntArr[] = 'npc_nips'
+    $tmpIntArr[] = 'npc_fat'
+    $tmpIntArr[] = 'npc_pubes'
+    $tmpIntArr[] = 'npc_hairlng'
+    $tmpIntArr[] = 'npc_haircol'
+    $tmpIntArr[] = 'npc_haircurl'
+    $tmpIntArr[] = 'npc_tan'
+    $tmpIntArr[] = 'npc_lip'
+    $tmpIntArr[] = 'npc_lashes'
+    $tmpIntArr[] = 'npc_eyesize'
+    $tmpIntArr[] = 'npc_eyecol'
+    $tmpIntArr[] = 'npc_dom'
+    $tmpIntArr[] = 'npc_sub'
+    $tmpIntArr[] = 'npc_glasses'
+    $tmpIntArr[] = 'npc_grades'
+    $tmpIntArr[] = 'npc_run'
+    $tmpIntArr[] = 'npc_vball'
+    $tmpIntArr[] = 'npc_shoot'
+    $tmpIntArr[] = 'npc_sewing'
+    $tmpIntArr[] = 'npc_serving'
+    $tmpIntArr[] = 'npc_chess'
+    $tmpIntArr[] = 'npc_dance'
+    $tmpIntArr[] = 'npc_danceero'
+    $tmpIntArr[] = 'npc_jab'
+    $tmpIntArr[] = 'npc_punch'
+    $tmpIntArr[] = 'npc_kick'
+    $tmpIntArr[] = 'npc_def'
+    $tmpIntArr[] = 'npc_vokal'
+    $tmpIntArr[] = 'npc_teach'
+    $tmpIntArr[] = 'npc_QW'
+    $tmpIntArr[] = 'npc_rel'
+    $tmpIntArr[] = 'npc_love'
+    $tmpIntArr[] = 'npc_job'
+    $tmpIntArr[] = 'npc_cloc'
+    $tmpIntArr[] = 'npc_herpes'
+    $tmpIntArr[] = 'npc_syth'
+    $tmpIntArr[] = 'npc_gon'
+    $tmpIntArr[] = 'npc_chlam'
+    $tmpIntArr[] = 'npc_genwart'
+    $tmpIntArr[] = 'npc_thrush'
+    $tmpIntArr[] = 'npc_malen'
+    $tmpIntArr[] = 'npc_chem'
+    $tmpIntArr[] = 'npc_clothpref'
+
+    ! {loop through the arrays to kill entries}
+    tmpArrIndex = 0
+    :cleanupstrloop
+    if tmpArrIndex < arrsize('$tmpStrArr'):
+        tmpNpcIndex = arrpos(('<<$tmpStrArr[tmpArrIndex]>>'), val('<<mid($tempcclean, 2)>>'))
+        if tmpNpcIndex >= 0:
+            killvar '<<$tmpStrArr[tmpArrIndex]>>', tmpNpcIndex
+        end
+        tmpArrIndex += 1
+        jump 'cleanupstrloop'
+    end
+    tmpArrIndex = 0
+    :cleanupintloop
+    if tmpArrIndex < arrsize('$tmpIntArr'):
+        tmpNpcIndex = arrpos(('$<<$tmpIntArr[tmpArrIndex]>>'), '<<mid($tempcclean, 2)>>')
+        if tmpNpcIndex >= 0:
+            killvar ('$<<$tmpIntArr[tmpArrIndex]>>'), tmpNpcIndex
+        end
+        tmpArrIndex += 1
+        jump 'cleanupintloop'
+    end
+
+    ! {cleanup}
+    killvar 'tmpArrIndex'
+    killvar 'tmpNpcIndex'
+    killvar 'tmpStrArr'
+    killvar 'tmpIntArr'
+else
+	! {legacy code in case there is no corresponding index: just sets values to default}
+	$npc_firstname[$tempcclean] = ''
+	$npc_nickname[$tempcclean] = ''
+	$npc_lastname[$tempcclean] = ''
+	$npc_usedname[$tempcclean] = ''
+	$npc_notes[$tempcclean] = ''
+	npc_dob[$tempcclean] = 0
+	npc_vital[$tempcclean] = 0
+	npc_stren[$tempcclean] = 0
+	npc_intel[$tempcclean] = 0
+	npc_agil[$tempcclean] = 0
+	npc_sprt[$tempcclean] = 0
+	npc_magik[$tempcclean] = 0
+	npc_drunk[$tempcclean] = 0
+	npc_pantys[$tempcclean] = 0
+	npc_cyc[$tempcclean] = 0
+	npc_fert[$tempcclean] = 0
+	$npc_firstpart[$tempcclean] = ''
+	$npc_lastpart[$tempcclean] = ''
+	$npc_kidpater[$tempcclean] = ''
+	npc_gender[$tempcclean] = 0
+	$npc_thdick[$tempcclean] = ''
+	npc_dick[$tempcclean] = 0
+	npc_sexskill[$tempcclean] = 0
+	npc_spermpot[$tempcclean] = 0
+	npc_vag[$tempcclean] = 0
+	npc_ass[$tempcclean] = 0
+	npc_hymen[$tempcclean] = 0
+	npc_horny[$tempcclean] = 0
+	npc_Pavrep[$tempcclean] = 0
+	npc_Godrep[$tempcclean] = 0
+	npc_apprnc[$tempcclean] = 0
+	npc_lipbalm[$tempcclean] = 0
+	npc_makeup[$tempcclean] = 0
+	npc_sweat[$tempcclean] = 0
+	npc_dye[$tempcclean] = 0
+	npc_hairbsh[$tempcclean] = 0
+	npc_skin[$tempcclean] = 0
+	npc_bodyhair[$tempcclean] = 0
+	npc_breath[$tempcclean] = 0
+	npc_hipcurv[$tempcclean] = 0
+	npc_hgt[$tempcclean] = 0
+	npc_bust[$tempcclean] = 0
+	npc_nips[$tempcclean] = 0
+	npc_fat[$tempcclean] = 0
+	npc_pubes[$tempcclean] = 0
+	npc_hairlng[$tempcclean] = 0
+	npc_haircol[$tempcclean] = 0
+	npc_haircurl[$tempcclean] = 0
+	npc_tan[$tempcclean] = 0
+	npc_lip[$tempcclean] = 0
+	npc_lashes[$tempcclean] = 0
+	npc_eyesize[$tempcclean] = 0
+	npc_eyecol[$tempcclean] = 0
+	npc_dom[$tempcclean] = 0
+	npc_sub[$tempcclean] = 0
+	npc_glasses[$tempcclean] = 0
+	npc_grades[$tempcclean] = 0
+	npc_run[$tempcclean] = 0
+	npc_vball[$tempcclean] = 0
+	npc_shoot[$tempcclean] = 0
+	npc_sewing[$tempcclean] = 0
+	npc_serving[$tempcclean] = 0
+	npc_chess[$tempcclean] = 0
+	npc_dance[$tempcclean] = 0
+	npc_danceero[$tempcclean] = 0
+	npc_jab[$tempcclean] = 0
+	npc_punch[$tempcclean] = 0
+	npc_kick[$tempcclean] = 0
+	npc_def[$tempcclean] = 0
+	npc_vokal[$tempcclean] = 0
+	npc_teach[$tempcclean] = 0
+	npc_QW[$tempcclean] = 0
+	npc_rel[$tempcclean] = 0
+	npc_love[$tempcclean] = 0
+	npc_job[$tempcclean] = 0
+	npc_cloc[$tempcclean] = 0
+	$npc_dad[$tempcclean] = ''
+	$npc_mom[$tempcclean] = ''
+	$npc_pic[$tempcclean] = ''
+	npc_herpes[$tempcclean] = 0
+	npc_syth[$tempcclean] = 0
+	npc_gon[$tempcclean] = 0
+	npc_chlam[$tempcclean] = 0
+	npc_genwart[$tempcclean] = 0
+	npc_thrush[$tempcclean] = 0
+	npc_malen[$tempcclean] = 0
+	npc_chem[$tempcclean] = 0
+	npc_clothpref[$tempcclean] = 0
+	$npc_PersType[$tempcclean] = ''
+	$npc_dna[$tempcclean] = ''    
+end
 
 i = arrsize('$cemptyarray')
 $cemptyarray[i] = $tempcclean

+ 111 - 1
locations/npcgeneratec.qsrc

@@ -31,6 +31,9 @@ else
 end
 carraynumber += 1
 
+! {moved up to here}
+npclastgeneratedn = mid($npclastgenerated, 2)
+
 ! {Now we need a random birthday based on the rough age given.}
 npctempc1[1] = year - npctempgage
 npctempc1[2] = rand(1,12)
@@ -46,6 +49,8 @@ end
 npc_dob[$npclastgenerated] = npctempc1[1] * 10000
 npc_dob[$npclastgenerated] += (npctempc1[2] * 100)
 npc_dob[$npclastgenerated] += npctempc1[3]
+! {we save the unique number of the npc, to be able to get the index of the array via arrpos}
+$npc_dob[$npclastgenerated] = '<<npclastgeneratedn>>'
 
 ! {Now, we set the variable for the stat randomization as well as calculate chance of virginity.}
 if npctempgage < 18:
@@ -66,6 +71,11 @@ else
 	$npc_kidpater[$npclastgenerated] = 'N'
 	npc_sexskill[$npclastgenerated] = 0
 end
+! {index}
+npc_firstpart[$npclastgenerated] = npclastgeneratedn
+npc_lastpart[$npclastgenerated] = npclastgeneratedn
+npc_kidpater[$npclastgenerated] = npclastgeneratedn
+$npc_sexskill[$npclastgenerated] = '<<npclastgeneratedn>>'
 
 
 ! {Then we need to give them a name, and establish their official gender}
@@ -141,6 +151,18 @@ else
 		npc_hymen[$npclastgenerated] = 0
 	end
 end
+! {index}
+$npc_gender[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_cyc[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_fert[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_spermpot[$npclastgenerated] = '<<npclastgeneratedn>>'
+npc_thdick[$npclastgenerated] = npclastgeneratedn
+$npc_dick[$npclastgenerated] = '<<npclastgeneratedn>>'
+npc_notes[$npclastgenerated] = npclastgeneratedn
+$npc_bust[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_nips[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_hymen[$npclastgenerated] = '<<npclastgeneratedn>>'
+
 
 ! {Then we set the names, and the stat high ends as determined earlier.}
 gs 'npcrnamefile', 'rusSur'
@@ -153,6 +175,16 @@ npc_stren[$npclastgenerated] = rand(1,npctempc2)
 npc_intel[$npclastgenerated] = rand(1,npctempc2)
 npc_agil[$npclastgenerated] = rand(1,npctempc2)
 npc_sprt[$npclastgenerated] = rand(1,npctempc2)
+! {index}
+npc_firstname[$npclastgenerated] = npclastgeneratedn
+npc_nickname[$npclastgenerated] = npclastgeneratedn
+npc_lastname[$npclastgenerated] = npclastgeneratedn
+npc_usedname[$npclastgenerated] = npclastgeneratedn
+$npc_vital[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_stren[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_intel[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_agil[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_sprt[$npclastgenerated] = '<<npclastgeneratedn>>'
 
 ! {Then we call out other stats}
 npc_magik[$npclastgenerated] = 0
@@ -160,11 +192,21 @@ npc_drunk[$npclastgenerated] = 0
 npc_pantys[$npclastgenerated] = 0
 npc_vag[$npclastgenerated] = 0
 npc_ass[$npclastgenerated] = 0
+! {index}
+$npc_magik[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_drunk[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_pantys[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_vag[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_ass[$npclastgenerated] = '<<npclastgeneratedn>>'
 
 ! {NPCs start with random horniness}
 npc_horny[$npclastgenerated] = rand(0,60)
 npc_Pavrep[$npclastgenerated] = 0
 npc_Godrep[$npclastgenerated] = 0
+! {index}
+$npc_horny[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_Pavrep[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_Godrep[$npclastgenerated] = '<<npclastgeneratedn>>'
 
 ! {Random attractiveness}
 npc_apprnc[$npclastgenerated] = rand(30,60)
@@ -173,6 +215,13 @@ npc_makeup[$npclastgenerated] = 0
 npc_sweat[$npclastgenerated] = 0
 npc_dye[$npclastgenerated] = 0
 npc_hairbsh[$npclastgenerated] = 0
+! {index}
+$npc_apprnc[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_lipbalm[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_makeup[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_sweat[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_dye[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_hairbsh[$npclastgenerated] = '<<npclastgeneratedn>>'
 
 ! {Random skin quality and body hair}
 npc_skin[$npclastgenerated] = rand(30,70)
@@ -181,6 +230,13 @@ npc_breath[$npclastgenerated] = 0
 npc_hipcurv[$npclastgenerated]  = 0
 npc_hgt[$npclastgenerated] = 0
 npc_fat[$npclastgenerated] = 0
+! {index}
+$npc_skin[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_bodyhair[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_breath[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_hipcurv[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_hgt[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_fat[$npclastgenerated] = '<<npclastgeneratedn>>'
 
 ! {Random pubic hair}
 npc_pubes[$npclastgenerated] = rand(0,1)
@@ -194,6 +250,18 @@ npc_eyesize[$npclastgenerated] = 0
 npc_eyecol[$npclastgenerated] = 0
 npc_dom[$npclastgenerated] = 0
 npc_sub[$npclastgenerated] = 0
+! {index}
+$npc_pubes[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_hairlng[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_haircol[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_haircurl[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_tan[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_lip[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_lashes[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_eyesize[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_eyecol[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_dom[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_sub[$npclastgenerated] = '<<npclastgeneratedn>>'
 
 ! {Random glasses, grades, and other skills, based on age established above.}
 npc_glasses[$npclastgenerated] = rand(0,1)
@@ -212,20 +280,48 @@ npc_kick[$npclastgenerated] = rand(0,(npctempc2 + 10))
 npc_def[$npclastgenerated] = rand(0,(npctempc2 + 10))
 npc_vokal[$npclastgenerated] = rand(0,(npctempc2 + 10))
 npc_teach[$npclastgenerated] = rand(0,(npctempc2 + 10))
+! {index}
+$npc_glasses[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_grades[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_run[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_vball[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_shoot[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_sewing[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_serving[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_chess[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_dance[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_danceero[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_jab[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_punch[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_kick[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_def[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_vokal[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_teach[$npclastgenerated] = '<<npclastgeneratedn>>'
 
 ! {Starting at 0 quest state and love for the character, and slightly disliked.}
 npc_QW[$npclastgenerated]= 0
 npc_rel[$npclastgenerated] = 40
 npc_love[$npclastgenerated] = 0
+! {index}
+$npc_QW[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_rel[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_love[$npclastgenerated] = '<<npclastgeneratedn>>'
 
 ! {Start unemployed and unspecified location}
 npc_job[$npclastgenerated] = 0
 npc_cloc[$npclastgenerated] = 0
+! {index}
+$npc_job[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_cloc[$npclastgenerated] = '<<npclastgeneratedn>>'
 
 ! {Unspecified dad and <<$npc_nickname[''A29'']>>, and picture. We could have a stock group of pictures and have it pick based on certain attribute types, but...}
 $npc_dad[$npclastgenerated] = 'U'
 $npc_mom[$npclastgenerated] = 'U'
 $npc_pic[$npclastgenerated] = 'xPICx'
+! {index}
+npc_dad[$npclastgenerated] = npclastgeneratedn
+npc_mom[$npclastgenerated] = npclastgeneratedn
+npc_pic[$npclastgenerated] = npclastgeneratedn
 
 ! {STDs are not randomly given here. For characters with a STD, you need to gs npcgenext rstd. It will be expecting an npclastgeneratedn variable.}
 npc_herpes[$npclastgenerated] = 0
@@ -235,18 +331,32 @@ npc_chlam[$npclastgenerated] = 0
 npc_genwart[$npclastgenerated] = 0
 npc_Thrush[$npclastgenerated] = 0
 npc_Malen[$npclastgenerated] = 0
+! {index}
+$npc_herpes[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_syth[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_gon[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_chlam[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_genwart[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_Thrush[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_Malen[$npclastgenerated] = '<<npclastgeneratedn>>'
 
 ! {Chemestry and clothing preference are unspecified}
 npc_Chem[$npclastgenerated] = 0
 npc_Clothpref[$npclastgenerated] = 0
+! {index}
+$npc_Chem[$npclastgenerated] = '<<npclastgeneratedn>>'
+$npc_Clothpref[$npclastgenerated] = '<<npclastgeneratedn>>'
 
 ! {Personality is called up}
 gs 'npcgenext', 'pers'
 $npc_PersType[$npclastgenerated] = $npctempgn[6]
-npclastgeneratedn = mid($npclastgenerated, 2)
+! {index}
+npc_PersType[$npclastgenerated] = npclastgeneratedn
 
 ! {Creating the DNA of the character. If it is someone specific, like father, mother, daughter, sone, etc. then should be overwritten.}
 $npc_dna[$npclastgenerated] = func('DNA','create')
+! {index}
+npc_dna[$npclastgenerated] = npclastgeneratedn
 
 ! {Variables are cleaned up.}
 killvar '$npctempgn'