Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 19 additions & 3 deletions Game/NpcSlavery/SlaveActionScenes/ActionSlaveryChangeName.gd
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ func _run():
saynn("Your slave's current name is {npc.name}.")

if(npc.getFlag("OriginalName") != null && npc.getFlag("OriginalName") != npc.getName()):
saynn("You recall that {npc.his} original name was "+str(npc.getFlag("OriginalName", "Bob")))
saynn("You recall that {npc.his} original name was "+str(npc.getFlag("OriginalName", "Bob"))+".")

if(npcSlavery.isMindBroken()):
saynn("[say=npc]..kh..[/say]")
Expand All @@ -49,14 +49,15 @@ func _run():
addButton("Cancel", "You changed your mind", "")

if(state == "pick_name"):
saynn("Pick a new name for your slave")
say("Pick a new name for your slave:")

var textBox:LineEdit = addTextbox("npc_name")
textBox.text = npc.getName()
var _ok = textBox.connect("text_entered", self, "onNameTextBoxEnterPressed")

addButton("Confirm", "Change the name", "do_pick_name")
addButton("Cancel", "You changed your mind", "")
addButtonAt(4, "Random?", "Help choose a random name", "do_random_name")

if(state == "pick_desc"):
saynn("Pick a new description for your slave")
Expand Down Expand Up @@ -86,10 +87,20 @@ func _react(_action: String, _args):
return

if(_action == "do_pick_name"):
if(setSlaveNameTo(getTextboxData("npc_name"))):
var new_name:String = ""
if(_args.size() > 0):
new_name = _args[0]
else:
new_name = getTextboxData("npc_name")

if(setSlaveNameTo(new_name)):
addMessage("You changed your slave's name!")
setState("")
return

if(_action == "do_random_name"):
runScene("CharacterNameGeneratorScene", [], "name_generator")
return

if(_action == "do_reset_chatcolor"):
npc.npcChatColorOverride = ""
Expand All @@ -106,6 +117,11 @@ func _react(_action: String, _args):

setState(_action)

func _react_scene_end(_tag, _result):
if(_tag == "name_generator"):
if(_result.has("random_name")):
GM.main.pickOption("do_pick_name", [_result["random_name"]])

func setSlaveNameTo(newname:String):
newname = newname.replace("{", "")
newname = newname.replace("}", "")
Expand Down
70 changes: 70 additions & 0 deletions Scenes/CharacterNameGeneratorScene.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
extends "res://Scenes/SceneBase.gd"

var randomName:String = ""
var randomNameGender:int = Gender.Other

func _init():
sceneID = "CharacterNameGeneratorScene"

func _run():
if(state == ""):
if(randomName == ""):
saynn("Choose which dictionary to use for name generation.")
else:
saynn("Random name: [color="+getColorStringForGender(randomNameGender)+"]" + randomName + "[/color]")

addButton("Any", "Generate a random feminine or masculine name", "generate_name_any")
addButton("Feminine", "Generate a random feminine name", "generate_name_fem")
addButton("Masculine", "Generate a random masculine name", "generate_name_masc")

if(randomName != ""):
addButtonAt(10, "Confirm", "Proceed with selected name", "confirm")
else:
addDisabledButtonAt(10, "Confirm", "You need to generate a name first")
addButtonAt(11, "Cancel", "Enter a name manually", "cancel")

func _react(_action: String, _args):
if(_action == "confirm"):
endScene({random_name=randomName,random_name_gender=randomNameGender})
return
if(_action == "cancel"):
endScene({})
return

if(_action == "generate_name_any"):
randomName = RNG.randomFemaleName() if RNG.chance(50) else RNG.randomMaleName()
randomNameGender = Gender.Androgynous
return
if(_action == "generate_name_fem"):
randomName = RNG.randomFemaleName()
randomNameGender = Gender.Female
return
if(_action == "generate_name_masc"):
randomName = RNG.randomMaleName()
randomNameGender = Gender.Male
return

func getColorStringForGender(gender:int):
if(gender == Gender.Male):
return "#5696EA"
if(gender == Gender.Female):
return "#FF837A"
if(gender == Gender.Androgynous):
return "#BA82FF"
if(gender == Gender.Other):
return "#77D86C"
return "#FF0000"

func saveData():
var data = .saveData()

data["randomName"] = randomName
data["randomNameGender"] = randomNameGender

return data

func loadData(data):
.loadData(data)

randomName = SAVE.loadVar(data, "randomName", "")
randomNameGender = SAVE.loadVar(data, "randomNameGender", Gender.Other)
26 changes: 18 additions & 8 deletions Scenes/Intro/IntroScene.gd
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ func _init():
sceneID = "IntroScene"

func _initScene(_args = []):
var uniform = GlobalRegistry.createItem("CasualClothes")
GM.pc.getInventory().equipItem(uniform)
var uniform = GlobalRegistry.createItem("CasualClothes")

GM.pc.getInventory().equipItem(uniform)

func _run():
if(state == ""):
Expand Down Expand Up @@ -51,6 +51,7 @@ func _run():
var _ok = textBox.connect("text_entered", self, "onTextBoxEnterPressed")

addButton("Confirm", "Choose this name", "setname")
addButtonAt(4, "Random?", "Help choose a random name", "randomname")


if(state == "donecreating"):
Expand Down Expand Up @@ -321,15 +322,21 @@ func onTextBoxEnterPressed(_new_text:String):

func _react(_action: String, _args):
if(_action == "setname"):
if(getTextboxData("player_name") == ""):
return

GM.pc.setName(getTextboxData("player_name"))
if(_args.size() > 0):
GM.pc.setName(_args[0])
else:
if(getTextboxData("player_name") == ""):
return

GM.pc.setName(getTextboxData("player_name"))

#setState("pickgender")
runScene("CharacterCreatorScene", [], "character_creator")
return


if(_action == "randomname"):
runScene("CharacterNameGeneratorScene", [], "name_generator")
return


if(_action == "endthisscene"):
Expand Down Expand Up @@ -365,6 +372,9 @@ func _react(_action: String, _args):
setState(_action)

func _react_scene_end(_tag, _result):
if(_tag == "name_generator"):
if(_result.has("random_name")):
GM.main.pickOption("setname", [_result["random_name"]])
if(_tag == "character_creator"):
setFlag("Game_PickedStartingPerks", true)
if(!getFlag("PickedSkinAtLeastOnce")):
Expand Down