Commit Graph

68 Commits

Author SHA1 Message Date
Time-Green
d0712a9741 [READY]Staff of the Locker (#39687)
Adds a magical locker staff.
It goes through people, capturing anyone being hit by it and putting them in a welded locker

The locker decays in about 5 minutes, to prevent the hallways flooding too much.
Escape time is only a minute.
Explosions are less effective on people inside

Why: It's a bulky wand, and great if you want people to just fuck off. You can either leave them or do something horrible to them.

The sprites are codersprites, except for the locker, please forgive me
2018-08-30 20:10:26 +12:00
Patrick Chieppe
2c8248575a Logging system refactor and improvement (#39521)
* Refactor several log lines to use datum_info_line and atom_loc_line

* Add default return strings from datum_info_line and atom_loc_line

* Add parentheses around atom_loc_line data

* Change more logs to use atom_loc_line

* Add check in atom_loc_line for turfs to avoid calling get_turf on them

* Re-add removed 'at'

* Replace datum_info_line with key_name and atom_loc_line with loc_name

* Refactor logging functions

* Avoid double-logging self-interactions

* Fallback to simple stringification if all else fails in key_name()

* Rewrite muscle spasm logging to use log_message

* Standardize logging of martial arts

* Tweak individual logging panel look

* Fix individual logging panel source

* When I typed || I really meant &&

* Fix Telecomms logging always showing client logs in the panel

* Reverts addition of buggy ownership log to panel

* Remove colon

* Fix missing log_directed_talk tag

* Add warning for missing type in log_direted_talk

* Change warnings to stack_traces

* Add square brackets around fallthrough key_name() case to help parsing

* Allow atom arguments/src in log_*() functions

* Change log_combat call with null argument to log_message

* Change mecha types' log_message() arguments to match atom and mob version

* Add key_name() case for atoms

* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it

* Fix log_globally logic

* Add logging for hitting objects with items

* Move log_combat() to atoms.dm

* Use utility functions for object stringification in log_combat()

* Use utility functions for object stringification in log_combat()

* Add missing logs for interacting with display cases

* Rewrite log_combat() comment

* Add missing space in log_combat()

* Add logging for hitting grilles barehanded

* Add missing ..()
2018-08-12 21:41:09 +02:00
Trevor Serpas
bee0b5b2c3 Afterattack() Signal (#38606)
* adds signal and modifies each call of afterattack to call it's inherited proc

* uses new macro for sendsignal()

* map fuck

* skip precommithooks

* combine and negate 2 ifs
2018-07-07 02:00:25 -04:00
81Denton
115ff7f6f1 Runtimestation tweaks (#38340)
* runtimestation tweaks, debug subtypes

* moves exposed wire to maint tunnel
2018-06-08 10:51:00 -07:00
vuonojenmustaturska
ccf8fc5bc5 Kills off three more flags from flags_2 (#37529)
code: More flags have been moved to their appropriate places
SLOWS_WHILE_IN_HAND
FROZEN
NO_MAT_REDEMPTION

all moved to item_flags
2018-04-30 10:32:23 +12:00
AnturK
4c5a43eeb8 Prefix for item flag slot defines. 2018-04-27 10:30:48 +02:00
iksyp
ab50eb926a Whether or not a pacifist can fire a gun is no longer based on the gun being harmful, but the chambered round being harmful (#36670)
fix: makes dragnet non harmful
tweak: pacifists can now use any disabler or stun setting on any energy gun
code: removed all of the pacifism check code from code/modules/mob/living/living.dm
code: gun objects no longer have a harmful variable, instead, ammo_casing objects now have a harmful variable, which is by default set to TRUE
code: if a pacifist fires a gun, it checks whether or not the round chambered is lethal, instead of whether or not the gun itself is lethal.
2018-04-11 21:59:03 +12:00
PKPenguin321
f3611fef4a harmful var for guns (#36265)
* harmful var for guns

support for pacifism to use non-harmful guns

* fixes bad spacing

oops
2018-03-10 02:11:57 -06:00
Ashe Higgs
7c38e7eac3 Refactors butchering to a component - item-based butchering effectiveness, speed, and chances (#35744)
* Butchering component

* auto-butchering based on toolspeed

* Gives drills their butchering back

* redoes toggles
2018-02-26 09:50:16 +13:00
oranges
c8ad5a6314 Clean up a bunch of undefined arg runtimes (#34105)
* Clean up a bunch of undefined arg runtimes

Ensure subtypes have the appropriate arguments, do a bit of code cleanup
and remove some uneeded emote procs that also caused runtimes

* Fix up all calls to canUseTopic, add the dexterity flag

* Runtime with missing force argument in borg unbuckle mob
2018-01-07 21:52:56 -05:00
Emmett Gaines
25080ff2c4 defines math (#33498) 2017-12-17 11:02:11 -05:00
Emmett Gaines
7c69cdcb8a Revert math (#33059)
* Revert "all this wrapping and it's not even christmas (#33035)"

This reverts commit faaf151580.

* Revert "fuck me for forgetting to graph this one"

This reverts commit 45d7acea2f.

* Revert "defines math"

This reverts commit 2817a1737b.
2017-11-23 20:59:52 -05:00
ninjanomnom
2817a1737b defines math 2017-11-22 17:36:58 -05:00
Tad Hardesty
5a0bb2f599 Grammar fixes to atom descriptions (#31293)
* Grammar fixes to atom descriptions

- Capitalization and punctuation on most descriptions
- CentCom instead of centcom where appropriate
- Earth instead of earth where appropriate

* Remove spaces before newlines and oneline some strings
2017-10-05 16:33:35 -04:00
ShizCalev
51c48409a6 Stops putting RCD, bluespace bags, and staves into ORM (#31093)
* Stops putting RCD, bluespace, and staves into ORM

* CB

* Chat message
2017-09-29 19:33:19 -05:00
kingofkosmos
a479714b5f Adds missing span-endings (#30494)
* Adds missing </span>'s.

* ".name]" --> "]" and
"to_chat(GLOB.admins," --> "message_admins("
and one [name] --> [src]

* Earlier commit was a mistake, lesson learned

* Hopefully all is ok now.

* Revert "Hopefully all is ok now."

This reverts commit 3c95e41b4c13ce96469861e9a97453adf4b56826.

* Revert "Earlier commit was a mistake, lesson learned"

This reverts commit d611af1e4a76690453a7f9808b6e2c429b679f6c.

* Revert "".name]" --> "]" and"

This reverts commit d538b9efef2d7d8be9122bf5ceaf105055059bc6.

* message_admins fix
2017-09-11 14:09:53 +02:00
Jordan Brown
af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
ShizCalev
d525b18d8d Completes major inhand split project (#29574)
* Completes split project

* More work on it. Should be more or less finished
2017-07-29 16:47:37 -03:00
Jordan Brown
1c8badd8fe Merge pull request #28590 from optimumtact/korthemoorstrikesthebooritsquiteashorethatbringsustothefore
Refactors hitreaction to pass in the hitting atom
2017-06-20 09:21:14 -04:00
oranges
186d17b77b Refactors hitreaction to pass in the hitting atom
Required some upstream changes to the check_shields proc to also
reliably pass in the atom
2017-06-20 02:48:17 +00:00
Joan Lung
cc3c809646 Fixes improper text replacement of Fireball.ogg and FleshToStone.ogg 2017-06-18 23:10:25 -04:00
Lzimann
3e34eb9e3f Changes all sounds to be lower case, plus standardizes their references 2017-06-11 00:38:45 -03:00
Cyberboss
7a4f640eec Ports guns to Initialize 2017-05-25 19:51:08 -04:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
Lzimann
e58ee1724f Refactors logging into a single var for all mobs and adds a wrapper for proper logging. 2017-03-04 13:32:35 -03:00
MrPerson
9dd81f1da8 Puts files in single quotes like they belong
This means they're included into the rsc and sent out althogh almost all of these files were already included elsewhere. Also DM will yell if the file couldn't be found for whatever reason like if someone moves or renames it.

I left out some file types for various reasons
dmis used in overlays: I have another pr I'll do later which will fix all of them and I don't want to conflict with myself
text files: they would get included in the rsc, which is completely unnecessary. However they're small, so they might be worth including anyway
2017-02-12 07:15:18 -08:00
kevinz000
0ced9342b9 [READY]Aimable wizard lightning bolts (#23723)
* ZAP!

* YOU DID NOT SEE THAT

* YOU DI NOT SEE THAT 2

* object orientated pr

* gdi

* protection

* object orientated pr v2

* REEEE

* blacklists

* Update magicarp.dm
2017-02-08 18:31:52 +13:00
TehZombehz
8cc9e6de50 Adds regenerate_organs proc and adds it to relevant regeneration code (#22740)
* Adds regenerate_organs proc to carbon and adds it to relevant regeneration code

I simply took the bit from the admin heal and made it into a proc and
added it to the necessary regeneration-related bits of code.

* Adds regenerate organs back to fully heal

For some reason this didn't get included in the previous commit.

* moves regenerate_organs to organ_internal

As suggested. It fits better here, anyways.
2017-01-07 19:38:29 +13:00
Mervill
c2e2440953 Merge branch 'master' into w_class
Conflicts:
	code/game/objects/items/weapons/twohanded.dm
2016-12-02 21:44:24 -08:00
Mervill
09ea5ad2e5 w_class now uses defines 2016-12-01 21:33:14 -08:00
Mervill
01d4232570 Remove slash from end of type refs/defs 2016-11-30 19:23:15 -08:00
Joan Lung
4cddd81120 Suicide now uses the pronoun helpers (#20973)
* This doesn't actually matter, because you're dead forever once it happens...

* is this entire pr chaff for something else

* you'll do it? nah, fuck that I'll do it
2016-10-18 14:36:38 +13:00
KorPhaeron
9ee67f942a Projectile Dismemberment and Wizard spellblade (#19783)
* Spellblade

* Plasma cutters and onback sprites

* Cleans up dismemberment projectile code

* Runtime fix
2016-08-11 15:43:29 +12:00
nullbear
98ee507de8 Adds noteleport variable
This is mostly a pre-setup for my greater-bag-of-holding stuff.

You can't use bluespace crystals/jaunters/hand teleporters to access bluespace-proofed areas. at the moment, this only applies to shuttles and centcomm.

Teleport beacons placed in bluespace proofed rooms can't be teleported to, except via teleporter station hub.

A little concerned because now 'hijack' antags cant use teleprods to fling everyone out of the shuttle while in transit. q_q could easily just make the shuttle non-bluespace proof though.

Note for mappers: This means you can create ruins that can't be teleported into using bspace crystals by setting the area "noteleport" to 1. This can be used to force players to travel through the ruin the way they're intended to. Or to prevent them from gaining access to areas they shouldnt normally be able to. (ie. the wishgranter ruin)
2016-06-09 20:33:25 +12:00
Incoming5643
2368de554f Healing wand/staff regenerate limbs on use (#17532)
* Fully_heal regenerates limbs

* Working in the browser is such a bad idea

* Seriously not a great idea

* Don't do this at home kids
2016-05-11 19:27:18 -05:00
Incoming
5a77cefe2d humor me here I can't test locally right now 2016-04-27 22:07:14 -04:00
Incoming
55b830f39d buffs the staff/wand of door creation: Doors created start open, it can also be used on airlocks to open them akin to the knock spell. 2016-04-27 21:44:53 -04:00
Robustin
64bd2125fa Slowed recharge 2016-04-16 23:11:25 -04:00
Robustin
bbf573addb Update staff.dm 2016-04-16 20:31:30 -04:00
Robustin
44ff69c799 Honk Bullet (#16788)
Adds honk bullet and staff.
2016-04-16 12:39:04 +02:00
phil235
7e1efca13a Created two new procs to handle reviving mobs more easily:
- can_be_revived(), used so we don't revive a mob who would immediately die again (lack of brain organ for carbons).
- fully_heal(), called by revive when we want to completely heal a mob before trying to ressuscitate it.

I gave some arguments to revive() so the proc can be used by more than just the admin healing code (ai revived by the AI fixer console, drone revived by another drone clicking it, strange reagent ressuscitating you, borg revived by restart circuitboard, changeling using his revive ability, etc)

This fixes borg revival not updating its vision correctly and not updating the diagnostic HUD. Same fix for changeling revival.
2016-02-16 23:27:08 +01:00
Cheridan
10b82ee45b Merge pull request #12304 from Incoming5643/utility_aint_gonna_cut_it
Adding Charge and Staff of Healing to the spellbook + category reshuffle
2015-10-25 05:23:03 -05:00
phil235
d3ee910211 Makes effect system code more OOP.
obj/effect/effect is now renamed obj/effect/particle_effect for better usability.
datum/effect/system and /datum/effect/effect/system are now both /datum/effect_system.
Fixes a bug where wall mounted igniters (and other spark producing objects) didn't produce sparks sometimes.
Moved explosion_particles.dm into the effect_system folder, because it has effect_systems code.
2015-10-21 23:28:29 +02:00
phil235
47909d525f Changes smoke to behave more like foam. Each covered tile has one smoke cloud. This makes smoke clouds much less random, especially in terms of reagent application.
Also smoke reaction now uses the TOUCH method instead of VAPOR, to differentiate smoke and foam. Mob without internals or gas masks also ingests reagents in the smoke.
Moved nanofrost smoke code to effects/effect_system/effects_smoke.dm
2015-10-15 21:52:37 +02:00
Incoming
d7713f21b9 The Staff of Healing is now selectable for a cost of 1 in the spellbook
The spell "Charge" is now selectable for a cost of 2 in the spellbook

The spellbook's category system has been reworked to help deal with the huge scroll bars it previously had and help identify to wizards what needs spells and items serve.

The new categories are:

Offensive:
Fireball
Disintegrate
Blind
Mutate
Flesh to Stone
Lightning Bolt
Curse of the Barnyard
Staff of Change
Staff of Chaos

Defensive:
Magic Missile
Disable Tech
Repulse
Stop Time
Smoke
Forcewall
Bind Soul
Staff of Healing
Scrying Orb
Wand Assortment
Armor Set

Mobility:
Mind Transfer
Blink
Teleport
Ethereal Jaunt
Knock
Staff of Door Creation

Assistance:
Instant Summons
Charge
Staff of Animation
Soul Stone Shards + Artificer
Necromantic Stone
Apprentice Contract
Bottle of Blood

Fixes an unreported bug where targeting your mouth with a staff of healing allowed self healing through suicide.

Adds an easter egg to clever wizards who try to charge the spellbook to get more charges.
2015-10-10 20:35:51 -04:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
phil235
b0cd6d34b1 Lots of work on acids, smoke, foam, reagents reaction() proc.
- fixed the fraction argument in reaction(...., INGESTED, fraction) so the proper amounts of each reagent react, not all of it.
- slight optimization of datum/reagents/reaction()
- small optimization /datum/reagent/proc/reaction_mob
- the smoke's reagents no longer do direct transfer upon crossed()/move() but uses "reagents.reaction( mob, TOUCH)" only.
- fixes no ingesting smoke if it's in the dark.
- removed block gas smoke effect flag from clown mask and other non "actual" gas mask.
- refactor how protection against touched chems being absorbed is done. get_permeability_protection() to get that protection. No more

simple RNG get touched or not, now the amount that touches you depends on your protection and the volume in question.
- changes acid_act to take volume into account.
- chem_smoke now uses process() just like foam, we remove the reaction from crossed() and Move(), it's only done in process() now.
- optimization of effect/smoke, OOP! And now all smoke effects use objprocessing instead of shitty sleep/spawn
- removed mob var/coughedtime.
- add a volume check to item/acid_act(), there's a threshold to be able to melt and then a probability to melt (acidpwr&volume).
- greatly lowered the amount of reagent in the smoke from dead blobspore (so the volume isn't enough for melting)
- human/acid_act(): damage to limbs depends on acidpwr&volume.
- fixes metalfoam not working.
- smoke powder: only one start() call.
- Amound of smoke objects depends on amount of smoke recipe created.
- Adds an argument to add_reagent() to block automatic call of handle_reaction()
- When using reagents/proc/trans_to(), reactions are now only handled after every reagent is transfered and not before.
- Amount of smoke objects depends on amount of smoke reagent created.
- radius of foam reaction depends on amount of foam reagent created.
- The amount of other reagents inside the smoke/foam decides the life expectancy of the effect.
- The amount of reagents in each small smoke cloud/foam cell depends on the amount of other reagents in the initial reaction but also

how much smoke/foam was created (more smoke means dilution of the reagents).
- smoke/foam's reagent reaction on mob decreases the life expectancy of the effect (to avoid reagent duplication)
- The amount of reagent reacting with atoms is less if the life expectancy is high.(to avoid reagent duplication)
- The amount of movement from the smoke now depends on the number of smoke clouds created.
- removing some useless code in chem_grenade/prime().
- When calling human/acid_act(), item acid melting chance lowers after each each successful melt in the list, some of the acid is

"used" to melt that item so the next items have a lower chance to melt (to make melting every clothing harder).
- remove the banned reagent list from sprays, not needed anymore now that acid is nerfed.
- chem_grenade reaction, if there's no reagent left after reaction (smoke/foam/etc, reagents cleared) you don't get the steam effect

and immediate reaction with all atoms around the grenade explosion. (Fixes foam cleaner grenade deleting bloodstains around it as soon

as the grenade explodes, even if the foam hasn't reached the tile yet).
- melted storage items now drop their content instead of deleting everything.
2015-06-22 00:35:24 +02:00
Cheridan
2aa0247b00 Merge pull request #9701 from Cuboos/SoundsEp2_WizardBoogaloo
Wizard Sounds has the update. Been a bit since i've done a commit, so…
2015-05-31 15:51:59 -05:00
Cuboos
fcc18020a9 Wizard Sounds has the update. Been a bit since i've done a commit, so forgive me if i did this wrong. Also added the third title song, there a lot of agreement on what to do so i'll just add it as is, if a change needs to be made i'll do it later. 2015-05-29 20:29:37 -07:00
xxalpha
aab00c4075 Fixed changeling revival not setting stat to CONSCIOUS.
FIXED IT

Changelog.
2015-05-21 23:51:10 +01:00