Internet Explorer is not supported. Please upgrade to a more modern browser.
Hi!
This is the fifth devlog! In this thread I will talk about our creatures system (bosses specifically) and how it has been changed!
Introduction
Welcome to the second devlog about creatures.
Before reading this, I'd recommend reading the first devlog about our creatures if you haven't already!
Today I'll talk about our bosses and what has changed!
Bosses
Bosses in STN are pretty much like every other creature. They have their stats (Health, Defense, Damage etc.), they have a loottable and they have their own behaviour - so what is different compared to "normal" creatures you may ask:
So as you can see, they are a little different to regular creatures and therefore had to receive their own systems - in some parts of the Creature system.
Boss Loot
As already mentioned, bosses have their own loottables including multiple dropchances and sometimes even multiple amounts of the item you're getting.
Each boss drop, the amount and the dropchance is linked to a certain amount of weight (I'll get into that later). Whenever the boss dies, it's calculating your loot weight and then rolling drops depending on that weight.
Example for loot:
new LootTableWeightContainer(Items.NOT_SPRUCE_TREES_BRAIN, new int[][]{{1}, {1}, {1}}, new int[]{12_500_000, 25_000_000, 40_000_000}, true, new int[]{200, 300, 400}, null, 1)
This is an example loottable container for the Not Spruce Tree's Brain.
It can only be dropped when having either 200+, 300+ or 400+ loot weight (new int[]{200, 300, 400}) and is becoming more common to drop the more weight you have (From 1.25% at 200 weight to 4% at 400 weight).
Lootdropping & Loot Weight
We have slightly changed our boss looting system:
Before you'd gain loot purely depending on your position of dealt damage to the boss.
The Obsidianized Drakgoo in fact already had a weight system though, as you could also gain weight by spawning the dragon and help destroying the Healing Pod.
You now get loot weight depending on your damage position:
Then your loot is rolled using your loot weight (as already explained above).
This new system shouldn't be noticeable to you guys as there is no other way of increasing your loot weight for the existing bosses apart from the Obsidianized Drakgoo.
However if we decide to add more ways of gaining loot weight during fights, there is a possibility for 2+ people to roll the best loot from the boss instead of just the top damager effectively bringing more boss drops into circulation.
For example adding new ways could be considered for destroying Spruce orbs from the Not Spruce Tree (The ones that shoot 3 hearts towards the tree).
Added more variants of mobs
Before we could only add vanilla minecraft entities as enemies or NPCs (player skins).
Now we have changed our system so it adapts to more variants of creatures.
We are now able to spawn creatures that don't rely on a single actual entity but is instead made out of vanilla blocks and we're also able to spawn entities that rely on armor stands instead of NPCs. This allows us to spawn creatures that look like a floating head for example.
Damage Analysis
Bosses have a damage analysis when dying.
Basically there is a global message being sent to everyone in the lobby showing which boss died and the 3 top damagers.
This has been slightly changed and improved, colors have been changed so the messages are consistent with others and so on.
For a future update, we are now also able to show your own position additionally to the top 3 damagers, this hasn't been implemented just yet though.
Conclusion
While this system has not yet been sufficiently tested, I am pretty confident this system will be the final way of adding creatures and bosses to STN.
The Not Spruce Tree Boss will receive some more balancing especially with the new Foraging Speed stats (breaking blocks is a little slower than it has been before due to the custom breaking system).
What is your opinion on the weight system becoming a global thing for bosses?
Systems that must still be reworked
This is more like a checklist with systems that will probably receive their own devlog once they're done.