Commit Graph

373 Commits

Author SHA1 Message Date
phil235
df171284cb Slimes now uses buckling to feed and attach themselves on mobs. This removes the silly check in mob/Move(), reducing lag.
Fixes mobs being able to attach slimes onto other mobs.
2015-10-10 20:41:27 +02: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
MrStonedOne
8d30d50c63 Adds a next map status tab entry. 2015-10-06 21:21:10 -07:00
MrStonedOne
fcc8402f31 map rotation base code 2015-09-30 07:13:38 -07:00
AnturK
a99ed56f27 Atom Buckling - Squashed 2015-09-24 16:21:05 +02:00
duncathan
51c09f16bf makes all Destroy()'s return properly 2015-08-31 00:21:01 -06:00
Kyle Spier-Swenson
8f1c084d23 Fixes pulling bug that led to FUN!
QUICK MERGE, MAJOR FUN REMOVAL.
2015-08-18 21:12:08 -07:00
c0
7495bf3569 Changed default message to more useful 2015-07-31 18:56:16 +03:00
c0
95285e7946 Changed cloning ghost notifications to be less copypasta 2015-07-31 18:42:03 +03:00
Jordie
b2948fcab7 Merge pull request #10659 from phil235/HandcuffOverlayFix
Handcuff, fire, overlays_standing fixes
2015-07-23 22:21:52 +10:00
MrStonedOne
7f58d930bb Shuttle Rotation Tweaks
This should fix shuttle walls not rotating back to their old state correctly when the shuttle docks elsewhere.
Also uses built in procs and caches the calculated rotation angle to improve shuttle docking speed by not calculating it again for every object.
This should also ensure that diagonal objects rotate correctly, rather then snapping back to a cardinal direction.
2015-07-20 04:28:46 -07:00
MrStonedOne
19ef482d87 Finishes carnmc's shuttle rotation feature.
Under carn shuttles, When shuttles dock at a docking port that is not the same direction as them, they rotate their bounding box, and they do magic i don't understand to rotate where the turfs get placed.

But it doesn't rotate the items or smoothwall or handle pixel_xy or any of that.

This fixes that.

Shuttle rotation will call /atom/proc/shuttleRotate(degrees)
Default behavior handles most cases, and overrides handle edge cases.

Shuttle walls don't smooth wall or obey directions, so I just rotate their icon using matrix transform, its dirty but it works.

See: https://tgstation13.org/msoshit/powrightinthekisser.png or https://tgstation13.org/msoshit/fuckingshuttles.png
2015-07-20 04:28:45 -07:00
phil235
d72cbcaf2f - fixes handcuff overlay on monkey not showing.
- Fixes the lack of handcuff icon on the hand screen object for alien humanoids..
- fix legcuff overlay not showing on monkey.
- fixes fire overlay for monkey, aliens and cyborg, no longer looks human shaped.
- Made the regenerate_icons's subprocs at the carbon level more OOP.
2015-07-17 01:15:21 +02:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
Razharas
1b793f89c8 Merge branch 'master' of https://github.com/tgstation/-tg-station into DarkClick
Conflicts:
	code/__HELPERS/unsorted.dm
	code/modules/client/client defines.dm

Fixes conflicts
2015-06-29 23:15:06 +03:00
phil235
28a030360c Fixes wrong message when a mob moves while inside another mob's stomach.
Fixes large xenoqueen having wrong icon when unconscious.
Aliens now naturally recover from stamina damage.
2015-06-25 02:15:49 +02:00
Razharas
ac7da92f5b Merge branch 'master' of https://github.com/tgstation/-tg-station into TrueAuto 2015-06-13 05:30:05 +03:00
Razharas
6d0c3840ab Merge pull request #9882 from MrStonedOne/mctweaks
Tweaks MC's dynamic rate system a bit. Lowers lag from singulo getting released.
2015-06-13 04:37:00 +03:00
Miauw
a34641bb6f Makes AI in-progress tracks not cancel if the AI moves. 2015-06-10 17:14:22 +02:00
MrStonedOne
14b258c655 Tweaks MC's dynamic rate system a bit
The MC will now track the total cost of all subsytems (normalized out to a per second cost number so that subsystems that only run every 10 minutes but are costly (looking at you server tasks) aren't accounting for 90% of the number when they shouldn't.)

