Commit Graph

59 Commits

Author SHA1 Message Date
Cameron Lennox a425f3e663 EMP cleanup (#18682) 2025-11-08 02:05:08 +01:00
Kashargul e956d13a6b jobs, access and radio to defines (#18297)
* jobs, access and radio to defines

* .

* .

* urg

* .

* .

* finish the radio freqs

* why

* .

* .

* ticker initial

* eh

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-08-31 01:32:36 +02:00
Cameron Lennox 37779acf01 Gets rid of hasvar usage and moves up some vars (#18262)
* Gets rid of hasvar usage

* thiiis

* moves damtype to /obj/item

* throwing

* Move vars moved

* matter as well

Pretty much only used for the robot lathe and when crafting...When you could only smelt down obj/item for its materials

* Update floor_light.dm

* exploitable

* this can be moved up...

* move persist to /item

you can't ever place /obj in storage anyway...It would imply you can store the supermatter, which I think we don't want.

* gets rid of being_used

I added this for xenoarch, that was a mistake

* move these

* move these to the base file

* Makes floorlight autolathe recipe not shit

* Update floor_light.dm

* Update floor_light.dm

* Mechs no longer gib when hitting things

---------

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
2025-08-21 23:08:10 +02:00
Will b62bd4657f teshari block (#18104) 2025-07-31 01:46:48 +02:00
Kashargul 9a6f44b850 some more NEW to init (#17093)
* some more NEW to init

* Fixes cloning disk

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-02-12 07:51:26 -05:00
Kashargul a2c673ab7a refactors most spans 2024-10-02 21:10:31 +02:00
Guti 409aaba802 Remove 2024-09-09 02:36:53 +02:00
Drathek 7c8bb85de3 Whitespace Standardization [MDB IGNORE] (#15748)
* Update settings

* Whitespace changes

* Comment out merger hooks in gitattributes

Corrupt maps would have to be resolved in repo before hooks could be updated

* Revert "Whitespace changes"

This reverts commit afbdd1d844.

* Whitespace again minus example

* Gitignore example changelog

* Restore changelog merge setting

* Keep older dmi hook attribute until hooks can be updated

* update vscode settings too

* Renormalize remaining

* Revert "Gitignore example changelog"

This reverts commit de22ad375d.

* Attempt to normalize example.yml (and another file I guess)

* Try again
2024-02-20 11:28:51 +01:00
Heroman 9a94306585 Refactors tool typechecks, refactors transforming tools, makes Altevian wrench into one 2023-10-01 09:34:43 +10:00
Novacat 1aa4c73e8d Revert "[MIRROR] /atom New() => Initialize() [MDB IGNORE]" 2022-08-27 08:49:56 -04:00
MistakeNot4892 3f9af78f3a /atom New() => Initialize() [MDB IGNORE] 2021-11-14 03:09:51 -05:00
MarinaGryphon 577b986ba6 Convert some bools to TRUE/FALSE instead of 1/0. (#11100)
Co-authored-by: Aronai Sieyes <arokha@arokha.com>
2021-07-16 13:43:25 -04:00
Aronai Sieyes f630515514 Make req_[one_]access lazy 2021-05-31 13:19:27 -04:00
Mechoid 02ffbbe79b Gadgets & Gizmos 2021-01-15 01:56:01 -05:00
ShadowLarkens 3d7b051f2b Convert /material to /datum/material 2020-09-27 16:16:44 -07:00
Aronai Sieyes 09074eaabb Alter playsound paradigm 2020-05-18 23:42:15 -04:00
Andrew e4deaa6478 Combat Mechs Can Punch More Things (#6303)
* Combat Mechs Can Punch More Things

Removes the var to check for the 5 things it can attack, instead it can punch anything (but not everything will take damage).

Gives punching objects a check so you don't accidently smash something without meaning to.

Gives closets and canisters a proc to take_damage so they'll actually get smashed by the mechs.

* Take_Damage Boogaloo

* More take_damage Stuff

Adds click delay on attacking barriers.
Proper noises when attacking material doors and barricades.

More stuff can be broken by mech punch and simple mobs.

* Adds changelong

* usr to user
2019-07-24 17:00:24 -04:00
Anewbe 8ed384b38c Rewrites Atmospherics 2019-03-28 19:25:11 -04:00
Anewbe 729ce71aa0 Converts most istype(thing,tool) procs into an appropriate thing.is_tool() format 2018-08-02 21:45:15 -05:00
Neerti 2f7db506eb Adds Variable Click Delay
Now certain weapons can strike faster or slower than usual. No weapons currently do this as this PR just lays the groundwork for that.
The click delay can also be modified with traits. The slime agility modifier makes attacks happen 25% sooner.
Adds debug test verb to display a weapon's DPS. It's really basic but should be sufficient for future force adjustments I might do in the future.
2017-11-28 16:11:56 -05:00
Leshana 44ff1a70c6 Removes the datum pool, as it is not performant.
* Creating new objects is cheap, in fact comparable to the cost of getting it out of the pool, so it doesn't help there.
* Placing items in the pool is far more expensive than letting them garbage collect due to the resetting of vars and such.
2017-05-04 01:58:33 -04:00
SinTwo 045c393683 Revert "Revert "Frame Cleanup""
This reverts commit 82722ba42f.
2016-08-13 19:55:57 -04:00
Kelenius 83adba88d4 Updates blob
Remains of player blob axed.
blob_act() axed. Blob now has an arbitary set of things it can attack.
It will flow over everything else. Blob has an awful tendency to destroy
non-craftables.
Will test more tomorrow.
Blob will now attack mechs.
Fixes #8106.
Fixes #10705.
2015-10-05 18:10:16 +03:00
Kelenius 60196df634 Merge branch 'dev' into ofClicksAndCooldowns
Conflicts:
	code/modules/projectiles/gun.dm
2015-08-13 08:40:31 +03:00
PsiOmega e875a7ce48 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/game/machinery/computer3/buildandrepair.dm
	code/game/objects/items/devices/lightreplacer.dm
	code/modules/research/circuitprinter.dm
	code/modules/research/protolathe.dm
2015-08-08 15:34:51 +02:00
mwerezak 0ceb0e291d Fixes #10314
Replaces every check for a hardcoded material stack type with a check
for material of the stack.
2015-08-02 00:01:10 -04:00
mwerezak e3609bac94 Adds common proc to obtain the material of an object
Adds a common get_material() proc to objects, and implements overrides
where applicable
2015-08-01 23:03:21 -04:00
mwerezak 32b95445e3 Gives changeNextMove() a better name, default define 2015-06-30 22:29:45 -04:00
mwerezak 087a978d56 Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into clickcooldown
Conflicts:
	code/_onclick/click.dm
	code/_onclick/telekinesis.dm
	code/game/objects/items.dm
	code/game/objects/structures/grille.dm
	code/game/turfs/simulated/walls.dm
	code/modules/mob/living/carbon/resist.dm
	code/modules/mob/living/simple_animal/simple_animal.dm
2015-06-28 22:35:14 -04:00
PsiOmegaDelta cc7c502fb8 Updates emag attackby usages to emag_act where it's not too much of a headache. 2015-06-16 09:34:13 +02:00
Kelenius 0071ed3f24 Merge branch 'dev' into ofClicksAndCooldowns
Conflicts:
	code/_onclick/click.dm
	code/_onclick/telekinesis.dm
	code/game/machinery/deployable.dm
	code/game/objects/items.dm
	code/game/objects/structures/grille.dm
	code/modules/mob/living/simple_animal/simple_animal.dm
	code/setup.dm
2015-06-07 14:05:54 +03:00
PsiOmegaDelta a07d20d657 Ports /tg/'s meteor implementation.
Merges the two meteor events into one, and now takes severity into consideration instead.
Including the basic meteors there are also new types ranging from flaming to radioactive which may drop appropriate types of ore.
2015-06-05 14:58:35 +02:00
GinjaNinja32 dfd871f168 code/machinery, fix for code/antagonist merge string causing false positive 2015-05-30 14:05:32 +01:00
Zuhayr 93b014c699 Merge with dev. 2015-05-20 13:39:31 +09:30
Zuhayr 8f6666a32e Converted barricades to material system. 2015-05-17 02:01:20 +09:30
Zuhayr 358867f3b5 Major sheet and material refactor. 2015-05-17 01:46:53 +09:30
Kelenius 3fa79f8d51 Removes click cooldowns almost everywhere.
Still have: doors, windoors, cameras, windows, grilles, blobs, resisting, alien stuff, mechas, spray bottles.
Setting changeNextMove is now responsibility of the item being attacked.
Adds a config option to eliminate click cooldowns completely. Intended to be used by devs.
2015-05-09 17:27:19 +03:00
PsiOmega ca7fa2aa19 Grilles and rods.
Grilles no longer return more rods than they were created from when destroyed (by method other than wirecutters).
Rods are now acquired from and returned to a pool.
Also adds a pre-broken grille for mapping, avoids the case where one might be able to destroy the same grille twice.
2015-05-02 21:35:02 +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 318f5e1a92 Cleans up access handling. 2015-03-02 18:55:03 +01:00
Kelenius 505f857eb8 Stack update 2014-09-02 09:59:32 +04:00
Jarcolr 868dea5681 Grammar patch 1
This is just the first one of many.
2014-04-08 14:48:31 +03:00
johnsonmt88@gmail.com dc599e776b Added emp_act() to some machines.
- Cell charger: Now calls battery emp_act() as well.

- Security Barrier: Now has a chance to toggle the lock.

- Flasher (portable and wall mounted machines, not the item): Now has a chance to flash.

- Wall-Mounted Sparker: Creates sparks.

- Light switch: Toggles the lights when emp'd (not that it'll matter since the lights will probably all have gone out anyway.)

- Weapon Recharger: Calls the energy gun's battery's emp_act() for guns and in the case of stun batons, it sets their charges to 0.

- Cyborg Recharge Station: Cyborgs now get ejected, then emp'd. There would probably be issues with emping the cyborg inside the machine, like being trapped forever or something.

- Sleeper: Eject's the patient. I kind of wish I could make it inject random chems, but it wants a usr and I'm not inclined to start mucking with sleeper code just for this.

- Space Heater: Calls the emp_act() for the battery inside the heater.

- Status Display: Causes the blue screen of death.

- Portable Atmos Pumps: Randomly changes the pressure, has a chance to flip the direction and turn the machine on/off.

- Portable Atmos Scrubber: Has a chance to toggle the machine on/off.

- Arcade Machine: Spits out some random prizes.

- Medical record computer: Runs through the medical records and has a chance to scramble the name, age, sex, blood type, physical or mental state of patients as well as a small chance to delete entries entirely.

- Security record computer: Runs through the security records and has a chance to scramble the name, age, sex, criminal status, physical or mental state of entries as well as a small chance to delete entries entirely.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5237 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-01 00:45:32 +00:00
Kortgstation@gmail.com 068fc7afda Replaced a ton more for viewer in range things with visible_message
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4934 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-22 04:30:19 +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
petethegoat@gmail.com bec8e2cf37 Renamed access_medlab to access_genetics.
Gave the RD his genetics access back.

Added Invisty's hyperspace tiles.
Added Icarus's map updates (Sec, gateway room, genetics/RD access) ((this is a big overhaul to sec)).
Added Flashkirby99's SMES sprites.

Updated the changelog.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3576 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-11 12:28:02 +00:00
elly1989@rocketmail.com d775e1ac80 Runtime fixes for:
runtime error: Cannot modify null.layer. proc name: done (/obj/effect/equip_e/human/done) usr: Ramona Fawkes (/mob/living/carbon/human) src: the human (/obj/effect/equip_e/human)
call stack: the human (/obj/effect/equip_e/human): done() the human (/obj/effect/equip_e/human): process()

runtime error: Cannot execute null.use(). proc name: attackby (/obj/structure/barricade/wooden/attackby) usr: Jeffery Long (/mob/living/carbon/human) src: the wooden barricade (/obj/structure/barricade/wooden) call stack: the wooden barricade (/obj/structure/barricade/wooden): attackby(null, Jeffery Long (/mob/living/carbon/human)) the wooden barricade (/obj/structure/barricade/wooden): DblClick(the floor (159,129,1) (/turf/simulated/floor), "mapwindow.map", "icon-x=15;icon-y=12;left=1;scr...")

Rewrote wielded weapons to be their own weapon subclass. There was no point having a var/wielded var/twohanded var/force_unwielded var/force_wielded for every damn item when there is only 1 wield-able weapon anyway. All the wield-able stuff is now in twohanded.dm

Changed the adminhelpsound to some creative commons sound I pinched. Until somebody can get a better one. I'm sick of MAAAAAAAAOOOOOOW.

All PMs trigger the adminhelp sound. That means when you OM a player they get the sound, if a admin is PMed they only hear it if their adminhelp sounds are enabled. This should allow people to get eachother's attention when t he chat is busy.

Fixed some bad code with poddoors (which is used for the shutters in QM)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3435 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-11 05:01:44 +00:00
panurgomatic 32b2be1b5a - Simple event dispatch system.
- atom.forceMove() proc. Ignores density and other Move() restrictions, but calls Exited() and Entered()
- var/emagged moved to /obj/machinery class
- anyprob() helper proc.
- Mecha internal damage vars encapsulated.
- Mech Fabricators now require robotics ID to operate. Emag removes this restriction.
- Added Odysseus Medical Exosuit and it's parts. Has integrated Medical Hud and ability to mount medical modules.
- Added Sleeper Medical module for medical exosuits. Similar to common sleepers, but no ability to inject reagents.
- Added Cable Layer module for exosuits. Load with cable (attack cable with it), activate, walk over dismantled floor.
- Added another exosuit internal damage type - short circuit. Short-circuited exosuits will drain powercell charge and power relay won't work.
- You should be able to send messages to exosuit operators using Exosuit Control Console
- Gygax armour and module capacity nerfed.
- Exosuit weapon recharge time raised.
- Bugfix: EMP actually drains exosuit cell and damages it

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2780 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-23 10:54:23 +00:00
mport2004@gmail.com 46a7143e3a Energy projectiles work again.
Rewrote the job selection system to use bitflags and the jobs are now objects.
Fixed a path conflict with effect which caused a few things to be unable to be clicked on.
Commented out the job.txt, Urist if you still want it to load from the .txt give me a yell and I can update it to work with the job objects.
Fixed up the bits that were missing the slightly updated mob organ attack code.
Moved the traps file into unused.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2340 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-11 07:52:30 +00:00
mport2004@gmail.com 62e28c2abf Organs:
Moved into their own folder and got split into three files.
Damage  zones have been regrouped slightly to make it easier to deal with them. Currently the organ groups are head, l/r leg, l/r arm, and head.

Attacking:
Armor is properly checked.
Currently aiming for the chest gives a higher chance to stun whereas the head will stun for longer.
Stungloves/Disarm now show up in the attack log.
Stungloves ignore intent.

Silicon:
AI units can now move between cams that are not on the ss13 network.
Cyborg's alert screen should not longer pop up every time they get an alert if they have opened it once during the round.
Robot vision now uses the standard amount of energy.

Gamemodes:
Added Deuryn's unrev message.
Runes can only be examined if you are close to them.
Moved the Loyalty implants to the HoS' locker at the request of HerpA.
Nuke agents now come with explosive implants that will activate upon death.

Projectiles:
Once again went though the gun code and cleaned things up, it is much better now.
Bullet_act fixed up and most mobs now use the one in living, just overload it if they need to do something diff.
Freeze /caplaser/xbow no longer have an infinite loop.
Shotguns have to be pumped manually.

Went though the latest runtime log.

Power cells now use return on their give/use procs

Assemblies have been reworked and are nearly finished, just need to finish up the special assembly code, redo the signalers, and add one or two new assembly items.
Laying down will now only take 3 ticks to get up, from 5.

You can no longer punch people on the spawn screen.

This is a big one and was cleared by two heads, TK will only allow you to pick up items.  If you have an item in your hand it will act normal.

This revision got much larger than originally intended my tests show everything is working fine, but you never know.  Ill likely do more mob teaks in the next few days.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2333 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-08 10:38:01 +00:00