Skip to content

Commit

Permalink
Merge branch 'master' of git://github.com/Wahn128/Flexible-Survival
Browse files Browse the repository at this point in the history
  • Loading branch information
Nuku committed Jan 6, 2019
2 parents 10785de + 261fec5 commit c5eb59a
Show file tree
Hide file tree
Showing 30 changed files with 3,084 additions and 660 deletions.
148 changes: 148 additions & 0 deletions Core Mechanics/Basic Functions.i7x
Expand Up @@ -206,6 +206,154 @@ to MoraleBoost (N - number):
if morale of player > 100:
now morale of player is 100;

understand "testNPCSexAftermath" as NPCSexAftermathAction.

NPCSexAftermathAction is an action applying to nothing.

carry out NPCSexAftermathAction:
say "Testing: Carl fucks player:";
NPCSexAftermath Player receives "AssFuck" from Carl;
say "Testing: Player fucks Carl:";
NPCSexAftermath Carl receives "AssFuck" from Player;

to NPCSexAftermath (TakingChar - a person) receives (SexAct - a text) from (GivingChar - a person):
if GivingChar is player:
if debugactive is 1:
say "DEBUG -> Player is the giving partner[line break]";
if SexAct is "AssFuck":
if PenileVirgin of player is true:
now PenileVirgin of player is false;
say " [Bold Type]You have lost your penile virginity fucking [TakingChar]![roman type][line break]";
if AnalVirgin of TakingChar is true:
now AnalVirgin of TakingChar is false;
say " [Bold Type]You have taken [TakingChar]'s anal virginity![roman type][line break]";
add printed name of TakingChar to AnalVirginitiesTaken of player;
else if SexAct is "PussyFuck":
if PenileVirgin of player is true:
now PenileVirgin of player is false;
say " [Bold Type]You have lost your penile virginity fucking [TakingChar]![roman type][line break]";
if Virgin of TakingChar is true:
now Virgin of TakingChar is false;
say " [Bold Type]You have taken [TakingChar]'s virginity![roman type][line break]";
add printed name of TakingChar to VirginitiesTaken of player;
else if SexAct is "OralCock":
if OralVirgin of TakingChar is true:
now OralVirgin of TakingChar is false;
say " [Bold Type]You have taken [TakingChar]'s oral virginity![roman type][line break]";
add printed name of TakingChar to OralVirginitiesTaken of player;
else if SexAct is "OralPussy":
if OralVirgin of TakingChar is true:
now OralVirgin of TakingChar is false;
say " [Bold Type]You have taken [TakingChar]'s oral virginity![roman type][line break]";
add printed name of TakingChar to OralVirginitiesTaken of player;
else if TakingChar is player:
if debugactive is 1:
say "DEBUG -> Player is the receiving partner[line break]";
if SexAct is "AssFuck":
if AnalVirgin of player is true:
now AnalVirgin of player is false;
say " [Bold Type]You have lost your anal virginity to [GivingChar]![roman type][line break]";
now FirstAnalPartner of player is printed name of GivingChar;
setmonster MainInfection of GivingChar;
mimpregchance;
else if SexAct is "PussyFuck":
if Virgin of player is true:
now Virgin of player is false;
say " [Bold Type]You have lost your virginity to [GivingChar]![roman type][line break]";
now FirstVaginalPartner of player is printed name of GivingChar;
setmonster MainInfection of GivingChar;
fimpregchance;
else if SexAct is "OralCock" or SexAct is "OralPussy":
if OralVirgin of player is true:
now OralVirgin of player is false;
say " [Bold Type]You have lost your oral virginity to [GivingChar]![roman type][line break]";
now FirstOralPartner of player is printed name of GivingChar;
else:
if debugactive is 1:
say "DEBUG -> [GivingChar] is having sex with [TakingChar][line break]";
if SexAct is "AssFuck":
if PenileVirgin of GivingChar is true:
now PenileVirgin of GivingChar is false;
say " [Bold Type][GivingChar] has lost their penile virginity to [TakingChar]![roman type][line break]";
now FirstPenilePartner of GivingChar is printed name of TakingChar;
if AnalVirgin of TakingChar is true:
now AnalVirgin of TakingChar is false;
say " [Bold Type][GivingChar] has taken [TakingChar]'s anal virginity![roman type][line break]";
now FirstAnalPartner of TakingChar is printed name of GivingChar;
else if SexAct is "PussyFuck":
if PenileVirgin of GivingChar is true:
now PenileVirgin of GivingChar is false;
say " [Bold Type][GivingChar] has lost their penile virginity to [TakingChar]![roman type][line break]";
now FirstPenilePartner of GivingChar is printed name of TakingChar;
if AnalVirgin of TakingChar is true:
now Virgin of TakingChar is false;
say " [Bold Type][GivingChar] has taken [TakingChar]'s virginity![roman type][line break]";
now FirstVaginalPartner of TakingChar is printed name of GivingChar;
else if SexAct is "OralCock":
if PenileVirgin of GivingChar is true:
now PenileVirgin of GivingChar is false;
say " [Bold Type][GivingChar] has lost their penile virginity to [TakingChar]![roman type][line break]";
now FirstPenilePartner of GivingChar is printed name of TakingChar;
if OralVirgin of TakingChar is true:
now OralVirgin of TakingChar is false;
say " [Bold Type][GivingChar] has taken [TakingChar]'s oral virginity![roman type][line break]";
now FirstOralPartner of TakingChar is printed name of GivingChar;
else if SexAct is "OralPussy":
if PenileVirgin of GivingChar is true:
now PenileVirgin of GivingChar is false;
say " [Bold Type][GivingChar] has lost their penile virginity to [TakingChar]![roman type][line break]";
now FirstPenilePartner of GivingChar is printed name of TakingChar;
if OralVirgin of TakingChar is true:
now OralVirgin of TakingChar is false;
say " [Bold Type][GivingChar] has taken [TakingChar]'s oral virginity![roman type][line break]";
now FirstOralPartner of TakingChar is printed name of GivingChar;


