* Polaris initial plane upstream merge
* POLARIS: Fix RIG visors with new plane system, and material scanner VIS_FULLBRIGHT
* POLARIS: Fix GetFlatIcon so that cameras and id pictures don't show the HUD overlays.
* POLARIS: Adds a 'alter values' proc for plane master ease of tweaking
Setting stuff like colorblindness variety and things.
* Remove NIF reference, fix lighting layer define
* Handle effects above lighting plane
* Moved all layer defines to planes+layers.dm
* Fixed overlays that are supposed to be above lighting to use the PLANE_LIGHTING_ABOVE
* Merge: 3000% human/update_icons() speed improvement
* Merge: Avoid ghosts pointing at things
* Multiple loadout slots
Ported from Bay. Each character can have 3 (number can be overridden by config) loadout slots. This way, you can have different outfits for different situations without needing to have a separate character slot or edit your loadout every time.
Tested here, works as intended. The current loadout is set as slot 1, so you don't need to worry about remaking it. This also ports the to_file and from_file macros to make it work, I'm assuming they could later be used elsewhere as well.
* Log of Changing
Because starting money is pretty much all it affects, anyway. Instead of just being used to measure NT's opinion of you, you now choose income categories to fall under. This still affects how much money you start with, with the highest category giving a 1.3x modifier, but the lowest has been lowered to 0.5 times. Now you can start with even less money than before.
Currently doesn't change the "this person might be willing to help you" message for traitors, but it would be easy to do something different with that if requested.
* 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.