chimchooree 2 years ago
commit c81fe16816

@ -1,46 +1,20 @@
<h2>description </h2> <h2>description </h2>
<p>Skills are individual powers usable by entities. They can take 8 at a time on their skillbar. They can be used for combat, puzzle-solving, and roleplaying. They are acquired through exploring. <br></p> <p>Skills are individual powers usable by entities. They can take 8 at a time on their skillbar. They can be used for combat, puzzle-solving, and roleplaying. They are acquired through exploring. </p>
<br> <br>
<h2>structure </h2> <h2>structure </h2>
<p>A skill is defined as a <a href="/blessfrey-gdd/docs/skill-json">JSON file</a> housed at res://res/text/skills/. Its filename is its base id, and all data and keywords are expressed through JSON. <br></p> <p></p>
<br>
<p>A SkillEquip contains a skill's base id. SkillEquips are housed at Skillbar/Skill SlotX's skill variable and the entity's arsenal. <br></p>
<br>
<p>A SkillEquip contains a DMV. A DMV handles the flow of the skill and collects skill data, including its tags. <br></p>
<br> <br>
<h2>logic </h2> <h2>logic </h2>
<p>Every skill is built from a JSON dictionary, and its functionality is built from a list of nested dictionaries. <br></p> <h3>end </h3>
<br> <p>A skill naturally ends after completion. After all the keywords are complete, the skill will complete. </p>
<p>At ready, the SkillBase singleton uses the JSONreader singleton to convert all the JSON files into an array of skill dictionaries, accessed using the desired skill's base id. <br></p>
<br>
<p>A character's skill library's skill_library holds an array of all the base_ids for the skills he knows. When a skill is learned, it is added to the skill_library and passes the skill and the character through the MessageBus to the LearnSkill event handler. <br></p>
<br>
<p>The LearnSkill handler instances a SkillEquip and adds it to the character. The character entity appends the SkillEquip to its skill_arsenal and adds it as a child to the SkillBase. If the character has an empty slot on his skillbar, the skill is equipped onto the character. The character's Skillbar/Skill SlotX's skill variable holds the SkillEquip. <br></p>
<br>
<p>The character decides to use a skill. The character find_skill(slot index) returns the SkillEquip, whose use method takes the skill's dealer and taker. <br></p>
<br>
<p>If it doesn't fail, the SkillEquip creates a cooldown timer and sets cooling to true and sets up and enters its DMV. <br></p>
<br>
<p>The DMV publishes 'skill_used' along with {id,dealer,taker}. Then it runs the activation time, consumes the skill cost, adds its tags, then registers the skill. <br></p>
<br>
<p>Skill registry at the DMV involves registering each keyword and its activation requisites. <br></p>
<br>
<p>If the keyword is an 'if', it parses the keyword's conditional statement, it registers the accompanying "then" keyword. Ifs are one-time conditionals, so if it's not true at registry, the whole keyword chunk misses its chance. <br></p>
<br>
<p>If the keyword is 'when', it generates a 'when' event handler from res://skills/keyword/when/when.tscn and connects the 'happened' signal to registering the accompanying then keyword. Tags are added for the 'when', support for removal by tag is set up, and the 'when' is entered. <br></p>
<br>
<p>'When' has a 'repeat', so it can trigger as many times as desired. Once is the assumed 'repeat', and -1 is an infinite repeat. The 'when' subscribes to its signal and provides itself as the handler. If it's conditional signal is just 'duration', a timer is set up and publishes to 'duration'. When the desired signal triggers, it verifies whether the full conditions of the 'when' are satisfied and should emit a 'happened' (and the DMV should register 'then'). If 'repeat' - 1 isn't 0, it goes around again. <br></p>
<br>
<p>If the keyword is 'expire', it frees the relevant keyword. <br></p>
<br> <br>
<p>If the keyword is 'refresh', it resets the relevant keyword. <br></p> <p>A skill prematurely ends if it is removed (the remove keyword targets applied skills) or reapplied (a duplicate skill ends earlier instances of the skill then is applied normally). </p>
<br> <br>
<p>If the keyword is just a 'keyword', it instances the relevant keyword object, tags it, sets up removal by tag, adds it as a child, then enters it, doing whatever special code the keyword does. <br></p> <p>When a skill ends for any reason, all keywords must also end. </p>
<br> <br>
<h2>challenges/known issues </h2> <h2>challenges/known issues </h2>
<p>Skill stuff -> character level but maybe should be entity level <br></p> <p> <br></p>
<br> <br>
<p>I think every character has a skill equip for every known skill in his arsenal. Is that too many? Should one copy be on the SkillBase? <br></p>
<br> <br>
<h2>works for...</h2> <h2>works for...</h2>
<ul> <ul>
@ -50,14 +24,11 @@
<li>skill range✗ </li> <li>skill range✗ </li>
<li>skill move into range✗ </li> <li>skill move into range✗ </li>
<li>skill activation✓ </li> <li>skill activation✓ </li>
<li>skill cooldown </li> <li>skill cooldown </li>
<li>skill cost/insuffient funds✗ </li> <li>skill cost/insuffient funds✗ </li>
<li>skill interrupt✗ </li> <li>skill interrupt✗ </li>
<li>skill removal✗ </li> <li>skill removal✗ </li>
<li>room/equipment skill✗ </li> <li>room/equipment skill✗ </li>
<li>Skill. (20 seconds) Gain 5 spirit every time you use a skill.✗ </li>
<li>If character has over 50% health, deal 75 damage.✗ </li>
<li>Blessing. (2 seconds) Removal: heal 80 life. No effect if ends early.✗ </li>
<li>Blessing. When character is moving, heal for 5 life every 1 second.✗ </li> <li>Blessing. When character is moving, heal for 5 life every 1 second.✗ </li>
<li>Remove all blessings and poisons. Heal for 10 life for each blessing removed. Gain 10 spirit for each poison removed.✗ </li> <li>Remove all blessings and poisons. Heal for 10 life for each blessing removed. Gain 10 spirit for each poison removed.✗ </li>
<li>Poison. If target is Blessed, Reduce Max Health by 25% (20 seconds). If poison ends early, target takes 50 damage.✗ </li> <li>Poison. If target is Blessed, Reduce Max Health by 25% (20 seconds). If poison ends early, target takes 50 damage.✗ </li>

