Commit Graph

739 Commits

Author SHA1 Message Date
dumpdavidson
6cd1b87782 Merge branch 'master' of https://github.com/dumpdavidson/-tg-station into monkeyize
Conflicts:
	code/game/dna.dm
	code/game/gamemodes/changeling/changeling_powers.dm
2013-05-24 15:40:07 +02:00
Cheridan
37068f64db THE BORGI UPDATE
-As requested by errorage, you can now place air/oxygen tanks and fire extinguishers on Ian's back. Additionally, you can also place cardborg suit/helmets on him.

-Cleans up some shoe code and unused sprites from feet/suit .dmis.
2013-05-16 19:02:40 -05:00
Ikarrus
283c6b4626 -Reduced code duplication
-CentCom roles get appropriate access levels, and centcom officers no longer have all station access (Plays better for inspection events)
2013-05-15 23:00:43 -06:00
Intigracy
1c1b33bd8d Pull Request #548 - vareditting ckey, key, icon, icon_state, overlays, underlays have permission alternatives
Fixed indentation reauthored and rebased ~Carn
Fixed the things carn pointed out. Thanks. ~Intigracy
ckey editing and icon editing changes, added alternate requirements besides +DEBUG. ~Intigracy

Modified   code/modules/admin/verbs/modifyvariables.dm

Signed-off-by: carnie <elly1989@rocketmail.com>
2013-05-12 02:42:52 +01:00
dumpdavidson
53529ea8f9 Changes behind the scene stuff regarding transformation from monkey to human.
-Adds a humanize() proc
-Changes monkeyize() proc to a child of mob/living/carbon (not implemented or tested with anything beside humans, though)
-Adds various options for monkeyize and humanize as binary flags
-Removed all instances of monkey transformation code being copy pasted (dna, changeling, adminverbs) and replaced them with monkeyize(). This fixed various issues with admin-verbs where mobs would ghost after transformation due to invalid use of transfer_to (mind transfer proc).

-Humans will now retain their old name if turned into a monkey and back provided their UE are unchanged
-Transformation from monkey into human will now deal the same amount of damage as human to monkey.

