boyStat.qsrc 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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 = val($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 = val(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. npclastcalledn = val(mid($npcboytemp, 2))
  35. if npclastcalledn = 1:
  36. $bstemp[1] = 'small sized'
  37. bstemp[2] = 10
  38. $bstemp[3] = 'slim'
  39. elseif npclastcalledn = 2:
  40. $bstemp[1] = 'medium sized'
  41. bstemp[2] = 15
  42. $bstemp[3] = 'well proportioned'
  43. elseif npclastcalledn = 3:
  44. $bstemp[1] = 'large sized'
  45. bstemp[2] = 20
  46. $bstemp[3] = 'thicker than average'
  47. elseif npclastcalledn = 4:
  48. $bstemp[1] = 'huge sized'
  49. bstemp[2] = 25
  50. $bstemp[3] = 'thick'
  51. elseif npclastcalledn = 5:
  52. $bstemp[1] = 'giant sized'
  53. bstemp[2] = 30
  54. $bstemp[3] = 'massive'
  55. elseif npclastcalledn = 6:
  56. $bstemp[1] = 'humongous sized'
  57. bstemp[2] = 35
  58. $bstemp[3] = 'monstrous'
  59. else
  60. $bstemp[1] = 'horse sized'
  61. bstemp[2] = 40
  62. $bstemp[3] = 'monstrous'
  63. end
  64. end
  65. if $ARGS[1] = 'a':
  66. $boy1 = $npclastcalled
  67. $boydesc1 = $bstemp[1]
  68. dick1 = bstemp[2]
  69. $dick_girth1 = $bstemp[3]
  70. silavag1 = bstemp[4]
  71. elseif $ARGS[1] = 'b':
  72. $boy2 = $npclastcalled
  73. $boydesc2 = $bstemp[1]
  74. dick2 = bstemp[2]
  75. $dick_girth2 = $bstemp[3]
  76. silavag2 = bstemp[4]
  77. elseif $ARGS[1] = 'c':
  78. $boy3 = $npclastcalled
  79. $boydesc3 = $bstemp[1]
  80. dick3 = bstemp[2]
  81. $dick_girth3 = $bstemp[3]
  82. silavag3 = bstemp[4]
  83. elseif $ARGS[1] = 'd':
  84. $boy4 = $npclastcalled
  85. $boydesc4 = $bstemp[1]
  86. dick4 = bstemp[2]
  87. $dick_girth4 = $bstemp[3]
  88. silavag4 = bstemp[4]
  89. elseif $ARGS[1] = 'e':
  90. $boy5 = $npclastcalled
  91. $boydesc5 = $bstemp[1]
  92. dick5 = bstemp[2]
  93. $dick_girth5 = $bstemp[3]
  94. silavag5 = bstemp[4]
  95. elseif $ARGS[1] = 'f':
  96. $boy6 = $npclastcalled
  97. $boydesc6 = $bstemp[1]
  98. dick6 = bstemp[2]
  99. $dick_girth6 = $bstemp[3]
  100. silavag6 = bstemp[4]
  101. else
  102. boyStat_i = ARGS[1]
  103. !! check if $ARGS[1] is an empty string or not
  104. if $ARGS[1] ! 0 and isnum($ARGS[1]) ! 0: boyStat_i = val($ARGS[1])
  105. $boy[boyStat_i] = $npclastcalled
  106. $boydesc[boyStat_i] = $bstemp[1]
  107. dick[boyStat_i] = bstemp[2]
  108. $dick_girth[boyStat_i] = $bstemp[3]
  109. silavag[boyStat_i] = bstemp[4]
  110. end
  111. killvar 'bstemp'
  112. killvar 'boyStat_i'
  113. killvar 'npclastcalledn'
  114. killvar 'npcboytemp'
  115. --- boyStat ---------------------------------