Dev:SDK/Core - People

From Slavemaker Wiki
Jump to: navigation, search
<<first <prev SDK/Core - People next> last>>


There are a set of standard people your slave maker and slave can interact with

Generally show using the ShowPerson function

eg
_root.ShowPerson(1, false, 0);
or
_root.ShowPerson(8, false, 1, 2);
or
_root.ShowPerson(6, true, 0, int(Math.random()*2) + 1); // randomly choose frame 1 or 2

For individual frames for the person, see the folder People in this SDK for thumbnails

For other images see Dev:SDK/Core - MovieClips and Dev:SDK/Core - Backgrounds.


Person Numbers[edit]

Many of the following functions and other core function use a person number to select the person. Some functions limit the values, but the full list is person

  1. Risso the Merchant
  2. Sora the Barmaid
  3. Miss N. the Prostitute
  4. Lady Okyanu the High Class Prostitute
  5. Sumi the Maid
  6. Knight Shan
  7. Count Gossem
  8. Lord
  9. Lady Farun
  10. Tena the cute lesbian
  11. Mistress Epona the ponygirl mistress
  12. Irina the beautiful Bounty Hunter
  13. Head Librarian Willana
  14. Dancer
  15. Skuld, the salon owner
  16. Astrid, the dickgirl
  17. Alsha, the swim instructor
  18. Marine, the beach guide
  19. Snow, the school girl
  20. Meigura, the idol
  21. Ellara, the armourer
  22. Meesh the trainer
  23. Tailor
  24. Nun
  25. Bar Owner
  26. Sleazy Bar Owner
  27. Pimp
  28. Cook
  29. Tutor
  30. Refinement Teacher
  31. XXX School Owner
  32. Fortune Teller
  33. Demon
  34. Angel
  35. Sailor
  36. Farmer
  37. High Priestess Daruna
  38. Thug
  39. Narana, the demon fan
  40. Kogin, the Travelling salesman
  41. Onsen Owner, Lady Azure
  42. Jester
  43. Misana the Medium
  44. Dealer
  45. Stable-hand
  46. Guard Soli
  47. Lady Farun's Maid
  48. Tama, naked girl at the beach
  49. Guild Member
  50. Mina the Singing teacher
  51. Lara, Astrid's Maid
  52. Puppy Girl
  53. Guard (general)
  54. Slave Trader
  55. Mistress (general)
  56. Master (general)
  57. Tiger Girl
  58. Busty Cat Slave
  59. Cat Slave
  60. Natsu
  61. Catburglar
  62. Woman
  63. Lady
  64. Marna
  65. Catgirl
  66. Lady Cat
  67. Azana
  68. Leonthas
  69. Maid
  70. Ring Master
  71. Ambassador Tachiba
1000 Older Lover
1001, 1002,1003, 1004 New Owner, 1001,1002 male, 1002,1003 female
1999 Original Owner

See the file Languages/Base.xml for a complete list

Core Functions[edit]

The following fuctions are used for interacting/showing people

HidePeople
function HidePeople()

hide people like Lady Farun, and your slavemaker image, then shows your assistant afterwards or if personally supervising then your slavemaker image

HideAllPeople
function HideAllPeople()

hide people like Lady Farun, also hides your assistant and your slavemaker image

GetPersonsName
function GetPersonsName(person:Number) : String

returns the name of a standard person (the bit below in )

GetPersonsGender
function GetPersonsGender(person:Number) : Number

returns the gender (1-3) of the person

Some slight variations, for instance the Sleazy Bar Owner can be a dickgirl at times but this always return 1. Also The librarian is a dickgirl if dickgirls are enabled, else a woman

GetPersonsMovieClip
function GetPersonsMovieClip(item:Object) : MovieClip

returns the MovieClip for the person. Note not all people have an image or MovieClip (45, 50, 1000+)

ShowPerson
function ShowPerson(person:Number, place:Number, align:Number, gframe:Number)

A simple wrapper around ShowMovie to show the movieclip for a person. Simply does ShowMovie(GetPersonsMovieClip(person), place, align, gframe);

eg Show the Lord's image

ShowPerson(8, 1, 1);

Note: - preferably use this to show a persons image.

Custom Person[edit]

There is a customisable person you can lend or visit in the game. This person is hidden by default

ShowCustomVisitPerson
ShowCustomVisitPerson(pname:String)

Adds a custom person to the Vist/Lend screens. Call in Initialise() function of your slave

eg

_root.SetCustomVisitPerson("Tirana");
HideCustomVisitPerson
HideCustomVisitPerson()

Hides the person

There are two Slave Girl Override functions to allow you to show/hide the person on the visit/lend screens. These are only need if the person is only visible some of the time (for instance Tirana for Minako).

DoLendSelect
function DoLendSelect()
DoVisitSelect
function DoVisitSelect()

eg Tirana is only visible for lending and only when a particular flag is set

