• Content Count

  • Joined

  • Last visited

 Content Type 




Klei Bug Tracker

Game Updates

Hot Lava Bug Reporter

Everything posted by ZupaleX

  1. Sorry I was not around. If everyone use it as is, you will end up with several mods adding the same function. Which is not a big deal it will just be overwritten by the last mod calling it, but it's just not very useful. To answer your question, you can do the math yourself actually: let's imagine mod A add it as well as mod B. The final function will effectively be doing the following when calling CalDamage self.CalcDamage = function(self, target, weapon, multiplier) local dmg = function(self, target, weapon, multiplier) local dmg = CalcDamageOld(self, target, weapon, multiplier) local bonus = self.damagebonus or 0 --not affected by multipliers return (dmg-bonus) * self:GetDamageModifier() + bonus end local bonus = self.damagebonus or 0 --not affected by multipliers return (dmg-bonus) * self:GetDamageModifier() + bonus end So first you will calculate damages the vanilla way. Then you retrieve the bonus, whatever it is at the moment of the calculation, and returns (dmg-bonus)*mod + bonus. You then apply to this the next forumla which will eventually give you: ((dmg-bonus)*mod+bonus - bonus) * mod + bonus = (dmg-bonus)*mod^2 + bonus so if N mods are doing it you will end up with a effective modifier of modifier^N. Not sure that's what you want. I guess you could just check if the fields that you are adding already exists and if they do, then it means somebody else already took care of these modifiers before you and you can just skip it in your mod. Something like AddComponentPostInit("combat", function(self) if self.attack_damage_modifiers == nil then RegisterNewCombatMembers(self) local CalcDamageOld = self.CalcDamage self.CalcDamage = function(self, target, weapon, multiplier) local dmg = CalcDamageOld(self, target, weapon, multiplier) local bonus = self.damagebonus or 0 --not affected by multipliers return (dmg-bonus) * self:GetDamageModifier() + bonus end end end) Like that you make sure the modification of the combat component is only applied once by the mod with the highest priority, and it will be ignored by the subsequent calls. However it still gives the ability to any mods to call these functions and use these modifiers tables. This of course requires that all the mods implementing this type of solution comply to this check.
  2. I'm not sure what you want to achieve. You want to add a bonus to the damage in one of your mod for a specific character? weapon? condition?
  3. Not much worth to share. Having the sails display properly on the client side was a bigger piece of work than it might look like. Currently we are polishing the content that we added (broken anims, bug hunting, ...) before starting to add more.
  4. Open beta? Not before a while ................ Open alpha though I'm hoping soon
  5. Hi guys, here are some more screenshot of what's new since last time: New boats, boats badge, boats health, boats container and boats equip items (lots of boats) The newly added boats The boat containers (screenshot taken before I added the boat equipslots) Ad the equipslots, with a palmleaf sail equipped
  6. @fimmatek: Yes it is ^^ @Lumina: I was introducing some more water content and since I was working on the ballphin I just decided to go ahead and put everything currently related to it.
  7. Hello again, just to let you know that we are still progressing steadily. The floatable component is now functional
  8. IIRC, you should check woldtilesdef.lua If not there that should tell you where to look.
  9. You should create a proper state for the stategraph and put relevant StateTags like "busy" to that new state so the idle anim cannot interrupt it.
  10. Hey guys, we are adding more and more land content and polishing the boating part for the client. It starts to work pretty well sa w I'll try to do a short video on a dedicated server soon.
  11. Thank you for a very interesting opinion. As @SuperDavid said, we don't want it to be too easy to craft arrows as ranged combat is very powerful. Moreover it is fully configurable how much arrows you get from 1 feather so nothing prevents you to put crazy high amount of arrows as a yield if you don't like the difficulty. The bow itself has always been very easy to craft. For the quiver, I agree it might seem like a useless mechanics. Full disclosure: the Archery Mod was my first real modding project and I did not know too much about coding at that time. I used it to learn how to make stuffs like new items, new recipe tab, new inventory tab, new equippable, new actions, new anim for an action, RCP and netvars, etc... The quiver was just a pretext to learn how to do some of these. Then I kind of like it still, but I think I could definitely add an option to turn off the quiver requirement. Maybe it could also be a global thing like you do not need a quiver to shoot arrows, but having a quiver would allow you to stack more arrows and carry more with you. The musket is craftable without the iron ore if you do not have the mod adding it. The recipe checks if that mod is enabled and if not, it falls back to gold instead. Sorry if I went off-topic with the last posts about Shipwrecked stuffs, I should have probably started a new thread. On a side note, I've been contacted by the folks from Island Adventure so we can work together as they did not really do much on the contents part yet. So this is quite a good match.
  12. Sorry about that The explanation was pretty clear, at least to me, so I don't know ^^
  13. I think Lumina said he is not hosting, he is a client only, in the screenshot he posted.
  14. The poison stuff is done for some time now. I started porting the other biomes for fun and mainly for me. Then since it's almost done I figured I could give it to the community. If there is really a demand for a Poison API I guess I could wrap it up and upload it. It's just I did not feel that there was so much expectation for it so I kept on expanding the SW land biomes. As for the Archery I am currently waiting on some piece of artwork and animation to update it, the rest is ready. So I spent my time doing something else. As I already said, the folks from Adventure Island should feel free to take whatever they want from what will come out of this if they judge it useful. I offered my help for their project but never got an answer back so I just decided to do stuffs on my own. I will work on the ocean and boating part after porting the beach just because I find it interesting.
  15. So the magmafield is done as well. I just need the beach (which is the densest new biome) and I guess I'll publish a mod with a compilation of all the lands biomes from Shipwrecked.
  16. I believe you it shouldn't be and that code proves it. I am just asking why it is on the list of prefab to spawn in the tidal marsh room then? You said "if there is ocean in tidal marshes". How is that possible? The ground for all the tidal marshes rooms is GROUND.TIDALMARSH EDIT: I saw a component "floodable" nd I checked it on the wiki. If I understand properly lands can get flooded and covered with water? I guess that's how you end up with seaweed in the tidal marsh biomes.
  17. How can there be ocean in tidal marsh? Sorry for stupid questions but I felt like it would be easier to ask people who actually played Shipwrecked more than an hour (and the wiki seems unreliable and lacking a lot of information)
  18. Is it normal to have seaweed spawning in tidal marsh? It doesn't look right as there is a shadowy thing below it as if it was some underwater shadow. But it is in the list of prefabs to spawn in the tidal marsh rooms. Could someone who played Shipwrecked tell me how it is supposed to work? (I never played it much as I don't like single player).
  19. This will be the exact same prefab than the SW version, just adapted so it works in DST. So except if "pickle it" already added a sweet potato with that same prefab name there should not be any issue.
  20. Is this abundance of sweet potatoes normal or I messed something up?
  21. You want to check a netvar attached to the player instance during the constructor for that player? I might be wrong but I don't see how that be done cleanly. What you might want to do is add a tag to something permanent, like TheWorld. Something like "GameState.RUNNING" or "GameState.WAITING". Then in the player constructor, check for that tag.
  22. Either put ListenForEvent in onequip and onunequip to give permanent stat boost. Of put specific ListenForEvent if you want to affect a particular action (more damages with the bat bat for instance). Then inside this ListenForEvent you simply check player.components.inventory:GetEquippedItem(EQUIPSLOTS.HANDS) and EQUIPSLOTS.HEAD and you're good to go.