diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm index e3675ce0c24..f05c74bc115 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm @@ -237,6 +237,19 @@ Doesn't work on other aliens/AI.*/ if(user.ranged_ability == src) user.ranged_ability = null +/obj/effect/proc_holder/alien/neurotoxin/add_ranged_ability(mob/living/user, msg) + ..() + if(isalienadult(user)) + var/mob/living/carbon/alien/humanoid/A = user + A.drooling = 1 + A.update_icons() + +/obj/effect/proc_holder/alien/neurotoxin/remove_ranged_ability(mob/living/user, msg) + ..() + if(isalienadult(user)) + var/mob/living/carbon/alien/humanoid/A = user + A.drooling = 0 + A.update_icons() /obj/effect/proc_holder/alien/resin name = "Secrete Resin" diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm index 8a37aeb63dd..7f6704cb81e 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm @@ -52,9 +52,11 @@ else //Maybe uses plasma in the future, although that wouldn't make any sense... leaping = 1 + weather_immunities += "lava" update_icons() throw_at(A,MAX_ALIEN_LEAP_DIST,1, spin=0, diagonals_first = 1) leaping = 0 + weather_immunities -= "lava" update_icons() /mob/living/carbon/alien/humanoid/hunter/throw_impact(atom/A) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 051bdb1add5..1dfe38aaf9d 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -14,6 +14,7 @@ var/custom_pixel_x_offset = 0 //for admin fuckery. var/custom_pixel_y_offset = 0 var/sneaking = 0 //For sneaky-sneaky mode and appropriate slowdown + var/drooling = 0 //For Neruotoxic spit overlays //This is fine right now, if we're adding organ specific damage this needs to be updated /mob/living/carbon/alien/humanoid/New() @@ -36,7 +37,6 @@ adjustBruteLoss(15) var/hitverb = "punched" if(mob_size < MOB_SIZE_LARGE) - Paralyse(1) step_away(src,user,15) sleep(1) step_away(src,user,15) diff --git a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm index b6355ae72ef..b4e3dc16c8f 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm @@ -20,8 +20,12 @@ icon_state = "alien[caste]_sleep" else if(mob_size == MOB_SIZE_LARGE) icon_state = "alien[caste]" + if(drooling) + add_overlay("alienspit_[caste]") else icon_state = "alien[caste]_s" + if(drooling) + add_overlay("alienspit_s") if(leaping) if(alt_icon == initial(alt_icon)) @@ -50,6 +54,19 @@ ..() update_icons() +/mob/living/carbon/alien/humanoid/update_inv_handcuffed() + remove_overlay(HANDCUFF_LAYER) + var/cuff_icon = "aliencuff_s" + var/dmi_file = 'icons/mob/alien.dmi' + + if(mob_size == MOB_SIZE_LARGE) + cuff_icon = "aliencuff_[caste]" + dmi_file = 'icons/mob/alienqueen.dmi' + + if(handcuffed) + overlays_standing[HANDCUFF_LAYER] = image(dmi_file,icon_state= cuff_icon, layer =-HANDCUFF_LAYER) + apply_overlay(HANDCUFF_LAYER) + //Royals have bigger sprites, so inhand things must be handled differently. /mob/living/carbon/alien/humanoid/royal/update_inv_r_hand() ..() @@ -74,4 +91,4 @@ var/image/I = image("icon" = alt_inhands_file , "icon_state"="[itm_state][caste]_l", "layer"=-L_HAND_LAYER) overlays_standing[L_HAND_LAYER] = I - apply_overlay(L_HAND_LAYER) + apply_overlay(L_HAND_LAYER) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 46d5bab8fc3..887cf139996 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -43,7 +43,6 @@ if(user.a_intent == "harm") ..(user, 1) adjustBruteLoss(5 + rand(1,9)) - Paralyse(1) spawn() step_away(src,user,15) sleep(1) diff --git a/icons/mob/actions.dmi b/icons/mob/actions.dmi index 7233df472f0..0c494d78020 100644 Binary files a/icons/mob/actions.dmi and b/icons/mob/actions.dmi differ diff --git a/icons/mob/alien.dmi b/icons/mob/alien.dmi index 000933b7431..f56b5e43bbf 100644 Binary files a/icons/mob/alien.dmi and b/icons/mob/alien.dmi differ diff --git a/icons/mob/alienqueen.dmi b/icons/mob/alienqueen.dmi index 488368dbf19..4b84210c5a7 100644 Binary files a/icons/mob/alienqueen.dmi and b/icons/mob/alienqueen.dmi differ