* a very calming act
when the world is too much, too fast
* i'm tired
but i have to be efficient, infinite
* lick your lips at the sight of me
a fantasy made reality
add: Added Devil agent gamemode, where multiple devils are each trying to buy more souls than the next in line.
add: If you've already sold your soul, you can sell it again to a different devil. You can even go back and forth for INFINITE POWER.
This adds a new gamemode. Devil Agent. It works much like Double Agent, except devils instead of traitors, and instead of killing, the devil simply has to control more souls than the enemy.
Also, whether this is included in the rotation depends on the config settings. By default, it will be disabled.
* 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.
Useful when something bugs out in-game and you want to test it without
fucking the original up, or maybe if you want to spam some varedited
item quickly.
Clients now cache their jobbans to save on DB queries.
Legacy jobbans and "new" (savefile) jobbans have been removed.
These are old cruft that has been unused for years, and since we require
a DB for notes anyway we might as well just get rid of the legacy stuff.
I considered removing legacy bans as well, but I was unsure if that
would go way beyond the scope of this PR (my main goal here is making
jobban_isbanned not awful).
Also note that this was basically untested, as I do not have a test
database. Any help testing this would be much appreciated.
- Queens are now GIANT.
- Queens are now under the /royal type
- Added Praetorian caste.
- Buffed queen health to 400
- Royals now resist all but the strongest space winds
- Drones now must evolve into Praetorian before becoming queen.
- Queens without a Praetorian may now promote one.
- Royal Xenos now are not stunned by hulks or mechs.
- Hulks no longer push back royals, but still deal more damage.
Removes the 20 second confirmation between prompts for the normal admin version of end round now.
If admins force end a round escape objectives will be good faith greentexted if the antagonists were still in a position to escape alive.
The survival rate will always be printed at round end now, even if the shuttle makes it to centcom (evac rate will be printed too in that case).
Removes lots of copypaste.
Admin newscaster barely modified, they still are a gigantic copypaste from the topic.dm() of the newscaster object.
Printed diaries will now only report the information available when they were printed, including wanted status and the different types of censorship.
All datums are now under /datum/newscaster
Wanted is now a different type of datum, /datum/newscaster/wanted_message
Fixed a bug where you couldn't censor normal submissions, made by crewmembers.
Fixes#944
MC:
No longer tracks a subsystem's cpu usage. This was basically worthless and took up space on the stat panel
Can calculate wait down to a tenth of a decisecond to make it fps/world.ticklag agnostic
Now allows subsystems to have a dynamic wait, that is based on a ratio of how long that subsystem has been taking to process(cost). (This system allows for upper and lower bounds, and an changeable cost delta for each subsystem)
MC can now be told to init a zlevel
All Subsystems:
Stats panel now allows child subsystems to pass it a message to add to its stats entry. All subsystems have been moved over to this system - This should cut down on subsystems having to copy and paste the stats proc in order to add to it
All subsystems now properlly handle being given a zlevel in their init proc
Subsystem changes:
Air:
Added air to the dynamic wait subsystem. upper bound: 50, lower bound: 5, cost delta: 3 times process cost
Air now fires 4 times faster when it can do so without lagging things up
Pipenet has been merged into air
Atmos machinery now processes with process_atmos(), ticked by air, not machinery.
Hotspots (the fire object) are now object pooled
Pipenet:
Deleted, added to air
Machinery:
Moved all atmos calcualtions in all objects's process() to process_atmos().
Lighting:
Added Lighting to the dynamic wait subsystem. upper bound: 20, lower bound: 5, cost delta: 3 times process cost
Ticker:
Fixed ticker not updating the lobby panel when game start delayed
Fixed the game start timer updating rapidly from queued fires when game start delay is removed
Garbage/qdel:
qdel will now limit its process time to 2ds a fire.
qdel can now be given hints as a return to Destroy() as to what should be done with the object.
the options are:
queue: (default) this is the normal behavior.
letmelive: old default to non-null/zero. does nothing with the object
iwillgc: functionally the same as above, mainly to let people working with objects know that the object will not be queued for GC checking
harddel: this will queue the object to be deleted without storing a soft reference, mainly to save locate() processing time.
harddel_now: this will del() the object. To allow for a clean removal of every del() not in qdel
All objects have been updated to the new system, harddel and iwillgc was not added to any new objects.
Fixed some objects not GCing because they didn't properlly clear references in Destory()
Fixed some objects getting qdel'ed preventing other objects from getting GCed because they did not null their reference to that object.