Commit Graph

610 Commits

Author SHA1 Message Date
skull132
ffdc7e8db2 Pre-update tweaks (#1409)
Remove backup files
Reduce Travis' macro count
2017-01-07 14:21:10 +02:00
skull132
44f22c2128 Improve Object Initialization (#1368)
Okay. You can read the entire theory over in this issue: #1365

But basically. All objects to be initialized are now added to a list in their New() proc on world/New(). This is substantially smaller than the entire world. This allows game_controller/setup_objects() to crawl a much larger list, and speeds it up by 6 seconds (from 9.5 to 3.5 seconds). The impact on world/New() is, on average, under 1 second.

Also fixes #1365 and #1363 as a result of reworking the initialization call logic in atoms_movable.dm. initialize() is now more secure, and can handle recursive calls at any point in time.
2017-01-02 00:45:36 +02:00
skull132
14a0c7bf92 Fixes Boogaloo (#1345)
Re-adds IPC APC feeding
Removes more of the horror that is type paths in text strings when they don't have to be there :ree:
Fix a bunch of lore blurbs
SQL saving is fixededed
Mark-up REGEX now requires whitespace or line ending/starts between tokens. It doesn't grab tokens surrounded by non-whitespace characters.
Updated the server greeting to only updated saved hashes if a user actively clicks on a tab.
C4 now forces old system for itself, due to raisins.
Admin verb to toggle between global default explosion type. One round only. Requires R_DEBUG or R_SERVER, is hideable.
2016-12-31 04:32:33 +02:00
NanakoAC
bdda79ff29 Beekeeping fixes and tweaks (#1337)
In short, baymerge changed beekeeping. Generally for the better, i love some of the new things they did. But they also removed some things (like the actual bee mobs) and some of their new stuff wasn't properly implemented.
So this PR fixes up both the bay beekeeping content and ours, to work in harmony together, remove redundant stuff, and fix lots of bugs.
2016-12-30 20:28:53 +02:00
Lohikar
0c59930261 Reduce server freezes during large explosions (#1326)
Moved explosion calculations into a process that processes a queue of explosions with SCHECKs in areas with significant processing.
Significantly reduces server freezes during large explosions, and almost completely nullifies them for small ones.

Likely subtly changes how explosions behave.
2016-12-28 01:16:30 +02:00
Lohikar
7375af6c19 Minor Nightmode Fixes (#1305)
bugfix: "Global nightmode toggle no longer affects security as was originally intended."
tweak: "Manually turning on nightmode will prevent the automatic system from turning it off."
2016-12-26 01:42:40 +02:00
Lohikar
70ad90663b Nightmode Fixes (#1293)
rscadd: "Added a night-mode control program for the Chief Engineer."
tweak: "Changed how night-mode works internally."
tweak: "Red alert now disables night-mode."
spellcheck: "Slightly changed alert messages."
Fixes #1200
2016-12-25 20:10:46 +02:00
skull132
7724f096fa Misc things - Related to merge (#1280)
Redefine span() to be a macro. Because we don't need it to be a proc ever again.
Rebuild the .all_changelog.yml file to have Bayport stuff at the bottom (onto which we'll add our own shit from this cycle).
Rebuilt the .html file for changelogs to correspond to the above change.
Modified download programs to actually use seconds.
2016-12-25 01:01:20 +02:00
LordFowl
51bd200d7c Porting Apollo Infractions Computer (#1033)
Ports Apollo's infraction's system, creating a permanent criminal record for every character. Every minor or medium infraction accrued over the course of a round is added to the character's permanent security record which is available at vanilla records councils. Antagonists are automatically exempt from this process, and players can exercise control over what charges they consider canon or not.

Brigging a person is now dependent on the criminal sentencing computer, which reads a person's ID and applies a brig timer automatically for the charges selected. Personnel without ID's will have to be brigged manually.
2016-12-23 01:00:04 +02:00
SoundScopes
97bb1e8e38 Travis: Indentation / list fixes (#1254)
Fixes the tools/indentation.awk script to not demand a comma at the end of perfectly valid comments.
Makes it report unnecessary commas in lists.
Readds it to the Travis build list.
2016-12-19 16:40:52 +02:00
skull132
9b094ad0eb Merge branch 'upstream/development' into development
# Conflicts:
#	code/_helpers/time.dm
#	code/game/objects/items/devices/floor_painter.dm
#	code/game/objects/items/stacks/medical.dm
#	code/global.dm
#	code/modules/cargo/randomstock.dm
#	code/modules/mob/living/carbon/human/human_defense.dm
#	code/modules/mob/living/simple_animal/simple_animal.dm
#	code/modules/mob/mob_movement.dm
#	code/modules/paperwork/faxmachine.dm
2016-12-18 01:06:45 +02:00
skull132
a0aa10837e Reduce more compiles 2016-11-27 18:34:26 +02:00
Bedshaped
53aca0a450 mistake 2016-11-11 22:21:02 +00:00
Bedshaped
72d95543f9 skull_is_a.git 2016-11-11 22:18:30 +00:00
skull132
ee68f3c9d0 Final merge
Merge branch 'development-2' into development

# Conflicts:
#	baystation12.dme
#	code/_helpers/icons.dm
#	code/controllers/master_controller.dm
#	code/game/machinery/Sleeper.dm
#	code/game/machinery/computer3/laptop.dm
#	code/game/machinery/doors/door.dm
#	code/game/machinery/floorlayer.dm
#	code/game/machinery/vending.dm
#	code/game/mecha/mech_fabricator.dm
#	code/game/objects/effects/decals/contraband.dm
#	code/game/objects/explosion.dm
#	code/game/objects/items/robot/robot_upgrades.dm
#	code/game/objects/items/weapons/melee/misc.dm
#	code/game/objects/items/weapons/storage/boxes.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/game/objects/structures/window.dm
#	code/modules/clothing/spacesuits/rig/rig.dm
#	code/modules/clothing/suits/jobs.dm
#	code/modules/mob/freelook/update_triggers.dm
#	code/modules/mob/living/carbon/human/human_defense.dm
#	code/modules/mob/living/carbon/human/human_movement.dm
#	code/modules/mob/living/carbon/human/life.dm
#	code/modules/mob/living/carbon/human/species/species.dm
#	code/modules/mob/living/carbon/human/species/station/station.dm
#	code/modules/mob/living/living_defines.dm
#	code/modules/mob/mob_helpers.dm
#	code/modules/mob/mob_movement.dm
#	code/modules/projectiles/ammunition/boxes.dm
#	nano/templates/sleeper.tmpl
2016-11-12 00:10:21 +02:00
Bedshaped
dc458a2d5e Finished 2016-11-11 22:08:39 +00:00
skull132
ad1042d033 Development Fixes - 06NOV2016 (#1120)
Fixes the mousebeam for more gibbings and ensures that nowhere is safe.
Fixes the multipliers because fuck.
Makes the night lighting process not runtime if night lighting is disabled. Note to Bed: del()-ing processes is bad, they should be disabled instead.
2016-11-06 20:14:38 +02:00
skull132
faf81f15a1 Implement speed modifiers (#1119)
Because linear addition does not retain proportional relationships! Mulipliers should take care of that, though, surely.
2016-11-06 15:07:50 +02:00
Bedshaped
d8a49afaf9 Night lighting (#1049)
changes:

rscadd: "Added a button on APCs to set the area lights to a 'night-mode' which is dimmer and saves energy."
rscadd: "Added an automated system to turn 'night-mode' on in hallways between 6pm and 7am in station time."
2016-11-04 01:19:39 +02:00
skull132
e9b688e1f6 Merge branch 'development-2' into development
Christ on a stick. SO MANY ERRORS. REEE.

# Conflicts:
#	baystation12.dme
#	code/_helpers/lists.dm
#	code/_helpers/logging.dm
#	code/_helpers/text.dm
#	code/_onclick/click.dm
#	code/controllers/configuration.dm
#	code/controllers/master_controller.dm
#	code/datums/supplypacks.dm
#	code/game/antagonist/antagonist.dm
#	code/game/antagonist/antagonist_print.dm
#	code/game/antagonist/outsider/commando.dm
#	code/game/antagonist/outsider/ninja.dm
#	code/game/area/areas.dm
#	code/game/gamemodes/cult/cult_items.dm
#	code/game/gamemodes/game_mode.dm
#	code/game/jobs/access.dm
#	code/game/machinery/atmoalter/canister.dm
#	code/game/machinery/autolathe.dm
#	code/game/machinery/doors/airlock.dm
#	code/game/machinery/recharger.dm
#	code/game/machinery/suit_storage_unit.dm
#	code/game/mecha/mech_fabricator.dm
#	code/game/mecha/mecha.dm
#	code/game/objects/effects/spiders.dm
#	code/game/objects/items.dm
#	code/game/objects/items/devices/PDA/PDA.dm
#	code/game/objects/items/devices/flash.dm
#	code/game/objects/items/devices/lightreplacer.dm
#	code/game/objects/items/devices/paicard.dm
#	code/game/objects/items/devices/scanners.dm
#	code/game/objects/items/devices/suit_cooling.dm
#	code/game/objects/items/devices/uplink.dm
#	code/game/objects/items/robot/robot_upgrades.dm
#	code/game/objects/items/toys.dm
#	code/game/objects/items/weapons/cards_ids.dm
#	code/game/objects/items/weapons/handcuffs.dm
#	code/game/objects/items/weapons/manuals.dm
#	code/game/objects/items/weapons/material/kitchen.dm
#	code/game/objects/items/weapons/material/misc.dm
#	code/game/objects/items/weapons/material/swords.dm
#	code/game/objects/items/weapons/melee/energy.dm
#	code/game/objects/items/weapons/melee/misc.dm
#	code/game/objects/items/weapons/scrolls.dm
#	code/game/objects/items/weapons/storage/belt.dm
#	code/game/objects/items/weapons/stunbaton.dm
#	code/game/objects/items/weapons/tools.dm
#	code/game/objects/objs.dm
#	code/game/objects/structures/crates_lockers/closets.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/game/objects/structures/janicart.dm
#	code/game/sound.dm
#	code/game/turfs/simulated.dm
#	code/game/verbs/ooc.dm
#	code/global.dm
#	code/modules/admin/verbs/debug.dm
#	code/modules/admin/verbs/modifyvariables.dm
#	code/modules/client/client procs.dm
#	code/modules/client/preferences.dm
#	code/modules/clothing/clothing.dm
#	code/modules/clothing/head/hardhat.dm
#	code/modules/clothing/head/helmet.dm
#	code/modules/clothing/head/jobs.dm
#	code/modules/clothing/head/misc_special.dm
#	code/modules/clothing/shoes/jobs.dm
#	code/modules/clothing/spacesuits/alien.dm
#	code/modules/clothing/spacesuits/captain.dm
#	code/modules/clothing/spacesuits/miscellaneous.dm
#	code/modules/clothing/spacesuits/rig/rig_pieces.dm
#	code/modules/clothing/spacesuits/rig/suits/alien.dm
#	code/modules/clothing/spacesuits/spacesuits.dm
#	code/modules/clothing/spacesuits/void/merc.dm
#	code/modules/clothing/spacesuits/void/void.dm
#	code/modules/clothing/suits/armor.dm
#	code/modules/clothing/suits/jobs.dm
#	code/modules/clothing/suits/storage.dm
#	code/modules/clothing/suits/utility.dm
#	code/modules/clothing/suits/wiz_robe.dm
#	code/modules/clothing/under/jobs/security.dm
#	code/modules/economy/Events.dm
#	code/modules/economy/Events_Mundane.dm
#	code/modules/economy/economy_misc.dm
#	code/modules/events/blob.dm
#	code/modules/events/event.dm
#	code/modules/events/event_container.dm
#	code/modules/events/event_manager.dm
#	code/modules/events/money_lotto.dm
#	code/modules/events/prison_break.dm
#	code/modules/events/spacevine.dm
#	code/modules/hydroponics/trays/tray.dm
#	code/modules/mob/dead/observer/observer.dm
#	code/modules/mob/emote.dm
#	code/modules/mob/holder.dm
#	code/modules/mob/language/station.dm
#	code/modules/mob/living/bot/cleanbot.dm
#	code/modules/mob/living/carbon/alien/diona/diona.dm
#	code/modules/mob/living/carbon/alien/diona/diona_attacks.dm
#	code/modules/mob/living/carbon/give.dm
#	code/modules/mob/living/carbon/human/emote.dm
#	code/modules/mob/living/carbon/human/human.dm
#	code/modules/mob/living/carbon/human/human_defense.dm
#	code/modules/mob/living/carbon/human/inventory.dm
#	code/modules/mob/living/carbon/human/life.dm
#	code/modules/mob/living/carbon/human/species/outsider/vox.dm
#	code/modules/mob/living/carbon/human/species/station/golem.dm
#	code/modules/mob/living/carbon/human/species/station/station.dm
#	code/modules/mob/living/carbon/human/update_icons.dm
#	code/modules/mob/living/carbon/metroid/metroid.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/living_defense.dm
#	code/modules/mob/living/living_defines.dm
#	code/modules/mob/living/silicon/ai/ai.dm
#	code/modules/mob/living/silicon/pai/admin.dm
#	code/modules/mob/living/silicon/pai/pai.dm
#	code/modules/mob/living/silicon/robot/drone/drone.dm
#	code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
#	code/modules/mob/living/silicon/robot/emote.dm
#	code/modules/mob/living/silicon/robot/robot_items.dm
#	code/modules/mob/living/silicon/robot/robot_modules.dm
#	code/modules/mob/living/silicon/silicon.dm
#	code/modules/mob/living/simple_animal/bees.dm
#	code/modules/mob/living/simple_animal/friendly/cat.dm
#	code/modules/mob/living/simple_animal/friendly/corgi.dm
#	code/modules/mob/living/simple_animal/friendly/farm_animals.dm
#	code/modules/mob/living/simple_animal/friendly/mouse.dm
#	code/modules/mob/living/simple_animal/friendly/spiderbot.dm
#	code/modules/mob/living/simple_animal/hostile/hostile.dm
#	code/modules/mob/living/simple_animal/simple_animal.dm
#	code/modules/mob/logout.dm
#	code/modules/mob/mob.dm
#	code/modules/mob/mob_grab_specials.dm
#	code/modules/mob/mob_helpers.dm
#	code/modules/mob/new_player/sprite_accessories.dm
#	code/modules/organs/organ.dm
#	code/modules/organs/organ_alien.dm
#	code/modules/organs/organ_external.dm
#	code/modules/paperwork/faxmachine.dm
#	code/modules/projectiles/ammunition/boxes.dm
#	code/modules/projectiles/ammunition/bullets.dm
#	code/modules/projectiles/guns/energy/nuclear.dm
#	code/modules/projectiles/guns/energy/rifle.dm
#	code/modules/projectiles/guns/energy/special.dm
#	code/modules/projectiles/guns/projectile.dm
#	code/modules/projectiles/guns/projectile/automatic.dm
#	code/modules/projectiles/guns/projectile/pistol.dm
#	code/modules/projectiles/guns/projectile/revolver.dm
#	code/modules/projectiles/guns/projectile/shotgun.dm
#	code/modules/projectiles/projectile/bullets.dm
#	code/modules/projectiles/projectile/special.dm
#	code/modules/reagents/reagent_containers.dm
#	code/modules/reagents/reagent_containers/food/drinks.dm
#	code/modules/research/designs.dm
#	code/modules/research/destructive_analyzer.dm
#	code/modules/research/rdconsole.dm
#	code/modules/spells/artifacts.dm
#	code/modules/spells/spellbook.dm
#	code/modules/tables/tables.dm
#	code/world.dm
#	config/example/config.txt
#	icons/mob/items_lefthand.dmi
#	icons/mob/items_righthand.dmi
#	icons/obj/lighting.dmi
2016-10-31 00:01:52 +02:00
NanakoAC
b5e554812b Cargo Warehouse Stock (#1045)
This PR is intended to make working in cargo more interesting, and more like a real warehouse experience. IE, the place is an aladdin's cave full of wierd knicknaks and useful oddifies.
2016-10-26 18:56:35 +03:00
NanakoAC
c4b36a5490 Sprinting, Stamina and Temporary Modifiers (#1030)
Introduces:
- Temporary modifiers process and datums for that
- A new stamina and sprinting mechanic. That is in need of further development! Weee!
2016-10-26 18:22:39 +03:00
skull132
87e041aa75 Merge remote-tracking branch 'bay12-upstream/master' into development 2016-10-07 00:58:39 +03:00
skull132
a6fe13fc57 Fixes asteroid generation (#958)
A quick oversight that was introduced is now fixed.
2016-09-19 23:53:29 +03:00
skull132
759c463a2c BOREALIS 2 Implementation (#938)
Removes BOREALIS I.
Implements HTTP POST requests, credit to Oisin100 from Yogstation13 for the ByondPOST.dll.
Implements the BOREALIS II datum and converts all calls to reroute to that.
Adds round logging to channel_announce channels.
2016-09-18 23:28:01 +03:00
skull132
1662e84086 Processor Runtime Logging (#924)
We now get a proper, timestamped and printed stack from the process scheduler processes, instead of an obscure name and line reference!
2016-09-15 12:09:16 +03:00
skull132
c749c18b93 Better Runtime Logging (#913)
Introduces a few updates from /tg/station13 with regards to runtime logging, and then modifies the runtime logging code to work properly. Developers now have access to both condensed and uncondensed runtime logs, with the former being updated at the end of each round.
2016-09-12 21:19:45 +03:00
Werner
fb25382405 Rewrite API (#825)
he /world/Topic() API has been rewritten.

General function:

The API is initialized upon roundstart and generates a list of possible api requests from /code/datums/api.dm
Once a request is made the following checks are performed:
If a query parameter is set (the function that should be called)
If the ip is ratelimited (or rate-limit-whitelisted)
The query is authenticated against the db using ip, function and key
If these checks pass, it is validated that the api command exists
Then the api command is called, all supplied params are passed through
Each API function returns 1 no matter if it failed or succeded
Additional info is provided in the statuscode, response and data vars
The statuscode, response and data are send back to the caller (through list2params)
The data var is json encoded before sending it back
This is not backward compatible to the current API
Current API Clients need to be updated
2016-09-04 21:41:44 +02:00
SoundScopes
893398104f SoundScopes' bugfixes - 01SEP2016 (#848) 2016-09-01 20:45:18 +02:00
skull132
c331042b9c Antag Competition Implementation (#703)
Nominating for worst code 2016

Adds in custom objectives for the antag competition
Adds in a verb for players to assign their character's allegiences and to later edit them
Adds in a verb for players to request objectives relating to the contest
Adds in the logging of contest results
Modifies the objective system to facilitate objectives that require regular checking (such as the brigging one, which was not functional up until now)
2016-08-09 01:36:21 +03:00
skull132
67310b42db Fixing Dumbs (#561)
Reverts baystation12.int that I fucked up
Adds a config toggle to host the dev server without clogging up SQL tables
2016-07-12 15:48:18 +03:00
skull132
83253fc1f7 Chat markup (#441)
Enables you to use Skype/Discord style mark-up in OOC, LOOC, and IC chat.
2016-06-23 16:44:33 +03:00
skull132
b70cbfac22 Version Bump to 510.1347 (#438)
Updates the TravisCI config to use the latest stable BYOND release.
Adds client version control taken from /TG/station.
Updates the recommended version for hosting.
2016-06-23 14:45:15 +03:00
skull132
02b42862c1 processScheduler Update to 510 (#398)
Updates code to be 510 compile compatible.

Also introduces the new updates to the GOON processScheduler, which should make for better gameplay and less lag. Specially on high population.
2016-06-23 02:47:12 +03:00
skull132
d3d53a9c4d Config Age Restrictions (#437)
Backports the old age restrictions system from old code. Age restrictions can now easily be applied by simply modifying a text file.
2016-06-23 02:13:43 +03:00
skull132
7dacaa28dd SQL Saving - Rewrite + Implenetation (#350)
Rewrite's Mahzel's SQL character and preference saving.
Introduces easy config switching between the new and old system, with no troubles at all.

Also introduces better logging for DBQuery/proc/parseArguments(), should something go wrong. And classes SQL query errors as full on error snow, as opposed to debug data.
2016-05-30 23:39:07 +03:00
skull132
8b5c7bc2c5 Conflict resolution
Merge remote-tracking branch 'Aurorastation/development'

# Conflicts:
#	config/example/config.txt
2016-03-25 22:25:41 +02:00
skull132
5b147ac05b Voting Overhaul
Transfer vote delay is counted from vote end, so it doesn't conflict with invalid or cancelled votes. Or other votes.

TRANSFER_TIMEOUT added as a config option, default value is 2 hours. No transfer votes before 2 hours.

Transfer votes before 3 hour mark require 2/3rds majority to pass again. Credit to SoundScopes for the original snippet.
2016-03-25 16:09:03 +02:00
skull132
5a55c1370b Processor status text clarification
Simple enough: the higher the number, the worse the situation.
2016-03-25 02:08:08 +02:00
skull132
df8f0bbc68 Resolves #211
Mods can now into votes.
2016-03-25 01:50:39 +02:00
skull132
a5cb959166 Remove config.webint_enabled
Depracted in favour of using config.webint_url in general. Just checks if it's defined, and if so, we'll consider it active and in use.
2016-03-21 23:06:02 +02:00
skull132
61e93b1d79 Naming Standardization
webint shall be the common word used now, replaced all instances of webinterface or webAPI with that one phrase. Should make it easier to read and search.
2016-03-07 19:01:03 +02:00
skull132
8c30b617e3 Webinterface Config Settings
Configuration settings for using the webinterface in future updates.
2016-03-05 00:53:36 +02:00
skull132
202b216092 More reworking of DB handling
sqllogging depracted in favour of config.sql_enabled. Database loading is done through /hook/startup/proc/load_databases, with initialize_database_object() being a generalized proc to read any generic database config file. (TODO: config examples in relaiton to last remark.)
2016-03-04 01:41:44 +02:00
skull132
8383f1c03b Generalizing establish_db_connection() and setup_database_connection()
Both procs are now generalized, and accept a DBConnection object as an argument. Due to this generalization, all instances of `establish_db_connection()` must be renamed to `establish_db_connection(dbcon)`.
Also added variable `failed_connections` to the definition of DBConnection.
2016-03-04 00:53:37 +02:00
skull132
44f2121042 Remove forumdb
Unused object and vars. Cleans them up, as well as removes the config file.
2016-03-02 22:44:00 +02:00
skull132
121d4fcdd7 Discord over IRC
Converts and replaces all IRC centric procs, vars, etcetera, into discord centric ones.
2016-02-16 17:42:00 +02:00
skull132
8569d1c1ab +CCIAA Flag 2016-02-02 23:37:15 +02:00
Ccomp5950
86df5fec2f Merge pull request #11949 from PsiOmegaDelta/160109-AI
Creates a new process for handling AI code.
2016-02-02 15:25:37 -05:00
skull132
179431115b Merge remote-tracking branch 'Aurorastation/development' into SQL-backend-import
# Conflicts:
#	code/modules/admin/admin.dm
#	code/modules/admin/admin_verbs.dm

All conflicts cleared. Wind funciton needs a quick redo as a result.
2016-02-01 16:00:54 +02:00