mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-19 20:15:47 +01:00
docker-container
4 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
d7460f97d7 |
Adds a new area flag, LOCAL_TELEPORT, given to virtual domains and deathmatch arenas. (#88756)
## About The Pull Request Adds a new area flag, LOCAL_TELEPORT. This flag allows teleports ONLY in the same area that the teleport is used. This allows for short range hijinks without enabling long range exploits, and thus it's given to DMs and domains. Changed almost all area_flags & NO_TELEPORT checks to use check_teleport() (as now areas may use local_teleport instead, and this lets them check for multiple things instead) Thus I re-added Void Phase to the heretic scribe in DM and shuffled some stuff around (realizing now i neglected to doublecheck if blade breaking tps you to station. need to check just in case) ## Why It's Good For The Game It sucks you can't use teleporting abilities in temporary areas, so this is a good way to allow this to still happen without opening the way for gamebreaking exploits. ## Changelog 🆑 code: Adds a new area flag, LOCAL_TELEPORT, given to virtual domains and deathmatch arenas. code: Re-added Void Phase to Heretic Scribes in Deathmatch's Ragnarok map. /🆑 |
||
|
|
329921639a |
Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons. (#71339)
## About The Pull Request
- Rewrites how action button icons are generated.
- Prior, generated an action button icon was fairly simplistic and
didn't allow for many changes. Someone recently added the option for
overlays to be generated over action buttons, but the framework was very
weak.
- Now, action button icon generation is split across multiple procs,
like atom icon updates.
- The background of action buttons are underlays
- The actual icon of the action button is the icon and icon state of the
action button movable
- The rim / border of the button is an overlay, layered overtop the
button.
- Allows observers to see what action buttons a mob has. They even
update in real time! And no, the observers cannot click on them.
## Why It's Good For The Game
- Runechat text of action buttons are no longer hidden behind the actual
icon. This was very ugly with cooldown actions, as the cooldown text was
hidden behind a lot of spell icons.
- Cuts down on a lot of icon duplication.
- Gives much finer control over action button icons
- Saves a bit of processing from generating full action button icons
when not necessary. Not implemented in many places, but is in some.


## Changelog
🆑 Melbert
add: Observers can now see what action buttons an observed mob has. No,
you can't click them. And no it doesn't show EVERY action.
refactor: Refactored how action button icons are generated. Some actions
will now use a colored border when active instead of just turning green.
Cooldown text will also appear on the top layer of actions too. If you
see any funky lookin' icons (namely their borders), let me know.
refactor: Bluespace Golem's teleport action is now a cooldown action.
fix: Construct actions go to the middle of the screen like expected.
/🆑
|
||
|
|
140c12b580 |
Giant Spider action fixes & Action feedback (#70848)
I went into this just planning on fixing some weird behaviour with spider buttons and ended up touching a lot of files. Specifically this is because some of the actions used by Giant Spiders would print feedback messages in IsAvailable, which was bad because this is called every time the button updates and so would (for example) print a bunch of messages about eggs existing when you spawned as a broodmother because the lay eggs button would be checking for that when it was granted to you. The feedback _is_ useful though so I've implemented a pattern used in Spell where we just pass a flag describing whether we want to print it or not, which is generally set to true in Trigger() or if the player physically pressed the button. A side effect of this is that any action with usability flags (such as "not when handcuffed") will now tell you why it is failing if you click it while it is unusable, which is nice. The spider changes are largely to make sure that their buttons are tinted at the correct time, they were previously tinted red as if inactive at almost all times due to the icon not being updated when relevant conditions changed. This necessitated adding a new signal (two actually) sent when a do_after begins and when it ends (for any reason, including premature interruption). I also fixed a quirk where the Wrap ability had a permanent 'active' outline after using it once (the icon states were inverted). I also fixed a bug where you could just lay infinite enriched eggs after eating one guy, which is not how the game describes it as working. I looked up the PR adding it (https://github.com/tgstation/tgstation/pull/54451) and one egg per kill seems to be how it is supposed to work. And finally I changed a few nurse spider to_chats into balloon_messages, on the principle that they're not information which needs to stick around for more than a few seconds. |
||
|
|
f8f3dbed98 |
Completely removes proc_holders from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code. (#67083)
* destroy proc holder pt1 - change proc_holder/spell to action/cooldown/spell - docs all the spell vars, renames some of them - removes some useless vars - start with pointed spells, as they're easy * kill proc_holder pt2 - kill a buncha vars and replace it with flags - convert a ton over - general code improvements * kill proc_holders pt3 - convert a good few more spells - rename some signals - handle statpanel - better docs * kiill proc_holder pt4: - restructure the file system of action.dm, separating a good amount of item actions and miscellaneous garbage into files where they belong slightly better. Also splits off item actions, cooldown actions, innate actions, etc. into their own files, overlal making it much better to work with - converts touch attacks to actions - converts blood crawl, jaunt subtype * kills proc_holder pt5 - clears up some icon issues so all the currently converted pages don't have errors - shapeshift - some more action cleanup * kills proc_holder pt5.5: - some documentation - reworks feedback to prevent oversight with teleports and stuff * kills proc_holder pt6: - converted cult spells - converted magic missile - converted mime spells - chipped away at the errors - removed some vars which were too general, replaced them with more locally applicable vars. for example "range" which could mean "projectile range" or "aoe radius" or whatever - instead of having a broad net which everyone applies to in a confusing matter, instead lets each spell delegate on their own. - merged magic/spell and magic/aoe, as the comment intended - more unified behavior for spell levelling * kill proc_holders pt 6.5: - replacing a buncha old proc_holders that have been updated to reduce some errors. sub 900 baby * kills proc_holder pt 6.75: - minor fixes * kills proc_holder pt7: - cuts down on some errors - refactors some wiz events * kills proc_holder pt 7.5: - malf ranged modules - some minor errors * kills proc_holder pt 7.75: - mor eminor error handling, cleaning up changes * kill proc_holder pt8: - refactors spell book - refactors spell implant - some more minor error fixing * kill proc_holder pt 8.5: - scan ability * Adds some robust documentation * kill proc_holder pt9: - converts some / most mutations over * kill proc_holder pt10: - sort out all the granters - refactor them slightly - fix some compile errors * Some set-unset sanity - going to need to test removing Share() * Removes transfer actions. It doesn't seem to do anything. - Transfer_actions was called when current = new_character so locially speaking the early return in Grant() should cause it to NOOP. Test this in the future though * Removes sharing from actions, docs actions better * Some better documentation for spell and spell components * Kills proc_holder pt11: - Finally finishes ALL THE SPELLS IN THE SPELL FOLDER - Fixes some more errors * kills proc_holder pt11.5: - minor error fixing and sanity * Method of sharing actions. Can be improved in the future, needs testing * Implements a way to update the stat panel entry for a spell. Also gets rid of VV stuff, as you can update the bigflags directly in VV now. * Curse of madness bug I put in. * kills proc_holder pt12: - sub 500 errors! - converts cytology mobs - converts and refactors spiders slightly - some minor fixing around the place as usual * kill proc_holder pt13 - Finishes heretic spells - Sub 300 errors! - some touch refactoring to account for mansus grasp * kills proc_holder pt14: - revenant - minor bugfixing for heretic stuff * kills proc_holder pt14.5: - some missed stuff for revenant + heretic * kills proc_holder pt15: - alien abilities - more minor fixing - sub 100 errors. The end is nigh * kill proc_holder pt16? 17: - Finishes cult spells - sub 50 errors! - refactors the way charge works - renames / moves some signals * kills proc_holder pt final: - sdql spells - no more errors! * Bugfixes round 1 * Various bugfixing - documentation done - give spell works - can cast spell gives feedback conditionally - is available takes into account casting ability * Some accidental reversions + fixes * Unit tests * Completely refactors jaunting - All bloodcrawling is now handled on the action itself instead of across various living procs - slaughter demons have their own blood crawls - jaunting dummies don't have side effects on destroy() anymore * Wizard spell logging and even more refactoring |