function DoLendSelect()
{
	if (_root.CustomFlag4 == 3 || _root.CustomFlag4 == 6) _root.ShowCustomVisitPerson("Tirana");
	else _root.HideCustomVisitPerson();
}
 
function DoVisitSelect()
{
	_root.HideCustomVisitPerson();
}

These functions can also be used to hide the standard people. The standard code for both visit and lend is eg

_root.VisitMenu.Count._visible = _root.Count.IsAccessible();
_root.VisitMenu.Lord._visible = _root.Lord.IsAccessible();
_root.VisitMenu.Knight._visible = _root.Knight.IsAccessible();
_root.VisitMenu.Barmaid._visible = _root.Barmaid.IsAccessible();
_root.VisitMenu.Maid._visible = _root.Maid.IsAccessible();
_root.VisitMenu.LadyFarun._visible = _root.LadyFarun.IsMet() || _root.LadyFarun.IsAccessible();
_root.VisitMenu.CuteLesbian._visible = _root.CuteLesbian.IsAccessible();
_root.VisitMenu.PonyMistress._visible = _root.PonyMistress.IsAccessible();
_root.VisitMenu.BountyHunter._visible = _root.BountyHunter.IsAccessible();
_root.VisitMenu.GuildMember._visible = false; // true for lending

The Shop Owner, Prostitute and High Class Prostutite are always visible in both but you can hide them with

_root.VisitMenu.Prostitute._visible = false;
_root.VisitMenu.HighClassProstitute._visible = false;
_root.VisitMenu.ShopOwner._visible = false;

Slavegirl Override Functions[edit]

The following functions can be overridden for a slave girl to affect meeetings with a person

_______________________________


Shopping[edit]

DoShop
function DoShop()

visit the shop, note bitflag1 28 first visit shop is set after the first visit

eg

function DoShop() {
	if (!root.CheckBitFlag1(28)) {
	    // first visit
 
	}
}
DoSalon
function DoSalon()

visit the beauty salon, bitflag1 29 for first visit

DoTailor
function DoTailor()

visit the tailors, bitflag1 30

DoArmourer
function DoArmourer()

visit the tailors, bitflag1 14

Visiting[edit]

DoVisit

called before visiting a person

DoVisit(person:Number) : Boolean

person - values 1-42
return true to prevent the visit

DoVisitShop

called when visiting the Merchant, and if the merchant will see her

function DoVisitShop() : Boolean

return true to completely overide the default visit

DoVisitBarmaid()

Called when visiting the Barmaid, otherwise as DoVisitShop

DoVisitMaid()

Called when visiting the Maid, otherwise as DoVisitShop

DoVisitKnight()

Called when visiting the Knight, otherwise as DoVisitShop

DoVisitLord()

Called when visiting the Lord, otherwise as DoVisitShop

DoVisitCount()

Called when visiting the Count, otherwise as DoVisitShop

DoVisitLadyFarun()

Called when visiting Lady Farun, otherwise as DoVisitShop

DoVisitProstitute()

Called when visiting the prostitute, otherwise as DoVisitShop

DoVisitHighClassProstitute()

Called when visiting Lady Okyanu the high class prostitute, otherwise as DoVisitShop

DoVisitCuteLesbian()

Called when visiting Tena, otherwise as DoVisitShop

DoVisitPonyMistress()

Called when visiting Mistress Epona the pony mistress, otherwise as DoVisitShop

DoVisitBountyHunter()

Called when visiting Irinia the Bounty Hunter, otherwise as DoVisitShop

DoVisitCustomPerson()

Called when visiting the custom person

HighClassPartyOffer
function HighClassPartyOffer(days:Number)

called after the offer of the high class party is made. Allow you to override the stadard text

HighClassPartyCheck
function HighClassPartyCheck()  : Boolean

return true to override the text of a days before party (ie to alter criteria say)

VisitSeer
function VisitSeer(total:Number)

total - estimated score at the end of game
Called when she visits the seer, use to change her readings. Alter these values

VisitFortuneTeller.SlaveReading.text - slaves reading
VisitFortuneTeller.SlaveMakerReading1.text - part 1 of your slavemakers reading
VisitFortuneTeller.SlaveMakerReading2.text - part 2 of your slavemakers reading

eg

function VisitSeer(total:Number)
{
     _root.VisitFortuneTeller.SlaveReading.text = "She is fated to become the greatest slave.";
}

Lending[edit]

DoLendHer

called before lending to a person

DoVisit(person:Number) : Boolean

person - values 1-42
return true to prevent the loan

DoLendShop()

called when visiting the Merchant, and if the merchant will see her

function DoVisitShop() : Boolean

return true to completely overide the default visit

DoLendBarmaid()

Called when visiting the Barmaid, otherwise as DoVisitShop

DoLendMaid()

Called when visiting the Maid, otherwise as DoVisitShop