This is now used in the dynamic wait subsystems to ensure they slow down when other things are being lagging

This mainly means that air won't lag things if the singulo gets free.

I also tweaked the scaling curve used by the dynamic wait system so that it scales less during slight lag, but much more during higher lag times.

I added qdel to the dynamic wait subsystem with a really high scale. This didn't make sense before, because it limits its run time, but now it can scale back how often it runs when the other subsystems are being laggy. I also lowered qdel's max runtime from 2ds to 1ds, because deletes take 0.9 ds on avg, so it would end up running for 2.9ds often.

This should prevent air+singulo+qdel causing excessive amounts of lag.
2015-06-10 05:04:56 -07:00
Razharas
cdc32a50c3 Made special object instead of using blindscreen
Made special object instead of using blindscreen
2015-06-06 07:10:46 +03:00
kingofkosmos
1d14471d00 Ellipses to waiting messages. Warning-spanclasses to failing messages with an exclamation mark. 2015-04-24 20:50:50 +03:00
phil235
6807b1ae48 Merge branch 'master' of https://github.com/tgstation/-tg-station into AlienNestPixelFix
Conflicts:
	code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
2015-04-16 23:44:12 +02:00
MrPerson
58a1f12103 Makes light objects not appear via alt-click
Fixes #8954
2015-04-14 20:59:52 -07:00
phil235
0f6a60600d Fixes alien nest overlay appearing above standing mobs. Also fixes lying mobs appearing in front of standing mobs.
Fixes alien humanoid custom pixel shift being reset by life(). Refactors how pixel reinitialisation (when standing or lying or during animations) is done. Adding get_standard_pixel_y_offset() proc (and same for x), removing lying_pixel_y_offset var from all mobs, adding custom_pixel_x_offset (and y) so Wjohnston can play with his aliens.
2015-04-14 14:55:05 +02:00
Jordie
ae120db87c Merge pull request #8728 from AnturK/action_button
Generic Action\Action Button System
2015-04-13 18:22:08 +10:00
phil235
5f169e8e47 Remove SpeciesCanConsume() proc, replaced by iscarbon checks.
Remove alloweat var from masks, remove MASKCOVERSMOUTH flag from mime and clown masks so you can still eat through them.

Some adjustments in surgery checks for bodyparts covered.
Fixes a runtime in weapon/energy attack_verb.

Humans can now CPR monkeys.
Slight changes to CPR code.
Fixes runtime with drones trying to do CPR.

Rewrites /obj/item/weapon/reagent_containers/proc/canconsume to be less shitty.

