Commit Graph

187 Commits

Author SHA1 Message Date
Tkdrg
c8c0f5294f Sanitizes a bunch of num inputs to be integers
This is mostly to plug href exploits causing wacky stuff like NaN.
2016-02-21 12:15:37 -03:00
phil235
8b11d87b1d Merge branch 'master' of https://github.com/tgstation/-tg-station into VisionUpdateRefactor
Conflicts:
	code/ATMOSPHERICS/components/unary_devices/cryo.dm
	code/_onclick/hud/alert.dm
	code/_onclick/hud/hud.dm
	code/datums/mutations.dm
	code/datums/wires/robot.dm
	code/game/atoms.dm
	code/game/gamemodes/blob/overmind.dm
	code/game/machinery/alarm.dm
	code/game/machinery/machinery.dm
	code/game/machinery/suit_storage_unit.dm
	code/game/objects/items/weapons/tanks/tanks.dm
	code/game/objects/items/weapons/tools.dm
	code/game/objects/structures/morgue.dm
	code/modules/admin/verbs/adminjump.dm
	code/modules/atmospherics/machinery/atmosmachinery.dm
	code/modules/mob/inventory.dm
	code/modules/mob/living/carbon/alien/humanoid/death.dm
	code/modules/mob/living/carbon/alien/larva/death.dm
	code/modules/mob/living/carbon/brain/death.dm
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/living/carbon/human/death.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/carbon/human/human_damage.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/carbon/human/species.dm
	code/modules/mob/living/carbon/human/species_types.dm
	code/modules/mob/living/carbon/life.dm
	code/modules/mob/living/carbon/monkey/death.dm
	code/modules/mob/living/life.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/mob/living/silicon/ai/death.dm
	code/modules/mob/living/silicon/ai/life.dm
	code/modules/mob/living/silicon/pai/death.dm
	code/modules/mob/living/silicon/pai/pai.dm
	code/modules/mob/living/silicon/robot/death.dm
	code/modules/mob/living/silicon/robot/life.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/mob/living/silicon/silicon.dm
	code/modules/mob/living/simple_animal/guardian/guardian.dm
	code/modules/mob/login.dm
	code/modules/mob/mob.dm
	code/modules/projectiles/gun.dm
	code/modules/reagents/chemistry/reagents/blob_reagents.dm
	tgstation.dme
