Commit Graph

355 Commits

Author SHA1 Message Date
Swag McYolosteinen ffd0db2b7b Merge pull request #8581 from MrPerson/lighting_2015
Object based lighting system
2015-04-12 13:14:32 +02:00
MrPerson 01a8aa662a Moved lighting stuff from controllers folder to its own module
Lighting SS no longer cares about the return of check(); the light datums are responsible for deleting themselves.
Cap on lighting effects from turfs is now 8 because they're static and shouldn't be flashing lights too often. This means starlight actually works now instead of being capped at 1 measly turf.
Lighting related ChangeTurf() code is in the lighting module. Changed it up to be faster on lighting controller init and not leave dangling lights when a turf becomes or stops being opaque or when it turns into space. This diff log is gonna be useless sadly but take my word for it, it all works.
Lighting related Moved() code is also in the lighting module. Opaque objects will now update nearby lights when they move (mechs).
Opaque objects other than the light datum's owner on the same tile as its owner will block the effect of the light. In other words a mech standing on the same square as a light bulb will block all the light of that bulb.

Changed "cheap_hypoteneuse()" with an even cheaper version; actually calculating the hypoteneuse! I can prove it's cheaper if needed.
Removed move_contents_to() because it's unused and trying to use it would cause major bugs with lights and other shit and I have no interest in supporting that, so let's not even tempt people.
2015-04-12 02:25:28 -07:00
Jordie f07c8ef27e Merge pull request #8809 from norill/shuffle
fixed biased shuffle algorithm
2015-04-11 16:58:19 +10:00
Orange Borg eb23f23bb8 Add a comment for future 2015-04-10 22:40:06 +12:00
Orange Borg 0266b4d6ed Restore holding null check
Apparently this broke a lot of stuff
2015-04-10 22:30:58 +12:00
norill 5e8b90e02b fixed biased shuffle algorithm 2015-04-07 19:12:51 +02:00
oranges 6d8fbee855 Add an optional target var to the do_after helper
The target item's loc must not move for do_after to return true, if left
null behaviour is unchanged from before
2015-04-05 09:27:38 +12:00
MrPerson e4a3abdd70 Object based lighting system
Uses actual objects on each non-space, dynamically lit turf. Light levels are switched back and forth via animate() and the object's alpha. Supporting colors shouldn't be too hard. Some hacky efficiency improvements means it isn't that much more expensive than current (I think, needs testing). Most of the lighting ss's cost is in checking all the lights and doing big loops, not anything actually in the loops themselves.

Start PDA flashlights on. This was to speed up testing but frankly I think it's a good change in general.

Added a Moved() proc. Called after a successful move.

In the future I hope to move off the luminosity var entirely but that was too slow in testing for me. That's what all that "for(area in sortedAreas) area.luminosity = 1" stuff in the lighting ss is, tests on removing luminosity outright.
2015-03-31 05:09:42 -07:00
Orange Borg e301667369 Remove an infinite loop in getFlatIcon
It's unlikely that this could ever be triggered but it's worth doing

Credit to report from
https://github.com/ParadiseSS13/Paradise/issues/596
2015-04-01 00:10:24 +13:00
ACCount12 f10d0df8cf Merge remote-tracking branch 'origin/master' into mining 2015-03-31 18:31:12 +12:00
Cheridan 17067d9021 Merge pull request #8508 from phil235/SlimeAnimal
Life refactor and slime as animal
2015-03-27 13:38:16 -05:00
ACCount12 e37121d750 ntstation mining update 2015-03-27 15:47:01 +12:00
Remie Richards 51a3a8b6aa Merge pull request #8535 from MrPerson/just_in_time_for_april_fools
Change holidays into datums
2015-03-26 16:46:02 +00:00
phil235 1b3eb49a1d Merge branch 'master' of https://github.com/tgstation/-tg-station into SlimeAnimal
Conflicts:
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/carbon/slime/slime.dm
	code/modules/mob/living/simple_animal/slime/say.dm
