Commit Graph

40 Commits

Author SHA1 Message Date
Jordie
f042d97448 Adds round table to replace tacking some data in feedback table (#27454)
* adds round table to replace tacking some data in feedback table

* removes obsolete code for acolytes_survived

* uses a better query

* corrects var name

* uses actual sql queries

* adds commit column and connected checks before queries
2017-05-26 22:17:44 +02:00
Cyberboss
729010bbb2 Unorphans the blackbox (#26129)
Moved sql_poll_population from server_maint to this new SS. Moved few remaining server_maint tasks to SSping and deleted it.
2017-04-27 10:04:57 +12: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
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
KorPhaeron
af71d20561 The round ending on one server will send a news report to the other server (#21636)
* News Reports

* Misc

* Typo fixes
2016-11-22 12:30:30 +13:00
Joan Lung
cbf733dbc4 Does something, likely to be important, to blob (#19831)
🆑 Joan
rscadd: Once the blob alert message is sent in the blob game mode, all mobs get to see how many tiles the blob has until it wins, via the Status tab.
rscdel: Removed/merged a bunch of blob chems, you probably don't care about the specifics.
tweak: The remaining blob chems should, overall, be more powerful.
tweak: Shield blobs soak brute damage less well.
tweak: Flashbangs do higher damage to blobs up close, but their damage falls off faster.
experiment: Shield blobs now cost 15 resources to make instead of 10. Node blobs now cost 50 resources to make instead of 60.
experiment: Expanding/attacking now costs 4 resources instead of 5, and blobs can now ATTACK DIAGONALLY. Diagonal attacks are weaker than normal attacks, especially against cyborgs(which may be entirely immune, depending), and they remain unable to expand diagonally.
rscadd: Shield blobs no longer block atmos while under half health. Shield blobs are still immune to fire, even if they can't block atmos.
tweak: Blobs should block explosions less well.
rscadd: Blob cores and nodes are no longer immune to fire and no longer block atmos.
rscadd: Blobs can only auto-expand one tile at a time per expanding thing, and should be easier to beat back in general.
tweak: Blobbernauts now attack faster.
tweak: Blob Overminds attack mobs slower but can attack non-mobs much faster.
rscadd: Blob Overminds start with some amount of resources; in the gamemode, it's 80 divided by the number of overminds, in the event, it's 20 plus the number of active players, and otherwise, it's 60.
bugfix: You can no longer move blob cores into space, onto the mining shuttle, white ship, gulag shuttle, or solars.
bugfix: Blob rounds might be less laggy, if they were laggy?
tweak: Blobs don't heal as fast, excluding the core.
experiment: Blobs are marginally less destructive to their environment.
/🆑

Objective:
maybe possibly make blob something you can fight instead of wishing the blob didn't exist?
but also make the blob lethal enough that it can still deal with the crew if it knows what it's doing(and still lose if the crew is good instead of snowballing forever)
2016-08-17 15:48:28 +12:00
coiax
771c64084d Shuttle SS keeps track of hostile environments (#19235)
* Shuttle SS keeps track of hostile environments

Instead of changing SSshuttle.emergencyNoEscape manually, datums now
register and clear themselves with the SS, and a hostile environment is
if any datums are registered.

Note that it's datums that can be registered, as rev and blob gamemodes
register themselves.

Overhauling this means that you can have multiple sources of no-recall,
which although can't happen at present, may do so in the future whenever
multi-antag rounds happen.

🆑 coiax
tweak: The AI doomsday device timer is more accurate.
fix: Fixes a bug where the doomsday device would take twice as long as
it should.
/🆑

AI doomsday timer uses world.time, uses fastprocess to make sure the
announcements go out on time, added observer countdown for
the AI doomsday device.

* Fixes bugs
2016-07-11 16:53:23 +12:00
Joan Lung
0ea41bb5ef Makes blob slightly more finite (#17866) 2016-05-22 20:55:31 -05:00
Incoming5643
62c5c9483e mulligan patchwork fix to the newer disemboided overminds 2016-05-09 19:08:13 -04:00
KorPhaeron
399ddb50f9 Merge pull request #16179 from Jordie0608/webeditorho
Removes pointless message
2016-03-19 08:37:51 -05:00
Jordie
f683b929e4 removes pointless message 2016-03-18 18:13:58 +11:00
Nerd Lord
1ead1acbfc Goon-style blob placement 2016-03-09 20:21:19 -05:00
Nerd Lord
ccd8932e53 Blob mode now also checks for overminds before ending.
Fixes factory and resource nodes not animating(ha ha, uh, whoops)
2016-01-26 11:20:07 -05:00
ktccd
395cd5a68c Rewrote a bit of blob code to fix... a lot
Stuff fixed: My sad attempt at fixing #13126.
The expand() proc for blobs is hopefully less intensive now (WHY did it
used to spawn a blob only to destroy it? That must've been such a
waste...).
Destroy code no longer needs to adjust for the expand() proc doing weird
things.
The antag panel will now show the correct variable used to determine
blob progress.
Renamed the variables I used so they're not so similar to each other.
blob_legit and blobs_legit was WAY to easy to mix up.
2015-11-28 01:06:27 +01:00
ktccd
9a2c60cac6 Fixes issue #13126and also a few other areas blobs shouldn't be win from absorbing (centcom, SPACE etc).
🆑 ktccd
Fixes bug #13126 and also a few other areas blobs shouldn't be win from
absorbing (centcom, SPACE etc).
Added a variable to areas.
Kept the original blobs list as a list of all blobs, in case that was
used somewhere else, and instead made a separate list for legit blobs.
/🆑
2015-11-24 01:09:01 +01:00
Jordie0608
84a373ad90 makes auto_declare_completion_ use printplayer() 2015-08-31 20:55:12 +10:00
Firecage
3a826fe13c Changes alot of datum/ to /datum/ 2015-05-31 02:40:54 +02:00
Incoming
3aaeee6616 Fixes a blob edge case where combining admin blobs and roundstart blobs lead to weirdness and mulligan malfunction.
Also simplifies blob check_finished to bring it a bit more in line with other modes so it hopefully stops being an unpredictable pile of crap

Genernalized generic antag checking to just /mob/ because blob overminds (mob/camera) are now supported.
2015-05-07 21:49:30 -04:00
Incoming
e84acea13b Fixes an instance where a sanity check was being mistakenly failed because blobs have a different sort of standard for being "alive" or "dead" than other antags. This will fix a problem where blob rounds weren't properly mulliganing. 2015-05-02 21:23:22 -04:00
Incoming
c4f6d85b44 Any roundtype can now take advantage of continuous/non-continuous settings as well as the mulligan antag system. (as a reminder at this point the mulligan system only creates lings and/or traitors)
A generic check for antags now exists in check_finished, and overrides a lot of checks in specific modes. Specific checks are still needed if you have special means of determining antag viability (blob cores), or things to do when specific antags die (summon events).

In situations where mulligans are on but fail, the round will usually lurch on as "extended" but in wizard/malf/blob/ragin mages the round will end then and there. This mirrors current behavior.

Config settings are fully customizable and for the most part defaults mirror existing behaviors:

Revolution, Shadowling, Gang, Ragin Mages and Monkey are noncontinuous and will end with the death of all antagonists.

* There is a change here in shadowling in that rounds with living thralls but no living shadowlings will continue until the thralls are delt with, as they can still raise their dead master.

* Abductors not ending with the death of all ayyliens if there are still probe victims around is likewise a change. If the dev of abduction would rather have it default the other way, we can do that.

* Monkey being noncontinuous is a change, but given how monkey mode works, it really only makes sense.

All modes that are continous use the mulligan system by default, remember that this will only come into effect if EVERY antagonist dies, so modes with many antagonists are very likely to only mulligan extremely rarely because if even one isn't slaughtered and is instead brigged or otherwise neutralized nonfatally the mulligan will never come. A nice little bonus for security not to kill everyone!

Fixes a bug where shuttle stranding could occur in continous rev modes (not something on by default)

Probably buggy as hell in initial commit. Please no quick merge
2015-04-24 15:40:42 -04:00
Incoming
f7a7ef36dc fixes a goof where if a blob round was continous but not using midround_antag the shuttle would get caught in a loop of repeatedly stranding and unstranding itself. emergencyNoEscape was being fixed in the mulligan code, and I forgot to generalize it out when it stopped being an assured thing that a continuous round was also a mulligan round. The other two potentially effected modes (Malf and Wizard) already had this check generalized. 2015-04-15 18:12:32 -04:00
Incoming
1ce1b5b67d Fixes a few unreported logic goofs in my newest mulligan pull 2015-04-11 03:41:17 -04:00
Incoming
d1892cffbe Organizes the various continuous_round_x config options into one set of config options continuous. Functionality is only there for the same mode that already had that functionality, everything else is continuous always
Makes another set of config options for which rounds types, if any, use the midround antagonist (mulligan) system. Keep in mind this is by definition a subset of round with continuous set. Again this feature is only present for the roundtypes where I KNOW it works properly, other modes can't use midround antags.

The check antagonist screen will show how the game will behave when all the antagonists die, and it can be changed on the fly by admins, the four possible states are:

End on antagonist death (noncontinuous rounds)
Continue if antagonists die (unsupported continuous by default round)
Continue if antagonists die, creating replacement antagonists (continuous, using midround antags)
Continue if antagonists die, not creating new antagonists (continuous, not using midround antags)

When rounds prepare to mulligan admins will additionally get the option to just keep the round going without any automatically created antags in case they want to run their own shinanagans instead. They can also as before choose to end the round.
2015-04-09 16:03:11 -04:00
Incoming
c21c3046f3 Hamfistedly fixes #8266 2015-03-10 02:51:58 -04:00
Incoming
44d30afd20 Hotfix for Blob mulligan rounds. WHOOOOOPS 2015-03-03 19:42:01 -05:00
Incoming
79edc1ff88 Replaces the custom "how many people are dead?" check with the one used for survival rates on round end statitistics because, lets be honest here, we know that one works.
Shuffles some flags around that should hopefully prevent round_converted() from running more than once. It's not a huge crisis if it does because late join antag is self capping, but still, not intended behavoir!
2015-03-01 12:13:55 -05:00
Incoming
24cc205ce5 On primary antagonist rounds (wizard/blob/malfunction) if the config is set for continous rounds the round will convert on the fly to a new mode choosen from these mode if the primary antagonist dies:
EXTENDED
TRAITOR
CHANGELING
DOUBLE AGENTS
TRAITORLING

based on the game probabilities set through the config.

The round will not convert if more than 30% of the players are dead (round immediatly ends) or if the shuttle is beyond the point of no return (the round ends normally).

Adds the CONTINIOUS_ROUND_BLOB config
2015-02-22 21:32:17 -05:00
AlexanderUlanH
c1164888cf Makes blob more sensible
Gives blobs who burst in space a 30 second warning before they're
killed, and informs the admins that it's about to happen.  Also changed
the round ending logic to use the check_finished proc, rather than
building it in to the blobize proc.
2015-01-30 12:17:59 -05:00
phil235
aed2aeb7a1 Blob rounds are now reported as a win if the blob wins and vice versa (just like malf, nuke, rev) 2014-09-23 16:29:05 +02:00
ikarrus
7dc89c0d10 More Detailed End-Round Report
End-Round report will now also declare some round statistics, including
-Round duration
-Station integrity
-Total population
-Survival Rate
-Evacuation Rate
-Command's Approval Rating (During rev only)

Bugfix:
-Ending the round as a brain will no longer report to the player that they have survived
2014-08-29 21:24:30 -06:00
Firecage
6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
Mloc-Hibernia
8af8a43d6f Initial pass to convert LF to CRLF
Signed-off-by: Mloc-Hibernia <colmohici@gmail.com>
2014-03-24 08:53:40 +00:00
Giacom
04968a52df Merge pull request #1562 from Limeliz/RoundEndReport
Making round end reports more clear and easy read.
2013-10-13 08:28:16 -07:00
Limeliz
ce1cafb23b Making round end reports more clear and easy read by:
----------------------------------
* fixing spelling/grammatical errors
* slighty larger "headlines"
* bolding antag IC names and BYOND keys
* empty line between every traitor/wizard/changeling and every antag type
2013-10-11 23:49:23 +02:00
Giacomand
d5f96002be Blob Features!
A blob tile will light up when it is being pulsed by a core/node, adds crucial visual feedback when placing resources/factories.
New shortcuts for the blob. Expand = CTRL Click - Rally = Middle Mouse Click - Create Shield = Alt Click
Blobs can now talk to each other and ghosts can hear them. Thanks to /vg/ for this code.
Removed the unnecessary AI quarantine code.
Formated the blob code to use the standard.
2013-10-06 22:56:22 +01:00
Giacomand
dec20a7c8a Shows who the blobs were at the end of the round.
Small tweaks to values, such as increasing the resource rate of the core.
Overminds will have different names.
2013-07-10 00:31:23 +01:00
Giacomand
f3e63c8841 New powers, such as rally.
Blob spores can move through blob pieces now.
Blob gamemode chooses someone to turn into the blob
Other small changes based on feedback.
2013-07-09 00:52:29 +01:00
sieve32@gmail.com
7bf6788082 -OPTIMIZATION TIME
-Almost every instance of 'for(mob in world)' has been killed. Because GODDAMN was it being run a bunch. Instead, a series of global lists have been made, and they are all handled auto-magically through New()'s, Del()'s, Login()'s, death()'s, etc...

Lists are as follows:
-mob_list : Contains all atom/mobs by ref
-player_list : Like mob_list, but only contains mobs with clients attached
-admin_list : Like player_list, but holds all mobs with clients attached and admin status
-living_mob_list : Contains all mobs that ARE alive, regardless of client status
-dead_mob_list : Contains all mobs that are dead, which comes down to corpses and ghosts
-cable_list : A list containing every obj/structure/cable in existence
Note: There is an object (/obj/item/debuglist) that you can use to check the contents of each of the lists except for cables (Since getting a message saying "a cable," x9001 isn't very helpful)

These lists have been tested as much as I could on my own, and have been mostly implemented. There are still places where they could be used, but for now it's important that the core is working. If this all checks out I would really like to implement it into the MC as well, simply so it doesn't check call Life() on every mob by checking for all the ones in world every damn tick.

Just testing locally I was able to notice improvements with certain aspects, like admin verbs being MUCH more responsive (They checked for every mob in the world every time they were clicked), many sources of needless lag were cut out (Like Adminwho and Who checking every single mob when clicked), and due to the cable_list powernet rebuilding is MUCH more efficient, because instead of checking for every cable in the world every time a powernet was broken (read: A cable was deleted), it runs though the pre-made list, and even with a singulo tearing all the way across the station, the powernet load was VERY small compared to pretty much everything else.

If you want to know how any of this works, check global_lists.dm, there I have it rigorously commented, and it should provide an understanding of what's going on.

Mob related in worlds before this commit: 1262
After: 4
I'm helping


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4179 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-26 03:04:05 +00:00
mport2004@gmail.com
72ff652ecd Changelog code has been fixed, when editing it please use notepad or some other text editor that wont attempt to change everything.
Bit of work on blob, mainly cleanup of the blob gamemode files.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2764 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-21 21:33:04 +00:00