Commit Graph

182 Commits

Author SHA1 Message Date
phil235
83633edfed - I renamed some of the new adjust procs and create new ones for eye_blind,eye_blurry and eye_stat so they get three procs just like weakened/sleeping/etc.. (Sleeping, AdjustSleeping, SetSleeping)
- renamed the eye_stat var to eye_damage.
- mob/on_varedit() added. Manually var editing a mob's eye_blind var properly updates his vision.
- I removed update_vision_overlays(), we now just update the relevant fullscreens instead of all fullscreens whenever one needs to be updated.
- fixed climbing into mecha not giving you mecha sight.
- simplified and removed copypasta from update_tinttotal() (now update_tint() )
2016-02-07 18:50:18 +01: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
MrPerson
e1b3815539 Fixes some awful defines to not be hacks 2016-01-22 19:07:37 -08:00
Firecage
0cb6814c18 Merge conflict fix 2016-01-17 19:15:30 +02:00
Firecage
332bde0f4f Does the rest of the if()'s/ else's 2016-01-17 19:03:12 +02:00
duncathan
9066bc7c4f Merge branch 'master' of https://github.com/tgstation/-tg-station into listmos
Conflicts:
	code/controllers/subsystem/air.dm
	code/datums/gas_mixture.dm
	code/game/objects/items/devices/scanners.dm
	code/modules/mob/living/carbon/human/species.dm
	code/modules/mob/living/carbon/life.dm
	tgui/assets/tgui.css
	tgui/assets/tgui.js
	tgui/scripts/interfaces/atmos_filter.ract
2016-01-13 20:07:21 -06:00
Cheridan
6c9fa9eb72 Merge pull request #14389 from phil235/VisibleMessageRefactor
Refactor the visible_message() proc to be faster in some cases.
2016-01-09 22:16:57 -06:00
KorPhaeron
d76f6ad564 Hippie 2016-01-06 12:46:21 -06:00
phil235
e225fbc850 - Refactor the visible_message() proc to be much faster.
- Replacing some "for(var/mob/o in viewers()) show_message()" by "visible_message()".
- Replacing some "show_message()" by " << "..." " instead.
- Fixes being able to see the results of the health and slime analyzers while blind.
-
2016-01-04 22:49:27 +01:00
duncathan
8392974ad0 fixes associative list; adds gas_overlay to "datum gases" 2015-12-29 22:50:09 -06:00
duncathan
17f167bcb7 associative list 2015-12-29 13:33:12 -06:00
duncathan
b18cb5fca8 making shit compile 2015-12-28 08:31:20 -06:00
Tkdrg
20fe2e4bb5 Removes PDA chatrooms
Nobody used them, and they were cluttering PDA Topic() needlessly.
Rest in peace, my child. You were too good for this world.
2015-11-07 23:51:48 -03: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
Razharas
73db85100c Merge pull request #11769 from phil235/FixMutations
Some dna fixes
2015-09-15 22:31:59 +03:00
phil235
428a28a440 Fixes monkeyize/humanize removing the mob's viruses when they should be kept.
Fixes NOCLONE and CLUMSY being in both disabilities and mutations. they're now only disabilities.
Fixes minttoxin not gibbing people with the fat disabilities.
Fixes some runtimes, replacing usr by user in some places.
Fixes mutation overlays being removed when updating overlays.
Remove the now unused mob/var/list/mutations and human/var/blood_type
Fixed some formatting in preferences.dm
2015-09-13 22:52:38 +02:00
bear1ake
f697ae90f5 removes a bunch of .0 2015-09-10 20:57:30 +09:00
phil235
24398018c3 Fixes not being able to spawn a pai manually.
Fixes not being able to remove your inserted tank from a huge scrubber by removing the ability to insert a tank inside a huge scrubber.
2015-07-22 15:30:31 +02:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
kingofkosmos
c8d79e7034 Removed unnecessary spaces in these situations:
"span class = '" changed to "span class='"
"'> " changed to "'>"
2015-06-14 12:13:19 +03:00
Miauw
a34641bb6f Makes AI in-progress tracks not cancel if the AI moves. 2015-06-10 17:14:22 +02:00
kingofkosmos
a7bd5f93e1 "You hear something" set to italics. 2015-04-24 21:06:16 +03:00
phil235
8499413649 Makes living/verb/resist more object oriented.
Adds a fourth mob size "MOB_SIZE_TINY" to differentiate corgi size and mouse size. (used in bear trap code)
Rewrites beartrap/Crossed() to have less istype checks.
Adds a flying var to simple animals (used in bear trap code)
Makes pulling update in living/life.dm() to fix pulling not stopping when you're incapacitated.
2015-04-06 18:45:37 +02:00
phil235
ffd711c26f Merge branch 'master' of https://github.com/tgstation/-tg-station into SlimeAnimal
Conflicts:
	code/modules/mob/living/carbon/life.dm
	code/modules/mob/living/carbon/slime/slime.dm
	code/modules/mob/living/simple_animal/friendly/corgi.dm
	code/modules/mob/living/simple_animal/slime/say.dm
	code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm
