echo off
cls
:start
echo hi
echo what is you name?
echo bye
goto start
// I Add a Function, called~named: main_menu_function (and I add the Scripts, such as 'msg', 'if', and 'show menu', and 'call upon function', seen below, to it):
<function name="main_menu_function">
show menu ("The Test Game", split ("new game;continue;exit", ";"), false) {
if (result = "new game") {
msg ("You chose to start a new game.")
new_game_function // this is the 'call upon function' Script that you add: Add a~new script -> output -> 'call upon function' Script -> name: new_game_function
} else if (result = "continue") {
msg ("You chose to load your old saved game.")
continue_function // this is the 'call upon function' Script that you add: Add a~new script -> output -> 'call upon function' Script -> name: continue_function
} else if (result = "exit") {
msg ("You chose to quit the game.")
finish
}
}
</function>
// I Add another Function, called~named: continue_function (and again add the scripts seen below, 'ask' is a Function though I think ~ I'm not that familiar with the built-in stuff, such as 'ask' as to what exactly it is and termed as: Script, Function, Command, Verb, etc, nor with the GUI~Editor as well):
<function name="continue_function">
ask ("Would you like to go back to the main menu?") {
if (result = true) {
msg ("You decided to go back to the main menu.")
main_menu_function // this is the 'call upon function' Script that you add: Add a~new script -> output -> 'call upon function' Script -> name: main_menu_function
}
}
</function>
<function name='character_creation">
show menu ("Set up your character", split ("name;gender;age;completed", ";"), false) {
if (result = "name") {
name_function
} else if (result = "gender") {
gender_function
} else if (result = "age") {
age_function
} else if (result = "completed") {
opening_game_scene_function
}
}
</function>
<function name="name_function">
msg ("What is your name?")
get input {
player.alias = result
character_creation_function
}
</function>
<function name="gender_function">
show menu ("What is your gender?", split ("male;female", ";"), false) {
player.gender_string = result
character_creation_function
}
</function>
<function name="age_function">
msg ("What is your age?")
get input {
if (IsNumeric (result) = true) {
player.age_integer = ToInt (result)
character_creation_function
} else {
msg ("Please type in a number this time, thank you.")
age_function
}
}
</function>
<function name="opening_game_scene_function">
msg ("You wake up in a prison cell with no memory.")
msg ("Name: " + player.alias)
msg ("Gender: " + player.gender_string)
msg ("Age: " + player.age_integer)
</function>
ClearScreen
ShowMenu ("Main Menu", Split ("Backstory; Race; Class; Stats; Skills; Perks; Description; Finished?", ";"), false) {
if (result = "Backstory") {
backstory
}
else if (result = "Race") {
race
}
else if (result = "Class") {
class
}
else if (result = "Stats") {
stats_creator
}
else if (result = "Skills") {
skills_creator
}
else if (result = "Perks") {
perks_creator
}
else if (result = "Description") {
description_creator
}
else if (result = "Finish") {
MoveObject (Player, Outside of Castle Rahkuin)
}
}
<main_menu [function]>
ShowMenu ("Main Menu", Split ("Backstory;Race;Class;Stats;Skills;Perks;Description;Finished?", ";"), false) {
if (result="Backstory") {
backstory
}
else if (result="Race") {
race
}
else if (result="Class") {
class
}
else if (result="Stats") {
stats_creator
}
else if (result="Skills") {
skills_creator
}
else if (result="Perks") {
perks_creator
}
else if (result="Description") {
description_creator
}
else if (result="Finished?") {
Ask ("Are you sure? All changes will be final!") {
if (result= true) {
MoveObject (Player, Outside of Castle Rahkuin)
}
else if (result= false) {
main_menu
}
}
}
}
</ main_menu [Function]?
<backstory [Function]>
ShowMenu ("Backstory", Split ("Placeholder 1;Placeholder 2;Placeholder 3", ";"), false) {
if (result = "Placeholder 1") {
msg ("Placeholder 1 text for the description of a background!<br/><br/>. . .Press Anything to Continue. . .")
wait {
Ask ("Do you wish to choose this backstory?") {
if (result = true) {
ClearScreen
main_menu
}
else if (result = false) {
ClearScreen
backstory
}
}
}
}
else if (result = "Placeholder 2") {
msg ("Placeholder 2 text for the description of a background!<br/><br/>. . .Press Anything to Continue. . .")
wait {
Ask ("Do you wish to choose this backstory?") {
if (result = true) {
ClearScreen
main_menu
}
else if (result = false) {
ClearScreen
backstory
}
}
}
}
else if (result = "Placeholder 3") {
msg ("Placeholder 3 text for the description of a background!<br/><br/>. . .Press Anything to Continue. . .")
wait {
Ask ("Do you wish to choose this backstory?") {
if (result = true) {
ClearScreen
main_menu
}
else if (result = false) {
ClearScreen
backstory
}
}
}
}
}
</ backstory [Function]>
//I repeated the same exact format for Race, Class. Stats, Perks, Skills, and Description I did this below:
<stats_creator [Function]>
msg ("(Placeholder Text)<br/><br/>This one requires a bit more 'advanced' manipulating than the others! You'll be picking which stats have how many 'points'.")
Ask ("Return to Main Menu? (You will either way! Muhahaha)") {
if (result = true) {
ClearScreen
main_menu
}
else if (result = false) {
ClearScreen
main_menu
}
}
</ <stats_creator [Function]>
<command name="attack_command">
<pattern>attack #object#</pattern>
<script>
object.hp = object.hp - player.damage
msg ("You attack the " + object + ", doing damage to it!")
<script>
</command>
<command name="kiss_command">
<pattern>kiss #object#</pattern>
<script>
msg ("You kiss the " + object + ", eeewww!")
<script>
</command>
<function name="fight_function">
if (orc.dead = true) {
msg ("The orc is already dead, silly!")
} else if (orc.dead = false) {
orc.dead = true
msg ("You attack and kill the orc!")
}
</function>
msg("The potion cools your throat as it glides slowly down towards your stomach. You feel woozy for several seconds.
...
You are sharply awakened as you feel iron pumping through your veins and your teeth protrude and foam builds around your mouth." )
// lol
player.strength = player.strength + 10
msg("You now have " + player.strength + " strength points.")
Silver wrote:>drink strength potionmsg("The potion cools your throat as it glides slowly down towards your stomach. You feel woozy for several seconds.
...
You are sharply awakened as you feel iron pumping through your veins and your teeth protrude and foam builds around your mouth." )
// lol
player.strength = player.strength + 10
msg("You now have " + player.strength + " strength points.")
<object name="room">
<inherit name="editor_room" />
<object name="player">
<attr name="first_name_string" type="string">HK</attr>
<attr name="gender_string" type="string">male</attr>
<attr name="race_string" type="string">human</attr>
<attr name="class_string" type="string">warrior</attr>
</object>
</object>
<function name="function_1">
msg (player.first_name_string + " is a " + player.gender_string + " " + player.race_string + " " + player.class_string + ".")
</function>
<object name="shield">
</object>
<object name="sword">
</object>
<object name="player">
</object>
HegemonKhan wrote:aye, I'm just a very polite person (very old fashioned), well, when it's not some political debate that I'm very opinionated and passionate about, laughs.
I just like to say it, to let them know that I'd gladly help them with anything they need, and it's also code heavy too, so I understand that they'll probably need ask about it, as maybe they might assume they're to just look at it and instantly understand it, too embarassed to ask about every part of it, which I don't want to be the case, so, I try to convey that I'm very willing and be glad to help with explaining it step by step to them, until they get it, hehe. I like helping people out (again, as I'm too nice a person in this world, sighs ~ very long stories, lol), especially with coding (as it's practice for me too).
I personally don't like to ask people for help, as I don't want to trouble them, a very libertarian aspect~concept of my personality:
I don't bother you, you don't bother me. Do whatever you want, and let me do whatever I want, so long as what we both do, doesn't interfere with each other (nor others), in doing what we want. If everyone had this foundational libertarian behaviorism, the world would be such a much better+peaceful world, sighs.
player.ability = player.attunement + player.coordination + player.fighting
player.ability = player.attunement + player.coordination + player.fighting
player.ability = player.attunement + player.coordination + player.fighting
player.ability = player.attunement + player.coordination + player.fighting
if you want to get into this, then you can see if this helps for now (if not than ask me, and I'll help), I have example game files (hopefully, they'll work for the current quest version, as they're old):
http://forum.textadventures.co.uk/viewtopic.php?f=10&t=4946&start=15#p34198
<game name="xxx1">
<attr name="xxx2" type="simplestringdictionary">1=red;2=blue;3=yellow</attr>
</game>
<function name="xxx3">
msg ("Pick a number, 1-3, and get a color in return!")
get input {
player.color_string = StringDictionaryItem (game.xxx2, result)
msg (player.color_string)
}
</function>
if I typed in 1, output: red
if I typed in 2, output: blue
if I typed in 3, output: yellow
result = 1
player.color_string = StringDictionaryItem (game.xxx2, result)
player.color_string = StringDictionaryItem (game.xxx2, 1)
player.color_string = StringDictionaryItem (1 ===> red)
player.color_string = red
result = 2
player.color_string = StringDictionaryItem (game.xxx2, result)
player.color_string = StringDictionaryItem (game.xxx2, 2)
player.color_string = StringDictionaryItem (2 ===> blue)
player.color_string = blue
result = 3
player.color_string = StringDictionaryItem (game.xxx2, result)
player.color_string = StringDictionaryItem (game.xxx2, 3)
player.color_string = StringDictionaryItem (3 ===> yellow)
player.color_string = yellow
<game name="xxx1">
<attr name="strength_integer" type="int">10</attr>
<attr name="endurance_integer" type="int">20</attr>
<attr name="dexterity_integer" type="int">30</attr>
<attr name="statusattributes" type="simplestringdictionary">strength_integer = Strength: !; endurance_integer = Endurace: !; dexterity_integer = Dexterity: !</attr>
</game>
// outputs in the 'status' box during game play:
//
// Strength: 10
// Endurance: 20
// Dexterity: 30
//
// you'd need all the other coding for when your attributes values change, too lazy to re-code this in ~ tired from my big guide post still, lol
ReaperOf666 wrote:Then go to sleep! I thank you SO MUCH for all of the help! I was beginning to think I was missing a step, and I'm glad I was
I'll get around to doing this within the next 24 hours (this PARTICULAR issue has been plaguing me for around 3 weeks, so I want to dedicate a good chunk of time of doing coding as soon as I 'finish' this part up), and I'll report back with either my Success or Failure! I'm tired too, lol!
I'm sure I've got the conceptual grasp on everything, its just the actual DOING OF that I'm trying to learn - and I thank you and everyone else who has given me some suggestions and advise on how to do such things! I hope I'll be able to make a library for Dynamic Menus as soon as I get it fleshed out in my own game
Now, just as a simple question (Yes or No - I'll attempt to figure it out on my own), when I get something to display # wise in the game:
Ex. Ability [15]
would it be possible to set something up that changes numbers into words? Ex. 15 = Outstanding 21 = God-Like 3 = Pathetic OR Weakling
I'm sure its possible outside of the Status Attributes ---but is it possible in it?---
EDIT: I think you just answered it - we were 3 minutes apart from that posting
msg("You wake up and are feeling {if player.strength<=5:pretty weak}{if player.strength>=6:pretty strong}.")
<asl version="560">
<include ref="English.aslx" />
<include ref="Core.aslx" />
<game name="Testing Game Stuff 2">
<gameid>cd102f9d-370a-4bda-b6ea-ca42288f619c</gameid>
<version>1.0</version>
<turns type="int">0</turns>
<statusattributes type="simplestringdictionary">turns =</statusattributes>
</game>
<object name="room">
<inherit name="editor_room" />
<object name="player">
<inherit name="editor_object" />
<inherit name="editor_player" />
<curhp type="int">250</curhp>
<maxhp type="int">500</maxhp>
<current_hit_points type="int">999</current_hit_points>
<maximum_hit_points type="int">999</maximum_hit_points>
<maxhp type="int">500</maxhp>
<hp type="string">0/0</hp>
<strength type="int">100</strength>
<endurance type="int">100</endurance>
<agility type="int">100</agility>
<hit_points type="string">0/0</hit_points>
<statusattributes type="simplestringdictionary">hp = ;hit_points =!;strength =;endurance = !;agility = Your agility is !</statusattributes>
</object>
</object>
<turnscript name="turns_turnscript">
<enabled />
<script>
player.hp = player.curhp + "/" + player.maxhp
player.hit_points = "HP: " + player.current_hit_points + "/" + player.maximum_hit_points
game.turns = game.turns + 1
</script>
</turnscript>
</asl>
reaper666 wrote:I've noticed that when you are in a menu, 0 turns go by.
Is it at all possible to make turns occur while a menu is open? That way the [Status Attributes] on the right can be updated (since they are update in my TurnScript?
reaper666 wrote:The only hurtles I have left (simply because I haven't got around to them) is making the
{Points Remaining: X}
when you go into the menu to increase you Attunement, Coordination, Fighting, etc.
That should just be as simple as making an attribute called (attribute_point_buy) and make a message appear with the menu that is something along the lines of
msg ("Points Remaining = (attribute_point_buy)")
Probably typed it out wrong, but coding is much easier to do than write it out
<function name="level_up_function"><![CDATA[
if (player.skill_point_integer > 0) {
show menu ("Choose a stat to raise", split ("attunement;coordination;fighting", ";"), false) {
switch (result) {
case ("attunement") {
player.attunement_integer = player.attunement_integer + 1
msg ("You've increased your 'attunement' by 1, it's now at {player.attunement_integer}, and you've got {player.skill_point_integer} skill points left.")
level_up_function
}
case ("coordination") {
player.coordination_integer = player.coordination_integer + 1
msg ("You've increased your 'coordination', it's now at {player.coordination_integer}, and you've got {player.skill_point_integer} skill points left.")
level_up_function
}
case ("fighting") {
player.fighting_integer = player.fighting_integer + 1
msg ("You've increased your 'fighting', it's now at {player.fighting_integer}, and you've got {player.skill_point_integer} skill points left.")
level_up_function
}
}
}
} else {
msg ("You're done leveling up, having spent all of your skill points.")
}
</function>
reaper666 wrote:Now, I thought about trying to do a (String Dictionary) like HK suggested, but making it display into the [Status Attribute] was beciming more of a task than anything - so I made 3 more [Attributes] called: ability_name ; mental_name ; physical_name
<object name="global_data_object">
<attr name="month_integer_and_month_string_conversion_stringdictionary" type="simplestringdictionary">1=january;2=february;3=march;4=april;5=may;6=june;7=july;8=august;9=september;10=october;11=november;12=december;january=1;february=2;march=3;april=4;may=5;june=6;july=7;august=8;september=9;october=10;november=11;december=12</attr>
</object>
<function name="month_function_A">
show menu ("What is your month of birth?", split ("1;2;3;4;5;6;7;8;9;10;11;12", ";"), false) {
// I select '7' for example
player.month_integer = ToInt (result)
// player.month_integer = 7
player.month_string = StringDictionaryItem (global_data_obejct.month_integer_and_month_string_conversion_stringdictionary, result)
// player.month_string = "july"
}
</function>
<function name="month_function_B">
show menu ("What is your month of birth?", split ("january;february;march;april;may;june;july;august;september;october;november;december", ";"), false) {
// I select 'september' for example
player.month_string = ToString (result)
// player.month_string = "september"
player.month_integer = ToInt (StringDictionaryItem (global_data_obejct.month_integer_and_month_string_conversion_stringdictionary, result))
// player.month_integer = 9
}
</function>
<function cc_aspects>
ClearScreen
ShowMenu ("Aspect Points Remaining:" + game.cc_aspect_points + "", Split ("[Ability] Attunement;[Ability] Coordination;[Ability] Fighting;[Mental] Charisma;[Mental] Intelligence;[Mental] Will;[Physical] Agility;[Physical] Endurance;[Physical] Strength; RESET; Done", ";"), false) {
if (result = "[Ability] Attunement") {
player.attunement = player.attunement + 1
game.cc_aspect_points = game.cc_aspect_points - 1
if (game.cc_aspect_points = - 1) {
player.attunement = player.attunement - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
else if (player.attunement = 16) {
player.attunement = player.attunement - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
cc_aspects
}
else if (result = "[Ability] Coordination") {
player.coordination = player.coordination + 1
game.cc_aspect_points = game.cc_aspect_points - 1
if (game.cc_aspect_points = - 1) {
player.coordination = player.coordination - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
else if (player.coordination = 16) {
player.coordination = player.coordination - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
cc_aspects
}
else if (result = "[Ability] Fighting") {
player.fighting = player.fighting + 1
game.cc_aspect_points = game.cc_aspect_points - 1
if (game.cc_aspect_points = - 1) {
player.fighting = player.fighting - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
else if (player.fighting = 16) {
player.fighting = player.fighting - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
cc_aspects
}
else if (result = "[Mental] Charisma") {
player.charisma = player.charisma + 1
game.cc_aspect_points = game.cc_aspect_points - 1
if (game.cc_aspect_points = -1) {
player.charisma = player.charisma - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
else if (player.charisma = 16) {
player.charisma = player.charisma - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
cc_aspects
}
else if (result = "[Mental] Intelligence") {
player.intelligence = player.intelligence + 1
game.cc_aspect_points = game.cc_aspect_points - 1
if (game.cc_aspect_points = - 1) {
player.intelligence = player.intelligence - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
else if (player.intelligence = 16) {
player.intelligence = player.intelligence - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
cc_aspects
}
else if (result = "[Mental] Will") {
player.will = player.will + 1
game.cc_aspect_points = game.cc_aspect_points - 1
if (game.cc_aspect_points = - 1) {
player.will = player.will - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
else if (player.will = 16) {
player.will = player.will - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
cc_aspects
}
else if (result = "[Physical] Agility") {
player.agility = player.agility + 1
game.cc_aspect_points = game.cc_aspect_points - 1
if (game.cc_aspect_points = - 1) {
player.agility = player.agility - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
else if (player.agility = 16) {
player.agility = player.agility - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
cc_aspects
}
else if (result = "[Physical] Endurance") {
player.endurance = player.endurance + 1
game.cc_aspect_points = game.cc_aspect_points - 1
if (game.cc_aspect_points = - 1) {
player.endurance = player.endurance - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
else if (player.endurance = 16) {
player.endurance = player.endurance - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
cc_aspects
}
else if (result = "[Physical] Strength") {
player.strength = player.strength + 1
game.cc_aspect_points = game.cc_aspect_points - 1
if (game.cc_aspect_points = - 1) {
player.strength = player.strength - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
else if (player.strength = 16) {
player.strength = player.strength - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
cc_aspects
}
else if (result = "RESET") {
}
else if (result = "Done") {
ClearScreen
MoveObject (player, Character Creation)
}
}
msg (player.attunement + " Attunement: Info")
msg (player.coordination +" Coordination: Info")
msg (player.fighting + " Fighting: Info")
msg (player.charisma + " Charisma: Info")
msg (player.intelligence + " Intellignece: Info")
msg (player.will + " Will: Info")
msg (player.agility + " Agility: Info")
msg (player.endurance + " Endurance: Info")
msg (player.strength + " Strength: Info")
</function>
if (game.cc_aspect_points <= 45)
game.cc_aspect_points = 45
If (player.attunement >= 5)
player.attunement = 5
etc.
if (game.cc_aspect_points <= 45)
game.cc_aspect_points = game.cc_aspect_points + d
if (player.attuement >= 5)
player.attunement = player.attunement - b
etc.
<function Pick>
l = Split(lst, ";")
n = GetRandomInt(0, ListCount(l) - 1)
return (StringListItem(l, n))
</function>
<Game Turn Script>
player.ability = (player.attunement + player.coordination + player.fighting) / 3
if (player.ability < 1) {
player.ability_name = Pick ("Useless;Non-Existent")
}
else if (player.ability < 2) {
player.ability_name = Pick ("Worthless;Insignificant")
}
else if (player.ability < 3) {
player.ability_name = Pick ("Inefficacious;Pitiful")
}
else if (player.ability < 4) {
player.ability_name = Pick ("Faulty;Deficient")
}
else if (player.ability < 5) {
player.ability_name = Pick ("Scarce;Insufficient")
}
else if (player.ability < 6) {
player.ability_name = Pick ("Pathetic;Paltry")
}
else if (player.ability < 7) {
player.ability_name = Pick ("Measly;Impractical")
}
else if (player.ability < 8) {
player.ability_name = Pick ("Ineffective;Unavailing")
}
else if (player.ability < 9) {
player.ability_name = Pick ("Feeble;Poor")
}
else if (player.ability < 10) {
player.ability_name = Pick ("Restrained;Meager")
}
else if (player.ability < 11) {
player.ability_name = Pick ("Decent;Fair")
}
else if (player.ability < 12) {
player.ability_name = Pick ("Common;Ordinary")
}
else if (player.ability < 13) {
player.ability_name = Pick ("Standard;Typical")
}
else if (player.ability < 14) {
player.ability_name = Pick ("Legitimate;Innate")
}
else if (player.ability < 15) {
player.ability_name = Pick ("Reasonable;Moderate")
}
else if (player.ability < 16) {
player.ability_name = Pick ("Exceptional;Extraordinary")
}
else if (player.ability < 17) {
player.ability_name = Pick ("High-Caliber;First-Rate")
}
else if (player.ability < 18) {
player.ability_name = Pick ("Unparalleled;Unprecedented")
}
else if (player.ability < 19) {
player.ability_name = Monstrous
}
else if (player.ability < 20) {
player.ability_name = Unearthly
}
else if (player.ability < 21) {
player.ability_name = Demi-God
}
else if (player.ability < 22) {
player.ability_name = God-Like
}
</Game Turn Script>
reaper666 wrote:The only problem I'm experiencing is that I can't make the 'RESET' option work, aka, setting the stats back to 5 and the points remaining to 45.
if (result = "[Ability] Attunement") {
player.attunement = player.attunement + 1
game.cc_aspect_points = game.cc_aspect_points - 1
if (game.cc_aspect_points = - 1) {
player.attunement = player.attunement - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
else if (player.attunement = 16) {
player.attunement = player.attunement - 1
game.cc_aspect_points = game.cc_aspect_points +1
}
cc_aspects
}
if (result = "[Ability] Attunement") {
if (game.cc_aspect_points > 0 and player.attunement <= 15) {
player.attunement = player.attunement + 1
game.cc_aspect_points = game.cc_aspect_points + 1
} else {
msg ("Sorry, but you've reached your limit.")
}
} else if (result = "[Ability] Coordination") {
if (game.cc_aspect_points > 0 and player.coordination <= 15) {
player.coordination = player.coordination + 1
game.cc_aspect_points = game.cc_aspect_points + 1
} else {
msg ("Sorry, but you've reached your limit.")
}
}
// etc 'else ifs'
cc_aspects
// Set up the menu options
// You could put this in your start script
// Do not have spaces after the semi-colon!
game.att_names = Split ("[Ability] Attunement;[Ability] Coordination;[Ability] Fighting;[Mental] Charisma;[Mental] Intelligence;[Mental] Will;[Physical] Agility;[Physical] Endurance;[Physical] Strength;RESET;Done", ";")
ClearScreen
ShowMenu ("Aspect Points Remaining:" + game.cc_aspect_points + "", game.att_names, false) {
// Do reset and done first; all the rest can be caught together in a loop
if (result = "RESET") {
// Iterate through each menu option
foreach (att, game.att_names) {
// Skip the last two
if (not att = "Done" and not att = "RESET") {
// The next line will convert "[Ability] Attunement" to "attunement"
attname = LCase(StringListItem(Split(att, " "), 1))
game.cc_aspect_points = game.cc_aspect_points + GetInt(player, attname) - 5
set (player, attname, 5)
}
}
cc_aspects
}
else if (result = "Done") {
ClearScreen
MoveObject (player, Character Creation)
}
else {
foreach (att, game.att_names) {
if (result = att) {
// The next line will convert "[Ability] Attunement" to "attunement"
attname = LCase(StringListItem(Split(att, " "), 1))
// Only change the value if we have the points and have not hit the limit yet
if (GetInt(player, "attunement") < 16 and game.cc_aspect_points > 0) {
set (player, attname, GetInt(player, attname) + 1)
game.cc_aspect_points = game.cc_aspect_points - 1
}
cc_aspects
}
}
}
}
foreach (att, game.att_names) {
if (not att = "Done" and not att = "RESET") {
attname = LCase(StringListItem(Split(att, " "), 1))
msg (GetInt(player, attname) + " " + CapFirst(attname) + ": Info")
}
}