Commit Graph

642 Commits

Author SHA1 Message Date
Arokha Sieyes
35d067bed0 Allows turf unalloc in planets 2017-04-18 23:34:10 -04:00
Arokha Sieyes
6750a39900 Controllerized Planets
Controller with deferrals and SCHECKs to be specific. Won't lag while updating the sun, weather, or temperature.

Also moved some vars around. Namely the planet walls are stored on the planet, not in the weather_holder.

Planets now have their own turfs, the controller 'gives' them to the planets each cycle if there are any unallocated turfs in the global lists, to avoid iterating over other planets' turfs if you have more than one, then cuts the lists if you were crazy and some turf added some invalid type. This saves us type-checking in the for() loops later to make them crunch faster. The former operation should only happen once at the start of the game (and maybe very rarely when turfs are added/removed from a map during the game).

With regards to the temperature updates, rebuilding the zone entirely is an intensive operation. Instead we can use this new cheaty proc to do it from over here. ZAS code outside ZAS oh noooo. Well, the option is to snowflake this case into ZAS which is maybe worse?

Only downside to all this is that if you manually set weather and time it might take between 1-60 seconds for the controller to get around to checking if you wanted to update it. That's not that big a deal. If you really want you can now debug that controller and call doWork on it.
2017-04-18 23:34:02 -04:00
Leshana
777c41044c Implements footstep sound system and adds sounds to various floor types.
* Adds system for turfs to have "footstep sounds" that play when someone walks over them.
* Adds system for floor types (the kind of turfs where you can put tiles on them) to support the footstep sounds.
* Adds sounds to plating, tiles, wood, and carpet floor types.
* Footstep sound system is configurable in game_options.txt, it can be turned off completely or the volume adjusted.
2017-04-18 23:20:25 -04:00
Leshana
70a32fcfc6 Adds admin verbs for debugging process controllers
* Adds a verb for debugging any of the running process controllers.  Unlike the old debug controller verb, this one is not hard coded, so any present and future processes will be included.  Requires R_DEBUG (and R_ADMIN if in paranoid mode)
* Adds a verb for debugging the process scheduler itself.  This is hidden by default until debug verbs are shown.   Requires R_DEBUG (and R_ADMIN if in paranoid mode)
2017-04-18 19:04:38 -04:00
Leshana
2e59e24dca Merge branch 'master' of ../Polaris into polaris-sync 2017-04-16 20:58:40 -04:00
Neerti
22c329e906 Merge pull request #3305 from VOREStation/aro-pol-planets
Make planets more generic
2017-04-16 01:30:55 -04:00
Leshana
7a4dc4bf79 Merge remote-tracking branch 'polaris/master' into polaris-sync
# Conflicts:
#	html/changelogs/.all_changelog.yml
#	maps/RandomZLevels/zresearchlabs.dmm
2017-04-15 23:14:32 -05:00
Arokha Sieyes
aaeae6695a Make planets more generic
So that Sif doesn't have to be the only one!
2017-04-14 21:36:48 -04:00
Leshana
e8af4afc88 Port tg/paradise/good soft-edge lighting
Ports https://github.com/ParadiseSS13/Paradise/pull/6161
Its merged in nearly verbatim as far as the lighting module goes.
Changes outside the lighting module are merged based on our codebase.
2017-04-12 19:11:45 -04:00
Neerti
75cc189723 Merge pull request #3271 from VOREStation/aro-pol-panic
Quick & Dirty Panic Bunker Port
2017-04-11 21:55:59 -04:00
Neerti
f24a252a8e Merge pull request #3281 from VOREStation/fix-scheduled-task-controller
Fix null pointer runtime in scheduled task controller.
2017-04-11 21:54:37 -04:00
Arokha Sieyes
ebb2bf9675 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into aro-sync2 2017-04-11 21:29:07 -04:00
Leshana
4f3029fcb2 Fix null pointer runtime in scheduled task controller.
* If the "scheduler" controller is restarted by the process scheduler for
any reason, it will start throwing runtimes every status panel update
because the new replacement instance doesn't initialize its list of
schedule tasks.
* Fix that by copying over the unfinished list from the old instance, but
doing some safety checks to make sure it doesn't copy over bad stuff.
2017-04-11 19:16:35 -04:00
Arokha Sieyes
66327aecc7 Quick & Dirty Panic Bunker Port
Tested on our server, works. Doesn't work if you don't have a DB (how would it?).
2017-04-11 00:13:43 -04:00
Krausus
b183ce3ad2 Process deferral and profiling improvements
* Merges Krausus's https://github.com/ParadiseSS13/Paradise/pull/5472 from Paradise
2017-04-10 22:55:02 -04:00
Arokha Sieyes
b3d652fa50 Quick & Dirty Panic Bunker Port
Should work! Should.
2017-04-10 22:38:58 -04:00
Leshana
6eee55c983 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync
# Conflicts:
#	code/modules/client/preference_setup/general/03_body.dm
#	code/modules/mob/new_player/sprite_accessories.dm
#	html/changelogs/.all_changelog.yml
#	icons/mob/human_races/markings.dmi
#	vorestation.dme
2017-04-01 19:19:42 -04:00
Anewbe
88b0c6086e Antag Radio changes 2017-03-25 14:19:57 -05:00
Arokha Sieyes
805b473976 Polaris Sync Merge
Fixed Polaris merge conflicts
* Space controller merge conflict
2017-03-18 00:58:12 -04:00
Leshana
78563a608e Fix runtime in mob controller loop.
* Any nulls present in the mob_list would cause a runtime when checked if they are gcDestroyed.  Add a null check.
* Noticed that the object controller has the same bug, might as well fix now too.
2017-03-17 18:02:59 -04:00
Leshana
b045d7ae4c Fix runtime in mob controller loop.
* Any nulls present in the mob_list would cause a runtime when checked if they are gcDestroyed.  Add a null check.
* Noticed that the object controller has the same bug, might as well fix now too.
2017-03-17 00:33:25 -04:00
Anewbe
ae599bb68d Merge pull request #3065 from Neerti/3/6/2017_invisible_spaceships
Ports Vore's Space Traffic Controller feature.
2017-03-13 15:59:09 -05:00
Neerti
b706595d57 Makes red alert and evacs silence the atc
Comments out military ships because lore for them is not finalized.
2017-03-13 07:41:10 -04:00
Neerti
9dbd05e8d4 Ports Vore's Space Traffic Controller feature.
Ports Vore's fluff spaceships that talk on comms every ~40 minutes.
2017-03-08 22:06:48 -05:00
Leshana
f53dfde515 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into sync-2017-03-06
# Conflicts:
#	code/game/objects/items/blueprints.dm
#	vorestation.dme
2017-03-06 20:58:38 -05:00
Leshana
8355428e4e Adds Supply Shuttle Hook
* Adds a global hook for when the supply shuttle reaches centcom.  The existing sell_crate hook is too limited, as it only detects what is in crates, and is fired many times, making it hard to produce a summary for events that might want stuff shipped on the shuttle.
2017-03-06 12:36:19 -05:00
Neerti
411bd2b05b Ports Turbolifts from Bay. 2017-03-04 21:35:00 -05:00
Arokha Sieyes
a3e5e7327f Initial commit of new map system for Virgo 2017-03-02 23:34:43 -05:00
Arokha Sieyes
387f429e5e Merge large polaris changes 2017-03-02 22:44:17 -05:00
Arokha Sieyes
23ae8c35cf Space Chatter
Adds random space traffic control chatter during the game. It's rare, not spammy. Like every 35 minutes it has one short conversation.