understand "testCreatureSexAftermath" as CreatureSexAftermathAction.

CreatureSexAftermathAction is an action applying to nothing.

carry out CreatureSexAftermathAction:
say "Testing: Carl fucks player:";
CreatureSexAftermath "Player" receives "AssFuck" from "Alpha Husky";
say "Testing: Player fucks Carl:";
CreatureSexAftermath "Alpha Husky" receives "AssFuck" from "Player";
[Options for SexAct are: AssFuck, PussyFuck, OralCock, OralPussy]

to CreatureSexAftermath (TakingChar - a text) receives (SexAct - a text) from (GivingChar - a text):
if GivingChar is "Player":
if debugactive is 1:
say "DEBUG -> Player is the giving partner[line break]";
if SexAct is "AssFuck":
if PenileVirgin of player is true:
now PenileVirgin of player is false;
say " [Bold Type]You have lost your penile virginity fucking the [GivingChar in lower case]![roman type][line break]";
else if SexAct is "PussyFuck":
if PenileVirgin of player is true:
now PenileVirgin of player is false;
say " [Bold Type]You have lost your penile virginity fucking the [GivingChar in lower case]![roman type][line break]";
else if TakingChar is "Player":
if debugactive is 1:
say "DEBUG -> Player is the receiving partner[line break]";
if SexAct is "AssFuck":
if AnalVirgin of player is true:
now AnalVirgin of player is false;
say " [Bold Type]You have lost your anal virginity to the [GivingChar in lower case]![roman type][line break]";
now FirstAnalPartner of player is GivingChar;
setmonster GivingChar;
mimpregchance;
else if SexAct is "PussyFuck":
if Virgin of player is true:
now Virgin of player is false;
say " [Bold Type]You have lost your virginity to the [GivingChar in lower case]![roman type][line break]";
now FirstVaginalPartner of player is GivingChar;
setmonster GivingChar;
fimpregchance;
else if SexAct is "OralCock" or SexAct is "OralPussy":
if OralVirgin of player is true:
now OralVirgin of player is false;
say " [Bold Type]You have lost your oral virginity to the [GivingChar in lower case]![roman type][line break]";
now FirstOralPartner of player is GivingChar;

