Commit Graph

605 Commits

Author SHA1 Message Date
Razharas 080156bba1 Merge pull request #10085 from phil235/AcidFix
Acids, Smoke, Foam, reagents reaction() refactors
2015-06-28 16:57:20 +03:00
Razharas 6c488b289a Merge pull request #9885 from kingofkosmos/latheexofabspittingstuff
Autolathe produces items on top of itself
2015-06-28 16:16:31 +03:00
phil235 a029f2852a Merge branch 'master' of https://github.com/tgstation/-tg-station into AcidFix
Conflicts:
	code/modules/reagents/Chemistry-Reagents/Blob-Reagents.dm
2015-06-24 21:15:09 +02:00
phil235 b0cd6d34b1 Lots of work on acids, smoke, foam, reagents reaction() proc.
- fixed the fraction argument in reaction(...., INGESTED, fraction) so the proper amounts of each reagent react, not all of it.
- slight optimization of datum/reagents/reaction()
- small optimization /datum/reagent/proc/reaction_mob
- the smoke's reagents no longer do direct transfer upon crossed()/move() but uses "reagents.reaction( mob, TOUCH)" only.
- fixes no ingesting smoke if it's in the dark.
- removed block gas smoke effect flag from clown mask and other non "actual" gas mask.
- refactor how protection against touched chems being absorbed is done. get_permeability_protection() to get that protection. No more

