* Overthrow gamemode, again!
* Fixes objectives even more, especially AI one, removes boss antag subtype
* Fixes and refactors objective code, especially AI
* Expands greeting msg, fixes AI getting storage implant, rewords objectives to make it clear that they're teamshared objectives
* Resets gamemode required players to production values
* Lowered the number of teams existing during highpop
* refactors code a bit, fixes special_report to not use roundstart list, renames converter
* Cannot convert mindshielded people anymore unless you remove the implant
* Changes the Nothing explanation_text of head objective to hint at autoupdating, updates greet()
* Fixes define compile error
In preparation of pixel movement, I want to refactor our slowdown system to something more modular, and something that doesn't require /quite/ as many proccalls/calculations a tick. The way this works is intended to only have things recalculate when it's necessary, rather than calling it every move.
However, I've left movement_delay() in, as without completely redoing a lot of code it's not /quite/ ready at this point to tear it out completely, but I'm hoping everything can be transitioned over to this system later.
* distinguishes law types by colour
* hacked laws now separate from ionic
* fix and less src.
* moves hacked laws above ion
* also the ai fixer
* also missed order in stating laws
* Less garish blue
* Roundend report refactor
* I won't be fixining every moved part but here you go
* Preparation for feedback
* Fixup
* First draft of feedback (wip)
* Simple version of feedback for custom objectives/explanation texts
* Debug verb removal
* Fixes & show again action button
* Admin objective handling
* Fix and first step of css standarization.
* Every time
* More css
* Fix
* Fixes, abductee datum, css tweak
* Feedback and css fix
* CLIENT DETAILS DATUM + CLIENT ACTIONS + spilled css fix
* Integrates clockult badcode
* Fix
* Fix lists in assoc feedback
* Unified antagonists and teams feedbacks, bumped up antagonists version
* Adds chat link to reopen the the report
* Fixes some clockcult stuff, passes antag name to feedback
* review stuff
* fix
* Adds some missing spacing
* Roundend corners, has css gone too far.
* Spacing between same antags
* Changeling and traitor objectives now have same spacing
* Wizar report typo fix
* Wrap brother team.
* Also move it to more relevant file
* Fixes cult summon objective
* Fixes roundend report for full-round observers
* Fixes wizard with apprentices roundend report
* Tutorial scarabs don't show in roundend anymore, adds some check_ticks
* Prettier station goals
* Merges roundend delay things
* Spread the lag around
* Fixes relogin qdeling eminence
* ckey -> key
* Configuration datum refactor
* More WIP
* New easier on the eyes format
* More WIP
* Finished config.txt
* Fucktons more WIP
* The end of conversion draws near...
* Add all this shit
* Done converting entries finally
* Hunting down compile errors
* More WIP
* MORE CONVERSIONS
* More WIP
* More WIP
* Oh shit only 90 errors this time!
* IT COMPILES!!!
* Fixes world start runtimes
Hello, with PR #26717 merged, I think it's a good time to add devils to the standardized antag datum system.
This PR is mostly a refactor, which shouldn't be noticed by the playerbase. Changes that might be noticed are below.
🆑
tweak: Modified chances for returning someone's soul using an employment contract. Now everyone has a chance, not just lawyers and HoP.
add: Particularly brain damaged people can no longer sign infernal contracts properly.
tweak: Infernal contracts for power no longer give fireball, and instead give robeless 'lightning bolt' spell.
add: Devils can now sell you a friend, for the cost of your soul.
tweak: The codex gigas should now be easier to use, and less finicky.
del: The codex gigas no longer sintouches readers.
/🆑
* Ion storm improvements
Ion storms have several new additions:
25% chance to flatly replace the AI's core lawset with something random in the config. Suddenly the AI is Corporate, deal w/ it.
10% chance to delete one of the AI's core or supplied laws. Hope you treated the AI well without its precious law 1 to protect your sorry ass.
10% chance that, instead of adding a random law, it will instead replace one of the AI's existing core or supplied laws with the ion law. Otherwise, it adds the generated law as normal. There's still a 100% chance of getting a generated ion law.
All of these stack so you could wind up going from Asimov to Paladin w/o the first law and w/ the last law replaced with THE SHUTTLE CANNOT BE CALLED DUE TO FIVE NINJAS. All the values are easy to tweak if you guys want them higher or lower or whatever.
Custom admin-sent and other fake ion storms (devils) will just add the law and have no chance of doing any of the bonus stuff.
Removed the admin verb to send an ion storm since you can just use the events panel.
Cleaned up some of the law-adding backend. Hopefully there's no double showing of the AI's laws after a lawchange as a result of this.
* Everyday I'm shufflin'
🆑 coiax
add: Adds a 'Guardian of Balance' lawset and AI module, currently admin
spawn only.
/🆑
- Also refactors some of AI_modules.dm to use the /datum/ai_laws stuff
to avoid law duplication.
* MMI'd clockcultists put in AI cores will properly lose clockcult
* uuuuugh
* fix the core while we're at it
* "
* mrrp
* this will also follow you around
* hmm
* Adds "weighted random" AI law config
- Streamlines some duplicated code for law config stuff
- Makes a new "weighted random" option for AI laws, where an AI has a
random lawset, but some lawsets are more common than others.
80% normal, 20% quirky.
For those unwilling to source dive, here are the weights:
- 32% Asimov
- 12% Asimov++
- 12% Corporate
- 12% Robocop
- 12% Paladin
- 4% Maintain
- 4% Reporter
- 3% Hippocratic
- 3% Live and Let Live
- 3% Peacekeeper
- 3% Drone
* Law weights are now in the config file
Replaces typesof(path) - path with subtypesof(path) in obvious places. I was a bit conservative, there's probably a few more places that could use this.
This requires a 508 beta version to use. If Travis fails this he's a bitch
Exceptions will generate a stack trace, which is way easier to see and more helpful in actually solving this kind of crap. Also logs all the arguments, src, line, and file automatically.
Removed any dubiously helpful information in the exception names so the runtime condenser won't see each one as a different runtime. If the information is critical to solve these bugs (camera one maybe?), then I'll just make these warnings.
Thrown exceptions crash the currently running proc. Yes that means there's useless returns in a bunch of these, sue me. spawn()'s are to let the proc continue.
Almost all of these are difficult to trigger, but I did test playsound. And frankly even if they do cause bugs by crashing procs, big whoop