boyStat.qsrc 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. # boyStat
  2. !!For setting the $boy, dick and $dick_girth with a single call for a npc
  3. !!Use with a gosub and match the ARGS[0] with the correct char
  4. !!A generated NPC would be gs 'boyStat', $npclastcalled
  5. !!Other NPCs may be called either by number if they are a static NPC, or by letter and number otherwise.
  6. !!eg. "gs 'boyStat', 'A56'" would call for Roma. Likewise, "gs 'boyStat', 'A56'" also calls for Roma.
  7. !! A second argument calls for multiple partners. They are output as stats1, stats2, stats3, and stats4, for a total of 5 stats.
  8. !! If ARGS[1] is not set it defaults to zero, so you can use the variables it sets with or without [0] e.g. dick or dick[0] are equivalent
  9. if ($ARGS[0] = '' and ARGS[0] > 0) or mid($ARGS[0],1,1) < 10:
  10. if ARGS[0] > 0:
  11. npclastcalledn = ARGS[0]
  12. else
  13. npclastcalledn = $ARGS[0]
  14. end
  15. $npcboytemp = 'A' + npclastcalledn
  16. else
  17. $npcboytemp = $ARGS[0]
  18. !! {This error is for where something outside the range of possibility is specified. The calling code is broken. The exact thing specified will be announced.}
  19. if mid($npcboytemp,2,1) > 10:
  20. MSG 'There has been an error in the $boy passing code. Please contact a developer with what you were doing prior to receiving this message so the error may be fixed. Error type: Improper value for boyStat. Calling <<$ARGS[0]>>'
  21. $npcboytemp = 'D0'
  22. end
  23. end
  24. if mid($npcboytemp,1,1) = 'A' or mid($npcboytemp,1,1) = 'B' or mid($npcboytemp,1,1) = 'C':
  25. $npclastcalled = $npcboytemp
  26. npclastcalledn = mid($npcboytemp, 2)
  27. if $npc_usedname[$npclastcalled]=0: $npc_usedname[$npclastcalled] = $npc_firstname[$npclastcalled] & !! this is a workaround which compensate incomplete settings in npc_static files, it can be removed later ...
  28. $bstemp[1] = $npc_usedname[$npclastcalled]
  29. bstemp[2] = npc_dick[$npclastcalled]
  30. $bstemp[3] = $npc_thdick[$npclastcalled]
  31. bstemp[4] = npc_sexskill[$npclastcalled]
  32. gs 'pronouns', npc_gender[$npclastcalled], $ARGS[1]
  33. elseif mid($npcboytemp,1,1) = 'D':
  34. if mid($npcboytemp, 2) = 1:
  35. $bstemp[1] = 'small sized'
  36. bstemp[2] = 10
  37. $bstemp[3] = 'slim'
  38. elseif mid($npcboytemp, 2) = 2:
  39. $bstemp[1] = 'medium sized'
  40. bstemp[2] = 15
  41. $bstemp[3] = 'well proportioned'
  42. elseif mid($npcboytemp, 2) = 3:
  43. $bstemp[1] = 'large sized'
  44. bstemp[2] = 20
  45. $bstemp[3] = 'thicker than average'
  46. elseif mid($npcboytemp, 2) = 4:
  47. $bstemp[1] = 'huge sized'
  48. bstemp[2] = 25
  49. $bstemp[3] = 'thick'
  50. elseif mid($npcboytemp, 2) = 5:
  51. $bstemp[1] = 'giant sized'
  52. bstemp[2] = 30
  53. $bstemp[3] = 'massive'
  54. elseif mid($npcboytemp, 2) = 6:
  55. $bstemp[1] = 'humongous sized'
  56. bstemp[2] = 35
  57. $bstemp[3] = 'monstrous'
  58. else
  59. $bstemp[1] = 'horse sized'
  60. bstemp[2] = 40
  61. $bstemp[3] = 'monstrous'
  62. end
  63. end
  64. if $ARGS[1] = 'a':
  65. $boy1 = $npclastcalled
  66. $boydesc1 = $bstemp[1]
  67. dick1 = bstemp[2]
  68. $dick_girth1 = $bstemp[3]
  69. silavag1 = bstemp[4]
  70. elseif $ARGS[1] = 'b':
  71. $boy2 = $npclastcalled
  72. $boydesc2 = $bstemp[1]
  73. dick2 = bstemp[2]
  74. $dick_girth2 = $bstemp[3]
  75. silavag2 = bstemp[4]
  76. elseif $ARGS[1] = 'c':
  77. $boy3 = $npclastcalled
  78. $boydesc3 = $bstemp[1]
  79. dick3 = bstemp[2]
  80. $dick_girth3 = $bstemp[3]
  81. silavag3 = bstemp[4]
  82. elseif $ARGS[1] = 'd':
  83. $boy4 = $npclastcalled
  84. $boydesc4 = $bstemp[1]
  85. dick4 = bstemp[2]
  86. $dick_girth4 = $bstemp[3]
  87. silavag4 = bstemp[4]
  88. elseif $ARGS[1] = 'e':
  89. $boy5 = $npclastcalled
  90. $boydesc5 = $bstemp[1]
  91. dick5 = bstemp[2]
  92. $dick_girth5 = $bstemp[3]
  93. silavag5 = bstemp[4]
  94. elseif $ARGS[1] = 'f':
  95. $boy6 = $npclastcalled
  96. $boydesc6 = $bstemp[1]
  97. dick6 = bstemp[2]
  98. $dick_girth6 = $bstemp[3]
  99. silavag6 = bstemp[4]
  100. else
  101. boyStat_i = ARGS[1]
  102. if mid($ARGS[1],1,1) < 10: boyStat_i = $ARGS[1]
  103. $boy[boyStat_i] = $npclastcalled
  104. $boydesc[boyStat_i] = $bstemp[1]
  105. dick[boyStat_i] = bstemp[2]
  106. $dick_girth[boyStat_i] = $bstemp[3]
  107. silavag[boyStat_i] = bstemp[4]
  108. end
  109. killvar 'bstemp'
  110. killvar '$bstemp'
  111. killvar 'boyStat_i'
  112. --- boyStat ---------------------------------