* nerfs laserpointers, adds cat interaction
* typo'd
* fixes is_helpers
* look at you, coder. panting and typoing as you code through my halls
* addresses minor notes, adds iscatperson to purrbation
* Replaces ON_PURRBATION define, changes to logging in laserpointer.dm
* true
* I forgot that its TRUE not true rest the fuck in peace
* Final tweaks
* Removes Stray else
* Revert "all this wrapping and it's not even christmas (#33035)"
This reverts commit faaf151580.
* Revert "fuck me for forgetting to graph this one"
This reverts commit 45d7acea2f.
* Revert "defines math"
This reverts commit 2817a1737b.
For kevinz000 because he managed to lose a ban and couldn't find it with ckey or ackey somehow.
No indexes because ORDER BY indexing is too finicky and having something like 8 indexes just for this wouldn't be worth the slowdown.
* wip
* wip2
* makes code actually compile on 511 + fixes
* versioning
* s
* adds python conversion script, schema change and removes 'force ' from item_used_for_combat
* fix to compile
* forgot to actually commit this
* Free codebase churn
* fixes dviewmob
* a commit
* Partial revert "Free codebase churn"
This reverts commit 9dd41b3860c331637bbc85e694dd32dc59768ad5.
* better fix to dviewmob
* renames living_mob_list to alive_mob_list, adds mob_living_list and carbon_list
* make some use out of the shiny carbon list
* make some use out of the shiny new living list
* more things, also make the mobs subsystem (Life) use living list
* bonus
* domo arigato mr. roboto
* compile fixes, also made the drone code less dumb
* better?
* make admin message prettier
* honk
* fixes blobs
* rev fixes
* one small thing
🆑 ninjanomnom
add: You can now select a nearby area to expand when using a blueprint instead of making a new area.
add: New shuttle areas can be created using blueprints. This is currently not useful but will be used later for shuttle construction.
tweak: Blueprints can modify existing areas on station.
admin: Blueprint functionality has been added to the debug tab as a verb.
/🆑
Additionally the code for getting all turfs in a contained space has been refactored for some pretty good performance improvements.
Old proc: Self CPU 8.816, Total CPU: 10.009, Real Time: 10.009, Calls: 5000
New proc: Self CPU 4.174, Total CPU: 9.000, Real Time: 9.001, Calls: 5000
They've been moved into a area helpers file.
How does this work:
Station receives a communication extorting current cargo point, if they answer yes the points are just gone and nothing of interest happens.
If station refuses to pay or is silent for 3 minutes, pirate shuttle spawns somewhere in space.
There's an internal GPS onboard so crew will always be able to follow the shuttle.
Crew of 3, moderately armed. (Balance pending)
Shuttle engines have 3 minute cooldown between jumps.
Special shuttle equipment will block cargo and emergency shuttles from leaving and slowly steal the points.
* Overlay per-type cost logging.
Overlays will now log how long each type took to process.
Changed up how overlays was done to account for the fact its a queue and not a processor. (it was using almost none of the processing subsystem framework)
Made the overlay loop faster by making it not cut the list until the end.
Added a simple generic benchmark stat tracking system.
I don't know how much overhead this adds to overlays. i may put it behind testing or something, but i do want to test this on the serbers to get some stats.
* Removes flush() as it was creating race conditions
* Use ref
* text2file
* Atoms added as an overlay will have their pending overlays compiled before being converted to an appearance
When I ran the Colosseum of Fools event a while ago, I used sounds I had locally to spice up the event and make it unique, but I ran into the issue of there being no easy way to play sounds in flexible ways while preventing people who don't want to hear them from being included.
Adds sound emitter objects, editable by admins through a handy UI, that allows them to play sounds in a variety of flexible ways. The following things can be manipulated by any admin by clicking on the sound emitter:
Label (maptext)
Sound File is chosen by navigating to the file like normal sound playing
Sound Volume is a percentage between 1 and 100
Mode dictates how the sound is played and can either be local (played at that location like a normal in-game sound) or direct (played directly to players like admin sounds)
Range dictates how far players need to be to hear the sound; this includes Radius (all players within a specified amount of tiles), Z-Level (all players on the same z-level), and Global (all players.)
Sound emitters can be examined by any ghosts (they're invisible to normal players) to see the info about them, but only admins can edit their properties and play sounds with them.
This lets admins make very flexible sound emitters that can fulfill a variety of different purposes, like music that only people within 7 tiles can hear or a distant screech of metal that an entire search party on the derelict hears.
In addition to the Play Sound button, alt-clicking the emitter activates it.