Commit Graph

17904 Commits

Author SHA1 Message Date
Joan Lung
ce40d29ead Makes the pronoun helper proc names less horrifyingly long (#20780)
* why were these so LONG, what the fuck

* gosh

* pronoun agenda
the true agenda is killing coiax's squished lines
2016-10-10 12:28:25 +13:00
Cheridan
970f88c6b5 Merge pull request #20832 from X-TheDark/stock_fix_maybe
Possibly fixes exponentially increasing stock prices
2016-10-09 18:26:38 -05:00
Joan Lung
632a997586 Merge pull request #20809 from optimumtact/mob_living
Reorder mob living destroy
2016-10-09 19:06:01 -04:00
Cheridan
db5b96f78d Merge pull request #20863 from ChemicalRascal/master
Make compressor efficiency good, not bad
2016-10-09 17:57:05 -05:00
Joan Lung
a88eb76aec Remove an unused proc #20825 2016-10-10 11:47:14 +13:00
Joan Lung
9c93fb8b59 Removes the mob "memory" var (#20814)
* Removes the mob "memory" var

* MEMERY
2016-10-10 11:46:52 +13:00
Aranclanos
c5e35c5abb Fixed a runtime where bees would sting a mob without reagents (#20817) 2016-10-09 17:25:52 -05:00
oranges
16e23f2692 Merge pull request #20868 from lzimann/nonull
Hopefully fixes arm replacement not working
2016-10-10 11:25:33 +13:00
XDTM
ceedc96509 More Slime Reactions (#20779)
add: Using blood on an Oil Slime will create Corn Oil.
add: Using blood on Pyrite Slimes will create a random crayon.
add: Using water on Orange Slimes will create a small smoke cloud.
add: Using water on Blue Slimes will spawn foam.
2016-10-10 11:22:41 +13:00
oranges
90f364a6c7 More checks after sleep in lavaland chasm code (#20811) 2016-10-09 17:22:15 -05:00
oranges
1bfdc6360b Make sure ian doesn't spawn his puppies in nullspace (#20812) 2016-10-09 17:21:50 -05:00
PKPenguin321
bc4b4780a9 fixes a bug in monkey examining (#20858)
extra < would display in the message
2016-10-09 17:19:00 -05:00
oranges
9d8be7001a Merge pull request #20871 from MrStonedOne/patch-255
Fixes ip intel when grabbing from database cache.
2016-10-10 11:17:29 +13: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
Kyle Spier-Swenson
dacc59b6e0 Fixes ip intel when grabbing from database cache. 2016-10-08 17:13:58 -07:00
Lzimann
fd305f8a03 Fixes arm replacement not working 2016-10-08 19:44:32 -03:00
James Denholm
308db99837 Make compressor efficiency good, not bad
Previously, compressor rpm decayed as such: max(0, rpm - [(rpm^2*efficiency)/COMPFRICTION]), where COMPFRICTION is very large.

As such, an increase in efficiency increased the rate that compressor rpm decayed at, efficiency being between 1 and 4).

This commit changes that equation to max(0, rpm - [(rpm^2)/(COMPFRICTION*efficiency)]), ergo, an increase in efficiency decreases the rate of rpm decay, making it up to four times slower instead of four times faster.
2016-10-09 01:43:02 +11:00
WJohn
39659000f3 Further improves various sprites. (#20801)
* Updates sprites in bloodpack, bodybag, items, barsign, and basketball dmis. Moves basketball and dodgeball sprites to items, and resizes baskteball dmi for larger hoop.

* Fixes open bodybag zipper, forgot to add a file.
2016-10-05 21:53:25 +02:00
X-TheDark
59dbad43d7 Properly brackets the conditionals for if 2016-10-05 13:46:14 +03:00
Incoming5643
b675eda70f Properly sets hands to use held_index so the code knows they're hands. (#20790)
* Probably fixes #20457

* adds remie compatibility code with multiarms

* Nested setting of variable status: Still doesn't work.
2016-10-05 00:12:37 +02:00
oranges
c540c14f4c Reorder mob living destroy
We want to do all custom cleanup before parent call so we are not
operating in nullspace when we unbuckle and do other bits and bobs (as
that code does not expect this)
2016-10-03 22:15:15 +00:00
Jordie
fe68e6f97e fixes intent procs (#20803) 2016-10-03 13:05:57 +02:00
Cheridan
070477d650 Merge pull request #20787 from Militaires/okayitworksnow
GIANT INTENT REFACTOR (separates it into 4 different harm, help, disarm and grab procs)
2016-10-02 23:54:09 -05:00
Joan Lung
b5b4037e2e More istypes replaced with helpers (#20767)
* shouldn't you be merging these by now

* my oh my do we have a lot of these

* a fellow pedantic shit
2016-10-03 13:40:13 +13:00
Shadowlight213
de19e36a51 Removes morphine from nurse spiders (#20773)
Fixes spider web, cocoon, spiderling sprites
Halves cocoon breakout time, fixes camera going to nullspace
2016-10-03 13:35:56 +13:00
XDTM
f501d9e1cd Stable mutation toxins (#20677)
Recipes:

Add these to unstable mutation toxin. These were all obtainable already.

    Human: blood
    Lizard: radium
    Flyperson: mutagen
    Golem: silver
    Podperson: EZ nutrient
    Jelly: slime jelly
    Abductor: morphine (doesn't make much sense but it's all i could think of)
    Android: teslium

These need ADVANCED mutation toxin (from black slimes) instead of unstable.

    Skeleton: milk
    Zombie: toxin
    Ash Lizard: advanced mut. toxin + lizard mut. toxin + ash
    Shadow: liquid dark matter (stabilized ofc) + holy water
    Plasmaman: skeleton mutation toxin + plasma + uranium (if you can shoot advanced mutation toxin into people they're dead already so this should not be too unbalanced, plus it's pretty expensive)

Also added a recipe for the mulligan toxin, with human mutation toxin + mutagen.
2016-10-03 13:24:23 +13:00
XDTM
28fd0b0f55 Races with NOHUNGER won't vomit (#20711)
* NOHUNGER means no vomit

* Whoops

* Double whoops

* fixed

* That is easier actually

* Missed a tab

* Make it right
2016-10-02 14:15:19 +02:00
AnturK
678759f6d4 Fixes minor stat runtime (#20753) 2016-10-02 00:08:47 -05:00
militaires
05cd2245eb holladolla bill 2016-10-02 05:53:09 +03: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
Joan Lung
dff4db726a Replaces a bunch of istypes with their proper macros (#20739)
* Replaces a bunch of istypes with their proper macros

* i'm not sure doing a 100+ file changed pr on a whim is something you do when bored
especially if you do it by hand because you never actually learned the regex that would let you automate it

* i'm just... gonna do this, because that check was true a lot and it shouldn't matter
2016-09-30 20:21:08 +02:00
Incoming5643
00d0524278 Line ending memes nearly doomed us 2016-09-30 13:39:24 -04:00
Incoming
5eacff1038 Merge branch 'master' of https://github.com/tgstation/-tg-station into hold_it
# Conflicts:
#	code/modules/clothing/under/ties.dm
2016-09-30 13:00:49 -04:00
Cheridan
e43b06f750 Merge pull request #20591 from ChangelingRain/proofofconceptantagdatum
"Working Datum Antagonists"
2016-09-29 13:33:59 -05:00
Cheridan
9b0ead55aa Merge pull request #20740 from optimumtact/proximityfixes
Make sure some proximity system items clean up when destroyed
2016-09-29 13:27:39 -05:00
Cheridan
1b81f13ad2 Merge pull request #20652 from ChangelingRain/flashthyself
EMPing a flash will now only flash the person holding it
2016-09-29 12:55:12 -05:00
Cheridan
1e92582bdd Merge pull request #20698 from ChangelingRain/imtransandthisisapresenttoyall
Adds some pronoun helpers
2016-09-29 12:41:27 -05:00
Joan Lung
dafccd0f1a Merge pull request #20726 from phil235/PreliminaryDamageRefactor
Some preliminary changes before the damage refactor PR.
2016-09-29 10:07:51 -04:00
phil235
4c05d432a1 some fixes. 2016-09-29 15:58:19 +02:00
AnturK
b6e79d25a4 Merge pull request #20713 from ChangelingRain/joancrushesbadgrammar
Fixes the proto-kinetic crusher's attack verb tenses
2016-09-29 10:44:42 +02:00
phil235
194398cbbd Merge branch 'master' of https://github.com/tgstation/-tg-station into PreliminaryDamageRefactor
# Conflicts:
#	code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
#	code/game/objects/effects/portals.dm
2016-09-29 01:44:27 +02:00
Joan Lung
aaefef46b8 Merge pull request #20732 from optimumtact/justhrefthings
Fix multiple href exploits from incorrectly scoped locates
2016-09-28 19:00:44 -04:00
oranges
6ff0b13638 Make sure some proximity using items clean up when destroyed 2016-09-28 22:19:59 +00:00
Joan Lung
fde8904309 Merge pull request #20714 from phil235/EffectToStructure
Changes a few children of obj/effect to be children of obj/structure.
2016-09-28 18:12:52 -04:00
NikNakFlak
105c88ea43 powercreeps the powercrepe (#20687)
It wasn't worth sacrificing the sabre for the crepe, and now it is. You sacrifice dismemberment chance for higher force and not having a sprite. Makes it more like the sabre from which it came.

Slather it up!
2016-09-29 10:07:47 +13:00
Incoming
29830a9224 Sprite and Code tweaks 2016-09-28 11:21:02 -04:00
oranges
8b7eb11df9 Fix multiple href exploits from incorrectly scoped locates
Also adds a helper to flatten a keyed list to it's contents as it
turns out that byond cannot locate in a keyed list
2016-09-28 06:55:45 +00:00
Incoming
e47daebe29 removes the process() requirement.
I wonder if remie calls me out on this stuff more than most people because she knows I'll actually fix it.
2016-09-28 02:16:41 -04:00
Incoming
4a56709cc8 finishes the job (thanks WJ) 2016-09-27 22:04:46 -04:00
Akke
011ff9c07f 5 commits later 2016-09-28 02:16:53 +01:00