About The Pull Request
I observed someone request to be perma'd round start and then they just chilled in perma the whole shift. Security isn't always going to be up for putting people in perma and players who have been placed in perma tend to go catatonic. This allows players who are interested in having a chill shift doing the stuff in perma and acting like they've done crimes the opportunity to do that.
Why It's Good For The Game
Crew content. I'm not saying it's mindblowing but if we add it in as a role it will open the door for people to look at perma and what could be done with prisoners.
Prisoners spawn with a prison ID, a jumpsuit, and shoes. They are also currently spawning with a backpack and I'm uncertain about whether or not I want to do anything with that.
This is ready for a testmerge and worked for me locally.
Thanks to Tralezab for assistance with merge conflicts.
Thanks to EOBGames for the plasmaman prisoner sprites.
Thanks to Quill-Weave for encouragement.
Feedback is of course welcome, and I'd appreciate suggestions re: balancing this role. Maybe they should be roundstart pacified or something.
Changelog
cl
add: Adds prisoner role
/cl
* Refactors antag datum hud giving code
* epic fail. this is a much better way to do it
* reduces copy and paste for clown mutation
* review additions
* didn't mean to put that there
* re-add check
About The Pull Request
Well known statics rejoice! You can now choose to have random name/body/age/gender whenever you roll roundstart antagonist.
Since player mobs are generated before antag datums are handed out, I added a list that collects minds chosen as antags during pre_setup() to keep track of this.
"Other" was also missing from the random gender, added it.
Wizard, clown op, nukeop, latejoin and midround antags are excempt.
Why It's Good For The Game
Some static namers get metagamed to the extreme when antagonists, this should help alleviate that while allowing them to keep static naming for the RP. Keep in mind all conversion, midround and latejoin antag rolls are excempt, this is not a guarantee someone is a non-antag.
Changelog
cl Skoglol
add: Random name/body/age/gender when roundstart antagonist preference added.
add: Random gender will now have a chance of picking "Other".
/cl
soulstones now cant absorb things with no soul or devils.
things with no soul:
- wizard after using lich or soultap
- people that sold their soul to devil
it ruins the revival mechanics of both antags and also makes no sense
in the lore, how can a soul shard capture a nonexistant soul
* Implement antagonist reputation system
* Cleanup
* Quadruple point values, maybe a bit underwhelming before
* Simple feedback changes. Waiting on input on a couple questions for the other requests.
* * Comment out unnecessary variable
* Half of the requested changes (testing in game pending, standby)
* Last set of changes. This should be finished now.
* Remove line causing a warning to fix Travis build
* Clean up a bunch of undefined arg runtimes
Ensure subtypes have the appropriate arguments, do a bit of code cleanup
and remove some uneeded emote procs that also caused runtimes
* Fix up all calls to canUseTopic, add the dexterity flag
* Runtime with missing force argument in borg unbuckle mob
* 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
* Refactors rounstart centcom threat report.
* Changes a .Add() to a +=
* Fixes merge.
* Another fix from the merge. Whoops.
* Removes slashes from sandbox report.
* ports plasmeme windows from /vg/
* Update window.dm
* It's the stairway to seinfield
* fixity fix fix
* See this code if you're wondering why I rarely get any sleep
* *scream
* now
* this is going to give me PTCSD - post-traumatic coding stress disorder
* *scream
* Improves forensics datum
* Meep.
* RA RA RASPTUIN... i'm not crazy, right?
* better
* I think it works... /s
* less compile errors
* Reduces compile errors to a much more managable 50
* shitcode.exe
* ehhh
* HEY EVERYONE, IT WORKS!!
* Make slide code less autistic
* blue skyyy
* no more bay forensics!
* IT WORKS
* Remove EnforceSize, it isn't used.
* icon2html
* More bicon sutff
* eee
* aeee
* abc
* abc
* a
* abc
* e
* forensics check in initalize
* huh
* bleh
* Update _drone.dm
* Update _drone.dm
* Update _drone.dm
Goonchat will use the asset cache, you now have to specify who to send the icons too.
Goonchat will now load icons in the background, displaying them once they load. this prevents the message from being delayed while the icons are sent.
Icons that aren't preloaded using the asset cache system will not render on ie8 clients. This is because of a ie8 bug that prevents changes on runtime created images from rendering.
They don't share a common ancestor type so they were relying on the
secbot having identical vars to the ed209, this is brittle and ugly, so
instead a bitflag of criteria is passed through the mob assess_threat
proc so it can choose how to react to each criteria
As well as that, the weaponscheck proc used by the bots is now passed
through as a callback, more things can now implement their own
weapons checking for threat assessment if they need
This means more things can now utilise the assess_threat proc if they so
wanted to, as they no longer need to map 1 -> 1 to the ed209's vars
Also fixed a runtime where the secbot didn't pass through itself to the
assess_threat proc (what I originally wanted to fix)
* Fixes on #28051
* Changes hellfire around some, it's now more consistant.
* Fixes small exploit with infernal jaunt.
* Moves devil antag datum with the rest of the antag datums.
* Corrects syntax errors within codex gigas tgui template.
* Re updates tgui js after merge.
* removes redundant .loc from call.
* Fixes devils sometimes getting duplicate spells.
One is another small legion, but it can infest corpses, meaning it will revive other legions if you don't kill it first.
The other is a legion that creates legions. I imagine it as something super edgy like a golem made up of legions melded together.
I need sprites for both of these
Added defines for environment_smash
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.
/🆑
In cases where you're creating an image to use as an overlay, it makes more sense to use a mutable_appearance if you can. The image will create a static appearance for not just the image but also each intermediate step if you change vars along the way. The mutable appearance avoids this unnecessary and expensive process. The only situation that requires an image instead of a mutable_appearance is if the overlay is supposed to be directional. MA's ignore direction while images don't. I dunno why, probably another BYOND-ism.
I added a convenience function, mutable_appearance(), designed to emulate image(). Also went ahead and set the default plane of /mutable_appearance to FLOAT_PLANE because it's fucking 0 by default.
Several overlays that were image() calls were changed to just text strings when I could. overlays += "string" has the same result as overlays += image(icon, "string") and saves a proc call.
* Removes hacky see in darkness invisibility bullshit, uses planes.
Also removed the use of invisibility for ghosts of others, instead using override images.
Per client lighting visibility now has 4 levels, all on, all off, and two midways, this allows for things to be able to see in the dark while still being able to see what is dark and what has light, ghosts and aliens and other shit can cycle between all 4, other things were given one of the 3 values depending.
* Remove qdel global var search.
* Cleans up code, makes changing lighting/NV level easier.