Signed-off-by: dumpdavidson <gtb.schmidt@gmail.com>
2013-05-10 17:23:20 +02:00
Cael Aislinn
474722d425 Merge pull request #447 from Carn/DNArework
Resolves #283
2013-05-02 05:46:44 -07:00
carnie
ae00173037 Merge branch 'master' of github.com:tgstation/-tg-station into pr/447 2013-04-30 04:07:28 +01:00
Pete Goodfellow
9343a93820 Reverting stray changes from my merge of #464 2013-04-30 00:06:30 +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
AndroidSFV
9063eaf9f4 -Makes the Energetic Flux event admin trigger-able via the secrets panel. 2013-04-23 12:15:26 -05:00
Giacomand
0fe1b6c1b6 Merge pull request #403 from Petethegoat/issuefixes
Issue fixes
2013-04-20 06:16:38 -07:00
Intigracy
ddd279c11d Edited the admin names in deadsay.dm to match with current admins, currently it's reeeaaallly out of date.
Special thanks to everyone who helped come up with the names!
2013-04-18 22:03:03 -07:00
Pete Goodfellow
976e1f0136 Fixed 'break all lights' not breaking all (or any) lights 2013-04-18 19:58:44 +01:00
Cael Aislinn
de4a906c25 Merge pull request #329 from Carn/Issue304
Resolves Issue #304
2013-04-08 00:28:50 -07:00
carnie
6a98fc89d0 >datum/event and datum/event_control were renamed to datum/round_event and datum/round_event_control. This is because datum/event was already used by a different/more-general event queue system (used primarily on mechas)
Removed overriding of event values via feeding in an associative list into datum/round_event/New(). Instead you can do basic initializations (i.e. feed it constants) by doing new /datum/round_event{variablename=5;}(). This method is handled well by the compiler (it's the same method the maps use), so it will detect unrecognized variablenames etc.
More complex initializations for post setup() stuff can be done by accessing variables directly Event.variablename = whatever;
round_events now have a processing variable, which effectively pauses them.
2013-04-08 07:42:46 +01:00
errorage
42ea6ef6b3 Merge branch 'adminbans' of https://github.com/errorage/-tg-station 2013-04-05 16:50:24 +02:00
errorage
3da9741500 Update to latest version of tgstation + resolves a conflict 2013-04-05 16:02:02 +02:00
errorage
2f132126e9 - Makes it impossible for admins to varedit the ckey or key value of client objects. This is to prevent admin log spoofing. 2013-04-04 20:33:23 +02:00
errorage
5f9bddd998 Removed a comment I should have removed before the previous commit. 2013-04-04 00:54:49 +02:00
errorage
096a9cf563 - Added an extra variable to determine the behavior of bans when they are applied. The variable is kickbannedckey. It is used to determine whether the bans, which are handled by db_ban kick the mob or not, if he is connected, that is. Some ban types, such as permaban and tempban, do not use this, as it is handled by legacy ban code. 2013-04-04 00:40:30 +02:00
errorage
912815f1d1 Admin bans
- Adds two new types of bans: admin tempbans and admin permabans. These ban types are in reaction to the rising number of banworthy admin issues. The original intent was to make admins unbannable ingame, so players could not spoof admin computer ids to get admins banned, with the assumption that admin issues will be rare and a big deal when they happen. They have however started becoming ever more common, so some tools are required to allow for admin self-policing.
- Each admin can have a maximum of one active admin ban (temporary or permanent) logged to their name. This is to prevent rogue admins from just banning everyone who could ban them. These bans are also not intended to be 'permanent-permanent'. They are intended to serve as a temporary fix, to get rid of rogue admins until the server host or another admin with rdp access (or +PERMISSIONS if you use DB_Admin) can deal with the rogue admin's removal. Once that is done, a normal permaban or tempban can be applied, and the admin permaban/tempban removed, restoring the banning admin's 1 allowed admin ban.
- Admin bans are considered a big deal, so they also send a message to irc, when they are applied.
- NOTE: Admin bans only check the connecting person's ckey. The risk of computer id spoofing still exists, so it's better not to have them check ips and computer ids. The admin abilities are given based on ckey anyway, so a ckey ban should be enough in most cases.

Other changes to bans
- Added a few variables to the funciton that adds a ban: maxadminbanchec (which is for admin bans and checks how many bans the admin can still apply); announceinirc and blockselfban (which prevents admins from applying the ban type on themselves. Currently applied for permaban, tempban, admin permaban, admin tempban)
- Changed the appearance ban database constant from APPEARANCE_BAN to APPEARANCE_PERMABAN, to make it more compatible with the ban log at http://www.ss13.eu/tgdb/banoverview.php
- Added a missing sanity check to topic.dm for appearance bans
- Renamed appearance bans to identity bans in admin panels (as per Pete's request)
2013-04-03 23:28:24 +02:00
Cael Aislinn
bdfc088f91 Merge pull request #181 from Carn/Issue105
Partial solution to #105. Will fix a bunch of mislinks in admin toolpanels + PM system.
2013-04-02 19:05:47 -07:00
Cael Aislinn
7b110f177b Merge pull request #199 from Carn/Issue197
IMPORTANT: Fixes Issue #197 - "Camera Range Display" verb now uses obj/machinery/ca...
2013-04-01 22:40:01 -07:00
carnie
d972a60ecc Fixes Issue #197 - "Camera Range Display" verb now uses obj/machinery/camera/proc/can_see() to calculate which turfs are visible by cameras.
Each turf in camera-range is marked with a maptext number indicating how many cameras can see that turf.

IMPORTANT: Changed the default fonts of the skinfile. This works around an issue with byond, where certain font-faces can cause HUGE increases in memory usage client-side, giving the illusion of lag, or severe crashes.
Before changing the font-face to 'Arial': using the camera range display verb would cause dream-seeker's memory usage to climb from 146,000 K to 800,000 K (and greater, but that is the limit of my laptop's pagefile, hence crashing my entire system)
After changing the font-face to 'Arial': using the same verb (with same code) resulted in negligible memory usage increase in dreamseeker, and works absolutely fine.

Status displays and such were not affected by this bug as they use a different font to the default set in the skinfile.
It did however affect stuff such as mining satchels, and may explain why some users found the game extremely 'laggy' or crashy
2013-04-02 06:21:19 +01:00
Cael Aislinn
fd2343dc56 Merge pull request #187 from Carn/Issue145
Resolve issue #145 - using reload_admins() will now tell other admins th...
2013-04-01 10:04:03 -07:00
Pete Goodfellow
842d9028d3 Merge branch 'master' of github.com:tgstation/-tg-station
Conflicts:
	code/modules/mob/new_player/new_player.dm
2013-04-01 16:29:36 +01:00
carnie
7803301b90 Resolve issue #145 - using reload_admins() will now tell other admins the key_name() of the person who called it...rather than character name. 2013-04-01 05:01:32 +01:00
Pete Goodfellow
6831ab046c Added a configuration option to force random names. This replaces the gameticker var/random_players. The 'Make everyone random' verb works as it did before. 2013-04-01 00:17:15 +01:00
carnie
8c489f662b Muting now uses uses a ckey in its href rather than a mob reference.
You can now mute admins.
2013-03-31 23:06:56 +01:00
carnie
66e6a2dbf0 Mobs each now have a unique tag which are not after they are deleted (unlike byond's \ref[] macro)
Since tag replaces the output of the \ref[] macro, this means that menus which use hrefs with \ref[mob] will no longer be able to accidentally link to the wrong mob.
The tags are of the form "mob_475" etc

Admin_pms now use ckey instead of client-reference. This means that PMs will no longer accidentally get sent to the wrong people.
There is no risk of players using hrefs to send adminhelps to known admin ckeys to see if they are online (as I'd already changed the PM system to not tell non-admin users whom received their message).

key_name() now accepts text input (key or ckey) - it is slightly more efficient to feed it a client or mob however!
This functionality is provided to allow certain admintools to become more robust when we want to talk about e.g. a griefer whom has just DCed whom no-longer has a corpse (no client/mob...just a ckey reference).
key_name() now reports DCed players properly.
2013-03-31 11:26:22 +01: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
b39094fba1 Fixed manual appearance bans accepting a duration. Tidied up and improved a SQL query. 2013-03-28 16:26:44 +00:00
Pete Goodfellow
b28bff4440 Forgot the key .dm. Adding banappearance.dm 2013-03-28 16:04:10 +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
Rastaf.zero
b8a0032f61 Improvements to debug verbs del-all and spawn.
Long paths are shortened, del-all got filter like spawn had.
Long lists of paths are cached.
2013-03-17 17:49:35 +04:00
MrPerson
a88b30ab31 Removed mind.original
All usage of it on silicons is replaced by is_special_character()
is_special_character moved from admin.dm to mob_helpers.dm
Also fixed a runtime having to do with objectives.
2013-03-11 05:40:21 -07:00
Pete Goodfellow
b02c459505 Adding google code commits r5836 to r5849. RIP in peace google code. 2013-03-11 04:26:54 +00:00
petethegoat@gmail.com
97e0f9b6f7 Smallified Centcomm and removed a large amount of the unused machines. This affects most stuff on z2.
Removed the administration shuttle and the stupid alien dinghy.
Removed the beach (hey, it's an away mission now).

Removed syndicate deathsquads on account of them being stupid and redundant.
Temporarily removed regular deathsquads- search for "DEATH SQUADS" to find the locations to uncomment. Additional code is in unused/specops.dm and unused/specops_shuttle.dm.

Added a single tile fake window for unsim windows.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5831 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-09 04:35:37 +00:00
elly1989@rocketmail.com
8849cd16d3 Replaced get_apprentice_candidates() with get_candidates(BE_WIZARD)
/proc/testing("message") will now only print message to world.log if #define TESTING is uncommented. This will allow coders to make in-depth debug messages for confusing bits of code. Said debug messages would not be visible on th elive server, but coders can enable them by compiling with #define TESTING uncommented. This should make debugging ikky horrible code easier (assuming people bother to use testing())

Temporarily removed the weightless (aka gravity failure) event, due to people hating it. ;(

Replaced references to KILL with PROCESS_KILL (I didn't realise I had already defined something like that). Setup.dm and global.dm are rather cluttered. I will be cleaning them up and will remove a few unused defines like #define KILL in my next commit.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5822 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-08 17:16:29 +00:00
giacomand@gmail.com
763b07d8d4 - Cleaned up false walls a bit and fixed some issues with using a welding tool with it. Fixes Issue 1288.
- Greatly decreased the goat attack damage. Fixes Issue 1310.
 - Changed how the suffixes are assigned for mulebots. Fixes Issue 1204.
 - Added some checks for occupants in sleepers/cryo/cloner pod, stops an exploit of being able to have a friend teleport you to the sleeper when you're in danger.
 - Re-added advance proc call for debug flag.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5796 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-28 23:22:37 +00:00
d_h2005@yahoo.com
7effacfcad Committing for Summoner: Fixes issue 1217 - xenos being unable to hiss.
Readds ghostblob verbs.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5787 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-26 03:23:48 +00:00
johnsonmt88@gmail.com
69b7e1e384 Updated config/rules.html to our new server rules. Fixes issue 1346.
Admin rejuvinate now clears the mob's reagent's list meaning that mobs who died due to toxins in their bloodstream wont just fall over dead after being revived again. Fixes issue 1338.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5785 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-26 01:09:48 +00:00
johnsonmt88@gmail.com
8d0e094460 A little bit of admin button cleanup from the Secrets Panel.
Renamed "Toggle station artificial gravity" to "Trigger a gravity-failure event" to better describe what the button does.

Removed the following buttons:
- Make all items look like guns
- Japanese Animes Mode (Resolves issue 1024.)
- Remove 'internal' clothing
- Remove ALL clothing
- Remove firesuits, grilles and pods

- Toggle Prison Shuttle Status(Use with S/R)
- Send Prison Shuttle
- Return Prison Shuttle
- Warp all Players to Prison

- Ghost mode

The first five are just plain dumb, made worse by the fact that they apparently haven't worked in ages.

The next four, prison station buttons, are being removed because we have no prison station!

Ghost mode was removed for being horribly coded, laggy and has the potential to break some of our other code.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5758 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-22 01:31:54 +00:00
giacomand@gmail.com
78abe5bfda - The user wasn't being put into the arguments of the proc, which allows admins to create their own disesases. I put the argument back. Fixes Issue 1312
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5753 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-21 13:46:03 +00:00
giacomand@gmail.com
4989c88a22 Committing carn's modifications to events and other things. Full details below.
http://forums.nanotrasen.com/viewtopic.php?f=16&t=12245#p189186

Ported all the random events to Pete/Gia's event system:
>Event system now supports weighting. default is 10. a weight of 5 is half as likely as default, 20 twice as likely....etc.
>Increased the frequency of events (dust happens over 60% of the time though)
>tidied up some ninja code: ninjas now get ~5 objectives. So they are hardmode.
>made the gravity toggle into a random event
>event system now supports round-start events
>event system now supports holiday events
>event system now supports events which can only happen after the round has lasted a certain number of ticks
>event system now supports max_occurrences for events. Setting any event's max_occurrences to 0 will stop it randomly occurring
>events now support being fed associative lists inside new(). This allows you to override their variables easily.
>wormhole events no longer cause loads of lag. They are extremely deadly. wormholes should be avoided

Other:
>replaced the procs for fetching candidates for ninjas and aliums with /proc/get_candidates(be_special_flag), it returns a list of active clients with that be_special preference enabled.
>minor fixes to minds
>your memories are displayed to you at Login()
>removed aliens_allowed
>removed ninjas_allowed
>pick_n_take() is now more efficient (uses Cut() rather than Remove()


Things I added:

 - Made the pandemic call ..() instead of doing the checks itself.
 - Made the staff of animation use more charge.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5720 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-17 11:44:37 +00:00
aranclanos@hotmail.com
11f9c0e948 Fixes the admin button for the "lights out" event. It was just a typo.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5714 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-16 05:38:18 +00:00
aranclanos@hotmail.com
cbbe1c98fd Fixes bans not saving IP and ID on clientless mobs.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5711 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-15 16:05:42 +00:00
Kortgstation@gmail.com
78381e3ffe Added an admin button to cure all diseases. I dunno how often this will actually get used, but if a griffon infects everything/gets banned for it, I'd imagine some admins would appreciate being able to fix the round as well.
Removed (non functional, literally it did nothing) remove bombs button.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5706 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-14 21:23:18 +00:00
petethegoat@gmail.com
a1ac5f0e66 Renamed /datum/organ/external to /datum/limb.
Updated all files.

Removed the skeleton and skin organs.

Updated WIP surgery.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5689 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-11 18:52:33 +00:00