Alright, so the root of the issue was how the vampire gamemode tracks
the owner of vampire stuff. This can be seen in line 197 of vampire.dm
that it tracks a body much like the mind datum does. However, before my
fix, this 'owner' fell out of date when a vampire got cloned. While the
vampire would get cloned, this owner variable would still refer to their
old body, and so stuff would break.
Now, it gets updated with the current body when the vampire gets cloned,
thus resolving the issue.
Refactored most instances of special_role setting/checking to use new
SPECIAL_ROLE_X defines in code/__DEFINES/gamemode.dm
Removed relative pathing from objective.dm and split large if statements
into multiple, plus a bunch of styling fixes
Refactored every instance of `istype(ticker.mode` into a GAMEMODE_IS_X
define in code/__DEFINES/gamemode.dm. Done primarily for when someone gets
around to making gamemode code less AWFUL
* bicon regex run
* Remove all \black
* Goonchat from /vg/ / Goon
Whoo!
Special thanks to @Tastyfish for the macro2html thing so all of our
horrible color macros keep working and don't fail horribly <3
* Fixes and changes n stuff
- Made ping sane again (the fuck PJ)
- Updated chat CSS
- Fixed like one problem with a color macro
* whoops
* Restore /vg/'s pingloop stuff (used to avoid fucking up is_afk)
* Strip problematic tags from tcomm scripts
- <audio>
- <video>
- <iframe>
- <script>
* Fix human examine icon
* Name hotkey elements
* Removed old stylesheet
- Added 4 new HUD styles
- Humans recreate their hud if they change their UI pref mid-game
- Refactored how objects are added to the client screen
- HUD's are now handled by subtype and mob/proc/create_mob_hud()
- HUD visibility is no longer chained directly to the F12 button, it's a proc on HUD datums now
- Mobs only create/destroy their HUD when necessary, not every Login()
- Destroyed aim-mode, it didn't work and I couldn't make it work.
- Renamed all of the screen1_x.dmi files to screen_x.dmi
- Removed screen1.dmi, screen_gen.dmi now handles generic icons.
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
Wee! Readds Disease1, kills off disease2, and finally removes poop.dmi
(fucking piece of shit)
Needs WAY more testing, most of which I don't know how to do yet, because
I've never used this system. Fun!
Changes:
- Virus2 has been removed completely.
- Some symptoms have not been readded. Aka, none of them have been
readded, I just wanted to get this shit ported.
- Virology has been updated slightly to mirror -tg-'s boxstation, as the
virus2 machines are gone.
- Welcome back, disease1
- The centrifuge, vials, splicer, analyzer, growerthing, have all been
replaced by the PanD.E.M.I.C. 2220
- No symptoms have been completely removed; However, vision symptoms
have been disabled pending byond 510, and genetics symptoms have been
disabled until "when I figure out how to fix them".
- Advanced Mutation Toxin now uses a disease, which turns people from
species, to slime person, to slime. Slime people are instantly turned
to a slime.
- Diseased touch now give people appendicitis. Yes, they VANT YOUR...
appendix.
- Virology now has a fridge with the following in it:
- Antiviral Syringes
- 1 Rhinovirus culture
- 1 Flu culture
- 1 Bottle of Mutagen
- 1 Bottle of Plasma
- 1 Bottle of Synaptizine
- A few more things, which I can't remember and can't look at while writing
this commit. Sometimes, git hurts.
TODO:
- Test more shit and figure out how the PanD.E.M.I.C. works/is supposed to
work.
- Fix genetics symptoms.
- Give vampires a less shitty diseased touch.
- Add appendicitis event.
-