diff --git a/Accounts/manage2.php b/Accounts/manage2.php index f78c4eaeb2..ee7635fe15 100644 --- a/Accounts/manage2.php +++ b/Accounts/manage2.php @@ -195,6 +195,25 @@ if (isset($_GET["command"])) { } else echo "parameter_error"; + // Update many character values + if ($_GET["command"] == "update_character") + if (ValidLogin($data)) { + + // Saves specific character values passed as parameters + $arr = json_decode($data); + if (isset($_GET["money"]) && ($_GET["money"] != "")) $arr->Money = $_GET["money"]; + if (isset($_GET["owner"]) && ($_GET["owner"] != "")) $arr->Owner = $_GET["owner"]; + if (isset($_GET["lover"]) && ($_GET["lover"] != "")) $arr->Lover = $_GET["lover"]; + + // Overwrite the file + $file = GetFileName(); + $myfile = fopen($file, "w") or die("Unable to open file!"); + fwrite($myfile, json_encode($arr)); + fclose($myfile); + echo "log_added"; + + } + } else echo "no_command_error"; ?> \ No newline at end of file diff --git a/BondageClub/Account.js b/BondageClub/Account.js index e940752425..35c4ad0a16 100644 --- a/BondageClub/Account.js +++ b/BondageClub/Account.js @@ -32,4 +32,9 @@ function AccountProcess() { // Returns TRUE if the account queue is empty and everything is done function AccountQueueIsEmpty() { return ((AccountURL.length == 0) && AccountReady); +} + +// Sync the player data with the account server +function AccountSync() { + AccountRequest("update_character", "&money=" + Player.Money.toString() + "&owner=" + Player.Owner + "&lover=" + Player.Lover); } \ No newline at end of file diff --git a/BondageClub/Backgrounds/Shop.jpg b/BondageClub/Backgrounds/Shop.jpg index 3f59f411ee..e17919d110 100644 Binary files a/BondageClub/Backgrounds/Shop.jpg and b/BondageClub/Backgrounds/Shop.jpg differ diff --git a/BondageClub/Backgrounds/ShopDark.jpg b/BondageClub/Backgrounds/ShopDark.jpg index 20b0230303..d61f5a4a81 100644 Binary files a/BondageClub/Backgrounds/ShopDark.jpg and b/BondageClub/Backgrounds/ShopDark.jpg differ diff --git a/BondageClub/Backgrounds/ShopHighRez.jpg b/BondageClub/Backgrounds/ShopHighRez.jpg new file mode 100644 index 0000000000..3f59f411ee Binary files /dev/null and b/BondageClub/Backgrounds/ShopHighRez.jpg differ diff --git a/BondageClub/Dialog.js b/BondageClub/Dialog.js index 5312ea489c..39414323db 100644 --- a/BondageClub/Dialog.js +++ b/BondageClub/Dialog.js @@ -105,14 +105,14 @@ function DialogInventoryBuild(C) { // Second, we add everything from the victim inventory for(var A = 0; A < C.Inventory.length; A++) - if (C.Inventory[A].Asset.Group.Name == C.FocusGroup.Name) + if ((C.Inventory[A].Asset != null) && (C.Inventory[A].Asset.Group.Name == C.FocusGroup.Name)) DialogInventoryAdd(C.Inventory[A].Asset, false); // Third, we add everything from the player inventory if the player isn't the victim if (C.ID != 0) for(var A = 0; A < Player.Inventory.length; A++) - if (Player.Inventory[A].Asset.Group.Name == Player.FocusGroup.Name) - DialogInventoryAdd(C.Inventory[A].Asset, false); + if ((Player.Inventory[A].Asset != null) && (Player.Inventory[A].Asset.Group.Name == C.FocusGroup.Name)) + DialogInventoryAdd(Player.Inventory[A].Asset, false); } @@ -185,7 +185,8 @@ function DialogClick() { if ((MouseX >= X) && (MouseX < X + 225) && (MouseY >= Y) && (MouseY < Y + 275) && DialogInventory[I].Asset.Enable) { // Cannot change item if the previous one is locked - if ((DialogInventory[I].Asset.Effect == null) || (DialogInventory[I].Asset.Effect.indexOf("Lock") < 0)) { + var Effect = CharacterAppearanceGetCurrentValue(C, C.FocusGroup.Name, "Effect"); + if ((Effect == null) || (Effect.indexOf("Lock") < 0)) { CharacterAppearanceSetItem(C, DialogInventory[I].Asset.Group.Name, DialogInventory[I].Asset); C.CurrentDialog = DialogFind(C, DialogInventory[I].Asset.Name, DialogInventory[I].Asset.Group.Name); DialogLeaveItemMenu(); @@ -212,7 +213,7 @@ function DialogClick() { DialogLeave(); // If the user clicked on a text dialog option, we trigger it - if ((MouseX >= 1025) && (MouseX <= 1975) && (MouseY >= 100) && (MouseY <= 975)) { + if ((MouseX >= 1025) && (MouseX <= 1975) && (MouseY >= 100) && (MouseY <= 975) && (CurrentCharacter != null)) { var pos = 0; for(var D = 0; D < CurrentCharacter.Dialog.length; D++) if ((CurrentCharacter.Dialog[D].Stage == CurrentCharacter.Stage) && (CurrentCharacter.Dialog[D].Option != null) && DialogPrerequisite(D)) { @@ -283,13 +284,14 @@ function DialogDrawItemMenu(C) { // If the player is struggling if (DialogStruggleTimerEnd > 0) { var Progress = (new Date().getTime() - DialogStruggleTimerStart) / (DialogStruggleTimerEnd - DialogStruggleTimerStart); - DrawText("Struggling...", 1500, 450, "White", "Black"); + DrawText("Struggling...", 1500, 450, "White", "Black"); DrawRect(1200, 500, 600, 100, "White"); DrawRect(1202, 503, 594, 94, "Red"); DrawRect(1202, 503, Progress * 594, 94, "#88FF88"); if (Progress >= 1) { Player.CurrentDialog = DialogFind(Player, "Struggle" + Player.FocusGroup.Name, ""); CharacterAppearanceSetItem(Player, Player.FocusGroup.Name, null); + DialogInventoryBuild(C); } } else DrawText("You cannot access your items", 1500, 500, "White", "Black"); diff --git a/BondageClub/Icons/Checked.png b/BondageClub/Icons/Checked.png new file mode 100644 index 0000000000..3978c6b43e Binary files /dev/null and b/BondageClub/Icons/Checked.png differ diff --git a/BondageClub/Icons/Locked.png b/BondageClub/Icons/Locked.png index a36c82e8d9..e36d734812 100644 Binary files a/BondageClub/Icons/Locked.png and b/BondageClub/Icons/Locked.png differ diff --git a/BondageClub/Icons/Unlocked.png b/BondageClub/Icons/Unlocked.png index 00e5991a73..6833ca873b 100644 Binary files a/BondageClub/Icons/Unlocked.png and b/BondageClub/Icons/Unlocked.png differ diff --git a/BondageClub/Import.js b/BondageClub/Import.js index bcd0187989..677f3a1dfe 100644 --- a/BondageClub/Import.js +++ b/BondageClub/Import.js @@ -10,8 +10,8 @@ function ImportBondageCollege(C) { if ((localStorage.getItem("BondageClubImportSource") != null) && (localStorage.getItem("BondageClubImportSource") == "BondageCollege")) { // Imports the player lover and owner - if ((localStorage.getItem("BondageCollegeExportOwner") != null) && (localStorage.getItem("BondageCollegeExportOwner") != "")) C.Owner = "NPC-" & localStorage.getItem("BondageCollegeExportOwner"); - if ((localStorage.getItem("BondageCollegeExportLover") != null) && (localStorage.getItem("BondageCollegeExportLover") != "")) C.Lover = "NPC-" & localStorage.getItem("BondageCollegeExportLover"); + if ((localStorage.getItem("BondageCollegeExportOwner") != null) && (localStorage.getItem("BondageCollegeExportOwner") != "")) C.Owner = "NPC-" + localStorage.getItem("BondageCollegeExportOwner"); + if ((localStorage.getItem("BondageCollegeExportLover") != null) && (localStorage.getItem("BondageCollegeExportLover") != "")) C.Lover = "NPC-" + localStorage.getItem("BondageCollegeExportLover"); // Imports Sarah status if ((localStorage.getItem("BondageClubImportSource") != null) && (localStorage.getItem("BondageClubImportSource") == "BondageCollege")) @@ -37,8 +37,11 @@ function ImportBondageCollege(C) { if ((localStorage.getItem("BondageCollegeExportVibratingEgg") != null) && (localStorage.getItem("BondageCollegeExportVibratingEgg") == "true")) InventoryAdd(C, "RegularVibratingEgg", "ItemPelvis"); // Imports the locked items - if ((localStorage.getItem("BondageCollegeExportLockedChastityBelt") != null) && (localStorage.getItem("BondageCollegeExportLockedChastityBelt") == "true")) DialogEquipItem("ItemPelvis", "MetalChastityBelt"); - if ((localStorage.getItem("BondageCollegeExportLockedCollar") != null) && (localStorage.getItem("BondageCollegeExportLockedCollar") == "true")) DialogEquipItem("ItemNeck", "SlaveCollar"); + if ((localStorage.getItem("BondageCollegeExportLockedChastityBelt") != null) && (localStorage.getItem("BondageCollegeExportLockedChastityBelt") == "true")) DialogEquipItem("MetalChastityBelt", "ItemPelvis"); + if ((localStorage.getItem("BondageCollegeExportLockedCollar") != null) && (localStorage.getItem("BondageCollegeExportLockedCollar") == "true")) DialogEquipItem("SlaveCollar", "ItemNeck"); + + // Sync with the account server + AccountSync(); } diff --git a/BondageClub/Screens/CharacterCreation/CharacterCreation.js b/BondageClub/Screens/CharacterCreation/CharacterCreation.js index b5c2e96dc7..aacfbcee39 100644 --- a/BondageClub/Screens/CharacterCreation/CharacterCreation.js +++ b/BondageClub/Screens/CharacterCreation/CharacterCreation.js @@ -10,7 +10,6 @@ function CharacterCreationLoad() { ImportBondageCollegeData = true; if (localStorage.getItem("BondageCollegeExportName") != null) DefaultName = localStorage.getItem("BondageCollegeExportName"); } else ImportBondageCollegeData = null; - CharacterCreationMessage = TextGet("EnterAccountCharacterInfo"); // Creates a text box to enter the character name var InputCharacter = document.createElement('input'); @@ -77,21 +76,22 @@ function CharacterCreationRun() { document.getElementById("InputEmail").setAttribute("style", "font-size:" + (MainCanvas.width / 50) + "px; font-family:Arial; position:absolute; padding-left:10px; left:50%; top:" + (window.innerHeight / 2 + MainCanvas.height * 0.17) + "px; width:" + (MainCanvas.width / 4) + "px; height:" + (MainCanvas.width / 40) + "px;"); // Draw the character, the labels and buttons + if (CharacterCreationMessage == "") CharacterCreationMessage = TextGet("EnterAccountCharacterInfo"); DrawCharacter(Player, 500, 0, 1); - DrawText(CharacterCreationMessage, 1267, 60, "White", "Black"); + DrawText(CharacterCreationMessage, 1267, 50, "White", "Black"); DrawText(TextGet("CharacterName"), 1267, 120, "White", "Black"); DrawText(TextGet("AccountName"), 1267, 250, "White", "Black"); DrawText(TextGet("Password"), 1267, 380, "White", "Black"); DrawText(TextGet("ConfirmPassword"), 1267, 510, "White", "Black"); DrawText(TextGet("Email"), 1267, 640, "White", "Black"); - DrawButton(1080, 770, 370, 60, TextGet("CreateAccount"), "White", ""); - DrawText(TextGet("AccountAlreadyExists"), 1180, 930, "White", "Black"); - DrawButton(1440, 900, 120, 60, TextGet("Login"), "White", ""); + DrawButton(1080, 820, 370, 60, TextGet("CreateAccount"), "White", ""); + DrawText(TextGet("AccountAlreadyExists"), 1180, 950, "White", "Black"); + DrawButton(1440, 920, 120, 60, TextGet("Login"), "White", ""); // Draw the importation check box if (ImportBondageCollegeData != null) { - DrawText(TextGet("ImportBondageCollege"), 1217, 20, "White", "Black"); - DrawButton(1425, 0, 75, 75, "", "White", ImportBondageCollegeData ? "Icons/Checked.png" : "Icons/Unchecked.png"); + DrawText(TextGet("ImportBondageCollege"), 1217, 774, "White", "Black"); + DrawButton(1480, 740, 64, 64, "", "White", ImportBondageCollegeData ? "Icons/Checked.png" : ""); } } @@ -124,11 +124,11 @@ function CharacterCreationResponse(CharacterData) { function CharacterCreationClick() { // If we must check or uncheck the importation checkbox - if ((MouseX >= 1440) && (MouseX <= 1560) && (MouseY >= 900) && (MouseY <= 960) && (ImportBondageCollegeData != null)) + if ((MouseX >= 1480) && (MouseX <= 1544) && (MouseY >= 740) && (MouseY <= 804) && (ImportBondageCollegeData != null)) ImportBondageCollegeData = !ImportBondageCollegeData; // If we must go back to the login screen - if ((MouseX >= 1440) && (MouseX <= 1560) && (MouseY >= 900) && (MouseY <= 960)) { + if ((MouseX >= 1440) && (MouseX <= 1560) && (MouseY >= 920) && (MouseY <= 980)) { document.getElementById("InputCharacter").parentNode.removeChild(document.getElementById("InputCharacter")); document.getElementById("InputName").parentNode.removeChild(document.getElementById("InputName")); document.getElementById("InputPassword1").parentNode.removeChild(document.getElementById("InputPassword1")); @@ -138,7 +138,7 @@ function CharacterCreationClick() { } // If we must try to create a new account - if ((MouseX >= 1080) && (MouseX <= 1450) && (MouseY >= 770) && (MouseY <= 830)) { + if ((MouseX >= 1080) && (MouseX <= 1450) && (MouseY >= 820) && (MouseY <= 880)) { // First, we make sure both passwords are the same var CharacterName = document.getElementById("InputCharacter").value.trim(); diff --git a/BondageClub/Screens/CharacterCreation/Text_CharacterCreation_EN.csv b/BondageClub/Screens/CharacterCreation/Text_CharacterCreation_EN.csv index 1d3bb63807..8277ce3395 100644 --- a/BondageClub/Screens/CharacterCreation/Text_CharacterCreation_EN.csv +++ b/BondageClub/Screens/CharacterCreation/Text_CharacterCreation_EN.csv @@ -10,4 +10,4 @@ Login,Login Error,Error: InvalidData,"Invalid character, account name, password or email" BothPasswordDoNotMatch,Both passwords do not match -ImportBondageCollege,Import Bondage College Data +ImportBondageCollege,Import Bondage College data diff --git a/BondageClub/Screens/CharacterInformation/CharacterInformation.js b/BondageClub/Screens/CharacterInformation/CharacterInformation.js index 4270c79b90..dde270417b 100644 --- a/BondageClub/Screens/CharacterInformation/CharacterInformation.js +++ b/BondageClub/Screens/CharacterInformation/CharacterInformation.js @@ -10,8 +10,8 @@ function CharacterInformationRun() { MainCanvas.textAlign = "left"; DrawText(TextGet("Name") + " " + C.Name, 550, 125, "Black", "Gray"); DrawText(TextGet("Title") + " " + TextGet("TitleNone"), 550, 200, "Black", "Gray"); - DrawText(TextGet("Owner") + " " + (C.Owner == "") ? TextGet("OwnerNone") : C.Owner, 550, 275, "Black", "Gray"); - DrawText(TextGet("Lover") + " " + (C.Lover == "") ? TextGet("LoverNone") : C.Lover, 550, 350, "Black", "Gray"); + DrawText(TextGet("Owner") + " " + (((C.Owner == null) || (C.Owner == "")) ? TextGet("OwnerNone") : C.Owner.replace("NPC-", "")), 550, 275, "Black", "Gray"); + DrawText(TextGet("Lover") + " " + (((C.Lover == null) || (C.Lover == "")) ? TextGet("LoverNone") : C.Lover.replace("NPC-", "")), 550, 350, "Black", "Gray"); DrawText(TextGet("Money") + " " + ((C.ID == 0) ? C.Money.toString() + " $" : "?"), 550, 425, "Black", "Gray"); // Draw the reputation section @@ -19,7 +19,7 @@ function CharacterInformationRun() { var pos = 0; for(var R = 0; R < C.Reputation.length; R++) if (C.Reputation[R].Value != 0) { - DrawText(TextGet("Reputation" + C.Reputation[R].Type + ((C.Reputation[R].Value > 0) ? "Positive" : "Negative")) + " " + C.Reputation[R].Value.toString(), 1000, 200 + pos * 75, "Black", "Gray"); + DrawText(TextGet("Reputation" + C.Reputation[R].Type + ((C.Reputation[R].Value > 0) ? "Positive" : "Negative")) + " " + Math.abs(C.Reputation[R].Value).toString(), 1000, 200 + pos * 75, "Black", "Gray"); pos++; } if (pos == 0) DrawText(TextGet("ReputationNone"), 1000, 200, "Black", "Gray"); diff --git a/BondageClub/Screens/CharacterLogin/CharacterLogin.js b/BondageClub/Screens/CharacterLogin/CharacterLogin.js index e87a53b00f..eb77476f7c 100644 --- a/BondageClub/Screens/CharacterLogin/CharacterLogin.js +++ b/BondageClub/Screens/CharacterLogin/CharacterLogin.js @@ -60,6 +60,9 @@ function CharacterLoginResponse(CharacterData) { Player.AccountName = C.AccountName; Player.AccountPassword = document.getElementById("InputPassword").value.trim(); Player.AssetFamily = C.AssetFamily; + if (CommonIsNumeric(C.Money)) Player.Money = C.Money; + Player.Owner = C.Owner; + Player.Lover = C.Lover; CharacterAppearanceLoadFromAccount(Player, C.Appearance); InventoryLoad(Player, C.Inventory, false); LogLoad(C.Log); diff --git a/BondageClub/Screens/Shop/Shop.js b/BondageClub/Screens/Shop/Shop.js index 7165250b6f..eb3c01a5dc 100644 --- a/BondageClub/Screens/Shop/Shop.js +++ b/BondageClub/Screens/Shop/Shop.js @@ -20,7 +20,7 @@ function ShopRun() { // Draw both characters DrawCharacter(Player, 0, 0, 1); DrawCharacter(ShopVendor, 500, 0, 1); - if (Player.CanWalk() || ShopStart) DrawButton(1885, 25, 90, 90, "", "White", "Icons/Exit.png"); + if (Player.CanWalk() || ShopStarted) DrawButton(1885, 25, 90, 90, "", "White", "Icons/Exit.png"); // In shopping mode if (ShopStarted) { diff --git a/C000_Intro/ChapterSelect/GameCredits.csv b/C000_Intro/ChapterSelect/GameCredits.csv index 49e7ae1c67..bd70e144f6 100644 --- a/C000_Intro/ChapterSelect/GameCredits.csv +++ b/C000_Intro/ChapterSelect/GameCredits.csv @@ -19,74 +19,75 @@ Devil621 CreditTypePatrons -simon b.|Mindtie -EugeneTooms|Rashiash -Dick T.|shadow -Sky L.|Simeon C. -zack|Alvin -Laioken|Terry L. -nick m.|Christian M. -Overlord|bryce m. -Xepherio|Designated -Ilsyra|Jyeoh -Winterisbest|Michal P. -Lasse T.|Sivart! -Sanae X.|Yagami Y. -Alan J.|Christopher L. -Yang K.|Tom A. -Hemtai|John M. -Ghost00001|Adjarc -Ricky R.|Carter S. -Cybermage|Brian R. -Matt P.|qiyufei -Mencoz|Silly G. -Martin V.|devan +Ryner L.|simon b. +Mindtie|EugeneTooms +Rashiash|Dick T. +shadow|Sky L. +Simeon C.|zack +Alvin|Laioken +Terry L.|nick m. +Christian M.|Overlord +bryce m.|Xepherio +Designated|Ilsyra +Jyeoh|Winterisbest +Michal P.|Lasse T. +Sivart!|Sanae X. +That O.|Bob +Rei H.|高辰昊 +Jesse Y.|Fin H. +ExpertPlasma|Koluc +Daan|Tommy D. +Grimsbane|jacob g. +Yagami Y.|Alan J. +Christopher L.|Yang K. +Tom A.|Hemtai +John M.|Ghost00001 +Adjarc|Ricky R. +Carter S.|Brian R. +Matt P.|Mencoz +Silly G.|devan Joshua T.|Chaos skylar|CAUI Phillip T.|Christopher T. DaWolf85|horngeek -Soulgain|Bob -oymany|arthus -VideogameBondag|Richard M. -Armando A.|Dazman1234 -Yune23|Peter T. -papettoB|Ray B. -ajwad|Edward N. -Maasjo|Leon -PA|Al S. -chi21204|plicoc +Soulgain|oymany +arthus|VideogameBondag +Richard M.|Armando A. +Dazman1234|Yune23 +Peter T.|papettoB +Ray B.|ajwad +Edward N.|Maasjo +Leon|PA +Al S.|chi21204 Some G.|Mitch P|Flying V. Raven N.|MaxFactor85 -Azikela|MegaLucario5 -Jakaa9|Alexander J. -calrodsomething|Apple A. -Billy T.|Sean L. -Tai S.|Reire M. -steven v.|jacob g. +MegaLucario5|Jakaa9 +Alexander J.|calrodsomething +Apple A.|Billy T. +Sean L.|Tai S. +Reire M.|steven v. Shinonon|BinaryNerd -Bobby S.|Alan R. -JOSH C.|trbt -Thomas|Karl P. -tetris245|Destroyer-x -Garreth W.|Apoloris98 -Amagiri Y.|john w. -Oni|Erik L. -Michael L.|Hunter M. -Jared s.|Dessed -天河|Mats J. +Alan R.|JOSH C. +trbt|Thomas +Karl P.|tetris245 +Destroyer-x|Garreth W. +Apoloris98|Amagiri Y. +john w.|Oni +Erik L.|Michael L. +Hunter M.|Jared s. +Dessed|天河 Jinx|bla_rg Michael I.|hiddenlotus555 Julio E.|Lukas B. Yoshoki|1073522 Simon W.|flydeath KBgamer2010|CuvyanTaylor -JohnCenaDidNoth|Gopanka +HXH|Gopanka Zack|Keso -Ryner L.|Noah J. -Ff7sfm|thomas -nubbs99|Lukas Z. -ExpertPlasma|Bumurmum +Noah J.|Ff7sfm +thomas|nubbs99 +Lukas Z.|Bumurmum Ediger|Steve J. Nathaniel W.|Denis S. Blackfur|Dan S. @@ -119,27 +120,28 @@ Robert|Daniel W. Lilian B.|Stanley F. Barbehenn|Stargat53 Lovebdg1|Jörn P. -Punn P.|C -高辰昊|Bryce R. +plicoc|Punn P. +C|Bryce R. adokilume|Slash -Fin H.|target -gottspende|What E. -Stefano|Rafael R. -Koluc|AJ22 -AleX|Sumeroda -Joel A.|Triassik -ClockALock|韩旭东 -roulio12|ElCorro -Lukas G.|egadonb -Meyer|Oren B. -Afituz I.|Raven-rj -Zongus763|Jack S. -dale r.|Alpha -David R.|Escaperobe -Magnus O.|pat -Leonardo P.|jukehero461 -lemonda|Littleshiro-kun -Christopher W.| +target|gottspende +What E.|Stefano +Rafael R.|Harry J. +Trosan|Kitten +Trololol|David R. +AJ22|AleX +Sumeroda|Joel A. +Triassik|ClockALock +韩旭东|roulio12 +ElCorro|Lukas G. +egadonb|Meyer +Oren B.|Afituz I. +Raven-rj|Zongus763 +Jack S.|dale r. +Azikela|Alpha +Escaperobe|Magnus O. +pat|Leonardo P. +jukehero461|lemonda +Littleshiro-kun|Christopher W. CreditTypeFans diff --git a/C000_Intro/ChapterSelect/Script.js b/C000_Intro/ChapterSelect/Script.js index cee2dad9be..7d6c49bd9e 100644 --- a/C000_Intro/ChapterSelect/Script.js +++ b/C000_Intro/ChapterSelect/Script.js @@ -4,7 +4,7 @@ var C000_Intro_ChapterSelect_CreditPosition = 0; var C000_Intro_ChapterSelect_Credits = []; var C000_Intro_ChapterSelect_CreditActors = ["Player", "Amanda", "Sarah", "Sidney", "Jennifer", "Julia", "Yuki"]; var C000_Intro_ChapterSelect_ThankYouCount = 999999; -var C000_Intro_ChapterSelect_ThankYouList = ["Alvin", "Bryce", "Christian", "Designated", "Dick", "EugeneTooms", "Ilsyra", "Jyeoh", "Laioken", "Michal", "Mindtie", "Nick", "Overlord", "Rashiash", "Shadow", "Simeon", "Simon", "Sky", "Terry", "Winterisbest", "Xepherio", "Zack"]; +var C000_Intro_ChapterSelect_ThankYouList = ["Alvin", "Bryce", "Christian", "Designated", "Dick", "EugeneTooms", "Ilsyra", "Jyeoh", "Laioken", "Michal", "Mindtie", "Nick", "Overlord", "Rashiash", "Ryner", "Shadow", "Simeon", "Simon", "Sky", "Terry", "Winterisbest", "Xepherio", "Zack"]; var C000_Intro_ChapterSelect_ThankYouCurrent = -1; var C000_Intro_ChapterSelect_CreditTextColor = "black"; diff --git a/C000_Intro/ChapterSelect/ThankYou/Ryner.jpg b/C000_Intro/ChapterSelect/ThankYou/Ryner.jpg new file mode 100644 index 0000000000..6990043a76 Binary files /dev/null and b/C000_Intro/ChapterSelect/ThankYou/Ryner.jpg differ diff --git a/C012_AfterClass/index.html b/C012_AfterClass/index.html new file mode 100644 index 0000000000..aece71a4fb --- /dev/null +++ b/C012_AfterClass/index.html @@ -0,0 +1,11 @@ +<html> +<head> +<title>Bondage College - Outdated Version</title> +<meta http-equiv="refresh" content="2; URL=../V13B/"> +<meta name="keywords" content="automatic redirection"> +</head> +<body> +You're trying to load an outdated version of the Bondage College.<br /><br /> +If your browser doesn't automatically load the correct version in a few seconds, you can use this <a href="../V13B/">link</a>. +</body> +</html> \ No newline at end of file diff --git a/C013_BondageClub/Entrance/Stage_EN.csv b/C013_BondageClub/Entrance/Stage_EN.csv index 060c4af85d..3d39675435 100644 --- a/C013_BondageClub/Entrance/Stage_EN.csv +++ b/C013_BondageClub/Entrance/Stage_EN.csv @@ -26,4 +26,4 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function 140,0,0,!IsCollared,What about|my slaves?,You cannot invite your slaves without|a permission from the Head Mistress.,150,0,0, 150,0,0,,I understand.,Are you ready to enter the club?|I will lead you to the dressing room.,160,0,0, 160,0,0,BeltProblem,(Blush) I have a|metal undies problem.,Don't worry girl. You're not the only|one wearing a belt. You can come in.,160,0,0, -160,0,0,NoProblem,I'm ready!|(Enter the club.),,160,0,0,EnterClub() +160,0,0,,I'm ready!|(Enter the club.),,160,0,0,EnterClub()