28 Commits
Author SHA1 Message Date
FluffyandGitHub b3a4aa501f Life changes (#19560)
Refactored Life() to receive seconds per tick and times fired as
parameters.
Life() now cannot be slept in, turned various sleepings into async calls
procs.
Optimized mob AI subsystems, gave them new priorities levels and flags.
Grab upgrades are now elaborated asynchronously, tweaked them to avoid
stacking multiple upgrades.
Fixed plains tyrants keeping sending messages about stomping even if
dead.
2024-07-08 12:48:18 +00:00
cadd19beac Ports the TG globals controller and converts globals. (#18057)
* SDQL2 update

* fix that verb

* cl

* fix that

* toworld

* this is pointless

* update info

* siiiiick..

* vv edit update

* fix that

* fix editing vars

* fix VV

* Port the /TG/ globals controller.

* part 1

* part 2

* oops

* part 3

* Hollow Purple

* sadas

* bsbsdb

* muda na agaki ta

* ids 1-15

* 16-31

* 41-75

* bring me back to how things used to be before i lost it all

* the strength of mayhem

* final touches

* cl

* protect some vars

* update sdql2 to use glob

* stuff?

* forgot that is not defined there

* whoops

* observ

* but it never gets better

* a

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-12-26 01:16:02 +00:00
Matt AtlasandGitHub 25fd3ba098 Stops shuttles from bringing background turfs with them. (#15580) 2023-01-20 14:52:01 +01:00
Jiří BaroušandGitHub ccd6a607ab Puts maxHealth instead of hardcoded 100 where it should be (#10405) 2020-10-30 11:31:04 +01:00
WernerandGitHub cb4a712851 Enforces Lineendings and adds Editorconfig (#7657) 2019-12-21 16:19:24 +01:00
WolfgangandErki 14c1b48265 Bad init calls fixes (#6937) 2019-09-02 07:05:46 +03:00
Lohikarandskull132 33c61f9f1e Remove some world loops (#2965)
changes:

Replaces a lot of in-world loops with more specific lists.
Recipes are now copied in SSmachinery/Recover()
Fixed bad sorting on all_areas list.
Added skeleton Destroy() to SMESes as they did not have one and are failing to GC.
Seems to shorten SSatoms init a bit, maybe from removal of in-world in MULEs?
2017-07-09 00:24:28 +03:00
LohikarandLordFowl 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
PsiOmegaDelta 1210a6e42f Adds the moved event.
Allows movable atoms to follow other movable atoms, as quickly as BYOND allows. Also supports following atoms inside other atoms.
However, this only works fully when Move() or forceMove() is utilized. Setting loc directly will not raise the moved event.
2016-01-18 20:16:48 +01:00
Zuhayr 958eb62ed5 Refactors a lot of reused/redundant death code, fixes #7224 2014-12-07 17:18:56 +10:30
Zuhayr 1e9cb31fec A ton of preliminary work condensing say_quote and say_understands down to the basic common procs between mob types. 2013-08-16 17:46:07 -07:00
elly1989@rocketmail.com 73b54b017b Removed mob/var/UI, it now uses client.prefs.UI_style
Removed var/constant/Pi It's already defined in setup.dm
Moved a bunch of global_lists to global_lists.dm
Fixed hair randomisation. (still bits to do)
Moved a lot of preferences_setup.dm stuff into __HELPERS/mobs.dm They'll be FAR more helpful as generic procs, rather than something tied to preferences.
Merged mob/var/nopush into status_flags with the CANPUSH flag
Merged mob/var/nodamage into status_flags with the GODMODE flag
Removed mob/var/be_syndicate and mob/var/be_random_name as they are not used.
Added /proc/ui_style2icon(ui_style) proc. It converts a string like "Midnight" into its corresponding dmi file. The code fore creating a new hud uses it.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5164 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-22 15:22:08 +00:00
johnsonmt88@gmail.com 95c6127bea Moved all of the defines/mob into their appropriate modules/mob/ files
Next up, objects! One day we'll be able to click on something in the object tree, and actually end up where all the object code is.

I standardized robot/life.dm while I was at it.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4510 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-22 03:11:46 +00:00
sieve32@gmail.com 459c558898 -Make holodeck eswords a child of obj/item/weapon/holo instead of regular eswords, clumsy check removed as a result, and you can no longer do things like cutting through walls or doors or what have you. (Fixes Issue 665)
-Redid icons to be more optimized at compile by setting icon = 'icons/folder/icon.dmi' instead of just icon = 'icon.dmi', meaning that Dream Maker doesn't have to search through every single file for every single .dmi. This shouldn't lead to any errors because of how I went about it, plus the fact that Dream Maker would have freaked out if I screwed something up. Also moved around 2 icons that weren't sorted well.

r4146 compile time: 1 minute, 40 seconds
r4147 compile time: 45 seconds

[VGTG]

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4147 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 00:48:51 +00:00
elly1989@rocketmail.com 65ff691098 Fixed evidence bags so the items inside are now visible even when the bag is inhand (the problem was that overlays += obj uses the object's layer variable rather than the default FLOAT_LAYER. So the hud was appearing over the overlays. Fixed it by using image(obj) to take a snapshot). Changed the overlays to underlays to make them look better. Fixed issue 637 where putting objects in bags which were currently in your inventory did not remove the item from your inventory.
Replaced the obj variable var/see_face. It was used to determine whether something (namely masks/hats) hid your identity. Replaced with the HIDEFACE bitflag for var/flags_inv variable. Moved the var/flags_inv variable from atom/ to obj/item/ as only /obj/item/ can be in your inventory in the first place.

Fixed get_visible_name() so it takes into account any item on the var/head when deciding if your face is obscured. (While I'm at it, just dump a comment here if there's anything that should hide your face which doesn't and I'll add the flag.)

Removed the var/alien_egg_flag variable from mob/living/carbon/ and replaced it with the XENO_HOST bitflag for var/status_flags variable. You can now suicide whilst impregnated with a xeno (since you will chestburst even after death, that restriction is no longer necessary).

Any mob/living descendent can ghost even when not dead. However, ghosting whilst not dead results in the ghost eing unable to return to it's body for the remainder of the round. (It has a warning popup)

The suicide verb can only be used by humans when they can move and are not cuffed. These verbs will be totally replaced very soon with the 'fun' IC suicides I'm working on. Suicide is largely redundant given that anybody can ghost now, just didn't want to jump the gun in removing it.

Known Issues:
We've got var/flags_inv, var/slot_flags which could possibly be merged as they both deal with obj/items, although I'm not sure if we can fit oth into the 16-bit limit. Just something to look into.
There are bitflags GLASSESCOVERSEYES, MASKCOVERSEYES, HEADCOVERSEYES, MASKCOVERSMOUTH, HEADCOVERSMOUTH in the var/flags variable which should really be merged with or moved alongside the very similar flags in var/flags_inv. Comments next to the defines suggest as much.
You can borg dead/clientless brains but can't remove the brain fromt he borg once you realise it's a dud. >.<

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4072 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-14 21:43:54 +00:00
rockdtben 84888d5ec3 git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2536 316c924e-a436-60f5-8080-3fe189b3f50e 2011-11-20 15:53:23 +00:00
rockdtben 38d90773cc Implemented getToxLoss()
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2528 316c924e-a436-60f5-8080-3fe189b3f50e
2011-11-17 23:42:09 +00:00
rockdtben faee0422ae implemented getOxyLoss()
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2520 316c924e-a436-60f5-8080-3fe189b3f50e
2011-11-14 14:44:52 +00:00
rockdtben ff84314ce6 Added a getBruteLoss() proc to mob.dm and then replaced all calls of bruteloss with it. Except for the ones commented out.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2505 316c924e-a436-60f5-8080-3fe189b3f50e
2011-11-10 14:45:25 +00:00
uporotiy b8b6268ce1 Added a few config options regarding health thresholds and the availability of various ways of revival.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2363 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-15 16:45:27 +00:00
musketstgstation@gmail.com 391e3bd245 Fixed a bug with the appearance of malfunctioning AI decoys.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1797 316c924e-a436-60f5-8080-3fe189b3f50e
2011-07-07 18:49:22 +00:00
noisomehollow@lycos.com 3c0a76df30 Reduced deathsquad marauder number to 3 (previously 4). Added some fluff to their launch sequence.
Revisions to CentCom. CentCom now has its own access levels set, and a unique ID changing computer.
Added nasa void suit and captain armor to item steal list.
Fixed some run time errors for hand-tele from my previous commit.
Removed the remove poo and urine button from secrets.
Decoy AIs can now say stuff like regular AIs. This is useful if you need a non-player announcer for something, while taking into account talk_understand and the like. I use it for deathsquad shuttle announcements. I've placed A.L.I.C.E. on CentCom for such reasons.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1704 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-22 06:28:28 +00:00
n3ophyt3@gmail.com 5454bbdd32 Decoy AIs should now be properly anchored into place so they can't be moved.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@173 316c924e-a436-60f5-8080-3fe189b3f50e
2010-09-26 00:50:28 +00:00
n3ophyt3@gmail.com 02984e2269 Decoy AIs should no longer explode constantly when interacted with.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@151 316c924e-a436-60f5-8080-3fe189b3f50e
2010-09-23 00:52:12 +00:00
n3ophyt3@gmail.com b03c51aa24 Made a dumb typo, too used to looking at .dm files to remember icon files are .dmi
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@120 316c924e-a436-60f5-8080-3fe189b3f50e
2010-09-20 03:53:48 +00:00
n3ophyt3@gmail.com 2e76b4ed04 Possible fix for the mysterious invisible decoy AI, since I can't reproduce the bug to begin with on my test server, no clue if this actually works.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@119 316c924e-a436-60f5-8080-3fe189b3f50e
2010-09-20 03:36:16 +00:00
n3ophyt3@gmail.com a88d05819e Added a config.txt option to manually designate a server address, as the current world.address method doesn't work right.
Fixed a runtime error I noticed in login.dm

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@100 316c924e-a436-60f5-8080-3fe189b3f50e
2010-09-14 17:31:48 +00:00
n3ophyt3@gmail.com c9c2f3c2ae Added a decoy AI that spawns in the AI core chamber on Malfunction rounds, to reduce metagaming.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@39 316c924e-a436-60f5-8080-3fe189b3f50e
2010-09-01 05:04:01 +00:00