code:
artist notes
-------------
TO USE: SELECT VECTOR ART BY NOX

-------------
Be aware this is a re-edit, update, and expansion of the original vector art created by NoX. Credits to NoX as the original artist.
Had NoX's work not been present to build off of, I would have been far too lazy to do any of this at all.

FOR MANUAL USE
-------------
1. Split source_vector_ndmain.svg and source_vector_ndextras.svg into src/art/vector/layer.
Note#1 source_vector.svg is a legacy version (before the art was changed) and is not used for anything.
Note#2 vector_revamp_source.svg not related and belongs to the other artist.

planned additions
-------------
	-create different areola sizes/shapes

known issues
-------------
	-minor clipping issue leg/ass outfits due to their outfit transparency effects
	-Not all outfit art works with amputees
	-pump shoes broken again.
	-open crotch on restrictive latex

pending requests/suggestions
-------------

v0.7 (04-14-2018)
-------------
	-added sleeves to hijab and abaya outfit
	-added sleeves to cutoffs and a t-shirt outfit
	-added sleeves to skimpy battledress outfit
	-added sleeves to conservative outfit
	-added sleeves to huipil outfit
	-added sleeves to kimono outfit
	-added sleeves to nice maid outfit
	-added sleeves to military uniform outfit
	-added sleeves to nice nurse outfit
	-added sleeves to slutty nurse outfit
	-added sleeves to slutty qipao outfit
	-added sleeves to schoolgirl outfit
	-added sleeves to nice suit outfit
	-added sleeves to slutty suit outfit
	-added sleeves to western clothing outfit
	-removed thigh-highs/stockings on most outfits
	-fixed nipple piercings showing incorrectly
	-fixed boots showing incorrectly on some outfits
	-fixed 'invisible balls' on one of the scrotum sizes (the shadow was showing as skin colour, removing the outline)
	-slutty nurse outfit now better matches the description
	-updated thigh boot art
	-updated extreme heel art
	-created bare feet stocking outfits (Long/short)
	-created additional flat shoe outfits (bare/stockings short/stockings long)
	-created additional heel shoe outfits (bare/stockings short/stockings long)
	-created additional pump shoe outfits (bare/stockings short/stockings long)

v0.6 (04-07-2018)
-------------
	-fixed bodysuit outfit color issue on non-default colors
	-fixed restrictive latex color issue on non-default colors
	-added hairstyle 'messy bun' (long/medium/short)
	-added hairstyle 'dreadlocks' (long/medium/short)
	-added hairstyle 'cornrows' (long/medium/short)
	-added hairstyle 'braided' (long/medium/short)
	-added hairstyle 'twintails' (long/medium/short)
	-added hairstyle 'shavedsides' (long/medium/short)
	-added chains outfit
	-added penitent nun outfit
	-reworked male genitalia
	-added bulge outfits for the appropriate outfits
	-removed transparency on clubslut, harem, and slutty torso outfits due to multiple issues
	-overhauled clubslut outfit to fix numerous art issues.
	-changed extreme heels
	-changed thigh high boots
	-overhauled breasts
	-reworked all breast outfits due to breast overhauled
	-changed breast positioning relative to the overall body
	-reworked corset lengths
	-reworked all breast and torso outfits for new breast compatibility