2016-02-04 14:34:45 +01:00
phil235
81ce777ec2 - you now only see turfs when inside gas pipes.
- I renamed some vars of datum/hud to be more selfexplanatory
- Moved all datum/hud mob code into the hud folder.
- fixed alien's zone selection button not using the correct sprites.
- I removed the update_hud() proc (that needed to be removed).
- Fixed a typo in /mob/living/carbon/ContractDisease , using "internals" instead of "internal" (very different things)
- Fixed doTeleport() calling Entered() twice on the destination area.
- To reference a mob's selected zone, you now use a direct mob var ("H.zone_selected" instead of "H.zone_sel.selecting")
- mobs lose certain screen objects var ("healths", "zone_sel", "internals", etc) which are now vars of the mob's datum/hud instead.
- the Blind spell is now done via the blind mutation instead of the blind disabilities.
- Give to mobs a version of forceMove(), so the mob is always properly unbuckled, his pull stopped, his vision updated, etc.
- The "user" var of mob/camera/aiEye/remote is renamed to "eye_user" to avoid confusion.
- reset_view() is replaced by reset_perspective(). Now all changes to client.eye and client.perspective are done with this proc.
- I reworked /obj/machinery/computer/security code, changing camera is instantaneous now, as well as cancelling.
- I reworked /obj/machinery/computer/camera_advanced code as well.
- I changed /obj/item/mecha_parts/mecha_equipment/mining_scanner's meson view to be constant instead of by intermittent.
- Fixes not being able to use /obj/item/device/camera_bug while buckled.
- removed admin_forcemove() proc, admin force moving now uses forceMove() simply.
- Removed the client var "adminobs"
- Added var/vision_correction to glasses.
- Added a thermal_overload() proc for glasses, to remove copypasta in emp_act code.
- Remove the hal_crit mob var
- We no longer delete the mob's hud everytime he logs in.
- Added a stat == dead check in mob's metabolize() so we immediately stop metabolizing if one of the chem kills the mob.
- Being inside disposal bin lowers your vision, like wearing a welding helmet.
- removed the remote_view mob var.
- I changed advanced camera EYE, some fixes, removed unnecessary code when the eye moves, now the mob client eye properly follows the camera mob.
- fixes mob var "machine" not being nullified on logout.
- larva/death() was calling two "living_mob_list -= src"
- I made the Blind screen objects into a global_hud instead of giving one to each mob (like damage overlay).
- I untied tint and eye_blind, TINT_BLIND doesn't give you eye_blind=1.
- gave a visual overlay when inside locker (vimpaired)
- when inside disposal/gas pipes you get sight |= (BLIND|SEE_TURFS)
- glasses toggling updates (atmos meson toggle): DONE
- The new adjust procs serve to properly change eye_blind etc and call vision update procs when needed.
- I added an on_unset_machine() proc to handle perspective reset for camera consoles.
- I moved consequences of eye_check fail inside eye_check() procs themselves.
- I fixed vision updates being fucked by forceMove, especially pipe vision.
- I decided that damage overlay not appearing when dead.
- mob's hud_used is no longer deleted on each login()
- I refactored mob huds a bit, creating subtypes for each mob (/datum/hud/human)
- f12's hud toggling is now available to all mobs
- gave borgs a low_power_mode var so unpowered borg do not use stat= UNCONSCIOUS (which made things weird since you were unconscious but not blind)
- Fixed double Area entering when forced teleporting.
- I fixed larva pulling not being broken when cuffing them, and larva not seeing handcuff alert (and they can resist by clicking it)
- I removed pull updates from life() since it onyl checked for puller's incapacitation.
- I renamed camera/deactivate() to toggle_cam() to be more accurate.
- I fixed mmi brain being immortal (by removing the brain and putting it back)
- I simplified mmi brain emp damage.
2016-02-04 00:33:16 +01:00
Firecage
7f96592b87 Merge Conflict Fix 2016-01-27 13:29:38 +02:00
Menshin
f5b619147a Fixes lag on new player login. 2016-01-20 19:50:46 +01:00
Firecage
754491ce4c Changes relatives paths into absolute paths and makes some if()'s better 2016-01-17 01:36:56 +02:00
MrPerson
2f9c5b38f0 Removes the unused lastarea mob var
I think it was used for ambience music a long time ago.
2015-10-28 04:25:18 -07:00
Kyle Spier-Swenson
2f149c7361 adds span class to failed to teleport warning 2015-10-26 05:35:10 -07:00
Kyle Spier-Swenson
38bae5f833 Fixes arrivals shuttle getting destroyed breaking observing. 2015-10-26 05:31:16 -07:00
Razharas
0ad7257a52 Merge pull request #12089 from MrStonedOne/maprotation
HOLY FUCKING SHIT, I'VE DONE IT! Map rotation!
2015-10-07 07:53:42 +03:00
Jordie0608
398a3ea1d1 unmagics polltypes into defines 2015-10-05 17:44:37 +11:00
MrStonedOne
fcc8402f31 map rotation base code 2015-09-30 07:13:38 -07:00
phil235
f90ee4aa8c - Fixed monkey starting with no dna.
- Fixed bugs with monkeyize/humanize: 7803 (humanized monkey nobloodtype)
- Fixes 9298 monkeyed ling have troubles humanizing themself (already fixed?)
- Fixes despawning clothes when monkeyizing. 11855
- Replaced check_dna_integrity proc by simpler has_dna proc when required.
- created set_species() proc
- fixed space retrovirus not transfering SE (despite having a domutcheck()). Still need to check if it needs a name = real_name.
- I renamed mecha/var/dna to dna_lock to avoid confusion
- I renamed an armor var in a species proc to armor_block to avoid confusion with species/var/armor.
- I removed many if(dna) checks in lots of files.
- I removed duplicate defense procs between human/proc/X and dna.species/proc/X since dna is now always set.
- Anatomic panacea from changeling removes alien embryo correctly. 6247
- Fixes runtime when trying to put dna-less brain mmi into a dnalocked mech.
- Removed carbon/var/list/features, we now only have dna.features and prefs.features
- Remove hulk mutation from lizards and other species (Fixed 6413); only real humans can acquire hulk. (less work on sprites for each ones, fixes lizard tail not in hulk color)
- Fixes cloning not setting up correctly dna UE and dna.real_name
- I fixed the issue with sucked+cloned ling being unable to absorb
- I fixed issue with changeling proc checking if they have the dna already not working.
- Fixed 4095, low health hulk with DAA getting stuck in loop of acquiring/losing hulk.
- I added a second layer for mutations to differientate mutations that go below and above the body layer (Fixes 7858)
- Fixes 10048, the transform to initial appearence button was fucking up the dna.

