Browse Source

setup.startingCharactersTagsIncludes()

Stephan Fuchs 8 months ago
parent
commit
79571c1e1f

+ 1 - 3
sugarcube/src/autogenerated/unsorted/test.tw

@@ -1,5 +1,3 @@
 :: test[menu]
-	<<skillHistoryDiagram 'highHeels' 'High Heels Skill'>>
-	<<skillHistoryDiagram 'makeup'>>
-	<<skillHistoryDiagram 'inhibition'>>
+	<<debugVar 'State.variables'>>
 

+ 14 - 1
sugarcube/src/start/characterSelect.tw

@@ -1,9 +1,10 @@
 :: introCharacterSelectScript[script]
 setup.getStartingCharacter = function(id){
 	let currentData = clone(setup.startingCharacters[id]);
+	currentData.inheritance = [id];
 	if("parent" in currentData){
 		let parentData = setup.getStartingCharacter(currentData.parent);
-		let newcurrentData = setup.mergeDeep(parentData,currentData);
+		let newcurrentData = setup.mergeDeep(parentData,currentData,{inheritance:[...parentData.inheritance,...currentData.inheritance]});
 
 		currentData = newcurrentData;
 		delete currentData.parent;
@@ -26,6 +27,12 @@ setup.getStartingCharactersByFilter = function(filters,shallow = true){
 	return result;
 }
 
+setup.startingCharacterTagsIncludes = function(tag){
+	const startData = setup.getStartingCharacter(State.variables.startCharacter) ?? {};
+	const startDataTags = startData.tags ?? [];
+	return startDataTags.includes(tag);
+}
+
 
 :: introCharacterSelectWidgets[widget]
 	<<widget 'characterSelect'>>
@@ -98,8 +105,13 @@ setup.getStartingCharactersByFilter = function(filters,shallow = true){
 	<<set _optionKey =  $location_var[$here][0]>>
 	<<set _optionData = setup.getStartingCharacter(_optionKey)>>
 
+	<!-- Meta Data -->	
+	<<set $startCharacter = _optionKey>>
+
+	<!-- Appearance -->	
 	<<set $pc.avatar = _optionData.image>>
 
+	<!-- Time -->	
 	<<if _optionData.time>>
 		<<if _optionData.time.start>>
 			<<run $time.initTime(
@@ -185,5 +197,6 @@ setup.getStartingCharactersByFilter = function(filters,shallow = true){
 			<</switch>>
 		<</for>>
 	<</for>>
+
 	
 

+ 5 - 5
sugarcube/src/start/schoolgirl/intro_sg_select_char.tw

@@ -95,7 +95,8 @@ setup.startingCharacters.sg_starting_category = {
 				}
 			}
 		}
-	}
+	},
+	tags: ['sg']
 }
 
 setup.startingCharacters.nerd = {
@@ -144,7 +145,8 @@ setup.startingCharacters.nerd = {
 				}
 			}
 		}
-	}
+	},
+	tags: ['nerd']
 };
 
 setup.startingCharacters.nerd_queen = {
@@ -1968,9 +1970,7 @@ setup.startingCharacters.ugly = {
 		He became a gopnik and the two of you slowly started hanging out often, although you still consider each other to be friends.
 		On the plus side, doing well in school has made your parents happy and has left you with some extra spending money as a reward for your hard work. Now...
 	</p>
-	<<actCLA 'I am the Queen of the Nerds!'>>
-		<<gt 'intro_sg_select_char_nerdqueen'>>
-	<</actCLA>>
+
 	<<actCLA 'I am a good student'>>
 		<<gt 'intro_sg_select_char_goodstudent'>>
 	<</actCLA>>