Commit Graph

47 Commits

Author SHA1 Message Date
Cyberboss
ecc3b29500 Fixes /obj/effect/landmark/start failing to GC (#23551) 2017-02-02 11:31:41 +01:00
NikNakFlak
8a85e7bcae Adds the purple skirt! 2016-10-21 11:42:16 -07:00
NikNakFlak
803e23e132 Updates prescription glasses and hipster glasses onmob sprites, removes green glasses (#20807)
* Swaggy glasses tbh

* Git merge thingy
2016-10-10 18:33:07 +13:00
phil235
2d2975f783 Some preliminary changes before the damage refactor PR. The changes here do absolutely nothing gamewise.
This just adds some vars that the refactor will use. Putting this in a separate PR prevent the damage refactor PR from becoming too big (number of files changed) and hard to read and review.

Introduces the resistance_flags bitflag that replaces unacidable and burn_state.
Moves the armor var from item to /obj level and gives specific armor values to many objects, the armor list also gets two new armor types: fire and acid, which will be used in the refactor. the new fire and acid armor values are given to plenty of items.
2016-09-27 22:33:08 +02:00
Jack Edge
811ca247d8 Capture the flag quality of life changes
- Spawn traps no longer fade when crossed
- The "reset" location of CTF flags is visible to observers
- Baricades regenerate at the start of every round, and when destroyed
leave observer visible ghost barricades
- At the start of every round, the arena is cleared of debris
- The blue team shoot blue lasers, the red team shoot red lasers
2016-06-28 23:49:28 +01:00
Jack Edge
d4118f8798 Cleaned maps, ruin verbs
Also converts some into tgm
2016-06-12 01:32:59 +01:00
phil235
750eaa4a57 invisibility = 100 and 101 now use defines. 2016-04-29 01:00:05 +02:00
xxalpha
3df42cfdba Added new event: portal storm.
need the file of course

world name
2016-01-30 01:23:55 +00:00
bgobandit
73471eb8b1 sexy clown is now a sexy object oriented clown 2015-12-10 19:19:03 -05:00
bear1ake
f697ae90f5 removes a bunch of .0 2015-09-10 20:57:30 +09:00
xxalpha
b9db8ce854 A few qdel fixes. 2015-08-27 13:15:41 +01:00
AnturK
8a1e4435b6 Adds admin verb to reset latejoin spawns 2015-08-08 18:52:57 +02:00
xxalpha
62426279b4 Added department security spawn points and fixed dep sec spawning. 2015-05-16 22:20:31 +01:00
MrStonedOne
eb7d5fefa5 Merge remote-tracking branch 'upstream/master' into step-aside-aran-im-here-to-touch-your-precious
Conflicts:
	code/controllers/subsystem/ticker.dm
2015-05-02 03:03:29 -07:00
MrStonedOne
bd6d51a0b5 Massive MC and subsystem rewrite
MC:
	No longer tracks a subsystem's cpu usage. This was basically worthless and took up space on the stat panel
	Can calculate wait down to a tenth of a decisecond to make it fps/world.ticklag agnostic
	Now allows subsystems to have a dynamic wait, that is based on a ratio of how long that subsystem has been taking to process(cost). (This system allows for upper and lower bounds, and an changeable cost delta for each subsystem)
	MC can now be told to init a zlevel

All Subsystems:
	Stats panel now allows child subsystems to pass it a message to add to its stats entry. All subsystems have been moved over to this system - This should cut down on subsystems having to copy and paste the stats proc in order to add to it
	All subsystems now properlly handle being given a zlevel in their init proc

Subsystem changes:
	Air:
		Added air to the dynamic wait subsystem. upper bound: 50, lower bound: 5, cost delta: 3 times process cost
		Air now fires 4 times faster when it can do so without lagging things up
		Pipenet has been merged into air
		Atmos machinery now processes with process_atmos(), ticked by air, not machinery.
		Hotspots (the fire object) are now object pooled
	Pipenet:
		Deleted, added to air
	Machinery:
		Moved all atmos calcualtions in all objects's process() to process_atmos().
	Lighting:
		Added Lighting to the dynamic wait subsystem. upper bound: 20, lower bound: 5, cost delta: 3 times process cost
	Ticker:
		Fixed ticker not updating the lobby panel when game start delayed
		Fixed the game start timer updating rapidly from queued fires when game start delay is removed
	Garbage/qdel:
		qdel will now limit its process time to 2ds a fire.
		qdel can now be given hints as a return to Destroy() as to what should be done with the object.
		the options are:
			queue: (default) this is the normal behavior.
			letmelive: old default to non-null/zero. does nothing with the object
			iwillgc: functionally the same as above, mainly to let people working with objects know that the object will not be queued for GC checking
			harddel: this will queue the object to be deleted without storing a soft reference, mainly to save locate() processing time.
			harddel_now: this will del() the object. To allow for a clean removal of every del() not in qdel
		All objects have been updated to the new system, harddel and iwillgc was not added to any new objects.
		Fixed some objects not GCing because they didn't properlly clear references in Destory()
		Fixed some objects getting qdel'ed preventing other objects from getting GCed because they did not null their reference to that object.
2015-04-29 02:00:25 -07:00
Ikarrus
671bee5027 Centcom Response Team Variations
- The button is now labelled "Make Centcom Response Team"
- Added different response teams of varying strength, to give admins more options than balls-to-the-walls all the time
- Code Green: Centcom Official
- Code Blue: Light ERT - No access to lockers or admin weapons
- Code Amber: Full ERT - Access to lockers, but not admin weapons
- Code Red: Elite ERT - What we have now.
- Code Delta: Deathsquad
- Removed Make Deathsquad button as it's all collapsed into this one button now
2015-04-27 01:08:47 -06:00
Ikarrus
c62d387a1d Randomizes Order of Job Spawn Points
The ticker's setup() will shuffle the list of spawn points, so jobs won't always predictably spawn bottom-up and left-to-right
2015-03-02 20:01:36 -07:00
dannno
44ea489940 THE OWL RETURNS: PART 2: REVENGE OF THE GRIFFIN
- adds The Griffin costume to the autodrobe
2015-02-23 17:30:17 -05:00
dannno
e8fb3d1f05 THE OWL RETURNS: PART 1: THE PLASMA RISES
- all owl items resprited
- owl wings added; suit slot item, wings are toggleable
2015-02-23 16:49:17 -05:00
Steelpoint
982c54c2f3 EmergencyResponseTeamV2 2015-01-11 19:21:38 +08:00
tkdrg
b0635993a4 Revert "[FEATURE] Emergency Response Team" 2015-01-10 19:55:30 -03:00
Steelpoint
ec821c33d2 Merge branch 'master' of https://github.com/tgstation/-tg-station into EmergencyResponseTeam
Conflicts:
	_maps/map_files/generic/z2.dmm
	code/_globalvars/lists/mapping.dm
2015-01-06 12:17:29 +08:00
Steelpoint
49ea9b0543 EmergencyResponseTeam-AntagSelectionForAdmins 2015-01-05 20:20:11 +08: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
paprka
9e9b8b440d adds winter coats and changes labcoat toggling 2014-12-04 21:29:21 -08:00
Cheridan
4525ab93cf Adds Doc Scratch costume in reverse.
Since everyone's already mad anyway.
2014-10-26 03:37:56 -05:00
ikarrus
d56274a4ab Adds Deathsquad to Quick-Create Antagonist Menu
-Pressing this button will spawn up to 5 death commandos on centcom with a customizable objective
-Added a shuttle console to the ferry that, rather than moving the shuttle, will send a request to admins instead
-Deathsquaddies get an energy shield
-Deathsquad beret will no longer hide head, face, and hair
2014-08-16 00:40:37 -06:00
ikarrus
bf5200daf8 [Config] Security Officer Scaling
Intended for high-population servers

Open security officer positions scale with population, between 5 slots at ~40 players to 12 slots at ~96 players

Default coefficient is 8, but may be modified (or disabled) in the config.

Extra lockers will spawn if there aren't enough lockers.
2014-06-15 21:24:07 -06:00
Aranclanos
b544a945a9 Fixes issue #2489
Fixes issue #119

Transferred all the different colours of under clothes and shoes to obj/item/clothing/under/colour/XXX and obj/item/clothing/shoes/sneakers/XXX
Added two extra options to the spawn menu of the game panel, clothing and food.
2014-05-01 06:01:14 -03:00
MrPerson
9eee3e5067 First pass at a qdel() garbage collection system for tgstation
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.

New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.

ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
2014-02-23 14:55:12 -08:00
Pete Goodfellow
5222191b73 Changes the waistcoat path from /obj/item/clothing/suit/wcoat to /obj/item/clothing/tie/wcoat so you can wear it under a spacesuit or suit jacket.
Also makes ties show up on the jumpsuit object.
2014-01-19 14:50:27 +00:00
Aranclanos
1e3f2c37a6 Removes the gag ball. 2014-01-01 23:43:01 -03:00
Intigracy
04feaa7361 Fixes landmark for plaguedoctor costume not spawning the mask.
Lame.
2013-10-23 22:13:40 -07:00
Intigracy
f7c644c9dc Adds gags!
50% chance of getting either a gag or a blindfold with the maid and nyangirl outfits in the theater

Monkeys have a sprite too.
2013-08-29 12:19:34 -07:00
Jibbajabba
1ffec09e03 Resolved #881 - Added appropriate shoes to wizard and marisa outfit. 2013-06-29 15:46:34 +01:00
Pete Goodfellow
6bd74786c0 Tiny bit of tidying up for global.dm and landmarks.dm, removing some old, oooold vars. 2013-03-27 16:37:00 +00:00
petethegoat@gmail.com
8ff7285645 Updates HUD stuff!
The main goal was to remove all the pointless shit in the UI style dmis, but this commit actually goes a bit deeper than that.

Formally renames the "hurt" intent to "harm", in line with everything else in the world.

Removes the old screen1_... .dmis. They've been replaced with screen_... .dmis. They function much the same.
screen_gen.dmi is used for things which apply to multiple UI styles, such as storage slot sprites, or the intent selector. (These can still be overridden in HUD code, though.)

Item action buttons have been changed to use a template from the UI style, and the icon_state of the item.
var/icon_action_button has been removed- varvar/action_button_name must be used instead to add action buttons for items.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5826 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-08 21:32:00 +00:00
petethegoat@gmail.com
7500ac50f8 Committing two proposed commits by Malkevin: http://forums.nanotrasen.com/viewtopic.php?f=16&t=11499 & http://forums.nanotrasen.com/viewtopic.php?f=16&t=11717
Owl mask is now a gasmask.

Adds the missing icons for the arrest statuses of Parolled and Released, as well as a little blinking icon for chemical implants to hud.dmi
And adds them to hud.dm so they show in game also.

Updated the changelog.

Path change:
/obj/item/clothing/mask/owl_mask > /obj/item/clothing/mask/gas/owl_mask

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5501 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-09 12:53:42 +00:00
d_h2005@yahoo.com
68969baa5c Fixes issue 1106 - Splits the chicken suit into suit and hat. Adds an egg to the costume landmark for honks and giggles.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5359 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-19 06:36:12 +00:00
d_h2005@yahoo.com
13c2f29555 Adds brooms, by request! They don't do anything special yet. They can spawn in the theater, and there's one on the wizard's den.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5158 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-22 02:28:43 +00:00
sieve32@gmail.com
396fb3b411 Commiting for Aranclanos
-Fix for blindfolds not protecting from flashes
Fixes Issue 934
-Being handcuffed drops held items
Fixes Issue 975
-Can no longer abuse the holodeck to deconvert revs
Fixes Issue 968

Tested everything myself and it all works

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4829 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-07 22:18:29 +00:00
d_h2005@yahoo.com
5110786735 -Adds the missing sprites to that cute witch hat, and allows it to be spawned in the theater, along with ausops' cute sundress because it's also cute and I didn't have anything else to spawn with it. honk.
Let's keep gearing up for a great halloween! 

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4803 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-03 22:17:17 +00:00
giacomand@gmail.com
384b2717b0 -Added a "landmarks_list"; the game will now check for landmarks in the list instead of the world.
-Did some optimizing to AI freelook.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4670 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-09 22:27:06 +00:00
johnsonmt88@gmail.com
c7947ef236 File restructuring: ohgodihopenothingbroke edition.
All /world/ stuff that I've found is now in code/world.dm instead of being scattered throughout the code in 6-7 files.

*****IMPORTANT*****
This means that hub.dm is now part of world.dm. Server hosts using the hub will likely have to redo the hub/password variables!

Again, that stuff is now located in code/world.dm
*******************

The tester list has been removed as it is not in use.

/code/defines
- Moved atom.dm code into /code/game/atom.dm and atom_movable.dm
- Moved hub.dm code into /code/world.dm
- Moved the /defines/tanning into objects/item/sheets/leather.dm
- Moved /defines/area/ into game/area/
- Moved turf.dm code into the code/game/turfs folder and divided it up into meaningful places

A lot of the files in /code/game were placed in new areas since they really didn't have a reason to be there.
- algorithm.dm: 
- - The world stuff is in world.dm. 
- - countJob() and AutoUpdateTK() were removed entirely (unused).
- - AutoUpdateAI() is now in /mob/living/silicon/ai.dm

- atom_procs.dm was split into atom.dm and atom_movable.dm

- cellautomata.dm
- - World stuff was moved into world.dm
- - Atom stuff was moved into atom.dm and atom_movable.dm
- - Atom verbs were moved into code/game/verbs/atom_verbs.dm

- chemistry.dm
- - Beaker box code was moved into storage/misc.dm
- - The trash can and 'alechemy' paper were removed. (unused)

- Landmarks.dm was moved into /objects/effects/landmarks.dm

- prisonshuttle.dm, specops_shuttle.dm, syndicate_shuttle.dm and syndicate_specops_shuttle.dm have been moved into game/machinery/computer/

- status.dm and topic.dm code were moved into world.dm

- step_triggers.dm are now in objects/effects/step_triggers.dm

- throwing.dm was split into appropriate files (carbon mob code, atom_movable.dm, ect)

- vote.dm is now in code/datums

/code/game/asteroid was split up.
- turf.dm was moved into game/turfs/simulated/asteroid.dm
- artifacts were split up
- - Wish granter is now in game/machinery
- - The stealth box is gone (unused)
- - The list of 'space suprises' was moved into astroid.dm
- asteroid.dm, being the only file left, was moved into /code/game


and finally...
modules/mob/organs files are now in code/datums/organs

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4659 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-08 22:11:02 +00:00
johnsonmt88@gmail.com
d91ea514d9 More file structuring.
closet.dm, costume.dm, decal.dm and window.dm have been knocked out of the define folder and their defines have been moved into appropriate files.

The closet folder has been re-organized a little.

supplypacks.dm has been moved into the datums folder since that's what it is.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4627 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-05 22:44:48 +00:00
johnsonmt88@gmail.com
74fcce34d9 Map and Animal fixes!
Simple_animal fixes:
- Mice now properly get added to the mob list.
- Simple animals no longer use emotes if they have a client attached.
- Bears no longer run their AI stuff if they have a client attached.

This means that admins can now use the 'Animalize' button to turn players into mice and bears!

Map fixes:
- That window near arrival shuttle is back where it is supposed to be.
- Nuke op shuttle has red floors again.
- Holodeck's beach program once again has a beach.
- The beach once again is a beach.
- Re-added plating in the centcomm control room (where A.L.I.C.E. is.)

Changelog updated.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4583 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-29 22:59:53 +00:00
johnsonmt88@gmail.com
867b21c7ce File restructuring!
This brings down a bunch of defines from /code/defines/obj.dm unto their appropriate files.

I've moved morgue.dm from game/machinery into game/objects/structures since that file contains no machines.

I've reorganized the objects/items/stacks folder and made a 'sheets' and 'tiles' folder to keep things separate

I've separated stool_chair_bed.dm into its own folder which now contains the files: stools.dm, chairs.dm, bed.dm and alien_nests.dm to make it a little easier to go through.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4582 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-29 18:00:30 +00:00