d k daunkey kaung
This commit is contained in:
@@ -200,7 +200,7 @@ Doesn't work on other aliens/AI.*/
|
||||
|
||||
/obj/effect/proc_holder/alien/neurotoxin/update_icon()
|
||||
action.button_icon_state = "alien_neurotoxin_[active]"
|
||||
action.UpdateButtonIcon()
|
||||
action.UpdateButtons()
|
||||
|
||||
/obj/effect/proc_holder/alien/neurotoxin/InterceptClickOn(mob/living/caller, params, atom/target)
|
||||
if(..())
|
||||
@@ -333,7 +333,7 @@ Doesn't work on other aliens/AI.*/
|
||||
for(var/X in abilities)
|
||||
var/obj/effect/proc_holder/alien/APH = X
|
||||
if(APH.has_action)
|
||||
APH.action.UpdateButtonIcon()
|
||||
APH.action.UpdateButtons()
|
||||
return 1
|
||||
|
||||
/mob/living/carbon/alien/adjustPlasma(amount)
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
to_chat(owner, "There's something stuck to your hand, stopping you from transforming!")
|
||||
return
|
||||
if(IsAvailable())
|
||||
UpdateButtonIcon()
|
||||
UpdateButtons()
|
||||
var/mutcolor = owner.get_ability_property(INNATE_ABILITY_SLIME_BLOBFORM, PROPERTY_BLOBFORM_COLOR) || ("#" + H.dna.features["mcolor"])
|
||||
if(!is_puddle)
|
||||
if(CHECK_MOBILITY(H, MOBILITY_USE)) //if we can use items, we can turn into a puddle
|
||||
@@ -78,7 +78,7 @@
|
||||
owner.update_antag_overlays()
|
||||
|
||||
transforming = FALSE
|
||||
UpdateButtonIcon()
|
||||
UpdateButtons()
|
||||
else
|
||||
detransform()
|
||||
else
|
||||
@@ -109,4 +109,4 @@
|
||||
squeak.RemoveComponent()
|
||||
H.regenerate_icons()
|
||||
transforming = FALSE
|
||||
UpdateButtonIcon()
|
||||
UpdateButtons()
|
||||
|
||||
@@ -480,9 +480,9 @@
|
||||
spark_system.start()
|
||||
do_teleport(H, get_turf(H), 12, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE)
|
||||
last_teleport = world.time
|
||||
UpdateButtonIcon() //action icon looks unavailable
|
||||
sleep(cooldown + 5)
|
||||
UpdateButtonIcon() //action icon looks available again
|
||||
UpdateButtons() //action icon looks unavailable
|
||||
//action icon looks available again
|
||||
addtimer(CALLBACK(src, .proc/UpdateButtons), cooldown + 5)
|
||||
|
||||
|
||||
//honk
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
|
||||
var/datum/action/innate/ability/regrowth = H.ability_actions[INNATE_ABILITY_LIMB_REGROWTH]
|
||||
if(regrowth)
|
||||
regrowth.UpdateButtonIcon()
|
||||
regrowth.UpdateButtons()
|
||||
|
||||
return FALSE // to let living/handle_blood know that the species is handling blood instead
|
||||
|
||||
@@ -472,9 +472,9 @@
|
||||
|
||||
/datum/species/jelly/luminescent/proc/update_slime_actions()
|
||||
integrate_extract.update_name()
|
||||
integrate_extract.UpdateButtonIcon()
|
||||
extract_minor.UpdateButtonIcon()
|
||||
extract_major.UpdateButtonIcon()
|
||||
integrate_extract.UpdateButtons()
|
||||
extract_minor.UpdateButtons()
|
||||
extract_major.UpdateButtons()
|
||||
|
||||
/datum/species/jelly/luminescent/proc/update_glow(mob/living/carbon/C, intensity)
|
||||
if(intensity)
|
||||
@@ -514,7 +514,7 @@
|
||||
name = "Eject Extract"
|
||||
desc = "Eject your current slime extract."
|
||||
|
||||
/datum/action/innate/integrate_extract/UpdateButtonIcon(status_only, force)
|
||||
/datum/action/innate/integrate_extract/UpdateButton(atom/movable/screen/movable/action_button/button, status_only, force)
|
||||
if(!species || !species.current_extract)
|
||||
button_icon_state = "slimeconsume"
|
||||
else
|
||||
|
||||
@@ -636,7 +636,7 @@
|
||||
if(mind)
|
||||
for(var/S in mind.spell_list)
|
||||
var/obj/effect/proc_holder/spell/spell = S
|
||||
spell.updateButtonIcon()
|
||||
spell.UpdateButton()
|
||||
|
||||
//proc used to remove all immobilisation effects + reset stamina
|
||||
/mob/living/proc/remove_CC(should_update_mobility = TRUE)
|
||||
|
||||
@@ -241,7 +241,7 @@
|
||||
// before doing anything, check if the user moused over them properly
|
||||
if(!client)
|
||||
return BLOCK_NONE
|
||||
var/found = attacker == client.mouseObject
|
||||
var/found = attacker == WEAKREF(client.mouse_object_ref)
|
||||
if(!found)
|
||||
for(var/i in client.moused_over_objects)
|
||||
if(i == object)
|
||||
|
||||
@@ -44,6 +44,9 @@
|
||||
var/can_repair_constructs = FALSE
|
||||
var/can_repair_self = FALSE
|
||||
var/runetype
|
||||
var/datum/action/innate/cult/create_rune/our_rune
|
||||
/// Theme controls color. THEME_CULT is red THEME_WIZARD is purple and THEME_HOLY is blue
|
||||
var/theme = "cult"
|
||||
var/datum/mind/original_mind
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/Initialize(mapload)
|
||||
@@ -51,24 +54,24 @@
|
||||
update_health_hud()
|
||||
var/spellnum = 1
|
||||
for(var/spell in construct_spells)
|
||||
var/the_spell = new spell(null)
|
||||
AddSpell(the_spell)
|
||||
var/obj/effect/proc_holder/spell/S = mob_spell_list[spellnum]
|
||||
var/pos = 2+spellnum*31
|
||||
if(construct_spells.len >= 4)
|
||||
pos -= 31*(construct_spells.len - 4)
|
||||
S.action.button.screen_loc = "6:[pos],4:-2"
|
||||
S.action.button.moved = "6:[pos],4:-2"
|
||||
var/obj/effect/proc_holder/spell/the_spell = new spell(null)
|
||||
the_spell?.action.default_button_position ="6:[pos],4:-2"
|
||||
AddSpell(the_spell)
|
||||
spellnum++
|
||||
if(runetype)
|
||||
var/datum/action/innate/cult/create_rune/CR = new runetype(src)
|
||||
CR.Grant(src)
|
||||
var/pos = 2+spellnum*31
|
||||
CR.button.screen_loc = "6:[pos],4:-2"
|
||||
CR.button.moved = "6:[pos],4:-2"
|
||||
our_rune = new runetype(src)
|
||||
our_rune.default_button_position = "6:[pos],4:-2" // Set the default position to this random position
|
||||
our_rune.Grant(src)
|
||||
if(icon_state)
|
||||
add_overlay("glow_[icon_state]_[theme]")
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/Destroy()
|
||||
original_mind = null
|
||||
QDEL_NULL(our_rune)
|
||||
. = ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/death()
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
var/datum/action/boss/AB = ab
|
||||
if(!boss.client && (!AB.req_statuses || (boss.AIStatus in AB.req_statuses)) && prob(AB.usage_probability) && AB.Trigger())
|
||||
break
|
||||
AB.UpdateButtonIcon(TRUE)
|
||||
AB.UpdateButtons(TRUE)
|
||||
|
||||
|
||||
/datum/boss_active_timed_battle/Destroy()
|
||||
|
||||
@@ -336,7 +336,7 @@
|
||||
if(L.blood_volume && (L.stat != DEAD || !consumed_mobs[L.tag])) //if they're not dead, you can consume them anyway
|
||||
consumed_mobs[L.tag] = TRUE
|
||||
fed++
|
||||
lay_eggs.UpdateButtonIcon(TRUE)
|
||||
lay_eggs.UpdateButtons(TRUE)
|
||||
visible_message("<span class='danger'>[src] sticks a proboscis into [L] and sucks a viscous substance out.</span>","<span class='notice'>You suck the nutriment out of [L], feeding you enough to lay a cluster of eggs.</span>")
|
||||
L.death() //you just ate them, they're dead.
|
||||
else
|
||||
@@ -402,7 +402,7 @@
|
||||
|
||||
/obj/effect/proc_holder/wrap/update_icon()
|
||||
action.button_icon_state = "wrap_[active]"
|
||||
action.UpdateButtonIcon()
|
||||
action.UpdateButtons()
|
||||
|
||||
/obj/effect/proc_holder/wrap/Trigger(mob/living/simple_animal/hostile/poison/giant_spider/nurse/user)
|
||||
if(!istype(user))
|
||||
@@ -482,7 +482,7 @@
|
||||
C.poison_per_bite = S.poison_per_bite
|
||||
C.faction = S.faction.Copy()
|
||||
S.fed--
|
||||
UpdateButtonIcon(TRUE)
|
||||
UpdateButtons(TRUE)
|
||||
S.busy = SPIDER_IDLE
|
||||
S.stop_automated_movement = FALSE
|
||||
|
||||
|
||||
@@ -72,19 +72,48 @@ While using this makes the system rely on OnFire, it still gives options for tim
|
||||
icon_icon = 'icons/mob/actions/actions_elites.dmi'
|
||||
button_icon_state = ""
|
||||
background_icon_state = "bg_default"
|
||||
var/mob/living/simple_animal/hostile/asteroid/elite/M
|
||||
var/chosen_message
|
||||
var/chosen_attack_num = 0
|
||||
|
||||
/datum/action/innate/elite_attack/CreateButton()
|
||||
var/atom/movable/screen/movable/action_button/button = ..()
|
||||
button.maptext = ""
|
||||
button.maptext_x = 8
|
||||
button.maptext_y = 0
|
||||
button.maptext_width = 24
|
||||
button.maptext_height = 12
|
||||
return button
|
||||
|
||||
/datum/action/innate/elite_attack/process()
|
||||
if(owner == null)
|
||||
STOP_PROCESSING(SSfastprocess, src)
|
||||
qdel(src)
|
||||
return
|
||||
UpdateButtons()
|
||||
|
||||
/datum/action/innate/elite_attack/UpdateButton(atom/movable/screen/movable/action_button/button, status_only = FALSE, force = FALSE)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(status_only)
|
||||
return
|
||||
var/mob/living/simple_animal/hostile/asteroid/elite/elite_owner = owner
|
||||
var/timeleft = max(elite_owner.ranged_cooldown - world.time, 0)
|
||||
if(timeleft == 0)
|
||||
button.maptext = ""
|
||||
else
|
||||
button.maptext = "<b class='maptext'>[round(timeleft/10, 0.1)]</b>"
|
||||
|
||||
/datum/action/innate/elite_attack/Grant(mob/living/L)
|
||||
if(istype(L, /mob/living/simple_animal/hostile/asteroid/elite))
|
||||
M = L
|
||||
START_PROCESSING(SSfastprocess, src)
|
||||
return ..()
|
||||
return FALSE
|
||||
|
||||
/datum/action/innate/elite_attack/Activate()
|
||||
M.chosen_attack = chosen_attack_num
|
||||
to_chat(M, chosen_message)
|
||||
var/mob/living/simple_animal/hostile/asteroid/elite/elite_owner = owner
|
||||
elite_owner.chosen_attack = chosen_attack_num
|
||||
to_chat(elite_owner, chosen_message)
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/elite/updatehealth()
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user