You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Jdungeons bestiary is an the a dictionary that the player can look up in order to access information about various creatures such as lore bits, weaknesses, attack skills and so on.
It the amount of information is dependent on the number of times the player has killed a specifik creature.
It works like this:
1st kill unlock the bestiary entry making it visible:
“This furry mammal squeaks a lot when poked with swords and pointy objects.“
10 kills unlock (description):
“In cities, rats mostly reside in sewers where they live off edible leftovers from human waste as well as insects, worms and other tiny creatures.
In rural districts they can be a real trouble if they get into farmers grain stores. This makes most farmers turn to cats, poison and traps for protection.”
30 kills unlock (Weakness - Though a rat doesn't have any so it is replaced with this flavor text):
“During your many encounters with Rats you have identified a weak point called the head. It’s located above the neck in the general region where it’s eyes and mouth are. This information has made your mercenary company more efficient at killing rats.”
100(or many) kills unlock:
“Legend has it that a powerfull rats resides in the mud flats east of the Merctown city.”
Reveals a location where the players can fight powerfull rats and their boss The Mad Ratter
Keep in mind that this is just a very generic example.
That way it'll work code-wise is that there's a dictionary in the playerdata that looks something like this:
var bestiary = {
"Creature name": number of kills,
When the bestiary is opened the server (for) loops through the dictionary then tells the client to display the entries that has a value greater than 1. The bestiary entry also displays the number of kills and maybe some indicator as to when the dictionary entry is complete.
Each entry is a dictionary that looks something like this:
var rat_bestiary_entry = {
1 : "This furry mammal squeaks a lot when poked with swords and pointy objects.",
10 : “In cities, rats mostly reside in sewers where they live off edible leftovers from human waste as well as insects, worms and other tiny creatures. [Line break] In rural districts they can be a real trouble if they get into farmers grain stores. This makes most farmers turn to cats, poison and traps for protection.”
And so on.
Other scripts can be implemented in ordet to make the dictionary tie in with:
quests (like the mad ratcatcher in the example
Achievements (Ratsbane)
Buffs (+1 damage to rats)
Dialogue choices ("I've killed a lot of rats so i believe i know the reason for the grain shortage")
And so on..
The text was updated successfully, but these errors were encountered:
I like the idea of getting a damage boost after killing enough of an enemy.
If you already fought plenty, you probably want future fights against them to end quicker.
We probably want to make this to work as a component, the way i'd personally do it is to give a Bestiary component to every creature.
The component only allows tracking kills and unlocking entries while used by a player, and it is limited to only containing entries when used by an enemy.
Now you just have to connect a "signal killed_creature( creature_class: String)" signal to the bestiary and let it run itself.
Unless we want to use Resources, we can use the translation system to keep this as lightweight as possible for the server. (The server doesn't have to do the TranslationServer look up, only the client does.)
It's a simple matter of giving each entry a unique name like "rat_10_kills_bestiary" and the translation system does the rest.
Altho it may be overkill idk
Jdungeons bestiary is an the a dictionary that the player can look up in order to access information about various creatures such as lore bits, weaknesses, attack skills and so on.
It the amount of information is dependent on the number of times the player has killed a specifik creature.
It works like this:
Keep in mind that this is just a very generic example.
That way it'll work code-wise is that there's a dictionary in the playerdata that looks something like this:
When the bestiary is opened the server (for) loops through the dictionary then tells the client to display the entries that has a value greater than 1. The bestiary entry also displays the number of kills and maybe some indicator as to when the dictionary entry is complete.
Each entry is a dictionary that looks something like this:
And so on.
Other scripts can be implemented in ordet to make the dictionary tie in with:
And so on..
The text was updated successfully, but these errors were encountered: