Commit Graph

43 Commits

Author SHA1 Message Date
fleure
a854a41994 Merge pull request #2540 from Incoming5643/blobjob
BE_BLOB and easy adminblobing
2014-02-03 10:34:31 -08:00
Giacomand
7a76e9456b Ported the MiniStation branch.
MiniStation is now a single folder which isn't included by default. When you tick the code file for the ministation map, like with tgstation and metastation, it will then include the necessary code files itself. These code files modify certain datums, like jobs, supply packs and uplink datums.

The modified files outside the MiniStation folder are modifications made by the MiniStation branch which aren't changes exclusive to MiniStation.

Such as changing the unused circulator, which only MiniStation used, so that it was fixed and would correctly match the direction of the thermal generator.
The TEG was also changed to have a better interface and to include the above fix.
The department security was changed so it wouldn't runtime if it didn't find a checkpoint.
The preferences' SetChoices was changed so that the screen would automatically grow for every column in the job list.

The main difference between this version and the forked version is that the Unemployed and the Lieutenant was reverted back to their original names; since it would've been a massive pain to add support for that.
2014-01-29 22:36:10 +00:00
Incoming
5c5cc6a72d Repurposes the outdated BE_MONKEY into BE_BLOB and seperates the alien and blob pools so people can prefer to be one or the other or both or neither. An annoucement should be made when this goes live so people are aware they have a new flag to set.
Adds a dedicated button on the player panel so admins can easily turn specific players into blobs.
2014-01-29 10:54:00 -05:00
supersayu
711654c15e Moved #defines
Moves the constants from defines and compile_options files into the __DEFINES directory.  The compile options in the latter file that are actually tweakable remain in their existing file in the code directory.
Constants from DEFINES.dm, globals.dm, names.dm, and global_lists.dm have been moved into the _globalvars subdirectory.
stylesheet.dm has been moved into the interface directory since that's a better place for it.

This move contains no code changes for stock TG.  It is purely an organizational move meant to clean up hard to read code.
Some global constants that appear to be unused have been put into unused.dm, but not unticked.  This list is by no means exhaustive.

Branches should be aware that they need to move any additional defines and global constants manually.
2013-10-23 16:11:45 -04:00
Giacomand
aee50633e7 * The Allow AI config option will now correctly stop players from choosing AI as a job.
* The job select screen will now fill in the rest of the last column, so it doesn't look uneven.
2013-10-13 22:42:25 +01:00
khubajsn
249e77d775 Tweaked the [High] color to more match the original one (because I am too lazy to make it not include the font tag) 2013-10-05 00:12:40 +02:00
khubajsn
44bd0e3186 Removing debug. 2013-10-04 23:47:38 +02:00
khubajsn
900cb36a29 No longer assuming the targetted job level, it'll be forcibly set from now on. This should prevent any issues where a job cannot be switched either way (up/down). 2013-10-04 23:40:45 +02:00
carnie
bbe7354265 Fixes #1147 - type-mismatch
Added helper: /proc/findchar(haystack, needles, start=1, end=0)
works like findtext except it finds the first occurrence of one of the characters from the needles string, within haystack.

Permissions can now be removed as well as added, by replacing the + with a -. e.g. +BAN adds bans permissions, -BAN removes them. This applies to admin_ranks.txt and the permissions panel.

Verb overrides are now possible for admins_ranks. Specific verbs can be forced-on, or forced-off via keywords like +/client/proc/mimespeak or -/client/verb/ooc. This applies both to admin_ranks.txt and the permissions panel. SQL system is not compatible.

admin_ranks are now datums. This means admin_ranks actually behave more like permission groups as intended.
When you temporarily modify an admin's permissions via the permissions panel, their rank_name is appended with "([ckey])". This prevents modifications to their rights affecting everyone.

admin rank names now support - _ and @ characters (since ckeyEx() does not strip these).

SQL permissions system was modified. SQL databases will have to be updated or they will no longer work.

WARNING: admin_ranks.txt and admins.txt format has changed slightly! You will need to redo those txt files!
2013-08-14 18:10:26 +01:00
Carnie
48cdc61bcf Merge pull request #1095 from Giacomand/ion_fix
Ion Law Announcement Fix
2013-08-10 23:35:12 -07:00
Giacomand
8d1e51dfda * Fixes the ion law verbs announcing twice or announcing when you didn't want it to.
* Cleaned up some code with it.
 * Small tweak to the job preference window size.
2013-08-09 01:45:14 +01:00
carnie
02be173c60 Renamed variables:
b_type to blood_type
h_color to hair_color
f_color to facial_hair_color
f_style to facial_hair_style
h_style to hair_style
2013-08-01 13:48:41 +01:00
Cheridan
8cd64ac05f Merge pull request #1002 from errorage/2013-07-22-permission-flags-expansion
Expands the max number of admin permission flags from 16 to 31
2013-07-25 10:44:00 -07:00
errorage
86a68cb55b - Expands the maximum number of admin permission flags you can have from 16 to 31.
To test: add these debug lines somewhere:

