PDA

View Full Version : Is it possible to create traits from scratch ?


Whismerhill
31st Jan 2012, 3:16 PM
ok maybe it's a dumb question
but I wonder if it's feasible at all ?

I already did a couple of mods for a couple of games (X3 reunion & others) not much of the sims though
but I wonder how difficult it might be ?
traits for me are one of the most fun things added to the sims 3 so more traits is good & the only mods that I see lying around are hidden traits unlockers...


I thought about some like :
-lazy(or maybe another title, not sure of this one) : opposite of ambitious, gain bonuses in happiness if not gaining any advancement for some time, just content to be there and nothing much happening, like's TV a lot & can be up all night watching it(less energy drain while watching TV), more resilient to bad things that may happen (like losing your job), can't take ambitious obviously.
-shameless : opposite of prude, don't care about people being where they are when they are using any of the facilities of the bathroom, can go in the pool or in the hot tub nude, can woohoo with sims around (in all these situations though, other sims may still be affected though,
-perv: always wants to woohoo with a lot of people, I'm not even talking about seductor/seductress :faceslap: , will not be ashamed when running into someone nude (but that sim may be ashamed himself), may want to woohoo instead :rofl:, may woohoo itself in bed for a small happiness boost. athletic pervs may be real woohoo machines :anime: . will get longing unhappiness if it can't find any partner for too long.-10 moodlet for sharing a room/bed with family or having an empty double bed. (incompatible with commitmentfool)
-waterlover: well just the opposite of hydrophobic, will actually want to get in water more often (lifetime happiness) also taking a bath or a shower will get them a small happiness boost (moodlet), will stay longer in a bath or shower (malus to object "clean speed" but bonus to amusement/fun )

-can't stand books: will not read a book or will get unhappy because of it (-40 moodlet)
doesn't like bookworms, people talking about books in any way. staying away from books for a long enough time will get them small bonuses to happiness. bookstands give a -5 moodlet while the sims stays in the room

-commitmentfool : won't woohoo unless married :rolleyes: , immune to seductor / great kisser, vulnerable to romance though. likes military, politic, fireman careers (anything which requires dedication). being fired/divorce are shameful (lasting unhappiness)

& more .. :jest:

Buzzler
31st Jan 2012, 6:27 PM
Yes, adding custom traits and implementing most of the effects you described is perfectly possible (even with a non-core mod). However, all the effects must be implemented "manually" as traits don't actually cause any effects by themselves. Other code checks for the existance of certain traits and alters the outcome if they're found. For changed behavior in an interaction, you usually need to rewrite/alter and replace the related interaction. Lots of work.

Some stuff will require a core mod however. I don't see a way to implement this non-core for example:more resilient to bad things that may happen (like losing your job)(I didn't actually investigate, though.)

twallan
31st Jan 2012, 6:38 PM
The big issue with creation of new traits is that to restrict or unlock existing Core functionality, you need to do one of two things :

1) Create custom injection interactions that replace the existing Core versions.

The more custom interactions you add, the greater the chance you will come into direct conflict with another scripting mod, forcing users to choose between the two.

For instance: Attempts to replace the "Woohoo" interactions will conflict with [Woohooer], which adds its own custom interactions.
Attempts to replace the "Read Book" interaction will conflict with [OnceRead], which adds its own custom interactions.

This is not necessarily a game-stopper of course, however it is something to keep in mind when writing up the "Conflicting Mods" section of your documentation.

Not all the functionality you may want to alter is always available via injection, so that requires you to use a Core-Mod to add your functionality.

I have noticed this myself, with [Woohooer]. Some of the blocking code I would like to change is buried too deeply in the Core to override via a non-core mod.


2) Create a Core-Mod


Doing so is obviously the easiest method to add traits and alter the Core to handle them.

However, any attempts to override Core S3SA files will bring you into outright conflict with any other Core-Mod that does the same (most notably Awesome).


----

Other than that though, I don't believe there is any explicit impediment regarding adding your own custom traits to the system.

I mean it is obviously possible to do, since [Awesome] do so already.

:)

(edit: Of course while I was being overly verbose, Buzzler snuck in and ninja'd me :P )