• Content Count

  • Joined

  • Last visited

Community Reputation

20 Excellent

About Brain

  • Rank
    Junior Member


Recent Profile Visitors

470 profile views
  1. Thank you for your feedback. I wasn't liking that as well, and will probably remove it from the plans. I'm *trying* to avoid new recipes so what I can do to balance this out is facilitate winter gear in other animals like the cat one dropping 4 tails (her tail is quite long you know), and the special beefalo always dropping horn. Since they appear in other seasons as well, differently from the winter Koalefant, they actually give you more access to insulation gear, and this sorta balances out the lower occurrence of Breeze Vest during winter.
  2. Greetings All, I humbly present you my first mod project, currently in development, called "Better Hunting". I already have a prototype working . I would very much appreciate any feedback, ideas and criticism on anything, I´d love to hear what the community thinks and wishes. On this post I will place a summary, but the full design document with all the number crunching is on the following google spreadsheet: Thanks in advance! I hope you like the ideas. -- brain Better Hunting - Design Phase What this mod does: When you investigate a Suspicious Dirt Pile, you will track and find other creatures, not just the Koalefant. Currently, 17 different new encounters are planned. Objectives: Add variety without making the game easier or harder. Add amusing behaviors / interactions on most of the new creatures. Most encounters should be killable by a single player. Some encounters could be easily dealt in a group Preserve as much as possible the original Koalefant function as Meat and Breezy Vest source. Use as much as possible of the original game graphics / animations. RoG and DST compatibility Sources of Variety: New encounters / creatures / animals / enemies in unusual sizes, with different stats, in strange places, with different behaviors. A large number of them in spawn table will make any single one quite rare, thus maintaining replayability value. Certain types of mobs will spawn in biomes where you don´t see them usually, and things might interact in unusual ways. Season-sensitivity when possible and applicable will make hunting experience different along the game year. Some encounters will drop items that are not food. Some encounters will drop rare and sought-after items, with very low chance. Details (light spoilers) Naming, size and prefab choice (light spoilers) First, the basic Koalefant spawn chance was established. All other creatures will spawn only when a Koalefant is not chosen. Since Winter Koalefant is the only source of the Breezy Vest, a decision was made to establish that Koalefants prefer cold-weather. Thus, on Winter 66% of all tracks will be Koalefant tracks, 0% on summer, 33% on the other seasons. Each mob on the spawn table received a relative weight. The remaining spawn probability for that season is split between mobs with a simple weighted average. Each mob was then evaluated to be removed from the table on a specific season, if it fits their style. Weights were tweaked to make Summer the best hunting season for loot / bosses. Winter will be the Koalefant hunting season. Food is more varied on Spring. Prime bosses hunting season in Summer provides a tradeoff for the player to decide: risk the heat? Some encounters were made to to be very rare and unusual. (of course assuming the player didn´t read all these spoilers) Combat balancing (light spoilers) In Excel I plotted the hunger replenishment value of eating cooked meat or making meatballs with all the meats dropped by all mobs in all encounters. Honey nuggets was assumed the recipe used for honey, bacon and eggs for eggs . Butterfly wings was ignored. Trunks were ignored because I assume they will be used to craft items. Afterwards I compared the new creatures drops averaged over their spawning probability along the year to reach the average food-creating capacity that the animal tracks mechanics provide. Some food drops were then increased to provide a less unbalanced food experience. In comparison with the vanilla model, Better Hunting will provide 30% less hunger replenishment if you eat cooked food. If using a crockpot for meatballs, the loss is 20% in average. During winter, just 8% less food. The less food drops balances out the other item drops. This effect is because some encounters won´t provide food or will provide less food than the usual 100% Koalefant 8-meat + trunk all the time. One encounter has vegetarian drops, so meat-only characters experience a very slight advantage. The less-food effect won´t happen on the first season of the game by default, because encounters that don´t drop food will be disabled in the first season. (configurable) Game Start / Difficulty Balancing (light spoilers) Koalefant Goliath Frog Queen Bee Aged Beefalo Orphan Smallbirds (1-8) Really Fat Gobbler Distracted Krampus Emperor Pengull Elite Clockwork Knight Elite Clockwork Bishop Walrus Scout Abandoned Mosling Mother Catcoon Angry Goat Varg Infant Deerclops Teen Moose Baby Bearger Item Balancing ( HEAVY SPOILERS ) High-sought encounters are: Walrus Scout, Distracted Krampus, the 2 clockwork bosses that drop one Ancient item, the 3 mini-giants with chance to drop giant items. Average probability of finding one such encounter is 23,8% On summer is: 48,4% On winter: 12,7% Chance of getting a Krampus Sack: 2,38% or 1 in every 42 animals tracked Chance of getting a Walrus Tusk 2,06% or 1 in every 48 animals tracked Chance of getting a specific Ancient Item 0,7% or 1 in every 134 animals tracked. And you have to kill the mini-bosses. And don´t share the loot (DST) Chance of getting any Ancient Item 7,5% or 1 in every 13 animals tracked. But you have to kill it and loot it. If you get help it is only 1 drop for all friends Food supply from tracks will be reduced by 26,8% overall Food supply from tracks will be reduced by 8,1% on Winter Food supply from tracks will be reduced by 55,5% on Summer Current Issues Scaling up the creatures produces slighty poorer graphic quality. No artist to produce mod icon.
  3. @Kzisor, smart thinking but that won´t work because the task that runs in frame 0 will schedule another, and they keep scheduling things forever. @DarkXero, thank you. I didn´t know that equal names would force an override. Anyway I was trying to avoid any override of hunter.lua because someone might make a mod that uses it together with my mod, or any other similar mod. After all they are all spawners of dirt piles, animal tracks and creatures, you could in theory have all of them together. Your suggestion gave me a solution. Instead of replacing the components, I´m gonna let them both exist in parallel, and I´m gonna research a way to just disable its functionality... either calling some method or messing with TUNING. There is really no need to deallocate it. I THINK that calling Hunter:StopCooldown() at frame 1 as @Kzisor hinted could just make it stay idle until someone calls StartCooldown(). Will have to dig into the code more. Thanks a lot guys. By the way as soon as I have a basic prototype working I´m going to post the idea of the mod on the forum for public critique / suggestions / feedback.
  4. I need help with something. Although I´m a seasoned programmer, It´s my first time in lua and modding for DS/DST and I´m having a hard time with something. Sorry to bother you guys, I tried really hard but I hit the wall. I want to replace the hunter component, the one that handles all the animal tracks and dirt piles and Koalefant spawning. It is part of the forest prefab. Code is simple and goes like this: function ReplaceHunter (inst) print "replacing hunter component" inst:RemoveComponent("hunter") --inst:AddComponent("betterhunter")endAddPrefabPostInit("forest", ReplaceHunter)So, the RemoveComponent works but the game crashes because the constructor of the hunter component registers a DoTaskInTime: local Hunter = Class(function(self, inst) -- stuffself.inst:DoTaskInTime(0, function(inst) inst.components.hunter:StartCooldown() end)end)The crash comes when the scheduler fires and ".hunter" reference is nil, because I destroyed it 1 frame before. I tried looking at pendingtasks list of Periodic objects so I could Cancel() it but the problem is that once the task is scheduled, I can´t identify from which component it originated, because the GUID that is passed to the scheduler is entities´. I also can´t cancel all of them, because of course that could break half the world and other mods. So, unless someone more knowledgeable has an easy solution, I suppose I will have to inject code into Klei´s hunter.lua (modifying some of its methods) so it stops firing scheduler tasks and instead fires a callback function in modmain.lua that removes the component when it is safe to do so. I thank you all in advance for any better idea!
  5. Griefing... good point. Today I was a victim of this. Barely managed to survive. Was playing on the server NY-Community-2, Klein hosted, Survival mode, PVP, and there was this griefer guy. Games on the server are like this - Autumn starts, people log in... sometimes server has 10 people playing, some together, some alone. - Griefer plays Wigfrid, pretend to be friends, wait for people to make a base and get together and then he kills everybody. - Game resets, he leaves to kill in another server, returning later to fool new people So, knowing about him I played lone wolf, made a base far across a swamp in a spider forest. After day 10 most of the server is dead and leaves. Griefer is dead too. He keeps logging in every 10-15 minutes. But I´m alive, server won´t reset. He hunts me forever as a ghost, can´t find me. I stayed alive for quite a while... then another griefer (his friend) logs in and go to desert to trigger the Summer Trap! They wanted to kill me, without finding me. Astute, I admit. Was the last day of Autumn, was really HARD to work around but I managed to survive the whole season. Griefer friend logged out. So they kept logging in every 10 minutes to see how I was doing... Alive and well, all through Summer until another Autumn came. So eventually Griefer friend found me, engaged in PvP, I was prepared, he died. Was fun in the end BUT this is not acceptable, really! Traps should be disabled OR they must give a server-wide announcement and a day or two to prepare.