//START COPY PASTE

mob/verb/give_allrights()
	src.client.holder.rights = 393087

mob/verb/hasright()
	var/hi = input(src,"Choose a file to access:","Download",null) as null|num
	var/r = check_rights(hi, 1);
	world << "[r]"

mob/verb/checkrights()
	for(var/i = 0; i < 32; i++)
		var/n = 1 << i
		var/r = check_rights(n , 1);
		world << "has right 2^[i] = [n]? [r]"

//END COPY PASTE

Start the game, run 'give allrights', which doesn't give all rights, but some of the rights. 128 and 131072 are missing. Then you can either run 'hasright' to check whether you have the permissions that correspond to a user defined number, or you can run 'checkrights' to check for all 31 theoretical permissions.
2013-07-22 19:22:47 +02:00
Giacomand
1fb9227f77 Blob/AI cameras can now be followed by ghosts.
Added the blob to the check antagonists, displaying how many blobs are left to win and being able to show the player panel for the blob.
Gave overminds mind datums which will initialize to give the overmind a blob special role.
Re-worded the BE ALIEN candidate so that it is more abstract and could mean becoming a blob.
Added another message for when the infected crew is about to burst into a blob.
EMPs will now hurt the blob.
Fixed blob spores blocking the blob from expanding.
Nodes will also slowly recharge their health.
Gave a little bit of health to normal blobs so that lasers don't one shot them anymore, barely.
2013-07-21 15:13:43 +01:00
carnie
f15d583a68 Resolves #830 - ghost_form is only selectable by members.
ghost_form is now saved with other preferences.
Public visibility of memberships is toggable and saved with other preferences.
ooc-colors for admins and members are now sanitized. Bright colours like Yellow, white and baby-blue will be darkened for the sake of legibility.
Related to above - added helper procs to convert between RGB and HSL colour models.
Admins cannot modify var/unlock_content without +DEBUG rights. unlock_content moved from client into prefs.

Player savefile version number updated - this will trigger savefile updates, no data should be lost.
2013-06-24 05:35:39 +01:00
Giacomand
c1aafeec07 Merge pull request #779 from Khubajsn/jobOccupationRightClick
Right clicking a job preference level will now lower it.
2013-06-21 19:02:42 -07:00
khubajsn
0289408209 Added an instruction, as per request of errorage. 2013-06-19 22:23:41 +02:00
carnie
52c48d11aa Resolves an issue with sanitize_hexcolor where it'd return an incomplete string such as ""
Resolves an issue where whitespace in names could cause a saveslot button to wrap to the next line.

Byond members:
can colour their name using the admin ooc-colour feature.
get a icon next to their name in ooc chat.
can choose their icon_state as a ghost.
get 8 saveslots

unlock_content tracks the return of IsByondMember(). This is to allow for easier testing/debug.
2013-06-16 11:08:39 +01:00
khubajsn
b9d92abfe5 Edited the URL handling again to make more sense. 2013-06-16 11:28:25 +02:00
khubajsn
b30cbd6462 Bad values 2013-06-16 11:12:13 +02:00
khubajsn
8d44b018b1 Removed a check for removed argument 2013-06-16 11:06:17 +02:00
khubajsn
ab91ac7e32 Updated link handling and link href-s 2013-06-16 11:04:25 +02:00
khubajsn
f7a7d4b28d Added GetJobLevel 2013-06-16 11:02:38 +02:00
khubajsn
f46766ca23 Finished writing SetJobPreferenceLevel, it appears that SetJobDepartment doesnt support direct level input 2013-06-16 10:54:46 +02:00
khubajsn
8d061265a3 checkpoint 2013-06-16 10:44:17 +02:00
carnie
cff9ed5f71 >Resolves some dna runtimes. - check_dna_integrity() was not being used properly.
>Removed a for(obj/item in world) loop triggered by bloodying items. It now uses a caching system.
>New skin_tones - they are now sprite-based. This is to prepare for expansion of the mutantrace system. Thanks validsalid x
>Removed fat icons from the game - when you are obese you will now just look like a regular human. You will not be immune to being pushed. You will not be immune to choking. You will still overheat and run slower and appear fat upon "examine" verb use.