It adds a bunch of lore datums about different parties in space and ship names and stuff. That can be used for other stuff later.

If you find it annoying, you can disable it at the comms consoles (don't need to log in, anyone can do it).

***Normal traffic***
[Common] SCV Falken states, "Virgo TraCon, this is Federation SCV Falken on a military route to the Gateway 98-C at Arest, requesting refueling information."
[Common] Virgo Air/Space Control states, "Federation SCV Falken, this is Virgo TraCon, sending refueling information now."
[Common] SCV Falken states, "Virgo TraCon, thank you, good day."

***5% chance of wrong frequency***
[Common] SDV Lucina states, "Sol Command, this is Federation SDV Lucina on a diplomatic flight to NSB Checkmate, requesting remote telemetry data."
[Common] Virgo Air/Space Control states, "Federation SDV Lucina, this is Virgo TraCon, wrong frequency. Switch to 855.2."
[Common] SDV Lucina states, "Virgo TraCon, understood, apologies."

***2% chance of emergency traffic***
[Common] UNSC Colorado states, "This is Navy UNSC Colorado declaring an emergency! We have unknown life forms on board!"
[Common] Virgo Air/Space Control states, "Navy UNSC Colorado, this is Virgo TraCon, copy. Switch to emergency responder channel 639.2."
[Common] UNSC Colorado states, "Virgo TraCon, okay, switching now."
2017-03-01 15:32:43 -05:00
Neerti
12abb2d6f2 Ports a large chunk of the map datum system that europa/bay uses.
Links many map-specific details such as the station name, z-level information, and allowed jobs from global vars to map datum vars, which should help us maintain multiple maps at once in the future, which will be needed for the future Southern Cross.
Note that a config change will be needed to change GENERATE_ASTEROID to GENERATE_MAP, otherwise no changes should be required to continue normal map usage.
To change to a different map, it's suggested to tick the file that ticks all the other needed files, which for the Northern Star is called northern_star.dm.
2017-02-27 07:36:41 -05:00
Arokha Sieyes
ff6790b174 Console percentage and sizing fixed but not button
Dunno why button dun work
2017-02-14 01:02:07 -05:00
Arokha Sieyes
41169628da MORE progress. 2017-02-13 01:20:51 -05:00
Arokha Sieyes
6d364b9f9e Beginning of rogue mining zone 2017-02-12 01:29:06 -05:00
Arokha Sieyes
f77239909d Framework for new shuttle
Sprites and floor tiles and whatnot.
2017-02-11 21:55:37 -05:00
Arokha Sieyes
75e94253ed CC Map Tweaks & 2 New Shuttles
Okay, the administration shuttle isn't new, I just made it more comprehensive.

-Made it easier to create multi-destination shuttles for player-use when not antags. The existing ones were pretty geared towards the Mercenary game mode. Now it's pretty easy to make a shuttle that goes a bunch of places.

-Redesigned admin shuttle (pac-man shaped one at CC) to be multi-destination shuttle more capable of supporting RP. Can be used on 'hard' away missions by putting in the appropriate area in the away mission (`/area/shuttle/administration/away_mission`). Or, hell, include it on every new away mission and say that it's the E-Z mode version of that mission.

-Added new AwayMission shuttle to Dock 1. By default it can only go between the station and the old abandoned construction site, but if it detects that there's a map loaded with the appropriate area (`/area/shuttle/awaymission/away`), then it will be available for travel to that destination as well, listed as "Unknown Location". The shape of the area should be 13 wide x 5 tall. The shuttle opens to the right, in the center of the 5.

-Redid several parts of Centcom. Nothing too huge. Mostly made some hallways less barren, allowed access to the trams area on the right by default for shift-end people to use the trams, tweaked a couple of hallways to make sense (going through the bridge to get to a security checkpoint?) and added a couple more potted plants for good measure. Mostly added windows because several hallways were just... like... I feel like I'm underground.

-Changes on z1: Added away shuttle to dock.
-Changes on z2: Lots, see above.
-Changes on z4: Add area for Away Mission shuttle.
2017-02-10 23:45:59 -05:00
Neerti
1d9e7c8c08 works on planet stuff 2017-02-06 20:45:21 -05:00
killer653
3f1e5c80f2 Polaris sync 2017-02-01 15:08:45 -05:00
killer653
832418c7c9 Polaris sync 2017-01-15 18:12:15 -05:00
Anewbe
2eeb4134a8 Ports Bay's Antag Player Age blocker 2017-01-14 17:37:46 -06:00
Neerti
4f81ae340b Map change + entertainment monitor tweak
Adds TV drone to librarian's office.
Entertainment monitors now broadcast the entertainment frequency when powered.
2017-01-09 08:34:16 -05:00
Neerti
f393dafa5d Ports Bay's Journalist TV Drone
Also ports prerequisite entertainment radio frequency code.
2017-01-09 05:03:40 -05:00
Leshana
6b26f620c2 Add discord integration for faxes
* Transmit a message to a webhook that sends a message to discord when an admin fax is sent.
* Its not feasible to send the text of the fax (considering it might be just a picture!) to discord, so instead we export it to a file, and discord links back to it.
* Obviously to fully work this also requires a webhook script and webhosting of the faxes folder.
2016-11-04 21:58:25 -04:00
Leshana
7dbdfdda01 Load virgo-specific configuration parameters from config.txt 2016-11-04 21:58:25 -04:00
Arokha Sieyes
b03ad5892e Try to fix microBgone bug
Hopefully people aren't randomly sent to space anymore?

Also cleaned up old debug code for a bug I fixed
2016-10-22 22:27:45 -04:00
Eearslya Sleiarion
868413c880 Polaris Sync October 9th (#633) 2016-10-09 18:55:29 -04:00
Neerti
3e3036aaa8 Correct new and old event tickers. 2016-10-02 18:39:56 -04:00
Neerti
699e04adf9 Adds Groundwork for New Event System
Adds what I hope to be able to make a sort of intelligent system that in the future will be able to decide what event would be the best to choose at any given moment.  A lot of this will probably get rewritten later.
You can use the new debug verb Show GM Status to have it show some data about itself, such as player activity across the whole server.
Currently, the system cannot actually run any events, as they don't exist and it's been disabled.  The plan is to have the events themselves do most of the heavy lifting for stuff like set-up and weights.
When the overarching system is more refined, a lot of new events will be madem and most of our old ones will be ported, and improved upon too.
For now, adding this lets me see what the system thinks about a round that has people playing on it and not just me on a test server.
2016-10-02 12:35:16 -04:00
Cameron653
28175d86c7 Late September Sync (#579)
* Elevators aren't bottomless voids!

* Updates changelog

* Sombrero Code

* Fixes #2365

* Adds changelog

* Sleeper is evil.

* no message

* Changelog

* Stops observers from leaving prints on the ground.

No more spooking the mortals, ghosts.

* Allows autotraitor in secret to start with 0 players

* Adds changelog

* Makes diona slightly less slow

* Adds changelog

* Bowling Shirts

* Updates changelog

* Adds a missing description

* Flat Cap Changes and Hair Bow

* Fixed Error

* Adds an in-hand

* Lower Torso cannot be amputated

* Smoke works, adds changelog

* Updates changelog

* Makes Unathi Voidsuits Less Fat

* Medical related fixes

* Fuzzy Cuffs

* Tube Top

* Made Icons for Security Suit Less Gaunt

* Revert "Medical related fixes"

This reverts commit d7c59520e6.

* Just the fix to random med item now

* Adds organ fixing

* Fixes Evening Glove Coloring

* HAZMAT Suits

* Changes Unathi sprite slightly

* Tweaks skirt pathing

* Corrects changelog

* Adds changelog

* Construction Voidsuits

* makes people bleed real good

* adderino changeling

* Biohazard Voidsuit

* Revert "Revert "Adds hub passwordu""

* Explosive implants should no longer gib on limbs.

* Adds space penguins and space geese.

* Revert "Revert "Revert "Adds hub passwordu"""

* Makes flash rounds respect eye protection

* Water > Fire

* There's plenty lying around, I think

* Naming inconsistencies fixed

The short naming of central command has been really inconsistent across
the game's files. This has always annoyed the shit out of me.

CentComm and Centcomm and Centcom are now all CentCom, specifically with
that capitalization. Why one M instead of two M's? Because Comm with two
'M's = Communications. Hence, Telecomms, NOT Telecoms. Telecoms is
incorrect. CentCom was also chosen because CentCom with one M and this
casing is most found throughout the game's files.

Speaking of Telecomms, I corrected one instance in the game where it's
Telecom. Like I said, this is not correct. There was only one
inconsistency.

Likewise, Nanotrasen has been changed to NanoTrasen. Nanotrasen only
appears 20 times, where NanoTrasen appears 62. NanoTrasen is clearly the
preferred, correct naming.

* Almost forgot plural of Telecomm

* Finalizes work, adds designs to research.

* Press Vest

* Removes Mags/Shells, Adds Recorder and Flashlight

* Fixes spans.

* Raises the number of players needed to start Ninja

* Still needs to fix internal bleeding

* Allows Wirer To Attach to Toolbelts

* Fixes #393

* Tweaks FBP temperature

* Corrects Changelog

* Fixes some Advanced Egun oversights

* Embiggens the laser carbine and the lasercannon.

* Messenger Bags

* Health analyzers detect appendicitis

* Custom Circuit Additions & Fixes
Adds Med Scanner and Advanced Med Scanner circuits.
Clock circuit is now functional.
Five second delay will delay for five seconds and not one second.
Renaming circuitry now respects ability to do so (e.g. being alive).
Firing circuit can now be obtained by science normally.
Examining inside assembly cases now requires adjacency.

* More Additions
You can now cancel inputting on a text or numberpad.
Zero is now displayed properly on the UI and not be shown as null.
The small and medium assemblies now have real sprites.
Total health percentage for med scanners and advanced med scanners now reports a proper percentage and not 1 or 0.
The constant memory chip now can be set by using it in hand, making it usable.
The constant memory chip now accepts refs as data to store.  To use, select 'ref' when using inhand, then hit it against the thing you want to store.

* Allows Chemists to View Medical Records on their PDA

* Refactors splinting

* Refactors the forceMove() drop.

Makes dropping a its proc instead, cleaning up forceMove() handling.

* Replaces ORGAN_SPLINTED

* Supportive suits now only loop through bad organs

* Adds changelog

* Lasercannon tweaks

* Bloodloss tweak

* Adds hawaii shirt

Attachable to any uniform, works like suit jackets.

* Changelog cause why not

At this rate I'll forget how to do those otherwise

* Adds randomized alohas

Also some color matrix helpers from TG

* Appendicitis doesn't cancel itself out.

* Removes debug stuff

* Radsuit Sprite Changes

* Allows us to actually use the messenger bags

* Fixes spelling mistake

* Ported ventcrawling from vg.

* Fixes changelog errors

* Updates changelog

* Tweaks vent crawling.

The ability to ventcrawl is now checked by the /handle_ventcrawl() proc, making it possible to properly check before and after the do_after() call.
Moves various checks into the base can_ventcrawl proc.
Now lists the first object that prevents a mob from ventcrawling, making it easier to correct the exception list.
Removes the issmall() check, instead checks if the crawling mob has the relevant verb. Fixes #14081.

* Suit Storage Items

* Adds in IB removal

* More Circuit Things
Adds Locomotion circuit, which makes the machine move in a given direction.
Adds Signaler circuit, which can send and receive signals from a signaler.
Adds a new tool, the Debugger, which lets one directly set data in a specific pin.  It can also pulse activation pins.
Adds ability to define custom cooldown times for each component.
Smoke generator now has a 30 second cooldown.
Cleans up some code somewhat.

* Adds design for locomotion circuit.

* Cleans up code

* Even more sprites by Mechoid.
Fixes abs to rel converter.

* Black Messenger Bag

* Powersink fix

* Even More Sodding Circuits
Adds new RNG circuit, to make random numbers each time.
Adds new Concatenating circuit, so you can make lots of small strings into one big one.
Adds new light and advanced light circuit.  Basic just has a normal light that can be toggled.  Advanced allows it to be any color using RGB, and a brightness between 0 and 6.
New sprites for the debugger and wirer, by Mechoid.
Hopefully finally fixes smoke generator from being unobtainable.

* Adds basic circuit kit and spare circuit tools to Tech Storage.

* Part the first

* Changelog

* Allows robots to be constructed with prosthetic limbs as well as borg limbs.

* Map change

* Secbelt can hold stun revolvers and eguns

* Voidsuit Sprite Changes

* Tweaks burst laser

* Lasers, energy projectiles, and muzzle flashes now produce light.

It's a bit wonky due to lighting only updating once every half-second,
but it's very much functional, at least on my desktop.

* Adds bridge bunnies

* Slightly cleans up the occupation screen, adds uniform to locker

* Map Changes

* Adds Changelog

* Fixes stuff

* Allows jobbanning of cargo department jobs

* Re-adds balance changes to heavy lasers.

They got changed by accident when I did the laser light show.
Also, adds changelogs for my last couple changes, because I'm an
    idiot and forgot them.

* Fixed missing sprite

* Dress Loadout Additions

* I Can't Believe It's Not Circuits (it is)
Fixes numberpad and letterpad pulsing.
Debugger and Constant chip can now have null written to it.
Adds new sound output, with two types so far.  One being the 'beeper' type, which can do things like buzz, ping, beep, etc.  The second type is a securitron speaker, which allows us to get closer to building a functioning Beepsky.

* Adds EPv2 Circuit
Adds a circuit that allows it to send and receive EPv2 messages, allowing for a more robust transmission of data that signalers cannot deliver.  Bonus: Communicators can send text messages to custom machines using this.

* Updates changelog

* Fixes not being able to put things in medkits.

* Technomancer Tweaks

Cost for various spells and equipment adjusted greatly.  In general, things are cheaper, and everything should now be in multiples of 25, so no points are wasted.
The default jumpsuit for Technomancers is now heavily insulated, protecting them from tasers, batons, and perhaps unfortunate lightning strikes.
Instability between 31 and 50 made less harsh.
Wards made with a scepter of enhancement will break the cloak of anyone invisible that it can see.
Fire aura buffed, increased rate of heating as well as temperature cap for both non-scepter and scepter effects.
Reflect spell made more forgiving for the Technomancer, lasting longer before expiring.
Projectile spells should be able to hit people more reliably.

* Shotgun Reloading Tweak
Adds ability to hit a shotgun or similar weapon with a container containing ammo, to load said ammo into the shotgun one at a time automatically, instead of having to play inventory tetris, as requested by some people.

* Use sanitizeName for the guest pass terminal name input to prevent excessively long names.

* Circuit UI and Assembly Tweaks
Adds new drone assembly, which has stats between the medium and large assembly.  Sprites by Mechoid.
Assemblies now have a light UI when examined while opened, which displays what's inside, as well as how close to the cap for parts or complexity you are getting.  Click the names of a component to open the wiring interface for that component.  You can also rename each component from the UI.  Bonus:  Having multiple components of the same name will no longer appear as one component.
Adds ability to rename the assembly, using the new UI.

* Revert "Ported ventcrawling from vg."

* Re-adds a nice, useful macro

* Fixes #2431

* Tweaks Riot armor

* Fixes a typo in the DNA Modifier

* Ripped Jeans (And White Shorts)

* Adds shanking

* Adds changelog

* Removes a stray world <<

* Ported ventcrawling from vg.

* Tweaks vent crawling.

The ability to ventcrawl is now checked by the /handle_ventcrawl() proc, making it possible to properly check before and after the do_after() call.
Moves various checks into the base can_ventcrawl proc.
Now lists the first object that prevents a mob from ventcrawling, making it easier to correct the exception list.
Removes the issmall() check, instead checks if the crawling mob has the relevant verb. Fixes #14081.

* Long, time-consuming not one-line fix

* Makes cigs branded too

Description of cig/cigbutt would reveal its brand for dastardly murdersolving revelations.

* Adding a article

* The door hacker now only pings the user

* Removes implants from Deathsquad

* Adds the ability to apply pressure to bleeding wounds

* Shoes

* EVA rigs should use their default sprites on Taj and Unathi

* Fixing some errors

* Update loadout_xeno.dm

* Delete back_vr.dmi

* Add files via upload
2016-09-24 14:12:43 -04:00
Spades
9c78d6a2a1 Naming inconsistencies fixed
The short naming of central command has been really inconsistent across
the game's files. This has always annoyed the shit out of me.

CentComm and Centcomm and Centcom are now all CentCom, specifically with
that capitalization. Why one M instead of two M's? Because Comm with two
'M's = Communications. Hence, Telecomms, NOT Telecoms. Telecoms is
incorrect. CentCom was also chosen because CentCom with one M and this
casing is most found throughout the game's files.

Speaking of Telecomms, I corrected one instance in the game where it's
Telecom. Like I said, this is not correct. There was only one
inconsistency.

Likewise, Nanotrasen has been changed to NanoTrasen. Nanotrasen only
appears 20 times, where NanoTrasen appears 62. NanoTrasen is clearly the
preferred, correct naming.
2016-09-13 16:36:43 -04:00