diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index dfabe23025..7e6f488a47 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -271,8 +271,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." /obj/screen/alert/bloodsense/Initialize() . = ..() - if(!narnar) - narnar = new('icons/mob/screen_alert.dmi', "mini_nar") + narnar = new('icons/mob/screen_alert.dmi', "mini_nar") START_PROCESSING(SSprocessing, src) /obj/screen/alert/bloodsense/Destroy() diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index c72152668d..4c25d221ff 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -3,6 +3,7 @@ icon = 'icons/obj/wizard.dmi' icon_state = "soulstone" item_state = "electronic" + layer = HIGH_OBJ_LAYER desc = "A fragment of the legendary treasure known simply as the 'Soul Stone'. The shard still flickers with a fraction of the full artefact's power." w_class = WEIGHT_CLASS_TINY slot_flags = SLOT_BELT @@ -213,12 +214,12 @@ var/obj/screen/alert/bloodsense/BS if(newstruct.mind && ((stoner && iscultist(stoner)) || cultoverride) && SSticker && SSticker.mode) SSticker.mode.add_cultist(newstruct.mind, 0) - BS = newstruct.alerts.Find("bloodsense") if(iscultist(stoner) || cultoverride) to_chat(newstruct, "You are still bound to serve the cult[stoner ? " and [stoner]":""], follow their orders and help them complete their goals at all costs.") else if(stoner) to_chat(newstruct, "You are still bound to serve your creator, [stoner], follow their orders and help them complete their goals at all costs.") - BS = newstruct.throw_alert("bloodsense", /obj/screen/alert/bloodsense) + newstruct.clear_alert("bloodsense") + BS = newstruct.throw_alert("bloodsense", /obj/screen/alert/bloodsense) if(BS) BS.Cviewer = newstruct newstruct.cancel_camera() diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index 045673b019..7ade1b707f 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -10,6 +10,7 @@ /obj/effect/forcefield/cult desc = "An unholy shield that blocks all attacks." name = "glowing wall" + icon = 'icons/effects/cult_effects.dmi' icon_state = "cultshield" ///////////Mimewalls/////////// diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 6fe1c5db53..afcf1d4c33 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -386,7 +386,6 @@ background_icon_state = "bg_demon" buttontooltipstyle = "cult" button_icon_state = "cult_mark" - var/tracking = FALSE var/mob/living/simple_animal/hostile/construct/harvester/the_construct /datum/action/innate/seek_prey/Grant(var/mob/living/C) @@ -396,12 +395,10 @@ /datum/action/innate/seek_prey/Activate() if(GLOB.cult_narsie == null) return - if(tracking) + if(the_construct.seeking) desc = "None can hide from Nar'Sie, activate to track a survivor attempting to flee the red harvest!" button_icon_state = "cult_mark" - tracking = FALSE the_construct.seeking = FALSE - the_construct.master = GLOB.cult_narsie to_chat(the_construct, "You are now tracking Nar'Sie, return to reap the harvest!") return else @@ -413,7 +410,6 @@ return desc = "Activate to track Nar'Sie!" button_icon_state = "sintouch" - tracking = TRUE the_construct.seeking = TRUE diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index d47a5b268c..f022e0338f 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -203,7 +203,8 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th charge_counter-- //returns the charge if the targets selecting fails if("holdervar") adjust_var(user, holder_var_type, holder_var_amount) - + if(action) + action.UpdateButtonIcon() return 1 /obj/effect/proc_holder/spell/proc/invocation(mob/user = usr) //spelling the spell out and setting it on recharge/reducing charges amount @@ -249,16 +250,13 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th return TRUE /obj/effect/proc_holder/spell/proc/start_recharge() - if(action) - action.UpdateButtonIcon() recharging = TRUE - if(action) - action.UpdateButtonIcon() /obj/effect/proc_holder/spell/process() if(recharging && charge_type == "recharge" && (charge_counter < charge_max)) charge_counter += 2 //processes 5 times per second instead of 10. if(charge_counter >= charge_max) + action.UpdateButtonIcon() charge_counter = charge_max recharging = FALSE @@ -276,6 +274,8 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th else cast(targets,user=user) after_cast(targets) + if(action) + action.UpdateButtonIcon() /obj/effect/proc_holder/spell/proc/before_cast(list/targets) if(overlay) @@ -332,6 +332,8 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th charge_counter++ if("holdervar") adjust_var(user, holder_var_type, -holder_var_amount) + if(action) + action.UpdateButtonIcon() /obj/effect/proc_holder/spell/proc/adjust_var(mob/living/target = usr, type, amount) //handles the adjustment of the var when the spell is used. has some hardcoded types if (!istype(target)) diff --git a/html/changelogs/AutoChangeLog-pr-1110.yml b/html/changelogs/AutoChangeLog-pr-1110.yml new file mode 100644 index 0000000000..ba60502d77 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1110.yml @@ -0,0 +1,8 @@ +author: "Robustin" +delete-after: True +changes: + - rscadd: "Added a sexy new icon for the harvester's AOE conversion spell" + - bugfix: "Fixed construct's forcewall being invisible" + - bugfix: "Fixed cult constructs \"Locate Master\" and \"Locate Prey\" not functioning" + - bugfix: "Fixed spell action buttons not showing their actual availability status" + - tweak: "Changed the duration of a few frames for the new Cult ending" diff --git a/icons/effects/station_explosion.dmi b/icons/effects/station_explosion.dmi index bddc66e137..385818b011 100644 Binary files a/icons/effects/station_explosion.dmi and b/icons/effects/station_explosion.dmi differ diff --git a/icons/mob/actions.dmi b/icons/mob/actions.dmi index 7f6f85b004..c8fc98d4f5 100644 Binary files a/icons/mob/actions.dmi and b/icons/mob/actions.dmi differ