Commit Graph

13 Commits

Author SHA1 Message Date
Cyberboss
d0bfbc3e13 Rename ticker to SSticker 2017-03-22 10:48:25 -04:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03: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
phil235
537280b4b9 Removing many instances of the no longer used second argument of message_admins() proc.
Replacing "for(var/mob/M in viewers()) M.show_message()" by "visible_message()" or audible_message()" in many places.
Changing a few span classes.
2014-10-05 01:29:30 +02:00
Firecage
6d259e10ec Spanclass fixes 2014-09-03 20:00:35 +02:00
Firecage
6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
elly1989@rocketmail.com
62c31d4e22 Moved triple-AI to the secrets panel (fun)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5046 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-12 16:38:40 +00:00
giacomand@gmail.com
7d6fb8fd6a Commiting for Aranclanos.
http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=10189&p=143580&hilit=https%3A%2F%2Fwww.dropbox.com%2Fs%2Fcwflgm7793ts20s%2FBorgsForCasualsRELOADED.patch#p143580

-Fixed some ugly text in Ion laws "THE STATION IS [0x6006265] FETISHES...LAWS UPDATED".
-Fixed some typos on the Ion laws.
-When borgs are emagged, now they show their laws for themselves.
-When new laws are uploaded, the borg gets instantly the new laws, just like the AI, instead of the confusing message "Your AI has set your 'laws waiting' flag.". Remember this is a patch for casuals.
-The borgs gets the same message than the AI in Ion storms.
-Made the admin Ion storm show the "...LAWS UPDATED" text.
-Borgs get a different law 0 telling them to help their master.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4837 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-09 05:37:28 +00:00
sieve32@gmail.com
2d7c62e605 -Change to mech drills, the regular ones mine sand just as they mine the asteroid walls (Meaning they mine a 1x3 area and stick it in an orebox)
-Asteroid floors cannot be burned into metal tiles anymore
-Added some better comments in the turf.dm as well
-Fixed Issue 329, so Triumvirate works again

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3886 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-21 22:54:18 +00:00
baloh.matevz@gmail.com
d1d0fd5e4f - hand tools now fit on your belt slot
- added feedback logging for newscasters
- added feedback logging for admin verbs
- added shuttle timers to escape pods
- added feedback logging to chemical reactions
- clipboard can now fit on your belt

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3465 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-16 04:00:36 +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
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
n3ophyt3@gmail.com
8fd1e7d1a8 Since everyone else seems to be doing it, made my own personal badmin button.
Currently, all it does is enable a round to start with three AIs instead of just 1.
    Must be triggered before round start, obviously.

Related to badmin button, in the event of multiple active AIs on the station, latejoiners are only announced by one AI, picked at random.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@657 316c924e-a436-60f5-8080-3fe189b3f50e
2010-12-18 07:54:56 +00:00