- Fixes cloning not setting up correctly dna UE and dna.real_name
- Fixed the issue with sucked+cloned ling being unable to absorb
- Fixed issue with changeling proc checking if they have the dna already not working.
- Fixed 4095, low health hulk with DAA getting stuck in loop of acquiring/losing hulk.
- Added a second layer for mutations to differientate mutations that go below and above the body layer (Fixes 7858)
- Fixes 10048, the transform to initial appearence button was fucking up the dna.
2015-09-19 22:18:28 +02:00
Aranclanos
7daee1797b Fixes the latejoin message about the evacuation shuttle showing on incorrect times. 2015-09-01 15:38:56 -03:00
Chiefwaffles
1c59a84660 Dumb byond stuff fixed and merge conflict fixed for the gazillionth time. 2015-07-25 16:19:21 -07:00
Chiefwaffles
493fcf44c1 Moves AAS to /obj/machinery, adds power usage, deconstruction(/construction?) and new sprite. 2015-07-14 17:33:37 -07:00
Chiefwaffles
0059afb89c Adds announcement configuration. 2015-07-13 17:40:58 -07:00
Chiefwaffles
14fb54ce8d Adds support for common channel announcements; moves over latejoin announcement to announcement system. 2015-07-12 22:56:12 -07:00
Ikarrus
1c43425304 Tested and Tweaked 2015-07-12 09:50:57 -06:00
Ikarrus
3bc29a74e6 Adds a Join Queue if the server exceeds its hard population cap
Players can join a queue that will notify them with a message and sound when a slot becomes available. First come first serve.

Players have approximately 20 seconds to join after the notification. Failure to join in that window removes them from the queue, to remove AFKers.