Modified   code/__HELPERS/mobs.dm
Modified   code/game/atoms.dm
Modified   code/game/dna.dm
Modified   code/game/machinery/computer/hologram.dm
Modified   code/game/objects/items.dm
Modified   code/modules/client/preferences.dm
Modified   code/modules/client/preferences_savefile.dm
Modified   code/modules/flufftext/Hallucination.dm
Modified   code/modules/mob/living/carbon/alien/larva/larva.dm
Modified   code/modules/mob/living/carbon/human/human.dm
Modified   code/modules/mob/living/carbon/human/human_defines.dm
Modified   code/modules/mob/living/carbon/human/life.dm
Modified   code/modules/mob/living/carbon/human/update_icons.dm
Modified   code/modules/mob/living/carbon/monkey/monkey.dm
Modified   code/modules/mob/living/silicon/robot/robot.dm
Modified   code/modules/mob/living/simple_animal/constructs.dm
Modified   code/modules/mob/living/simple_animal/friendly/corgi.dm
Modified   code/modules/mob/living/simple_animal/friendly/farm_animals.dm
Modified   code/modules/mob/new_player/preferences_setup.dm
Modified   icons/effects/genetics.dmi
Modified   icons/mob/human.dmi

Signed-off-by: carnie <elly1989@rocketmail.com>
2013-05-08 08:20:15 +01:00
carnie
043028db83 Resolves #283
DNA modification uses normally distributed random numbers. Radiation strength dictates the standard deviation of the change in the hex character which is hit (higher output means greater chance for a large change) . Similarly, radiation duration dictates how likely we are to hit the hex-character we clicked on (longer duration means more likely to hit). Irradiation is strength*duration. All balancing is done via multiplier defines so you can rebalance it easily.

DNA blocks and structuring all use defines. Making modification/expansion easier. I'll likely expand this into a datum-based system to allow more interesting features, reduce code further and allow admins to interact with the way dna strings behave.

DNA strings can be spliced together using merge_text().
 e.g. string 1: "Hello World"
 string 2: "Seeya______"
 result: "Seeya World"
 This isn't used except for admin-spawnable SE injectors at the moment.

r_hair, g_hair, b_hair, r_facial, g_facial, b_facial, r_eyes, g_eyes, b_eyes were removed and made into 3 short hex-colors.

Skin tones now support colours other than shades of brown. I've had to restrict it heavily until other stuff is done. Skin tones include Albino Caucasian, Oriental, Mediterranean, etc.

Data disks and DNA injectors were reworked to use associative lists so transferring data is just a matter of doing list.Copy()

var/dna is now defined at /mob/living/carbon level. Only monkeys and humans may have dna currently. Support is there for all carbon-based lifeforms to have dna.

DNA modifier console has almost all controls on one screen.

UIs and UEs can be injected separately (appearance and name, respectively)

dna helper procs like ready_dna() and such were changed to make them more versatile. There is now a hardset_dna() proc as an alternative to ready_dna which can initialize dna with properties passed into it or update an existing dna string (useful for cloning and antag spawning)

Every block of SEs are in randomised positions.

Disabled automatic logging of world.log, as it produced undesirable behaviour.

Mr Muggles and God Emperor of Mankind disks removed.

Floor() removed. (it was completely uneccesary, that is what round() is).

Fixed spelling mistakes in modularchangling.dm (thanks tenebrosity)

Tanning removed from beaches (again)

Experimental: monkeys and humans do not have dna until first attempt to read dna (using check_dna_integrity(mob))
This is mainly due to the way everything is hardcoded into New().

Changelog.html updated
Signed-off-by: carnie <elly1989@rocketmail.com>
2013-04-24 09:37:30 +01:00
carnie
d2988fcf8a Hair and facial hair styles are now randomized when changing gender in preferences setup. Thanks Pete
Added some very basic tools for modifying/printing savefiles as plaintext (for testing).
2013-04-01 00:42:01 +01:00
carnie
b910baef2a Restricted h_style f_style and underwear preference selection by gender to avoid conflicts with sanity checks. 2013-03-29 04:37:26 +00:00
carnie
732d72e227 Merge branch 'master' of github.com:tgstation/-tg-station into pr/151
Conflicts:
	code/modules/mob/new_player/new_player.dm
2013-03-28 18:35:37 +00:00
Pete Goodfellow
fe3cc313f6 Adds name/appearance bans. They're based on jobban code, but prevent the banned player from using their preset names and appearances.
Also corrects a spelling error (Indentity) in the char prefs panel.
2013-03-28 15:51:35 +00:00
carnie
5ca166cae0 Refactored underwear to use datum/sprite_accessory/underwear similar to hair and facial_hair.
People may select any underwear (regardless of gender) at a dresser, but not in preferences.
random_underwear(gender) will return a random pair of underwear suitable for your gender.
Removed an unused variable in sprite_accessory

