* Yes, all of them.
* Also did a few corrections to redundant New() and broken Destroy() along the way
* Renamed the turf_initializer.initialize() proc to InitializeTurf to avoid confusion.
* Subsumed /area/proc/initialize into /atom/proc/initialize() - Made /area's LateInitialize to get same behavior as before.
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.
Also fixes various bugs with surface tiles, hopefully.
Adds some documentation to the map file system.
Adds a new 'plane' map, ideal for testing PoIs by loading them manually.
Makes space heaters glow orange.
Adds a new grille type for fancy surface windows.
Adds self planting hydro trays/dirts if a seed is on top of them when the map is loaded.
* Fixes for nettles
Nettle plants can now spawn randomly from weeds - it was trying to spawn 'nettles', but the name of the plant is 'nettle', so it never spawned. Now it can.
You now hit people with food if you use it on harm intent. This is mostly so that you can use nettles as a weapon again, but hey, who wouldn't want to hit people over the head with a baguette.
Nettles and other stinging "fruits" can no longer be used to generate infinite chemicals by throwing them. Chemicals that the "fruits" inject are now properly removed when hitting a target.
* Fixes for nettles
Nettle plants can now spawn randomly from weeds - it was trying to spawn 'nettles', but the name of the plant is 'nettle', so it never spawned. Now it can.
You now hit people with food if you use it on harm intent. This is mostly so that you can use nettles as a weapon again, but hey, who wouldn't want to hit people over the head with a baguette.
Nettles and other stinging "fruits" can no longer be used to generate infinite chemicals by throwing them. Chemicals that the "fruits" inject are now properly removed when hitting a target.
Adds toolspeed var, which is a multiplier on how 'fast' the tool works. 0.5 means it goes twice as fast.
Adds usesound var, which determines what sound is used when a tool is being used.
Changes a lot of code to use those two vars instead.
Adds 'ayyy' tools, which are ported from /tg/'s abductor gamemode. They're currently admin only but I might make them obtainable by xenoarch later.
Adds powertools, also from /tg/. CE starts with them in a new toolbelt that spawns in their locker, ported from (you guessed it) /tg/.
Changes welder sprites to look nicer, ported yet again from /tg/. Modified the blue welder slightly so it can be the electric welder sprite.
Adds various sounds from /tg/, for tools and welders.
While I was rooting around in hydroponics code, I saw that a list was being regenerated with UI interaction, so I threw the list into the plant controller.
No proper sprites for the Floral Somatoray's new mode yet, but it uses the gun sprite from mutate mode, and the projectile sprite from yield mode.
A lot of new defines are now in inventory_sizes.dm, which contains;
All the size identifiers (the thing that tells the game if something is bulky, or w/e).
Storage costs for all the sizes, which are exponents of two, as previously.
A few constants for inventory size.
Also changes all storage item's capacity definitions by basing it off of how many 'normal slots' exist for it. This allows one to change the definition for all of the defines in the file, and everything will follow along without needing to change 500 files. In testing, I made all ITEMSIZE_COST_* defines doubled, and nothing had broke.
The benefit of doing all of this is that it makes adding new weight classes in the future much simpler, and makes knowing how much space a container has easier, as seeing ITEMSIZE_COST_NORMAL * 7 means it can hold seven normal items.
* Plants now use a ban list instead of an approved.
This means that most reagents can be synthesized by plants.
Also added a name generator for strange seeds, based off of a bit of
lipsum and a bit of various plant genus and descriptors.
# Conflicts:
# code/modules/hydroponics/seed.dm
* Removes # sign
Replaced some attack() overrides with apply_hit_effect() or other attack
procs where appropriate.
Removed the attack() override from reagent_containers.
Conflicts:
code/game/objects/items/weapons/clown_items.dm
code/game/objects/items/weapons/material/kitchen.dm
code/game/objects/items/weapons/stunbaton.dm
code/modules/mob/living/carbon/human/human_defense.dm
code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm
code/modules/mob/living/simple_animal/friendly/spiderbot.dm
code/modules/mob/living/simple_animal/simple_animal.dm
``/mob/dead/observer`` -> ``/mob/observer/dead``
``/mob/eye`` -> ``/mob/observer/eye``
Reason being that they are similar in that they both don't interact with
the world in any way. Some procs were shared, some checks as well, and
it overall makes more sense this way. Plus, there were no ``/mob/dead``
mobs.
Fixes a number of plants seemingly randomly having invisible plant
growth states.
- This was caused by overly-rounded math resulting in attempts to call
growth states that do not exist.
Replaced some attack() overrides with apply_hit_effect() or other attack
procs where appropriate.
Removed the attack() override from reagent_containers.