@ -16,6 +16,57 @@
</div> </div>
<div class="setting" id="setting"><h3>setting + lore </h3> <div class="setting" id="setting"><h3>setting + lore </h3>
<p>The president's youngest daughter Dia discovered a secret in the national archives that the government had suppressed: the Confederacy won the War of Northern Aggression after finding a network of deep, expansive chasms under the earth that are full of gold, jewels, and anything man can desire. All Dia's oldest siblings were already grown and accomplished and belittled her for still being a child. This was the shortcut to power she needed. She took a small loan of a million dollars from her father to buy out a small town unwittingly founded upon a chasm opening. She named herself Mayor and blasted her way into the chasm and seized the resources necessary to overhaul the sleepy farming community into a commercial oasis named Lucrest, and it is rich in amenities. She credits her success to a magic wand that can control the economy. None of the locals know about the chasm or Dia's methods, and now they work primarily in the local service industry. Tourism is up 17000000%. <br></p> <p>The president's youngest daughter Dia discovered a secret in the national archives that the government had suppressed: the Confederacy won the War of Northern Aggression after finding a network of deep, expansive chasms under the earth that are full of gold, jewels, and anything man can desire. All Dia's oldest siblings were already grown and accomplished and belittled her for still being a child. This was the shortcut to power she needed. She took a small loan of a million dollars from her father to buy out a small town unwittingly founded upon a chasm opening. She named herself Mayor and blasted her way into the chasm and seized the resources necessary to overhaul the sleepy farming community into a commercial oasis named Lucrest, and it is rich in amenities. She credits her success to a magic wand that can control the economy. None of the locals know about the chasm or Dia's methods, and now they work primarily in the local service industry. Tourism is up 17000000%. <br></p>
<br>
<p>Suppose the president's youngest daughter Dia discovers a secret in the national archives that the government had suppressed: the country won the war after finding a network of deep, expansive chasms under the earth that are full of gold, jewels, and anything man can desire. All Dia's older siblings were already grown and accomplished and belittled her for still being a child. Assuming Dia is reckless, desperate, and knows the president handles her with child's gloves, how might Dia use this shortcut to wealth and control to benefit her reputation?<br></p>
<br>
<p>There are several ways that Dia might use this secret to benefit her reputation:<br></p>
<br>
<ul>
<li> She could leverage the secret to gain power and influence within the government. With access to such a vast wealth of resources, Dia could use her knowledge to gain political capital and advance her own agenda.</li>
<li> She could use the secret to help her parents get re-elected. By leveraging the wealth and resources from the underground chasms, Dia could help her parents win the next election by funding their campaigns and using the resources to sway public opinion in their favor.</li>
<li> She could use the secret to gain respect from her older siblings. If Dia's siblings have always belittled her for being a child, she could use her knowledge of the underground chasms to assert her own power and influence, and prove to her siblings that she is just as capable and intelligent as they are.</li>
<li> She could use the secret to gain personal wealth and success. With access to such a vast trove of resources, Dia could use her knowledge to amass a personal fortune, and build a successful career of her own.</li>
<li>Overall, by leveraging the secret of the underground chasms, Dia could use her knowledge to gain power, influence, respect, and personal wealth, and improve her reputation within the government and the broader community.</li>
</ul>
<br>
<p>How might Dia gain control as mayor of a sleepy unincorporated farming and mining community, given infinite money at her disposal and the president of the country as her dad?<br></p>
<br>
<p>There are several ways that Dia could gain control as mayor of a sleepy unincorporated farming and mining community:<br></p>
<br>
<ul>
<li> She could use her wealth and resources to fund community projects and initiatives. With access to infinite money, Dia could use her wealth to fund improvements and development projects in the community, such as building new roads, schools, or hospitals. This would help to win the support and loyalty of the community, and give Dia a strong base of support.</li>
<li> She could use her connections to the president to gain political support. As the daughter of the president, Dia could use her connections to lobby for the community's needs and interests at the national level, and gain support and backing from the government.</li>
<li> She could use her wealth and resources to win over key influencers and community leaders. By using her wealth to fund local initiatives and support local businesses, Dia could win over the support of key community leaders and influencers, and use their support to further her own agenda.</li>
<li> She could use her wealth and resources to shape public opinion. By using her wealth to fund public relations campaigns and shape the media narrative, Dia could use her resources to influence public opinion and gain further support from the community.</li>
<ul><br><p>Overall, by using her wealth, connections, and resources, Dia could gain control as mayor of a sleepy unincorporated farming and mining community, and use her position to shape the direction and development of the community to her own benefit.<br></p>
<br>
<p>How do you incorporate a community into a town?<br></p>
<p>To incorporate a community into a town, the following steps can be taken:</p>
<ul>
<li> Gather community support: The first step in incorporating a community into a town is to gather support from community members. This can be done through meetings, surveys, and other forms of outreach to gauge interest and gather feedback.</li>
<li> File a petition: Once there is sufficient support for incorporation, a petition can be filed with the state government to initiate the process. This petition should include the boundaries of the proposed town, the proposed name, and any other relevant information.</li>
<li> Conduct a feasibility study: The state government will typically conduct a feasibility study to determine if incorporation is practical and viable. This may include an analysis of the community's population, resources, and finances.</li>
<li> Hold an election: If the feasibility study is positive, an election will be held to determine if the community wants to be incorporated. This election must be approved by a majority of the community's residents.</li>
<li> Establish a government: Once incorporation is approved, the community will need to establish a local government, including a town council, mayor, and other necessary offices and departments.</li>
<li> Implement local laws and regulations: The town will need to implement local laws and regulations to govern various aspects of life within the community, such as zoning, building codes, and public safety.</li>
<p>Overall, incorporating a community into a town involves gathering community support, filing a petition, conducting a feasibility study, holding an election, establishing a government, and implementing local laws and regulations.</p>
<br> <br>
<p>Lucrest is a bustling commercial hub, filled with a variety of amenities and attractions for tourists. The town was once a sleepy farming community, but thanks to the discovery of a network of deep, expansive chasms filled with valuable resources, it has been transformed into a thriving metropolis. She is credited with using a magic wand to control the economy and bring about this rapid growth and development. <br></p> <p>Lucrest is a bustling commercial hub, filled with a variety of amenities and attractions for tourists. The town was once a sleepy farming community, but thanks to the discovery of a network of deep, expansive chasms filled with valuable resources, it has been transformed into a thriving metropolis. She is credited with using a magic wand to control the economy and bring about this rapid growth and development. <br></p>
<br> <br>