to StatChange (Statname - a text) using (Value - a number):
if Value is 0:
Expand Down
4 changes: 3 additions & 1 deletion Core Mechanics/Navigation.i7x
Expand Up @@ -242,7 +242,7 @@ carry out destinationcheck:
say "| [link][bracket]Phi Iota Gamma[close bracket][as]nav Phi Iota Gamma[end link] ";
LineBreak;
[start of the forest area]
if Urban Forest is known or Bunny House is known or Deep Forest is known or Happy Puppy Kennel is known or Ironscale Hollow is known:
if Urban Forest is known or Bunny House is known or Deep Forest is known or Happy Puppy Kennel is known or Ironscale Hollow is known or Avalon-Crossroads is known:
say "[bold type]Urban Forest[roman type]: ";
if Urban Forest is known:
say "[link][bracket]Urban Forest[close bracket][as]nav Urban Forest[end link] ";
Expand All @@ -254,6 +254,8 @@ carry out destinationcheck:
say "| [link][bracket]Happy Puppy Kennel[close bracket][as]nav Happy Puppy Kennel[end link] ";
if Ironscale Hollow is known:
say "| [link][bracket]Ironscale Hollow[close bracket][as]nav Ironscale Hollow[end link] ";
if Avalon-Crossroads is known:
say "| [link][bracket]Avalon-Crossroads[close bracket][as]nav Avalon-Crossroads[end link] ";
LineBreak;
[start of the warehouse area]
if Warehouse District is known or Hyena Hideout is known or Mike's Home is known or Spider's Web is known or Wolfman Lair is known:
Expand Down
34 changes: 20 additions & 14 deletions Core Mechanics/Pregnancy.i7x
Expand Up @@ -226,7 +226,7 @@ to detailbirth:
LineBreak;
if player is female and pregtype < 2:
say " With a sudden pouring of fluids, [if ovipregnant is true]egglaying[else]birth[end if] is upon you. You settle without much choice, breathing quickly as your body spasms in readiness.";
else:
else: [mpreg]
say " There is a shifting in your lower belly as your special incubation chamber opens, releasing something large and heavy into your bowels. With the completion of your unusual pregnancy fast approaching, you settle without much choice, breathing quickly as your body spasms in readiness.";
follow cunt descr rule;
if player is female and pregtype < 2:
Expand Down Expand Up @@ -342,6 +342,20 @@ To Birth:
say "... And yet, a part of you is awash in contentment, an instinctual need to transmit and spread your infection temporarily sated. Though you do become faintly aware of that emptiness inside your belly again.";
else:
say " As your rebirthed offspring snuggles up beside you, you rest to recover from the ordeal of childbirth. Despite what you've done to the creature, you feel a contentment welling up inside you, your instinctual need to transmit your infection temporarily sated. Though you do become faintly aware of that emptiness inside your belly again.";
else if "Chase's Breeder" is listed in feats of player: [special NPC impregnation]
if player is female and pregtype < 2:
say " Vagina birth of the chosen one.";
else if breasts of player > 0:
say " Anal birth of the chosen one - with boobs.";
else:
say " Anal birth of the chosen one - no boobs.";
if ChaseOffspring is 0:
say "twin1";
if ChaseOffspring is 1:
say "twin2";
else:
say "regulars";
increase ChaseOffspring by 1;
else if "Wild Womb" is listed in feats of player:
if player is female and pregtype < 2:
say " Your child [if ovipregnant is true]pushes free of the flexible shell enclosing it and you gather it into your arms so it may suckle[else]suckles[end if] at your [breast size desc of player] breast. Strange sensations sweep over your [bodytype of player] body as it drinks down its new mother's milk. A dark sense of fulfillment begins to creep though you as your newborn suckles at your teat, drawing not only nutrition but instinct and lust as they rapidly reach maturity. They pop free and stand, a feral look of wanton desire on their [facename of child] face as they inspect their [bodyname of child] form, covered in [skinname of child] skin.";
Expand All @@ -350,21 +364,13 @@ To Birth:
else:
say " Your child pushes free of the flexible shell enclosing it and you gather into your arms, feeling a strong affection for your bizarrely born child. It nuzzles at your chest and starts nursing, struggling for a while to draw milk from your flat chest, but your [bodytype of player] body strives to complete its task and begins to lactate temporarily to feed your offspring. A dark sense of fulfillment begins to creep though you as your newborn suckles at your teat, drawing not only nutrition but instinct and lust as they rapidly reach maturity. They pop free and stand, a feral look of wanton desire in their [facename of child] face as they inspect their [bodyname of child] form, covered in [skinname of child] skin.";
say " As your feral offspring stalks off into the city, leaving you to recover from the ordeal of childbirth, a part of you worries about your contribution to the ever growing number of creatures in the city...and yet, a part of you is awash in contentment, an instinctual need to propagate and spread your infection temporarily sated.";
else:
else: ["normal pregnancies"]
if player is female and pregtype < 2:
say " Your child [if ovipregnant is true]pushes free of the flexible shell enclosing it and you gather it into your arms so it may suckle[else]suckles[end if] at your [breast size desc of player] breast. Strange sensations sweep over your [bodytype of player] body as it drinks down its new mother's milk. Not only nutrition but personality and knowledge seep through the teat into the newborn, who is not newborn for long, soon a young adult. They pop free and stand, smiling. With a slow turn, they show off their [facename of child] face and [bodyname of child] body, covered in [skinname of child] skin.";
else if breasts of player > 0:
say " Your child pushes free of the flexible shell enclosing it and you gather into your arms, feeling a strong affection for your bizarrely born child. It starts to suckle at your [breast size desc of player] breast, growing rapidly against you as strange sensations sweep over your [bodytype of player] body. Not only nutrition but personality and knowledge seep through the teat into the newborn, who is not newborn for long, soon a young adult. They pop free and stand, smiling. With a slow turn, they show off their [facename of child] face and [bodyname of child] body, covered in [skinname of child] skin.";
else:
say " Your child pushes free of the flexible shell enclosing it and you gather into your arms, feeling a strong affection for your bizarrely born child. It nuzzles at your chest and starts nursing, struggling for a while to draw milk from your flat chest, but your [bodytype of player] body strives to complete its task and begins to lactate temporarily to feed your offspring. As it feeds, it grows rapidly against you as strange sensations sweep over your body. Not only nutrition but personality and knowledge seep through the nipple into the newborn, who is not newborn for long, soon a young adult. They pop free and stand, smiling. With a slow turn, they show off their [facename of child] face and [bodyname of child] body, covered in [skinname of child] skin.";
if "Chase's Breeder" is listed in feats of player:
if ChaseOffspring is 0:
say "twin1";
if ChaseOffspring is 1:
say "twin2";
else:
say "regulars";
increase ChaseOffspring by 1;
increase hunger of player by 3;
increase thirst of player by 3;
if "Wild Womb" is not listed in feats of player:
Expand Down Expand Up @@ -475,10 +481,10 @@ To impregnate with (x - text):
now facename of child is infection;
if player is not female:
say "[line break] There is a pleasant sense of warmth from your lower belly, filling an emptiness you did not know was there.";
if pregtype is 0, now pregtype is 1;
if pregtype is 0, now pregtype is 2; [mpreg]
else:
say "[line break] You have an odd feeling, a palpable wave of contentment from within your lower belly.";
if pregtype is 0, now pregtype is 2;
if pregtype is 0, now pregtype is 1; [fpreg]