The new_player preferences screen now randomizes character slots for which there is no data (so no more bald, fat, white guys in diapers greeting new players)
datum/preferences character settings are randomised at New().
replaced /datum/preferences/proc/randomize_appearance_for(human/H) with /datum/preferences/proc/random_character(), it does the same stuff without the copying to a mob. Basically, now when you want to make a random character you just do var/datum/preferences/A = new(); A.copy_to(human_mob), randomisation of appearance and name will already be done. Easy.

Reworked the savefile updating/versioning code to make it easier to work with. I've used it to update underwear preferences to the new system as an example.

Signed-off-by: carnie <elly1989@rocketmail.com>
2013-03-28 11:11:40 +00:00
petethegoat@gmail.com
8ff7285645 Updates HUD stuff!
The main goal was to remove all the pointless shit in the UI style dmis, but this commit actually goes a bit deeper than that.

Formally renames the "hurt" intent to "harm", in line with everything else in the world.

Removes the old screen1_... .dmis. They've been replaced with screen_... .dmis. They function much the same.
screen_gen.dmi is used for things which apply to multiple UI styles, such as storage slot sprites, or the intent selector. (These can still be overridden in HUD code, though.)

Item action buttons have been changed to use a template from the UI style, and the icon_state of the item.
var/icon_action_button has been removed- varvar/action_button_name must be used instead to add action buttons for items.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5826 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-08 21:32:00 +00:00
giacomand@gmail.com
46dc7d6084 Committing Faerdan's UI overhaul. Includes a UI browser class to easily manage and standardize user interfaces. This first release does not convert all the user interfaces in the game but only most of them. You can find samples of these user interfaces here: http://imgur.com/a/5dr6E
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5794 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-27 20:02:42 +00:00
baloh.matevz@gmail.com
4b5b5ea87e - Added a config option that requires players to have played a certain number of days to select some jobs to play. The option is turned off by default and requires the database to work. See screenshot for default age requirement.
- When players connect, the database is polled for their age, accounts matching their ip and computer id. This information is stored in their client datum.

Screenshot: http://www.ss13.eu/account%20age%20restriction2.png

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5552 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-15 03:39:46 +00:00
giacomand@gmail.com
05ea5c67bf -Added a virus food dispenser for the Virologist. You'll find it in Virology.
-Added a sprite for the food dispenser (WARNING: it's a re-colouring of the pepperspray dispenser)
-Changed the reset button's position so it's on the bottom, this way people won't accidentally click it.
-Slightly increased the height of the job selection window.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5278 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-07 20:23:28 +00:00
giacomand@gmail.com
69fcf61ed3 Committed Rolan7's patch to add more convenience to Hydroponics. The feature list includes:
* Makes grass auto-stack when harvested
* Allows seeds to be extracted from grass
* Allows the smart-fridge and plant bags to accept seeds.
* Lays the groundwork for a seeds-only version of the smart fridge, to eventually replace the existing seed vender (not yet hackable, though)

-Fixed window doors not opening when you click on them.
-Added a reset button for the job selection screen.
-Fixed a bug with the traitor panel which leaves ex-changelings with the evolution menu.
-I re-added the variables for the intercept report but commented them out.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5276 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-07 13:27:33 +00:00
petethegoat@gmail.com
3ac67f339a Fixed randomised appearances being batshit crazy.
Improved the janicart a bit. It should be less cursed now.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5264 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-05 22:27:16 +00:00
elly1989@rocketmail.com
ee67e6a0d8 Runtime fix for null.occupations undefined var
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5200 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-26 12:44:02 +00:00
elly1989@rocketmail.com
65a2126d9f Should allow savefiles to work.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5167 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-23 00:18:45 +00:00
elly1989@rocketmail.com
73b54b017b Removed mob/var/UI, it now uses client.prefs.UI_style
Removed var/constant/Pi It's already defined in setup.dm
Moved a bunch of global_lists to global_lists.dm
Fixed hair randomisation. (still bits to do)
Moved a lot of preferences_setup.dm stuff into __HELPERS/mobs.dm They'll be FAR more helpful as generic procs, rather than something tied to preferences.
Merged mob/var/nopush into status_flags with the CANPUSH flag
Merged mob/var/nodamage into status_flags with the GODMODE flag
Removed mob/var/be_syndicate and mob/var/be_random_name as they are not used.
Added /proc/ui_style2icon(ui_style) proc. It converts a string like "Midnight" into its corresponding dmi file. The code fore creating a new hud uses it.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5164 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-22 15:22:08 +00:00
elly1989@rocketmail.com
1aaf44e076 Moved a lot of preference related toggles to the Preferences verb tab.
You can now modify specialrole candidacy mid-round and it will save changes to your savefile.
Added a BE_NINJA flag. Doesn't do anything yet. If somebody wants to implement it, go for it.
Moved prefrences stuff from new_player to the folder /code/modules/client/
Renamed toggles so they appear in a nice order.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5146 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-21 08:06:44 +00:00