Dev:SDK/Slave Girl - Plannings - Sex Actions - Participants

From Slavemaker Wiki
Jump to: navigation, search
<<first <prev SDK/Slave Girl - Plannings - Sex Actions - Participants next> last>>


SlaveMaker 3 SDK Participants of Sex Actions


For each sex act the game allows you to select the participants for the sex act from your current slaves, assistants and yourself

________________________________________________________________


Variables[edit]

The primary container for the participants is the array

_root.Participants
This contains an index value for each slave/person assigned to the act. Each is of type Number. The values are
-100 - your Slave Maker
-99 - your assistant
0+ - an index of the slave in the array SlavesArray

eg

        for (var i:Number = 0; i < _root.Participants.length; i++) {
                // slave is _root.Participants[i]
                }
_root.SlavesArray
This is a list of all slaves you own or CAN own, including all assistants you have used. Each array entry is an instance of the class Slave (see the classes provided in Examples/Common Scipts/Classes

So for the Participants Array you can

        for (var i:Number = 0; i < _root.Participants.length; i++) {
                var pi:Number = [_root.Participants[i];
                if (pi == -100) {
                        // slave maker
                } else if (pi == -99) {
                        // assistant
                } else {
                        var sd:Slave = _root.SlavesArray[pi];
                        // see the class but for example
                        sd.SlaveName = their name
                        sd.SlaveGender = gender
                        sd.VarConstitution = constitution stat etc
                }
                }

Notes:
You can access the SlavesArray at anytime, To determine the type of the slave check the property SlaveType

-100 = untrained slave
-20 = special participant
-10 = slave in training
-3 = sold slave
-2 = special (not in use)
-1 = slave maker assistant
0 = minor slave
1 = trained slave

eg

        for (var i:Number = 0; i < _root.SlavesArray.length; i++) {
                var sd:Slave = _root.SlavesArray[i];
                if (sd.SlaveType == 0) {
                        // minor (purchased) slave
                } else if (sd.SlaveType == 1 && sd.CanAssist) {
                        // a bought back slave
                } else if (sd.SlaveType == -20) {
                        // a special participant, like Kiyone when training Mihoshi. Only has a value -20 when valid as a participant
                } else if (sd.SlaveType == -1 && _root.IsAssistant(sd.SlaveName) {
                        // your current assistant
                }
                }
_root.PersonIndex
For a one-on-one sex act (like fuck, touch etc) this is the index for the other participant (note -100, -99 apply). It is also _root.Participants[0];
_root.PersonName
For a one-on-one sex act (like fuck, touch etc) this is the name for the other participant.
_root.PersonGender
For a one-on-one sex act (like fuck, touch etc) this is the gender for the other participant.

Similarly

PersonHeShe
PersonHimHer
PersonHisHer
Important Note
_root.LastActionDone
_root.Action

If you select participants these values will always be integral.
ie for the Touch act these can have the values

2.0 = touch by male slave maker (female slave)
2.1 = handjob or touch by female/dickgirl slavemaker (all slave genders)
2.2 = handjob or touch by female slave
2.3 = touch by male slave
2.4 = handjob or touch by assistant
2.5 = handjob or touch by dickgirl slave

But selecting the participants it will always be 2.0

________________________________________________________________

Functions[edit]

IsParticipant

Returns true is a particular index value is a participant

function IsParticipant(idx:Number) : Boolean

Notes
No difficulty level to do this act. No skill level for this act

_root.TotalNothing = times the act has been done, BEFORE this time

Stats

Needing Sex - Points(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, int(VarLibidoRounded/5), 0, rest, 0, 0, 0)
Not Needing - Points(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, rest, 0, 0, 0);


CountParticipantGenders

counts the genders of all participants and sets the PersonIndex, PersonName etc variables

function CountParticipantGenders()

The following variables are set by this

PersonIndex
PersonGender
PersonName
totmales - total male participants
totfemales - total female participants
totdickgirls - total dickgirl participants

Note: This function is automatically called before all sex acts are performed ________________________________________________________________

GetParticipantDetails

Sets dependent variables for a given index value

function GetParticipantDetails(idx:Number)

Sets the variables

PersonIndex
PersonGender
PersonName

also

sdata:Slave

for the particular slave. sdata is the entry in SlavesArray for the slave in question. Note not valid for Slave Maker but is valid for your assistant.

________________________________________________________________

Adding/Removing Participants

The simplest way is to add/remove array entries from the Participants array, but this only applies for the current act.

If someone needs to know how to manipulate default participants or acts in the traing queue I'll document then.


<<first <prev SDK/Slave Girl - Plannings - Sex Actions - Participants next> last>>