sex_handling.md 7.7 KB

In the game are mainly traced the sex affairs of player character (pc) with other non-player characters (npc). The reason for tracing is evolution of pc and statistics.

Sex event sequence

  • gs 'BoyStat','param1',['param2']
    the routine boyStat sets variables related to parameters of Pc's sexual partner(s). They are used mainly in routine 'arousal'
  • gs 'arousal','param1' ... ['param8']
    this routine describes evolution of the sex event .. time, excitement, orgasm and more. It is called usually several times.
  • gs 'cum_call','param1', ..
    this routine handles first of all a sperm deposit. It can be called several times, especialy when the semen ends on/in different parts of PC body (like mouth and face).
  • gs 'arousal','end'
    the routine 'arousal' called with parameter 'end' should clean a few variables, which are set during the sex event.

Routine description

One of the core routines is Cum_Manage, which handle placing of cum all over pc's body and in her cavities. This routine also solve the reliability of condoms in dependency at the penis size (the game supposes one size of condoms).

This routine can be called with parameter: 'cumeater' or 'cumgather' but generally is called without parameters and all the necessary variable has to be set in advance.

Necessary variables are:

  • $boy ... source of sperm
  • spafinloc ... target place

Optional variables are:

  • sexvolume ... amount od sperm, default = 40 (4 ccm)
  • sexspecpot ... potency of sperm, if not defined the value is taken from nps predefined sexspecpot = npc_spermpot[$boy] or it is randomly generated
  • cumprecheck ... if this parameter is set, the deposit is always only precum and pc is not aware that it can be potent
  • sexunaware ... this parameter states whether pc is aware of the act
  • sexpartkno ... this parametr state whether the npc is familiar with pc
  • sexcontra ... kind of intraception

  • vibratorIN

  • analplugIN

The front end for Cum_Manage is cum_call, which allows to input the necessary values as a parameter and which prepares the apropriate variables and finaly calls the Cum_Manage

Target placeCum_Managecum_call
spafinloc =$ARGS[0]
In your Vagina0''
On your labia1'labia'
On your panties over your vagina2'pantyfront'
In your anus3'anus'
On your butt4'butt'
On your panties over your butt5'pantyrear'
On your clothes in your groin area6'clothesgroin'
On your clothes7'clothes'
On your back8'back'
On your legs9'legs'
On your arms10'arms'
On your face11'face'
Inside your mouth12'mouth'
On your hands13'hands'
On your stomach14'stomach'
On your breasts15'breasts'
In your hair16'hair'
In a condom in your vagina17'internalcondom'


cum_call has got following parameters:
ordertypefunction
1stringname of the target location according the table above
2stringcode name of the sexual partner like 'A9' or '9'
3numberpartner knowledge: 0 - unknown partner, 1 - familiar partner, 2 - pc isn't aware about sex
4numbercontraception, if left blank it will use the default, value 1 .. 7
5numberargument is used for changing the potency, -1 for unable to impregnate, default is 10,000
6numberparametr sets the volume of sperm, default is 40 (4ml)


List of values for contraception and their meaning

  1. He thought, that pc was on the pill but she wasn't.
  2. Pc is on the Pill
  3. Condom. Condoms can still fail vy the code.
  4. The Condom Broke. This is mostly used to check if cum manage resulted in a broken condom.
  5. The Condom Slipped off. Like 4, this is mostly to check if the contraception of 3 had a failure.
  6. The condom was sabotaged but the pc shouldn't know that
  7. The Condom was sabotaged by the pc



These two codes make the same:

gs 'cum_call','anus','A10',1 ,2,5000,25

||

gs 'boyStat', 'A10'
spafinloc = 3
sexvolume = 25
sexspecpot = 5000
sexpartkno = 1
sexcontra = 2
gs 'Cum_Manage'

Usually only the bold parts are used.

However the following code, which handle precum, can be writen only in this way:

gs 'boyStat', 'A10'
spafinloc = 0
cumprecheck = 1
gs 'Cum_Manage'

According to the last agreement, this action should not be used separate and it is included into "arousal vaginal" act, its occurrence there is driven by random generator.


Some more remarks:

cum_call calls the boyStat, but on the other hand it preserves variable $boy

Cum_Manage sets to zero following parameters: cumprecheck,spafinloc, and sexvolume



The second core routine is arousal. This routine is used much widely than the preceding two and it cares about emotional and physical changes during any sexual stimulation. Arousal has got the folowing parameters:

ordertypefunction
1stringname of the action which causes arousal
2numberduration of the action in minutes
3stringname of variable which represents lenght of penis or toy in format 'dick...'. It makes sense only for 'bj', 'anal' and 'vaginal' actions.
3 .. 9stringlist of affected fetishes



List of keywords for actions:

'masturbate', 'porn', 'voyeur', 'kiss', 'breasts', 'massage', 'foreplay', 'cuni', 'rimming', 'trib', 'anal', 'anal_finger', 'anal_fist', 'anal_dildo', 'anal_strap', 'anal_vibe', 'vaginal', 'vaginal_finger', 'vaginal_fist', 'vaginal_dildo', 'vaginal_strap', 'vaginal_vibe'

also when giving any of the following:

'flash_breasts', 'flash_pussy', 'flash_ass', 'kiss_give', 'breasts_give', 'massage_give', 'foreplay_give', 'cuni_give', 'rimming_give', 'anal_finger_give', 'anal_fist_give', 'anal_dildo_give', 'anal_vibe_give', 'anal_strap_give', 'vaginal_finger_give', 'vaginal_fist_give', 'vaginal_dildo_give', 'vaginal_strap_give', 'vaginal_vibe_give', 'hj', 'bj', 'footjob'

List of keywords for fetishes

'maso', 'bound', 'beast', 'exhibitionism', 'rough', 'prostitution', 'dom', 'sub', 'incest', 'feet', 'lesbian', 'group', 'gangbang', 'humiliation', 'deepthroat', 'unknown'

Format to use:

gs 'arousal', 'act', duration, 'fetish', 'fetish', 'fetish', 'fetish', 'fetish', 'fetish', 'fetish'

or

gs 'arousal', 'act', duration, 'dick*', 'fetish', 'fetish', 'fetish', 'fetish', 'fetish', 'fetish'