* Puts back in code that sanitized preferences after loading, it was overwritten in polaris sync commit 3f1e5c80f2
* Also removes a VOREStation Edit comment on lines that were no longer different from Polaris, introduced at the same time.
* Fixes Runtime in 02_language.dm,21: Cannot read null.language
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.
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.
Ghosts should be able to hear things once more.
The big bold NEW NEWS notice should remember if one has already seen the news, as the hash was not actually being saved. It's being saved now.
No mechanical changes come of this change, only the ability to have an antagonist faction, as well as having specified visbility for the affiliation itself.
Also adds Skrell home system to the home system list.
* 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.
Now you can have more than one slot. Fair warning, if you load another character then save bellies, it overwrites those. Like if you do that AFTER spawning. Like you're playing a mob from slot 1, you go into preferences > character set up, load slot 2, then open vore panel and click save, it will overwrite slot 2.
On the one hand, an easy way to copy bellies between characters! On the other, perhaps unexpected.
This prooooooooooobably doesn't delete everyone's bellies? Probably. Maybe you should copy the data folder, just in case. ;o Skip the logs.
- Added datums and icons for custom ears.
- Added datums and icons for custom tails.
- Added datums and icons for taurs, now a subtype of tails.
- Integrated into icon_updates() for in game appearance.
- Integrated into preferences_setup() for character setup preview.
- Added ears and tails to the character setup screen.
- Enabled nagataur support for micro/macro step-over messages.
While I consider Polaris' character setup screen to be mechanically better
than most others, it wasn't prettier. Well. It was a bit. But now it's
more pretty-er.
Used the fake NanoUI 'browser' datum to render the pages for the New
Player panel and the Character Setup screen.
Players can now choose to not receive messages in OOC and deadchat from specific players, with the Ignore verb, or in the global preferences tab.
Ignores can be reverted with the Unignore verb, or with the global preferences tab as well.
This has no effect on IC chat. LOOC is also exempted from this. Admin messages cannot be blocked.
Limits biolgical gender by species and defaults to male/female.
Can also set gender identity which determines which is displayed upon examination and suchlike along with being shown in medical records
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.
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.