Commit Graph

97 Commits

Author SHA1 Message Date
Werner
87efc6aea3 Fixes Space-Ruin Issues (#6404)
* Fixes Space-Ruin Issues

Fixes Load-Time and Lighting issues on the Space Ruins by moving the loading of the ruins into Atlas

* Reworks the space ruin loader

It´s now based on a json file which allows to set the weight of the ruins, add various tags with a specified weight and restrict the maps the ruin can be used in

* Fixes compile warnings

* Change z-levels in aurora.dm

* Moves the SubSystem

* Changes the player_levels back again since the away mission is now loaded after the z expansion
2019-05-09 01:12:28 +02:00
LordFowl
8d436c4a03 Converts all necessary << outputs into the to_chat() macro. (#6076)
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;

All << is converted into to_chat().
2019-03-10 23:39:03 +02:00
Erki
25b5f7ca8b Log TGS shenanigans. (#5892) 2019-02-18 08:59:28 +02:00
Dwago
9a26256887 Modified the Mech Teleporter, Fixes #6017 (#6018)
Fixes #5746
Fixes #6017
Fixes #3915
Fixes #5987
Fixes #2151

When using the mech teleporter now, if you attempt to teleport into a wall or dense object, the mech will create a large emission at the area before being sent elsewear, causing hallos damage.

Absolute pathed virus2/effect.dm
Fixed a absurd range for cell drain
Fix's Minor mapping issues
2019-02-11 00:35:35 +02:00
Erki
f29506a45a Leave any sanity you had at the door step (#5885) 2019-01-03 19:08:54 +01:00
Erki
2daef5c6b6 Announcing live test PRs (#5857)
* Implement one.

* REVERT ME LATER

* Initial implementation dooonnee.

* log

* Fixes

* Lazyness squared
2018-12-31 03:55:16 +01:00
BurgerLUA
0c842b5c84 Adds Bluespace Inhibitors (Telescience Nerf) (#5652)
Adds telescience inhibitors to the station. These are fragile, powered machines that inhibit where bluespace activity can occur. The way it works is that it creates an 8 radius (16 tile wide) circular field that displaces any incoming or outgoing bluespace signal to an unintended destination just outside the area of effect.

Basically, incoming teleport signals are redirected to around a random location around the circle, and outgoing teleport signals are redirected to around a random location around the circle. For example, if a ninja was inside the area of effect and tried to teleport outside of it, it wouldn't work but instead teleport something else around me just outside the circle. This will very rarely occur, so most that will happen is that the ninja won't be able to teleport while inside the area of effect. If a ninja was outside the area of effect and tried teleporting inside the circle, they would instead teleport to a random location outside the circle.

A semi-intended side effect is that it would be harder for ninjas/wizards to break into the armory/vault/ai core. Of course, they could use other tools and walk inside the vault. This does not stop them from ever entering it, but makes it unsafe to teleport out.

EMPing a bluespace inhibitor teleports everything in a 20 tile radius to a random location on the station. This teleportation is "safe" and will only teleport the objects in a random station area in unoccupied space.
2018-12-16 15:08:02 +02:00
LordFowl
9aaec37057 Removes Telescience (#5742)
This PR fixes a few bugs with echoes, and adds in loredev requests for the feature. This list may expand, but currently it is:
1: Phoron walls/windows should prevent echoes from locomoting through them (Moon/Paradox)
2: Vaurca should be unable to become echoes and should be unable to host echoes (Bygone)
3: Unathi should be able to absorb echoes to increase their power level (Jackboot)
2018-12-15 01:49:46 +01:00
LordFowl
0b1b663c28 Carmen Miranda's Ghost (#5697) 2018-12-09 20:33:59 +01:00
Mykhailo Bykhovtsev
a43e3fc66e Bugfixes (#5682)
Wanted to fix one bug, but couldn't stop.

- Farmbot now have harvesting animation. 

- Farmbots no longer have two water tanks inside of them, that was causing them to use hidden water tank and not let it be refilled. Fixes #5677 

- Farmbots now will wait for weedlevel to be 5 or higher, that is when the alarm is triggered. And call `update_icon()` when it is done. Otherwise people wouldn't notice if they were killing weeds

- Vending machine now accept only items of the same type as defined in their product list. So you can no longer insert cult's ritual knife into Dinnerware. Fixes #5671 

- Merchants cannot by generic mech's weapon, it was replaced with UT AC 2 and Scatterbox. Fixes #5675 

- Ghosts cannot be teleported by telescience. Fixes #5688
2018-12-04 19:48:59 +01:00
LordFowl
c2953f3062 The Dangers of Teleportation (#5651)
Teleportation using the do_teleport() proc will now have violent effects if you teleport into an unoccupied space. This currently does not effect teleportation that does not use the do_teleport() proc (wizards, ninjas, cultists).

If there is an object in your destination, and that object is both anchored and dense or opaque (turfs, tables, etcetera), then you will partially phase into the object. If you are a mob you will lose a limb, and if you are an object you will become damaged (if the object has an ex_act() defined). Then an explosion will occur based on your size (Most explosions are large enough only to damage the destination turf itself). You will be shunted into the nearest unoccupied space.

If there is NO adjacent unoccupied space, you will instead be destroyed. Mobs will gib, and objects will have crush_act called. The resulting explosion will be larger.
2018-12-02 00:14:02 +01:00
Lohikar
61b5203d24 Runtime Map Loading (#3597)
changes:

Maps are no longer compiled in, instead loaded directly from the DMMs at runtime.
Z level defines have been moved from the config to map datums.
Unit tests now use typecaches.
DMMS now actually works.
DMMS has been updated slightly.
DMMS is now capable of loading simple lists of non-text types.
DMMS is now faster when loading many types without mapped in attributes and when loading area instances.
Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid.
Holodeck presets are now defined on the map datum.
Atmos machinery now uses Initialize().
2017-10-18 23:07:34 +03:00
Lohikar
1545ba469e Orbit Fixes (#3207)
changes:

Fixed an issue where the segment count argument of orbit() was ignored, leading to the Tesla not animating as it was intended to.
Fixed an issue where /datum/event had two completely unrelated definitions (fixes #3192).
2017-08-02 19:55:53 +03:00
skull132
ca09aeaeef Remove Global Iterators (#2842)
Removes the global iterators, which mechs use heavily, and replaces it with standard process() calls from SSfast_process and SSprocessing.
2017-06-28 23:15:50 +03:00
Lohikar
f6dc33a465 Newmap - SMC, Openturf, Arrivals Controller, and Mine Turf Improvements (#1958)
* Replace SSingulo with SScalamity; processing cleanup
- SScalamity now handles blobs as well as singularity-types.
- Processing subtypes have been simplified to not require a stop_processing definition.

* this is probably important

* Remove cascade disabling SSgarbage

* Fixed a bug where dust() did not qdel the target mob

* Misc fixes

* Fix decals surviving break-to-plating

* Subsystem flag tweaks

* Apparently subsystems are new'd before config is.

* Fix paper icons

* Speculative fix for insane lag

* Better machinery stat

* Make organs not use SSoverlay

* Misc bugfixes & tweaks

* Nightmode fixes

* Changelog for SMC

* Port /tg/'s improved MC crash handling

* Add some more SS Recover() procs

* supply_controller -> SScargo

* More New() -> Initialize()

* pAI and robot construction overlays

* Fix cargo unit tests

* Merge the DMM Suite's atom/New() into atoms_init

* Lighting pre-baking

* Lighting initialization logging

* Fix some bad SS init orders

* Fix SSlighting logging; rename Processes to MC

* Speculative fix for insane GC lag

* Prebaked openturf/icon_smooth & fix lighting prebake

* SS init status; SSatoms LATEQDEL

* Fix bug with MC init stat panel

* Fix parallax

* Misc

* Ignore SS_NO_DISPLAY during init

* apparently this is important

* REEEEEE

* Image GC fixes; broadcaster radio-new sanity

* RCON Cleanup

* Move pAI recruiter into subsystem

* Move global solars list into sun subsystem

* Make chickens not use a global

* Demote SSdisposals to SS_BACKGROUND; garbage-debug cleanup

* Speed up space init a little

* Fix bad timer flags on floor drying

* Subsystem panic-restart verb for mins

* Explosion speedup

* Minor subsystem & MC logging tweaks

* SSopenturf improvements

* Make pipenet actually initialize (whoops)

* Minor tweaks

* Implement lighting rounding

* comments are hard okay

* Minor lattice tweaks

* Fix some timer issues & better closet init

* Timer sanity

* Request console tweaks + Storage init sanity

* Minor SSmachiner RCON improvements

* Further reduce world-start timer count

* Standardize subsystem logging

* Garbage hard delete profiling from /tg/

* Timer hang detection & recovery

* Log machines that sleep in process() and fuck up SSmachinery

* Fix an issue with external airlocks sleeping in process()

* Failsafe logging

* Minor tweaks

* Revert "Request console tweaks + Storage init sanity"

This reverts commit 98d3579e35.

* Re-implement RC changes

* Fix SQL FT saving

* Fix SSmachinery sleep in disposals

* Minor SS tweaks

* Paper fixes

* Blood drying fixes

* Merge gameticker and SSticker

* Minor global list init cleanup

* Lagcheck biogenerator & bags

* Tweak SScargo init order; RIG Initialize()

* Caching tweaks

* Remove rogue comma

* Initialize fixes

* Lighting destroy cleanup

* Fix emagging airlocks

* Initial SSicon implementation

* Tweaks & Fixes

* Fire + Air alarm queued icon updates

* Overlays + Queued icon cleanup

* Runtime & background fixes

* Kill some meaningless set statements

* Kill some image qdels

* Bump up lighting rounding val

* Fix adv. scanner destroy runtimes

* Remove unneeded icon update limiting

* Move icon smoothing into helpers

* Show a warning if DM 510 compiles without memory leak hack enabled

* Re-organize subsystems & MC defines a little

* Airlock SFX

* Log of Changes

* Make SSicon_update disable itself when not doing anything

* Fix respawn verb runtime when used early in server-init

* Add more information to MC's stat_entry()

* Replace direct refernces to gcDestroyed with QDEL* macros

* plant_controller -> SSplants

* More plant tweaks

* Add more humor to changelog

* Move parallax globals into SSparallax

* Lighting responsiveness tweaks

* Fix parallax init order & better MC init panel stat

* Make mobs GC

* More overlays + Remove intercom spawn()

* SSfast_process; make pinpointers not use spawn-recursion to process
Also made the SM Cascade beach process with SSprocessing instead of a spawn loop.

* Update changelog

* Mob GC tweaks

* Del() cleanup

* Fix insomniac ZAS connection edges

* Minor pAI cleanup

* Convert more things to SSoverlay; fix duplicated overlay in field gens

* SM Bluespace turf tweaks

* Update SSgarbage debug globals list

* Human-type qdel tweaks

* Subsystem suspension; stat_entry improvements

* SQL Statistics cleanup

* Fix runtimes with ambrosia

* More disable() -> suspend(); fix nightmode again

* Human qdel fix; minor tweaks

* Update turbolift to work with StonedMC

* Make lifts use timers instead of a subsystem

* Make SSassets start earlier

* Convert the radio controller into a subsystem

* Fix some missing CHECK_TICKs in asteroid generation

* MC stat tweaks; make shouldnt_see a typecache

* Kill some redundant debug-controller entries

* radio_controller -> SSradio

* Better SSgarbage hard-del logging from /tg/ upstream

* Logging tweaks + GELF

* Misc client caching improvements

* Slime SSoverlay

* Oven icon fixes

* Implant fixes
- Death implants will no longer spam Common on death of user.
- Death implants should handle a deleted user better.

* Holder tweaks + Welding tool Initialize()

* Fix some bad subsystem logging

* Fix suit cooling units spawning without cells

* Starlight tweaks

* Gibber infinite gib fix

* More SSoverlay stuff

* Make crates use CUT_OVERLAY_IN

* Make SSarrivals suspend instead of disable

* Make openturf use split/phased tick checks

* Speculative fix for unwet timer runtimes

* Blood overlay tweaks/fixes

* Update crusher to play nice with SMC + SSoverlay

* Openturf improvements and fixes

* Minor turbolift tweaks

* Lighting performance improvements + ChangeTurf tweaks

* this is probably important

* Fix wall weld noises on changeturf

* More ChangeTurf tweaks

* Explosion tweaks

* Pre-game lobby tweaks

* Openturf tweaks

* Prevent admins from starting the game before init finishes

* Fix Travis

* Kill an unused var

* Fix ChangeTurf runtimes on openturfs

* Fixes

* Browser datum fixes, asset caching

* Update changelog

* Changelog

* Lobby tweaks

* Ticker tweaks; kill ticker var

* Further lobby tweaks

* Cascade tweaks

* air_master -> SSair

* Reduce overhead from radio autosay

* alarm_manager -> SSalarm

* bomb_processor -> SSexplosives

* corp_regs -> SSlaw

* ZAS overlay fixes

* Small wall icon optimization

* Fix effects master

* Assembly tweaks

* Megavend fixes

* Shuttle fixes

* Camera alert performance improvements

* Fix some world.log spam from lighting overlays

* Fix some Initialize() procs

* Openspace responsiveness tweaks

* Make HE pipes animate through openturfs

* Kill a spawn
2017-05-02 14:40:40 -04:00
Lohikar
2b9aa21421 Spark Fixes (#1764)
changes:

Removed shim for old spark system.
Converted all calls to old spark system with calls to new one.
Processor-based effects are no longer pooled, as it had minimal performance impact and was breaking things.
Tweaked some visible_messages for rogue drones.
PB effects' handling of location is now done at the /datum/effect_system level.
2017-02-14 14:37:16 +02:00
PsiOmegaDelta
a4545f8ded Scheduler, observation, and New() tweaks.
Corrects a number of places where New() did not call ..(), and implements similar changes to attempt to ensure New()/initialize() complete running before qdel() runs.
Cuts down on the number of created items during server start.
2015-12-27 17:44:53 +01:00
GinjaNinja32
0c1aee8074 Fixes <span class='class>, makes Travis check it 2015-07-18 21:13:32 +01:00
PsiOmegaDelta
34fdc4712e Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/_helpers/names.dm
	code/game/jobs/job/silicon.dm
	code/game/objects/items.dm
	code/modules/mining/abandonedcrates.dm
	code/modules/mob/living/carbon/brain/life.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/simple_animal/friendly/spiderbot.dm
	code/modules/nano/modules/alarm_monitor.dm
	code/setup.dm
2015-07-14 08:21:12 +02:00
PsiOmegaDelta
8da7141af1 Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/modules/mining/abandonedcrates.dm
	code/modules/mob/living/simple_animal/simple_animal.dm
2015-07-14 08:11:11 +02:00
PsiOmega
b1c26003d0 Further improves the server revision verb.
Now also includes the current branch name.
2015-07-13 12:18:09 +02:00
GinjaNinja32
314a28fa75 Merge remote-tracking branch 'upstream/dev' into span_class=notice
Conflicts:
	code/game/antagonist/station/rogue_ai.dm
	code/game/machinery/OpTable.dm
	code/game/machinery/floodlight.dm
	code/game/machinery/spaceheater.dm
2015-06-02 17:33:20 +01:00
PsiOmega
5e84bfa57c Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/modules/clothing/spacesuits/rig/suits/ert.dm
2015-05-30 15:59:54 +02:00
GinjaNinja32
58ab763010 code/datums 2015-05-29 20:13:42 +01:00
PsiOmega
4ce737d87d Server build date and revision.
Can now see the current compilation date and revision:
* In the Dream Daemon log output.
* By using the "Show Server Revision" client verb which also links you to the commit in question.
2015-05-29 08:26:31 +02:00
PsiOmega
27b917ed6c Teleport cleanup.
Teleporter code now uses:
Absolute paths.
Span classes.
Configured Z-levels to determine valid destinations, as opposed to hardcoded.
2015-05-05 09:55:19 +02:00
PsiOmega
1ae0ad6d92 Updates the atom_pool, now datum_pool, to handle any datum object.
Makes the garbage collector similarly robust. Continues the whole Destroy/qdel porting.
2015-04-24 09:59:05 +02:00
PsiOmega
a6a428af6a Mecha + misc. Destroy() because I had already begun. 2015-04-17 09:55:59 +02:00
mwerezak
57ffdc82f6 Replaces stool structures with stool items 2015-02-18 01:06:00 -05:00
Wild Bill
5bae906c47 Reserve PascalCase inits 2014-12-16 16:20:50 +02:00
Hubblenaut
abef4bf943 Fixes teleporting while buckled 2014-07-02 22:35:11 +02:00
Boop
d2e81da90c Fixes #4756
removes the getrev stuff because it's svn and old and I couldn't get tg's stuff to work :c
2014-06-17 17:25:57 +01:00
Ravensdale
a72f8d3ded Spelling correction: tratior and Tratior to traitor and Traitor 2014-04-22 01:12:17 -07:00
Ccomp5950
936db263ef *NIX Log files part 2.
CR+LF added to new lines, created a global variable log_end that can be used
on newlines

log_misc("blahblah...[log_end]\nMoreblahblah[log_end]")

put [log_end] prior to any \n and it will show up correctly in windows.

Also created log_misc() proc to log to diary, and removed a bunch of

diary << stuff all over the place.
2014-03-26 18:51:37 -05:00
Ccomp5950
7000cce408 Admin Request: Logs now will end in CRLF on unix systems.
Also removed the "SERVER HAS CALLED FOR A VOTE" spam
2014-03-23 02:26:06 -05:00
Cael_Aislinn
31349fb7d3 Merge branch 'incremental_tg' r5067 into bs12_with_tgport
removed extraneous admin attack messages, temporarily disabled much moderator stuff (will be re-enabled in future updates)

Conflicts:
	baystation12.dme
	code/__HELPERS/type2type.dm
	code/controllers/configuration.dm
	code/datums/datumvars.dm
	code/datums/helper_datums/getrev.dm
	code/defines/obj.dm
	code/game/gamemodes/events/black_hole.dm
	code/game/gamemodes/events/space_ninja.dm
	code/game/gamemodes/wizard/rightandwrong.dm
	code/game/jobs/job/captain.dm
	code/game/jobs/job/job.dm
	code/game/jobs/job_controller.dm
	code/game/machinery/bots/medbot.dm
	code/game/machinery/computer/card.dm
	code/game/machinery/telecomms/traffic_control.dm
	code/game/machinery/turrets.dm
	code/game/machinery/wishgranter.dm
	code/game/objects/items/blueprints.dm
	code/game/objects/items/devices/uplinks.dm
	code/game/objects/items/stacks/stack.dm
	code/game/objects/items/weapons/surgery_tools.dm
	code/game/turfs/turf.dm
	code/game/verbs/ooc.dm
	code/global.dm
	code/modules/admin/IsBanned.dm
	code/modules/admin/admin.dm
	code/modules/admin/admin_memo.dm
	code/modules/admin/admin_verbs.dm
	code/modules/admin/holder2.dm
	code/modules/admin/player_panel.dm
	code/modules/admin/verbs/adminpm.dm
	code/modules/admin/verbs/diagnostics.dm
	code/modules/assembly/igniter.dm
	code/modules/client/client defines.dm
	code/modules/client/client procs.dm
	code/modules/clothing/spacesuits/miscellaneous.dm
	code/modules/clothing/suits/armor.dm
	code/modules/clothing/suits/jobs.dm
	code/modules/mining/mine_turfs.dm
	code/modules/mob/living/carbon/human/say.dm
	code/modules/mob/living/carbon/human/update_icons.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/living_defense.dm
	code/modules/mob/living/silicon/robot/emote.dm
	code/modules/mob/living/silicon/robot/life.dm
	code/modules/mob/mob_cleanup.dm
	code/modules/mob/new_player/new_player.dm
	code/modules/mob/new_player/preferences.dm
	code/modules/paperwork/paper.dm
	code/modules/paperwork/photocopier.dm
	code/modules/projectiles/guns/projectile/automatic.dm
	code/modules/reagents/Chemistry-Machinery.dm
	code/setup.dm
	code/stylesheet.dm
	code/world.dm
	config/admins.txt
	config/config.txt
	html/changelog.html
	icons/mob/items_lefthand.dmi
	icons/mob/items_righthand.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/suits.dmi
	icons/turf/areas.dmi

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-12-28 14:13:11 +10:00
Cael_Aislinn
e6c70937e5 Merge branch 'incremental_tg' r4967 (27/10/2012) into bs12_with_tgport
Conflicts:
	baystation12.dme
	code/__HELPERS/game.dm
	code/__HELPERS/type2type.dm
	code/datums/helper_datums/getrev.dm
	code/game/atoms.dm
	code/game/gamemodes/events.dm
	code/game/machinery/atmo_control.dm
	code/game/machinery/atmoalter/area_atmos_computer.dm
	code/game/machinery/computer/HolodeckControl.dm
	code/game/machinery/computer/atmos_alert.dm
	code/game/machinery/computer/card.dm
	code/game/machinery/computer/cloning.dm
	code/game/machinery/computer/computer.dm
	code/game/machinery/computer/pod.dm
	code/game/machinery/computer/prisoner.dm
	code/game/machinery/computer/syndicate_shuttle.dm
	code/game/machinery/newscaster.dm
	code/game/machinery/spaceheater.dm
	code/game/machinery/telecomms/broadcaster.dm
	code/game/machinery/telecomms/logbrowser.dm
	code/game/machinery/telecomms/machine_interactions.dm
	code/game/machinery/telecomms/telemonitor.dm
	code/game/machinery/telecomms/traffic_control.dm
	code/game/machinery/wishgranter.dm
	code/game/objects/items/devices/uplinks.dm
	code/game/objects/items/stacks/stack.dm
	code/game/objects/objs.dm
	code/modules/DetectiveWork/detective_work.dm
	code/modules/admin/IsBanned.dm
	code/modules/admin/admin.dm
	code/modules/admin/verbs/adminsay.dm
	code/modules/admin/verbs/getlogs.dm
	code/modules/awaymissions/zlevel.dm
	code/modules/client/client procs.dm
	code/modules/clothing/masks/miscellaneous.dm
	code/modules/clothing/spacesuits/miscellaneous.dm
	code/modules/flufftext/TextFilters.dm
	code/modules/mining/machine_processing.dm
	code/modules/mining/machine_stacking.dm
	code/modules/mining/mine_items.dm
	code/modules/mining/mint.dm
	code/modules/mining/satchel_ore_boxdm.dm
	code/modules/mob/living/carbon/monkey/life.dm
	code/modules/mob/living/living_defense.dm
	code/modules/mob/living/simple_animal/friendly/corgi.dm
	code/modules/mob/mob.dm
	code/modules/paperwork/filingcabinet.dm
	code/modules/paperwork/photocopier.dm
	code/modules/power/gravitygenerator.dm
	html/changelog.html
	icons/mob/head.dmi
	icons/mob/human_face.dmi
	icons/mob/mask.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/masks.dmi
	icons/obj/clothing/suits.dmi

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-12-28 01:07:36 +10:00
johnsonmt88@gmail.com
b86d90c6c2 Couple of bugfixes:
Wizards can no longer cast spells when muzzled. Fixes issue 843.

You can no longer take bags of holding or mechs to the clown planet. Fixes issue 1061.

Removed the infared sensor from the autolathe construct list. Fixes issue 1092.
- The infared sensor already does nothing, the code for it seems to have been removed ages ago, so there's no harm in doing this.
- Commenting out the define caused a few problems that I couldn't quite figure out. I'll leave it for now with a warning.

Removed the ability for pAI's to set arrest status. Dead players really shouldn't be allowed to grief people like that. Fixes issue 1093.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5060 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-14 01:17:40 +00:00
baloh.matevz
abad9978b2 - Fixed the revision number not showing properly. Hopefully it's fixed for good this time, as it works off of logic, instead of line numbers.
- Standardized the database library code
- Deleted a few unused database related files (karma and forum activation), so they won't get in my way later. They work off of no longer existent database tables.
- Made it so the server maintains a constant connection with the database, which is established on world/New() and never broken, until the server ends. If 5 consecutive database connection attempts result in no connection getting established, the server will not attempt any more connections. Made all existing database connections use the global continuous connections. Currently we need two, as we have two databases, but the old database is going to get moved into the new one.
- Fixed the spaghetti-like report in the permissions panel, which happened when someone had many permissions enabled.
- Added database connection reports to display to dream daemon on server startup.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5015 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-06 17:21:13 +00:00
elly1989@rocketmail.com
7b720a20b6 >Moved most of the helper procs into code/__HELPERS. If you see ANYTHING generic enough to be a helper proc just throw it in there and help purge the copypasta 5ever
>Replaced dd_text2list, dd_text2listcase, tg_text2listcase and tg_text2list with text2list and text2listEx. text2list will return a list of each and every character in the string if you set separator=""
>added return_file_text(filepath) which returns text from a file after doing some checks: does the file exist? is the file empty? It prints helpful error messages to the world.log if it runs into problems
>Replaced dd_file2list(filepath, seperator) with file2list(filepath, seperator). It just calls text2list(return_file_text(filepath), seperator). rather than copypasta
>Replaced time_stamp() so it's not as retarded
>Lots of the world setup stuff uses file2list now, rather than file2text -> sanity -> text2list
>Added error() warning() testing() procs. These print messages to world.log with a prefix. e.g. ## ERROR: msg.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4948 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-24 14:39:36 +00:00
Cael_Aislinn
e645d78f11 Merge remote-tracking branch 'remotes/git-svn' into bs12_with_tgport
Conflicts:
	baystation12.dme
	code/datums/organs/organ_internal.dm
	code/datums/vote.dm
	code/defines/atom.dm
	code/defines/procs/gamehelpers.dm
	code/defines/turf.dm
	code/game/algorithm.dm
	code/game/cellautomata.dm
	code/game/gamemodes/cult/runes.dm
	code/game/gamemodes/events.dm
	code/game/gamemodes/events/ninja_equipment.dm
	code/game/gamemodes/events/space_ninja.dm
	code/game/gamemodes/wizard/rightandwrong.dm
	code/game/jobs/job/captain.dm
	code/game/machinery/computer/ai_core.dm
	code/game/machinery/computer/law.dm
	code/game/machinery/computer/pod.dm
	code/game/machinery/computer/syndicate_shuttle.dm
	code/game/machinery/doors/firedoor.dm
	code/game/machinery/teleporter.dm
	code/game/machinery/wishgranter.dm
	code/game/objects/items/devices/uplinks.dm
	code/game/objects/items/weapons/cigs_lighters.dm
	code/game/objects/structures/electricchair.dm
	code/game/turfs/turf.dm
	code/game/vote.dm
	code/hub.dm
	code/modules/admin/admin_verbs.dm
	code/modules/awaymissions/zlevel.dm
	code/modules/client/client defines.dm
	code/modules/food/food.dm
	code/modules/food/meat.dm
	code/modules/food/recipes_microwave.dm
	code/modules/mob/living/carbon/carbon_defines.dm
	code/modules/mob/living/carbon/human/hud.dm
	code/modules/mob/living/carbon/human/update_icons.dm
	code/modules/mob/living/login.dm
	code/modules/mob/living/simple_animal/life.dm
	code/modules/mob/mob_defines.dm
	code/modules/mob/new_player/login.dm
	code/modules/paperwork/filingcabinet.dm
	code/modules/paperwork/folders.dm
	code/modules/paperwork/photocopier.dm
	code/setup.dm
	icons/effects/genetics.dmi
	interface/interface.dm
	interface/skin.dmf
	maps/RandomZLevels/fileList.txt

various misc mergefixes and todos

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-09-22 21:29:04 +10:00
petethegoat@gmail.com
8a7e4e4ed5 A little bit more away mission work. It should technically be playable.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4663 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-09 01:29:05 +00:00
Cael_Aislinn
eacd84b212 Merge tgstation13 r4570 into bs12_with_tgport
Conflicts:
	baystation12.dme
	code/defines/obj.dm
	code/defines/procs/helpers.dm
	code/defines/turf.dm
	code/game/gamemodes/changeling/modularchangling.dm
	code/game/gamemodes/cult/cult_structures.dm
	code/game/gamemodes/events.dm
	code/game/machinery/telecomms/machine_interactions.dm
	code/game/master_controller.dm
	code/game/objects/items/blueprints.dm
	code/game/objects/items/devices/uplinks.dm
	code/game/objects/items/item.dm
	code/game/objects/items/weapons/gift_wrappaper.dm
	code/game/objects/items/weapons/wires.dm
	code/game/objects/weapons.dm
	code/game/turfs/turf.dm
	code/modules/clothing/head/hardhat.dm
	code/modules/mining/mine_items.dm
	code/modules/mining/mine_turfs.dm
	code/modules/mob/living/silicon/robot/life.dm
	code/modules/mob/mob_defines.dm
	code/modules/mob/new_player/login.dm
	code/modules/paperwork/pen.dm
	code/modules/paperwork/stamps.dm
	code/unused/toilets.dm
	html/changelog.html
	icons/effects/alert.dmi

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-28 19:57:11 +10:00
elly1989@rocketmail.com
6e274cd395 New lighting, it's essentially just the old DAL system with a queue.
Comments for lighting:
	Like sd_DAL (what we used to use), it changes the shading overlays of areas by splitting each type of area into sub-areas
	by using the var/tag variable and moving turfs into the contents list of the correct sub-area.

	Unlike sd_DAL however it uses a queueing system. Everytime we  call a change to opacity or luminosity
	(through SetOpacity() or SetLuminosity()) we are  simply updating variables and scheduling certain lights/turfs for an
	update. Actual updates are handled periodically by the lighting_controller. This carries additional overheads, however it
	means that each thing is changed only once per lighting_controller.processing_interval ticks. Allowing for greater control
	over how much priority we'd like lighting updates to have. It also makes it possible for us to simply delay updates by
	setting lighting_controller.processing = 0 at say, the start of a large explosion, waiting for it to finish, and then
	turning it back on with lighting_controller.processing = 1.

	Unlike our old system there is a hardcoded maximum luminosity. This is to discourage coders using large luminosity values
	for dynamic lighting, as the cost of lighting grows rapidly at large luminosity levels (especially when changing opacity
	at runtime)

	Also, in order for the queueing system to work, each light remembers the effect it casts on each turf. This is going to
	have larger memory requirements than our previous system but hopefully it's worth the hassle for the greater control we
	gain. Besides, there are far far worse uses of needless lists in the game, it'd be worth pruning some of them to offset
	costs.

	Known Issues/TODO:
		admin-spawned turfs will have broken lumcounts. Not willing to fix it at this moment
		mob luminosity will be lower than expected when one of multiple light sources is dropped after exceeding the maximum luminosity
		Shuttles still do not have support for dynamic lighting (I hope to fix this at some point)
		No directional lighting support. Fairly easy to add this and the code is ready.
		When opening airlocks etc, lighting does not always update to account for the change in opacity.

Explosions now cause lighting to cease processing temporarily.

Moved controller datums to the code/controllers directory. I plan on standardising them.
"Master","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI" controller datums can be accessed via the debug controller verb (used to be the debug master controller verb)
Supply shuttle now uses a controller datum. Shuttles tend to arrive up to 30 seconds late, this is not a bug.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4537 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-25 16:06:57 +00:00
Erthilo
9387dd2366 * Merged diagonal reaching.
* Merged speech bubbles and pain flashing
* Merged Signaler Dead man switch.
* Merged give verb.
* Merged alien languages
* Merged stuttering, slurring.
* Merged Git Revision Info.
* Fixed mutantraces not having hair/eyes
* Fixed Soghun's not being able to change hair colour.
* Fixed savefiles not saving species.
* Shut up vending machines.
* Added colour to species talk.
2012-08-23 22:43:38 +01:00
baloh.matevz
f0f803407a - Fixed a potential problem where the random teleportation thing that teleporters have a chance of doing would teleport you to a tile that is behind the transition edge.
- Fixed issue 470. You can now teleport while using the chameleon projector.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4466 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-17 07:05:03 +00:00
elly1989@rocketmail.com
69f0046185 Fix for revdata=null causing world/Topic() runtimes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4420 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-15 19:14:48 +00:00
johnsonmt88@gmail.com
cc544acea0 Removed the tensioner. It was buggy and really only served to ruin rounds. The original purpose of the tensioner before Poly reworked it was to act as a stat tracker, which is now meaningless since erro has a fully operational stat tracker in place.
As a result, cyborg death squads were also removed.

This also fixes meteors and space dust so that they properly take into account the borders of the map. Please do not hardcode numbers when we have defines in place.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4374 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-11 20:02:31 +00:00
elly1989@rocketmail.com
81bff7c5f5 Important!
Minds part2 - Carn loses her mind.

The way datum/mind stuff works has been changed a lot. I really can't explain everything. If you have any questions it'd just be easier if you leave a comment or ask me in coderbus.
Generally, minds now represent IC characters rather than following a client around constantly. Minds can change owners, mobs, (names WIP).

Technical babble:
The var/current and var/original variables of the mind datum must always be of type mob/living (or null). Please do not mind.transfer_to(ghost_mob). If you want to ghost somebody use ghostize()! It will do all the technical stuff for you.

mob/dead/observer/var/corpse was removed. mob/dead/observer/var/mind is now used as a reference to the last mind the player had (so respawning code has something to reference), but also because mind.current is a far more useful way of tracking a corpse. If somebody triggers a mind.transfer_to() call on your corpse, your mind will be tranfered to another mob/living or something...that will then be considered your corpse. This could allow for more interesting mind_transfers. For instance, the "raise corpse" rune ghostizes any player in the corpse to be raised and selectes a random dead player to take possesion of their character! The person possesing them will have all of their memories, objectives, etc. The poor guy who was originally the owner cannot re-enter body if there is another player in his body...but if that player is ghosted he can once again return. Exorcisms anybody?

Changes to cloning and hydroponics. I will likely have to rework these later as they're hacky as hell right now.

A lot of stuff is now handled by Login/Logout rather than in hundreds of different places. One such example, mind datums get their variables updated at Login and Logout.

Fixed a few minor bugs. I'll update the issues manually in a bit because I literally cannot think atm.

TL;DR guide:
-If you want to make somebody a ghost use ghostize(). Or you will need to find a doctor to stitch your bits back on. :)
-You don't have to worry about making minds. Simply doing key="carnwennan" or whatever will either: A) make a new mind and initialise it if there isn't one or B) take possession of the mind currently attached to the mob.
-It's safe to transfer a mind even if a key isn't in-body (e.g. they are ghosted/admin-observing etc!) Minds have an active variable which tracks whether they are currently synced with a key. This is to avoid dragging ghosts back into their bodies when say, a wizard mind_transfers them.
-Transferring a mind whilst var/active=1 will cause the following: mob.key = mind.key. So no need to do that separately (in fact you'll lag things if you do, so don't)
-If you do want to initialize a mind manually, say if you don't have a client to login to the mob yet, simply do new_mob.mind_initialize(). Simple! When someody is logged into that mob they will take ownership of the mind and it will sync up.

NOTE: a lot is probably broken since this is a pretty massive change. Please let me know asap (with actual info! Shouting at me, "IT BORKED HALP", doesn't help)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4342 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-08 20:51:55 +00:00
elly1989@rocketmail.com
fb600f9bce Ok, part 1 of this huge mind datum fix. I need to run over the next part again because I've made a lot inconsistencies in it. This is sort of all the misc stuff that got tidied up whilst I was trying to get my head around how everything related to eachother.
This part focuses on:
-structuring the way silicon mobs initialise upon login (there was some hideous copypasta in Login() and New() which used spawn() to change the order of the calls so it was all jumbled up. I think I've got it sorted now.
-Borgs var/real_name was not initialising as "Cyborg". Meaning the name checks were kind of borked.
-Ghosts are now deleted at logout if they no longer have a key. This will stop unneeded ghosts being left lying around. It will not delete ghosts with keys assigned (so people can't respawn or anything). Removed all the del(ghost_ref) stuff I could find. Generally movign the key from a ghost should be the last thing you do as the ghost will be deleted by Logout. However I've put it in a spawn() to hopefully avoid coders accisentally using it in a way which causes runtimes.
-Fixed clone-plants spawning dud potato-people left, right and centre. They'll now dump seeds if it fails for whatever reason.
-Cultist and Rev status are removed at mob/living/silicon/Login() rather than having to be called on a special-case basis everywhere. This may not be necessary when this stuff is finished.
-Removed a bunch of :
-Commented mob/living/Login() with the rest of the antag-indicator code from cloning.dm and hydroponics.dm for any coders whom feel brave/suicidal to fix the related issues

Next on the agenda, replacing mob/var/original_name with datum/mind/var/name to fix the ticker runtimes
Then, fixing mind/proc/transfer_to(mob) once and for all. (There are issues with duplicate minds, role updates, inconsistent initialisation etc etc *yawn*

There's probably a few obscure bugs in there somewhere. Might want to hold off on the updates for a bit. Coderbus will likely spot them all by the end of the week.

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