I haven't tested the code yet but it's basically done.
2015-07-11 22:57:08 -06:00
MrStonedOne
de7b8c3c30 Removes privacy poll, part7: newplayer.dm
I forgot about this part.
2015-07-08 08:24:06 -07:00
Ikarrus
b1d8d049c1 Renames duplicate random_name() proc 2015-07-06 20:15:47 -06:00
Ikarrus
5e50b2b982 Update and Changelog
Lizard names are now "name1-name2"
2015-07-05 22:20:00 -06:00
Ikarrus
b0cfaf401f Random Names for Lizards
Lizards now have their own list of names to pull from when randomizing their names.
2015-07-05 18:35:56 -06:00
Ricotez
44b795138c -Adds new proc-based job check for species. If enforce_human_authority is set, the various pieces of code that deal with roundstart job stuff will call this proc on your preferred species with 2 arguments: the name of the job and the list of mutantparts you have currently set.
-The proc is defined as proc/qualifies_for_rank(var/rank, var/list/features), and by default defined to always return 1. You must override it locally in your species definition to set special job properties.
-Lizards will fail the check for jobs in command_positions and pass it for any other job. Just like before.
-Humans will always pass the check if they don't have ears or tails. If they do have ears or tails, they will fail the check if the job is in command_positions, engineering_positions, science_positions, medical_positions, security_positions or equal to "Quartermaster", effectively limiting their job selection to civlian, lower supply and silicon jobs.
2015-06-29 22:13:25 +02:00
Ricotez
84231643c5 -Humans with tails and/or ears are considered not entirely human, and locked out of important positions. 2015-06-27 22:51:07 +02:00
Cheridan
ed8dffca94 Merge pull request #9721 from Jordie0608/callingspicyfoodwickeddoesntmakesensetome
Bugfix: Witticism depleted editon
2015-06-03 09:49:51 -05:00
Jordie0608
33a4a73fe1 adds fallbacks for jobs if spawnpoints dont exist 2015-06-01 17:36:28 +10:00
Incoming
69f8f6575b Antagonists Will No Longer Show Up as MODE in round end reports.
Instances where the game would give special treatment to MODE players will instead check to see if a player's assigned_role (job) matches their special_role (antag status). All antags that start off station (as well as ninjas for some weird reason) were affected.

Fixes #8743
2015-05-25 15:58:32 -04:00
Aranclanos
bfb21553f1 Fixes #1190
Fixes a really strange case where the lobby music will play after you joined the round.
2015-05-23 06:30:28 -03:00
Ikarrus
3b96d74955 Admins can now adjust pre-game delay time
Instead of just a simple Pause/Play toggle, it lets admins set a longer (or shorter) time if they want.

Admins can still set -1 for indefinite delays.
2015-04-28 23:00:42 -06:00
Incoming5643
f5e1b851dc Updating from the git web interface is a bad idea, you shouldn't do it! 2015-03-03 15:50:40 -05:00
Incoming5643
95ee4a7d43 Sanity check 2015-03-02 22:47:53 -05:00
Incoming
4f44282664 Adds a free pass to assistants for player accounts younger than two weeks. 2015-03-01 17:15:25 -05:00
Remie Richards
88cc21cb6d Merge pull request #7963 from Incoming5643/manage_ass
Updates Manage Job Slots to work with assistant slots
2015-02-28 21:28:44 +00:00
Incoming
0bf9605888 spellang councet 2015-02-24 16:19:21 -05:00
Incoming
93a74c9df4 whoops, missed a debug message 2015-02-24 16:14:35 -05:00
Incoming
cbcc52beeb Updates Manage Job Slots to work with assistant slots
Any (non-silicon) job can now be set to be an unlimited slot job from Manage Job Slots

People will be allowed to join as assistant if no other jobs are availible

Removes a redundant sanity check from AssignRole()
2015-02-24 16:06:36 -05:00
Incoming
76b9fbb874 popcaphotfix: misused a max that could have rendered the hard popcap useless 2015-02-23 23:34:17 -05:00
Swag McYolosteinen
ac5fc9b044 Merge pull request #7544 from Incoming5643/popcapgames
Adds optional population caps
2015-02-23 17:20:02 +01:00
Deantwo
bdf077b4d8 Fixes ready spam 2015-02-12 15:40:26 +01:00
Incoming
7903aba6d3 Adds optional population caps for those that want them. These be dark measures, so tread carefully ye who dare enter this place.
There are three "levels" of popcaps, and you can use them in any assortment you like:

The "soft" cap produces a message on join, and takes no action.

The "hard" cap disallows joining whilst too many other people are alive and playing in game, but allows observing.

The "extreme" cap prevents people from joining the server at all while the cap is exceeded. It won't kick out people who failed to qualify during roundstart, but if they leave they won't be able to get back in.