Chapter 3-2 - Impregchance and Ovichance Routines

Expand Down Expand Up @@ -513,7 +519,7 @@ to fimpregchance: [Female-particular Pregnancy Roll]
now ovipregnant is true;
else:
now ovipregnant is false;
now pregtype is 1;
now pregtype is 1; [fpreg]
impregnate with name entry;
if libido of player > 49:
now libido of player is (libido of player) / 2;
Expand All @@ -539,7 +545,7 @@ to mimpregchance: [MPreg-particular Pregnancy Roll]
now ovipregnant is true;
else:
now ovipregnant is false;
now pregtype is 2;
now pregtype is 2; [mpreg]
impregnate with name entry;
if libido of player > 49:
now libido of player is (libido of player) / 2;
Expand Down
9 changes: 9 additions & 0 deletions Core Mechanics/Story Skipper.i7x
Expand Up @@ -167,6 +167,7 @@ to EventRestore:
say "DEBUG -> [x]: EventIdName: [EventIdName] not found in Table of GameEventIDs!";
else:
say "No Event Save File Found!";
blank out the whole of Table of GameEvents; [empty it after restoring]

to RoomSave:
say "Saving Rooms...";
Expand Down Expand Up @@ -243,6 +244,8 @@ to RoomRestore:
say "DEBUG -> [x]: RoomIdName: [RoomIdName] not found in Table of GameRoomIDs!";
else:
say "No Room Save File Found!";
blank out the whole of Table of GameRooms; [empty out all old data]
blank out the whole of Table of GameRoomInventories; [empty out all old data]