@ -1,22 +1,23 @@
<p><ul> <p><ul>
<li><b><a href="/blessfrey-gdd/item">base item</a></b>: the core of data of an individual item. Floor items and inventory items contain a base item. </li> <li><b><a href="/blessfrey-gdd/item">base item</a></b>: the core of data of an individual item. Floor items and inventory items contain a base item. </li>
<li><b><a href="/blessfrey-gdd/pathfinding">current_dot</a></b>: (variable, StateMachine.gd) the immediate point the entity is pathfinding to in order to ultimately reach the goal_target. </li> <li><b><a href="/blessfrey-gdd/pathfinding">current_dot</a></b>: (DG era variable, StateMachine.gd) the immediate point the entity is pathfinding to in order to ultimately reach the goal_target. </li>
<li><b><a href="/blessfrey-gdd/proxemics">degrees(❥)</a></b>: (concept) the unit of social distance </li> <li><b><a href="/blessfrey-gdd/proxemics">degrees(❥)</a></b>: (concept) the unit of social distance </li>
<li><b><a href="/blessfrey-gdd/pathfinding">dot</a></b>: (variable, StateMachine.gd) a set of coordinates for a global position. </li> <li><b><a href="/blessfrey-gdd/pathfinding">dot</a></b>: (DG era variable, StateMachine.gd) a set of coordinates for a global position. </li>
<li><b><a href="/blessfrey-gdd/pathfinding">dots</a></b>: (variable, StateMachine.gd) the discreet path between points, esp. the entity and the goal target. </li> <li><b><a href="/blessfrey-gdd/pathfinding">dots</a></b>: (DG era variable, StateMachine.gd) the discreet path between points, esp. the entity and the goal target. </li>
<li><b><a href="/blessfrey-gdd/item">floor item</a></b>: </li> <li><b><a href="/blessfrey-gdd/item">floor item</a></b>: </li>
<li><b><a href="/blessfrey-gdd/pathfinding">goal target</a></b>: (variable, MoveToDestination.gd) It is set when the entity decides to pathfind and nulled during clear_goal(). mobile.gd/path_to_object(goal_target) is called from MoveToDestination every Execute loop to reassess the path between entity and goal. </li> <li><b><a href="/blessfrey-gdd/pathfinding">goal target</a></b>: (DG era variable, MoveToDestination.gd) It is set when the entity decides to pathfind and nulled during clear_goal(). mobile.gd/path_to_object(goal_target) is called from MoveToDestination every Execute loop to reassess the path between entity and goal. </li>
<li><b><a href="/blessfrey-gdd/inspect">inspect menu</a></b>: (UI) presents options for interacting with the subject </li> <li><b><a href="/blessfrey-gdd/inspect">inspect menu</a></b>: (UI) presents options for interacting with the subject </li>
<li><b><a href="/blessfrey-gdd/proxemics">intimate distance</a></b>: 45❥, declared at mobile.gd/intimate_space </li> <li><b><a href="/blessfrey-gdd/proxemics">intimate distance</a></b>: 45❥, declared at mobile.gd/intimate_space </li>
<li><b><a href="/blessfrey-gdd/item">inventory item</a></b>: </li> <li><b><a href="/blessfrey-gdd/item">inventory item</a></b>: </li>
<li><b><a href="/blessfrey-gdd/item">item</a></b>: varies in form depending on its context - base item, floor item, inventory item, merchandise </li> <li><b><a href="/blessfrey-gdd/item">item</a></b>: varies in form depending on its context - base item, floor item, inventory item, merchandise </li>
<li><b><a href="/blessfrey-gdd/item">merchandise</a></b>: </li> <li><b><a href="/blessfrey-gdd/item">merchandise</a></b>: </li>
<li><b><a href="/blessfrey-gdd/pathfinding">next</a></b>: (variable, StateMachine.gd) same as the goal_target. The current waypoint for the entity. </li> <li><b><a href="/blessfrey-gdd/pathfinding">next</a></b>: (DG era variable, StateMachine.gd) same as the goal_target. The current waypoint for the entity. </li>
<li><b><a href="/blessfrey-gdd/pathfinding">next_dot</a></b>: (variable, StateMachine.gd) the first item in the dots array that is not at the entity's global_position. </li> <li><b><a href="/blessfrey-gdd/pathfinding">next_dot</a></b>: (DG era variable, StateMachine.gd) the first item in the dots array that is not at the entity's global_position. </li>
<li><b><a href="/blessfrey-gdd/proxemics">personal distance</a></b>: 60❥, declared at mobile.gd/personal_space </li> <li><b><a href="/blessfrey-gdd/proxemics">personal distance</a></b>: 60❥, declared at mobile.gd/personal_space </li>
<li><b><a href="/blessfrey-gdd/proxemics">proxemics</a></b>: (concept) interentitic, mechanical distances </li> <li><b><a href="/blessfrey-gdd/proxemics">proxemics</a></b>: (concept) interentitic, mechanical distances </li>
<li><b><a href="/blessfrey-gdd/proxemics">social distance</a></b>: 90❥, declared at mobile.gd/social_space </li> <li><b><a href="/blessfrey-gdd/proxemics">social distance</a></b>: 90❥, declared at mobile.gd/social_space </li>
<li><b><a href="/blessfrey-gdd/inspect">subject</a></b>: inspect menu has a subject; inspect options will affect it </li> <li><b><a href="/blessfrey-gdd/inspect">subject</a></b>: inspect menu has a subject; inspect options will affect it </li>
<li><b><a href="/blessfrey-gdd/pathfinding">track</a></b>: (variable, MoveToDestination.gd) If the AI is pathfinding to a point or object, track is true. Upon arrived(), it is false. It is checked in handle_moved_result(result, entity).</li> <li><b><a href="/blessfrey-gdd/pathfinding">swing</a></b>: (BF era action, ???.gd) Encompasses both weapon swings and the use phase of weapon attack skills. </li>
<li><b><a href="/blessfrey-gdd/pathfinding">waypoints</a></b>: (variable, StateMachine.gd) the list of selected points the entity will be traveling to. Usually a patrol route. </li> <li><b><a href="/blessfrey-gdd/pathfinding">track</a></b>: (DG era variable, MoveToDestination.gd) If the AI is pathfinding to a point or object, track is true. Upon arrived(), it is false. It is checked in handle_moved_result(result, entity).</li>
<li><b><a href="/blessfrey-gdd/pathfinding">waypoints</a></b>: (DG era variable, StateMachine.gd) the list of selected points the entity will be traveling to. Usually a patrol route. </li>
</ul></p> </ul></p>

