Commit Graph

138 Commits

Author SHA1 Message Date
duncathan salt bea8d35ff5 Merge pull request #13437 from neersighted/clickable_stats
Refactor MC/Failsafe/add Subsystems
2015-12-07 19:58:46 -06:00
Bjorn Neergaard 34b717afb4 radio_controller -> SSradio, SSbp -> SSnpc 2015-12-04 22:25:24 -06:00
kingofkosmos edb611f53d Adds in-hand sprites for tracking beacon, pizza box and carp plushie. 2015-11-29 16:43:52 +02:00
phil235 d3ee910211 Makes effect system code more OOP.
obj/effect/effect is now renamed obj/effect/particle_effect for better usability.
datum/effect/system and /datum/effect/effect/system are now both /datum/effect_system.
Fixes a bug where wall mounted igniters (and other spark producing objects) didn't produce sparks sometimes.
Moved explosion_particles.dm into the effect_system folder, because it has effect_systems code.
2015-10-21 23:28:29 +02:00
bear1ake f697ae90f5 removes a bunch of .0 2015-09-10 20:57:30 +09:00
Razharas 93b9f96cfa Merge pull request #11341 from bgobandit/suicideisnotajoke
Adds/tweaks several suicide messages.
2015-09-06 06:42:00 +03:00
duncathan 51c09f16bf makes all Destroy()'s return properly 2015-08-31 00:21:01 -06:00
xxalpha 19947d4fa0 Added qdel(wires) to a bunch of objects Destroy proc.
Return ..()
2015-08-27 11:10:58 +01:00
bgobandit 4fe28339c5 Makes requested changes. 2015-08-26 18:37:14 -04:00
bgobandit 4909600303 Adds/tweaks several suicide messages. 2015-08-23 15:02:34 -04:00
Firecage 4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
xxalpha cfb5e724b6 Material container, all items can have materials, wake me up
cant wake up