v0.5 (03-31-2018)
-------------
	-added belly scaling w/pregnancy+overfeeding
	-minor polishing on all outfits
	-fixed piercings not showing correctly
	-added nipple light piercings
	-added areola light piercings
	-added nipple heavy piercings
	-added areola heavy piercings
	-added vaginal dildo accessory
	-added vaginal long dildo accessory
	-added vaginal large dildo accessory
	-added vaginal long, large dildo accessory
	-added vaginal huge dildo accessory
	-added vaginal long, huge dildo accessory
	-added anal long plug accessory
	-added anal large plug accessory
	-added anal long, large plug accessory
	-added anal huge plug accessory
	-added anal long, huge accessory
	-added anal tail plug accessory (anal hook/bunny tail)
	-added first trimester pregnancy empathy belly
	-added second trimester pregnancy empathy belly
	-added third trimester pregnancy empathy belly
	-added third trimester twin pregnancy empathy belly
	-added tight corset torso accessory
	-added extreme corset torso accessory
	-cleaned up changelog wording for clarity purposes
	-added uncomfortable leather collar outfit
	-updated dildo gag collar graphic art
	-added massive dildo gag collar outfit
	-added ball gag collar outfit
	-added bit gag collar outfit
	-added silken ribbon collar outfit
	-added bowtie collar outfit
	-added ancient egyptian collar outfit
	-added hairstyle 'neat' (long/medium/short)
	-added hairstyle 'up' (long/medium/short)
	-added hairstyle 'ponytail' (long/medium/short)
	-added hairstyle 'bun' (long/medium/short)
	-added hairstyle 'curled' (long/medium/short)
	-added hairstyle 'messy' (long/medium/short)
	-added hairstyle 'permed' (long/medium/short)
	-added hairstyle 'eary' (long/medium/short)
	-added hairstyle 'luxurious' (long/medium/short)
	-added hairstyle 'afro' (long/medium/short)
	-fixed cowboy hat not showing on western outfit
	-fixed baldness on generic/generated non-selectable hairstyles

v0.4 (03-24-2018)
-------------

	-added nice lingerie outfit
	-fixed immersion breaking art on specific flat-chested outfits (somewhat)
	-added nurse slutty outfit
	-added silken ballgown outfit
	-added skimpy battledress outfit
	-minor polishing on all outfits
	-added slutty outfit
	-added spats and a tank top outfit
	-fixed graphical issues on mini dress
	-added succubus outfit
	-added nice suit outfit
	-added slutty suit outfit
	-added attractive lingerie for a pregnant woman outfit
	-added bunny outfit
	-added chattel habit outfit
	-updated fallen nun outfit (headdress added)
	-added conservative clothing outfit
	-added harem gauze outfit
	-added huipil outfit
	-added kimono outfit
	-added slave gown outfit
	-added stretch pants and a crop top outfit
	-updated schoolgirl outfit (sweater vest added)
	-added slutty qipao outfit
	-added toga outfit
	-added western clothing outfit (no cowboy hat)
	-fixed dick/ball clipping issues on all relevant outfits
	-added natural color nipples to match racial skin tones

v0.3 (03-17-2018)
-------------

	-added schoolgirl outfit
	-added fallennun outfit
	-added nice maid outfit
	-added slutty maid outfit
	-updated minidress outfit (changed color+fixes)
	-minor polishing on some outfits
	-added niqab and abaya outfit (niqab > hijab)
	-changed white colors on outfits to grey for increased contrast on light skin tones.
	-added nice nurse outfit
	-fixed outline issues on boots/extreme heels
	-fixed ultra black hair color issue (vanilla only)
	-added military uniform outfit
	-updated to latest pregmod git

v0.2 (03-10-2018)
-------------

	-added string bikini outfit
	-added scalemail bikini outfit (pregmod only content???)
	-updated male genitalia display position
	-set default shoe colors to neutral (per request)
	-added some natural color nipples to match racial skin tones

v0.1 (03-03-2018)
-------------

	-updated boob graphic art
	-updated nipple graphic art
	-updated arm graphic art
	-updated female genitalia graphic art
	-updated waist graphic art
	-updated butt graphic art
	-added bushy pubic hair
	-added very bushy pubic hair
	-updated vaginal chastity belt
	-updated anal chastity belt
	-added uncomfortable strap outfit
	-added shibari rope outfit
	-updated restrictive latex outfit
	-updated latex catsuit outfit
	-updated extreme heel graphic art
	-updated pump shoes graphic art (not selectable in-game yet)
	-added bodysuit outfit
	-added body oil outfit
	-added haltertop dress outfit
	-added bangles outfit
	-added mini dress outfit
	-added leotard outfit
	-added t-shirt and cutoffs outfit
	-added cheerleader outfit
	-added clubslut netting outfit

