Commit Graph

12968 Commits

Author SHA1 Message Date
Aryn
83fdc0942c Completed arduous process of standardizing new code. 2014-02-19 16:56:53 -07:00
Aryn
bc971b01ea New ZAS version, stable and efficient. Git broke the everything so it's in one commit. 2014-02-19 16:47:53 -07:00
Chinsky
fac3b8c580 Merge pull request #4460 from Ccomp5950/FUCK_recursive_mob_check
Compile fix / optimizations
2014-02-19 16:49:54 +04:00
Ccomp5950
04a0537b1f Compile fix / optimizations
Removed client check from mob so that if a pAI is being held by a SSD client it can still hear.

Removed 3rd deep .loc check 2 is plenty, and was making the proc rather expensive
(if you shove a pAI in a bag and toss the bag into a locker, the pAI will be deaf, you jerk).
2014-02-19 00:12:14 -06:00
Ccomp5950
0ec00981f8 Unintended feature/bug.
Players viewing through security cameras can hear, this is a bit to powerful.

So removing, it's easy to readd the feature later on.
2014-02-18 20:00:16 -06:00
Chinsky
0080e1f293 Merge pull request #4459 from Ccomp5950/FUCK_recursive_mob_check
Unintended feature/bug.
2014-02-19 06:00:01 +04:00
Chinsky
225b195934 Merge pull request #4454 from Loganbacca/bayfix
Various fixes
2014-02-19 04:25:17 +04:00
Chinsky
2810cfc3cf Merge pull request #4457 from Ccomp5950/FUCK_recursive_mob_check
Code effeciency project: /proc/get_mobs_in_view - hot
2014-02-19 04:24:31 +04:00
Chinsky
3052a3bde7 Merge pull request #4451 from JoeyJo0/master
Fixed #4439 and a small issue in the TCommSat
2014-02-19 04:22:55 +04:00
Loganbacca
ec3ae41708 Mech fab upgrade fix
Nano manipulators were not lowering build time at all.
Stock and Pico manipulaors were lowering build time by 6%.

This fixes that. Now: Stock = standard build time, Nano = 6% faster, Pico = 12% faster.
2014-02-19 12:49:27 +13:00
Ccomp5950
af19351608 Further optimizations, no need to loop through items with multiple istype checks 2014-02-18 06:51:45 -06:00
Ccomp5950
d29a7fb260 pAI / MMI emote fixes.
Fixes #4191
2014-02-18 06:47:06 -06:00
Ccomp5950
5909abb080 This is rather ironic...
My VERY FIRST PR, I used it to make ghost chat be bold, instead of using viewers() to figure out
what ghosts could see the mob, I used get_mob_in_view() which sounded pretty descriptive.

Unfortunately for me it was one of the most CPU intensive ways of determining who could view the speaker for this.

So yeah, removing the second get_mobs_in_view and replacing it with viewers()

