We've launched the announced Talent and Lore Update! All characters are granted one free RP talent and race change. Update Log.
Updates to Talents and Monsters: Read the specifics in the Update Log
08/01/'21
Gaia Reborn
Gaia Reborn, the hottest MMORPG of the last decade, has seen millions of players experience its unique world - a combination of fantasy and reality. When Gaia Reborn was a game, one goal was to make the game world a one-half scale model of the real world. This pursuit was known as the Half-Gaia Project, and it is one of the aspects which led to Gaia Reborn becoming such a popular virtual world. With regional servers having unique areas, quests, cities, and monsters, it wasn't uncommon for people to create alternate characters on other servers to experience what felt like an entirely new game.
Ten years after the game's launch, millions of players have joined and created countless characters across the many servers. Now, with the release of the latest expansion, Pioneers of Arcadia, many are getting ready to begin new adventures in the new Italian server, exploring the new region corresponding to Italy, known in Gaia as Italia. Characters would have to start from fresh in this new world, but Italy would finally get its own piece of this world.
Countless players created their characters, logged in with excitement fueling their hands as the cursor swept across the screen, and then... darkness... Everything was black, and as their eyes opened, the players found themselves in the streets of an unfamiliar city. Looking around to survey their surroundings, many players realized this city was not so new after all. While desolate and ruined, the architecture conquered by vines and greenery, this city was unmistakably Rome, but at the same time, it was not. Finding themselves in the bodies of their characters, trapped in the world of Gaia Reborn, players are left to adapt to their new reality in this fantasy world.
Civilisation in Gaia was limited, at best. Towns never expanded too far or were too developed, and the place was so sparsely populated that places were isolated. Not totally unaware of one another, but far enough away and blocked by all sorts of environmental barriers that made cooperation difficult. Spreading out meant risking a monster attacking you, and unlike adventurers, the landers who resided in these towns didn’t come back to life after being killed. Adventurers, being unable to die, were often the ones out exploring and risking themselves fighting monsters.
And now Cecilia was an adventurer too. She was used to the risk of death; as an investigative reporter, she faced down all sorts of organised crime in her career. She understood the landers better than most of the other players, who generally consisted of younger people who hadn’t quite come into their own yet. She knew better than most that life started much later than a lot of people professed it to. After all, her career only started when she was in her late thirties.
She still looked young as ever, though!
Silently humming a tune to herself, Cecilia had set out to the wilderness intending to gather as many resources as she could. As a chef, she needed to have the supplies to keep everyone well-fed. Unfortunately, she didn’t always have the money or access to the supplies necessary to cook. Not only was she relied upon to make anything beyond slurry, but cooking would also increase her skills and allow her to cook better meals that would not only taste great but grant better buffs to whoever ate it. Certainly vital for any party.
The problem was that she was terrible at hunting or gathering anything.
She had no idea how to get to animals without spooking them, how to set traps which plants were edible and which were not. She could do it through trial and error, but that would take much too long, and she needed to get back before nightfall. Although she hadn’t been threatened by monsters so far, she knew that being unable to navigate in a dark forest could spell her death… she idly remembered that death merely meant she would respawn a few minutes later, but she still very much disliked the idea of starving or being felled by any number of things. Somewhere in the back of her mind, she still treated death as something permanent.
Complacency was the enemy, even when you were effectively immortal.
Which was why she had to find some other way of capturing animals and gathering resources. With this in mind, she concocted a plan. Doing her best to keep quiet, Cecilia would sneak along some bushes, using trees as a way to break line of sight as she scouted out the area. Her plan eventually bore fruit, able to observe some deer munching on berries. She obviously wouldn’t be able to sneak up to them dressed in chainmail, but perhaps she could lure them to an ideal spot…
The deer sniffed the air, its keen nose easily noticing food. It cautiously walked along the forest, ears attentive to any and all threats, slowly making its way to its prize. An assortment of berries gathered in one spot for the taking. It didn’t think to question why the berries were there, nor to look above itself. It simply made a beeline for the food. Stopping in front of it, it looked around one last time before leaning down to munch on them.
Unfortunately for it, that would be its last meal.
Cecilia’s trap had worked perfectly, and the deer was none the wiser to her presence. Mumbling a small apology, Cecilia would ready her blade and suddenly jump down from the tree. The deer tried to move out of the way, its reflexes proving apt like any of its kind, but the position it was in was much too precarious to move out of the way in time. Cecilia’s cut was clumsy, the edge of her blade not properly aligned, but the sheer weight behind her strike more than made up for it. The deer died instantly, and Cecilia was left looking a touch bloodied, much to her horror. She looked at herself, trying to think of some way to get the blood off her, then sighed. Seemed she would have to wash in some sort of stream. She did remember one not too far away…
…
Letting out a breath of relief, Cecilia enjoyed the pleasantly cool waters of the stream, throwing her hair back as water splashed from it in an almost idyllic fashion. The Italians were lucky; she would never be able to do something like this up in Scotland. The water would freeze her! Unbidden, Cecilia further relaxed, simply taking in the pleasant waters with a small smile…
Cecilia blinked and snapped her head to a specific spot. What was…? Narrowing her eyes, she quickly exited the water and picked up one of her swords, grasping it firmly as she inched closer to the apparent noise. She was sure she had heard something! They had quite literally caught her with her pants down… as well as everything else. Cecilia pushed back the feelings of embarrassment; if she tried to put on her armour now, it would just be asking to be attacked. She would deal with whatever had shown up then quickly go back to-
“Aaaaaaaaah!”
Cecilia screamed as her legs were caught with something, and the world was suddenly upside down. Blinking once, then twice, Cecilia realised she had been caught in a trap. When had someone set this up? Was it goblins? Bandits? Whoever it was, they clearly were out to harm her. Fortunately for Cecilia, she still had her blade in hand, and reared back to try and cut the rope so she could-
She felt a sudden sting on her neck, causing her to drop her weapon and leave her utterly defenceless. Cecilia looked around, trying to find whoever did this, but her position left her in a rather precarious situation. Worse yet, she was beginning to feel woozy…
“W… wha…?”
Cecilia could only let out a slurred interrogation before slipping into unconsciousness. As she hung there, defenceless and without her equipment, someone came out of the woods to see his handiwork…
…
The place was dark, illuminated only by a warm light as the sounds of rambunctious men filled the air and echoed through the walls. Cecilia’s eyes opened, then shut tight hard. Her head was throbbing as if she was having the worst hangover in her life, and the noise did little to help her get over the pain. She did her best to try and block out all the unwanted sensory feedback as she tried to gather her wits and figure out what on earth was going on. It took her a few minutes to make heads and tails of her situation. While she previously saw only blurred colours, her eyes would begin focusing and seeing taht she was in a cave, locked into a cage and looking at a large group of people happily chatting the night away. Looking around more, she would see her equipment along with various other things in a corner, along with crates and barrels. Were these people bandits…?
Cecilia ran through several plans in her head. She had no equipment to speak of. In fact, was she-?
Looking down at herself, she heaved a breath of relief. She was wearing some rags that the bandits had evidently provided. They were ugly and didn’t cover much of anything, but it was a lot better than being naked. It was also rather tight in the chest, though she supposed that was inevitable.
She just hoped whoever captured her had the decency to clothe her before bringing her here.
The widow had no more time to contemplate her situation, however. It seemed one of the bandits had noticed her stirring awake and slowly made his way to the cage she was in. Crouching down, he would stare at her for a moment. Cecilia couldn’t help but note that he was handsome in a boyish sort of way, but she couldn’t quite ask him on a date in these situations.
“Seems you’ve run into some bad luck, madam. Being captured by bandits isn’t the best way to spend your day, I imagine.” He said to her, his tone strangely solemn, “We’ve taken all your possessions for our use. It’s a dog eat dog world, you see. We have to do what we can to survive, especially now that monsters threaten us at every corner. You’ll have to forgive us for that, but you were simply someone we needed resources from.”
Cecilia frowned. It seemed that at least this boy wasn’t your typical greedy bandit. Perhaps she could use that to her advantage…
“Um…” She began, a small, somewhat nervous smile on her face, “Sorry, but I really don’t have much for you to take… could you please just give my things back and let me go? I promise I won’t cause trouble on the way out.”
“No can do, madam.” He shook his head, “We’d rather keep you here for a bit. Ransom is always a good way to get some extra gold, and you seem like you’d fetch a good price.”
Sighing, Cecilia could see that they wouldn’t just let her walk away, so she decided to switch tactics.
“It’s not for my sake that I’m asking to be let go. I’m only concerned about what might happen to you all.”
The boy narrowed his eyes, which she took as a demand that she explain.
“I’m an adventurer.” She told him upfront, “You’ve likely heard of my kind, so you likely know that there is virtually no scenario in which you’d benefit from me. Keep me here, and other adventurers will come to my aid, or I can escape. Kill me, and I just return to life.”
“There are fates worse than death.”
“And how can you guarantee I’ll be kept alive for you to torture me?” She instantly retorted with steely eyes before they softened with genuine concern, “Please, would you let me go? I know you must care for your men, and I know well the pain of losing family. Let’s not let that happen.”
He frowned, looking away from her. His posture hadn’t changed, but his eyes no longer looked certain. After a few, long moments, he looked back at her.
[“Very well.” He said, producing a key from a pouch and unlocking the door to her cage, “Your stuff is in that crate over there. My men won’t stop you. Get your equipment and leave.”
She slowly stood up, feeling rather sore from the cold, hard cage she had slept on. She slowly walked out, but abruptly stopped and stared directly into the boy’s eyes as if expecting something.
“Well?”
He blinked, looking quite confused, “W-Well, what?”
“Aren’t you going to offer even so much as an apology? Goodness, you have no manners!” She fully turned towards him and wagged her finger at him as she lectured him, “Back where I’m from, if we really wanted to apologise, we’d offer something in compensation! So, what are you going to do?”
“But-!”
“No buts, young mister! I’ve lived for a long time and have heard all sorts of excuses from young boys like you!” She crossed her arms, glaring at him in disappointment like a mother would her unruly child.
For his part, the young bandit leader seemed stunned, as if she had just grown another head. After what seemed like an eternity of his brain rebooting and processing what had just happened, he sighed and shook his head.
“You’re pretty brave to speak to me like that, madam. But you have a point.” Turning to his men, who all still seemed bewildered at this turn of events, he would nod at them. This seemed to spur them into action as they went over to their supplies to try and gather something for her.
…
“Here we go, madam. These supplies should be useful for an adventurer like you.”
The young bandit leader handed her over a sizable pouch of supplies, which she happily accepted and put into her magic bag. Now properly dressed again, she felt she could breathe easier… especially now that she was wearing clothing that was properly fitted to her body!
As she turned around, she paused once more, a thought suddenly hitting her. She furrowed her brow, hand on her chin as she juggled the possibilities in her head. Turning around to the bandit leader, she would speak.
“Say… why do you do this, young man? Many could use the services of a band such as yours.”
He frowned, looking to the ground, “We never started out as a band. We were originally just a trio of rejects who were tired of people, and we eventually began gathering more and more who were frustrated like us. Besides, if we returned now, we’d certainly be punished for our crimes.”
“Perhaps you would, but you will have to eventually face the consequences of your actions either way.” She reasoned, “If you show a true willingness to help, I’m certain they will accept you all before long, and it will be a much more fulfilling existence than this.”
“Hmm…” He closed his eyes, sighing, “Perhaps… I’ll think about what you said, miss. Thank you for that. Most never really see us as anything other than a menace. Not that I blame them.”
Cecilia’s smile beamed so bright that it could illuminate the forest. As she turned around, however, he called out to her.
“Wait!” She stopped, “What’s your name?”
She looked at him, before smiling, “Cecilia.”
And with that, she was off into the woods, keen on returning home with her spoils.
Welcome to the help dialog for the Custom Mini-Profile Creator plugin!
Click on any of the tabs above to go through the plugin configuration process!
You can access this menu at any time by clicking on the icon in the bottom right bar (may not be applicable if you're on Forums.net), or you can disable the welcome window and/or the icon by going to Plugins > Manage > Custom Mini-Profile Creator and changing the Show Help option.
This step is essential as it gives the plugin everything it needs on the page to get as much profile information as possible.
To make the profile variables work you'll need to add a new line to the very end of Themes > Layout Templates > Mini-Profile and paste the code below on it. The code should be placed completely outside of the mini-profile, so if you're using the default mini-profile template this will be after the very last closing </div> tag. This needs to be done on every theme you have the plugin enabled on as the template is theme-specific.
If your mini-profile template is already customized and you've hit the variable limit for your template you're free to remove any lines from the code below if they contain information that you don't plan on using. For example, if you have no plans to ever add a user's IP to their mini-profile for staff reference you can remove <div class="mp-info ip">$[user.ip]</div> from the code and everything else will still work just fine.
Once you've added the HTML from the Layout Templates tab you're ready to move on to building your mini-profiles. If you want to get going and try some out now or you're not very adept at HTML, CSS, or Javascript, worry not! This plugin includes some examples for you to try out. You're free to skip to the Custom Profile Fields tab and read over this tab later when you're ready to build your own.
Here's a quick rundown of each of the components in Plugins > Manage > Custom Mini-Profile Creator:
Name This is the name you'll be adding to your custom profile field dropdown once you've finished coding the mini-profile. Pretty self-explanatory. Make sure this name is unique from every other name you use for your mini-profiles or you'll end up overwriting the earlier ones in the list.
HTML This is the HTML that will go inside your mini-profile. You can use just about any HTML tag here so long as it's appropriate for where the mini-profile is showing on the page. Please refrain from using <style> or <script> tags here. You have the next two sections for that! Also, remember that mini-profiles can show multiple times on the same page, so you shouldn't add ID attributes to any of your elements here. Two elements on the same page cannot have the same ID per HTML standards.
CSS This is where you'll place what would normally go in your forum's style sheet or what would normally be between <style> tags. Try to code your mini-profile's HTML in a way that will allow you to target it specifically with your selectors. For example, you can surround all of the content in your HTML with a <div> element with a class and target that class and its child elements specifically with your CSS. That way you don't accidentally target every mini-profile on the page with CSS that was meant for the one you're building. One more thing: The forum theme's CSS still applies beforehand, so your mini-profile may look right in one theme but not in another. The best way to circumvent this is to define as many styles as you can to override the theme's CSS.
Javascript Anything that normally goes between <script> tags will go here. This one's a bit tricky since you'll obviously want to target the custom mini-profile specifically. Luckily there's an easy way to do that. In your statements you can use the $(this) variable to target the mini-profile if you're coding using jQuery. Otherwise, if you only plan on using standard Javascript you can target $(this)[0] instead.
Once you've finished building your mini-profiles it's finally time to add them to the Edit Profile page for use! To enable selection of custom mini-profiles you'll first need to add two specific custom profile fields in Members > Custom Profile Fields in your forum's admin area:
Mini-Profile Theme
Staff Mini-Profile Theme
Mini-Profile Theme is for mini-profiles that are designed for member use. You can set the Who Can Edit option for this field to Staff With Power if you only want staff to be able to choose mini-profiles for users. Otherwise, if you want members to freely be able to choose their own mini-profiles you can choose Members and Staff With Power.
Staff Mini-Profile Theme is for mini-profiles designed specifically for staff use. This field is completely optional.
Set the type for both of these fields as Drop Down Selection. Click on the (View/Edit) link to add mini-profile names to each of these fields.
If you've just installed this plugin you should have three different mini-profiles already installed by default: Example 1, Example 2, and Example 3. You can add these to your dropdowns to test them out and see the plugin in action.
If you're having trouble getting this plugin to work despite following the instructions in the previous tabs you may want to check that each of your themes meets the prerequisites below in Themes > Layout Templates > Mini-Profile.
First, ensure that opening tag of your mini-profile template includes the $[miniprofile_class] variable in its class. On the default ProBoards theme it should look something like this:
<div class="$[miniprofile_class]">
Next, make sure that the default {foreach} loop for custom fields is present inside your mini-profile. It doesn't need to be visible, so you're free to add it inside a hidden element if you don't plan on displaying it or if it would mess up the appearance of your own custom template.
Beyond that you can do whatever you like to the mini-profile template for the most part and it shouldn't negatively impact the plugin.
The following is a list of available variables for use in the HTML section of the mini-profile creator and their definitions. Adding any of these to a mini-profile will generate the content described in its definition in place of the variable so long as the information that variable outputs is visible to you.
To reference your forum's custom profile fields you can use $[user.customfieldname], substituting "customfieldname" with your custom field's name. You'll need to type the name in all lowercase with no spaces and only use characters A-Z and 0-9.
For example, Mini-Profile Theme becomes $[user.miniprofiletheme]. This will output the value of the custom field. In the case of this example, it'll be the name of the mini-profile theme you've chosen in your profile.
IMPORTANT NOTE: These will only work if you followed the steps in the Installation tab of this window on each of your themes. Any themes that do not include the template code specified there will not have these variables replaced in the mini-profile.
$[user]
User's display name link.
$[user.age]
User's age (if visible to you).
$[user.avatar]
User's current avatar.
$[user.badges]
User's list of badges.
$[user.birthday]
User's date of birth (if visible to you).
$[user.color]
Hex color of user's group. If user is not in a group this will return inherit.
$[user.custom_title]
User's custom title.
$[user.email]
User's email (if visible to you).
$[user.gender.image]
Image associated with the gender selected in the user's profile (if available).
$[user.gender.text]
Name of gender selected in the user's profile (if available).
$[user.group.name]
Name of user's current display group.
$[user.group.stars]
Star images associated with user's current display group.
$[user.id]
User's numerical ID.
$[user.instant_messenger]
User's list of instant messengers specified in their profile (if available).
$[user.invisible]
Returns 1 if a user is invisible. More useful for Javascript.
$[user.ip]
User's IP address (if visible to you).
$[user.is_online]
Returns Member is Online if user is currently online.
$[user.is_staff]
Returns 1 if a user is designated as staff. More useful for Javascript.
$[user.last_online]
Timestamp showing when user was last online.
$[user.likes]
Number of likes this user's posts have received.
$[user.location]
Location specified in user's profile.
$[user.name]
User's display name in plain text.
$[user.personal_text]
User's most recent status.
$[user.posts]
User's post count.
$[user.rank.name]
User's current posting rank.
$[user.rank.stars]
Star images associated with user's current posting rank.
$[user.registered_on]
Timestamp showing the date/time the user registered on the forum.
$[user.registered_on_short]
Condensed version of user's registration date.
$[user.social_network]
User's list of social networks specified in their profile (if available).
$[user.username]
Outputs the user's login username in plain text.
$[user.warning.bar]
User's warning bar (if it exists).
$[user.warning.level]
User's current warning level (if visible to you).
$[user.website]
Website specified in user's profile.
You can utilize the $(this) variable in the Javascript component to target the mini-profile <div> element. For example, if you wanted to add a class to the mini-profile you can use:
$(this).addClass('class-name-here');
Profile variables can also be used in the Javascript component in this plugin. In Javascript the value undefined is used to signify that a value doesn't exist for the variable you've specified. With this in mind you can use profile variables in Javascript conditional statements within the plugin similar to how they're used in the actual layout templates section of the admin area.
if(variable) will only run if the variable you specify has a value.
if(!variable) will only run if the variable you specify has no value.
Example 1 (variable has value):
if(user.group){
$(this).find('.group').show();
}
If the user has their group displayed in their profile the above Javascript would make the HTML below visible if you had it hidden with CSS.