LIST OF EDITED FILES
-------------
/* FOR VECTOR ART */
src/art/vector/arm.tw
src/art/vector/boob.tw
src/art/vector/boob_addons.tw
src/art/vector/feet.tw
src/art/vector/hair_back.tw
src/art/vector/hair_fore.tw
src/art/vector/head.tw
src/art/vector/pubic_hair.tw
src/cart/vector/set_colour_outfit.tw
src/art/vector/set_colour_shoe.tw
src/art/vector/set_skin_colour.tw
src/art/vector/torso_outfit.tw
src/art/vector/belly.tw

/* FOR PUMP SHOE ENABLING */
src/uncategorized/slaveInteract.tw
src/utility/descriptionWidgetsStyle.tw
src/pregmod/widgets/slaveSummaryWidgets.tw


code:
Extended family mode (mod)

In short, extended family mode replaces the old .relation + .relationTarget system with a completely new system capable of handling a limitless number of relatives. Or at least until your game crashes from trying to handle it all. Fully incompatable with the old system and fully functional with ng+.

The backbone of the system: .father and .mother

Everything about a slave's family can be gathered by looking into her mother and father. Beyond the obvious mother-daughter relation, you can check two seperate slaves' parents to see if they are related to each other, allowing for sisters, half-sisters, and with a .birthWeek check, twins with little effort.
The following values are used with .mother and .father:
Valid slave IDs (in other words, a value > 0) - Serves as both a target for checks and as a check itself to see if effort should be expended to search for the parent.
0 - Slave has no known parent. A slave with a parent value of 0 is capable of having a parent added via reRelativeRecruiter
MissingParentIDs (in other words, a value < -2) - Serves as a placeholder to preserve sibling relations in the case of a parent being sold or lost. Outside of extreme cases, this value will never be restored to its' previous value. $missingParentID starts at -10000 and decrements after application. On NG+, positive values are incremented the same as a normal slave and checked for validity. Should it be invalid, it will be replaced with $missingParentID. Negative values, on the other hand, are decremented by 1200000. Values of -1 and -2 are ignored by the JS, so don't use them. Also -9999 through -9994 are used by hero slaves to preserve their sibling status no matter when they are purchased or obtained during the same game.

The limiters: .sisters and .daughters
Extended family mode is VERY for loop intensive, and as such, has limiters to prevent it from needlessly looping. A value greater than 0 for either of these slave variables signals that slave has a sibling/daughter for various checks. Furthermore, the value of .sisters and .daughters accurately tracks the number of sisters and daughters, particularly for checks that require all of them to be found. You'll learn to hate these, but on the plus side, they can safely be recalculated with no side effects. Nearly entirely handled by <<AddSlave>> and removeActiveSlave, you do not understand how huge of a plus this is.

The recruiting check: .canRecruit

Checked by reRelativeRecruiter to see if a slave is eligible to have relatives added. Hero slaves, special slaves, and often event slaves are ineligible for recruiting. Gets disabled if the slave is called into the recruiting event but fails to qualify for additional relatives due to unaddable slots or too many existing relatives.

A quick list of the JS that gets things done and various useful JS calls:

sameDad(slave1, slave2) - checks if the slaves share the same father and returns true/false.
sameMom(slave1, slave2) - checks if the slaves share the same mother and returns true/false.
sameTParent(slave1, slave2) - an exception catcher that handles such things as "slave1 knocked up slave2 and got impregnated by slave2, their children will be sisters" and returns the sister variable (0 - not related, 1 - twins, 2 - sisters, 3 - half-sisters). (subJS, never call on its own)
areTwins(slave1, slave2) - checks if the slaves are twins and returns true/false.
areSisters(slave1, slave2) - combines all of the above and returns the sister variable (0 - not related, 1 - twins, 2 - sisters, 3 - half-sisters). A widely used check to identify sister relatives. Generally gated by a .sisters check. Recommended to use in a <<switch>> macro instead of calling it for each outcome.

totalRelatives(slave) - returns how many relatives a slave has as an integer. Useful both as a check and for its value. Recommended to use as a check in instances where you want a relative, but don't care what it is.

