Incendiary Mithocondria now sets yourself on fire as intended instead of
doing nothing.
Cryokinesis now freezes you for a bit more than ten seconds and deals 20
damage instantly then around ten damage instead of the 30 seconds of
freeze and more than 40 damage over the duration it did before.
Conflicts:
code/game/dna/genes/goon_powers.dm
Tracking added for AI's and Observers
Instead of calling GetVoice() over and over for everyone that can hear you we're checking a variable that is updated with Life()
removed a bunch of my debug verbs.
Conflicts:
code/game/machinery/telecomms/broadcaster.dm
code/modules/mob/dead/observer/observer.dm
code/modules/mob/living/carbon/human/human_defines.dm
code/modules/mob/living/silicon/say.dm
Changes the AI private channel colour to magenta (#ff00ff), and changes
the marker from [144.7] to [AI Private].
Magenta is far enough from the Science channel (#993399) to be obvious,
but I'm open to alternative suggestions.
Conflicts:
code/stylesheet.dm
While browsing through my server's code looking for possible exploits to fix, i noticed the following :
The autolathe can be used to duplicate any and all objs.
The faulty code accepts any refID from the usr without a safetycheck to see if the requested obj is in the autolathe_recipes list.
This works "only" on objs because it will trigger a runtime error if the object has no material vars.
The default buildcost values for obj are zero, so it always goes through the materials-check, but it would not be sufficient to plug this exploit at this point.
The trivial fix is to have a check to see if the given refID is in the autolathe_recipes list, although a datum-based construction method would probably be more robust.
As basically identical autolathe code appears to be used in Baycode , /tg/, /vg/, Para, and all other builds i could look at, i assumed this exploit has been undetected since Goon.
And indeed, the faulty code is present in Gooncode rev4407 and has been ever since.
- Complete rewrite of the chemsmoke spawning code (everything that happens after the reaction to create the smoke).
- Moved it into it's own file since it's a little longer than the old one code-wise.
- Tweaked the smoke sprites; gave chemsmoke directions for more randomization, and tweaked the timing of their animations so they are smooth now.
Most of the code is documented, so you should be able to follow what's going on just reading through it. In short though:
- Chemsmoke now affects a circular area with a variable range depending on the total amount of chemsmoke created (no more 1-of-each-ingredient smoke grenades - sorry).
- The carried reagent volume in the cloud balances itself according to how big the affected area is (larger area, less carried reagent per turf).
- The carried reagent has more volume the closer you are to the centre of the cloud.
- The visual smoke effect scales with how big the affected area is.
Conflicts:
code/game/objects/effects/effect_system.dm
icons/effects/96x96.dmi
Blob will now eat items placed on it.
Blob does not produce light anymore (take that dionas)
Shield blobs now have same brute resist as normal blobs
Attempted to lower the CPU load of the "Pulse" proc.