Commit Graph

189 Commits

Author SHA1 Message Date
oranges
4826d1e5d9 Growns no longer cause a runtime in components code (#45213)
This was using the wrong inventory proc, trying to remove the grown 
from the user before it was ever in them, meaning the grown trash item 
had the wrong loc and causing a runtime.

I also took the opportunity to autodoc.
2019-07-17 18:06:02 -07:00
vuonojenmustaturska
8ddc9677c7 examine-code refactor (#44636)
* 1/4 done? maybe?

* more

* stuff

* incremental stuff

* stuff

* stuff & things

* mostly done but not yet

* stuffing

* stuffing 2: electric boogaloo

* Git Commit and the Kingdom of the Crystal Skull

* make it actually compile

* found more stuff

* fixes

* fix AI laws appearing out of order

* fix windows

* should be the remaining stuff

* this time for real

* i guess it should compile too

* fix sechuds
2019-06-19 22:07:57 +02:00
nemvar
5917316550 Fixes lavaland flora. (#44558)
* welp

* h

* fixes lavaland flora
2019-06-18 21:19:52 +02:00
vuonojenmustaturska
6a106bc877 Remove reagent ids and use typepaths where applicable (#44166)
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
2019-05-31 21:57:26 +12:00
4dplanner
b872c9798e Fix squashing (#42135)
Squashed plants now react on the turf they are squashed.

Currently they react on the turf before if they hit a person because they don't
move through the dense object.
2018-12-31 16:04:52 -08:00
ShizCalev
e7cc2074c6 Fixes missing decal icons, repaths food cleanables to cleanable/food (#41573) 2018-11-28 23:12:35 -05:00
4dplanner
c84a92f4ce Passes thrownthing to hitby (#41411)
* Passes thrownthing to hitby

* Items now also pass thrownthing

* No longer uses default arguments

Also fixes bananium shield

* Adds more arguments to hitby calls

* Standardises throw_impact

* Clears up some loose ends

* Adds back wacky comment

* Reinstates can_push=FALSE on bananium shield
2018-11-15 10:25:04 +01:00
Fel
f822d418f1 Fermentation Barrels (#38977)
* Adds fermentation barrels.
2018-07-12 00:55:40 +03:00
Fox McCloud
057aa31cda Kills off /obj/item/device (#37297)
* Kills off /obj/item/device

* whoops

* whoops

* Fix
2018-04-23 15:00:23 +02:00
vuonojenmustaturska
9873464003 It started in a tavern on the edge of Macke town (#37362) 2018-04-23 14:34:58 +02:00
Jack Edge
ae03860b8c Apples now taste like apples
🆑 coiax
add: Centcom now reports that thanks to extensive bioengineering, apples
and oranges now taste of apples and oranges, rather than nothing as they
did before.
/🆑

Basically, my hack to give hydroponic grown things flavour when I
finished my taste PR never worked, and since I've started being a chef
of recent, this has been bugging me.

I think I changed some descriptions of some foods a bit.
2018-02-12 22:55:26 +00:00
arsserpentarium
95b9e19cd9 [READY]Circuitry upgrades (#33579)
* heater,xenobio scan,smoker fix,kill vines,pathfinder

* 1.drag component
2.damage for bot and machines(?)
3.EPv2 scaner(takes ref to thing.returns adress of epv2 adress if there is one)
4.fix work of arithmetic pins

* Update input.dm

* fix, scaner

* grinder,juicer,smokefix, runtime fix

* lag

* Update game_options.txt

* Update reagents.dm

* Update assemblies.dm

* Update grown.dm

* Update grown.dm

* 111

* Delete electronic_components.dmi

* 222

* merge

* Update reagents.dm

* Update assemblies.dm

* concat unfuck

* concat unfuck 2

* reagents

* fixes

* fix2

* hooks

* math

* 111

* sense

* leave it for now.

* fix

* fix(2)

* requested

* okay

* uhhh

* sorry

* kevinz's smoker nerf is enought

* hooks2

* fix for reagents push ref.
2017-12-23 22:55:37 -05:00
Emmett Gaines
25080ff2c4 defines math (#33498) 2017-12-17 11:02:11 -05:00
Ashe Higgs
d447acdc6e All-In-One grinder results are now defined by type, not by huge lists (#33181)
I had some time free, and noticed how awful the reagent grinder code was - it used huge static lists containing types and their associated reagents from grinding.

This is now split into two new vars on /obj/item - var/list/grind_results and var/list/juice_results, as well as two new helper procs, on_grind() and on_juice() to allow those to change based on conditions like plant potency. Such checks and the like have been moved to that. If any of these procs return -1, the operation is canceled.

I also fixed some of the recipes that didn't work. The reagent IDs for them didn't exist, leading me to believe that they weren't tested. I corrected that! (I've tested every single recipe in this PR, with the exception of a few juicing-related ones.)
2017-12-15 10:48:25 +13: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
45d7acea2f fuck me for forgetting to graph this one 2017-11-23 00:28:20 -05:00
ninjanomnom
2817a1737b defines math 2017-11-22 17:36:58 -05:00
kevinz000
caa1e1f400 Massive research refactor; changes research system to techwebs; Decentralized research 2017-11-18 19:55:40 -08:00
Jordan Brown
270504c569 newloc -> mapload 2017-10-01 09:47:32 -04:00
Jordan Brown
328ada6d2b Removes stray space 2017-10-01 09:46:58 -04:00
AnturK
6a0b84f772 This too 2017-10-01 13:26:38 +02:00
AnturK
ee49ba470c Fixes grown runtime spam 2017-10-01 13:25:09 +02:00
Jordan Brown
af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
4dplanner
bd9b242575 Plants now react with turfs on squash() (#26752) 2017-05-01 16:34:29 -06: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
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
PJB3005
a63608d023 Merge remote-tracking branch 'upstream/master' into rebase-to-vg 2017-03-03 16:31:00 +01:00
ExcessiveUseOfCobblestone
dcaeccf2b3 Fixes Gatfruit (#24469)
* Oh Cyberboss

* Update grown.dm
2017-02-28 18:04:12 +13:00
coiax
05026eee88 Taste (#24323)
* Adding taste to reagents

* Toxins mostly taste bitter.

* The taste of medicine is mostly bitterness

* Drugs taste bitter too

* It turns out pyrotechnics mostly taste like burning

* Alcohol and blob tastes

* Drinks taste mostly of drinks

* And the food reagents are the last, but not least

* Actual taste code

* You can now taste freshly spawned carrot cake

* Bread, burgers

* Debugging tasting

* Always add the reagents properly, I guess

* Finally got nutriment scaling working

* Finally got all the stuff working and mixing

* PEOPLE CAN NOW TASTE THINGS

* Mouthful only has one L

* Meat n dough

* Eggs and cakes

* Meat dishes taste of meat

* Others...

* Pastry... there is no end to the food

* PIE AND PIZZA

* SANWHICHES, SALAD, SOUP

* THE LAST OF THE FOODS ARE COMPLETE

* Weird indentation issues fixed

* Remove dat debug code

* Hydroponics and sugar is less strong

* Replaces carrot cake reagents

* Code review

* Fixes bad flavours
2017-02-23 00:59:34 -06:00
PJB3005
8ce6ae2b87 Merge remote-tracking branch 'upstream/master' into rebase-to-vg 2017-02-08 14:30:23 +01:00
oranges
ea7e81deb5 Merge pull request #23453 from Fox-McCloud/plant-analyzer
Plant Analyzer Info Tweak
2017-01-31 09:30:06 +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
Fox-McCloud
effa9cc55e Plant Analyzer Info Tweak 2017-01-29 03:29:55 -05:00
PJB3005
7356e80484 hey that should be everything except making it compile. 2017-01-17 22:08:27 +01:00
Fox McCloud
be94e4f76a Converts Hydroponics oneharvest var and Potato's Battery Quality into Plant Genes (#21983)
* Converts Hydroponics oneharvest var into a Plant Gene

* plant batteries

* plant types

* stinging
2016-12-08 12:43:23 +13:00
MrPerson
1ac2fcb5ea Snack trash generation rework
Quick and ugly but it's OO so fuck you.
\>typecasting src
smh

Fixes #21583
2016-11-27 22:01:00 -08: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
phil235
2d2975f783 Some preliminary changes before the damage refactor PR. The changes here do absolutely nothing gamewise.
This just adds some vars that the refactor will use. Putting this in a separate PR prevent the damage refactor PR from becoming too big (number of files changed) and hard to read and review.

Introduces the resistance_flags bitflag that replaces unacidable and burn_state.
Moves the armor var from item to /obj level and gives specific armor values to many objects, the armor list also gets two new armor types: fire and acid, which will be used in the refactor. the new fire and acid armor values are given to plenty of items.
2016-09-27 22:33:08 +02:00
Jordie
4c8f8ae53e Merge pull request #18154 from PKPenguin321/plant-analyzer-repath
Repaths plant analyzers
2016-06-03 16:41:02 +10:00
PKPenguin321
cf71a5833f repaths plant analyzers
so they are no longer children of regular analyzers
2016-06-01 22:44:03 -07:00
LatD
fe76e64641 Origin tech changes and some fixes 2016-05-17 20:57:01 +03:00
c0
8a31634cab Nerfs botany slippery-everything 2016-04-27 06:34:11 +03:00
phil235
0d7adf841b add_juice() can also runtime if seed is null. 2016-04-12 03:59:39 +02:00
phil235
d03a5c9343 Simplifies the build_recipe_text() proc used by tablecrafting to not create and delete an object just to get its name (replaced by the "initial()" trick).
Adds some if(seed) checks to growns code to prevent runtimes for seedless growns.
2016-04-12 03:51:45 +02:00
c0
e4f2d0c064 Bioengineering Part 1 2016-03-13 13:20:26 +03:00
c0
6b7774a1de fixes 2016-03-11 09:52:20 +03:00
c0
240fd5bc05 Plant Refactor: Genesis 2016-03-09 09:29:37 +03:00
c0
08bdcc3024 Plant Refactor 4 2016-03-07 12:46:12 +03:00
c0
3d0792c003 Plant Refactor: Icons 2016-03-07 05:38:45 +03:00
c0
a690abcf92 Plant Refactor: Seeds 2016-03-04 02:35:51 +03:00