Commit Graph

118 Commits

Author SHA1 Message Date
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
Miauw 5765a2e2cb Resolves many, more saycode bugs. AI tracking is still broken. 2014-08-18 18:51:07 +02:00
Miauw 433262e5e0 Removes debug messages. 2014-08-17 12:58:03 +02:00
Miauw 1fef6effc3 RADIO CODE WORKS NOW HOLY SHIT
(warning, contains tons of debug messages that still need removal)
2014-08-16 20:33:50 +02:00
Miauw fa4d21980a Makes the new code test-ready. 2014-08-08 18:19:11 +02:00
paprka e901f9b6c1 bowmans 2014-08-07 12:30:14 -07:00
Miauw 8602795aec FUCKING RADIO CODE 2014-08-07 18:11:53 +02:00
Miauw 6b42d39228 does more shit 2014-08-05 19:17:21 +02:00
Miauw 5ae8b76ab6 Converts whispers to the new system
Removes say_understand()
Removes .bak files that were just ancient duplicates.
2014-08-05 17:49:03 +02:00
Miauw 891546aa56 More work on saycode. 2014-08-05 16:02:21 +02:00
Miauw 0a4751a067 Starts work on say() improvement.
Removes silicon/decoy AIs because they are unused and in the way.
DOES NOT COMPILE, I MAY HAVE MISSED A PAREM SOMEWHERE BUT I HAVE NO IDEA WHERE
2014-08-04 22:30:26 +02:00
KyrahAbattoir fcb2fb9de3 Another lowercasing pass on a bunch of items and furnitures.
Synthflesh should be a plural.
Leg cuffs is better than legcuffs.
LaserTag -> laser tag is not a brand name.
centcom -> Centcom is always capitalised.
2014-07-27 19:14:40 +02:00
MrPerson c43518351f Some fixes and minor improvements to examining. 2014-06-13 09:01:52 -07:00
MrPerson 9d9a657acf Change examine() from an atom verb to a mob verb
Just in time for the feature freeze, a big change that will introduce bugs! Yay!
Mob verb is called verb/examinate(target), which just calls target.examine(user) and face_atom(target)
For explanation why, see http://www.byond.com/forum/?post=1326139&page=2#comment8198716
Long story short, mob verbs are much faster than object verbs. The goal is to make right-click menus populate faster.

Also changes a bunch of examine() procs to always, ALWAYS call the parent. Except mobs, but you have 1 guess why I'm not touching them. Mostly this affects obj/item/examine().
And also remove a whole shitload of pointless set src in view(2) kind of crap. Also span classes.
2014-05-01 09:56:39 -07:00
GunHog f11294fdbf Adds a name for AI Private in radio.dm. 2014-03-31 00:48:58 -05:00
VistaPOWA 5c5f0e5163 Merge remote-tracking branch 'upstream/master' into cyborg_module_in_telecomms 2014-03-22 13:54:57 +01:00
MrPerson 6930283efc Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel_r
Conflicts:
	code/game/gamemodes/changeling/changeling_mutations.dm
	code/game/gamemodes/changeling/changeling_powers.dm
	code/game/gamemodes/malfunction/Malf_Modules.dm
	code/game/objects/items/weapons/tanks/watertank.dm
	code/game/objects/structures/tables_racks.dm
	code/modules/research/server.dm
2014-03-21 03:05:39 -07:00
VistaPOWA 2173f8d403 Adds the Cyborg module into the messages received by the AI
It just puts the prefix of the borg into the $job var that is handled
internally by NTSL.
Also adds a var for the designation of the borg, it's kind of a
read-only variable that makes it fun & easy to get a cyborg's current
module without istyping.

Refactors the cyborg naming code a bit.

Removes additional fun (changes not shown in PR overview, 4317483141
counts of fun removed)
2014-03-19 22:56:06 +01:00
Rockdtben a034e41f25 Removing TLE comment stamps and useless comments 2014-03-13 08:25:28 -05:00
MrPerson 3c58091437 Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel
Hopefully nothing went wrong but you never know.

Conflicts:
	code/FEA/FEA_fire.dm
	code/controllers/supply_shuttle.dm
	code/game/gamemodes/changeling/changeling_powers.dm
	code/game/machinery/autolathe.dm
	code/game/machinery/drying_rack.dm
	code/modules/hydroponics/hydroponics.dm
	code/modules/projectiles/projectile/magic.dm
	code/modules/reagents/Chemistry-Recipes.dm
	code/modules/reagents/reagent_dispenser.dm
2014-03-02 21:39:27 -08:00
hornygranny c31647376e This is for discussion of things that need to be changed to move away from purely stun based combat. Please only comment if you have something to contribute, rather than just saying you like or dislike it.
Shoes do not increase your movement speed
Stun/weaken on basically everything reduced from 10+ to 5 ticks
Time to unbuckle/uncuff self halved
2014-02-27 10:56:06 -08:00