* WIP
* More wip
* Numbers
* More WIP
* Improve
* Add QDEL_IN_CLIENT_TIME
* More WIP
* Getting there
* Absolute communism
* More stuff
* More states
* MrPerson's suggestion
* Makes it work, now we just need the dmi
* No, that's the null icon_state
* More better
* Fix script
* Turns out we don't need an empty dmi to start with
* Upload a much more complete dmi. Now we just need the identicons
* Fix
* Add the credits tool
* THE FULL DMI
* Mistake
* No need to resize the image if it's already 32x32. Also download the right one in the first place.
* It's oranges
* Transparent opacity
* Make per client
* Run at roundend
* Make tgstation-server great again!
* Speed things up some
* Fix up the verb
* Final touches
* Remove the unecessary .sln
* PraiseRatvar -> Frozenguy5
* New age coding
* Bigger gulps
Click catcher now supports mousemove/mousedrag. Basically, mouse location can now be captured even if the user isn't mousing over a visible location
Added procs to allow for projectiles to be fired with just an angle for pixel projectiles, instead of requiring a target turf and pixel x/y
Added procs to get angle of user's mouse from their viewpoint (Time to rework gang machine guns again!)
Beam rifles now have different zoom modes
Free directional zooms out and tracks the angle of your mouse from the center of the screen. However, you can't target with very good accuracy on this (Shots can't be properly aimed on non dense objects/lying down mobs.)
Locked directional zooms like free directional but doesn't automatically turn if your aim changes.
Center view, just increases your view in all directions (2x weaker)
No zoom mode, in which you just retain your normal view.
You can select beam rifle zooming rates to be instant or stepped.
Stepped zooming rates zoom out 5 tiles per second. This will likely help with people not being able to use it without lagging because their computers aren't as beefy!
Beam rifles no longer require zoom to be fired
Beam rifle aiming beams now instantly update instead of on process
Beam rifle aiming beams are now one object instead of 150. This'll help with the lag caused by it during gameplay that I've observed.
Angular penalty reduced by 0.1 for a nice even number.
Instances of client.view = have been replaced with client.change_view() as that'll properly update the click catcher
Hopefully shooting yourself in the face when you hit a blob tile or whatnot is fixed with the new and improved code..
* Adds locations to speech and related communications
Refactors how logging is handled for these.
* changes
* ahhhhh
* preemptive merge conflict undoing maybe?
* Let's not delay this further
* Ghosts now have a language menu
🆑 coiax
add: Ghosts can now modify their own understood languages with the
language menu.
/🆑
- Language menu is now on /atom/movable, and can be opened by any atom
with the `open_language_menu` proc.
- Used for testing, and simulating what various station members hear.
* Language holders, I
* Language holder, II
* Dos line endings
* MIND LANGUAGES
* Fixes some mobs not having language holders in their minds
* Shadow languages
* How did you lose the holder?
* Mob level IC->Open Language Menu verb
* Gives draconic to silicons
* Lazy breeki
* Use of pre-initialized global lists for languages
* Fixes bugs with lazy holders
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.
* Ghosts call Moved() after Move()
I was tinkering around with making ghosts glow when visible, and I had
to put this in to make lighting and stuff work. This seems sensible
anyway?
* Locate->get_turf
* Removes step trigger calling (done by Moved)
* 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.
🆑 coiax
add: Examining a ghost determines whether it is visible.
/🆑
This is for ghosts, who are trying to determine if they can be percieved
by the living, since they see no difference if visible.
* 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
* Initial burst of languages
* Scratchings of beginnings
* Code review I
* Compilation!
* You can now understand your own speech
* Fixes whispering
* Gets typecaches working again
* Remie's `PASS`ing
* Back to pass() to stop the compiler whining
* Why can't drones check their languages
* Everyone speaks how they should
* Removes world string debug stuff
* Currently failing to massage radio code into working
* The radio transmits the languages!
* ,0 to talk common
* Replaces speech wheel with language menu
* Observers can speak all languages
* pAIs now speak languages FOREVER
* New action button for language menu
* pAIs have an action button to open their language menu
* AIs can talk and all that
* AIs have a language menu button
* Fixes supermatter making strange noises
* Fixes AI holopads
* Fixes request consoles
* Fixes bots making strange sounds
* Meaningless MMI change
* Some caching of datums
* Brains in MMIs speak common
* Ratvarian AIs can only speak Ratvarian
* Tables can speak common, apparently
* Removes var in args
* Fixes the (AI Eye) problem
Thanks to Shadowmobile for their help with this one.
* Fixes tape recorders
* Fixes humans being able to speak in languages they did not know
* Adds some new posibrain names
Honk.
* The voice analyzer replies in the language you spoke to it
* Gives swarmers only swarmer language
* `initial_languages` var.
* OMNITONGUE, clockwork restrictions
* Fixes barmaid and bardrone language abilities
* Code review I
* Omnitongue correction
* Code review II
* Removes force_compose var
This fixes#25479 plus a runtime that happens when you observe a mob whose player has ghosted that results in a comically incorrect HUD for the observer.
HUDs are a fucking mess still to the surprise of nobody