Commit Graph

55 Commits

Author SHA1 Message Date
ShizCalev f999167b80 Replaces radio channel names and keys with defines 2018-11-16 09:36:49 -05:00
Tad Hardesty 911cb97718 Tidy telecomms radio code, make PDA server real telecomms machinery (#33647)
* Refactor radio message broadcasting in a major way

Broacast_Message and everywhere that uses it, including radio talk_into
and the telecomms broadcaster and allinone. Other telecomms machinery
has had dead code excised.

Functionality should be roughly the same as before, but:
- CentCom headsets are only magic when using the CentCom frequency
- Syndicate frequency speech on the station no longer double-talks
- Talking directly into an intercom or radio which also has its
  microphone on no longer double-talks.

* Split signal/vocal into subspace and subspace/vocal

* Move the message server and its computer to telecomms folder

* Slightly tidy the message server and computer

* Move subspace receiver logic to a proc on signal/subspace

* Repath the message server under machinery/telecomms

* Largely get PDA messages onto subspace proper

* Actually require the server for PDA messages

* Improve signal/subspace/New() and copy()

* Improve input handling on the message server

* Fix initialization and Z checks of allinones

* Add a constructor for virtualspeaker

* Fix radiation storms initializing a bad virtualspeaker

* Fix runtimes with machines talking into radios

* Finish making the message server a real telecomms machine

* Make CTF radios independent also

* Fix window IDs of message server PDA photos
2017-12-20 22:02:55 +01:00
Tad Hardesty 71659b1e1a Tidy non-telecomms radio code (#33381)
* Remove extraneous parameters of receive_signal

* Delete unused signal datum procs

* Remove signal/var/encryption in favor of data

* Add and use datum/signal/New

* Clean up PDA and pAI integrated signalers

* Remove unused send_hear proc

* Clean up vars on obj/item/radio, change receive_range to can_receive

* Remove suffix var from radios

* Fix cell timer radios
2017-12-15 11:37:58 +13:00
Tad Hardesty 51c7bdc007 Replace radio frequency magic numbers with defines (#33236)
* Change transmission_method to use defines rather than magic numbers

* Use MIN and MAX_FREE_FREQ defines when bounds-checking radios

* Remove violently broken "Debug Signals" verb

The relevant Destroy() is never called, making the static pointers list
take lots of memory and be large enough, even at roundstart, to crash
the chat when invoked (25k+ entries).

* Remove unnecessary checks for SSradio not existing

* Move department frequencies from GLOB to defines

* Replace all hardcoded radio frequencies with named defines

* Change the radio filters to be defines

* Use a define for the default signaler code
2017-12-07 14:58:27 +01:00
Emmett Gaines 825ab4def4 [512] The great \ref purge (#31824)
* The great \ref purge

* cleanup
2017-10-28 17:20:04 -04:00
Jordan Brown d144c88fb5 Annihilates the colons! (#29812) 2017-08-15 12:49:35 -03:00
shizcalev 22764665c9 CentCom Standardization 2017-08-07 19:04:27 -04:00
Cyberboss 9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
coiax 4c66182ff0 CTF teams have their own radio channels + fixes (#25456) 2017-03-25 19:53:03 -03:00
Lzimann 5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
MrStonedOne fd80575f38 Removes a bunch of sleep(-1) and spawn(-1) from the code
This seems to be causing issues where if the queue was too long, byond would attempt to process through all of it while hanging everything else.
2016-01-04 15:17:12 -08:00
Bjorn Neergaard 34b717afb4 radio_controller -> SSradio, SSbp -> SSnpc 2015-12-04 22:25:24 -06:00
duncathan 1278b3e8ef fixes #11870; removes every last out of place del() call or definition 2015-10-04 08:03:04 -06:00
Firecage 4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
Miauw a881478743 Removes strip_html_properly(), replaces it with html_encode().
It was not as proper as the name would imply, and experience and amused redditors have taught me that writing a proper HTML-scrubbing function is a very hard task indeed.
2015-06-11 15:37:41 +02:00
Firecage 3a826fe13c Changes alot of datum/ to /datum/ 2015-05-31 02:40:54 +02:00
Fayrik 84df0192f4 Buffs Deathsquads. 2015-04-18 00:06:17 +01:00
GunHog 3f762ee6b5 PDA Upgrade and Bot Fixes
-The Captain's PDA can now access multiple bots!
- The Captain and HoP PDAs can now also remotely access Newscasters!
- Bot radio code now no longer uses filters to allow for multi-access
radio control.
- Bots can now patrol while off station.
2015-04-08 20:12:01 -05:00
Fayrik 4f43fff199 Issue fixes! All that, and more! 2015-03-29 03:54:41 +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
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
Menshin b77e2fc46a Conflicts solving 2014-11-04 20:24:52 +01:00
Menshin 26f70fd9aa * Completed the _strip_html_properly_ proc to also limit the length of the text
* Removed uses of _strip_html_simple_
* Replaced input or redondant trimming/text_copying with the new unified _stripped_input_
2014-10-15 16:00:22 +02:00
GunHog 589c1f4cbb Botcall, TG edition! 2014-09-25 09:44:41 -05:00
Miauw bc2b8d0d5d DONE DONE DONE DONE DONE DONE 2014-08-27 17:40:26 +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
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 8602795aec FUCKING RADIO CODE 2014-08-07 18:11:53 +02:00
GunHog db1b1231e7 Reflects the color change for AI Private
Changed "light blue" to "magenta".
2014-04-01 20:50:11 -05:00
GunHog 0e18325227 Adds AI Private to communications.dm 2014-03-31 00:45:32 -05:00
Tenebrosity b3d37e1d0a Makes deathsquad frequency (144.1) a different colour again, this time grey to differentiate it from science's plum. 2013-12-31 16:50:17 +13:00
Tenebrosity e4b251a488 Adds different radio frequency colours for engineering, security, medical, service and supply. 2013-12-30 20:09:35 +13:00
Cheridan 0c47147ab1 Phase 2 of my master plan:
-Adds a Service headset channel, given to the botanists, barman, and chef. The HoP also gets the service channel on his headset.

Note: The Service Preset Server will have to be added to Telecomms on the map before the channel is usable. I'll put up the map when/if this gets merged.
2013-05-13 12:20:12 -05:00
Giacomand af525cb75b - Urgent fix to NTSL. Sanitizes the output of NTSL, including the broadcast() function.
- Added a GetCleanVar to be used when getting a global variable to use inside the game code, it will sanitize() the variable if the compare argument is not equal to it; the compare argument should used to see if NTSL has changed the value.
 - Added a sanitize_data proc for the signal datum. It will sanitize all the data using strip_html_simple().
2013-03-12 16:50:28 +00:00
ericgfwong@hotmail.com e6a652771b Security frequency chatter now appears in cyan (Similar to how command is gold)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5620 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-27 23:25:16 +00:00
giacomand@gmail.com 54d02d75a3 - Committed SuperSayu's patch fix for silicon alarms.
- Made the singularity not move stuff while contained, should help and make it easier to work with; such as fixing the field generator.
 - Added logging for gold slime extracts.
 - Removed unneeded deletion of signals in telecomms code.
 - Added a debug verb which will record pointers of signals that weren't garbage collected.
 - Removed the need to create a mob to compare it in telecomms code.
 - The spider infestation is more likely going to spawn nurses.
 - Runtime fix with spells. 
 - Reverse list actually does something now. Bots never needed it so I removed it. (Thanks carn)
 - Added an ON_BORDER flag for border firedoors.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5601 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-22 23:45:47 +00:00
johnsonmt88@gmail.com 3ac21339c1 You can now make a single camera use multiple networks.
var/network = string is now var/list/network = list().
I've also added a "network_multi" var which is a string. This is specifically for placing cameras on a map that you want to put on multiple networks. Apparently DM's map maker doesn't support lists, so just type them all in as a string and camera/initialize() will take care of the rest.
Input the networks with commas seperating them, for example: "SS13,RD,Secret,Prison,Ect"

I fixed a few issues while editing the cameras on the map as well.

Both maps:
- Re-added the telescreen in the misc research room that got removed at some point. (Thanks to Ikarrus for pointing this out)
- Any room that had 2 cameras (one for each network) were merged into one camera with the new network lists.
- - Permabrig-hallway (SS13, Prison)
- - Every room in R&D (including robotics) (SS13, RD)
- - The bomb testing range (RD, Toxins)

tgstation.2.1.1.dmm:
- Added a missing wire in engineering-sec (Thanks to SuperSayu for pointing this out)
- Fixed some mis-orientated firelocks. (Thanks to Intigracy for pointing this out)
- - The mining door between cargo and mining
- - The door between the hallway and the engineering lobby

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5596 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-22 01:24:09 +00:00
ericgfwong@hotmail.com a3780d7021 Renamed Cargo radio to Supply radio
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5266 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-06 00:16:11 +00:00
giacomand@gmail.com c6a4b991bc TELECOMMUNICATION
Improvements to Telecomms. I wasn't happy with my relays and having telecomms send several messages on different Z levels was not effecient. I decided to overcome this by removing the need to attach Broadcasters and Transmitters to relays. Then I made relays just add to the signal data which z levels the message will be broadcasted on, instead of sending the message several times. It's a bit hard to explain but basically it should be better then ever, and adding more relays will not create serious performance issues. Since you can't control whether the Z level could only receive messages or only send them, I added options on the relay itself so you can set it. I then made an additional feature, which Nodrak gave me the idea for, which is that busses can change the frequency of a signal. It's an option on the Bus and you can set it to change the signal's frequency, which can create hilarious situations such as the command channel being redirected to the general channel. No way to duplicate a signal with a different frequency at the moment.
Since relays earlier depended on a stupid system in order to become a off-site relay, I instead just made it limited to the satellite Z level, which makes more sense.

Broadcasters and Receivers are linked to the HUB, but it's still possible to create a simple telecommunication system with a "Receiver -> Bus -> Processer -> Broadcaster" (though it will be slow)

OTHER

Smartfridge limit was lowered to 999, just below the infinite loop check limit. This is to prevent further issues that may occure.

Moved creating some icon datums above the SQL procs, just to make sure that the SQL itself isn't sleeping and causing issues with the datums being used before being loaded.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5183 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-25 00:08:29 +00:00
vageyenaman@gmail.com d12a3d898e Added a new telecomm thingie on the syndicate shuttle. It intercepts all radio chatter and relays it to the syndicate channel. Pretty nifty!
Reverted the comm satellite layout. It should be much more balanced this way.

Some bugfixes.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2975 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-18 04:52:34 +00:00
vageyenaman@gmail.com e7c27d1299 Huge fukken commit. Very game-changing new feature has been added but it isn't actually available to players yet.
Spess Networking Technology:

    ▪ The machines are located in Centcom near the cargo shuttle.
    ▪ A new admin debug verb "Change Radio Type". Using this will toggle between old (current) radio code and the new radio code. ADMINS: I recommend only doing this if Doohl (me) is around to take note of anything that happens.
    ▪ The whole thing works, in theory, but hasn't been stress-tested with the usual 60+ players. I will write up a Tgstation Wiki article and/or explain what some of the stuff does in IRC or ingame.


One last thing to point out: this is a PROTOTYPE. I have tested it myself and optimized the code very well. In theory, this new radio system is significantly less laggy AND has many more features. However, because of it's a prototype, it can at any time destroy the server. The reason I am committing this and not updating the changelog is because it's not an actual feature YET. I want to stress test this on the servers to see how it fairs, then add some more stuff to it like the ability to link machines and repair networks.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2807 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-25 07:10:12 +00:00
vageyenaman@gmail.com c8452fa96b ◦ When equipping corgis with objects, their icons immediately update. Fixes a bit of visual lag.
◦ The kitchen and booze vending machines have some changed commodity values. Most importantly, kitchen has more eating utensils and trays.
◦ Changed the afterattack() and DblClick() to have the (location,control,params) parameters.
◦ Added a new radio filter, "RADIO_MAGNETS".
◦ Mucked around with /datum/signal. Just an extra variable and another comment.
◦ Guns' afterattack() proc now carries location,control,params.
◦ Projectiles now track exactly where the player clicked on a tile. Pretty neat, huh?


New stuff:
   ◦ A new machine has been added: magnetic generators. They fit under floor tiles and can create dyanmic magnetic fields by directing ionized proton/electron beams to another tile.
   ◦ Another machine/computer was added that can control these magnetic generators. These machines come with their own pseudo-scripting engine for directing the magnetic beams magnetic modules create. They're not really complete yet, but they work for the firing range. I plan on expanding on this maybe sometime in the future, creating more applications for magnets elsewhere.
   ◦ Firing range things have been added, including target stakes and targets (both sprited by Veyveyr). You can mount targets onto target stakes and shoot them. Pixel-precision aiming has been applied to the targets (ONLY THE TARGETS!) so that you can see where you shot it and whatnot. You can literally blow holes through the targets until they collapse on themselves.
   ◦ Added a small little manual to the firing range on how to use the new stuff. It hopefully isn't too complicated to use.


    

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2543 316c924e-a436-60f5-8080-3fe189b3f50e
2011-11-23 02:00:18 +00:00
mport2004@gmail.com 28b7c860a8 The infinite cells return proc has been set to return 1 rather than null.
Communications.dm works once again. 
Updated a few admin commands that I missed to work with the job datums.
Fixed a type path issue in the cult talismans.
Assembly remote signalers now iterate though their for loop properly.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2347 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-13 06:58:20 +00:00
mport2004@gmail.com 17ed3899c4 Fixed the map/code issues that the body bags caused.
/obj/effects is now /obj/effect.
/obj/station_objects is now /obj/structure.
Did a bit of minor blob work. 
The Bay 12 body bags were replaced with closets because having two sets of code that do almost the same thing is silly.
Changed back a few of the last jobproc edits as the remove from list before assign was a check to see if the mob was fucked up and if it was remove it so we did not check it again as it would still be fucked up.
The medbay/tox monkeys names are random once more.  More random name monkeys will help with changeling and clean up the observe/mob menus.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2324 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-03 10:28:57 +00:00
baloh.matevz e8c6b08419 - Object tree grouped a bit more.
Two new categories were made: station_objects and effects. station_objects, which I'm sure someone will want renamed to 'structures' contains the objects which don't need process() or power code.

Effects contains objects which are either landmarks, triggers, spawners or decal.

Screenshot:
http://www.kamletos.si/new%20object%20tree.PNG

I didn't notice any bugs, but with a revision editing 276 files of byond code, you never know.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2323 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-03 06:54:28 +00:00
rastaf.zero@gmail.com d6e0f1cf22 Freaking big GAMEMODES UPDATE.
I have done lots of work to make selecting players for special roles be fair.
- New options preferences: "be traitor", "be changeling" and so on for all special roles.
- Now you can have job of AI/cyborg in preferences and do not lower your chances to become wizard/changeling/etc. And vice-versa: you do not have to select AI in your preferences to have non zero chance to play malf.
- Jobban from syndicate bans player from any special role (including malf AI, cult, etc).
- Fixed bug with changeling round not ending sometimes.
- All special roles were tuned to work better as admin-driven event.
-- All adminmade special characters will be listed at the end of round of any type.
-- All adminmade special characters are fully functional with following exceptions:
--- The ending conditions are determined at round start, i.e. you cannot end revolution by killing wizards and malf AIs (however, with nuke you can end anything).
--- The cultists cannot get their special objectives.
--- The malf AI can hack the APCs but without any profit.
--- The syndicate operatives must obtain the nuke/working code from admins.
--- As before, nuclear explosion ends round. Even if nuke was used in wrong place.
- Fixed thingy like "Not enough players for revolution game mode. Restarting world in 5 seconds."
- Changeling wont get objective "absorb X genomes" when there are less that X players in game.
- proc/equip_if_possible now has return value, procs like equip_revolutionary (giving a flash) should be more reliable.
- There are no fake wizards anymore. The research staff have to kill ALL wizards on order to win, even adminspawned ones. ("give spell" verb works as before, not making a spellcaster to actually be wizard).
- The semi-new game mode: traitor+changeling. Just like regular traitor mode plus one changeling. Round ends when the shuttle reaches centcom. Option for config.txt: "PROBABILITY TRAITORCHAN".
- Successful malf AI now have 60 seconds to choose to explode the station or not (some players still have to rejoin game to have their new verbs shown in Malfunction tab).
- Monkeys mode fixed, monkeys wouldn't randomly cure anymore.

For admins:
- New powerful mind editor oriented to mixed rounds.
-- Setting someone as special character (like wizard) does not equip him/her automatically. You have to do it it next step. Note, that in case of wizards and nuke operatives their old dress will be deleted! If you do not want it you shall use "undress" link.
-- Only operatives, head revs and cultists have their objectives set immediately.
-- You can unemad borgs!
-- You cannot unemag borgs because calling mind editor for nonhumans is blocked atm.
-- many other useful features.
-- you can fix burned out flashes from mind editor.
-- first assign the new malf AI/wizard then demalf/dewizard old one or round will immediately end.
- if delete the nuke bomb during its downcounting round will stuck. Using "edit ticker variables" set ticker.mode.explosion_in_progress = 0.

For coders:
- /datum/game_mode/malfunction/AI_Module renamed to /datum/AI_Module. Reason: What. The. Fuck.

Unrelated fixes:
- Blueprints can create areas up to 300 tiles (was 100).
- Cyborgs wont leave backpacks at spawn point anymore.
- Fixed bug in preferences causing preferences files to be huge.
- Diseases can infect again.
- The option "SQL_ENABLED 0" now works in config.txt.
- fixed critical bug on assassinate objective.

Bugs:
- We have a bug with job distribution for people who haven't any available jobs in their preferences. Players tends to group by jobs.
- For example, if we have 3 players they with hight chances will got same jobs. And probability of having one engineer and one medic _exactly_ equals _zero_.
- I am not sure if my changes made that bug worse. Anyway I MUST do this commit. Bug will be fixed eventually. Maybe.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1703 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-21 21:22:23 +00:00
rastaf.zero@gmail.com 2d443ca199 General bots-related code cleanup.
Medibot sprite fixed.
Aliens now attack bots instead of opening control window.
All bots can be damaged and repaired.
All bots are effected to EMP now.
Asteroids generation was tuned to do not spawn asteroid on z-level edges.
Enabling admin verbs now wont turn on deadchat if it was turned off.
An emergency toolbox now contain a red crowbar.
Mime job is now available to join as.
Added radio channel for miners, use :h or :d ("diggers" lol) as shortcut.
Added radio channel for cargo techs, use :h or :q as shortcut.
Added a personal headsets to HoP and QM.
Some unrelated runtime errors was fixed.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1050 316c924e-a436-60f5-8080-3fe189b3f50e
2011-02-15 20:09:12 +00:00
rastaf.zero@gmail.com 2b96770d61 Atmos now starts with nitrous oxide in storage tank.
Radio was optimized even more. Still have some reserves.
Restored admin verb "Radio Report". It shows some signs of errors on the map, but I am too tired to fix it now.
Optimized player login (that "400000 calls of new_player/Move" bug).
Various optimizations and fixes in radio code.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1046 316c924e-a436-60f5-8080-3fe189b3f50e
2011-02-15 00:28:00 +00:00