* Virus antagonist initial commit
* Updated disease code
* Sentient virus improvements
* Renamed /mob/living/var/viruses to diseases, and /mob/living/var/resistances to disease_resistances
* Added sentient virus event
* Renamed VIRUS defines to DISEASE defines
* Fixed bugs in rewritten disease code
* Fixed advanced disease Copy()
* Finalized disease antagonist
* Made cooldown buttons stop processing if they are removed from an owner.
Made sentient disease active sneeze and cough not available if the host is unconscious.
Made sentient disease menu refresh when adaptations are ready or hosts are added or removed.
Made sentient disease following use movement signals instead of fastprocess.
* Added better icons to sentient disease abilities
The Odysseus's medical HUD and the RD hardsuit's diagnostic HUD no
longer conflict with wearing those HUDs as glasses.
HUDs from glasses are no longer removed inappropriately by taking off a
flightsuit's helmet.
A dead-simple traitor variant.
It's like traitor, except instead of an uplink you get a buddy: your blood brother. You must team up with your brother to complete your objectives. It runs along side regular traitor mode, thus the name "traitorbro".
* 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
* Mob Initialization
* new_player Repath
* Fix the dme
* Fix the shit
* Fix a loc
* Fix another loc
* But, in my haste, I forgot the cola!
* Another loc
* ANOTHER LOC
* Further docs
* Where'd that s come from
* Fix shit
* Better
* Re-making the branch and PR of demon. See #15118 for the old PR
* Adds toy demonologist to arcade machine reward list.
* Implemented two suggestions: Pitchfork now has a demonic subtype, to potentially give botanists a normal pitchfork.
Suiciding with signed contract now uses forcesay instead of say.
* Fixes compile errors.
Re factors contracts to be subtypes rather than datums. <--- incomplete, still need to summon them appropriately.
* buffed infernal power contract to give passive healing
Nerfed magic power contract to not give robeless MM
* Fixes compile errors
* Corrects orientation of true demon sprite
* Begins work on the sNPC for the true demon/ arch-demon
* Added funeral garment sprites. These will be used in banishment rituals (hopefully)
* Stashing my work so I can move to another computer.
Re-working the true-demon, it will be a carbon rather than a simple mob.
* Revert "Stashing my work so I can move to another computer."
This reverts commit e8b1e032997b7e17af4ad8630bf21d3620195c4e.
* Git exploded for me, so I have to make a new branch with EVERYTHING. sorry.
* Fixes compile error
* Ghosts can now click on an arch demon to become a slaughter demon
* Begins to convert demons into a carbon rather than simple mob.
* Demons now resurrect if not banished.
* Beepsky now properly tells security chat about the level 666 threat.
* Contracts now work again.
* old spells now get removed properly.
* adding pitchfork sprites
* Adds hud for the true-demon. Not functional.
* Fixes another error in the demon hud. Still broken.
* Demons are no longer immortal, demon huds work properly now. (it's barebones, but it works.)
* Fixes the "Have mortals sign at least # contracts of TYPE" objective
* Fixed typo in banishlore() and updated wrath/envy sintouch objectives.
* Adds huds for demons/sintouched/soulless, however they are currently unused.
* Updates the demon's hud to work with the recent hud changes.
* Cleaned up infernal jaunt, it works a lot better now and is less buggy.
* Revival contracts now actually take your soul.
* Fixes#16513
* Replaces the infinite slaughter demons with infinite imps. Sprites for imps are still needed.
* Adds sprite for imps. It's a redder, smaller slaughter demon.
* Fixes lack of icon for pitchforks
* Gives summon wealth a more appropriate icon.
* Fixes small part I forgot to merge.
* Fixes a few bugs with demonic resurrection. It's still very buggy.
* Derp, my bad, I didn't mean to admin myself on the main server.
* Fixes edge case of demonic resurrection failing. Debraining the demon is NOT supposed to be an alternative for the banishment ritual.
* Also did not mean to change this config file.
* Fixes another error in type 1 demonic resurrection. It works properly now.
* Updates employment contract text.
* Fixes type 2 resurrections.
Demonic contracts are once again permanently on fire.
* Replaces toy demonologist with toy demonomicon. It still works the same, just different icon/name.
* Adds demonomicon and employment cabinet to box/meta/dream/efficiency.
I could not add it to mini/bird due to conflicts.
* Edits ministation and BirdStation to have demonomicons and employment cabinets.
* Fixes spelling error
* Adds burial garments to maps.
* Update photocopier.dm
Fixes the span when inserting items into photocopier
* Fixes disrupt_spells proc
* Makes a lot of changes as reccomended by Remie.
* Fixes a compile error.
* Updates the lawify/loreify to be lists. Does not compile.
* Fixes compile errors.
* Arch demons no longer regress upon death.
Speaking a demon's truename gives the demon the opportunity to teleport to you.
Makes demonomicon not care about capitalization.
* Fixes startup error. Demonic summoning now works. It's very simple, just say their true name.
* Demons now have a tongue. True demon bodies are deleted upon regression.
* Demons can now be punched.
Demons can no longer resist a fire out, since it does nothing to them.
* true demons show up in player panel. Hellfire works again.
* Prepares for commit 16940
* Demons are now known as devils.
Still needs testing.
* Oops, didn't commit everything last commit.
* Finishes converting demons to devils.
* Fixes speech for lizards/flymen when they speak a demon's name.
* Update tips.txt
* Changes variable from static to global as per Remie's suggestion.
I disagree with Remie's assessment, as a list that will never change, even between games, seems like it should be static.
* Removes devil summoning. Hopefully, I'll be able to eventually find a way to implement it satisfactorily, but for now, I'll leave it out.
* Removes carriage returns
* Combined modified icon files
* Fixes#17184
* Imps no longer show up in the end round report. This is because there can EASILY be 100+ imps if the crew is well armed.
Non-employment filing cabinets no longer take 30 sec to wrench/unwrench.
* The lawyer can actually buy souls back now. Oops.
* Fixes true/arch devil spritesheet to have correct sprite names.
* Relocates Box's employment cabinet to Law office.
* De-devil-ing someone now removes the devilinfo.
De-devil-ing now returns an error when used on true and arch devils
* Re-factors whiteness code for jumpsuits.
* Merges icons, reverts failed merge of map
* Merges map with CAS decks
* Fixes copying employment contracts
* Derp, fixes compile error.
* Replaces antaghud with customizable vision range for knowledge boon.
* Prevents a runtime if devil is gibbed while ascending.
* Neatens contract code, and removes excess variable from humans.
* Fixes compile errors
* Organizes weakness code slightly. Adds ability for a species override on weakness. (Make flypeople take 2x damage from flyswatters for example)
* Removes sixteen erroneous characters from the codebase.
* Removes trailing return
* Makes typeless for loops, removes a runtime, and removes unhelpful comments.
- Data HUDs that apply only to humans (medical, security) are now
prepared only for humans, preventing errors.
- The RD's hardsuit helmet now deactivates its own HUD if a diagnostic
HUD item is worn.
- HUDs on newly spawned entities now update properly.
be_special and antag defines are no longer limited to 16 values (1 - 32768) by being changed from a bitfield to a list, an appropriate block of code exists to automatically update bitfield versions to the new list format. the list format allows us to have (functionally) infinite antag types.
The huds won't be activated when there's just one wizard, but when another magic user is brought in the huds will appear for both of them to allow for easy identification in the face of rampant mindswaps and/or identity shinanagans and/or getting turned into a cow by a staff of change.
The huds are on by default in ragin' mages.
Moves antag_hud image and datum to mind instead of mob.
Fixes mobs keeping data HUDs after transfer_to().
Fixes gibbed bodies losing their antag HUDs.
Fixes the data hud disappearing when dropping unrelated HUDs.
Fixes#6206Fixes#6209
Makes hud_list associative, and introduces the /atom list hud_possible,
which lists all the possible hud images a certain atom can provide.
Replaces all the awful procs in the gamemodes with their new
/datum/atom_hud versions, which are much shorter, simpler and faster.
Fixes#646, #579, #863
Completely redoes the click code. Moves all click related code into code/_onclick for reference. Also moves hud datum code and all the screen object code I could find into code/_onclick/hud, as it is related. Item attack(), attackby(), afterattack(), and attack_self() have been moved into item_attack.dm for consistency.
Completely removes dummy objects and adds atom.Adjacent(user). This proc checks for border items and anything marked with throwpass for determining whether or not you can reach a given square. A turf helper, ClickCross(), was added to facilitate this.
Removes the monolithic Atom.Click() proc in favor of an overridable click handler attached to mobs. Click code no longer uses the : path operator as a consequence, and mob/lastDblClick has been moved to Client/next_click. A few end arounds were necessary (screen objects, buildmode, and spells), but this has been handled by repurposing Atom.Click(); if you have special click code, insert it in the object's Click() function and return 1 to prevent normal processing.
This update adds support for attack_ghost(); the previous "new" click handler had support for it but was never finished. I have taken the liberty of letting ghosts click portals, the gateway, and the teleporter to jump to the intended target square, and kept the previous default action of examine()ing every damn thing you click. It is to be suggested that you could do more with this proc when ghost interactions are enabled.
This update also adds support for double clicking. It is currently only used for ghosts and AIs, because the original (first) click still registers normally. For both of these, double clicking a square will jump you to it, and double clicking a mob will follow it. In the case of ghosts, double clicking bots and the singularity will also set you following it; if you double click your own corpse, you will re-enter it; this also works if your body is in a closet, sleeper, DNA scanner, etc. Default mobs ignore double clicks as normal.
-- NOTE --
There are two flags which were previously unused or misused by click code: USEDELAY and NODELAY. Ostensibly, USEDELAY would double the normal 1sec delay, and NODELAY would remove it.
Using either of these flags as intended would significantly affect the timing of the game. In particular, USEDELAY is currently applied to guns and about everything else that acts at range. I am adding USEDELAY as a half-second increase for now, but I have not put a significant amount of thought into it. I considered lowering the normal 1sec delay to .8sec to balance it, but the consequences of that on combat involve more calculations than I care to make.
NODELAY seems to never have been used, and I did not implement it, but I could do so trivially.