Yes this code has been in since Oct/Nov time frame :(
2014-02-18 05:40:06 -06:00
Ccomp5950
4e09cf33ac Code effeciency project: /proc/get_mobs_in_view
Before:  Everytime you say something. This proc is ran.  Along with it, recurses through EVERY /obj/ & /mob/ in view's contents, and EVERY /obj/ & /mob/ in that contents...and once again.

After:  Fuck recursion, we're going to loop through clients and see if they are within any obj's or mobs within one iteration.  MUCH cheaper, and probably less buggy.

If someone can't hear everyone and they are within an object and it's not catching?  add it to the list commented for it of type checks.
2014-02-18 02:11:59 -06:00
Loganbacca
42946bd2ad Vent pump efficiency
- Tweaked the pressure delta check to "> 0.5", so pumps will stop transferring minor volumes of air every tick (because a delta of 3.05176e-005 is still greater than 0). This also reduces the calls to gas_mixture/merge() and gas_mixture/remove() significantly once the air in the environment has equalized.

The results after running the game for 10 minutes:
```
Proc Name												Self CPU	Total CPU	Real Time	Calls
/obj/machinery/atmospherics/unary/vent_pump/process		0.035		0.141		0.141		3808	<- before
/obj/machinery/atmospherics/unary/vent_pump/process		0.014		0.042		0.043		3808	<- after
```
2014-02-18 16:16:10 +13:00
Loganbacca
b8b1bd82a4 Wardrobe fix
Fixes #4447

- Added a parent call to each wardrobe subtypes New() proc.
Wardrobes weren't calling obj/structure/closet/New(), so weren't adding items in the same location to their contents when first created.

- Removed wardrobe/New() proc.
So all subtypes don't inherit an extra set of blue uniforms and brown shoes. Only one wardrobe on the map is of this type, and it's on the derelict, so didn't think it was worth making a map change.
2014-02-18 11:12:27 +13:00
Mloc
eb593a628f Merge pull request #4449 from Ccomp5950/apc_icon_fix
Code effeciency project: apc update_icons
2014-02-17 15:55:29 +00:00
Mloc
242aae0f97 Merge pull request #4450 from Ccomp5950/dna2-everyone_human_fix
DNA2 fix.
2014-02-17 15:55:07 +00:00
Loganbacca
347f4068c6 Various fixes
- removed double windows
- added pipe dispensers
- removed one rogue wire
- rearranged the atmos monitoring room based on forum feedback
- changed radiation collector blast doors to same switch network
- tweaked poddoor New() function so they render over glass if closed at round start
- setup engine room pipe network to neutralize the SM at round start - it now cools the nitrogen in the chamber
- added extra functionality to advanced airlock "purge" and "secure" buttons
- made a few tweaks to airlock/door controller NanoUI
2014-02-18 00:24:20 +13:00
Chinsky
79683c5206 Merge pull request #4448 from Segrain/master
Smallfix.
2014-02-17 03:28:43 +04:00
Joey Haas
296e839f03 Fixed issue #4439 (Detomax ignores status of messaging server) 2014-02-17 00:18:28 +01:00
Ccomp5950
de865875cb DNA2 fix.
Before:  If you shoved a skrell, cat, or any species other then human in the cloner, they came out human.

After:   Cloning works like it should.
2014-02-16 14:18:30 -06:00
Ccomp5950
71b41e9ac7 ZAS debug_verb runtime prevention. 2014-02-16 13:31:56 -06:00
Ccomp5950
a7ae5d9a6d Merge pull request #4432 from RKF45/pdabomb
Quick fix for PDAs
2014-02-16 12:53:57 -06:00
Ccomp5950
9c5f96cc58 Code effeciency project: apc update_icons
Before:  It updated the icons quite a bit at the start of the game.

After:  It updates more often and quicker, but now it isn't as expensive
2014-02-16 10:59:19 -06:00
Segrain
47cca1dde8 Fix for #4446. 2014-02-16 18:08:12 +03:00
Mloc
52847adce6 Merge pull request #4440 from Ccomp5950/dev-freeze
Supermatter will stop processing when it's in space.
2014-02-16 14:24:05 +00:00
Ccomp5950
db33fb6425 ZAS_Debug verb.
Applys a client side only layer of colors over the various zones to show if they are connected or not.

Green is your current zone
Blue is adjacent zones that are connected.
yellow is zones that are connected but not adjacent to your current zone.
Red is for zones that aren't connected at all.
2014-02-16 02:22:49 -06:00
DJSnapshot
009b4737af fix for semi-annoying typo. 2014-02-15 23:54:32 -08:00
DJSnapshot
5690e2e4c7 Code cleanup for traitors 2014-02-15 23:42:37 -08:00
Zuhayr
cf1a35d8e3 Merge pull request #4429 from Ccomp5950/hide_debug_verbs
Admin Request:  Hide Debug Verbs
2014-02-16 17:58:37 +10:30
Ccomp5950
2d413966cc Debug verbs are now maintained as a single list
instead of having to maintain them in multiple places.
2014-02-15 18:54:08 -06:00
Ccomp5950
ce6cd1c133 Supermatter will stop processing when it's in space. 2014-02-15 17:20:54 -06:00
Vetinari
1ab6ff320c medical manual
Added medical manual (wiki guide), cmo notes on desk & fixed some radios
2014-02-16 02:29:20 +11:00
Loganbacca
31c24df5e8 Chem grenade fix
- Restored "steam" code to chem grenades to handle grenades that don't have any reagents in them that react i.e. water grenades. (I removed it thinking it was only in there for handling foam reagents, but it seems it has more uses.)
This splashes the surrounding area in whatever reagents were leftover in the grenade after all reactions have occurred.
2014-02-15 23:30:56 +13:00
Zuhayr
0e778bcdb7 Merge pull request #4428 from Ccomp5950/canister_icon_fix
Code effeciency project:  Canister icon updates
2014-02-15 12:21:37 +10:30
RKF45
d213d8cb80 Quick fix for PDAs 2014-02-15 02:07:21 +01:00
DJSnapshot
2a28269363 Merge pull request #4398 from RKF45/pdabomb
PDA bombs are now more balanced and random.
2014-02-14 16:40:26 -08:00
Ccomp5950
16e7da35c9 Admin Request: Hide Debug Verbs
Gives admins (and devs) the ability to hide the debug verbs after enabling them.
2014-02-14 03:11:52 -06:00
Ccomp5950
56f61d2296 Code effeciency project: Canister icon updates
Before:  If a canister is hooked up to a connector port it's icons were being deleted and recreated every tick.

After:  We store an update_flag that is a bitfield of the current icon and overlay states, and created a proc to check if it should change.  If not, we don't mess with icons.  Real simple.
2014-02-14 02:33:28 -06:00
Ccomp5950
b392ab8e0e Code effeciency project: handle_embedded_objects
Before:  EVERYTIME someone moved their character this proc would be called and loop through every organ looking for implanted items to see if it needs to apply damage.

After:  We create a flag that is set when an item embeddes, only when that flag is set do we do that loop through organs upon movement.  Also every 10 ticks while that flag
is set we will check to see if we need to unset it.
2014-02-13 21:56:58 -06:00
Loganbacca
d378eb0692 Chem grenade fix
Missed this in my last commit:
- Added a result amount for chemsmoke so it calculates the created_volume correctly
2014-02-14 15:44:45 +13:00
Chinsky
499e364971 Merge pull request #4416 from Loganbacca/foam
Chem grenade fixes
2014-02-14 01:35:27 +04:00
Chinsky
8e0c06c541 Merge pull request #4412 from Ccomp5950/pai-messenger
pAI messenger bugfix.
2014-02-14 01:32:30 +04:00
Ccomp5950
4f3c404455 People in lobby won't see PDA messages. 2014-02-13 13:03:13 -06:00
Ccomp5950
f0b6c51c9d Code effeciency project: Sun datum
Because of the wrong direction of this sign, every single solar array was being checked for occlusion every tick.

This should fix that right up.

Trackers set to update their angle only when the sun does.

Solar panels set to calculate occlusion every minute (was every tick (though thought to be set to every 6 minutes (36 degrees)), now checks every 6 degrees of sun movement or so)
2014-02-13 05:36:46 -06:00
Loganbacca
d1b37a5392 Fixed cable colors
- Fixed a couple of lines of code in power.dmi so that cables correctly update their color
- Fixed the contrast of the cable icons
2014-02-13 17:05:07 +13:00
Loganbacca
d35fbfd562 Airlock controller rewrite
- /datum/computer/file/embedded_program moved from embedded_controller_base.dm to code/game/machinery/embedded_controller/airlock_program.dm
- embedded_controller_base.dm cleaned up and identical parts of the controller subtypes were moved here
- embedded_controller subtypes moved to code/game/machinery/embedded_controller/airlock_controllers.dm
- Added nanoUI templates for airlock controllers
- Added a couple of classes to nano/css/shared.css for colouring buttons
- Minor map update to maintain airlock compatibility and fix a broken airlock near virology
2014-02-13 14:23:02 +13:00
Loganbacca
8fc4e4e7db Minor tweaks and fixes for airlock equipment
- Fixed DP vent pumps not changing direction
- Made airlock_sensor more versatile (and backwards compatible with old airlock code)
- Added airlock_sensor and access_button airlock subtypes for easier mapping
2014-02-13 14:21:18 +13:00
Loganbacca
02810f7e89 Chem grenade fixes
Fixes #3986

- Foam reagent inheritance fixed:
The trans_to() proc in Chemistry-Holder.dm was calling handle_reactions() every time it would add and remove reagents with add_reagent() and remove_reagent(). I've added a safety flag to both of these procs (and copy_to()) so that trans_to will not call handle_reactions() until it has added all the reagents to the target container. This allows foam to reliably take on the properties of other leftover reagents.

- Fixed a bug in effect_system.dm that wasn't applying reagents from foam to the environment.

- Tweaked smoke to apply reagent effects after it has stopped moving
This was causing huge reagent spam at the center of the smoke cloud as it was spawning, since they were being applied every time the cloud of smoke moved. Also changed it to apply the effects 2-3 times at longer intervals (2 seconds).

- Smoke also only effects tiles in a 3x3 grid now, rather than 5x5.

- Summary:
Chem smoke does slightly less damage (if it contains damaging reagents)
Chem smoke proc calls reduced by 60-70% (significant lag reduction)
Foam works properly again
Foam proc calls reduced by 70-80%
2014-02-13 00:15:02 +13:00