* Added Curse of Madness to Summon Event pool
🆑 coiax
add: Curse of Madness can now be triggered by a wizard's Summon Events,
at the same chance as Summon Guns or Summon Magic.
admin: When an admin triggers Curse of Madness manually, they can
specify their own dark truth to horrify the station with.
/🆑
Random Curse of Madness events pick a line from the redpill.json file,
which I've added some more entries to.
* REDPILL_FILE
cl
add: Added a new antagonist, the Creep!
add: Chosen from a random event, the Creep will become obsessed with one person, feeling amazing around them and terrible when they aren't. They will have objectives to steal heirlooms, take pictures, hug, and kill coworkers. They also have to kill the obsession but some objectives can only be completed while the obsession is alive, requiring you to protect the obsession!
/cl
There really is no reason to betray people, generally. Maybe some stuff with security and traitors working things out, but a traitor based around betrayal and the general insane creep idea is just cool.
One Creep can show up, and they get objectives to mess with their obsession leading to the obsession's death. Here is their objectives:
A random creepy objective. It could be taking a photo with them in it, hugging them, etc
After your are done with your objectives, kill them. you can't complete the objectives when they are dead!
Creeps do not get the determination mood. Instead, when they are around their obsession, they feel AMAZING! If they are around too long, they will stutter, cough, and generally spaghetti out when talking near their obsession. So if you are going to talk near them, do it when you aren't entranced.
🆑 coiax
fix: The Spontaneous Brain Trauma event now has a range of possible severities,
and no longer runtimes.
/🆑
In addition, I changed the description/names of some pills to make them more
accurate, and added some neurine pills, because I needed them for testing.
With thanks to @oranges for spotting the runtime in the first place.
🆑 coiax
tweak: The Shuffle Race wizard event no longer changes people's names.
/🆑
We've got Change Names and Change Faces for this, sometimes you just wanna stab
a button and make everyone DIFFERENT, but not DIFFERENT PEOPLE.
* Christmas code changes
🆑 coiax
add: Santa can now examine presents to see what's inside.
del: Santa no longer has a mass summon presents spell, because of his
new regenerating bag!
add: Santa's bag regenerates presents as long as Santa is holding it.
balance: You can only find one gift under a christmas tree per round, no
matter how many trees you search.
balance: Santa's teleport does not announce where he's going.
fix: Fixed Santa not having a full head and beard of white hair.
fix: Fixed Santa not being genetically white-haired.
fix: Fixed Concentrated Barber's Aid not growing extreme amounts of
hair.
/🆑
The `box` var has been moved down from `/datum/outfit/job` to
`/datum/outfit`.
Added unlimited christmas tree with presents, for testing.
Santa's restriction against opening presents is now done by
TRAIT_CANNOT_OPEN_PRESENTS. Santa's ability to see inside presents is
done by the TRAIT_PRESENT_VISION, which also determines if Santa's Bag
will regenerate presents every 30 to 60 seconds.
Santa no longer starts with a breath mask and O2 tank, but instead has
an internals box. Santa no longer has a no-access gold ID, he can
teleport from room to room!
Gifts determine what type is inside them on initialization, rather than
when unwrapped.
- Reasoning -
Unlike last year, there are various possible methods of accessing
christmas trees spawners, allowing for an unlimited number of anything
presents. Cutting down the presents to one per round regardless of tree
count will avoid this.
Santa should be able to see what he's giving, because then he can reward
the naughty and nice children with different gifts.
* Missed a merge
* Adds present investigate logs, and visible messages
* Use the body+mind checking of mob.has_trait
* Less globals, more static vars on types; also event renaming
GENETICS
The random hexadecimal rng game has been replaced with gene sequencing from goon.
Adds mutation activators and mutators
You can now store mutations
Everyone now has their own set of unique mutations
Limited mutations per person to 8 (including one always being monkey)
Adds race specific mutations (See fire breathing for lizads)
You can inspect discovered mutations, undiscovered mutations use an alias to recognize them by
Adds a sequence analyzer. Can be used to scan someones genes sequence. Useful for determing what mutations they can safely have and or collecting data for very difficult sequences
Adds mutation combining. It's currently only RADIOACTIVE + STRONG = HULK (So yes you will now need 2 mutations for to get hulk)
Adds several other mutations. Telepathy, firebreath, glowy, radioactive and strength
cl Time-Green
add: Goon genetics!
add: More mutations! Fire breath for lizards! Radioactive! Telepathy! Glowy! Strength, though its cosmetic and should be combined with radioactivity instead! Fiery sweat!
add: Adds void magnet mutation by @tralezab !
/cl
* Nuclear operatives have a christmas tree during the festive season
🆑 coiax
add: Nuclear operatives have a Christmas tree during the festive season.
/🆑
Minor buff to nuke ops during the Christmas period when trees have presents,
as they'll have access to random items just like the crew.
* Adds a second lightbulb to the bathroom
* Christmas tree SPAWNERS rather than LANDMARKS
cl coiax
add: Adds the Spontaneous Brain Trauma to the event pool. Sometimes your brain just goes a little wrong.
/cl
Brain traumas are !fun!, and even more !fun! than your appendix getting inflamed.
Alien infestations are not limited to once per round only, but will never
happen while existing aliens are alive.
Essentially, it's really disheartening when a larva is spawned, and it dies
quickly because the player makes a mistake or is unlucky. So, aliens MAY happen
again, but it's still a weight 5 event, so don't get your hopes up.
cl XDTM
add: Spraying holy water on tiles will now prevent cult-based teleportation from using them as a destination point.
tweak: Quantum, wormhole and magic teleportation is no longer disrupted by bags of holding.
/cl
Refactors some teleportation code so it uses do_teleport instead of directly forceMove.
do_teleport now has a channel argument, to specify the type of teleportation used. This will affect what can and cannot interfere with teleportation. For example, BoHs interfere with bluespace teleportation but not wormhole, quantum or magic teleportation.
do_teleport now sends a COMSIG_ATOM_INTERCEPT_TELEPORT signal, allowing the target turf (or anything placing a signal on said turf) to react appropriately. As a proof of concept, blessed tiles use it to prevent teleportation from the cult channel.
Intercepting teleportation can have interesting potential uses, from teleport denial fields, to teleport scramblers (teleports you somewhere else instead), telefraggers that gib anyone unlucky enough to teleport in their area of effect, teleport anchors that shunt all teleportations in a wide area to themselves, and so on.
Fixes#41506
@kriskog fixes this
cl MrDoomBringer
fix: Ghost Announcements work a little bit better now. Space dust won't be announced, and general wording has been improved.
/cl
Fixes#41217
cl MrDoomBringer
fix: Events now announce follow-able atoms to ghosts much more reliably
/cl
Implements @ShizCalev's suggestion to just have the event ghost-announce normally, then call a separate ghost announcement for the "atom of interest" as it is created.
Also improves the code for anomalies a bit
cl MrDoomBringer
tweak: Random Events now have a follow link for ghosts!
/cl
Untested, and anomalies are broken right now but that takes like 2 seconds to fix
The issue was that when casting rod form, the wizard is forceMoved() into the
rod. When an epicenter explosion happens, explosion.dm forcibly goes through
the contents of EVERYTHING, and calls ex_act().
This caused the wizard in the contents of the rod to get damaged by epicenter
explosions (ie if they hit a fuel tank in rod form)
cl XDTM
add: Added credit holochips, a form of semi-physical currency to use in transactions. They can be generated by id cards by drawing from bank accounts and can be used to make payments.
add: There is no limit to the amount of credits that can be stored on a holochip, but being holograms they are vulnerable to electromagnetic pulses, and may disappear if exposed to one!
add: Holochips can be split with alt-click, and can be merged by clicking on another holochip.
/cl
Inserting physical cash into ids and printing it on the go is really jarring, and since we're on a sci-fi universe i think that hard-light hologram chips with encrypted credits sounds more believable.
As a plus, they don't have to deal with messy stack calculations with different denominations, and simply have a credits var that holds their amount. They change color based on the amount of cash for easy recognizability.
This is a shuttle loan event where CentCom asks you to defuse an active
syndicate bomb.
The good part? It pays a lot of dosh.
The bad part? You have a real chance of dying, blowing up the supply shuttle
and tearing a big fukken hole into cargo bay.
Maybe cargo techs will step back for a second and think "is the money really
worth that risk"?
Anywho, I blacklisted syndie bombs from cargo exports (so people can't just
send it back to CentCom) and also moved shuttle loan related items into
shuttle_loan.dm.
* Refactor several log lines to use datum_info_line and atom_loc_line
* Add default return strings from datum_info_line and atom_loc_line
* Add parentheses around atom_loc_line data
* Change more logs to use atom_loc_line
* Add check in atom_loc_line for turfs to avoid calling get_turf on them
* Re-add removed 'at'
* Replace datum_info_line with key_name and atom_loc_line with loc_name
* Refactor logging functions
* Avoid double-logging self-interactions
* Fallback to simple stringification if all else fails in key_name()
* Rewrite muscle spasm logging to use log_message
* Standardize logging of martial arts
* Tweak individual logging panel look
* Fix individual logging panel source
* When I typed || I really meant &&
* Fix Telecomms logging always showing client logs in the panel
* Reverts addition of buggy ownership log to panel
* Remove colon
* Fix missing log_directed_talk tag
* Add warning for missing type in log_direted_talk
* Change warnings to stack_traces
* Add square brackets around fallthrough key_name() case to help parsing
* Allow atom arguments/src in log_*() functions
* Change log_combat call with null argument to log_message
* Change mecha types' log_message() arguments to match atom and mob version
* Add key_name() case for atoms
* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it
* Fix log_globally logic
* Add logging for hitting objects with items
* Move log_combat() to atoms.dm
* Use utility functions for object stringification in log_combat()
* Use utility functions for object stringification in log_combat()
* Add missing logs for interacting with display cases
* Rewrite log_combat() comment
* Add missing space in log_combat()
* Add logging for hitting grilles barehanded
* Add missing ..()
Now that shuttles are all loaded via template we no longer have a need for the
timid var on shuttles.
Well not all shuttles, it seems I forgot to template the backup shuttle so it
wouldn't have been working until now. This got fixed here as well.