Adds an is_mouth_covered() proc to carbons to check for mask and headgear with MASKCOVERSMOUTH or HEADCOVERSMOUTH, with argument to restrict the check to only mask or only head.
2015-04-11 22:16:42 +02:00
AnturK
e2c869bc77 - Adds generic action and action buttons system 2015-04-11 17:06:43 +02:00
phil235
314e9424ae Giving simple_animal their own version of update_canmove(). This fixes small animals' density being always set to 1 by life().
Fixes pixel y shift when lying down as an alien.
Removes the no longer needed slime/update_icons.dm
Fixes alien icon var being reset to its initial value during every life(). I added an alt_icon var to aliens to achieve that.
Fixes alien humanoid no using the unconscious icon instead of their sleeping icon when sleeping.
2015-03-30 22:11:05 +02:00
Cheridan
da1e6f57f0 Merge pull request #8334 from MrPerson/cleanup_crew_comin_through
Code cleanup
2015-03-15 01:55:39 -05:00
MrPerson
e7ba8df654 Moved all pull icon updating to update_icon(), to reduce copy+paste.
Made the pull icon update_icon() as part of creation as requested by oranges.
2015-03-13 12:10:13 -07: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
MrPerson
692cfa4f1f Pulling icon en-speedening
Made the little pulling icon on the bottom right corner of your screen update right away when you start or stop pulling instead of updating as part of life(). Or Move().
2015-03-10 08:54:12 -07:00
Cheridan
00be838acc Merge pull request #8011 from Jordie0608/CMOSisforscrubskeepyourcomputerclocksavedinRAM
Server time for status panel
2015-03-02 08:32:48 -06:00
Jordie0608
4f160e4833 server time for status panel 2015-02-26 20:15:15 +11:00
Jordie0608
28f88dd15c Cleanup of changelog related files 2015-02-26 00:57:01 +11:00
phil235
e9a943218c Fixes being able to break free from a pull while handcuffed if the puller is buckled.
Add the incapacitated proc to mobs to check for stat, stun, weakened, paralysis, restrained. And replacing those checks by that new proc in some places.
2015-02-21 14:49:47 +01:00
Swag McYolosteinen
58648d267e Merge pull request #7271 from Incoming5643/Maybe_it_ran_out_of_gas
Shuttle Stranding
2015-01-27 17:55:26 +01:00
Cheridan
d649846100 Fixes Weaken() for Ergo 2015-01-23 22:50:59 -06:00
Incoming
d7bca48557 Shuttle stranding:
Removes fake recalls, the shuttle will arrive in rounds that usually would not allow shuttles (rev, malf, blob) but when the time comes for the shuttle to leave, it simply won't.

What this does:
-It gives a bonus ~8 minute delay to antag discovery on shuttle calls
-It punishes crews that call the shuttle at first sign of danger by:
--Rev: having the heads/potential converts huddle in predictable locations
--Blob/Malf: Distracting focus from the antag
-Gives a nice little OH SHIT moment when the shuttle doesn't launch

Essentially this turns shuttle calls into something you wouldn't attempt without confirmation of the round type, which is the opposite of how it functions currently.

Malf AIs also gain the ability to recall the shuttle to avoid the hard tell if they prefer.
2015-01-21 17:35:45 -05:00
Remie Richards
17654037db Ports Mloc's Refactor of buckling, All /obj can now buckle things. HE Pipes now change colour based on heat. 2015-01-14 19:07:18 +00:00
Menshin
435ccf7ff9 * OOP'ed ear damages/deafness status updating
* Silicons are now immuned to ear damages/deafness
* Only living mobs can now take ear damages/be deafened
* Simple animals are now healing ear damages/deafness at the same rate as other living mobs
* Fixes being able to hear AI announcements when deaf
2015-01-13 00:40:46 +01: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
Cheridan
e4f42a2aef Merge pull request #6750 from phil235/VisibleMessageFixing
Fixes visible_messages.
2015-01-07 20:06:21 -06:00
tkdrg
1716a82400 Merge pull request #6794 from psykzz/patch-4
Cell() Update
2015-01-06 01:22:30 -03:00
Matt Smith
249e19b935 Cell() Update
Was being output straight to the user, it looked like that might cause the order to be wrong.
Doing this because it looks like the intended results.
2015-01-04 15:11:52 +00:00
carnie
a3f5e7ebfd Merge branch 'master' of https://github.com/tgstation/-tg-station into SubSystems
Conflicts:
	code/game/gamemodes/setupgame.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/reagents/Chemistry-Machinery.dm
2015-01-04 01:52:14 +00:00
phil235
f6003e12b5 Fixes visible_messages. Now ghost will properly see visible_messages and will only see the audible part of a visible_message if the src is hidden inside a container.
Fixes people seeing visible_messages from a src that is in the dark or inside a container; and fixes people not seeing the message when they are in the dark but not the src.
2015-01-02 16:10:54 +01: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
Razharas
76a21883a8 Merge branch 'master' of https://github.com/tgstation/-tg-station into GenShit
Conflicts:
	code/game/mecha/mecha.dm
	code/game/objects/structures/tables_racks.dm
	code/modules/mob/living/silicon/silicon.dm
	code/modules/projectiles/gun.dm

Fixes dem conflicts
2014-12-28 11:20:15 +03:00