Commit Graph

52 Commits

Author SHA1 Message Date
CHOMPStation2
ab154b48b2 [MIRROR] refactors most spans (#9139)
Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: Kashargul <KashL@t-online.de>
2024-10-04 15:00:17 +02:00
CHOMPStation2
5ea698a0ef [MIRROR] Removes /obj/item/weapon and /obj/item/device [MDB IGNORE] (#9084)
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: Guti <32563288+TheCaramelion@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Kashargul <KashL@t-online.de>
2024-09-30 21:36:41 +02:00
Drathek
3995338290 Moar whitespace normalization [MDB IGNORE] (#7750)
Co-authored-by: Raeschen <rycoop29@gmail.com>
2024-02-16 10:54:47 +01:00
CHOMPStation2
d2e66e6410 [MIRROR] Refactors tool typechecks, refactors transforming tools, makes Altevian wrench into one (#7062)
Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: Nadyr <41974248+Darlantanis@users.noreply.github.com>
2023-10-04 18:37:41 -04:00
Chompstation Bot
481c0e314e Convert some bools to TRUE/FALSE instead of 1/0. 2021-07-16 17:44:40 +00:00
Chompstation Bot
cb5671c638 Make req_[one_]access lazy 2021-05-31 17:30:12 +00:00
Novacat
5211edc9c0 Merge pull request #9573 from VOREStation/upstream-merge-7786
[MIRROR] Gadgets & Gizmos
2021-01-24 06:55:05 +00: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
mport2004@gmail.com
17ed3899c4 Fixed the map/code issues that the body bags caused.
/obj/effects is now /obj/effect.
/obj/station_objects is now /obj/structure.
Did a bit of minor blob work. 
The Bay 12 body bags were replaced with closets because having two sets of code that do almost the same thing is silly.
Changed back a few of the last jobproc edits as the remove from list before assign was a check to see if the mob was fucked up and if it was remove it so we did not check it again as it would still be fucked up.
The medbay/tox monkeys names are random once more.  More random name monkeys will help with changeling and clean up the observe/mob menus.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2324 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-03 10:28:57 +00:00
baloh.matevz
e8c6b08419 - Object tree grouped a bit more.
Two new categories were made: station_objects and effects. station_objects, which I'm sure someone will want renamed to 'structures' contains the objects which don't need process() or power code.

Effects contains objects which are either landmarks, triggers, spawners or decal.

Screenshot:
http://www.kamletos.si/new%20object%20tree.PNG

I didn't notice any bugs, but with a revision editing 276 files of byond code, you never know.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2323 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-03 06:54:28 +00:00
baloh.matevz
3047075394 deployable barriers now require security access once again
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1789 316c924e-a436-60f5-8080-3fe189b3f50e
2011-07-06 19:25:28 +00:00
panurgomatic
15a5ecdd06 - Moved passability flags from atom/var/flags to atom/var/pass_flags.
Currently there are three - PASSTABLE, PASSGLASS and PASSGRILLE. PASSTABLE - same as TABLEPASS, PASSGRILLE - can this atom pass through grilles and PASSGLASS - can this atom pass through windows, glass doors, etc. Most can_pass() procs were updated.
Added checkpass atom proc to check if this atom has certain pass_flag set.
- Added proc/sanitize_simple() and proc/strip_html_simple(). sanitize_simple does not html_encode the string and strip_html_simple does not sanitize it. Additionally, sanitize_simple and sanitize can take associative list of key-val chars as second argument, where key is char to searh for and val is replacement.
- Added datum/gas_mixture/proc/return_volume() and datum/gas_mixture/proc/return_temperature().
- Added proc/tg_text2list() and proc/tg_list2text(). tg_list2text is slower then dd_list2text, but processes associative lists differently (it adds not the keys, but associated values). tg_text2list is somewhat faster then dd_text2list.
- Added proc/listclearnulls(), proc/difflist(), proc/intersectlist() and proc/uniquemergelist(). Check the code comments for more info.
- Mechs can hold 3 equipment pieces. Gygax can hold 4.
- Tweaked global_iterator CRASH report.
- Fixed mech pilot ejection if mecha was destroyed.
- Fixed mech fabricator process() waiting for sync() to finish.
- Fixed mech fabricator Topic() waiting for process_queue() to finish.
- Some bugixes related to global map and random sectors.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1722 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-24 23:30:27 +00:00
tronaldnwn@hotmail.com
4cfd1b7d12 - Attempted to straiten up some clothing dms
- Finally got the NASA Jump suit to be spess worthy. Admins please don't spawn a billion of these.
- Jumpsuits can now be used as spess suits if you add the flag "SUITSPACE"
- Tower Caps are in the Hydro seed vending machine again, and you can get logs from them!
- Sec's vending machine has 12 donuts by default, and can spit out 2 boxes of donuts if hacked.
- Logs can to be sawed with a circular saw, makes two planks each. Otherwise can be used to get more seeds.
- Planks can be formed into wooden objects, currently just wooden tables and wooden barricades.
- Wooden barricades, they can be made from 5 planks. They cannot be moved once built. You can repair with more planks, and destroy them by bashing it (giving a few planks).
- Wooden tables now deconstruct into wooden table parts (no more transmutation of wood to metal).
- Plant scanner now lists water and nutriment level.
- Ammonia, nutriment, and diethylamine are VERY good for plant nutrient. Other types of chemicals have been altered to be more effective. Sugar causes everything to grow, weeds and pests, and plants. Cryodone is very good to save plants from poison and death, water gives a 1:1 ratio for injection, soda water is very good for plants, nutriment now works on plants (it is a fertilizer), and radium properly kills your plants slightly.

- Moved the wooden log to harvest DMI
- Added some related semi place holder sprites for wooden tables, wooden planks, and wooden barricades

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1502 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-26 00:00:56 +00:00
uhangi@gmail.com
28b6c40b3c doing some stuff to barriers
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@806 316c924e-a436-60f5-8080-3fe189b3f50e
2011-01-08 01:07:34 +00:00
noisomehollow@lycos.com
17fccca65d Moved barrier icons to objects.dm.
Updated barrier graphics. 
Barriers now spawn in the Armory (and four in the vacant Sec office), until they are tested. Required access was changed to Security likewise.
Fixed firesuit down graphics, along with hazard vest.
Reduced the number of fireclosets spawning instead of oxygen closets.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@804 316c924e-a436-60f5-8080-3fe189b3f50e
2011-01-07 19:52:44 +00:00