2015-03-23 16:51:03 +01:00
phil235
aecb365f84 Merge branch 'master' of https://github.com/tgstation/-tg-station into SlimeAnimal
Conflicts:
	code/modules/mob/living/carbon/alien/life.dm
	code/modules/mob/living/carbon/life.dm
	code/modules/mob/living/carbon/slime/slime.dm
	code/modules/mob/living/silicon/robot/life.dm
	code/modules/mob/living/simple_animal/slime/life.dm
2015-03-20 19:32:16 +01:00
Miauw
49a3cea290 Fixes #8168 for real. 2015-03-19 20:53:21 +01:00
Miauw
c4892765db Makes the sayspan rewrite not runtime everything to fuck.
Also fixes #8168
2015-03-19 20:42:33 +01:00
Miauw
1873143e63 Initial say cleanup commit. 2015-03-18 19:23:31 +01:00
phil235
1e720ae033 More work on living/life.dm(), simple_animal/life() and robot/life(). 2015-03-14 16:30:59 +01:00
MrPerson
9038fb15af Code cleanup
Removed a bunch of unused or hardly used vars on /mob and /atom/movable.
Added defines for mob/living/var/mob_size so it's not using magic numbers.
2015-03-13 10:41:00 -07:00
Miauw
f84f6aafcd Fixes adminjump being dumb. 2015-03-07 19:00:48 +01:00
paprka
e68a4027b2 double exclaimation points 2015-02-22 03:50:40 -08:00
Miauw
04ad06eca0 Fixed #126. MMIs and pAIs can now be teleported properly.
Revamped the AI get/jump procs to use admin_forcemove(), which makes sure that mobs are moved by setting various vars and then calling Move().
2015-01-29 18:50:48 +01:00
Nienhaus
3733c4ff48 Merge pull request #7230 from paprka/painigga
Adds walterje's pais
2015-01-21 19:51:19 -06:00
Cheridan
d527b99fd7 Merge pull request #7202 from Iamgoofball/goonetics
Robots now speak in a different font.
2015-01-20 23:18:11 -06:00
paprka
25a54a7466 adds walterje's pais 2015-01-20 14:31:17 -08:00
Iamgoofball
22ff5dc362 changes the font type and adds pAI support 2015-01-19 11:02:46 -08:00
carnie
a44795a699 Resolves #6993 - Moved pai controller into a subsystem. 2015-01-15 23:50:46 +00:00
carnie
2d26c7e2bd Resolves #6927 - Many Stat() procs did not have if(statpanel("panelname")) checks. 2015-01-11 17:01:41 +00:00
carnie
6643519866 Resolves #6890 - Uses ETA for centcom->station, ETD for station, ESC for station->centcom, RCL for station->centcom(recall) 2015-01-10 01:11:49 +00: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
phil235
c667feeb61 Merge branch 'master' of https://github.com/tgstation/-tg-station into RecursiveHearVisibleMessage
Conflicts:
	code/modules/reagents/Chemistry-Holder.dm
2014-12-19 15:23:16 +01:00
phil235
be1b02059f Merge branch 'master' of https://github.com/tgstation/-tg-station into RecursiveHearVisibleMessage
Conflicts:
	code/game/machinery/doors/windowdoor.dm
	code/game/mecha/mecha.dm
	code/game/objects/structures.dm
	code/game/turfs/simulated/walls.dm
	code/modules/mob/living/carbon/human/human_defense.dm
	code/modules/mob/living/living_defense.dm
2014-12-05 22:02:01 +01:00
Razharas
7758a0afed Ok now explosions shall work properly
Changed severity to target, make items not destroy themselves on
severity lower than 1, all that stuff
2014-12-05 23:21:48 +03:00
phil235
d545eb7f9f Visible_message() now uses recursive_hear_check so mob inside something can see those messages. Fixes being able to see visible_message w/o seeing the src of it (happened when the src could see us but not the other way around), you no longer see visible_message from mobs inside closets for example.
Fixes pAI being deaf.
Removing some no longer needed occupant_message() in mecha code.
Fixed some typos and span class here and there.
2014-12-04 01:08:04 +01:00
phil235
22e0771eb9 Fixes more span classes. Replaces some "for() show_message()" with "visible_message()". Adding a suicide message for slimes. Fixes simple_animal/corgi having two attackby procs. 2014-11-28 16:08:59 +01:00
Razharas
c5209f2399 Merge branch 'master' of https://github.com/tgstation/-tg-station into Cfour 2014-11-27 15:30:37 +03:00
hornygranny
c79ea305a0 Merge pull request #6056 from tkdrg/paintsl
Fixes pAI NTRC
2014-11-25 17:42:29 -08:00