Sign in to follow this  
ZupaleX

Archery Mod: Discussion, Feedback and Thoughts

Recommended Posts

ZupaleX    270

Hello Jungle

image.thumb.png.cf168e637d60c7a1d1691e06ff93df6d.png

The worldgen is a bit broken for the moment (size of the biome, link to other biome types, ...) and I would appreciate if anyone would be willing to test out a few different configuration for the worldgen and see which ones gives coherent worlds :)

Edited by ZupaleX

Share this post


Link to post
Share on other sites
Noath    6

 

4 hours ago, ZupaleX said:

I would appreciate if anyone would be willing to test out a few different configuration for the worldgen and see which ones gives coherent worlds :)

can I try it :)) it looks great.

Share this post


Link to post
Share on other sites
ZupaleX    270
6 hours ago, Lumina said:

Ok, maybe we should warn the people of Adventure Islands because you seems to port entire SW before them.

They should not worry about me, I am working alone and they have a team on that. I just had some time off this week and spent a few hours on that.

Though if people like it I might port other biomes as well. If the guys from Adventure Island find something useful that they did not do yet they should feel free to ask me and reuse it.

6 hours ago, Noath said:

 

can I try it :)) it looks great.

Sure. You can add me on steam and I will share the mod folder with you. (you will find me under the same name as the the Klei's forum one).

 

I think I am going off topic though with that now. I don't know if I should create a new thread or just update the title for this one. Because eventually it still concerns the Archery Mod: should I make the Archery Mod mandatory dependent of this future jungle mod since all the poison components will come from the jungle, or just suck it up and make it an optional, adding a bunch of conditions in the Archery Mod code to removes the poison part if the jungle mod is not installed? Would you think it reasonable to have an already big mod depend on another big one?

Share this post


Link to post
Share on other sites
Serpens    567

archery mod should defintely not contain jungle and all that stuff ;)
That is so big content pack, it only makes sense to have it a standalone mod.

I'm sure you are aware, but again make sure potatos are compatible to "pickle it" mod.  I'm not sure if making them the same or a different prefab is better... hmmm http://steamcommunity.com/sharedfiles/filedetails/?id=404983266

Share this post


Link to post
Share on other sites
Lumina    2153
12 hours ago, ZupaleX said:

Is this abundance of sweet potatoes normal or I messed something up?

Probably normal i guess ? As far as i remember it's the only point of the biome, having sweet potato, grass and flowers.

 

3 hours ago, Serpens said:

I'm not sure if making them the same or a different prefab is better...

Different prefab. Sweet potato aren't the same thing than potato, you can't make it the same prefab.

Share this post


Link to post
Share on other sites
ZupaleX    270
4 hours ago, Serpens said:

archery mod should defintely not contain jungle and all that stuff ;)
That is so big content pack, it only makes sense to have it a standalone mod.

I'm sure you are aware, but again make sure potatos are compatible to "pickle it" mod.  I'm not sure if making them the same or a different prefab is better... hmmm http://steamcommunity.com/sharedfiles/filedetails/?id=404983266

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.

Share this post


Link to post
Share on other sites
ZupaleX    270

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).

image.thumb.png.81ee2596018dfe37d18204e3feddc915.png

Share this post


Link to post
Share on other sites
Lumina    2153

I found this :


		seaweed_planted = 			{GROUND.ROAD, GROUND.WOODFLOOR, GROUND.CARPET, GROUND.CHECKER, GROUND.JUNGLE, GROUND.BEACH, GROUND.SWAMP, GROUND.SAVANNA, GROUND.ROCKY, GROUND.MEADOW, GROUND.MAGMAFIELD, GROUND.TIDALMARSH },

(this is the filter when the plant is supposed to not spawn). So maybe they spawn in tidal marshes but only if there is ocean in tidal marshes ? I don't think they should spawn on ground.

Share this post


Link to post
Share on other sites
ZupaleX    270

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)

Edited by ZupaleX

Share this post


Link to post
Share on other sites
Lumina    2153

I played Shipwrecked more than one hour, even if not thousand of hours, and i never saw seaweed outside of ocean.