simple RNG get touched or not, now the amount that touches you depends on your protection and the volume in question.
- changes acid_act to take volume into account.
- chem_smoke now uses process() just like foam, we remove the reaction from crossed() and Move(), it's only done in process() now.
- optimization of effect/smoke, OOP! And now all smoke effects use objprocessing instead of shitty sleep/spawn
- removed mob var/coughedtime.
- add a volume check to item/acid_act(), there's a threshold to be able to melt and then a probability to melt (acidpwr&volume).
- greatly lowered the amount of reagent in the smoke from dead blobspore (so the volume isn't enough for melting)
- human/acid_act(): damage to limbs depends on acidpwr&volume.
- fixes metalfoam not working.
- smoke powder: only one start() call.
- Amound of smoke objects depends on amount of smoke recipe created.
- Adds an argument to add_reagent() to block automatic call of handle_reaction()
- When using reagents/proc/trans_to(), reactions are now only handled after every reagent is transfered and not before.
- Amount of smoke objects depends on amount of smoke reagent created.
- radius of foam reaction depends on amount of foam reagent created.
- The amount of other reagents inside the smoke/foam decides the life expectancy of the effect.
- The amount of reagents in each small smoke cloud/foam cell depends on the amount of other reagents in the initial reaction but also

how much smoke/foam was created (more smoke means dilution of the reagents).
- smoke/foam's reagent reaction on mob decreases the life expectancy of the effect (to avoid reagent duplication)
- The amount of reagent reacting with atoms is less if the life expectancy is high.(to avoid reagent duplication)
- The amount of movement from the smoke now depends on the number of smoke clouds created.
- removing some useless code in chem_grenade/prime().
- When calling human/acid_act(), item acid melting chance lowers after each each successful melt in the list, some of the acid is

"used" to melt that item so the next items have a lower chance to melt (to make melting every clothing harder).
- remove the banned reagent list from sprays, not needed anymore now that acid is nerfed.
- chem_grenade reaction, if there's no reagent left after reaction (smoke/foam/etc, reagents cleared) you don't get the steam effect

and immediate reaction with all atoms around the grenade explosion. (Fixes foam cleaner grenade deleting bloodstains around it as soon

as the grenade explodes, even if the foam hasn't reached the tile yet).
- melted storage items now drop their content instead of deleting everything.
2015-06-22 00:35:24 +02:00
Jordie0608 cc8467972c stat checks for update_icon 2015-06-21 21:31:14 +10:00
Remie Richards c79963f7b7 Merge pull request #9792 from GunHog/AI_STOLE_MY_BIKE
Malf AI module changes + Mechs for normal AIs!
2015-06-21 00:30:03 +01:00
Cheridan a2948ba203 Merge pull request #9956 from Jordie0608/whocodesthecodemen
Various admin improvements
2015-06-20 00:53:30 -05:00
phil235 e6dcabf245 Merge pull request #9960 from xxalpha/bass
Put drop_item() calls inside ifs. Replaced some drop_item() with unEq…
2015-06-18 15:50:35 +02:00
Jordie0608 0bf6f09969 Merge branch 'master' of https://github.com/tgstation/-tg-station into whocodesthecodemen
Conflicts:
	code/modules/admin/verbs/pray.dm
2015-06-16 17:24:20 +10:00
GunHog fd27d9d3bb Merge remote-tracking branch 'remotes/upstream/master' into AI_STOLE_MY_BIKE
Conflicts:
	code/game/gamemodes/malfunction/Malf_Modules.dm
2015-06-15 12:26:28 -05:00
GunHog bc11259282 Merge remote-tracking branch 'remotes/upstream/master' into AI_STOLE_MY_BIKE
Conflicts:
	code/game/machinery/computer/aifixer.dm
2015-06-15 11:27:11 -05:00
phil235 ae8c69f9a7 Merge pull request #9955 from kingofkosmos/spanspaceremoval
Unnecessary space removal from spans and messages
2015-06-15 18:20:04 +02:00
xxalpha b2e84a0d3c Put drop_item() calls inside ifs. Replaced some drop_item() with unEquip( 2015-06-14 20:11:40 +01:00
Jordie0608 a67de221cc JMP replaced with FLW, fixes and adds a bunch of key_name checks in adminlogging 2015-06-14 23:37:35 +10: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
Jordie0608 5ef93b2225 overlays for computers 2015-06-13 20:07:48 +10:00
GunHog b40de58f51 Runtime prevention
- Fixes a runtime when trying to card an AI from a mech.
2015-06-12 16:07:26 -05:00
kingofkosmos 7a6f377eee Exosuit Fabricator spitting-direction is now a dir variable. 2015-06-12 21:13:35 +03:00
kingofkosmos 2cca4a5a65 Made Autolathe and Exosuit Fabricator produce things on top of themselves. 2015-06-10 19:26:17 +03:00
GunHog 7ddcbb1967 Tweak and fixes
- Made the interactions into defines.
- Fixed a runtime for when an AI tries to set a DNA lock.
2015-06-09 14:45:38 -05:00
GunHog d3fbacc224 Tweaks
- Sorts out the transfer_ai() proc, it can now be added to practically
anything you wanted to give to an AI.

- Moved mech functions to the unused middle click.
2015-06-08 20:46:01 -05:00
GunHog bbd97d9055 Nerfs Lockdown, Adds Mechjacking, Buffs UpgTurret
- Nerfs Hostile Lockdown. One time use, lasts 60 seconds, cost doubled,
more obvious.
- Adds Malf AI mech jacking
- Adds ability to upload carded AIs to mechs.
- Buffs Upgrade Turret to use heavy lasers instead of simply shooting
faster.
2015-06-04 12:31:43 -05:00
GunHog b655ade95e Merge remote-tracking branch 'remotes/upstream/master' into AI_STOLE_MY_BIKE
Conflicts:
	code/game/mecha/mecha.dm
	code/modules/mob/living/silicon/ai/ai.dm
2015-06-04 08:40:42 -05:00
Cheridan a19f1801ff Merge pull request #9699 from KorPhaeron/turf
Changes how destroying/building turfs works
2015-06-02 23:15:42 -05:00
Firecage f79e0fc1aa Updates more paths, for example obj/stuff to /obj/stuff 2015-05-31 17:48:33 +02:00
KorPhaeron bfe5e4a855 Cleaning up turf code
Changes colons and spaces I forgot you could do this on github
2015-05-29 19:27:28 -05:00
KorPhaeron 97990c94cc Changes how destroying turfs works
Turfs now have a baseturf var which determines what is "under" every
turf. The default is space.

Actions that previously did changeturf(/turf/space) (like bombs or RCD
deconstruction) now do changeturf(baseturf). Functionally the same for
the station, but allows special turf types that don't break to space
(such as planet tiles).

Right now the asteroid tiles are the only thing with a baseturf other
than space (the baseturf is an asteroid tile).

Baseturf is tracked when new things are built, so building a floor and
then a wall on the asteroid tile, and then bombing that wall will return
it to an asteroid tile, not space.

Allows building on asteroid tiles now that doing so wont randomly make
holes to space. Time for giant mining forts.

I should have done this years ago for away missions.

Also added myself to admins.txt
2015-05-29 18:43:34 -05:00
phil235 554760e5f2 Merge pull request #9512 from xxalpha/itsakindofmagic
A second handful of fixes.
2015-05-23 16:52:51 +02:00
phil235 819525b4f5 Merge pull request #9542 from kingofkosmos/mechspacedrillfix
Makes mechs unable to drill space
2015-05-21 17:32:13 +02:00
Swag McYolosteinen b6ec3d1036 Merge pull request #9452 from Cheridan/thickmaterial
Tangential THICKMATERIAL-related fixes
2015-05-20 16:13:41 +02:00
phil235 8799b8182e Fixes the ghost message from posibrain built with the exosuit fabricator. It will now correctly mention the area where the posibrain was created. 2015-05-18 00:27:59 +02:00
kingofkosmos 353dd23143 Added a check so mechs aren't able to drill space. 2015-05-17 14:08:39 +03:00
xxalpha 5951aeccb8 Fixed dropping items in mechs AND EVERYTHING ELSE
Better fix for dropping items in mechs.
2015-05-16 02:04:42 +01:00
Cheridan ee02c90b74 Mech syringe guns check THICKMATERIAL 2015-05-15 18:06:53 -05:00
Remie Richards e5f034fc0d Merge pull request #9147 from GunHog/Rise_Of_The_RR_Androids
[Review Ready] Positronic Brains!
2015-05-03 06:34:02 +01:00
MrStonedOne bd6d51a0b5 Massive MC and subsystem rewrite
MC:
	No longer tracks a subsystem's cpu usage. This was basically worthless and took up space on the stat panel
	Can calculate wait down to a tenth of a decisecond to make it fps/world.ticklag agnostic
	Now allows subsystems to have a dynamic wait, that is based on a ratio of how long that subsystem has been taking to process(cost). (This system allows for upper and lower bounds, and an changeable cost delta for each subsystem)
	MC can now be told to init a zlevel

All Subsystems:
	Stats panel now allows child subsystems to pass it a message to add to its stats entry. All subsystems have been moved over to this system - This should cut down on subsystems having to copy and paste the stats proc in order to add to it
	All subsystems now properlly handle being given a zlevel in their init proc

Subsystem changes:
	Air:
		Added air to the dynamic wait subsystem. upper bound: 50, lower bound: 5, cost delta: 3 times process cost
		Air now fires 4 times faster when it can do so without lagging things up
		Pipenet has been merged into air
		Atmos machinery now processes with process_atmos(), ticked by air, not machinery.
		Hotspots (the fire object) are now object pooled
	Pipenet:
		Deleted, added to air
	Machinery:
		Moved all atmos calcualtions in all objects's process() to process_atmos().
	Lighting:
		Added Lighting to the dynamic wait subsystem. upper bound: 20, lower bound: 5, cost delta: 3 times process cost
	Ticker:
		Fixed ticker not updating the lobby panel when game start delayed
		Fixed the game start timer updating rapidly from queued fires when game start delay is removed
	Garbage/qdel:
		qdel will now limit its process time to 2ds a fire.
		qdel can now be given hints as a return to Destroy() as to what should be done with the object.
		the options are:
			queue: (default) this is the normal behavior.
			letmelive: old default to non-null/zero. does nothing with the object
			iwillgc: functionally the same as above, mainly to let people working with objects know that the object will not be queued for GC checking
			harddel: this will queue the object to be deleted without storing a soft reference, mainly to save locate() processing time.
			harddel_now: this will del() the object. To allow for a clean removal of every del() not in qdel
		All objects have been updated to the new system, harddel and iwillgc was not added to any new objects.
		Fixed some objects not GCing because they didn't properlly clear references in Destory()
		Fixed some objects getting qdel'ed preventing other objects from getting GCed because they did not null their reference to that object.
2015-04-29 02:00:25 -07:00
GunHog 1f6af46a1f Tweaks and changes! 2015-04-24 19:58:05 -05:00
kingofkosmos de280c72b5 Removed some more spans from visible messages. 2015-04-24 21:06:59 +03:00
kingofkosmos a7bd5f93e1 "You hear something" set to italics. 2015-04-24 21:06:16 +03:00
kingofkosmos e371dd9f35 more spans 2015-04-24 20:52:00 +03:00
kingofkosmos 72749392d8 span classes removed from visible.messages 2015-04-24 20:50:51 +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
GunHog aa59485a58 Positronic Brains!
-Adds positronic brains
- Fixes a runtime in mechs for pilots without DNA
2015-04-24 09:23:20 -05:00
Jordie 1f9351c3fd Merge pull request #8925 from xxalpha/ripped
Low pressure environment Ripley buff & Mecha Mining Scanner.
2015-04-22 17:49:57 +10: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
xxalpha a8b9fef6ba Made a proc for mineral scanning. 2015-04-16 20:28:47 +01:00
GunHog 365d9889ac Malf AI Mech Jacking!
- Malf AI, for 30 CPU, can hack into a mech and gain control of it.
- This strategy is permanent. Once installed, there is no escape.
Period. The mech dies, so does the AI.
2015-04-14 16:46:15 -05: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
phil235 081bae6740 Fixes broken ui action button for toggling chef apron's sleeves and owl's wings.
Fixes surviving suicide
Fixes suicide damage overlays.
Fixes ninja regen "clothes warm" spam message. (moving rad armor check outside of apply_effect)
Fixes ninja smoke bomb count.
Fixes dead shaved corgi
Fixes lipozine still being in code.
Fixes flattening boxes requiring them to have their window opened.
Fixes armor softening message from disarm attack.
Fixes player being forced to play spiders without choosing.
2015-04-14 13:54:36 +02:00
xxalpha b8a884a7c1 Added Exosuit Mining Scanner 2015-04-12 21:13:29 +01:00