Commit Graph

20 Commits

Author SHA1 Message Date
Atermonera 9a6b5a71f3 Streamline (Facial) Hair & Marking Character Customization, Port color_square to Clean Prefcode 2020-05-30 14:10:54 -04:00
Leshana fb532ac920 Refactor Character Setup to use MAP
- Instead of using expensive getFlatIcon() calls, character previews are now shown using screen objects in a second map window.
- Edited skin to add a named window for preferences setup that contains a browser plus a new map window to show the previews.
- Mannequins are still generated the same way, but now a MA is applied to four screen objects which are shown in the second map window.
- The screen objects are deleted on close of the preferences window.  So we do make sure to close it when spawning.
2020-05-21 19:04:56 -04:00
Leshana 23482e88fa Moves topic return value defines to where they are usable everywhere. 2020-04-01 20:36:00 -04:00
Atermonera 3b7a737c08 Change various global species lists to GLOB versions, adds 2 more event subspecies. 2019-12-16 00:52:29 -05:00
killer653 1bb71ef429 Polaris Sync 2017-10-16 22:16:24 -04:00
Neerti a8513844ec Adds a Trait system (#4048)
* Works on trait system, wip.

* Finalizes traits.
Fixes a few bugs with medical machines assuming a max health of 100.
2017-10-13 01:17:39 -05:00
Arokha Sieyes e116f08d24 Adds Body Markings
So you can customize your character with tattoos or fur colors for Taj or whatever. I'll let Anewbe work out what he wants to whitelist other than what I did already.

The icons are sliced up with the HumanScissors program I wrote, so they are per-organ. So, lop off a limb, put it on someone else, they have the tattoos and whatnot. It's part of DNA so it comes with when cloning.

They are defined in the normal sprite_accessories file and the icons are all in markings.dm in the format of "markingname-organtag" so if you have a marking that spans both arms and torso you need "thatone-torso", "thatone-l_arm", "thatone-r_arm" icon states.
2017-03-30 18:05:20 -04:00
Arokha Sieyes 52130160db Adds Body Markings
So you can customize your character with tattoos or fur colors for Taj or whatever. I'll let Anewbe work out what he wants to whitelist other than what I did already.

The icons are sliced up with the HumanScissors program I wrote, so they are per-organ. So, lop off a limb, put it on someone else, they have the tattoos and whatnot. It's part of DNA so it comes with when cloning.

They are defined in the normal sprite_accessories file and the icons are all in markings.dm in the format of "markingname-organtag" so if you have a marking that spans both arms and torso you need "thatone-torso", "thatone-l_arm", "thatone-r_arm" icon states.
2017-03-26 19:36:34 -04:00
PsiOmegaDelta 0f830b0f98 no message 2016-08-05 17:58:15 +01:00
Neerti 6e281def77 Allows FBPs to potentially have different age limits.
Cyborgs have their minimum be equal to their species' minimum, and maximum be their species maximum plus twenty years.
Posibrains have a minimum of 1, and a maximum of 220, as discussed by EmperorJon.
Digital brains (drones) have a minimum of 1 and maximum of 150, as discussed by Spookerton.
2016-07-13 18:25:07 -04:00
Leshana 11107cb851 Removing redundant sanitizing; prefs has already been sanitized by this point. 2016-06-12 13:28:24 -04:00
Leshana fd265861bc Move preferences copy_to() new player mobs into the preference_setup datums.
* The /datum/category_item/player_setup_item datums did a good job of organizing the code for loading/saving/editing preferences data, but all of the code that applies preferences to newly created player mobs was still in a single function.
* This change adds a new proc to player_setup_item datums:  copy_to_mob()  which is called from the traditional copy_to() proc, allowing each preferences datum to apply its own character data to the mob.
* This allowes new preferences to easily compartmentalize their new code.
* I also moved all the code for existing preferences from copy_to()  into the copy_to_mob() on their respective preferences datums.
2016-06-11 23:33:48 -04:00
Jon 21f898e047 First commit of manual port of BS12
#13042
and
#13086
2016-05-29 00:56:11 +01:00
PsiOmegaDelta f3cde3af01 Both enabled and disabled preferences are now stored.
The purpose is to ensure that new preferences that are in neither list get the appropriate enabled/disabled setting without having to utilize the savefile update path.

Also attempts to optimize the acquirement of the preference mob.
2016-03-22 16:13:54 +00:00
PsiOmegaDelta ea579b2da6 Preferences now store client key instead of the client itself.
For reasons unbeknown to me, the client var is reset when the client logs outs and thus the preference mob cease to be.
Now stores the client key, and acquires the appropriate mob based on that, if possible.
Also removes the sanitation check because the holder isn't set before the preferences are created.

Fixes #12341.
2016-03-22 16:04:16 +00:00
Zuhayr 7453414faa Added new panel for loadout. 2016-02-09 00:09:39 +10:30
PsiOmegaDelta df0188662c Character setup tweaks.
Adds client verb to access the character setup screen from anywhere.
Moves name validation to species level, making it possible for IPCs to have numbers in their name.
Adds gender validation, also adds support to add neuter/plural genders in the future if ever desired.
Now sanitizes preferences before applying them to a mob.
Fixes #11433.

(cherry picked from commit e40246e9df)
2015-11-20 07:50:12 -05:00
PsiOmegaDelta e715c16093 Character setup refactoring.
Begins breaking down the large character setup in more manageable modules, allowing for easier additions, edits, and removals.

(cherry picked from commit e116721977)

Conflicts:
	code/modules/client/preferences.dm
	code/modules/client/preferences_savefile.dm
	polaris.dme
2015-11-20 07:46:31 -05:00
Neerti 4f77afece1 Revert 58ef59734f 2015-11-08 10:09:14 -05:00
PsiOmegaDelta e116721977 Character setup refactoring.
Begins breaking down the large character setup in more manageable modules, allowing for easier additions, edits, and removals.
2015-10-18 17:34:35 +02:00