- Joined
- Apr 4, 2014
- Messages
- 52
- Reaction score
- 11
- Primarily Uses
Hello all,
in the interest of not bombarding one member with tons of questions, I figured I would ask for help here.
Gracious member Traveling Bard came up with this logic for setting events for a character generation idea I had, below is the logic. As of right now I've been putting these together in the Database Common Event editor.
So far, I have understood everything up to the Character Builder CE, this is driving me crazy:
*****CE Character Builder*****
/*USAGE: Consumes the base variables, character slot, rolling stats, and starting the character building loop*/
//Check which character we are working with; currentCharacter variable
Loop
//Have the user choose gender & set it to Character specific Gender variable
//Have the user choose race & set it to Character specific race variable
//Set all base stats to current character variables based on race choice
how would I set something like Gender to a specific variable? If the idea is that this is supposed to be used over and over again, if I were to do something like set a switch genderPC1 = ON, then I figure it would just keep editing the first PC over and over again. I feel like im being dumb and missing some base bit of logic here, or overthinking this. Any help would be appreciated.
in the interest of not bombarding one member with tons of questions, I figured I would ask for help here.
Gracious member Traveling Bard came up with this logic for setting events for a character generation idea I had, below is the logic. As of right now I've been putting these together in the Database Common Event editor.
*****On Map Event*****
//USAGE: This is the entry point into game & shows a menu with various options
Loop
//Menu List/Show Choices: Create New Character; View/Edit Characters; Build Party
//For this "logic dump", Let's explore only the Create New Character option
Call CE Configurations
Call CE Character Slot Check
Call CE Character Builder
Loop Above
*****CE Configurations*****
//USAGE: Set all of your variables in one place.
//TESTER SWITCH, Show stuff that wouldn't normally be shown or added in production
//set the switch, reference it when you have areas you'd like to test.
//Racial Base Stats
//Human Base Stat Variables
//Cat Base Stat Variables; excluding Cha which is set at character creation
//Class Stat Requirements
//Mercenary Requirement Variables; set STR, DEX, and CON requirement vars
//Priest Requirement Variables; set PIE, CON, and CHA requirement vars
//Have Character Slot switches been initially set conditional branch? If not, set them.
//Set a Character Slot Switch to OFF which means it's available
/*Once all of the above slot switches are OFF, set a switch to say it's done. That way if we call this again, we don't make all the character slots available again. */
*****CE Character Slot Check*****
/*USAGE: Checks switches for open character slot & sets currentCharacter variable to the appropriate actorID*/
//Conditional Branches for each Character Slot Switch; if ON do nothing; If OFF then
//Set CurrentCharacter variable to the appropriate actorId
//Go to End Check label
//Set an End Check Label at the bottom of the Common Event, effectively skipping to the end
*****CE Character Builder*****
/*USAGE: Consumes the base variables, character slot, rolling stats, and starting the character building loop*/
//Check which character we are working with; currentCharacter variable
Loop
//Have the user choose gender & set it to Character specific Gender variable
//Have the user choose race & set it to Character specific race variable
//Set all base stats to current character variables based on race choice
/*Conditional branch; "have I rolled before" Switch; if OFF ignore the rolling logic & just call the CE Class Options Builder; if ON ask if you would like to re-roll stats. */
//Roll random variables that are left like Bonus points, CHA for Cats, etc...
//Set the switch to state that you have rolled to ON
//IF TESTER SWITCH ON, then Show each value in a text box
//Add BaseStats + racial randoms (CHA) + Bonus points to BaseStatPlusBonus
//IF TESTER SWITCH ON, then Show each value in a text boxCall CE Class Options Builder
Call CE Class Options Displayer
Loop above
*****CE Class Options Builder*****
/*USAGE: Consumes Character Builder's BaseStatPlusBonus & compares it against class requirements to build options.*/
//For each Class, subtract all the values of the class requirements from StatChecker
//Mercenary
//StatChecker variable set to BaseStatPlusBonus for check
//StatChecker -= Merc Str Requirement
//StatChecker -= Merc Dex Requirement
//StatChecker -= Merc Con Requirement
//If StatChecker < 0 then MercOption Switch = ON Else it's OFF
//IF TESTER SWITCH ON, then Show StatChecker value in a text box
//Priest
//StatChecker variable set to BaseStatPlusBonus for check
//StatChecker -= Priest Pie Requirement
//StatChecker -= Priest Con Requirement
//StatChecker -= Priest Cha Requirement
//If StatChecker < 0 then PriestOption Switch = ON Else it's OFF
//IF TESTER SWITCH ON, then Show StatChecker value in a text box
*****CE Class Options Displayer*****
/*USAGE: This is up to you, but it might be where you leverage a script like Tsukihime's or Yanfly's to display a large amount of options based on a condition like "is the Merc switch ON" then show; otherwise, don't. This is also where we will allow the user to either select an available class option or go back (which will put us back in the loop of Character Builder & where we will ask if we'd like to reroll).*/
//Display class options based on option switches; Leave one option to "go back".
//Mercenary, if available, as an option.
//If selected, ask if they are sure.
//If sure, then set ClassChoice = 1
//BaseStatPlusBonus -= Merc Str Requirement
//BaseStatPlusBonus -= Merc Dex Requirement
//BaseStatPlusBonus -= Merc Con Requirement
//BaseStatPlusBonus -= each other Character Specific Stat Var
Call CE Bonus Point Allocation
//Priest, if available, as an option.
//If selected, ask if they are sure.
//If sure, then set ClassChoice = 2
//BaseStatPlusBonus -= Priest Pie Requirement
//BaseStatPlusBonus -= Priest Con Requirement
//BaseStatPlusBonus -= Priest Cha Requirement
//BaseStatPlusBonus -= each other Character Specific Stat Var
//Character Specific Bonus Point Var -= BaseStatPlusBonus
Call CE Bonus Point Allocation
//Go Back option; Does nothing.
*****CE Bonus Point Allocation*****
/*USAGE: This is where you would take the remaining bonus points & use them to increase stats as the player sees fit. This could be fancy or low tech... your call.*/
//Check which character we are working with; currentCharacter
//*insert however you want to do this*
//Once a choice is made update the Character Specific Stat value += choice
Call CE Finalize Character
*****CE Finalize Character*****
/*USAGE: All of the options we have set thus far need to be pushed to the character we are working on. This is where we will do that.*/
//Check Character we are working with; CurrentCharacter variable
//Push Character Specific Stat Variable values to the actual character in the database
//Check ClassChoice & set the actual character to the class in the database
//Add skills
//Add weapons/armor/items/starting gold
//Ask them to pick a portrait *perhaps make another CE for that*
//Ask them to Name the Character
//Show off the character data and do a confirmation check.
//Textbox that says the character is created! (do nothing & loop back to main menu)
//USAGE: This is the entry point into game & shows a menu with various options
Loop
//Menu List/Show Choices: Create New Character; View/Edit Characters; Build Party
//For this "logic dump", Let's explore only the Create New Character option
Call CE Configurations
Call CE Character Slot Check
Call CE Character Builder
Loop Above
*****CE Configurations*****
//USAGE: Set all of your variables in one place.
//TESTER SWITCH, Show stuff that wouldn't normally be shown or added in production
//set the switch, reference it when you have areas you'd like to test.
//Racial Base Stats
//Human Base Stat Variables
//Cat Base Stat Variables; excluding Cha which is set at character creation
//Class Stat Requirements
//Mercenary Requirement Variables; set STR, DEX, and CON requirement vars
//Priest Requirement Variables; set PIE, CON, and CHA requirement vars
//Have Character Slot switches been initially set conditional branch? If not, set them.
//Set a Character Slot Switch to OFF which means it's available
/*Once all of the above slot switches are OFF, set a switch to say it's done. That way if we call this again, we don't make all the character slots available again. */
*****CE Character Slot Check*****
/*USAGE: Checks switches for open character slot & sets currentCharacter variable to the appropriate actorID*/
//Conditional Branches for each Character Slot Switch; if ON do nothing; If OFF then
//Set CurrentCharacter variable to the appropriate actorId
//Go to End Check label
//Set an End Check Label at the bottom of the Common Event, effectively skipping to the end
*****CE Character Builder*****
/*USAGE: Consumes the base variables, character slot, rolling stats, and starting the character building loop*/
//Check which character we are working with; currentCharacter variable
Loop
//Have the user choose gender & set it to Character specific Gender variable
//Have the user choose race & set it to Character specific race variable
//Set all base stats to current character variables based on race choice
/*Conditional branch; "have I rolled before" Switch; if OFF ignore the rolling logic & just call the CE Class Options Builder; if ON ask if you would like to re-roll stats. */
//Roll random variables that are left like Bonus points, CHA for Cats, etc...
//Set the switch to state that you have rolled to ON
//IF TESTER SWITCH ON, then Show each value in a text box
//Add BaseStats + racial randoms (CHA) + Bonus points to BaseStatPlusBonus
//IF TESTER SWITCH ON, then Show each value in a text boxCall CE Class Options Builder
Call CE Class Options Displayer
Loop above
*****CE Class Options Builder*****
/*USAGE: Consumes Character Builder's BaseStatPlusBonus & compares it against class requirements to build options.*/
//For each Class, subtract all the values of the class requirements from StatChecker
//Mercenary
//StatChecker variable set to BaseStatPlusBonus for check
//StatChecker -= Merc Str Requirement
//StatChecker -= Merc Dex Requirement
//StatChecker -= Merc Con Requirement
//If StatChecker < 0 then MercOption Switch = ON Else it's OFF
//IF TESTER SWITCH ON, then Show StatChecker value in a text box
//Priest
//StatChecker variable set to BaseStatPlusBonus for check
//StatChecker -= Priest Pie Requirement
//StatChecker -= Priest Con Requirement
//StatChecker -= Priest Cha Requirement
//If StatChecker < 0 then PriestOption Switch = ON Else it's OFF
//IF TESTER SWITCH ON, then Show StatChecker value in a text box
*****CE Class Options Displayer*****
/*USAGE: This is up to you, but it might be where you leverage a script like Tsukihime's or Yanfly's to display a large amount of options based on a condition like "is the Merc switch ON" then show; otherwise, don't. This is also where we will allow the user to either select an available class option or go back (which will put us back in the loop of Character Builder & where we will ask if we'd like to reroll).*/
//Display class options based on option switches; Leave one option to "go back".
//Mercenary, if available, as an option.
//If selected, ask if they are sure.
//If sure, then set ClassChoice = 1
//BaseStatPlusBonus -= Merc Str Requirement
//BaseStatPlusBonus -= Merc Dex Requirement
//BaseStatPlusBonus -= Merc Con Requirement
//BaseStatPlusBonus -= each other Character Specific Stat Var
Call CE Bonus Point Allocation
//Priest, if available, as an option.
//If selected, ask if they are sure.
//If sure, then set ClassChoice = 2
//BaseStatPlusBonus -= Priest Pie Requirement
//BaseStatPlusBonus -= Priest Con Requirement
//BaseStatPlusBonus -= Priest Cha Requirement
//BaseStatPlusBonus -= each other Character Specific Stat Var
//Character Specific Bonus Point Var -= BaseStatPlusBonus
Call CE Bonus Point Allocation
//Go Back option; Does nothing.
*****CE Bonus Point Allocation*****
/*USAGE: This is where you would take the remaining bonus points & use them to increase stats as the player sees fit. This could be fancy or low tech... your call.*/
//Check which character we are working with; currentCharacter
//*insert however you want to do this*
//Once a choice is made update the Character Specific Stat value += choice
Call CE Finalize Character
*****CE Finalize Character*****
/*USAGE: All of the options we have set thus far need to be pushed to the character we are working on. This is where we will do that.*/
//Check Character we are working with; CurrentCharacter variable
//Push Character Specific Stat Variable values to the actual character in the database
//Check ClassChoice & set the actual character to the class in the database
//Add skills
//Add weapons/armor/items/starting gold
//Ask them to pick a portrait *perhaps make another CE for that*
//Ask them to Name the Character
//Show off the character data and do a confirmation check.
//Textbox that says the character is created! (do nothing & loop back to main menu)
So far, I have understood everything up to the Character Builder CE, this is driving me crazy:
*****CE Character Builder*****
/*USAGE: Consumes the base variables, character slot, rolling stats, and starting the character building loop*/
//Check which character we are working with; currentCharacter variable
Loop
//Have the user choose gender & set it to Character specific Gender variable
//Have the user choose race & set it to Character specific race variable
//Set all base stats to current character variables based on race choice
how would I set something like Gender to a specific variable? If the idea is that this is supposed to be used over and over again, if I were to do something like set a switch genderPC1 = ON, then I figure it would just keep editing the first PC over and over again. I feel like im being dumb and missing some base bit of logic here, or overthinking this. Any help would be appreciated.