2015-03-26 02:31:06 +01:00
pudl 69924a15be plasma/ripley update 2015-03-25 18:06:26 -05:00
MrPerson 9910cf3fe3 Change holidays into datums
Holidays are now actual datums with procs and vars and everything.
Holidays run a proc called celebrate() when it's time to celebrate them. Currently none of them do anything but that should change, wink wink.
Holidays can now run for more than a day. The important ones, april fools, christmas, halloween, new years, and easter, all last at least a week. The idea is so people can celebrate christmas in game without having to, you know, actually play on fucking christmas. And also to put a time limit on how long stuff like the annoying spookoween closet skeletons will stick around so it doesn't overstay its welcome and become annoying as shit like last year.
The event SS now allows more than 1 holiday to run at a time. This matters for new years + christmas, easter + april fools, easter + 4/20, and any holiday that can happen on friday the 13th. The events get stored in a list that's only initialized if there's an active holiday so testing for potential holidays is still pretty easy.
Added more easter dates so we won't have to add more until 2040. The current batch run out in 2017.
2015-03-25 01:46:29 -07:00
Jordie 36b928eca8 Merge pull request #8463 from tgstation/RemieRichards-bored
Adds getPixelDistance()
2015-03-25 16:31:27 +11:00
phil235 ffd711c26f Merge branch 'master' of https://github.com/tgstation/-tg-station into SlimeAnimal
Conflicts:
	code/modules/mob/living/carbon/life.dm
	code/modules/mob/living/carbon/slime/slime.dm
	code/modules/mob/living/simple_animal/friendly/corgi.dm
	code/modules/mob/living/simple_animal/slime/say.dm
	code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm
2015-03-23 16:51:03 +01:00
Remie Richards 7bd2fad5a8 Adds getPixelDistance()
Adds a proc for finding the distance between two atoms, in pixels
2015-03-21 12:40:30 +00:00
dannno 88a38cf884 embedding for gar glasses 2015-03-20 22:31:20 -04:00
phil235 aecb365f84 Merge branch 'master' of https://github.com/tgstation/-tg-station into SlimeAnimal
Conflicts:
	code/modules/mob/living/carbon/alien/life.dm
	code/modules/mob/living/carbon/life.dm
	code/modules/mob/living/carbon/slime/slime.dm
	code/modules/mob/living/silicon/robot/life.dm
	code/modules/mob/living/simple_animal/slime/life.dm
2015-03-20 19:32:16 +01:00
phil235 456a64f8fd slime from carbon to simple animal 2015-03-14 23:40:57 +01:00
phil235 b5c63a9b2f Fixes resisting out of cuffs failing. 2015-03-10 12:24:15 +01:00
Cheridan d56cb89407 Merge pull request #8076 from xxalpha/lighters
Grayscale Lighters
2015-03-06 00:00:51 -06:00
phil235 467e102b49 Fixes trash disappearing when washed in a sink.
Fixes waffle trash being named "waffles".
Replacing some stat/weakened/stunned checks with incapacitated()
Fixes meat cutlets and steak not including meat type in their name (e.g. raw corgi meat cutlet)
Harvesting meat from simple animals now takes time, has a sound, and can be done with any sharp item.
2015-03-03 00:07:08 +01:00
Cheridan 2be30eb89e Merge pull request #8083 from Delimusca/getochemboyz
added improvised heating
2015-03-02 08:58:12 -06:00
xxalpha 843ee71f1d Removed new zippos. Changed color list. 2015-03-01 22:27:27 +00:00
Delimusca 747ebbc78d added improvised heating 2015-02-28 20:51:39 -07:00
xxalpha 4b9bc1b233 Adds grayscale lighters and two new zippo styles.
Cleaned up proc.
2015-02-28 23:39:50 +00:00
Remie Richards c4b78e37af Merge branch 'master' of https://github.com/tgstation/-tg-station into DroneUpdate20-02-2015
Conflicts:
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/simple_animal/friendly/drone.dm
	icons/mob/head.dmi