@ -0,0 +1,68 @@
Calder, Merle, Errol, Ivor, Orin, Lorn, Corvin, Heron, Gareth, Brendan, Ferris, Frey, Orion
Althea, Meredith, Marin, Marni, Selah, Loretta, Lottie, Reyna, Grisel, Greer, Florine, Dinah, Lane
Calder - This is a Scottish name that means "rough waters," and it is derived from the Old Norse word "kaldr," which means "cold." Calder is a Scottish name that means "rough waters," and it is derived from the Old Norse word "kaldr," which means "cold." The name Calder is often associated with strength, determination, and resilience, and it might be chosen by people who are looking for a name that reflects these qualities. Calder is a popular name in Scotland, and it is also used in other English-speaking countries such as the United States, the United Kingdom, and Canada.
Merle - This is a French name that means "blackbird," and it is derived from the Latin word "merula," which means "blackbird." Merle is a French name that means "blackbird," and it is derived from the Latin word "merula," which means "blackbird." The name Merle is often associated with intelligence, wit, and charm, and it might be chosen by people who are looking for a name that reflects these qualities. Merle is a popular name in France, and it is also used in other French-speaking countries such as Canada and Belgium. In the United States, the name Merle is less common, but it is still used by some people who are looking for a unique and unusual name for their child.
Errol - This is a Scottish name that means "wanderer," and it is derived from the Old English word "ærwe," which means "wanderer." Errol is a Scottish name that means "wanderer," and it is derived from the Old English word "ærwe," which means "wanderer." The name Errol is often associated with independence, adventure, and curiosity, and it might be chosen by people who are looking for a name that reflects these qualities. Errol is a popular name in Scotland, and it is also used in other English-speaking countries such as the United States, the United Kingdom, and Canada. In the United States, the name Errol is less common, but it is still used by some people who are looking for a unique and unusual name for their child.
Ivor - This is a Welsh name that means "yew tree," and it is derived from the Welsh word "iffwr," which means "yew tree." Ivor is a Welsh name that means "yew tree," and it is derived from the Welsh word "iffwr," which means "yew tree." The name Ivor is often associated with intelligence, wisdom, and insight, and it might be chosen by people who are looking for a name that reflects these qualities. Ivor is a popular name in Wales, and it is also used in other English-speaking countries such as the United States, the United Kingdom, and Canada. In the United States, the name Ivor is less common, but it is still used by some people who are looking for a unique and unusual name for their child.
Orin - This is a Scottish name that means "white, pale," and it is derived from the Gaelic word "odhar," which means "pale."
Lorn - This is a Scottish name that means "rough," and it is derived from the Gaelic word "latharn," which means "rough."
Corvin - This is a Latin name that means "raven," and it is derived from the Latin word "corvus," which means "raven."
Heron - This is an English name that means "heron," and it is derived from the Old English word "here," which means "heron."
Gareth - This is a Welsh name that means "gentle," and it is derived from the Welsh word "gwaredd," which means "gentle."
Brendan - This is an Irish name that means "little raven," and it is derived from the Irish word "breanndán," which means "little raven."
Ferris - This is an Irish name that means "man of iron," and it is derived from the Irish word "ó Flaithbheartaigh," which means "man of iron."
Frey - This is a Norse name that means "lord," and it is derived from the Old Norse word "fra," which means "lord."
Orion is a Greek name that means "son of fire," and it is derived from the Greek mythology of the constellation Orion. According to Greek mythology, Orion was a hunter who was placed among the stars by the gods after his death. The name Orion is derived from the Greek word "oros," which means "mountain," and the suffix "ion," which means "son." In Greek mythology, Orion was associated with hunting and the outdoors, and his name is often used as a symbol of strength, endurance, and bravery.
Here is information about the meanings and origins of Althea, Meredith, Marin, Marni, Selah, Loretta, Lottie, Reyna, Grisel, Greer, Florine, Dinah, and Lane:
Althea - This is a Greek name that means "healing," and it is derived from the Greek word "althainein," which means "to heal."
Meredith - This is a Welsh name that means "great lord," and it is derived from the Welsh elements "mawr," which means "great," and "rhod," which means "lord."
Marin - This is a French name that means "of the sea," and it is derived from the Latin word "marinus," which means "of the sea."
Marni - This is a French name that is derived from the Latin word "marinus," which means "of the sea."
Selah - This is a Hebrew name that means "pause," and it is derived from the Hebrew word "selah," which means "pause."
Loretta - This is an Italian name that means "laurel," and it is derived from the Latin word "laurus," which means "laurel."
Lottie - This is a diminutive form of the name Charlotte, which is a French name that means "little woman," and it is derived from the Old German word "karl," which means "man," and "thorf," which means "strong."
Reyna - This is a Spanish name that means "queen," and it is derived from the Latin word "regina," which means "queen."
Grisel - This is a Spanish name that is derived from the Latin name Griselda, which means "gray battle-maid."
Greer - This is a Scottish name that means "watchful," and it is derived from the Gaelic word "greir," which means "watchful."
Florine - This is a French name that means "flower," and it is derived from the Latin word "flos," which means "flower."
Dinah - This is a Hebrew name that means "judged," and it is derived from the Hebrew word "din," which means "judged."
Lane - This is an English name that means "narrow road," and it is derived from the Old English word "lanu," which means "narrow road."
Loading…
Cancel
Save