to PossessionSave:
say "Saving Possessions...";
Expand Down Expand Up @@ -302,6 +305,7 @@ to PossessionRestore:
say "DEBUG -> [x]: PossessionIdName: [PossessionIdName] not found in Table of Game Objects!";
else:
say "No Possession Save File Found!";
blank out the whole of Table of GamePossessions; [empty out all old data]

to CharacterSave:
say "Saving Characters...";
Expand Down Expand Up @@ -440,6 +444,8 @@ to CharacterRestore:
say "DEBUG -> [x]: CharacterIdName: [CharacterIdName] not found in Table of GameCharacterIDs!";
else:
say "No Character Save File Found!";
blank out the whole of Table of GameCharacters; [empty out all old data]
blank out the whole of Table of GameTraits; [empty out all old data]

to TraitRestore:
if the File of TraitSave exists:
Expand Down Expand Up @@ -578,6 +584,8 @@ to PlayerRestore:
-- "BlockList":
if EntryText entry is not listed in BlockList of player:
add EntryText entry to BlockList of player;
blank out the whole of Table of PlayerData; [empty out all old data]
blank out the whole of Table of PlayerLists; [empty out all old data]

to BeastSave:
say "Saving Beasts...";
Expand Down Expand Up @@ -624,6 +632,7 @@ to BeastRestore:
say "DEBUG -> BeastName: [BeastName] not found in Table of Random Critters!";
else:
say "No Beast Save File Found!";
blank out the whole of Table of GameBeasts; [empty out all old data]

Section 2 - Trixie

Expand Down
3 changes: 3 additions & 0 deletions CrimsonAsh/Ruby.i7x
Expand Up @@ -16,6 +16,8 @@ an everyturn rule:
change the northeast exit of Path of Ashes to Ashen Cliff;
change the southwest exit of Ashen Cliff to Path of Ashes;
now RubyRoomConnection is 1; [room connected]
if Urban Cliff is resolved and Ruby is not in Ruby's Cave: [bugfix]
now Ruby is in Ruby's Cave;

Section 1 - Events

Expand Down Expand Up @@ -245,6 +247,7 @@ object name
Ruby "Ruby"

Ruby is a woman.
Ruby is in Ruby's Cave.
[physical details as of game start]
ScaleValue of Ruby is 4. [human sized]
Cocks of Ruby is 0. [no cock]
Expand Down

0 comments on commit c5eb59a

Please sign in to comment.