But not seeing something isn't really a proof that it can't happen. It's why i think that the code that prevent seaweed to be on GROUND.TIDALMARSH is a better proof that they shouldn't be on this ground. (In fact, seeing the amount of ground listen, they shouldn't be on ground in most case, it seems)

Share this post


Link to post
Share on other sites
ZupaleX    270

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.

Edited by ZupaleX

Share this post


Link to post
Share on other sites
ZupaleX    270

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.

image.thumb.png.0d226264ad2ec556fcf6e5a26da66d79.png

Share this post


Link to post
Share on other sites
Serpens    567

Hmm.. I'm not sure if it is good or bad that you are spending so much time into those shipwrecked stuff.
I mean porting poison is good. But porting all the other stuff is alot of work and you may forget your initial mod. If you have enough time to complete both projects, fine :)  But the same always happens to me, I'm beginning with a small mod and then I have idea to also add this and that and ending up with several partial mods that may never be finished.

So how about only doing the archery/poision stuff and then joining the "island adventure" Project and help them to make progress with porting the real shipwrecked (with islands and ocean and that stuff) ?

Edited by Serpens

Share this post


Link to post
Share on other sites
ZupaleX    270

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.

Edited by ZupaleX

Share this post


Link to post
Share on other sites

I've always used the Simple Bow mod over this Archery mod because its a lot less complex and more reasonable to craft, without being too op. It also didn't require a quiver just to shoot the bow either.

I think that this mod should also strive to be less complex and more reasonable. More powerful weapons - like the musket - should be pretty difficult to craft, as they'd be end-game items, which I can assume is already the case, although it shouldn't use that iron ore; rather some other component added to the world alongside the mod. Perhaps some sort of scrap metal or something that comes rarely from normal boulders, as I'd rather not have to download a whole other mod simply to use the musket. There's also More Metals which adds reasonable iron and cobalt ores, which would be nice to have support for.

However, there should be a decently cheap bow option, as well as arrows, as getting a feather for EVERY arrow just seems like too much work. It's not really that difficult to get a feather but it can definitely take time, and that time you spent could be used doing other things. I know a lot of my friends used this mod but never actually really did anything with it as it was simply too much work for too little gain. Why bother spending hours gathering tons of materials for a bow and arrows when you can just get by with a spear and log armor? I think adding a makeshift bow (and makeshift arrows that don't require feathers but rather simply a twig and flint) would be a nice idea to make sure this mod can work in all areas of the game.

 

It's possible I've missed an update or two, so my apologies if anything has been rebalanced since my last encounter with this mod.

Share this post


Link to post
Share on other sites
. . .    4148
1 hour ago, tehswordninja said:

I think adding a makeshift bow (and makeshift arrows that don't require feathers but rather simply a twig and flint) would be a nice idea to make sure this mod can work in all areas of the game.

The bow is already cheap costing only a couple twigs with some silk, not very expensive. Also, it will have some pretty nice skins which can be unlocked by doing mini achievement-esque stuff :)!

As for arrows you can craft simple arrows with any type of feather & 1 twigs for a very simple easy to get arrow. 

Ranged combat in Don't Starve is very powerful so crafting arrows shouldn't be super easy by default.

Though, there are many config options for the Archery mod that will be added in its next update or a later update sometime which can allow you to get more arrows for the amount of resources you spent.

 I don't know much about the Musket though if it requires iron ore to be made or only if that mods enabled it requires it. ZupaleX could probably add a config option for it to use flint instead of iron ore if it can only be crafted with iron ore for people who don't want to use the mining machine mod.

Also, you can always spawn yourself a quiver with console & pretend quivers don't exist if you don't want to craft one :D!

Edited by SuperDavid

Share this post


Link to post
Share on other sites
ZupaleX    270
2 hours ago, tehswordninja said:
Spoiler

I've always used the Simple Bow mod over this Archery mod because its a lot less complex and more reasonable to craft, without being too op. It also didn't require a quiver just to shoot the bow either.

I think that this mod should also strive to be less complex and more reasonable. More powerful weapons - like the musket - should be pretty difficult to craft, as they'd be end-game items, which I can assume is already the case, although it shouldn't use that iron ore; rather some other component added to the world alongside the mod. Perhaps some sort of scrap metal or something that comes rarely from normal boulders, as I'd rather not have to download a whole other mod simply to use the musket. There's also More Metals which adds reasonable iron and cobalt ores, which would be nice to have support for.