mutualChildren(slave1, slave2, slaves) - checks the slave array for children shared by the two slave arguements and returns the number of mutual children as an integer. Currently used solely to encourage two slaves into a relationship if they have kids together.

The utility JS, courtesy of FCGudder. This JS should only be called if you know it will find something, use your limiters! These will always return the only relative if only one outcome is possible, so technically they can be used creatively. randomAvailable JS should be followed with random JS as a fallback for circumstances where you must find something, but would prefer it to be sensible if possible.
randomRelatedSlave(slave, filterFunction) - returns a random related slave to the slave passed into it. filterFunction is called in the following JS but not needed if you just want a random relative.
randomRelatedAvailableSlave(slave) - returns a random available related slave.
randomSister(slave) - returns a random sister.
randomTwinSister(slave) - returns a random twin.
randomAvailableSister(slave) - returns a random available sister.
randomAvailableTwinSister(slave) - returns a random available twin.
randomDaughter(slave) - returns a random daughter.
randomAvailableDaughter(slave) - returns a random available daughter.
randomParent(slave) - returns a random parent.
randomAvailableParent(slave) - returns a random available parent.

repo_name: Drosil/fc

path: devNotes/Extended Family Mode Explained.txt

license: mit


code:
Security Expansion

	10/18/17

	1

	3

	10/22/17

	5

	10/24/17

	6
	-balance adjustments
	-fixed improper name assignment
	-added renaming of units
	-reworked casualties logic
	-added statistics to arcology management screen
	-various other fixes

	10/28/17

	7
	-SFanon additions
	-fixes
	-balance

	10/29/17

	7.1
	-fixes
	-couple of balance adjustments.

	11/01/17

	7.5

	7.6
	-fixed reported issue
	-balance adjustments (run backward compatibility to apply them)

	7.7

	11/03/17

	8
	-various fixes
	-balance
	-rebellions

	11/05/17

	8.5
	-fixes
	-rebellions

	11/06/17

	Pregmod v113

	8.6
	-fixes

	8.7
	-fixed reported issue maybe pretty please?

	11/07/17

	Pregmod v114/Pregmod v114.1

	8.8
	-fixes

	9.2
	-small fixes
	-new edicts
	-new units upgrade
	-new barracks upgrade

	Pregmod v115

	9.6
	-fixes
	-loyalty work

	11/09/17

	Pregmod v119

	9.6
	-small fixes

	11/10/17

	10
	-fixes
	-weapons manufacturing
	-balance

	11/11/17

	Pregmod v121

	10.2
	-fixes

	Pregmod v122

	11
	-fixes
	-proclamations
	-balance

	11.1

	11.2
	-fixes
	-extra options

	11/12/17

	Pregmod v124

	11.5
	-fixes
	-balance

	11.6
	-fixed reported issues
	-balance

	Pregmod v125

	12
	-fixes
	-transport hub and trade
	-balance

	11/13/17

	12.3
	-fixes
	-SFanon additions
	-balance

	Pregmod v126

	12.4

	11/14/17

	Pregmod v130

	12.5
	-fixes
	-SFanon stuff
	-balance

	Pregmod v132

	12.6
	-fixes
	-anon's stuff

	12.8
	-fixes
	-balance

	12.9
	-fixes

	11/15/17

	13
	-fixes
	-balance

	11/16/17

	13.1
	-fixes
	-balance

	13.3
	-fixes

	13.4
	-fixed >>142293 (Attack value NaN during major battle)

	11/17/17

	Pregmod v135

	13.4
	-fixes
	-balance
	-difficulty settings

	Pregmod v136
	13.6
	-fixes

	11/18/17

	13.7
	-balance
	-(maybe) fix for battle terrain not showing up.

	13.8
	-(maybe) fixed >>142732

	Pregmod v137

	v13.9
	-fixes (couple of)

	Pregmod v139

	14
	-fixes
	-spell checked attack report. My god was is bad.

	14.1
	-fixes

	11/20/17

	14.2
	-fixes
	-balance
	-very satisfying version number.