2015-02-28 16:19:13 +00:00
Razharas e889ee7a42 Merge pull request #7700 from RemieRichards/ExplosionsAndEmbedding
Items Embedding in Limbs
2015-02-24 01:22:01 +03:00
Swag McYolosteinen ac5fc9b044 Merge pull request #7544 from Incoming5643/popcapgames
Adds optional population caps
2015-02-23 17:20:02 +01:00
Remie Richards 9efa69145d Fixes #7852, Drones now have 3 vision modes to choose from: Static, Blank (Black icons) and Rougelike colour lettering. 2015-02-21 15:41:45 +00:00
Remie Richards 59c7c7968d Reorgansies Drones into multiple files. Drones now have 2 skins to choose from (With easier support for more). Drones now see static instead of other mobs (Except Drones) 2015-02-20 14:21:25 +00:00
Remie Richards e2bc8c7b79 quickfix for cutting food (is_sharp() cleanup issue) 2015-02-18 07:51:46 +00:00
Remie Richards d519de5018 Added embedded items to self examining. Allows embedded items to be removed from yourself via links in self examining, this hurts. Adds can_embed(). Reworks help_shake_act(). 2015-02-14 01:31:40 +00:00
Remie Richards 34ced43f45 Explosions throw items, items can embed in limbs, embedded items cause damage, embedded items can fall out, surgery for embedded item removal, ninja throwing stars! 2015-02-13 12:59:02 +00:00
phil235 35fb458293 Merge branch 'master' of https://github.com/tgstation/-tg-station into CookingOverhaul
Conflicts:
	code/modules/food&drinks/food/snacks_other.dm
	icons/obj/drinks.dmi
2015-02-07 20:22:49 +01:00
TheVekter 9bc2137815 man fuck typos
Whoops, might wanna update on my end before changing a path.

Fixed typo 'Tequilla'.
2015-02-05 15:43:09 -06:00
phil235 e4464b3b9f Merge branch 'master' of https://github.com/tgstation/-tg-station into CookingOverhaul 2015-02-05 22:35:00 +01:00
phil235 faba71fcca Cooking overhaul: adding tablecraft food recipes, customizable food, food ingredients (from bay)
- converted the microwave recipes to tablecraft recipes
- Added customizable food (thanks iamgoofball)
- added food ingredients (from baystation)
- changing food recipes a bit (replacing stuff with the new food ingredients)
- repurpose the microwave to actually cook certain food items.
- bowl is no longer trash but a reagent_containers/glass that is used in salad/soup recipes
- Changed the hunger system a bit, sugar becomes a normal reagent again. Adding a junkiness var to foods to drain mob satiety.
- milk carton is now a condiment bottle
- slight buff to vitamin
2015-02-05 16:48:25 +01:00
Incoming 7903aba6d3 Adds optional population caps for those that want them. These be dark measures, so tread carefully ye who dare enter this place.
There are three "levels" of popcaps, and you can use them in any assortment you like:

The "soft" cap produces a message on join, and takes no action.

The "hard" cap disallows joining whilst too many other people are alive and playing in game, but allows observing.

The "extreme" cap prevents people from joining the server at all while the cap is exceeded. It won't kick out people who failed to qualify during roundstart, but if they leave they won't be able to get back in.

In each case a customizable message config option has been given. Admins are also immune to most population caps (they still are hit by the ones in job shuffling, but can late join as normal afterwards)
2015-02-04 01:58:02 -05:00
Menshin c9ffb2e3bc Added _volas_ fix for sanitize_simple infinite loop regarding non standard character stripping 2015-02-02 00:25:32 +01:00
Menshin e5be04ecd3 Cut the message to max_length 'before' sanitizing it, to avoid unnecessary processing 2015-02-01 13:12:40 +01:00
Menshin 4256f3b8fd * Made the strip_html_properly() proceed the text in one pass
* Added stripping everything between http and ://, to prevent links being passed to Byond text window
* Stripped an unsafe inputting for advanced diseases
2015-01-31 18:48:17 +01:00
Deantwo 8818d4fce4 Fixes strip_html_properly infinite loop
><
2015-01-31 12:59:14 +01:00
Menshin 1534c82240 * Build the area list at world startup
* Fix the station areas not being processed in the jump_to_area proc
2015-01-26 19:09:05 +01:00
Deantwo 0e8156814f Font Define'ers Renamed
- Renamed font define'ers.
- Removed font duplicate define'ers.
2015-01-24 17:32:17 +01:00
Deantwo bfea67611e Pencode Changes Cleanup
- Moved the "parsepencode" proc from **newscaster.dm** and **PDA.dm** to
**text.dm** as a global proc.
- Made the "parsepencode" proc accept only a single agrument if desired.
- Removed the font constants from **newscaster.dm**, **PDA.dm**,
**paper.dm**, **paperbin.dm**, and **photocopier.dm**.
- Replaced aforementioned constants with define'ers in **misc.dm**.
2015-01-24 16:07:13 +01:00
Swag McYolosteinen 0576c2203e Merge pull request #7198 from Deantwo/PaperCut
Paper Input Box Fix
2015-01-21 15:44:03 +01:00