In each case a customizable message config option has been given. Admins are also immune to most population caps (they still are hit by the ones in job shuffling, but can late join as normal afterwards)
2015-02-04 01:58:02 -05:00
paprka
2ba0cbbc7a Merge branch 'master' of https://github.com/tgstation/-tg-station into posfixes
Conflicts:
	code/modules/mob/dead/observer/observer.dm
2015-01-07 14:15:02 -08:00
carnie
a029a49392 SubSystem rewrite
Misc:

+Fixes unreported issue with initializing lighting on a specific zlevel

+Fixes two similar issues with moveElement and moveRange. Where fromIndex or toIndex could be adjusted incorrectly in certain conditions. Potentially causing bad-sorts, or out of bound errors.

+Rewrites listclearnulls(list/L) to no longer iterate through L.len elements for every null in the list (plus 1). i.e. went from L.len*(number_of_nulls+1) list-element reads (best-case), to L.len list-element reads (worst-case)

+New proc/getElementByVar(list/L, varname, value) which finds the first datum in a list, with a variable named varname, which equals value. You can also feed it atoms instead of lists due to the way the in operator functions.

+Fixes an unreported issue with Yota's list2text rewrite. Under certain conditions, the first element would not be converted into a string. Causing type-mismatch runtimes.

+New global map_ready variable. This is not fully implemented yet, but will be used to avoid duplicate calls to initialize() for map objects.

+All turfs now maintain references to all lights currently illuminating them. This will mean higher memory use unfortunately, due to the huge number of turfs. However, it will speed up updateAffectingLights significantly. I've used list husbandry to reduce baseline memory usage, so it shouldn't be any worse than some past atmos modifications memory-wise.

-Removed 'quadratic lighting', can add this back at some point. Sorry.

+modified the way lum() works slightly, to allow turfs to have overridden delta-lumen. i.e. space cannot be illuminated more than its default ambiance. This allowed removal of some iffy special-snowflake lighting areas implemented by somebody else.

+Lighting images in the dmi can now use arbitrary naming schemes. It is reliant on order now. This allows the dmi to be replaced by simply dropping in a new dmi.

-Removed all subtypes of /area/shuttle. Shuttles now create duplicate 'rooms' of /area/shuttle. (More on this later). This will conflict with most maps. Guide on how to fix to follow.

+All verbs/tools relating to world.tick_lag were refactored to use world.fps. However old config text for setting tick_lag will still work (it converts the value to fps for you)

+MC stats improved using smoothing. They now have their own tab so they dont get in the way when you're playing as an admin.

-removed the push_mob_back stuff due to conflicting changes. Sorry Giacom.

_OK, NOW THE ACTUAL INTERESTING STUFF_

Following systems moved over to subsystem datums:
air_master
garbage_manager
lighting_controller
process_mobs (aka Life())
nanomanager
power
sun
pipenets
AFK kick loops
shuttle_controller (aka emergency shuttle/pods), supply_shuttle and other shuttles
voting
bots
radio
diseases
events
jobs
objects
ticker

Subsystems hooks and variables should be commented fairly in-depth. If anything isn't particularly clear, please make an issue.

Many system-specific global variables have been refactored into

All tickers which previously used world.timeofday now use world.time

some subsystems can iterate before round start. this resolves the issue with votes not working pregame
2014-12-31 13:25:41 +00:00
paprka
e4afdad0b9 forgotten paragraph bracket 2014-12-28 04:24:30 -08:00
paprka
3dbd8e668e fixes some window size 2014-12-28 04:23:02 -08:00
paprka
389da595b8 expands the setup options menu 2014-12-25 11:32:47 -08:00
paprka
adc09ffe41 initial commit for bay ports 2014-12-17 23:42:09 -08:00
GunHog
6ac3d8f2e8 Lets AI and Borgs control auto announcements
The AI and cyborgs can now control if they speak on the radio and the
channel used when stating laws or  (AI only) announcing new player
arrivals.
2014-12-02 11:43:36 -06:00
tkdrg
8a93247ef8 Creates the "Always use random body" config option 2014-11-01 16:48:42 -03:00