However, there should be a decently cheap bow option, as well as arrows, as getting a feather for EVERY arrow just seems like too much work. It's not really that difficult to get a feather but it can definitely take time, and that time you spent could be used doing other things. I know a lot of my friends used this mod but never actually really did anything with it as it was simply too much work for too little gain. Why bother spending hours gathering tons of materials for a bow and arrows when you can just get by with a spear and log armor? I think adding a makeshift bow (and makeshift arrows that don't require feathers but rather simply a twig and flint) would be a nice idea to make sure this mod can work in all areas of the game.

 

It's possible I've missed an update or two, so my apologies if anything has been rebalanced since my last encounter with this mod.

 

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.

Share this post


Link to post
Share on other sites
Serpens    567
On 7.9.2017 at 1:12 AM, ZupaleX said:

I am the first one to complain when mods are breaking the compatibility with other mods so rest assured I do everything I can to make it the best possible (to the extent of my skills).

 

Here is the combat implementation if you are interested in checking it. It should not affect any other mod modifying this component (if done properly as well...)

 

  Reveal hidden contents


--*****************************************************************************************************************************************--
------------------------------------------------- Combat Component Adjustments --------------------------------------------------------------
--*****************************************************************************************************************************************--

local function AddDamageModifier(self, key, mod)
  self.attack_damage_modifiers[key] = mod
end

local function RemoveDamageModifier(self, key)
  self.attack_damage_modifiers[key] = nil
end

local function GetDamageModifier(self)
  local mod = 1
  for k,v in pairs(self.attack_damage_modifiers) do
    mod = mod + v
  end
  return mod
end

local function AddPeriodModifier(self, key, mod)
  self.attack_period_modifiers[key] = { mod = mod, effective = self.min_attack_period * mod }
  self:SetAttackPeriod(self.min_attack_period * (1+mod))
end

local function RemovePeriodModifier(self, key)
  self:SetAttackPeriod(self.min_attack_period - self.attack_period_modifiers[key].effective)
  self.attack_period_modifiers[key] = nil
end

local function GetPeriodModifier(self)
  local mod = 0
  for k,v in pairs(self.attack_period_modifiers) do
    mod = mod + v
  end
  return mod
end

local function RegisterNewCombatMembers(self)
  self.poisonstrength = 1
  
  self.poisonous = nil
  self.gasattack = nil

  self.attack_damage_modifiers = {} -- % modifiers on self:CalcDamage()
  self.attack_period_modifiers = {} -- % modifiers on self.min_attack_period

  self.AddDamageModifier = AddDamageModifier
  self.RemoveDamageModifier = RemoveDamageModifier
  self.GetDamageModifier = GetDamageModifier

  self.AddPeriodModifier = AddPeriodModifier
  self.RemovePeriodModifier = RemovePeriodModifier
  self.GetPeriodModifier = GetPeriodModifier
end

local function GetIsAttackPoison(self, attacker)
  local poisonAttack = false 
  local poisonGasAttack = false 

  if self.inst:HasTag("poisonable") and attacker then 
    if (attacker.components.combat and attacker.components.combat.poisonous) or 
    ((attacker.components.poisonable and attacker.components.poisonable:IsPoisoned() and attacker.components.poisonable.transfer_poison_on_attack) 
      and (attacker.components.combat and not attacker.components.combat:GetWeapon())) then

      poisonAttack = true 

      if (attacker.components.combat and attacker.components.combat.poisonous and attacker.components.combat.gasattack) then 
        poisonGasAttack = true 
      end 
    end 
  end   

  return poisonAttack, poisonGasAttack
end

AddComponentPostInit("combat", function(self)
    RegisterNewCombatMembers(self)

    local GetAttackedOld = self.GetAttacked

    self.GetAttacked = function(self, attacker, damage, weapon, stimuli)
      local poisonAttack, poisonGasAttack = GetIsAttackPoison(self, attacker)

      if poisonGasAttack and self.inst.components.poisonable then 
        self.inst.components.poisonable:Poison(true)
        return
      end

      local notblocked = GetAttackedOld(self, attacker, damage, weapon, stimuli)

      if notblocked and attacker and poisonAttack and self.inst.components and self.inst.components.poisonable then
        self.inst.components.poisonable:Poison()
      end
    end

    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
)

 

 

do you have a hint how I should add this code (without poison stuff) to any of my mods, without making it incompatible to your mods (or incompatible to each other)?
I mean if more than one mod adds the following to the combat component:

    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

the modifier will stack I guess....

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this