diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index e046056abc7..bcc7684a474 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -309,6 +309,7 @@ anchored = 1 var/health = 100 var/status = GROWING //can be GROWING, GROWN or BURST; all mutually exclusive + layer = MOB_LAYER /obj/structure/alien/egg/New() diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 8ed0e47dd22..c3f7d22fe8a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -194,9 +194,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s if (loc == user) if(!user.unEquip(src)) return - else - if(isliving(loc)) - return + pickup(user) add_fingerprint(user) user.put_in_active_hand(src) 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 f4e62fdaf7c..46899474a5a 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm @@ -1,8 +1,8 @@ /mob/living/carbon/alien/humanoid/hunter name = "alien hunter" caste = "h" - maxHealth = 150 - health = 150 + maxHealth = 125 + health = 125 icon_state = "alienh_s" /mob/living/carbon/alien/humanoid/hunter/New() diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm index 9194dafe2b6..aa86fe90a52 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm @@ -1,8 +1,8 @@ /mob/living/carbon/alien/humanoid/sentinel name = "alien sentinel" caste = "s" - maxHealth = 125 - health = 125 + maxHealth = 150 + health = 150 icon_state = "aliens_s" @@ -35,4 +35,3 @@ /mob/living/carbon/alien/humanoid/sentinel/movement_delay() . = ..() - . += 1 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/larva/powers.dm b/code/modules/mob/living/carbon/alien/larva/powers.dm index 3bc9e44a910..3f9cb657498 100644 --- a/code/modules/mob/living/carbon/alien/larva/powers.dm +++ b/code/modules/mob/living/carbon/alien/larva/powers.dm @@ -40,9 +40,9 @@ if(L.amount_grown >= L.max_grown) //TODO ~Carn L << "You are growing into a beautiful alien! It is time to choose a caste." L << "There are three to choose from:" - L << "Hunters are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves." - L << "Sentinels are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters." - L << "Drones are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen." + L << "Hunters are the most agile caste tasked with hunting for hosts. They are faster than a human and can even pounce, but are not much tougher than a drone." + L << "Sentinels are tasked with protecting the hive. With their ranged spit, invisibility, and high health, they make formidable guardians and acceptable secondhand hunters." + L << "Drones are the weakest and slowest of the castes, but can grow into the queen if there is none, and are vital to maintaining a hive with their resin secretion abilities." var/alien_caste = alert(L, "Please choose which alien caste you shall belong to.",,"Hunter","Sentinel","Drone") var/mob/living/carbon/alien/humanoid/new_xeno diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index d4f997ddf7b..8253084dc46 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -19,6 +19,7 @@ var/const/MAX_ACTIVE_TIME = 400 throw_range = 5 tint = 3 flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH + layer = MOB_LAYER var/stat = CONSCIOUS //UNCONSCIOUS is the idle state in this case diff --git a/code/modules/mob/living/carbon/human/human_attackalien.dm b/code/modules/mob/living/carbon/human/human_attackalien.dm index 30e03e615cb..50616ff5af8 100644 --- a/code/modules/mob/living/carbon/human/human_attackalien.dm +++ b/code/modules/mob/living/carbon/human/human_attackalien.dm @@ -7,7 +7,7 @@ if(M.a_intent == "harm") if (w_uniform) w_uniform.add_fingerprint(M) - var/damage = rand(15, 30) + var/damage = prob(90) ? 20 : 0 if(!damage) playsound(loc, 'sound/weapons/slashmiss.ogg', 50, 1, -1) visible_message("[M] has lunged at [src]!", \ @@ -21,7 +21,7 @@ "[M] has slashed at [src]!") apply_damage(damage, BRUTE, affecting, armor_block) - if (damage >= 25) + if (prob(30)) visible_message("[M] has wounded [src]!", \ "[M] has wounded [src]!") apply_effect(4, WEAKEN, armor_block) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index d765473f1a6..fe134199e80 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -653,7 +653,7 @@ if(!(lying)) M.do_attack_animation(src) if (prob(85)) - Stun(7) + Stun(2) step(src,get_dir(M,src)) spawn(5) step(src,get_dir(M,src)) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index ad30be604bf..1b730a52172 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -366,7 +366,7 @@ /mob/living/silicon/attack_alien(mob/living/carbon/alien/humanoid/M) if(..()) //if harm or disarm intent - var/damage = rand(10, 20) + var/damage = 20 if (prob(90)) add_logs(M, src, "attacked") playsound(loc, 'sound/weapons/slash.ogg', 25, 1, -1) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 10c009cbd46..084327a2b75 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -207,9 +207,9 @@ var/mob/living/carbon/attacker = user user.visible_message("[user] is attempting to devour [affecting]!") if(istype(user, /mob/living/carbon/alien/humanoid/hunter)) - if(!do_mob(user, affecting)||!do_after(user, 30, target = affecting)) return + if(!do_mob(user, affecting, 60)) return else - if(!do_mob(user, affecting)||!do_after(user, 100, target = affecting)) return + if(!do_mob(user, affecting, 130)) return user.visible_message("[user] devours [affecting]!") affecting.loc = user attacker.stomach_contents.Add(affecting) diff --git a/html/changelogs/xxalpha-aliums.yml b/html/changelogs/xxalpha-aliums.yml new file mode 100644 index 00000000000..dededd6093d --- /dev/null +++ b/html/changelogs/xxalpha-aliums.yml @@ -0,0 +1,14 @@ +author: xxalpha + +delete-after: True + +changes: + - bugfix: "Fixed not being able to grab things from storage while inside aliens." + - bugfix: "Fixed two progress bars when devouring." + - rscadd: "Shields will now block alien hunter pounces." + - tweak: "Alien hunters health reduced to 125 from 150. Alien sentinels health increased to 150 from 125." + - tweak: "Alien hunters will no longer be transparent when stalking, this ability was given to alien sentinels." + - tweak: "Alien slashing now deals constant 20 damage but has a chance to miss." + - tweak: "Reduced alien disarm stun duration vs cyborgs, from 7 seconds to 2 seconds." + - tweak: "Alien sentinels now move as fast as humans." + - tweak: "Facehuggers and alien eggs layers increased to be higher than resin walls." \ No newline at end of file diff --git a/icons/mob/alien.dmi b/icons/mob/alien.dmi index 0b2c7f8e136..24a4ca0cb63 100644 Binary files a/icons/mob/alien.dmi and b/icons/mob/alien.dmi differ