Jump to content

Recommended Posts

Hi there. 

I'm totally new with modding Don't Starve (but i still have some experience with modding at all and i know a thing or two about programming and photoshop). My only goal here is to edit a character that already exist in steam's workshop for both - Don't Starve and Don't Starve Together. 

http://steamcommunity.com/sharedfiles/filedetails/?id=392302309 - original

http://steamcommunity.com/sharedfiles/filedetails/?id=516456459 - ...and port.

It's Yuno Gasai, a character with big potential for Don't Starve Universe and style of gameplay, but i think that author of that port kinda messed it up. Character is unbalanced and unpolished, but still has very good sprites. So the question is - can i edit character without source files? (I already asked both authors for them, but im waiting for answers). What tools will i need to complete that proces? Any useful tutorials for that? 

My vision of the character includes attach to certain character. I want her to gain sanity when Wilson is around, but also lose it when he is away. I realized that the simplest[?] way to do so is to create a character's object, that (when in someone else inventory) will work as sanity drainer/booster ONLY for Yuno. Can it be done? Also - Yuno on these sprites is little too short (some hats look strange on here) - is there a lot of work to make her taller? Mainy scripts work or mainy sprites editing? So - now I'm waiting for answers :D Have a nice day c:

35 minutes ago, Aztek said:

Hi there. 

I'm totally new with modding Don't Starve (but i still have some experience with modding at all and i know a thing or two about programming and photoshop). My only goal here is to edit a character that already exist in steam's workshop for both - Don't Starve and Don't Starve Together. 

http://steamcommunity.com/sharedfiles/filedetails/?id=392302309 - original

http://steamcommunity.com/sharedfiles/filedetails/?id=516456459 - ...and port.

It's Yuno Gasai, a character with big potential for Don't Starve Universe and style of gameplay, but i think that author of that port kinda messed it up. Character is unbalanced and unpolished, but still has very good sprites. So the question is - can i edit character without source files? (I already asked both authors for them, but im waiting for answers). What tools will i need to complete that proces? Any useful tutorials for that? 

My vision of the character includes attach to certain character. I want her to gain sanity when Wilson is around, but also lose it when he is away. I realized that the simplest[?] way to do so is to create a character's object, that (when in someone else inventory) will work as sanity drainer/booster ONLY for Yuno. Can it be done? Also - Yuno on these sprites is little too short (some hats look strange on here) - is there a lot of work to make her taller? Mainy scripts work or mainy sprites editing? So - now I'm waiting for answers :D Have a nice day c:

just an FYI, when you download a mod off the workshop, you can find the source in your mods folder, its uploaded and downloaded as source, but thats not a go ahead to use them without permission.

Edited by Aquaterion

Alrighty, I actually do this extensively with all the TF2 mods in the workshop, so I can give you pointers on the characters. I don't know the first thing about making character specific sanity auras though, sorry. But as for tweaking the individual mods, all you have to do is look in your mod folders and edit the character prefabs with something like Notepad++. If you want to change any specific stats, let me know and I can hook you up.

Yeah, i noticed that already and i was testing it. Sprites are unnecessary now, i will have my own, but still it's pretty good base for scritps.

So for now... I want to boost damage for hatchet and hatchet only. Is there a way to do so? For now it looks like this:

local function Onsanitydelta(inst,data)
   if inst.components.sanity.current <= 40 and inst.components.sanity.current > 30 then
      inst.components.combat.damagemultiplier = 1.1
   elseif  inst.components.sanity.current <= 30 and inst.components.sanity.current > 20 then
      inst.components.combat.damagemultiplier = 1.2
   elseif  inst.components.sanity.current <= 20 and inst.components.sanity.current > 10 then
      inst.components.combat.damagemultiplier = 1.3     
   elseif  inst.components.sanity.current <= 10 and inst.components.sanity.current > 0 then
      inst.components.combat.damagemultiplier = 1.4
   elseif  inst.components.sanity.current <= 0 then
      inst.components.combat.damagemultiplier = 1.5
   end

end

I can't really came out with any object in vanilla DST that works like this, so i don't know where to look for that.  
 

On 14.03.2016 at 3:43 AM, Aztek said:

Yeah, i noticed that already and i was testing it. Sprites are unnecessary now, i will have my own, but still it's pretty good base for scritps.

So for now... I want to boost damage for hatchet and hatchet only. Is there a way to do so? For now it looks like this:


local function Onsanitydelta(inst,data)
   if inst.components.sanity.current <= 40 and inst.components.sanity.current > 30 then
      inst.components.combat.damagemultiplier = 1.1
   elseif  inst.components.sanity.current <= 30 and inst.components.sanity.current > 20 then
      inst.components.combat.damagemultiplier = 1.2
   elseif  inst.components.sanity.current <= 20 and inst.components.sanity.current > 10 then
      inst.components.combat.damagemultiplier = 1.3     
   elseif  inst.components.sanity.current <= 10 and inst.components.sanity.current > 0 then
      inst.components.combat.damagemultiplier = 1.4
   elseif  inst.components.sanity.current <= 0 then
      inst.components.combat.damagemultiplier = 1.5
   end

end

I can't really came out with any object in vanilla DST that works like this, so i don't know where to look for that.  
 

Her damage scales inversely with sanity.

You want to change her damage multiplier when she equips an item and change it back on unequip.

There's 2 ways of doing this, first you could do inst:ListenForEvent("equip") and inst:ListenForEvent("unequip") in her prefab and add functions that will change the damage multiplier if item she's equipping has a specific prefab (hatchet).

Or you could just add this in hatchet's prefab - in onequip function add: "if owner and owner.prefab = "characterprefabname" then owner.components.combat.damagemultiplier = number end". Add this to unequip function as well to revert damage multiplier changes introduced in onequip function.

And that is easy, if you remove the code you posted. If not, you'll have to take into account her current sanity value to make it work properly.

Now that I'm thinking you could just change item's damage... Yeah. Do that. The easiest way. Check if there's owner and his prefab on equip and unequip, and then change item's damage. That's it.

Edited by PanAzej
I'm dumb and like to overthink things

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
×
  • Create New...