Artist and Coder Needed! (Not a mod request)


NergalJr

Recommended Posts

Before you roll your eyes thinking this is a mod request, it's not. I've already started the bare bones of this character mod, myself.

 

Hi. I like Don't Starve. I like mods. And I like playing as the bad guy from time to time. So I created Mandy. It sucks right now, but I think we have the potential to create an amazing character mod here if we work together.

 

What I was hoping we could do was have a bit of work done on her. Like so...

 

  1. Better art, obviously. My current art is not good enough. It should feel like it's a part of the game.
  2. "Naughty acts" like killing rabbits and birds will increase her sanity.
  3. Picking regular flowers + Being around them (maybe) will lower sanity.
  4. Custom Maxwell introduction scenes, including adventure mode.
  5. A ton of lines, moreso than a regular character.
  6. Different lines + Art for when Sanity is under 30.

I'd say "Add the Reaper's scythe as a custom weapon" but that'll be a bit overpowered.

And if you need motivation, say no more. I'll include your name in the credits + You'll get free art from me on demand + I might get you a Steam game. (I'm getting desperate!)

 

What do you say? Wanna help me shape the best character mod yet? I know we can do this. The only thing keeping you from playing as a custom-coded, new-playstyled character is you.

Link to comment
Share on other sites

Heh, I also have an idea for a character that gets sanity from naughty acts. Small world, eh? I haven't started working on it yet (cuz' I'm already working on another one).

 

Now, I could hide the naughtiness code as a trade secret so you couldn't have it before me, but I'm a generous soul, so:

--make wod regenerate sanity when killing innocent animals.local function onNaughtyInit(component)	-- This saves the original onNaughtyAction function as is, so other mods that modify it will still be compatible.	local original_onNaughty = component.OnNaughtyAction		--This overrides the onNaughtyAction in the game	component.OnNaughtyAction = function(self, how_naughty) --how_naughty is the number of naughtiness points gotten			--Replace "wod" with whatever name you are using for your char in the files		if GLOBAL.GetPlayer().prefab == "wod" then			self.inst.components.sanity:DoDelta(how_naughty*3) --This adds sanity as a multiple of the naughtiness rating of the kill		end				--The saved onNaughtyAction we got at the beginning is now run		original_onNaughty(self, how_naughty)	endend--Add this new function to kramped.lua, which is the naughtiness manager.AddComponentPostInit("kramped", onNaughtyInit)

This code goes in modmain.lua.

 

This should do the job, but I implore you to look at components/kramped.lua in the game files, and compare it to everything I just did, to try to understand what is going on here. Understanding things like AddComponentPostInit() is very helpful.

 

Also, I'm not particularly interested in collaborating on this, but I already knew how to do the thing you were asking, so I figured I'd spit it out.

 

ALSO: I've only made 1 mod. I am an amateur at this, so this might not be the best way to do it, so take my advice with a grain of salt.

Link to comment
Share on other sites

Heh, I also have an idea for a character that gets sanity from naughty acts. Small world, eh? I haven't started working on it yet (cuz' I'm already working on another one).

 

Now, I could hide the naughtiness code as a trade secret so you couldn't have it before me, but I'm a generous soul, so:

--make wod regenerate health and sanity when killing innocent animals.local function onNaughtyInit(component)	-- This saves the original onNaughtyAction function as is, so other mods that modify it will still be compatible.	local original_onNaughty = component.OnNaughtyAction		--This overrides the onNaughtyAction in the game	component.OnNaughtyAction = function(self, how_naughty) --how_naughty is the number of naughtiness points gotten			--Replace "wod" with whatever name you are using for your char in the files		if GLOBAL.GetPlayer().prefab == "wod" then			self.inst.components.sanity:DoDelta(how_naughty*3) --This adds sanity as a multiple of the naughtiness rating of the kill		end				--The saved onNaughtyAction we got at the beginning is now run		original_onNaughty(self, how_naughty)	endend--Add this new function to kramped.lua, which is the naughtiness manager.AddComponentPostInit("kramped", onNaughtyInit)

This code goes in modmain.lua.

 

This should do the job, but I implore you to look at components/kramped.lua in the game files, and compare it to everything I just did, to try to understand what is going on here. Understanding things like AddComponentPostInit() is very helpful.

 

Also, I'm not particularly interested in collaborating on this, but I already knew how to do the thing you were asking, so I figured I'd spit it out.

 

ALSO: I've only made 1 mod. I am an amateur at this, so this might not be the best way to do it, so take my advice with a grain of salt.

 

You, I like. We can work together, yes?

Link to comment
Share on other sites

You, I like. We can work together, yes?

 

Eh, maybe... I already have about 4 mods I wanna make right now, but if I'm still interested in modding after that, I might help you with some stuff.

 

Most of the things you want to do seem fairly simple, so just studying the game code should make it doable on your own. You have to be a detective. E.G. if you wanna change the sanity value of flowers, find the game file that defines the act of picking flowers, and look at how it does that ( I don't know what it is). Looking at other mods that do the things you're trying to do is helpful as well.

 

Oh, and for the speech files... I'd recommend copying "speech_wilson.lua" from the game's script folder into your own script folder, renaming it (speech_mandy.lua, for example), and replacing each line with your own. speech_wilson.lua has pretty much every description in the game, so it wouldn't be hard to find them.

 

post-375908-0-42848600-1401055529_thumb.

 

The contents of speech_wilson.lua look like this:

 

post-375908-0-90301100-1401055649_thumb.

 

You would then put this in modmain.lua:

--Custom character quoteslocal require = GLOBAL.require local STRINGS = GLOBAL.STRINGSSTRINGS.CHARACTERS.WOD=require "speech_mandy"

This code retrieves all of the lines in in speech_mandy.lua and applies them to your character. Be sure to replace "STRINGS.CHARACTERS.WOD" with "STRINGS.CHARACTERS.whatever your character name is".

 

P.S. The Satori mod modifies Maxwells lines in the intro. I don't really know how that works, but it's worth looking at. The scenes in adventure mode are probably similar in nature.

Link to comment
Share on other sites

Eh, maybe... I already have about 4 mods I wanna make right now, but if I'm still interested in modding after that, I might help you with some stuff.

 

Most of the things you want to do seem fairly simple, so just studying the game code should make it doable on your own. You have to be a detective. E.G. if you wanna change the sanity value of flowers, find the game file that defines the act of picking flowers, and look at how it does that ( I don't know what it is). Looking at other mods that do the things you're trying to do is helpful as well.

 

Oh, and for the speech files... I'd recommend copying "speech_wilson.lua" from the game's script folder into your own script folder, renaming it (speech_mandy.lua, for example), and replacing each line with your own. speech_wilson.lua has pretty much every description in the game, so it wouldn't be hard to find them.

 

attachicon.gifCapture.JPG

 

The contents of speech_wilson.lua look like this:

 

attachicon.gifCapture2.JPG

 

You would then put this in modmain.lua:

--Custom character quoteslocal require = GLOBAL.require local STRINGS = GLOBAL.STRINGSSTRINGS.CHARACTERS.WOD=require "speech_mandy"

This code retrieves all of the lines in in speech_mandy.lua and applies them to your character. Be sure to replace "STRINGS.CHARACTERS.WOD" with "STRINGS.CHARACTERS.whatever your character name is".

 

P.S. The Satori mod modifies Maxwells lines in the intro. I don't really know how that works, but it's worth looking at. The scenes in adventure mode are probably similar in nature.

 

If I modified the game's data, and make any changes, wouldn't my game data overwrite game data required to run the game, should someone install my mod?

Link to comment
Share on other sites

If I modified the game's data, and make any changes, wouldn't my game data overwrite game data required to run the game, should someone install my mod?

 

Yes. And as long as your data still did all the things the game needed the original data to do, it will still work.

 

You have to avoid directly modifying game files though. What you want to do is override functions that already exist with your own code.

Link to comment
Share on other sites

A little elaboration on that function at the top:

onNaughtyAction(how_naughty) is the function the game runs whenever you do something naughty. When you kill an innocent creature, the game runs onNaughtyAction and passes it the naughtiness value of that creature through how_naughty.

 

Thus, what I did was simply sticking a bit at the beginning of the part where naughtiness is added that gives the player some sanity based on the amount of naughtiness that was passed to it.

 

Modifying the sanity value of flowers might be a bit more complicated because, rather than just tacking something on like I did, you would presumably be changing something that already happens. I don't know this for certain though, because I haven't looked at the code that does that. Either way, you'd have to use one of the PostInit functions (probably AddComponentPostInit) and override the function in a similar manner.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.