35 Commits
Author SHA1 Message Date
BatrachophrenoandGitHub 5277251959 Tool behaviors port (#21663)
For a robust crafting system, I need a new materials framework.
For a new materials framework, I need to clean up reagents.
To clean up reagents, I need to pare down foods from reagent holders.
To pare down foods from reagent holders, I need to port edibility
components.
To port edibility components, I need to port processing components.
To port processing components, I need to port tool behaviors.

This is all back-end code, no new features or functionality from this.
2026-01-27 08:44:49 +00:00
BatrachophrenoandGitHub 387cee9243 Object Examine Text Overhaul (#20923)
Extends and reworks how various extended information text (desc_info,
desc_build, desc_upgrades) are handled to make object interactions and
mechanics A.) much more clearly documented in-game and B.) much easier
to support from the back-end.

Almost certainly a candidate for test merge.

Assembly/Disassembly instructions are noticeably sporadic, largely due
to our current lack of a unified framework. That's a future thing I'd
like to attack so that it can be handled programmatically, but for now I
only targeted the biggest culprits as I came across them.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-07-21 15:35:14 +00:00
FluffyandGitHub c5dabb9cda Armor defines (#20563)
Added armor defines
Converted raw strings use to defines
Added UT test to ensure people set the armor var correctly (to a list)

No player facing changes
2025-03-09 21:37:46 +00:00
FluffyandGitHub c24b4c7097 Projectile refactoring madness (#19878)
Refactored the projectile code, mostly in line with TG's now.
Refactored various procs that are used or depends on it.
Projectiles can now ricochet if enabled to.
Damage falloffs with distance.
Homing projectiles can now have accuracy falloff with distance.
Projectiles have a maximum range.
Muzzle flash is configurable per projectile.
Impact effect of the projectile is configurable per projectile.
Accuracy decreases with distance.
Projectiles work with signals and emits them, for easy hooking up from
other parts of the code.
Meatshielding is now less effective .
Impact sound is now configurable per projectile.

High risk.
2024-09-23 10:12:57 +00:00
FluffyandGitHub 3e1b9d4170 Repathed /obj/item/projectile to /obj/projectile (#19693)
Repathed /obj/item/projectile to /obj/projectile, same as TG and Bay,
that's pretty much it.
2024-07-27 10:09:46 +00:00
fec6dbe24f Adjusts the force of all items to be multiplied. (#18708)
* force balancing?

* force

* cl & maglight nerf

---------

Co-authored-by: DreamySkrell <>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-03-24 17:10:31 +00:00
FluffyandGitHub 9afe761db3 Some refactors, DMDoc and UT (#18365)
* dsfa

* accessories fix

* fixed "has been hit by" message with intent check

* sdfa
2024-02-12 15:32:23 +00:00
4423d03f2f Adds examine boxes. (#18370)
* Adds examine boxes.

* lint

* what kind of dreams did you dream?

* unlimited

* midgardsormr

* sdsd

* fixes

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-02-11 21:58:20 +00:00
Wowzewow (Wezzy)andGitHub fd26ff32e2 Fixes Examine Crashes (#17430)
* Fixes Examine Crashes

* fukken indentations
2023-09-27 10:22:04 +00:00
ce5ac79e3c Split examine verb and function, and improve it (#17251)
* Split examine verb and function, and include adjacency and distance checking in examine function

* Fix various issues

* Update code/modules/mob/examinations.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* Add required define vars

* Update code/game/objects/items/stacks/wrap.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

---------

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2023-09-09 08:07:36 +00:00
Matt AtlasandGitHub 31c73ead85 Ports the radiation subsystem and cleans up damage flags. (#15715) 2023-02-07 13:22:47 +01:00
BenedictandGitHub 12ecc934f1 Implements PASSRAILING as a new pass flag (#14009) 2022-05-23 12:46:59 +02:00
Geeves ce1f702435 Misc Fixes 2022-01-23 00:49:40 +02:00
GeevesandGitHub 7c5130159f Plasma Cutter Resprite (#11829) 2021-05-09 12:05:44 +02:00
GeevesandGitHub 824b47d91b Plasma Cutter Improvements (#11231) 2021-02-24 16:01:28 +01:00
mikomyazakiandGitHub 4de53f1d56 Replaced all instances of armour/armoury with armor/armory (#9593) 2020-08-06 20:57:30 +02:00
GeevesandGitHub 28391cad07 Plasma Cutter Things (#8445)
Plasma cutters can now have their power cells removed with screwdrivers, and replaced by using the power cells on them.
Plasma cutters now do 20 damage, up from 15.
More things can now be disassembled with the plasma cutter. Non-reinforced walls, non-reinforced tables, grills, machine frames.
2020-03-21 12:46:25 +01:00
GeevesandGitHub d93a0030db Makes All Guns Contained Sprites (#8105) 2020-01-31 20:27:03 +01:00
WernerandGitHub af16a489a6 Removes Weapons (#7415)
* Adds icon and hitsound where needed.

* Moves alt_attack to /obj/item and deletes weapons.dm

* Replaced /obj/item/weapon with /obj/item

* Fixes merge issues.

* Fix merge issues.
2019-11-16 18:36:13 +01:00
AlberykandWerner 301f25abee Research and development tweaks: guns and illegal techs (#6111) 2019-03-11 23:27:55 +01:00
OneOneThreeEightandWerner 96941d7348 Changes the accuracy formula, also changes accuracy to almost all guns across the board (#5434)
Without an in-depth explanation this effectively makes it so that the accuracy stat to a gun DOES matter, and it matters rather substantially.
2018-11-04 14:44:33 +01:00
BurgerLUAandErki 9da929d4a1 Custom Kinetic Accelerators (#4802)
This is honestly one of my biggest and most ambitious projects. I hope people are happy with this.

Custom kinetic accelerators are special, customizable mining weapons that are meant to give a sense of progression, and a sense of pride and accomplishment while mining. Each custom KA is made up of 3 or 4 parts:

The Frame (5 to choose from)
The Cell (5 to choose from, +1 traitor)
The Barrel (5 to choose from, +1 traitor)
The Upgrade Chip (7 to choose from, +1 traitor)
The sprites change with each addon, they are truly dynamic and there are so many combinations of parts that a miner can have. You can have several different builds for each desired mining style, it's quite a robust system.

You can have a KA that shoots slowly, but delivers high-penetrating shots that go through several walls of rock. You can have a KA that shoots REALLY fast, but precisely destroys 1 rock at a time. You can have an absolute canon of a beast, that destroys rocks in a 3 tile radius around it.

The parts can be obtained via research, via abandoned crates, or via RNG in the cargo warehouse. There are some custom KAs that spawn on the raider's ship, on the mercs ship, and a laser one on the merc's headquarters. That laser one can also be bought from the traitor uplink as well.

ERT get a class 4 KA for use in special operations, if they choose to use it.
2018-06-17 23:02:42 +03:00
AlberykandErki 0a5f31793c Reduces the plasma cutter main rate (#4785)
What the title says, it was really high, having around 15% of instakilling someone on the first hit, if aiming at head, and 30% of chance of cutting a leg or arm at the first hit, this should reduce those chances. The main feature also takes in consideration the armor. So, plasma cutters are far more effective against less armored foes, limbs and xenos at all.
2018-06-05 21:30:46 +03:00
kevinz000andErki c000070a5b Pixel Projectiles (#4105)
Projectile hitscan effects moved to /effects/projectiles folder.
Most of projectile firing code and some of impact code refactored, and projectile hitscan effects refactored with ported TGcode (which is mostly TGcode I wrote anyways 😎)
Projectiles can now be fired at any angle, instead of just at the center of turfs!
Projectiles are now [in theory] 100% accurate down to 0.001 of a pixel.
2018-03-10 17:13:24 +02:00
PacmandevilandErki b22cb0e59d [Ready for review until the inevitable map conflicts] Firing pins (#3375)
I'm going full steam ahead with this.

Adds firing pins/ Authentication mechanisms. these are needed to fire any specific weapon.

Weapons generally spawn with firing pins in them. or at least should. The exception to this is anything made in R&D - which needs to secure a firing pin from somewhere.

There's currently the following firing pins:

One that checks for a specific implant, EG a loyalty implant one.

One that always fails, and can replace other pins. (this one would likely be admin only. it's clown themed)

The Laser tag code got refactored to the pins. so each gun has a different pin. if you somehow got this pin, you could make it so you could only shoot a gun while wearing a laser tag vest, for example.

A Testing range pin, which only allows firing in specific areas - of which are mapped in currently.

A DNA locked one. and a subtype which will explode if someone else tries to use it.

the system's designed to be easy enough to add on to.

Feedback fourm is here:
2018-01-27 20:59:00 +02:00
chaoko99andLohikar adf21c24e8 Implements Maim / Maiming projectiles. (#3750) 2017-11-25 18:24:16 -06:00
RonandWerner 37b3c0049a Replaces unused span classes (#3539)
Replaces span class userdanger and sinister with things that exist. Also removes an unused proc.
2017-10-04 19:23:20 +02:00
AlberykandLohikar fb3ac0d718 Mounted guns names, grenades tweaks and projectiles changes (#3322)
-name added the prefix mounted to all mounted guns
-converted the hos sniper rifle bullet to the new armor system
-converted projectile/special.dm to absolute pathing
-reduced again the damage of frag grenades
-added armor penetration to the pulse beam, to make it more than just a stronger laser
-fixed the fake grenade getting stuck in the primed sprite after its detonation and added a indication it is take in the desc
2017-08-27 17:00:32 -05:00
RonandErki cb5e227320 Converts some istype's to use helpers (#3224)
Converts various istype's to use helpers. Mainly:
Cable
Wrench
Screwdriver
Multitool
Crowbar
Wirecutter

And makes the helpers defines.
2017-08-06 22:08:42 +03:00
AlberykandErki 868d4d37bf Fixes some things (#3197)
Fixes #3195
Fixes #3194 by reducing a bit the mining pickaxes damage and the kinetic accelerator damage
Allows fitness machines to drain a bit of nutrition as you use them
Fixes one of the syndicate cyborgs sprites having a rogue pixel somewhere
Fixes some barsigns not having icons for all directions
Brings back the illegal guns crate to cargo due to massive popular request
2017-07-31 21:56:48 +03:00
Alberykandskull132 1365befb04 Fixes some things (#2886)
Fixes #2832
Fixes #2821
Fixes #2805
Adds a tint to the bomb suit helmet
Fixes the wizard voidsuit an outdated wizard faction check
Fixes pants don't convering the legs
Fixes hailers showing their messages on the lobby
Reduces the recharge cost of the mounted thermal drill, so, it won't use an entire powercell when you fire it once
2017-07-01 21:53:49 +03:00
LordFowlandskull132 a5d7d50a69 Mining Fixes II (#2517)
Seismic Charges are now much cheaper.
KA can now fit into suit storage and the explorer's belt.
Several more items can now fit into the explorer's belt.
KA's with multiple installed modkits can now properly be turned into a RIG module, which keeps said modkits.
RIG thermal drills now work properly.
Mining drones should now spawn with a jetpack.
Mining drone ore bags are now much larger, as they cannot drag crates.
2017-05-28 23:53:27 +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
LordFowlandGitHub 358ebcb35c Fixes several bugs. (#1977) 2017-03-23 16:25:44 -04:00
LordFowlandGitHub 3c64b62c27 New Map Mining (#1935)
* Alpha Commit

* Alpha Commit

* Seconds

* Some Commit

* Final Commit

* Fixing minedrone synth ID

* Dance Fever

* Fixing Travis part 1

* Satisfying the demands

* Stuff

* Sub-final commit

* Sculpting update

* more sculpting. pr is 99% sculpting, in fact

* kkk

* brightness_off

* swjaugyuwvhuw
2017-03-22 18:14:37 -04:00