go to sleep debug
2015-07-01 03:34:47 +01:00
xxalpha 0d6ac5c30c Fixed being able to interact with electropack while wearing it. 2015-06-22 23:16:22 +01:00
xxalpha b2e84a0d3c Put drop_item() calls inside ifs. Replaced some drop_item() with unEquip( 2015-06-14 20:11:40 +01:00
Aranclanos 9b4b6bc1a6 Fixes all possible exploits with the AI tracking href link
Fixes 1128
Changes the href link of the AI tracking to be just the name displayed in-game instead of the reference of the mob.
Removes faketrack from atom/movable/virtualspeaker as it becomes useless.
2015-05-22 11:26:43 -03:00
GunHog 8974fe23fe Fixes NTSL!
Radio transmissions made via NTSL now work again.
Moved the Centcom radio checks from 4 to 5 so it does not override other
things.
2015-04-25 22:31:51 -05:00
kingofkosmos e371dd9f35 more spans 2015-04-24 20:52:00 +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
Fayrik 558f46af1e Forgot the encryption key sprite. 2015-04-18 00:41:15 +01:00
Fayrik 84df0192f4 Buffs Deathsquads. 2015-04-18 00:06:17 +01:00
Fayrik 4f43fff199 Issue fixes! All that, and more! 2015-03-29 03:54:41 +01:00
Miauw ba2a1c8f19 Adds a verb_exclaim var. Fixes #8478.
Also makes saymods transmitted through the radio system for upcoming NTSL integration.
2015-03-22 18:55:59 +01:00
Miauw 1873143e63 Initial say cleanup commit. 2015-03-18 19:23:31 +01:00
Remie Richards 5fc7af7fbf attackby() now has an argument containing the parameters of the click that called it. Items placed on tables now center their icon where the user clicked. this is NOT true for racks, since racks look organised in their sprite.
Items reset their pixel_x and pixel_y values on pickup.
2015-02-19 13:02:43 +00:00
carnie e7519a33c8 Merge branch 'master' of https://github.com/tgstation/-tg-station into SubSystems 2014-12-31 20:22:32 +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
GunHog 4f3d955ca1 Fixes #6654
Sets the AI's encryption key to slot 2 so it is not lost upon the AI
being traitorized.
Fixes #6654 by reverting the change in #6399 to the AI's key.
2014-12-29 19:55:01 -06:00
paprka 9b050ff010 removes meta protection from binary translator key 2014-12-16 00:37:54 -08:00
paprka feeb650701 Removes useless standard encryption keys from headsets 2014-12-15 14:59:19 -08:00
paprka 882e868e7b Fixed runtime and added syndie headset protection 2014-11-24 21:54:09 -08:00
paprka 6d86949742 removes flashbang protection from hats, gives it to bowman headsets 2014-11-24 05:55:13 -08:00
Menshin ec944abfc6 * limit atmos/fire alerts to the current z_level
* atmos/fire alerts are now linked to an object and not its area, as intended
* simplified and full pathed the radio frequency datum
* made radio objects properly clean on del/qdel, instead of letting the radio controller remove nulls at each post_signal()
2014-11-14 10:10:45 +01:00
GunHog 3c58bf7435 Moved some things around!
All radios now have a keyslot var (replacing keyslot1 for headsets).
- recalculateChannels() proc moved to radios instead of just headsets.
- Removed the duplicated recalc proc for borg radios.
- Moved the translate vars to radios as well.
- The syndicate headset subtype has been removed in favor of using the
make_syndie() proc on it instead.
2014-11-04 10:46:18 -06:00
GunHog 604bc648ff Gives Traitor AIs the Syndicate Channel!
This PR is intended to support #5283 .
- Traitor AIs, when set as a traitor, will be given a new internal radio
calibrated to hear and transmit to the encrypted syndicate frequency.

Since traitors can buy a headset key for getting the Syndicate Channel,
Traitor AIs can get one too, as they cannot purchase their own TC items.
2014-11-03 21:59:36 -06:00
GunHog 56959506ff Adds AI Integrated Radio
- The AI now has its own built in radio headset!
- The headset receives all department channels, including AI Private.
- AI Private can be accessed using :o, .o, #o, :O, .O, and #O.
- Carding an AI will automatically disable the AI's ability to transmit
on its radio.
*The AI's radio transmission ability can be toggled via the InteliCard's
interface
- Added instructions to newly spawned AIs such that they know how to use
their radio.
2014-10-24 20:33:07 -05:00
Cheridan 21b198dc2c Merge pull request #5314 from MrPerson/qdel_radios
Make radios garbage collect
2014-10-19 17:42:06 -05:00
MrPerson ec9f595b1f Make radios garbage collect 2014-10-18 00:05:03 -07:00
Aranclanos a1d49cfeb4 Changes the path of electropacks from objitemdeviceradioelectropack to objitemdeviceelectropack.
Fixes some runtimes related to electropacks.
Securing electropacks will no longer be required to use a helmet on it, same with dissembling the shockkit with a wrench or placing it in a chair.
Removes the atom var 'moved_recently' that was only used by electropacks (really). Now the electropack will have an inner cooldown instead.
The cooldown of the shock will be 10 seconds, giving the shocked person some small time to move in-between shocks (the shock gives you 5 of weakened).
2014-10-14 21:44:56 -03:00
MrPerson 651c3e6db5 Merge to master - sole conflicting file was ninja.dm FUCK NINJAS 2014-10-04 01:45:39 -07:00
Cheridan 013a1b1a3f Merge pull request #4918 from Aranclanos/eletropack
Adds the eletropack to the radio controller objects, so they work again.
2014-09-25 08:52:00 -05:00
Aranclanos d156f4770a Adds the eletropack to the radio controller objects, so they work again. 2014-09-21 05:16:02 -03:00
Miauw e66f74439a Fixes radio MMIs turning exofabs into radios.
Also removed the obsolete GLOBAL_RADIO_TYPE variable.
2014-09-20 15:19:29 +02:00
Miauw 64c95a2fae Worn ID won't display on station-bounced broadcasts. Fixed #4650 2014-09-03 20:30:40 +02:00
Miauw 78a9b0be69 Merge branch 'master' of https://github.com/tgstation/-tg-station into say()
Conflicts:
	code/__HELPERS/game.dm
	code/game/gamemodes/cult/runes.dm
	code/game/machinery/requests_console.dm
	code/game/machinery/telecomms/logbrowser.dm
	code/game/objects/items/devices/PDA/radio.dm
	code/game/objects/items/devices/aicard.dm
	code/modules/admin/admin_verbs.dm
	code/modules/assembly/holder.dm
	code/modules/assembly/voice.dm
	code/modules/mob/living/carbon/brain/brain.dm
	code/modules/mob/living/carbon/human/whisper.dm
	code/modules/mob/living/carbon/slime/slime.dm
	code/modules/mob/living/say.dm
2014-08-31 13:40:16 +02:00
MrPerson a23dbe2357 Merge branch 'master' of https://github.com/tgstation/-tg-station into examinate_the_doctor
Conflicts:
	code/game/objects/items/devices/radio/radio.dm
	code/game/objects/items/toys.dm
	code/game/objects/items/weapons/tanks/tank_types.dm
	code/game/objects/items/weapons/tanks/tanks.dm
	code/modules/events/ninja.dm
	code/modules/power/cell.dm
	code/modules/power/port_gen.dm
	code/modules/reagents/reagent_dispenser.dm
2014-08-29 04:21:15 -07:00
Miauw bc2b8d0d5d DONE DONE DONE DONE DONE DONE 2014-08-27 17:40:26 +02:00
Firecage 6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
Miauw e3c0b2fa43 AHAHAHAHAHAHHAHAHAHAHASDHHADFHEUAHGUIHGDGIJDOINGEIOKILLTHEMALL 2014-08-24 20:35:49 +02:00
Miauw f704c320d7 More saycode bugfixing, adds a saycode readme, etc. 2014-08-23 16:21:02 +02:00
MrPerson d0c97aae72 Merge branch 'master' of https://github.com/tgstation/-tg-station into examinate_the_doctor
Conflicts:
	code/ATMOSPHERICS/components/unary/vent_pump.dm
	code/game/gamemodes/cult/ritual.dm
	code/game/gamemodes/nuclear/pinpointer.dm
	code/game/machinery/spaceheater.dm
	code/game/machinery/status_display.dm
	code/game/objects/effects/decals/crayon.dm
	code/game/objects/items/stacks/stack.dm
	code/game/objects/items/weapons/airlock_painter.dm
	code/game/objects/items/weapons/cigs_lighters.dm
	code/game/objects/items/weapons/storage/secure.dm
	code/game/objects/items/weapons/tanks/tank_types.dm
	code/modules/assembly/assembly.dm
	code/modules/assembly/holder.dm
	code/modules/assembly/mousetrap.dm
	code/modules/mob/living/carbon/alien/special/facehugger.dm
	code/modules/mob/living/carbon/slime/examine.dm
	code/modules/power/cable.dm
	code/modules/reagents/grenade_launcher.dm
	code/modules/reagents/reagent_containers/food/drinks.dm
	code/modules/reagents/reagent_containers/food/snacks.dm
	code/modules/reagents/reagent_containers/glass.dm
	code/modules/recycling/sortingmachinery.dm

Thanks Firecage, this is all your fault
2014-08-20 05:54:20 -07:00