DoLendKnight()

Called when visiting the Knight, otherwise as DoVisitShop

DoLendLord()

Called when visiting the Lord, otherwise as DoVisitShop

DoLendCount()

Called when visiting the Count, otherwise as DoVisitShop

DoLendLadyFarun()

Called when visiting Lady Farun, otherwise as DoVisitShop

DoLendProstitute()

Called when visiting the prostitute, otherwise as DoVisitShop

DoLendHighClassProstitute()

Called when visiting Lady Okyanu the high class prostitute, otherwise as DoVisitShop

DoLendCuteLesbian()

Called when visiting Tena, otherwise as DoVisitShop

DoLendPonyMistress()

Called when visiting Mistress Epona the pony mistress, otherwise as DoVisitShop

DoLendBountyHunter()

Called when visiting Irinia the Bounty Hunter, otherwise as DoVisitShop

DoLendCustomPerson()

Called when visiting the custom person

Other[edit]

OldLoverStartDating
function OldLoverStartDating()

Called when your slave accepts an older lover while working at the sleazy bar

OldLoverDating
function OldLoverDating()

called when your slave dates their older lover (daily event)

Stat changes
Points(0, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

Standard text has already been shown, next event button shown ie DoEvent(9999) , BadGirl = 1 set

eg for female slave, Genma assistant Genma: She is going out with her older lover. She doesn't seem to have a lot of morality. This person gave her 20GP

People Status[edit]

During gameplay most people have a state of their interactions with you and your slave. This state is saved and portions carryover between slave girls

Selected people are instances of this class (an extension of the Place class)

class Person extends Place {
	public var SMLove:Number;			// Slave Maker love of person
	public var SlaveLove:Number;			// Slave's love of person
	public var LoveSM:Number;			// Persons love of slave maker
	public var LoveSlave:Number;			// Slaves love of person
	public var PersonFlag:Number;			// general flag
	public var TentaclePregnancy:Number;		// state of persons tentacle pregnancy
	public var CustomFlag:Number;			// actually from Place
	public var DifficultyLendMod:Number;		// modifer to base DifficultyLendHer
	public var DifficultyLendStart:Number;		// start modifier at start of training
	public var TotalLend:Number;			// total times slave lent
	public var InLoveWith:String;			// persons name they are in love with
 
	public function Points(flag:Number, lovesm:Number, loveslave:Number, smlove:Number, slavelove:Number)
	public function InLove(sname:String, loyal:Boolean)
	public function CheckBitFlag(flag:Number) : Boolean
	public function SetBitFlag(flag:Number)
	public function ClearBitFlag(flag:Number)
	public function IsAccessible() : Boolean
	public function SetAccessible(seta:Boolean) 
	public function IsVisited() : Boolean 
	public function SetVisited() 	
	public function IsMet() : Boolean
	public function SetMet()
	public function NewDay()
	public function IsVisitedToday() : Boolean {	
	public function ShowPerson(main:Boolean, align:Number, gframe:Number)
}

Internal functions and member variables have been omitted

For most people the member PersonFlag is a count of the reputation your slave has gained from visiting the person

The specific instances are

var LadyFarun:Person;
var Knight:Person;
var Lord:Person;
var Prostitute:Person;
var HighClassProstitute:Person;
var Barmaid:Person;
var Maid:Person;
var Merchant:Person;
var Count:Person;
var CuteLesbian:Person;
var BountyHunter:Person;
var PonyMistress:Person;
var Dancer:Person;
var SleazyBarOwner:Person;

eg

if (LadyFarun.IsVisited()) {
    SetText("You have visited Lady Farun before....");
}

eg

BountyHunter.Points(0, 0, 10); // she falls a little in love with your slave
if (BountyHunter.SlaveLovePoints > 60) {
    SetText("Irina tells  + SlaveName +  she is in love with her!");
    BountyHunter.InLove(SlaveName, true);
}

Note if she has already declared her love then the Points function does not change SlaveLovePoints. But, if you use previously
BountyHunter.InLove(SlaveName, false);
she will fall out of love with her previous lover and swap over to your slave (or you!)

People Variables[edit]

Some people have specific variables for their interactions. These will be removed in future and use the above class

People variables 0 = not found, 0.01 = introductions shown, other values depend on person VarIdol PuppyGirlFlag

People BitFlags[edit]

Each person with an instance of the Person class can have dedicated bitflags for the state of their interactions

Bounty Hunter

32 - free services
33 - other services

Dancer

33 - Known as a faerie
34 - dancer tells about faeries in hiding

Prostitute

32 - Made party offer

HigClassProstitute

32 - Made party offer

Lady Farun

32 - Rescued

eg

	if (_root.Dancer.CheckBitFlag(33)) {
		_root.AddText("You speak to the faerie dancer...");
		....
	}


<<first <prev SDK/Core - People next> last>>