Commit Graph

615 Commits

Author SHA1 Message Date
Expletive 6f88d224ec Adds a few new recipes created with plastic sheets (#27257) 2017-05-15 09:02:24 -03:00
Tacolizard 9f5576af4c Buffs honey (#27148)
* initial

* balance

* there
2017-05-13 07:41:41 -06:00
Mike Long 37be45d211 Adds spewium toxin in traitor kits (#26848) 2017-05-04 19:53:06 -03:00
Leo 3b9b4e0755 Changes a bunch of hrefs to the proper defines (#26760) 2017-05-02 01:19:51 -06:00
bawhoppen 94d63eba9b Readds deepstorage w/ tweaks AND adds water bottles to vending machines (#26709) 2017-04-30 21:00:24 -03:00
Leo 7375d97833 Merge pull request #26557 from QualityVan/ivgrammar
Minor IV/bloodbag grammar fixes
2017-04-27 11:20:58 -03:00
QualityVan 0c8cd780b7 Minor IV/bloodbag grammar fixes 2017-04-25 08:39:22 -04:00
Joan Lung 228df13447 Merge branch 'master' of https://github.com/tgstation/tgstation into initialnew
Conflicts:
	code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm
	code/modules/station_goals/bsa.dm
	code/modules/vehicles/atv.dm
2017-04-25 07:32:06 -04:00
MrPerson ff3f84ab81 Replaces /image with /mutable_appearance, where appropriate (#26518)
In cases where you're creating an image to use as an overlay, it makes more sense to use a mutable_appearance if you can. The image will create a static appearance for not just the image but also each intermediate step if you change vars along the way. The mutable appearance avoids this unnecessary and expensive process. The only situation that requires an image instead of a mutable_appearance is if the overlay is supposed to be directional. MA's ignore direction while images don't. I dunno why, probably another BYOND-ism.

I added a convenience function, mutable_appearance(), designed to emulate image(). Also went ahead and set the default plane of /mutable_appearance to FLOAT_PLANE because it's fucking 0 by default.

Several overlays that were image() calls were changed to just text strings when I could. overlays += "string" has the same result as overlays += image(icon, "string") and saves a proc call.
2017-04-25 12:15:16 +02:00
Joan Lung 52cb6f9c06 some failures are just overchanging stuff 2017-04-19 18:43:14 -04:00
Joan Lung db9d86a39e New() goes in the trash, we've gotta Initialize() 2017-04-19 18:22:26 -04:00
Davidj361 dfef186597 Fix for bug #25899 (spray guns) (#26102)
* Fix for bug #25899 (spray guns)
- Made it so chemsprayers and extinguishers don't spray when you click your inventory items
- Spray guns now actually have their range change when changing modes between spray and stream

* Fix for bug #25899 (spray guns)
- Made it so chemsprayers and extinguishers don't spray when you click your inventory items
- Spray guns now actually have their range change when changing modes between spray and stream

* Changes suggested by duncathan
2017-04-12 19:53:51 -06:00
4dplanner 2f1f0da5be Adds another can_inject check just before injecting (#26001)
* Adds another check before injecting/applying medicals stacks

* More helpful comments

* Updates to use extra_checks
2017-04-11 15:25:07 +02:00
Cyberboss 9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
AnturK 20b4d649d2 Fixes syringes for monkeys 2017-04-02 21:48:51 +02:00
oranges d003126824 Merge pull request #24893 from jughu/demote-jughu-pr-request
Fixes anti toxin pill name
2017-03-11 17:45:59 +13:00
Lzimann 5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
jughu 33a80940dd Update pill.dm 2017-03-09 20:44:01 +01: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
Cyberboss 56a6eaa8e6 Overlay queuing (#23922)
* Overlay queuing

* Fix SS flags

* Don't copy on assignment

* Flags processing

* Fix icon_smoothing

* MSO's helper proc

* Legacy detection

* Make it work

* Fixes shitcode

* Fix the flag

* |= -> +=

* OK, how did I fuck that up?

* shitcode

* Conditional assoc queue while initializing

* Cleanup everything

* Orange meme

* This isn't perfect, but its the best byond will give us.

* forgot about dir

* oh ya

* This was litterally the last thing i did last night before heading to bed

You can tell can't you?

* Fixes various shit

* Let's not ever pause

* Fix the flag

* Cleaned up some missing shit. Added image dummys

* Remove the one usage of FPRINT

* Jesus get rid of this
2017-02-22 21:44:55 +13:00
Xhuis 93d8fbe908 REEEEEE 2017-02-18 17:52:05 -05:00
Xhuis 464512f35b Fixes reusable epipens 2017-02-18 17:03:59 -05:00
Jordie ff77631a8d Merge pull request #24024 from RandomMarine/pillsplitter
Splits charcoal pills apart
2017-02-14 10:57:44 +11:00
kevinz000 4af765bbc6 [READY]adds logging to spilling plasma from beakers in theory (#23926)
* Update reagent_containers.dm

* Update glass.dm

* Update reagent_containers.dm

* Update glass.dm

* Update reagent_containers.dm

* Update reagent_containers.dm

* Update glass.dm

* Update glass.dm

* Update reagent_containers.dm
2017-02-14 10:54:49 +11:00
RandomMarine 6cfa865b4c splits apart charcoal pills 2017-02-12 08:40:22 -08:00
swindly f78a5d9655 Tweaks saline-glucose solution (#23673)
* salglu rebalance

* tweak again
2017-02-06 00:21:44 +13:00
Cyberboss 3f7f5d4000 Removes/Refactors /mob/unEquip (#22918)
* Part1

* IT COMPILES!!!!

* Fuck wait this was missing from that last

* Update handlabeler.dm

* Update handlabeler.dm

* Fixes n shit

* Fix this

* Fixes #23310

* Fucking @RemieRichards was right

* Fixes devil unEquip

* WTF ARE BITFLAGS?

* THERES THE FUCKING PROBLEM

* Fixes
2017-01-31 09:28:31 +13:00
ma44 0a9f9e827a Update spray.dm (#23196)
Pouring reagents will always transfer 50 units, it's not accurate

🆑 ma44
tweak: Nanotrasen has improved training of the crew, teaching crewmembers like you to unscrew the top off the bottle and pour it into containers like beakers.
/🆑

Cause if you can dump all the stuff out and have a screwable top, you should be able to pour it into reagent containers (it even has code for when it pours 50 units at a time) also cause muh realism
2017-01-30 11:01:36 +13:00
coiax 7e4a0ee0df Adds Romerol (the REAL zombie powder) to uplink (#23369)
* Adds Romerol (the REAL zombie powder) to uplink

🆑 coiax
add: Syndicate agents have gained access to a highly dangerous
experimental bioterror agent, that causes partial reanimation and
aggression after death.
del: Zombie infections are no longer visible on MediHUD.
/🆑

- Adds a reagent to the uplink that gives anyone who injests it a
dormant zombie organ that will reanimate them as a zombie after they
die.
- Initial price estimate is 20TC because this is some fungal TB level
!fun!.
- Good for traitor chefs.
- Zombies are fun, let's have more of them.

* Fixes runtimes, removes airlock tearing

* aGGression

* Update health?

* Zombies are not TOXINLOVERS that's dumb

* Removes from uplink

* Revert "Removes from uplink"

This reverts commit a0acd313929b0787c2eab0d7f289e305212fa0ed.

* 25 TC
2017-01-29 11:21:37 -06:00
AnturK 809835796a Fixes pill duping (#23033) 2017-01-16 13:14:31 -05:00
XDTM 77865eece6 Fixes patch delay (#22934) 2017-01-12 15:06:09 -05:00
Trugath 4105ca9ea6 Tgmonkey (#22338)
* Monkeys are a bit more of a handful
They will aggro, steal, pick up weapons and stuff bodies in disposals

* search using held_items instead of manually

* Only natural monkies should reliably stun
Natural monkies don't try to stun-lock

* Pushes equip_in_one_of_slots to carbon from human

* Removed unused helper.

* Make the trip and stun only against monkeys
The main reason this is here is for the swarm behaivour.

* Just return true for now. It should flee on next life tick.

* remove blocking call from Life

* stuff_mob_in blocks so make it non-blocking

* add check to stop add/remove in same function
Only occours if the monkey attacks someone who isn't in the enemies list.
This only happens during a monkey swarm. Best to check.

* Fix for monkeys ripping stuff off walls.

* Moved shared emote/weaken down into living
Called the new function knockOVer. Monkey and Secbot both have different
control flow before the shared code.

* Stop monkeys fighting over body

* Remove commented out code

* Reduce flee range

* replace spawn with addTimer by moving code into callbacks

* Move magic numbers to defines
Also removed 900 delay in resisting cuffs as its a useless argument

* Refactor. Attacking has a function: monkey_attack
Combined de-aggro into it

* rework monkeyDrop to force drop
Also check for deleted items when snatching items

* Aggresive can be toggled by an admin
Allows for a mass mob of angry monkies

* Tweak aggressive monkeys to attack each other less
Monkey vs Monkey probability is a define
Warning: Once MVM combat breaks out in large mobs, mayhem insues

* Set the monkey back to idle once it attemps to dispose the body

* fix for aggressive monkeys self-harming

* comment wording fix

* changed walk2derpless to a callback and fixed deathgrip
2017-01-06 14:59:37 +01:00
Firecage 50bbf5aa50 Allows syringes and droppers to show their reagents when examined while wearing things such as Science Goggles. (#22618)
* Allows syringes and droppers to show their reagents when examined.

* rearranges my logic

* replaces SEMIOPENCONTAINER with TRANSPARENT

* Silly spelling error fix.

* Moves the defines from flags to container_type to avoid issues with conflicting flags

* changes it back to obj/item/O

* Moves the OPENCONTAINER and TRANSPARENT defines to the reagents.dm
2017-01-04 20:00:46 +13:00
coiax 4556cf5e29 Adds multiple upgrades for Medical cyborgs (#22149)
* [WIP] Adds multiple upgrades for Medical cyborgs

🆑 coiax
add: Adds upgrades for the medical cyborg!
add: The Hypospray Expanded Synthesiser that adds chemicals to treat
blindness, deafness, brain damage, genetic corruption and drug abuse.
add: The Hypospray High-Strength Synthesiser, containing stronger
versions of drugs to treat brute, burn, oxyloss and toxic damage.
add: The Piercing Hypospray (also applicable to the Standard and
Peacekeeper borgs) that allows a hypospray to pierce thick clothing and
hardsuits.
add: The Defibrillator, giving the medical cyborg an onboard
defibrillator.
/🆑

- [ ] Price the material cost of the boards appropriately
- [ ] Get the defib upgrade working

* Got the defib working

* Adjusted research and costing levels

* Missed a close paren
2016-12-15 10:50:13 +13:00
Mervill 0972f78800 a_intent now uses defines 2016-12-02 22:27:30 -08:00
Mervill 09ea5ad2e5 w_class now uses defines 2016-12-01 21:33:14 -08:00
GunHog 8a2362c9a0 Fixes Syndicate Medical Cyborg Penetration
Syndieborg hyposprays now properly penetrate thick clothing.
2016-11-28 00:14:09 -06:00
phil235 b7efc2cef4 Make energy guns able to use burst fire. (#21005)
* Make energy guns able to use burst fire.

* Changed obj/item/weapon/gun/projectile to /gun/ballistic and the name of the folder from "projectile" to "ballistic" to avoid confusion between actually projectiles and guns.

Syringe gun, energy guns and magic guns can now use burst fire.

* fixing merge conflict shit

* fixing map conflicts

* more map conflict fix

* two tiny fixes.

* tiny tweak

* fixing merge conflicts.
Moving the practice mini egun to the gun module.
Renamed nuclear.dm to energy_gun.dm

* map conflict fixes
2016-11-02 16:16:21 +13:00
chowdermcarthor c7e474ccae Neck Slots (#21169)
* Added in a neckslot. Moved some tie items over to said neckslot.

* Changng some stuff to fix the new neckslot items.

* no message

* Altered comment to say that the old tie system is being kept as-is due to armbands and such instead of just avoiding conflicts.

* no message

* Changed the number for this.

* Fixed jaws of life not having a category, thus they only would show up when searched.
2016-10-26 19:03:41 +13:00
Cyberboss ef88ba8794 Adds transfer amounts to spray bottle 2016-10-20 18:39:59 -04:00
phil235 30ca862473 Fixes hardsuit not having 300hp (I gave it to the helmet, but had forgotten about the suit itself)
All unique traitor steal objective item are now immune to all damage except severity=1 explosion.
Mobs on fire no longer get damage to their worn backpacks, belts, id, pocket stuff, and suit storage.
All backpacks are now nonflammable, and bag oh holding and engineer backpack are now fireproof.
Mob receiving melee attacks now only have its outer layer of clothes damaged, e.g. no damage to jumpsuit when wearing a suit.
Made all hyposprays (not just the CMO's) acid proof.
Made the singularity gen and tesla gen immune to fire.
2016-10-17 22:51:57 +02:00
phil235 5f835bfc26 Obj damaging system, acid damage, and fire damage refactor (WIP) (#20793)
Please refer to #20867 and #20870 for a easier view of the changes. Those two PRs show all meaningful changes (hopefully) and doesn't show the files changed with just 3 lines changed.

This PR does three things:

    It makes all children of /obj/ use the same damage system.
    Previously to make your new machine/structure be destroyable you needed to give it a var/health, and its own version of many damage related proc such as bullet_act(), take_damage(), attacked_by(), attack_animal(), attack_hulk(), ex_act(), etc... But now, all /obj/ use the same version of those procs at the /obj/ level in code/game/obj_defense.dm. All these obj share the same necessary vars: obj_integrity (health), max_integrity, integrity_failure (optional, below that health level failure happens), and the armor list var which was previously only for items, as well as the resistance_flags bitfield. When you want your new object to be destroyable, you only have to give it a value for those vars and maybe override one proc if you want a special behavior but that's it. This reorganization removes a lot of copypasta (most bullet_act() version for each obj were nearly identical). Two new elements are added to the armor list var: fire and acid armor values.
    How much damage an obj take depends on the armor value for each damage category. But some objects are INDESTRUCTIBLE and simply never take any damage no matter the type.
    The armor categories are:
    -melee(punches, item attacks, xeno/animal/hulk attacks, blob attacks, thrown weapons)
    -bullet
    -laser
    -energy (used by projectiles like ionrifle, taser, and also by EMPs)
    -bio (unused for this, only here because clothes use them when worn)
    -rad (same)
    -bomb (self-explanatory)
    -fire (for fire damage, not for heat damage though)
    -acid
    For machines and structures, when their health reaches zero the object is not just deleted but gets somewhat forcedeconstructed (the proc used is shared with the actual deconstruction system) which can drops things. To not frustrates players most of these objects drop most of the elements necessary to rebuild them (think window dropping shards). Machines drop a machine frame and all components for example (but the frame can then be itself smashed to pieces).
    For clothes, when they are damaged, they get a "damaged" overlay, which can also be seen when worn, similar to the "bloody" overlay.

    It refactors acid. See #20537.
    Some objects are ACID_PROOF and take no damage from acid, while others take varying amounts
    of damage depending on their acid armor value. Some objects are even UNACIDABLE, no acid effect can even land on them. Acid on objects can be washed off using water.

    It changes some aspect of damage from fires.
    All /obj/ can now take fire damage and be flammable, instead of just items. And instead of having just FLAMMABLE objs that become ON_FIRE as soon as some fire touch them (paper), we now have objects that are non flammable but do take damage from fire and become ashes if their health reaches zero (only for items). The damage taken varies depending on the obj's fire armor value and total health. There's also still obj and items that are FIRE_PROOF (although some might still be melted by lava if they're not LAVA_PROOF).
    When a mob is on fire, its clothes now take fire damage and can turn to ashes. Similarly, when a mob takes melee damages, its clothes gets damaged a bit and can turn to shreds. You can repair clothes with cloth that is produceable by botany's biogenerator.

    It also does many minor things:
        Clicking a structure/machine with an item on help intent never results in an attack (so you don't destroy a structure while trying to figure out which tool to use).
        I moved a lot of objects away from /obj/effect, it should only be used for visual effects, decals and stuff, not for things you can hit and destroy.
        I tweaked a bit how clothes shredding from bombs work.
        I made a machine or structure un/anchorable with the wrench, I don't remember which object...
        Since I changed the meaning of the FIRE_PROOF bitflag to actually mean fire immune, I'm buffing the slime extract that you apply on items to make them fire proof. well now they're really 100% fire proof!
        animals with environment_smash = 1 no longer one-hit destroy tables and stuff, we give them a decent obj_damage value so they can destroy most obj relatively fast depending on the animal.
        Probably a million things I forgot.

If you want to know how the damage system works all you need is the three obj vars "obj_integrity", "max_integrity", "integrity_failure", as well as the armor list var and the resistance_flags bitfield, and read the file obj_defense.dm
2016-10-10 11:14:59 +13:00
Joan Lung bdcb16113a Adds a few turf istype helpers (#20754)
* a very calming act
when the world is too much, too fast

* i'm tired
but i have to be efficient, infinite

* lick your lips at the sight of me
a fantasy made reality
2016-10-01 19:25:46 +02:00
Akke 011ff9c07f 5 commits later 2016-09-28 02:16:53 +01:00
Akke 520fa0c02d adds in nanites in a less ridiculous form 2016-09-28 01:56:22 +01:00
Akke 4fb739bc7c changes tricord from 15u to 20u 2016-09-27 23:11:44 +01:00
Akke 0d76c2812d Makes the survival medipen an actual SURVIVAL medipen 2016-09-27 22:34:52 +01:00
Hamzah 9496e1631a Limb grower (#20501)
Added a Experimental Limb Grower to the medbay department, now medical stuff can grow synthetic limbs using Synthflesh to help crew that suffer any work related accidents.
2016-09-20 14:53:43 +12:00
Remie Richards 00738bd2a3 More than 2 hands!? WHAAAAAAT 2016-09-02 16:10:16 +01:00
Core0verload c0746aec8d Sterilizine now reduces surgery step failure prob (#19337)
* surgery refactor

* Sterilizine now reduces surgery step failure prob

* Adds steriliizne sprayer to medical vendors
2016-07-18 09:21:48 +12:00