mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-02-06 22:39:04 +00:00
## About The Pull Request - Adds `dustself` admin verb - Adds Dust admin smite - Does what it says on the tin - Adds Divine smites - Variations of smites that come with the prayer sound and special effects - so you can get the message across that this is a punishment from god. https://github.com/user-attachments/assets/1cf89ece-3e89-4135-a984-79ca10c278a6 ## Why It's Good For The Game - Request. Parity for `gibself` - Request. Parity with "Gib" - Request. Someone wanted to add some more flair to smites so I obliged. ## Changelog 🆑 Melbert admin: Adds "Dustself" admin: Adds "Dust" smite. Does what it says on the tin admin: Adds "Divine" smites. They are variations of normal smites themed around divine intervention. /🆑
41 lines
1.1 KiB
Plaintext
41 lines
1.1 KiB
Plaintext
/datum/buildmode_mode/smite
|
|
key = "smite"
|
|
var/datum/smite/selected_smite
|
|
|
|
/datum/buildmode_mode/smite/Destroy()
|
|
selected_smite = null
|
|
return ..()
|
|
|
|
/datum/buildmode_mode/smite/show_help(client/builder)
|
|
to_chat(builder, span_purple(boxed_message(
|
|
"[span_bold("Select smite to use")] -> Right Mouse Button on buildmode button\n\
|
|
[span_bold("Smite the mob")] -> Left Mouse Button on mob/living"))
|
|
)
|
|
|
|
/datum/buildmode_mode/smite/change_settings(client/user)
|
|
var/punishment = input(user, "Choose a punishment", "DIVINE SMITING") as null|anything in GLOB.smites
|
|
var/smite_path = GLOB.smites[punishment]
|
|
var/datum/smite/picking_smite = new smite_path
|
|
var/configuration_success = picking_smite.configure(user)
|
|
if (configuration_success == FALSE)
|
|
return
|
|
selected_smite = picking_smite
|
|
|
|
/datum/buildmode_mode/smite/handle_click(client/user, params, object)
|
|
var/list/modifiers = params2list(params)
|
|
|
|
if (!check_rights(R_ADMIN | R_FUN))
|
|
return
|
|
|
|
if (!LAZYACCESS(modifiers, LEFT_CLICK))
|
|
return
|
|
|
|
if (!isliving(object))
|
|
return
|
|
|
|
if (selected_smite == null)
|
|
to_chat(user, span_notice("No smite selected."))
|
|
return
|
|
|
|
selected_smite.do_effect(user, object)
|