diff --git a/code/game/gamemodes/technomancer/spells/summon/summon_creature.dm b/code/game/gamemodes/technomancer/spells/summon/summon_creature.dm index 07abaed7c6b..802755ed561 100644 --- a/code/game/gamemodes/technomancer/spells/summon/summon_creature.dm +++ b/code/game/gamemodes/technomancer/spells/summon/summon_creature.dm @@ -17,22 +17,23 @@ desc = "Chitter chitter." summoned_mob_type = null summon_options = list( - "Rat" = /mob/living/simple_animal/rat, - "Lizard" = /mob/living/simple_animal/lizard, - "Chicken" = /mob/living/simple_animal/chicken, - "Chick" = /mob/living/simple_animal/chick, - "Crab" = /mob/living/simple_animal/crab, - "Parrot" = /mob/living/simple_animal/parrot, - "Goat" = /mob/living/simple_animal/hostile/retaliate/goat, - "Cat" = /mob/living/simple_animal/cat, - "Corgi" = /mob/living/simple_animal/corgi, - "Corgi Pup" = /mob/living/simple_animal/corgi/puppy, - "BAT" = /mob/living/simple_animal/hostile/scarybat, - "GREIMORIAN" = /mob/living/simple_animal/hostile/giant_spider, - "GREIMORIAN HUNTER" = /mob/living/simple_animal/hostile/giant_spider/hunter, - "GREIMORIAN NURSE" = /mob/living/simple_animal/hostile/giant_spider/nurse, - "CARP" = /mob/living/simple_animal/hostile/carp, - "BEAR" = /mob/living/simple_animal/hostile/bear + "Rat" = /mob/living/simple_animal/rat, + "Lizard" = /mob/living/simple_animal/lizard, + "Chicken" = /mob/living/simple_animal/chicken, + "Chick" = /mob/living/simple_animal/chick, + "Crab" = /mob/living/simple_animal/crab, + "Parrot" = /mob/living/simple_animal/parrot, + "Goat" = /mob/living/simple_animal/hostile/retaliate/goat, + "Cat" = /mob/living/simple_animal/cat, + "Corgi" = /mob/living/simple_animal/corgi, + "Corgi Pup" = /mob/living/simple_animal/corgi/puppy, + "BAT" = /mob/living/simple_animal/hostile/scarybat, + "GREIMORIAN" = /mob/living/simple_animal/hostile/giant_spider, + "GREIMORIAN HUNTER" = /mob/living/simple_animal/hostile/giant_spider/hunter, + "GREIMORIAN BOMBARDIER" = /mob/living/simple_animal/hostile/giant_spider/bombardier, + "GREIMORIAN NURSE" = /mob/living/simple_animal/hostile/giant_spider/nurse, + "CARP" = /mob/living/simple_animal/hostile/carp, + "BEAR" = /mob/living/simple_animal/hostile/bear ) cooldown = 30 instability_cost = 10 @@ -56,4 +57,4 @@ // Now we hurt their new pal, because being forcefully abducted by teleportation can't be healthy. - summoned.adjustBruteLoss(summoned.getMaxHealth() * 0.3) // Lose 30% of max health on arrival (but could be healed back up). \ No newline at end of file + summoned.adjustBruteLoss(summoned.getMaxHealth() * 0.3) // Lose 30% of max health on arrival (but could be healed back up). diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 173c30e7fb7..32265f59eba 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -99,6 +99,36 @@ poison_per_bite = 2 move_to_delay = 5 +/mob/living/simple_animal/hostile/giant_spider/bombardier + name = "greimorian bombardier" + desc = "A disgusting crawling Greimorian. This one has vents that shoot out condensed capsaicin." + icon_state = "greimorian_bombardier" + icon_living = "greimorian_bombardier" + icon_dead = "greimorian_bombardier_dead" + maxHealth = 60 + health = 60 + melee_damage_lower = 5 + melee_damage_upper = 10 + armor_penetration = 5 + ranged = TRUE + ranged_attack_range = 4 + poison_type = /singleton/reagent/capsaicin/condensed + poison_per_bite = 2 + move_to_delay = 5 + +/mob/living/simple_animal/hostile/giant_spider/bombardier/Shoot(var/target, var/start, var/mob/user, var/bullet = 0) + if(target == start) + return + + playsound(loc, 'sound/effects/spray2.ogg', 50, 1, -6) + + var/turf/target_turf = get_turf(target) + var/obj/effect/effect/water/chempuff/pepperspray = new /obj/effect/effect/water/chempuff(get_turf(src)) + pepperspray.create_reagents(15) + pepperspray.reagents.add_reagent(poison_type, 15) + pepperspray.set_color() + pepperspray.set_up(target_turf, 3, 5) + /mob/living/simple_animal/hostile/giant_spider/Initialize(mapload, atom/parent) get_light_and_color(parent) . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 8649b4fb4ea..cacf9dde455 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -6,6 +6,7 @@ var/attack_same = 0 var/ranged = 0 var/rapid = 0 + var/ranged_attack_range = 6 var/projectiletype var/projectilesound var/casingtype @@ -160,7 +161,7 @@ LoseTarget() if(target_mob in targets) if(ranged) - if(get_dist(src, target_mob) <= 6) + if(get_dist(src, target_mob) <= ranged_attack_range) walk(src, 0) // We gotta stop moving if we are in range OpenFire(target_mob) else diff --git a/html/changelogs/geeves-stop_resisting.yml b/html/changelogs/geeves-stop_resisting.yml new file mode 100644 index 00000000000..84fe653951e --- /dev/null +++ b/html/changelogs/geeves-stop_resisting.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Added the greimorian bombardier, a greimorian that shoots pepperspray." \ No newline at end of file diff --git a/icons/mob/npc/greimorian.dmi b/icons/mob/npc/greimorian.dmi index e43c3d7ba48..d2d624a21c7 100644 Binary files a/icons/mob/npc/greimorian.dmi and b/icons/mob/npc/greimorian.dmi differ