Skip to content

Commit

Permalink
Moving wizard and spells into a modpack.
Browse files Browse the repository at this point in the history
  • Loading branch information
MistakeNot4892 committed Jul 16, 2024
1 parent c1e1120 commit fe48a2d
Show file tree
Hide file tree
Showing 140 changed files with 4,426 additions and 4,567 deletions.
292 changes: 0 additions & 292 deletions code/_onclick/hud/screen/screen_abilities.dm

This file was deleted.

4 changes: 4 additions & 0 deletions code/datums/extensions/abilities/abilities.dm
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,7 @@
for(var/datum/ability_handler/handler in ability_handlers)
handler.refresh_login()

/datum/extension/abilities/proc/refresh_element_positioning()
var/row = 0
for(var/datum/ability_handler/handler in ability_handlers)
row += handler.refresh_element_positioning(row)
22 changes: 22 additions & 0 deletions code/datums/extensions/abilities/abilities_mob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
return FALSE
handler = new handler_type(abilities, src)
LAZYADD(abilities.ability_handlers, handler)
handler.finalize_ability_handler()
return handler

/mob/proc/remove_ability_handler(handler_type)
Expand All @@ -31,3 +32,24 @@
if(!LAZYLEN(abilities.ability_handlers))
remove_extension(src, /datum/extension/abilities)
return TRUE

/mob/living/proc/copy_abilities_from(mob/living/donor)
var/datum/extension/abilities/abilities = get_extension(src, /datum/extension/abilities)
if(!abilities)
return FALSE
. = FALSE
for(var/datum/ability_handler/handler in abilities.ability_handlers)
if(handler.copy_abilities_to(donor))
. = TRUE

/mob/living/proc/disable_abilities(var/amount = 0)
if(amount < 0)
return
var/datum/extension/abilities/abilities = get_extension(src, /datum/extension/abilities)
for(var/datum/ability_handler/handler in abilities?.ability_handlers)
handler.disable_abilities(amount)

/mob/living/proc/copy_abilities_to(mob/living/donor)
var/datum/extension/abilities/abilities = get_extension(src, /datum/extension/abilities)
for(var/datum/ability_handler/handler in abilities?.ability_handlers)
handler.copy_abilities_to(donor)
37 changes: 37 additions & 0 deletions code/datums/extensions/abilities/ability_button.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/obj/screen/ability_button
requires_ui_style = FALSE
requires_owner = FALSE
icon = 'icons/mob/screen/abilities.dmi'
icon_state = "ability"

var/ability_category_tag
var/datum/ability_handler/owning_handler

/obj/screen/ability_button/Destroy()
if(owning_handler)
owning_handler.remove_screen_element(src)
owning_handler = null
return ..()

/obj/screen/ability_button/on_update_icon()
if(!isnull(ability_category_tag) && owning_handler?.ability_category_tag == ability_category_tag)
invisibility = owning_handler.showing_abilities ? 0 : INVISIBILITY_ABSTRACT
else
invisibility = 0

/obj/screen/ability_button/handle_click(mob/user, params)
to_chat(user, "Click!")

/obj/screen/ability_button/toggle_category
name = "toggle ability cateogry"
icon_state = "category"

/obj/screen/ability_button/toggle_category/Initialize(mapload, mob/_owner, decl/ui_style/ui_style, ui_color, ui_alpha, ui_cat)
. = ..()
update_icon()

/obj/screen/ability_button/toggle_category/handle_click(mob/user, params)
owning_handler?.toggle_category_visibility()

/obj/screen/ability_button/toggle_category/on_update_icon()
icon_state = owning_handler?.showing_abilities ? initial(icon_state) : "[initial(icon_state)]-off"
6 changes: 6 additions & 0 deletions code/datums/extensions/abilities/ability_decl.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/decl/ability
abstract_type = /decl/ability
var/name
var/desc
var/hidden_from_codex = FALSE
var/is_supernatural = FALSE
Loading

0 comments on commit fe48a2d

Please sign in to comment.