## About The Pull Request
See the title and the relative issue reports.
The logic here is that, if they can move, chances are they can also use
ladders (with a few exceptions such as camera mobs). This ought to
include both pAIs and lightgeists, even if they cannot directly interact
with about every other object in the game.
I have also moved lightgeists onto a new file, from colossus.dm.
## Why It's Good For The Game
This will fix#57061 and fix#69228.
## Changelog
🆑
fix: pAIs and lightgeists can now correctly climb ladders.
fix: fixed a small issue with the radial menu for ladders that caused
the user to travel down when abruptly closed.
/🆑
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Makes the code compatible with 515.1594+
Few simple changes and one very painful one.
Let's start with the easy:
* puts call behind `LIBCALL` define, so call_ext is properly used in 515
* Adds `NAMEOF_STATIC(_,X)` macro for nameof in static definitions since
src is now invalid there.
* Fixes tgui and devserver. From 515 onward the tmp3333{procid} cache
directory is not appened to base path in browser controls so we don't
check for it in base js and put the dev server dummy window file in
actual directory not the byond root.
* Renames the few things that had /final/ in typepath to ultimate since
final is a new keyword
And the very painful change:
`.proc/whatever` format is no longer valid, so we're replacing it with
new nameof() function. All this wrapped in three new macros.
`PROC_REF(X)`,`TYPE_PROC_REF(TYPE,X)`,`GLOBAL_PROC_REF(X)`. Global is
not actually necessary but if we get nameof that does not allow globals
it would be nice validation.
This is pretty unwieldy but there's no real alternative.
If you notice anything weird in the commits let me know because majority
was done with regex replace.
@tgstation/commit-access Since the .proc/stuff is pretty big change.
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
You now left click to climb up and right click to climb down a ladder. A delay of 1 second has also been added, since otherwise it'd take only one click to immediately move vertically and would be much more spammable.
Ghosts still use the old radials, because their right clicks are bound to the default byond popup menu.
* Removes all supurfolus uses of QDEL_HINT_LETMELIVE
This define exists to allow abstract, sturucturally important things to
opt out of being qdeleted.
It does not exist to be a "Immune to everything" get out of jail free
card.
We have systems for this, and it's not appropriate here.
This change is inherently breaking, because things might be improperly
qdeling these things. Those issues will need to be resolved in future,
as they pop up
* Changes all needless uses of COMSIG_PARENT_PREQDELETED
It exists for things that want to block the qdel. If that's not you,
don't use it
* Adds force and hard del verbs, for chip and break glass cases
respectively
The harddel verb comes with two options before it's run, to let you
tailor it to your level of fucked
* Damn you nova
Adds proper parent returns instead of . = ..()
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
* Ensures immortality talismans cannot delete their human if something goes fuckey. Thanks ath/oro for pointing this out
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
About The Pull Request
#65741 replaced wayfinding pinpointers with the navigate verb.
However, one of the features of wayfinding pinpointers was the ability to edit the codes of the navigation beacons they pointed to in order to change the names of the destinations in their list.
While it makes sense that an in-game object can be fallible, it doesn't make a lot of sense for a UI button that creates a path only the player can see. People will expect it to be objective and reliable.
So this removes that in favour of landmarks that add their location to a global list used by the verb on LateInitialize() and delete themselves afterwards.
StrongDMM_4KNvlSYNy5.png
This also adds "Nearest Way Up" and "Nearest Way Down" to the navigate destination list. This paths to the nearest staircase or ladder.
Why It's Good For The Game
Removes confusion for newer players on the off-chance somebody decides to modify destination names of wayfinding beacons
Makes mapping these easier, because instead of placing an underfloor navigation beacon, you're placing a map pin that is above most things on the map
Makes the existence of this feature more obvious to mappers by replacing underfloor wayfinding beacons that look identical to other navigation beacons with bright red pins (I noticed when looking at Ice Box for this PR that some wayfinding beacons have been removed in areas that have been remapped since I placed them)
Somewhat compensates for the inability to path between z levels by allowing players to find the nearest ladder or staircase instead (does nothing to indicate destinations on other z levels or the direction they're in though)
Changelog
cl
del: Navigate verb uses landmarks now, which means that underfloor wayfinding beacons (which could be used to change the names of destinations) are gone
qol: Adds Nearest Way Up and Nearest Way Down to the navigate list, which point to the nearest ladder or staircase up or down
fix: Fixes runtime with navigation verb paths where deleted paths were still attempting to animate
/cl
## About The Pull Request
stop forgetting to include mapload, if you don't include it then every single subtype past it by default doesn't include it
for example, `obj/item` didn't include mapload so every single item by default didn't fill in mapload

## Regex used:
procs without args, not even regex
`/Initialize()`
procs with args
`\/Initialize\((?!mapload)((.)*\w)?`
cleanup of things i didn't want to mapload:
`\/datum\/(.)*\/Initialize\(mapload`
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.
Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.
(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
Converts many proc overrides to properly use list/modifiers, fixes some spots where modifiers should have been passed, calls modifiers what it is, a lazy list, and cleans up some improper arg names like L, M, C, and N. Oh and I think there was a spot where someone was trying to pass M.name in as a string, but forgot to wrap it in []. I fixed that too.
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm
We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.
There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.
Hi codeowners!
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* BLOCK_Z_FALL separate
Separate BLOCK_Z_FALL flag to BLOCK_Z_OUT_DOWN, BLOCK_Z_OUT_UP, BLOCK_Z_IN_DOWN, BLOCK_Z_IN_UP
* Propertly Z blocking for catwalk
Catwalk block z falling and uplifting from below
* Walkable lattice
Now lattice can support spaceman
* Replace BLOCK_Z_FALL flag
* Update _open.dm
* Update openspace.dm
* Update ladders.dm
* Update away_props.dm
About The Pull Request
Adds 'notice' span class to all visible_messages which had no span class, making all those black messages blue.
Why It's Good For The Game
This should help differentiate action-messages from talking-messages in the chat. More actions will be blue, thus black talking-messages should pop out more.
Ever since the big BoH nerf, BoH bombing is kind of a joke. The damage it does is not really huge, and it's lame for traitors - it lacks emotion and their target may not even die, as they can use the ladders to get away.
So, what this does is add back some soul into BoH bombing, while not making it too round-ending and adding some degree of damage control for admins in case of griefing.
When BoH bombing, a stationary singulo with custom sprite will spawn. Its gravitational pull is REALLY strong, so people near it are probably going to get eaten, and there will be some real damage to the hull. The singulo will cease existing after 5 seconds.
For antags, I think this becomes much more interesting than the current BoH bombing. In the case of griefers, the damage to the station isn't too big because the singulo is stationary and fades away after some seconds. And then, admins can click a button in their chat to bring back everything the singulo ate into the game (the button expires in 10 minutes, however, but this can be changed if you think it is needed).
Settings like gravitational pull can be tweaked if yall find it to be too strong or something.
Changelog
cl
tweak: BoH bombing changed again. Now it's more violent.
/cl
* Remove ZLEVEL_STATION_PRIMARY
* Add Up and Down traits for use by ladders and chasms
* Give map_config creation its own proc
* Combine LoadConfig and ValidateJSON and remove transition_config
* Make space linkage a z-level trait
* Remove ZLEVEL_EMPTY_SPACE
* Update uses of GetFullMapPath
* Handle multi-Z stations and load Lavaland and Reebe at runtime
* Remove unused space maps
* Fix inappropriate z-expansion in map reader, improve logging
* Update comments relating to z-level configuration
* Add Lavaland and Reebe to ALL_MAPS
It'd be weird to have the top part of a ladder moved five tiles and then still lead to the ladder underneath its old location. Just destroys it instead.
Shouldn't break anything, stops warning spam, logs errors qdel style at the end of the game.
Initialize now expects a hint to be returned, one of:
INITIALIZE_HINT_NORMAL - Does nothing, returned by the root proc
INITIALIZE_HINT_LATELOAD - Call atom/proc/LateInitialize
INITIALIZE_HINT_QDEL - Calls qdel on the atom
LateInitialize currently defaults to the old re-calling behavior so there should be no issues with that.
Things that didn't return a hint or fucked up somehow will be logged less loudly than they were before
No more world start warnings!
* 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
* Starting out on our tgui journey
* God tgui, why do you need to be updated
You're dynamically generated anyway
* Commit of stuff
* Further progress is being made
* Everyone loves buildscripts
* Further modifications to my incredible running script
* Starting to modify the minimap code to be better
* It's going well thusfar, I guess
* What have I done
* RIP minimap
* FUN FUN FUN FUN FUN
* Adds shuttle_manipulator.dmi
MUH HOLOGRAMS
* Is it done? IS IT OVER
* Peer review
* Some bug fixes
* Makes that damn greentext shut up
* Shuttle registration
* Made the Emergency Escape Bar more robust
No climbing on the bar.
* Do not stare into the operation end of the device
* Compile shame
* THE MOST DUMB
* Passive barmaiden
* Emergency shuttle memes
* MORE SAFETY CODE
* Fancy shuttle manipulator icons
* Smoothing it out
* We are going to have a lot of fun with this one
* Independent blobbernauts
* WABBAJACK WABBAJACK
* Message for attempting to authenticate old style
* Angry alert noise is back
* Revert "Independent blobbernauts"
This reverts commit 34d6af7c9c88cfc2864990cb37b586bb90163dd3.
* No parrot sleep plz
* Moves the special shuttle stuff to special.dm
* No Bartender like a Centcom Bartender
* Non-controversial map changes
- Backup shuttle moved closer to Centcom main structure, docking tube
created
- Moved shuttle import landmark to above Centcom main building
- Added shuttle displays to Conference Room
- Squashed the Chapel a bit in Metastation
- Made the docking port on Z2 massive
- Made the docking port on Metastation a lot larger
* Hacks and slashes at Box
A bunch of things are extended and squashed so Box shuttle dock can
support the MetaStation emergency shuttle.
* Some Metastationshit
* Never ending changes
* Wabbajack to TGM
* Modified the bar, I think that's all of them
* Stops Barmaiden wandering around
* More code review
* Whitspace, the bane of us all
* DIE WHITESPACE DIE
added more loot
nerfed the spawn rates and health of the spawners
widened the paths of some areas for lava passages
added a medbay area to the first level incase of stupid people not coming prepared
added 2 mining rigsuits, may be difficult to get though
fixed(?) issues with dicklys drilling ladders and basalt floors causing issues
I've cleared out most of the .dm files in code/game/objects/ and put it into appropriate files/folders. The stuff I've left is stuff I believe may conflict with carn's work and some code for stuff that does not have a home yet.
TODO:
- Files that were left in code/game/objects that may conflict with carns work
- Go through all the files in all the subfolders of code/game/objects.
- Move all the defines from /defines/ to their proper spots
Not much right?
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4520 316c924e-a436-60f5-8080-3fe189b3f50e