From 6d668bec12416323ee2e321a0ef4bc9d9fb5f66c Mon Sep 17 00:00:00 2001 From: Alexis Date: Mon, 29 Dec 2025 14:41:26 -0500 Subject: [PATCH] Skyrat Basic Mobs: Malfunctioning Borgs (#5045) ## About The Pull Request I finally got around to going through the list of 'Grab Bag Simple Mobs', first up on the list is the 'Evil Borgs' which have been renamed to 'Malf Borgs'. They didn't get any cool new abilities like that one /tg/ coder does when they re-do mobs, but they're passible now, and not clogging up the list. ## Why It's Good For The Game Basic mobs are the future or something. ## Proof Of Testing They worked when I tested them. I am NOT recording videos of each and every mob mauling me. ## Changelog :cl: refactor: Refactored the unused evil borg simple mobs into equally unused malf borg basic mobs. /:cl: --- .../unit_tests/simple_animal_freeze.dm | 10 -- .../simple_animal/hostile/grabbagmob.dm | 167 ------------------ .../basic/malf_borgs/big_guy/big_guy.dm | 30 ++++ .../mob/living/basic/malf_borgs/dog/dog.dm | 55 ++++++ .../mob/living/basic/malf_borgs/engi/engi.dm | 25 +++ .../living/basic/malf_borgs/heavy/heavy.dm | 27 +++ .../mob/living/basic/malf_borgs/malf_borg.dm | 70 ++++++++ .../malf_borgs/peacekeeper/peacekeeper.dm | 25 +++ .../basic/malf_borgs/protect/protect.dm | 25 +++ .../living/basic/malf_borgs/roomba/roomba.dm | 27 +++ .../mob/living/basic/malf_borgs/sec/sec.dm | 25 +++ tgstation.dme | 9 + 12 files changed, 318 insertions(+), 177 deletions(-) create mode 100644 modular_zubbers/code/modules/mob/living/basic/malf_borgs/big_guy/big_guy.dm create mode 100644 modular_zubbers/code/modules/mob/living/basic/malf_borgs/dog/dog.dm create mode 100644 modular_zubbers/code/modules/mob/living/basic/malf_borgs/engi/engi.dm create mode 100644 modular_zubbers/code/modules/mob/living/basic/malf_borgs/heavy/heavy.dm create mode 100644 modular_zubbers/code/modules/mob/living/basic/malf_borgs/malf_borg.dm create mode 100644 modular_zubbers/code/modules/mob/living/basic/malf_borgs/peacekeeper/peacekeeper.dm create mode 100644 modular_zubbers/code/modules/mob/living/basic/malf_borgs/protect/protect.dm create mode 100644 modular_zubbers/code/modules/mob/living/basic/malf_borgs/roomba/roomba.dm create mode 100644 modular_zubbers/code/modules/mob/living/basic/malf_borgs/sec/sec.dm diff --git a/code/modules/unit_tests/simple_animal_freeze.dm b/code/modules/unit_tests/simple_animal_freeze.dm index 1022728b3b1..82a9ee86d24 100644 --- a/code/modules/unit_tests/simple_animal_freeze.dm +++ b/code/modules/unit_tests/simple_animal_freeze.dm @@ -71,16 +71,6 @@ /mob/living/simple_animal/hostile/cult/warrior, /mob/living/simple_animal/hostile/devourdem, /mob/living/simple_animal/hostile/engorge, - /mob/living/simple_animal/hostile/evilborg, - /mob/living/simple_animal/hostile/evilborg/bigguy, - /mob/living/simple_animal/hostile/evilborg/dog, - /mob/living/simple_animal/hostile/evilborg/dogstrong, - /mob/living/simple_animal/hostile/evilborg/engi, - /mob/living/simple_animal/hostile/evilborg/heavy, - /mob/living/simple_animal/hostile/evilborg/peace, - /mob/living/simple_animal/hostile/evilborg/protect, - /mob/living/simple_animal/hostile/evilborg/roomba, - /mob/living/simple_animal/hostile/evilborg/sec, /mob/living/simple_animal/hostile/looter, /mob/living/simple_animal/hostile/looter/big, /mob/living/simple_animal/hostile/looter/crusher, diff --git a/modular_skyrat/master_files/code/modules/mob/living/simple_animal/hostile/grabbagmob.dm b/modular_skyrat/master_files/code/modules/mob/living/simple_animal/hostile/grabbagmob.dm index 24a20194b8f..009717463f5 100644 --- a/modular_skyrat/master_files/code/modules/mob/living/simple_animal/hostile/grabbagmob.dm +++ b/modular_skyrat/master_files/code/modules/mob/living/simple_animal/hostile/grabbagmob.dm @@ -312,173 +312,6 @@ loot = list(/obj/effect/spawner/random/maintenance/five) projectiletype = /obj/projectile/beam/laser -// Damaged Borgs - -/mob/living/simple_animal/hostile/evilborg - name = "Malfunctioning Cyborg" - desc = "A small cyborg unit, hacked or malfunctioning. It is likely hostile." - icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' - icon_state = "evilbotold" - icon_living = "evilbotold" - gender = NEUTER - mob_biotypes = MOB_ROBOTIC - health = 75 - maxHealth = 75 - melee_damage_lower = 10 - melee_damage_upper = 10 - attack_verb_continuous = "claws" - attack_verb_simple = "claw" - attack_sound = 'sound/items/weapons/bladeslice.ogg' - attack_vis_effect = ATTACK_EFFECT_CLAW - projectilesound = 'sound/items/weapons/gun/pistol/shot.ogg' - projectiletype = /obj/projectile/hivebotbullet - faction = list(FACTION_HOSTILE) - check_friendly_fire = 1 - atmos_requirements = null - minbodytemp = 0 - verb_say = "states" - verb_ask = "queries" - verb_exclaim = "declares" - verb_yell = "alarms" - bubble_icon = "machine" - speech_span = SPAN_ROBOT - del_on_death = 1 - loot = list(/obj/effect/decal/cleanable/blood/gibs/robot_debris) - -/mob/living/simple_animal/hostile/evilborg/heavy - name = "Malfunctioning Heavy Cyborg" - desc = "A large cyborg unit, hacked or malfunctioning. It- oh my god is that a chainsaw?!" - icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' - icon_state = "evilbotheavy" - icon_living = "evilbotheavy" - health = 125 - maxHealth = 125 - melee_damage_lower = 20 - melee_damage_upper = 20 - attack_verb_continuous = "saws" - attack_verb_simple = "saw" - attack_sound = 'sound/items/weapons/chainsawhit.ogg' - -/mob/living/simple_animal/hostile/evilborg/peace - name = "Malfunctioning Peacekeeper Cyborg" - desc = "A cyborg unit, hacked or malfunctioning. This is a Peacekeeper model." - icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' - icon_state = "evilbotpeace" - icon_living = "evilbotpeace" - health = 90 - maxHealth = 90 - melee_damage_lower = 18 - melee_damage_upper = 18 - attack_verb_continuous = "smacks" - attack_verb_simple = "smack" - attack_sound = 'sound/items/weapons/cqchit1.ogg' - -/mob/living/simple_animal/hostile/evilborg/engi - name = "Malfunctioning Engineering Cyborg" - desc = "An engineering cyborg unit, hacked or malfunctioning- Oh shit that's a plasma bar." - icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' - icon_state = "evilbotengi" - icon_living = "evilbotengi" - health = 100 - maxHealth = 100 - melee_damage_type = BURN - melee_damage_lower = 15 - melee_damage_upper = 15 - attack_verb_continuous = "welds" - attack_verb_simple = "weld" - attack_sound = 'sound/items/tools/welder.ogg' - -/mob/living/simple_animal/hostile/evilborg/sec - name = "Malfunctioning Security Cyborg" - desc = "A security cyborg unit, hacked or malfunctioning. There are two guns attached to it." - icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' - icon_state = "evilbotsec" - icon_living = "evilbotsec" - casingtype = /obj/item/ammo_casing/c45 - projectilesound = 'sound/items/weapons/gun/smg/shot.ogg' - health = 75 - maxHealth = 75 - ranged = 1 - melee_damage_lower = 8 - melee_damage_upper = 8 - attack_verb_continuous = "gunbutts" - attack_verb_simple = "gunbutt" - attack_sound = 'sound/items/weapons/smash.ogg' - -/mob/living/simple_animal/hostile/evilborg/roomba - name = "Malfunctioning Roomba Cyborg" - desc = "A roomba, hacked or malfunctioning- OW MY FOOT!" - icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' - icon_state = "evilbotroomba" - icon_living = "evilbotroomba" - health = 80 - maxHealth = 80 - melee_damage_lower = 12 - melee_damage_upper = 12 - attack_verb_continuous = "pokes" - attack_verb_simple = "stab" - attack_sound = 'sound/items/weapons/genhit2.ogg' - -/mob/living/simple_animal/hostile/evilborg/dog - name = "Malfunctioning Canine Cyborg" - desc = "A canine-borg, hacked or malfunctioning. This one appears to be a mining variant." - icon = 'modular_skyrat/master_files/icons/mob/newmobs64x32.dmi' - icon_state = "evilbotmine" - icon_living = "evilbotmine" - health = 115 - maxHealth = 115 - melee_damage_lower = 12 - melee_damage_upper = 12 - attack_verb_continuous = "cleaves" - attack_verb_simple = "smash" - attack_sound = 'sound/items/weapons/bladeslice.ogg' - -/mob/living/simple_animal/hostile/evilborg/dogstrong - name = "Corrupt Hound" - desc = "A canine-borg, hacked or malfunctioning. This one is large, imposing, and can pack a big punch." - icon = 'modular_skyrat/master_files/icons/mob/newmobs64x32.dmi' - icon_state = "evilbotelite" // ported from VORE - icon_living = "evilbotelite" - health = 130 - maxHealth = 130 - melee_damage_lower = 18 - melee_damage_upper = 18 - attack_verb_continuous = "bites" - attack_verb_simple = "bite" - attack_sound = 'sound/items/weapons/bite.ogg' - -/mob/living/simple_animal/hostile/evilborg/bigguy - name = "Malfunctioning Military robot" - desc = "A military robot unit, hacked or malfunctioning. This one looks really tough.." - icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' - icon_state = "sentrybot" - icon_living = "sentrybot" - icon_dead = "sentrybot_d" - casingtype = /obj/item/ammo_casing/c45 - projectilesound = 'sound/items/weapons/gun/smg/shot.ogg' - health = 250 - maxHealth = 250 - ranged = 1 - melee_damage_lower = 12 - melee_damage_upper = 12 - attack_verb_continuous = "gunbutts" - attack_verb_simple = "gunbutt" - attack_sound = 'sound/items/weapons/smash.ogg' - -/mob/living/simple_animal/hostile/evilborg/protect - name = "Malfunctioning Standard Robot" - desc = "A civlian model robot, hacked or malfunctioning with mechanical claw arms." - icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' - icon_state = "protectbot" - icon_living = "protectbot" - health = 100 - maxHealth = 100 - melee_damage_lower = 15 - melee_damage_upper = 15 - attack_verb_continuous = "claws" - attack_verb_simple = "punch" - attack_sound = 'sound/items/weapons/genhit2.ogg' - // Beasts /mob/living/simple_animal/hostile/bigcrab diff --git a/modular_zubbers/code/modules/mob/living/basic/malf_borgs/big_guy/big_guy.dm b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/big_guy/big_guy.dm new file mode 100644 index 00000000000..92fc5e212f6 --- /dev/null +++ b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/big_guy/big_guy.dm @@ -0,0 +1,30 @@ +/mob/living/basic/malf_borg/big_guy + name = "Malfunctioning Military Robot" + desc = "A military robot unit, hacked or malfunctioning. This one looks really tough." + icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' + + ai_controller = /datum/ai_controller/basic_controller/simple/simple_skirmisher + + icon_state = "sentrybot" + icon_living = "sentrybot" + icon_dead = "sentrybot_d" + + health = 250 + maxHealth = 250 + + speed = 0.9 + + exposed_wound_bonus = 0 + sharpness = NONE + + attack_verb_continuous = "gunbutts" + attack_verb_simple = "gunbutt" + attack_sound = 'sound/items/weapons/smash.ogg' + + projectiletype = /obj/projectile/bullet/c45 + projectilesound = 'sound/items/weapons/gun/smg/shot.ogg' + +/mob/living/basic/malf_borg/big_guy/Initialize(mapload) + . = ..() + AddComponent(/datum/component/ranged_attacks, projectile_type = projectiletype, projectile_sound = projectilesound) + ADD_TRAIT(src, TRAIT_SUBTREE_REQUIRED_OPERATIONAL_DATUM, /datum/component/ranged_attacks) diff --git a/modular_zubbers/code/modules/mob/living/basic/malf_borgs/dog/dog.dm b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/dog/dog.dm new file mode 100644 index 00000000000..def3066c689 --- /dev/null +++ b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/dog/dog.dm @@ -0,0 +1,55 @@ +/mob/living/basic/malf_borg/dog + name = "Malfunctioning Canine Cyborg" + desc = "A canine-borg, hacked or malfunctioning. This one appears to be a mining variant." + icon = 'modular_skyrat/master_files/icons/mob/newmobs64x32.dmi' + + icon_state = "evilbotmine" + icon_living = "evilbotmine" + icon_dead = "evilbotmine" + + ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile + + health = 115 + maxHealth = 115 + + speed = 1.3 + + melee_damage_type = BRUTE + wound_bonus = 10 + exposed_wound_bonus = 5 + sharpness = SHARP_EDGED + + attack_verb_continuous = "cleaves" + attack_verb_simple = "smash" + attack_sound = 'sound/items/weapons/bladeslice.ogg' + +/mob/living/basic/malf_borg/dog/Initialize(mapload) + . = ..() + +/mob/living/basic/malf_borg/dogstrong + name = "Corrupt Hound" + desc = "A canine-borg, hacked or malfunctioning. This one is large, imposing, and can pack a big punch." + icon = 'modular_skyrat/master_files/icons/mob/newmobs64x32.dmi' + + icon_state = "evilbotelite" + icon_living = "evilbotelite" + icon_dead = "evilbotelite" + + ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile + + health = 130 + maxHealth = 130 + + speed = 1.15 + + melee_damage_type = BRUTE + wound_bonus = 15 + exposed_wound_bonus = 8 + sharpness = SHARP_POINTY + + attack_verb_continuous = "bites" + attack_verb_simple = "bite" + attack_sound = 'sound/items/weapons/bite.ogg' + +/mob/living/basic/malf_borg/dogstrong/Initialize(mapload) + . = ..() diff --git a/modular_zubbers/code/modules/mob/living/basic/malf_borgs/engi/engi.dm b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/engi/engi.dm new file mode 100644 index 00000000000..9c080113cc6 --- /dev/null +++ b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/engi/engi.dm @@ -0,0 +1,25 @@ +/mob/living/basic/malf_borg/engi + name = "Malfunctioning Engineering Cyborg" + desc = "An engineering cyborg unit, hacked or malfunctioning—oh shit that's a plasma bar." + icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' + + icon_state = "evilbotengi" + icon_living = "evilbotengi" + icon_dead = "evilbotengi" + + ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile + + health = 100 + maxHealth = 100 + + melee_damage_type = BURN + wound_bonus = CANT_WOUND + exposed_wound_bonus = 0 + sharpness = NONE + + attack_verb_continuous = "welds" + attack_verb_simple = "weld" + attack_sound = 'sound/items/tools/welder.ogg' + +/mob/living/basic/malf_borg/engi/Initialize(mapload) + . = ..() diff --git a/modular_zubbers/code/modules/mob/living/basic/malf_borgs/heavy/heavy.dm b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/heavy/heavy.dm new file mode 100644 index 00000000000..ad432db033c --- /dev/null +++ b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/heavy/heavy.dm @@ -0,0 +1,27 @@ +/mob/living/basic/malf_borg/heavy + name = "Malfunctioning Heavy Cyborg" + desc = "A large cyborg unit, hacked or malfunctioning. It—oh my god is that a chainsaw?!" + icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' + + icon_state = "evilbotheavy" + icon_living = "evilbotheavy" + icon_dead = "evilbotheavy" + + ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile + + health = 125 + maxHealth = 125 + + speed = 0.85 + + melee_damage_type = BRUTE + wound_bonus = 25 + exposed_wound_bonus = 15 + sharpness = SHARP_EDGED + + attack_verb_continuous = "saws" + attack_verb_simple = "saw" + attack_sound = 'sound/items/weapons/chainsawhit.ogg' + +/mob/living/basic/malf_borg/heavy/Initialize(mapload) + . = ..() diff --git a/modular_zubbers/code/modules/mob/living/basic/malf_borgs/malf_borg.dm b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/malf_borg.dm new file mode 100644 index 00000000000..b6e6346c244 --- /dev/null +++ b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/malf_borg.dm @@ -0,0 +1,70 @@ +/mob/living/basic/malf_borg + name = "Malfunctioning Cyborg" + desc = "A small cyborg unit, hacked or malfunctioning. It is likely hostile." + icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' + + ai_controller = /datum/ai_controller/basic_controller/simple/simple_skirmisher + + icon_state = "evilbotold" + icon_living = "evilbotold" + + gender = NEUTER + mob_biotypes = MOB_ROBOTIC + faction = list(FACTION_HOSTILE) + combat_mode = TRUE + + health = 75 + maxHealth = 75 + + speed = 1 + melee_damage_lower = 5 + melee_damage_upper = 10 + obj_damage = 15 + armour_penetration = 10 + melee_damage_type = BRUTE + wound_bonus = CANT_WOUND + sharpness = SHARP_EDGED + + melee_attack_cooldown = 2 SECONDS + + attack_verb_continuous = "claws" + attack_verb_simple = "claw" + attack_sound = 'sound/items/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_CLAW + attacked_sound = SFX_PUNCH + + ///The type of projectile that fires from attacks. + var/projectiletype = /obj/projectile/hivebotbullet + ///The sound that plays when the projectile is fired. + var/projectilesound = 'sound/items/weapons/gun/pistol/shot.ogg' + + verb_say = "states" + verb_ask = "queries" + verb_exclaim = "declares" + verb_yell = "alarms" + bubble_icon = "machine" + speech_span = SPAN_ROBOT + + habitable_atmos = null + minimum_survivable_temperature = 0 + maximum_survivable_temperature = INFINITY + + damage_coeff = list( + BRUTE = 1, + BURN = 1, + TOX = 0, + OXY = 0, + STAMINA = 1 + ) + + guaranteed_butcher_results = list( + /obj/effect/decal/cleanable/blood/gibs/robot_debris = 1 + ) + +/mob/living/basic/malf_borg/Initialize(mapload) + . = ..() + AddComponent(/datum/component/ranged_attacks, projectile_type = projectiletype, projectile_sound = projectilesound) + +/mob/living/basic/malf_borg/death(gibbed) + do_sparks(number = 3, cardinal_only = TRUE, source = src) + return ..() diff --git a/modular_zubbers/code/modules/mob/living/basic/malf_borgs/peacekeeper/peacekeeper.dm b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/peacekeeper/peacekeeper.dm new file mode 100644 index 00000000000..43ef3750613 --- /dev/null +++ b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/peacekeeper/peacekeeper.dm @@ -0,0 +1,25 @@ +/mob/living/basic/malf_borg/peace + name = "Malfunctioning Peacekeeper Cyborg" + desc = "A cyborg unit, hacked or malfunctioning. This is a Peacekeeper model." + icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' + + icon_state = "evilbotpeace" + icon_living = "evilbotpeace" + icon_dead = "evilbotpeace" + + ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile + + health = 90 + maxHealth = 90 + + melee_damage_type = BRUTE + wound_bonus = CANT_WOUND + exposed_wound_bonus = 0 + sharpness = NONE + + attack_verb_continuous = "smacks" + attack_verb_simple = "smack" + attack_sound = 'sound/items/weapons/cqchit1.ogg' + +/mob/living/basic/malf_borg/peace/Initialize(mapload) + . = ..() diff --git a/modular_zubbers/code/modules/mob/living/basic/malf_borgs/protect/protect.dm b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/protect/protect.dm new file mode 100644 index 00000000000..b4f7c138f0d --- /dev/null +++ b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/protect/protect.dm @@ -0,0 +1,25 @@ +/mob/living/basic/malf_borg/protect + name = "Malfunctioning Standard Robot" + desc = "A civilian model robot, hacked or malfunctioning with mechanical claw arms." + icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' + + icon_state = "protectbot" + icon_living = "protectbot" + icon_dead = "protectbot" + + ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile + + health = 100 + maxHealth = 100 + + melee_damage_type = BRUTE + wound_bonus = 5 + exposed_wound_bonus = 2 + sharpness = SHARP_POINTY + + attack_verb_continuous = "claws" + attack_verb_simple = "punch" + attack_sound = 'sound/items/weapons/genhit2.ogg' + +/mob/living/basic/malf_borg/protect/Initialize(mapload) + . = ..() diff --git a/modular_zubbers/code/modules/mob/living/basic/malf_borgs/roomba/roomba.dm b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/roomba/roomba.dm new file mode 100644 index 00000000000..32693591387 --- /dev/null +++ b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/roomba/roomba.dm @@ -0,0 +1,27 @@ +/mob/living/basic/malf_borg/roomba + name = "Malfunctioning Roomba Cyborg" + desc = "A roomba, hacked or malfunctioning—OW MY FOOT!" + icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' + + icon_state = "evilbotroomba" + icon_living = "evilbotroomba" + icon_dead = "evilbotroomba" + + ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile + + health = 80 + maxHealth = 80 + + speed = 1.2 + + melee_damage_type = BRUTE + wound_bonus = 6 + exposed_wound_bonus = 3 + sharpness = SHARP_POINTY + + attack_verb_continuous = "pokes" + attack_verb_simple = "stab" + attack_sound = 'sound/items/weapons/genhit2.ogg' + +/mob/living/basic/malf_borg/roomba/Initialize(mapload) + . = ..() diff --git a/modular_zubbers/code/modules/mob/living/basic/malf_borgs/sec/sec.dm b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/sec/sec.dm new file mode 100644 index 00000000000..a7bba57721e --- /dev/null +++ b/modular_zubbers/code/modules/mob/living/basic/malf_borgs/sec/sec.dm @@ -0,0 +1,25 @@ +/mob/living/basic/malf_borg/sec + name = "Malfunctioning Security Cyborg" + desc = "A security cyborg unit, hacked or malfunctioning. There are two guns attached to it." + icon = 'modular_skyrat/master_files/icons/mob/newmobs.dmi' + + ai_controller = /datum/ai_controller/basic_controller/simple/simple_skirmisher + + icon_state = "evilbotsec" + icon_living = "evilbotsec" + icon_dead = "evilbotsec" + + exposed_wound_bonus = 0 + sharpness = NONE + + attack_verb_continuous = "gunbutts" + attack_verb_simple = "gunbutt" + attack_sound = 'sound/items/weapons/smash.ogg' + + projectiletype = /obj/projectile/bullet/c45 + projectilesound = 'sound/items/weapons/gun/smg/shot.ogg' + +/mob/living/basic/malf_borg/sec/Initialize(mapload) + . = ..() + AddComponent(/datum/component/ranged_attacks, projectile_type = projectiletype, projectile_sound = projectilesound) + ADD_TRAIT(src, TRAIT_SUBTREE_REQUIRED_OPERATIONAL_DATUM, /datum/component/ranged_attacks) diff --git a/tgstation.dme b/tgstation.dme index 2fbd39009cc..6844294981e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -9513,6 +9513,15 @@ #include "modular_zubbers\code\modules\mob\living\basic\bots\firebot.dm" #include "modular_zubbers\code\modules\mob\living\basic\guardian\guardian_types\holoparasite_timestop.dm" #include "modular_zubbers\code\modules\mob\living\basic\lightgeist\lightgeist.dm" +#include "modular_zubbers\code\modules\mob\living\basic\malf_borgs\malf_borg.dm" +#include "modular_zubbers\code\modules\mob\living\basic\malf_borgs\big_guy\big_guy.dm" +#include "modular_zubbers\code\modules\mob\living\basic\malf_borgs\dog\dog.dm" +#include "modular_zubbers\code\modules\mob\living\basic\malf_borgs\engi\engi.dm" +#include "modular_zubbers\code\modules\mob\living\basic\malf_borgs\heavy\heavy.dm" +#include "modular_zubbers\code\modules\mob\living\basic\malf_borgs\peacekeeper\peacekeeper.dm" +#include "modular_zubbers\code\modules\mob\living\basic\malf_borgs\protect\protect.dm" +#include "modular_zubbers\code\modules\mob\living\basic\malf_borgs\roomba\roomba.dm" +#include "modular_zubbers\code\modules\mob\living\basic\malf_borgs\sec\sec.dm" #include "modular_zubbers\code\modules\mob\living\basic\moonstation\cazador.dm" #include "modular_zubbers\code\modules\mob\living\basic\moonstation\scorpion.dm" #include "modular_zubbers\code\modules\mob\living\basic\moonstation\snake.dm"