massive burndown (#29894)

This commit is contained in:
Contrabang
2025-07-27 13:52:39 -07:00
committed by GitHub
parent a596fba80d
commit 1504ed98be
1043 changed files with 0 additions and 3598 deletions
@@ -13,11 +13,9 @@ GLOBAL_DATUM_INIT(ghost_crew_monitor, /datum/ui_module/crew_monitor/ghost, new)
icon = 'icons/mob/mob.dmi'
icon_state = "ghost"
layer = GHOST_LAYER
plane = GAME_PLANE
stat = DEAD
density = FALSE
alpha = 127
move_resist = INFINITY // don't get pushed around
invisibility = INVISIBILITY_OBSERVER
blocks_emissive = FALSE // Ghosts are transparent, duh
hud_type = /datum/hud/ghost
@@ -23,7 +23,6 @@ GLOBAL_LIST_INIT(boo_phrases, list(
clothes_req = FALSE
stat_allowed = UNCONSCIOUS
invocation = ""
invocation_type = "none"
// no need to spam admins regarding boo casts
create_attack_logs = FALSE
-6
View File
@@ -414,7 +414,6 @@
/datum/language/common
name = "Galactic Common"
desc = "Originally a carefully crafted fusion of various Human and Skrell dialects, Galactic Common is the most commonly spoken language in the Sector, and incorporates influences from nearly every known sapient species."
speech_verb = "says"
exclaim_verbs = list("exclaims", "shouts", "yells")
whisper_verb = "whispers"
key = "9"
@@ -425,7 +424,6 @@
/datum/language/human
name = "Sol Common"
desc = "An artifical language designed by the Trans-Solar Federation for ease of use and concise communication."
speech_verb = "says"
exclaim_verbs = list("snaps", "shouts", "barks")
whisper_verb = "whispers"
colour = "solcom"
@@ -540,7 +538,6 @@
/datum/language/ling
name = "Changeling"
desc = "Although they are normally wary and suspicious of each other, changelings can commune over a distance."
speech_verb = "says"
colour = "changeling"
key = "g"
flags = RESTRICTED | HIVEMIND | NOBABEL
@@ -650,11 +647,8 @@
speech_verb = "transmits"
ask_verb = "transmits"
exclaim_verbs = list("transmits")
colour = "say_quote"
key = "d"
flags = RESTRICTED | HIVEMIND | NOBABEL
drone_only = TRUE
follow = TRUE
/datum/language/drone
name = "Drone"
@@ -91,7 +91,6 @@
/// subtree to mark trees as territories
/datum/ai_planning_subtree/find_and_hunt_target/mark_territory
target_key = BB_DEER_TREE_TARGET
finding_behavior = /datum/ai_behavior/find_hunt_target
hunting_behavior = /datum/ai_behavior/hunt_target/mark_territory
hunt_targets = list(/obj/structure/flora/tree)
hunt_range = 7
@@ -104,7 +104,6 @@
smoke_freq = 20 SECONDS
life_regen_cycle_trigger = 5
melee_damage_lower = 20
melee_damage_upper = 30
/mob/living/basic/hellhound/greater/Initialize(mapload)
. = ..()
@@ -29,7 +29,6 @@
faction = list("skeleton")
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
basic_mob_flags = DEL_ON_DEATH
speed = 1
step_type = FOOTSTEP_MOB_SHOE
gold_core_spawnable = HOSTILE_SPAWN
loot = list(/obj/effect/decal/remains/human)
@@ -59,14 +58,11 @@
/mob/living/basic/skeleton/warden
name = "skeleton warden"
desc = "The remains of a warden."
icon = 'icons/mob/simple_human.dmi'
icon_state = "skeleton_warden"
icon_living = "skeleton_warden"
loot = list(/obj/effect/decal/cleanable/shreds, /mob/living/basic/skeleton/angered_warden)
maxHealth = 300
health = 300
melee_damage_lower = 15
melee_damage_upper = 15
death_message = null
gold_core_spawnable = NO_SPAWN
ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile_obstacles/skeleton_warden
@@ -77,12 +73,10 @@
/mob/living/basic/skeleton/angered_warden
name = "angered skeleton warden" // round 2
desc = "An angry skeleton."
icon = 'icons/mob/simple_human.dmi'
icon_state = "skeleton_warden_alt"
icon_living = "skeleton_warden_alt"
attack_verb_simple = "claw"
attack_verb_continuous = "claws"
attack_sound = 'sound/hallucinations/growl1.ogg'
maxHealth = 200
health = 200
speed = -1
@@ -1,12 +1,10 @@
/mob/living/basic/mining_drone
name = "nanotrasen minebot"
desc = "The instructions printed on the side read: This is a small robot used to support miners, can be set to search and collect loose ore, or to help fend off wildlife. A mining scanner can instruct it to drop loose ore. Field repairs can be done with a welder."
gender = NEUTER
icon = 'icons/obj/aibots.dmi'
icon_state = "mining_drone"
icon_living = "mining_drone"
status_flags = CANSTUN|CANWEAKEN|CANPUSH
mouse_opacity = MOUSE_OPACITY_ICON
basic_mob_flags = DEL_ON_DEATH
sentience_type = SENTIENCE_MINEBOT
faction = list("neutral", "goldgrub") // goldgrubs are invulnerable to PKA fire
@@ -23,7 +21,6 @@
speak_emote = list("states")
healable = FALSE
ai_controller = /datum/ai_controller/basic_controller/minebot
hud_type = /datum/hud/simple_animal
var/light_on = FALSE
var/obj/item/gun/energy/kinetic_accelerator/minebot/stored_gun
var/obj/item/radio/radio
@@ -11,7 +11,6 @@
melee_damage_upper = 10
attack_verb_continuous = "punches"
attack_verb_simple = "punch"
attack_sound = 'sound/weapons/bladeslice.ogg'
melee_attack_cooldown_min = 0.5 SECONDS
melee_attack_cooldown_max = 1.5 SECONDS
speak_emote = list("screams")
@@ -6,8 +6,6 @@
icon_living = "faithless"
icon_dead = "faithless_dead"
mob_biotypes = MOB_ORGANIC | MOB_HUMANOID
maxHealth = 80
health = 80
melee_damage_lower = 15
melee_damage_upper = 15
harm_intent_damage = 10
@@ -16,7 +14,6 @@
attack_verb_continuous = "grips"
attack_sound = 'sound/hallucinations/growl1.ogg'
speed = 0
gold_core_spawnable = HOSTILE_SPAWN
faction = "faithless"
/mob/living/basic/netherworld/faithless/Process_Spacemove(movement_dir = 0, continuous_move = FALSE)
@@ -10,7 +10,6 @@
speed = 0
death_message = "wails as its form turns into a pulpy mush."
death_sound = 'sound/voice/hiss6.ogg'
gold_core_spawnable = HOSTILE_SPAWN
/// List of sounds the migo can make
var/static/list/migo_sounds
/// Will the migo dodge?
@@ -20,11 +20,7 @@
melee_damage_upper = 10
melee_attack_cooldown_min = 1.5 SECONDS
melee_attack_cooldown_max = 2.5 SECONDS
attack_verb_simple = "attack"
attack_verb_continuous = "attacks"
attack_sound = 'sound/items/bikehorn.ogg'
obj_damage = 0
environment_smash = 0
minimum_survivable_temperature = 270
maximum_survivable_temperature = 370
unsuitable_heat_damage = 15 //amount of damage applied if animal's body temperature is higher than maxbodytemp
-1
View File
@@ -4,7 +4,6 @@
It can be installed into a cyborg shell, AI core, mech, spiderbot, or an Integrated Robotic Chassis' chest cavity."
icon = 'icons/obj/assemblies.dmi'
icon_state = "mmi_empty"
w_class = WEIGHT_CLASS_NORMAL
origin_tech = "biotech=2;programming=3;engineering=2"
//Revised. Brainmob is now contained directly within object of transfer. MMI in this case.
@@ -6,7 +6,6 @@
var/blank_icon = "boris_blank"
var/searching_icon = "boris_recharging"
var/occupied_icon = "boris"
w_class = WEIGHT_CLASS_NORMAL
origin_tech = "biotech=3;programming=3;plasmatech=2"
req_access = list(ACCESS_ROBOTICS)
mecha = null//This does not appear to be used outside of reference in mecha.dm.
@@ -14,7 +14,6 @@
alien_slash_damage = 30 //Empress do higher slashing damage to people
/mob/living/carbon/alien/humanoid/empress/large
name = "alien empress"
caste = "e"
icon = 'icons/mob/alienhuge.dmi'
icon_state = "empress_s"
@@ -1,6 +1,5 @@
#define XENO_TOTAL_LAYERS 6
/mob/living/carbon/alien/humanoid
name = "alien"
icon_state = "alien_s"
butcher_results = list(/obj/item/food/monstermeat/xenomeat = 5, /obj/item/stack/sheet/animalhide/xeno = 1)
@@ -34,7 +34,6 @@
/datum/emote/living/carbon/human/airguitar
key = "airguitar"
message = "is strumming the air and headbanging like a safari chimp."
emote_type = EMOTE_VISIBLE
hands_use_check = TRUE
/datum/emote/living/carbon/human/clap
@@ -116,7 +115,6 @@
hands_use_check = TRUE
sound = 'sound/weapons/slap.ogg'
emote_type = EMOTE_AUDIBLE
volume = 50
/datum/emote/living/carbon/human/palm
key = "palm"
@@ -161,7 +159,6 @@
message_postfix = "at %t!"
muzzled_noises = list("very loud")
emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH
only_forced_audio = FALSE
vary = TRUE
age_based = TRUE
cooldown = 5 SECONDS
@@ -437,7 +434,6 @@
/datum/emote/living/carbon/human/highfive/rps
key = "rps"
param_desc = "r,p,s"
hands_use_check = TRUE
status = STATUS_EFFECT_RPS
action_name = "play rock-paper-scissors with"
target_behavior = EMOTE_TARGET_BHVR_IGNORE
@@ -515,9 +511,7 @@
key = "signal"
key_third_person = "signals"
message_param = "raises %t fingers."
param_desc = "number(0-10)"
mob_type_allowed_typecache = list(/mob/living/carbon/human)
hands_use_check = TRUE
/////////
// Species-specific emotes
@@ -826,7 +820,6 @@
// CC0
// https://freesound.org/people/greenvwbeetle/sounds/244653/
sound = 'sound/effects/mob_effects/slime_pop.ogg'
volume = 50
/datum/emote/living/carbon/human/howl
key = "howl"
@@ -1,7 +1,6 @@
/obj/item/clothing/under/punpun
name = "fancy uniform"
desc = "It looks like it was tailored for a monkey."
icon_state = "punpun"
item_color = "punpun"
species_restricted = list("Monkey")
species_exception = list(/datum/species/monkey)
@@ -504,7 +504,6 @@
/datum/action/innate/unstable_teleport
name = "Unstable Teleport"
check_flags = AB_CHECK_CONSCIOUS
button_overlay_icon_state = "blink"
button_overlay_icon = 'icons/mob/actions/actions.dmi'
var/activated = FALSE // To prevent spamming
var/cooldown = 150
@@ -1,7 +1,6 @@
/datum/species/human
name = "Human"
name_plural = "Humans"
icobase = 'icons/mob/human_races/r_human.dmi'
primitive_form = /datum/species/monkey
language = "Sol Common"
species_traits = list(LIPS)
@@ -25,7 +25,6 @@
inherent_biotypes = MOB_ROBOTIC | MOB_HUMANOID
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
bodyflags = HAS_SKIN_COLOR | HAS_HEAD_MARKINGS | HAS_HEAD_ACCESSORY | ALL_RPARTS | SHAVED
dietflags = 0 //IPCs can't eat, so no diet
taste_sensitivity = TASTE_SENSITIVITY_NO_TASTE
blood_color = COLOR_BLOOD_MACHINE
flesh_color = "#AAAAAA"
@@ -83,7 +83,6 @@
flesh_color = "#AFA59E"
base_color = "#000000"
tail = "farwatail"
reagent_tag = PROCESS_ORG
has_organ = list(
"heart" = /obj/item/organ/internal/heart/tajaran,
"lungs" = /obj/item/organ/internal/lungs/tajaran,
@@ -106,7 +105,6 @@
flesh_color = "#966464"
base_color = "#000000"
tail = "wolpintail"
reagent_tag = PROCESS_ORG
has_organ = list(
"heart" = /obj/item/organ/internal/heart/vulpkanin,
"lungs" = /obj/item/organ/internal/lungs/vulpkanin,
@@ -128,7 +126,6 @@
default_language = "Neara"
flesh_color = "#8CD7A3"
blood_color = "#1D2CBF"
reagent_tag = PROCESS_ORG
tail = null
inherent_traits = list(TRAIT_NOEXAMINE, TRAIT_NOFAT, TRAIT_WATERBREATH)
@@ -154,9 +151,7 @@
default_language = "Stok"
flesh_color = "#34AF10"
base_color = "#000000"
reagent_tag = PROCESS_ORG
bodyflags = HAS_TAIL | HAS_BODYACC_COLOR
has_organ = list(
"heart" = /obj/item/organ/internal/heart/unathi,
@@ -173,14 +168,11 @@
name_plural = "nian worme"
icobase = 'icons/mob/human_races/monkeys/r_worme.dmi'
tail = ""
total_health = 75
inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_BUG
bodyflags = BALD | SHAVED
greater_form = /datum/species/moth
default_language = "Tkachi"
eyes = "blank_eyes"
butt_sprite = "nian"
reagent_tag = PROCESS_ORG
dietflags = DIET_HERB
tox_mod = 3 // Die. Terrible creatures. Die.
@@ -120,7 +120,6 @@
blurb = "These reptillian creatures appear to be related to the Unathi, but seem significantly less evolved. \
They roam the wastes of Lavaland, worshipping a dead city and capturing unsuspecting miners."
language = "Sinta'unathi"
default_language = "Sinta'unathi"
speed_mod = -0.80
-4
View File
@@ -44,7 +44,6 @@
key = "collapse"
key_third_person = "collapses"
message = "collapses!"
emote_type = EMOTE_VISIBLE
/datum/emote/living/collapse/run_emote(mob/user, params, type_override, intentional)
. = ..()
@@ -186,8 +185,6 @@
message = "points."
message_param = "points at %t."
hands_use_check = TRUE
target_behavior = EMOTE_TARGET_BHVR_USE_PARAMS_ANYWAY
emote_target_type = EMOTE_TARGET_ANY
/datum/emote/living/point/act_on_target(mob/user, target)
if(!target)
@@ -302,7 +299,6 @@
/datum/emote/living/nightmare
key = "nightmare"
message = "writhes in their sleep."
emote_type = EMOTE_VISIBLE
stat_allowed = UNCONSCIOUS
max_stat_allowed = UNCONSCIOUS
unintentional_stat_allowed = UNCONSCIOUS
@@ -41,7 +41,6 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
icon = 'icons/mob/ai.dmi'//
icon_state = "ai"
move_resist = MOVE_FORCE_NORMAL
density = TRUE
status_flags = CANSTUN|CANPARALYSE|CANPUSH
d_hud = DATA_HUD_DIAGNOSTIC_ADVANCED
mob_size = MOB_SIZE_LARGE
@@ -291,7 +291,6 @@
action_icon = 'icons/effects/random_spawners.dmi'
action_icon_state = "glowstick"
ranged_mousepointer = 'icons/mecha/mecha_mouse.dmi'
auto_use_uses = FALSE
base_cooldown = 30 SECONDS
cooldown_min = 5 SECONDS
level_max = 5
@@ -361,7 +360,6 @@
action_icon = 'icons/obj/power.dmi'
action_icon_state = "smes-o"
ranged_mousepointer = 'icons/mecha/mecha_mouse.dmi'
auto_use_uses = FALSE
base_cooldown = 120 SECONDS
cooldown_min = 30 SECONDS
level_max = 7
@@ -440,7 +438,6 @@
action_icon = 'icons/obj/surgery.dmi'
action_icon_state = "tube"
ranged_mousepointer = 'icons/mecha/mecha_mouse.dmi'
auto_use_uses = FALSE
base_cooldown = 150 SECONDS
cooldown_min = 30 SECONDS
level_max = 7
@@ -493,7 +490,6 @@
program_name = "Universal Adapter"
program_id = "universal_adapter"
description = "Upgraded firmware allows IPCs to be valid targets for Power Shunt and Repair Nanites, at half efficiency."
nanite_cost = 0
unlock_text = "Universal adapter installation complete!"
upgrade = TRUE
@@ -534,7 +530,6 @@
action_icon = 'icons/obj/doors/doorint.dmi'
action_icon_state = "door_closed"
ranged_mousepointer = 'icons/mecha/mecha_mouse.dmi'
auto_use_uses = FALSE
base_cooldown = 60 SECONDS
cooldown_min = 60 SECONDS
level_max = 5
@@ -598,7 +593,6 @@
action_icon = 'icons/effects/effects.dmi'
action_icon_state = "frozen_smoke_capsule"
ranged_mousepointer = 'icons/mecha/mecha_mouse.dmi'
auto_use_uses = FALSE
base_cooldown = 60 SECONDS
cooldown_min = 30 SECONDS
level_max = 3
@@ -639,8 +633,6 @@
program_name = "Bluespace Miner Subsystem"
program_id = "bluespace_miner"
description = "You link yourself to a miniature bluespace harvester, generating income for the science account at the cost of increasing your core's power needs."
nanite_cost = 0
max_level = 5
unlock_text = "Bluespace miner installation complete!"
upgrade = TRUE
@@ -670,7 +662,6 @@
program_name = "Multimarket Analysis Subsystem"
program_id = "multimarket_analyser"
description = "You connect to a digital marketplace to price-check all orders from the station, ensuring you get the best prices! This reduces the cost of crates in cargo!"
nanite_cost = 0
unlock_text = "Online marketplace detected... connected!"
max_level = 6
upgrade = TRUE
@@ -709,7 +700,6 @@
action_icon = 'icons/obj/janitor.dmi'
action_icon_state = "lightreplacer0"
ranged_mousepointer = 'icons/mecha/mecha_mouse.dmi'
auto_use_uses = FALSE
base_cooldown = 30 SECONDS
cooldown_min = 5 SECONDS
level_max = 5
@@ -764,7 +754,6 @@
action_icon = 'icons/obj/surgery.dmi'
action_icon_state = "scalpel_laser1_on"
ranged_mousepointer = 'icons/mecha/mecha_mouse.dmi'
auto_use_uses = FALSE
base_cooldown = 150 SECONDS
cooldown_min = 30 SECONDS
level_max = 10
@@ -826,9 +815,7 @@
program_name = "Enhanced Door Controls"
program_id = "enhanced_doors"
description = "You enhance the subroutines that let you control doors, speeding up response times!"
nanite_cost = 0
unlock_text = "Doors connected and optimized. You feel right at home."
max_level = 5
upgrade = TRUE
/// Track the original delay
var/original_door_delay = 3 SECONDS
@@ -945,7 +932,6 @@
action_icon = 'icons/obj/structures.dmi'
action_icon_state = "reinforced"
ranged_mousepointer = 'icons/mecha/mecha_mouse.dmi'
auto_use_uses = FALSE
base_cooldown = 180 SECONDS
cooldown_min = 30 SECONDS
level_max = 5
@@ -986,7 +972,6 @@
program_name = "Holosign Displayer"
program_id = "holosign_displayer"
description = "Deploy a holographic sign to alert crewmembers to potential hazards."
cost = 1
nanite_cost = 10
power_type = /datum/spell/ai_spell/ranged/holosign_displayer
unlock_text = "Metal foam synthesizer online."
@@ -997,7 +982,6 @@
action_icon = 'icons/obj/device.dmi'
action_icon_state = "signmaker"
ranged_mousepointer = 'icons/mecha/mecha_mouse.dmi'
auto_use_uses = FALSE
base_cooldown = 30 SECONDS
cooldown_min = 30 SECONDS
level_max = 8
@@ -1064,7 +1048,6 @@
action_icon = 'icons/obj/items.dmi'
action_icon_state = "bike_horn"
ranged_mousepointer = 'icons/mecha/mecha_mouse.dmi'
auto_use_uses = FALSE
base_cooldown = 30 SECONDS
cooldown_min = 15 SECONDS
level_max = 10
@@ -1103,7 +1086,6 @@
program_id = "enhanced_tracker"
description = "New camera firmware allows automated alerts when an individual of interest enters camera view."
cost = 5
nanite_cost = 0
power_type = /datum/spell/ai_spell/enhanced_tracker
unlock_text = "Tag and track software online."
max_level = 8
@@ -1168,7 +1150,6 @@
program_name = "Holopointer"
program_id = "holopointer"
description = "Illuminate a hologram to notify or beckon crew."
cost = 1
nanite_cost = 5
power_type = /datum/spell/ai_spell/ranged/pointer
unlock_text = "Hologram emitters online."
@@ -1179,7 +1160,6 @@
action_icon = 'icons/mob/telegraphing/telegraph_holographic.dmi'
action_icon_state = "target_circle"
ranged_mousepointer = 'icons/mecha/mecha_mouse.dmi'
auto_use_uses = FALSE
base_cooldown = 15 SECONDS
cooldown_min = 15 SECONDS
level_max = 1
@@ -181,7 +181,6 @@
/datum/robot_component/binary_communication
name = "binary communication device"
external_type = /obj/item/robot_parts/robot_component/binary_communication_device
max_damage = 30
/datum/robot_component/camera
name = "camera"
@@ -199,7 +198,6 @@
/datum/robot_component/diagnosis_unit
name = "self-diagnosis unit"
external_type = /obj/item/robot_parts/robot_component/diagnosis_unit
max_damage = 30
/mob/living/silicon/robot/proc/initialize_components()
// This only initializes the components, it doesn't set them to installed.
@@ -2,13 +2,11 @@
/mob/living/silicon/robot/drone
name = "drone"
real_name = "drone"
icon = 'icons/mob/robots.dmi'
icon_state = "repairbot"
maxHealth = 35
health = 35
bubble_icon = "machine"
pass_flags = PASSTABLE
flags_2 = RAD_PROTECT_CONTENTS_2 | RAD_NO_CONTAMINATE_2
braintype = "Robot"
lawupdate = FALSE
density = FALSE
@@ -7,8 +7,6 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
real_name = "Cyborg"
icon = 'icons/mob/robots.dmi'
icon_state = "robot"
maxHealth = 100
health = 100
bubble_icon = "robot"
universal_understand = TRUE
deathgasp_on_death = TRUE
@@ -1,5 +1,4 @@
/mob/living/silicon
gender = NEUTER
voice_name = "synthesized voice"
bubble_icon = "machine"
has_unlimited_silicon_privilege = TRUE
@@ -198,7 +198,6 @@
/obj/item/radio/headset/bot
requires_tcomms = FALSE
canhear_range = 0
/obj/item/radio/headset/bot/recalculateChannels()
var/mob/living/simple_animal/bot/B = loc
@@ -8,9 +8,7 @@
icon_state = "bucket_proxy"
force = 3
throwforce = 5
throw_speed = 2
throw_range = 5
w_class = WEIGHT_CLASS_NORMAL
var/created_name = "Cleanbot"
var/robot_arm = /obj/item/robot_parts/l_arm
@@ -236,9 +234,7 @@
icon_state = "toolbox_tiles"
force = 3
throwforce = 10
throw_speed = 2
throw_range = 5
w_class = WEIGHT_CLASS_NORMAL
var/created_name = "Floorbot"
var/toolbox = /obj/item/storage/toolbox/mechanical
var/toolbox_color = "" //Blank for blue, r for red, y for yellow, etc.
@@ -357,7 +353,6 @@
desc = "A first aid kit with a robot arm permanently grafted to it."
icon = 'icons/obj/aibots.dmi'
icon_state = "firstaid_arm"
w_class = WEIGHT_CLASS_NORMAL
req_one_access = list(ACCESS_MEDICAL, ACCESS_ROBOTICS)
var/build_step = 0
var/created_name = "Medibot" //To preserve the name if it's a unique medbot I guess
@@ -634,7 +629,6 @@
desc = "A clown box with a robot arm permanently grafted to it."
icon = 'icons/obj/aibots.dmi'
icon_state = "honkbot_arm"
w_class = WEIGHT_CLASS_NORMAL
req_one_access = list(ACCESS_CLOWN, ACCESS_ROBOTICS, ACCESS_MIME)
var/build_step = 0
var/created_name = "Honkbot" //To preserve the name if it's a unique medbot I guess
@@ -2,10 +2,8 @@
/mob/living/simple_animal/bot/cleanbot
name = "\improper Cleanbot"
desc = "A little cleaning robot, he looks so excited!"
icon = 'icons/obj/aibots.dmi'
icon_state = "cleanbot"
density = FALSE
anchored = FALSE
health = 25
maxHealth = 25
radio_channel = "Service" //Service
@@ -4,10 +4,7 @@
/mob/living/simple_animal/bot/ed209
name = "\improper ED-209 Security Robot"
desc = "A security robot. He looks less than thrilled."
icon = 'icons/obj/aibots.dmi'
icon_state = "ed2090"
density = TRUE
anchored = FALSE
health = 150
maxHealth = 150
damage_coeff = list(BRUTE = 0.5, BURN = 0.7, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0)
@@ -2,10 +2,8 @@
/mob/living/simple_animal/bot/floorbot
name = "\improper Floorbot"
desc = "A little floor repairing robot, he looks so excited!"
icon = 'icons/obj/aibots.dmi'
icon_state = "floorbot"
density = FALSE
anchored = FALSE
health = 25
maxHealth = 25
@@ -1,10 +1,8 @@
/mob/living/simple_animal/bot/honkbot
name = "honkbot"
desc = "A little robot. It looks happy with its bike horn."
icon = 'icons/obj/aibots.dmi'
icon_state = "honkbot"
density = FALSE
anchored = FALSE
health = 25
maxHealth = 25
damage_coeff = list(BRUTE = 0.5, BURN = 0.7, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0)
@@ -7,12 +7,8 @@
/mob/living/simple_animal/bot/medbot
name = "\improper Medibot"
desc = "A little medical robot. He looks somewhat underwhelmed."
icon = 'icons/obj/aibots.dmi'
icon_state = "medibot0"
density = FALSE
anchored = FALSE
health = 20
maxHealth = 20
pass_flags = PASSMOB
radio_channel = "Medical"
@@ -114,7 +110,6 @@
treatment_oxy = "perfluorodecalin"
treatment_brute = "bicaridine"
treatment_fire = "kelotane"
treatment_tox = "charcoal"
/mob/living/simple_animal/bot/medbot/syndicate
name = "Suspicious Medibot"
@@ -124,7 +119,6 @@
treatment_oxy = "perfluorodecalin"
treatment_brute = "bicaridine"
treatment_fire = "kelotane"
treatment_tox = "charcoal"
syndicate_aligned = TRUE
req_access = list(ACCESS_SYNDICATE)
control_freq = BOT_FREQ + 1000 // make it not show up on lists
@@ -10,7 +10,6 @@
name = "\improper MULEbot"
desc = "A Multiple Utility Load Effector bot."
icon_state = "mulebot0"
density = TRUE
move_resist = MOVE_FORCE_STRONG
animate_movement = FORWARD_STEPS
health = 50
@@ -4,10 +4,8 @@
/mob/living/simple_animal/bot/secbot
name = "\improper Securitron"
desc = "A little security robot. He looks less than thrilled."
icon = 'icons/obj/aibots.dmi'
icon_state = "secbot0"
density = FALSE
anchored = FALSE
health = 60
maxHealth = 60
damage_coeff = list(BRUTE = 0.5, BURN = 0.7, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0)
@@ -62,8 +60,6 @@
/mob/living/simple_animal/bot/secbot/beepsky
name = "Officer Beepsky"
desc = "It's Officer Beepsky! Powered by a potato and a shot of whiskey."
idcheck = FALSE
weapons_check = FALSE
auto_patrol = TRUE
/mob/living/simple_animal/bot/secbot/beepsky/explode()
@@ -82,7 +78,6 @@
/mob/living/simple_animal/bot/secbot/ofitser
name = "Prison Ofitser"
desc = "It's Prison Ofitser! Powered by the tears and sweat of prisoners."
idcheck = FALSE
weapons_check = TRUE
auto_patrol = TRUE
@@ -116,6 +116,5 @@
/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/hostile
AIStatus = AI_ON
environment_smash = ENVIRONMENT_SMASH_STRUCTURES
#undef MARAUDER_SHIELD_MAX
@@ -340,7 +340,6 @@
obj_damage = 20 // Bit better at breaking stuff than cult ghosts, but only *barely*
retreat_distance = 4 // AI proteons will rapidly move in and out of combat to avoid conflict, but will still target and follow you.
attacktext = "pinches"
environment_smash = ENVIRONMENT_SMASH_STRUCTURES // No you can not break down all the walls of the station
attack_sound = 'sound/weapons/punch2.ogg'
playstyle_string = "<b>You are a Proteon. Your abilities in combat are outmatched by most combat constructs, but you are still fast and nimble. Run metal and supplies, and cooperate with your fellow cultists.</b>"
construct_type = "proteon"
@@ -6,7 +6,6 @@
id_access_list = list(ACCESS_SYNDICATE)
outfit = /datum/outfit/syndicatecorpse
del_types = list()
disable_pda = TRUE
var/name_changed
var/name_to_add
var/num_to_add
@@ -115,11 +114,9 @@
/obj/effect/mob_spawn/human/corpse/clown/corpse
roundstart = TRUE
instant = TRUE
/obj/effect/mob_spawn/human/corpse/mime/corpse
roundstart = TRUE
instant = TRUE
/obj/effect/mob_spawn/human/corpse/pirate
name = "Pirate"
@@ -140,7 +137,6 @@
/obj/effect/mob_spawn/human/corpse/pirate/ranged
name = "Pirate Gunner"
mob_name = "Pirate Gunner"
outfit = /datum/outfit/piratecorpse
/datum/outfit/piratecorpse/ranged
name = "Corpse of a Pirate Gunner"
@@ -4,13 +4,11 @@
icon_state = "butterfly"
icon_living = "butterfly"
icon_dead = "butterfly_dead"
turns_per_move = 1
emote_see = list("flutters")
faction = list("neutral", "jungle")
response_help = "shoos"
response_disarm = "brushes aside"
response_harm = "squashes"
speak_chance = 0
maxHealth = 2
health = 2
harm_intent_damage = 1
@@ -14,7 +14,6 @@
speak_chance = 1
turns_per_move = 5
see_in_dark = 6
mob_size = MOB_SIZE_SMALL
animal_species = /mob/living/simple_animal/pet/cat
childtype = list(/mob/living/simple_animal/pet/cat/kitten)
butcher_results = list(/obj/item/food/meat = 3)
@@ -179,7 +178,6 @@
/mob/living/simple_animal/pet/cat/proc_cat
name = "Proc"
gender = MALE
gold_core_spawnable = NO_SPAWN
unique_pet = TRUE
@@ -12,7 +12,6 @@
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
mob_biotypes = MOB_ORGANIC | MOB_BUG
mob_size = MOB_SIZE_TINY
response_help = "pokes"
response_disarm = "shoos"
response_harm = "splats"
density = FALSE
@@ -43,9 +43,6 @@
name = "Coffee"
real_name = "Coffee"
desc = "It's Coffee, the other pet!"
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "stomps"
gold_core_spawnable = NO_SPAWN
unique_pet = TRUE
@@ -58,5 +55,4 @@
icon_dead = "evilcrab_dead"
response_help = "pokes"
response_disarm = "shoves"
response_harm = "stomps"
gold_core_spawnable = HOSTILE_SPAWN
@@ -38,13 +38,11 @@
attack_sound = 'sound/weapons/bite.ogg'
speed = 0
stop_automated_movement = FALSE
turns_per_move = 4
var/list/donors = list()
holder_type = /obj/item/holder/diona
a_intent = INTENT_HELP
var/evolve_donors = 5 //amount of blood donors needed before evolving
var/awareness_donors = 3 //amount of blood donors needed for understand language
var/nutrition_need = 500 //amount of nutrition needed before evolving
@@ -73,7 +73,6 @@
butcher_results = list(/obj/item/food/meat/corgi = 3, /obj/item/stack/sheet/animalhide/corgi = 1)
childtype = list(/mob/living/simple_animal/pet/dog/corgi/puppy = 95, /mob/living/simple_animal/pet/dog/corgi/puppy/void = 5)
animal_species = /mob/living/simple_animal/pet/dog
hud_type = /datum/hud/corgi
///Currently worn item on the head slot
var/obj/item/inventory_head = null
///Currently worn item on the back slot
@@ -327,9 +326,6 @@
desc = "It's the HoP's beloved corgi."
var/turns_since_scan = 0
var/obj/movement_target
response_help = "pets"
response_disarm = "bops"
response_harm = "kicks"
gold_core_spawnable = NO_SPAWN
unique_pet = TRUE
var/age = 0
@@ -513,14 +509,12 @@
/mob/living/simple_animal/pet/dog/corgi/puppy
name = "corgi puppy"
real_name = "corgi"
desc = "It's a corgi puppy!"
icon_state = "puppy"
icon_living = "puppy"
icon_dead = "puppy_dead"
density = FALSE
pass_flags = PASSMOB
mob_size = MOB_SIZE_SMALL
strippable_inventory_slots = list() // Puppies do not have a head or back equipment slot.
collar_icon_state = "puppy"
@@ -551,9 +545,6 @@
icon_state = "lisa"
icon_living = "lisa"
icon_dead = "lisa_dead"
response_help = "pets"
response_disarm = "bops"
response_harm = "kicks"
strippable_inventory_slots = list(/datum/strippable_item/corgi_back) //Lisa already has a cute bow!
var/turns_since_scan = 0
@@ -571,7 +562,6 @@
/mob/living/simple_animal/pet/dog/corgi/exoticcorgi
name = "Exotic Corgi"
desc = "As cute as it is colorful!"
icon = 'icons/mob/pets.dmi'
icon_state = "corgigrey"
icon_living = "corgigrey"
icon_dead = "corgigrey_dead"
@@ -651,7 +641,6 @@
name = "pug"
real_name = "pug"
desc = "It's a pug."
icon = 'icons/mob/pets.dmi'
icon_state = "pug"
icon_living = "pug"
icon_dead = "pug_dead"
@@ -10,13 +10,10 @@
speak_emote = list("geckers", "barks")
emote_hear = list("howls","barks")
emote_see = list("shakes its head", "shivers")
speak_chance = 1
turns_per_move = 5
see_in_dark = 6
butcher_results = list(/obj/item/food/meat = 3)
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "kicks"
//Captain fox
/mob/living/simple_animal/pet/dog/fox/renault
@@ -9,7 +9,6 @@
health = 5
maxHealth = 5
attacktext = "bites"
obj_damage = 0
melee_damage_lower = 1
melee_damage_upper = 2
response_help = "pets"
@@ -26,11 +26,9 @@
mob_biotypes = MOB_ORGANIC | MOB_BEAST
mob_size = MOB_SIZE_TINY
var/mouse_color //brown, gray and white, leave blank for random
layer = MOB_LAYER
atmos_requirements = list("min_oxy" = 16, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 223 //Below -50 Degrees Celcius
maxbodytemp = 323 //Above 50 Degrees Celcius
universal_speak = FALSE
can_hide = TRUE
pass_door_while_hidden = TRUE
holder_type = /obj/item/holder/mouse
@@ -160,8 +158,6 @@
/mob/living/simple_animal/mouse/brown/tom
name = "Tom"
real_name = "Tom"
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "splats"
unique_pet = TRUE
gold_core_spawnable = NO_SPAWN
@@ -18,7 +18,6 @@
maxHealth = 50
health = 50
speed = 0.75
stop_automated_movement = FALSE
turns_per_move = 4
// What they sound like
@@ -24,7 +24,6 @@
/mob/living/simple_animal/pet/penguin/emperor
name = "Emperor penguin"
real_name = "penguin"
desc = "Emperor of all he surveys."
icon_state = "penguin"
icon_living = "penguin"
@@ -34,7 +33,6 @@
/mob/living/simple_animal/pet/penguin/eldrich
name = "Albino penguin"
real_name = "penguin"
desc = "Found in the depths of mountains."
response_help = "taps"
response_disarm = "pokes"
@@ -59,11 +57,9 @@
/mob/living/simple_animal/pet/penguin/baby
speak = list("gah", "noot noot", "noot!", "noot", "squeee!", "noo!")
name = "Penguin chick"
real_name = "penguin"
desc = "Can't fly and can barely waddles, but the prince of all chicks."
icon_state = "penguin_baby"
icon_living = "penguin_baby"
icon_dead = "penguin_baby_dead"
density = FALSE
pass_flags = PASSMOB
mob_size = MOB_SIZE_SMALL
@@ -1,7 +1,6 @@
/mob/living/simple_animal/pet/sloth
name = "sloth"
desc = "An adorable, sleepy creature."
icon = 'icons/mob/pets.dmi'
icon_state = "sloth"
icon_living = "sloth"
icon_dead = "sloth_dead"
@@ -18,8 +17,6 @@
response_disarm = "gently pushes aside"
response_harm = "kicks"
gold_core_spawnable = FRIENDLY_SPAWN
melee_damage_lower = 0
melee_damage_upper = 0
health = 50
maxHealth = 50
speed = 2
@@ -16,8 +16,6 @@
icon_living = "snake"
icon_dead = "snake_dead"
speak_emote = list("hisses")
health = 20
maxHealth = 20
attacktext = "bites"
melee_damage_lower = 5
melee_damage_upper = 6
@@ -26,7 +26,6 @@
button_background_icon_state = "bg_alien"
button_overlay_icon_state = "alien_hide"
layer_to_change_to = ABOVE_NORMAL_TURF_LAYER
layer_to_change_from = MOB_LAYER
/datum/action/innate/hide/drone_hide
button_overlay_icon_state = "repairbot"
@@ -7,9 +7,6 @@
icon_dead = "alienh_dead"
icon_gib = "syndicate_gib"
gender = FEMALE
response_help = "pokes"
response_disarm = "shoves"
response_harm = "hits"
speed = 0
butcher_results = list(/obj/item/food/monstermeat/xenomeat= 3, /obj/item/stack/sheet/animalhide/xeno = 1)
maxHealth = 125
@@ -27,11 +24,9 @@
unsuitable_atmos_damage = 15
heat_damage_per_tick = 20
faction = list("alien")
status_flags = CANPUSH
minbodytemp = 0
see_in_dark = 8
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
gold_core_spawnable = NO_SPAWN
death_sound = 'sound/voice/hiss6.ogg'
deathmessage = "lets out a waning guttural screech, green blood bubbling from its maw..."
footstep_type = FOOTSTEP_MOB_CLAW
@@ -137,7 +132,6 @@
icon_living = "queen_s"
icon_dead = "queen_dead"
bubble_icon = "alienroyal"
move_to_delay = 4
maxHealth = 400
health = 400
butcher_results = list(/obj/item/food/monstermeat/xenomeat= 10, /obj/item/stack/sheet/animalhide/xeno = 2)
@@ -12,7 +12,6 @@
name = "bee"
desc = "Buzzy buzzy bee, stingy sti- Ouch!"
icon_state = ""
icon_living = ""
icon = 'icons/mob/bees.dmi'
gender = FEMALE
speak_emote = list("buzzes")
@@ -3,7 +3,6 @@
desc = "A large, floating eldritch horror. Its body glows with an evil red light, and its tentacles look to have been dipped in alien blood."
mob_biotypes = MOB_ORGANIC | MOB_BEAST
speed = 1
speak_emote = list("telepathically thunders", "telepathically booms")
maxHealth = 2500 // same as megafauna
health = 2500
@@ -29,8 +28,6 @@
see_in_dark = 8
mob_size = MOB_SIZE_LARGE
ventcrawler = VENTCRAWLER_NONE
gold_core_spawnable = NO_SPAWN
@@ -47,6 +44,5 @@
health = 200
speed = 3
armour_penetration_flat = 5
melee_damage_lower = 10
melee_damage_upper = 20
environment_smash = 2
@@ -9,7 +9,6 @@
speak_chance = 1
turns_per_move = 3
response_help = "pushes the"
response_disarm = "shoves"
response_harm = "slashes"
speed = 0
maxHealth = 100
@@ -7,8 +7,6 @@
icon_dead = "cat2_dead"
gender = MALE
mob_biotypes = MOB_ORGANIC | MOB_BEAST
maxHealth = 20
health = 20
melee_damage_lower = 10
melee_damage_upper = 5
attacktext = "claws"
@@ -15,7 +15,6 @@
maxHealth = 200
health = 200
speed = -1
attacktext = "attacks"
anchored = TRUE
attack_sound = 'sound/items/bikehorn.ogg'
del_on_death = TRUE
@@ -17,7 +17,6 @@
butcher_results = list(/obj/item/food/monstermeat/spidermeat = 2, /obj/item/food/monstermeat/spiderleg = 8)
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "hits"
maxHealth = 200
health = 200
obj_damage = 60
@@ -101,7 +100,6 @@
maxHealth = 120
health = 120
melee_damage_lower = 10
melee_damage_upper = 20
venom_per_bite = 10
move_to_delay = 5
@@ -24,7 +24,6 @@
faction = list("hostile", "monkey", "jungle")
robust_searching = TRUE
minbodytemp = 270
maxbodytemp = 350
footstep_type = FOOTSTEP_MOB_BAREFOOT
stat_attack = UNCONSCIOUS // Sleeping won't save you
a_intent = INTENT_HARM // Angrilla
@@ -219,7 +218,6 @@
icon = 'icons/mob/cargorillia.dmi'
desc = "Cargo's pet gorilla. He seems to have an 'I love Mom' tattoo."
faction = list("neutral", "monkey", "jungle")
gold_core_spawnable = NO_SPAWN
gender = MALE
a_intent = INTENT_HELP
unique_pet = TRUE
@@ -1,6 +1,4 @@
/obj/item/projectile/hivebotbullet
damage = 10
damage_type = BRUTE
/mob/living/simple_animal/hostile/hivebot
name = "Hivebot"
@@ -31,7 +29,6 @@
footstep_type = FOOTSTEP_MOB_CLAW
/mob/living/simple_animal/hostile/hivebot/range
name = "Hivebot"
desc = "A smallish robot, this one is armed!"
ranged = TRUE
retreat_distance = 5
@@ -12,14 +12,12 @@
icon_resting = "panther_rest"
icon_gib = "panther_dead"
mob_biotypes = MOB_ORGANIC | MOB_BEAST
speak_chance = 0
turns_per_move = 3
butcher_results = list(/obj/item/food/meat = 3)
faction = list("hostile", "jungle")
response_help = "pets the"
response_disarm = "gently pushes aside the"
response_harm = "hits the"
stop_automated_movement_when_pulled = FALSE
maxHealth = 50
health = 50
pixel_x = -16
@@ -5,7 +5,6 @@
icon_living = "tomato"
icon_dead = "tomato_dead"
mob_biotypes = MOB_ORGANIC | MOB_PLANT
speak_chance = 0
turns_per_move = 5
maxHealth = 30
health = 30
@@ -60,7 +60,6 @@ Difficulty: Hard
friendly = "stares down"
speak_emote = list("BUZZES")
universal_speak = TRUE
universal_understand = TRUE
armour_penetration_percentage = 50
melee_damage_lower = 20
melee_damage_upper = 20
@@ -158,7 +157,6 @@ Difficulty: Hard
icon_state = null
gpstag = "Malfunctioning Signal"
desc = "ERROR_NULL_ENTRY"
invisibility = 100
/mob/living/simple_animal/hostile/megafauna/ancient_robot/death(gibbed, allowed = FALSE)
icon = 'icons/mob/lavaland/corpses.dmi'
@@ -813,12 +811,10 @@ Difficulty: Hard
/obj/item/projectile/bullet/ancient_robot_bullet
damage = 8
damage_type = BRUTE
/obj/item/projectile/bullet/rock
name= "thrown rock"
damage = 25
damage_type = BRUTE
icon = 'icons/obj/meteor.dmi'
icon_state = "small1"
@@ -32,7 +32,6 @@ Difficulty: Medium
light_color = "#E4C7C5"
speak_emote = list("roars")
speed = 3
move_to_delay = 3
projectiletype = /obj/item/projectile/kinetic/miner
projectilesound = 'sound/weapons/kenetic_accel.ogg'
ranged = TRUE
@@ -67,7 +66,6 @@ Difficulty: Medium
icon_state = null
gpstag = "Resonant Signal"
desc = "The sweet blood, oh, it sings to me."
invisibility = 100
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/Initialize(mapload)
. = ..()
@@ -86,7 +86,6 @@ Difficulty: Hard
icon_state = null
gpstag = "Bloody Signal"
desc = "You're not quite sure how a signal can be bloody."
invisibility = 100
/mob/living/simple_animal/hostile/megafauna/bubblegum/Initialize(mapload)
. = ..()
@@ -500,7 +499,6 @@ Difficulty: Hard
name = "thick blood"
desc = "Thick, splattered blood."
random_icon_states = list("gib3", "gib5", "gib6")
bloodiness = 20
/obj/effect/decal/cleanable/blood/gibs/bubblegum/can_bloodcrawl_in()
return TRUE
@@ -660,7 +658,6 @@ Difficulty: Hard
projectilesound = 'sound/effects/splat.ogg'
deathmessage = null
death_sound = 'sound/hallucinations/veryfar_noise.ogg'
ranged = TRUE
ranged_cooldown_time = 10
enraged_loot = /obj/item/disk/fauna_research/bubblegum
@@ -323,7 +323,6 @@ Difficulty: Very Hard
/obj/effect/temp_visual/at_shield
name = "anti-toolbox field"
desc = "A shimmering forcefield protecting the colossus."
icon = 'icons/effects/effects.dmi'
icon_state = "at_shield2"
layer = FLY_LAYER
light_range = 2
@@ -363,9 +362,6 @@ Difficulty: Very Hard
damage = 25
armour_penetration_percentage = 100
speed = 2
eyeblur = 0
damage_type = BRUTE
pass_flags = PASSTABLE
/obj/item/projectile/colossus/on_hit(atom/target, blocked = 0)
. = ..()
@@ -382,7 +378,6 @@ Difficulty: Very Hard
icon_state = null
gpstag = "Angelic Signal"
desc = "Get in the fucking robot."
invisibility = 100
#undef RANDOM_SHOTS
#undef BLAST
@@ -103,7 +103,6 @@ Difficulty: Medium
icon_state = null
gpstag = "Fiery Signal"
desc = "Here there be dragons."
invisibility = 100
/mob/living/simple_animal/hostile/megafauna/dragon/death(gibbed)
move_force = MOVE_FORCE_OVERPOWERING
@@ -487,8 +486,6 @@ Difficulty: Medium
name = "Fire Barrier"
icon = 'icons/effects/fire.dmi'
icon_state = "1"
anchored = TRUE
opacity = FALSE
density = TRUE
duration = 82
color = COLOR_DARK_ORANGE
@@ -512,14 +509,12 @@ Difficulty: Medium
pixel_x = -32
pixel_y = -32
color = "#FF0000"
duration = 10
/obj/effect/temp_visual/dragon_flight
icon = 'icons/mob/lavaland/96x96megafauna.dmi'
icon_state = "dragon"
layer = ABOVE_ALL_MOB_LAYER
pixel_x = -32
duration = 10
randomdir = FALSE
/obj/effect/temp_visual/dragon_flight/Initialize(mapload, negative)
@@ -541,7 +536,6 @@ Difficulty: Medium
/obj/effect/temp_visual/dragon_flight/end
pixel_x = DRAKE_SWOOP_HEIGHT
pixel_z = DRAKE_SWOOP_HEIGHT
duration = 10
/obj/effect/temp_visual/dragon_flight/end/flight(negative)
if(negative)
@@ -609,7 +603,6 @@ Difficulty: Medium
obj_damage = 80
melee_damage_upper = 30
melee_damage_lower = 30
mouse_opacity = MOUSE_OPACITY_ICON
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1)
crusher_loot = list()
butcher_results = list(/obj/item/stack/ore/diamond = 5, /obj/item/stack/sheet/sinew = 5, /obj/item/stack/sheet/bone = 30)
@@ -634,7 +627,6 @@ Difficulty: Medium
melee_damage_upper = 35
melee_damage_lower = 35
speed = 0
mouse_opacity = MOUSE_OPACITY_ICON
move_to_delay = 3
rapid = 2
crusher_loot = list()
@@ -678,7 +670,6 @@ Difficulty: Medium
sound = 'sound/magic/tail_swing.ogg'
base_cooldown = 150
clothes_req = FALSE
cooldown_min = 150
invocation_type = "none"
sparkle_path = /obj/effect/temp_visual/dir_setting/tailsweep
action_icon_state = "tailsweep"
@@ -699,7 +690,6 @@ Difficulty: Medium
icon_state = null
gpstag = "Corrupted Signal"
desc = "Fish and chips."
invisibility = 100
#undef DRAKE_SWOOP_HEIGHT
#undef DRAKE_SWOOP_DIRECTION_CHANGE_RANGE
@@ -806,7 +806,6 @@ Difficulty: Hard
icon_state = "hierophant_tele_off"
light_range = 2
layer = LOW_OBJ_LAYER
anchored = TRUE
/obj/effect/hierophant/ex_act()
return
@@ -838,4 +837,3 @@ Difficulty: Hard
icon_state = null
gpstag = "Zealous Signal"
desc = "Heed its words."
invisibility = 100
@@ -49,7 +49,6 @@ Difficulty: Medium
enraged_loot = /obj/item/disk/fauna_research/legion
vision_range = 13
elimination = TRUE
mouse_opacity = MOUSE_OPACITY_ICON
stat_attack = UNCONSCIOUS // Overriden from /tg/ - otherwise Legion starts chasing its minions
appearance_flags = 512
contains_xeno_organ = TRUE
@@ -236,4 +235,3 @@ Difficulty: Medium
icon_state = null
gpstag = "Echoing Signal"
desc = "The message repeats."
invisibility = 100
@@ -26,7 +26,6 @@
mob_size = MOB_SIZE_LARGE
layer = LARGE_MOB_LAYER //Looks weird with them slipping under mineral walls and cameras and shit otherwise
flags_2 = IMMUNE_TO_SHUTTLECRUSH_2
mouse_opacity = MOUSE_OPACITY_ICON
dodging = FALSE // This needs to be false until someone fixes megafauna pathing so they dont lag-switch teleport at you (09-15-2023)
initial_traits = list(TRAIT_FLYING)
var/list/crusher_loot
@@ -17,7 +17,6 @@
harm_intent_damage = 5
melee_damage_lower = 8
melee_damage_upper = 12
attacktext = "attacks"
attack_sound = 'sound/weapons/bite.ogg'
emote_taunt = list("growls")
speak_emote = list("creaks")
@@ -21,7 +21,6 @@
attack_sound = 'sound/weapons/circsawhit.ogg'
projectiletype = /obj/item/projectile/kinetic
projectilesound = 'sound/weapons/kenetic_accel.ogg'
ranged_cooldown_time = 30
speak_emote = list("states")
throw_message = "does not go through the armor of"
del_on_death = TRUE
@@ -30,7 +29,6 @@
ranged = TRUE
dodging = FALSE // I feel like they are pretty strong as is, no need to dodge.
retreat_distance = 2
minimum_distance = 1
deathmessage = "blows apart!"
loot = list(/obj/effect/gibspawner/robot, /obj/item/pickaxe/drill)
@@ -14,9 +14,7 @@
projectilesound = 'sound/weapons/pierce.ogg'
ranged = TRUE
ranged_message = "stares"
ranged_cooldown_time = 30
throw_message = "does nothing against the hard shell of"
vision_range = 2
speed = 3
maxHealth = 200
health = 200
@@ -25,10 +23,8 @@
melee_damage_lower = 12
melee_damage_upper = 12
attacktext = "bites into"
a_intent = INTENT_HARM
speak_emote = list("chitters")
attack_sound = 'sound/weapons/bladeslice.ogg'
aggro_vision_range = 9
turns_per_move = 5
gold_core_spawnable = HOSTILE_SPAWN
contains_xeno_organ = TRUE
@@ -40,10 +36,6 @@
/obj/item/projectile/temp/basilisk
name = "freezing blast"
icon_state = "ice_2"
damage = 0
damage_type = BURN
nodamage = TRUE
flag = ENERGY
temperature = 50
/obj/item/projectile/temp/basilisk/on_hit(atom/target, blocked)
@@ -85,9 +77,7 @@
melee_damage_lower = 15
melee_damage_upper = 15
attacktext = "impales"
a_intent = INTENT_HARM
speak_emote = list("telepathically cries")
attack_sound = 'sound/weapons/bladeslice.ogg'
stat_attack = UNCONSCIOUS
robust_searching = TRUE
crusher_loot = /obj/item/crusher_trophy/watcher_wing
@@ -130,14 +120,12 @@
name = "scorching blast"
icon_state = "lava"
damage = 5
damage_type = BURN
nodamage = FALSE
temperature = 500 //Heats you up!
immolate = 1
/obj/item/projectile/temp/basilisk/icewing
damage = 5
damage_type = BURN
nodamage = FALSE
/obj/item/projectile/temp/basilisk/icewing/on_hit(atom/target, blocked = FALSE)
@@ -12,7 +12,6 @@
robust_searching = TRUE
ranged_ignores_vision = TRUE
ranged = TRUE
obj_damage = 30
vision_range = 6
aggro_vision_range = 18
environment_smash = ENVIRONMENT_SMASH_NONE //This is to prevent elites smashing up the mining station (entirely), we'll make sure they can smash minerals fine below.
@@ -162,7 +161,6 @@ While using this makes the system rely on OnFire, it still gives options for tim
light_color = LIGHT_COLOR_BLOOD_MAGIC
light_range = 3
anchored = TRUE
density = FALSE
var/activity = TUMOR_INACTIVE
var/boosted = FALSE
var/times_won = 0
@@ -468,7 +466,6 @@ While using this makes the system rely on OnFire, it still gives options for tim
canSmoothWith = list(SMOOTH_GROUP_HIERO_WALL)
duration = 5 SECONDS
layer = BELOW_MOB_LAYER
plane = GAME_PLANE
color = rgb(255,0,0)
light_range = MINIMUM_USEFUL_LIGHT_RANGE
light_color = LIGHT_COLOR_PURE_RED
@@ -499,7 +496,6 @@ While using this makes the system rely on OnFire, it still gives options for tim
icon_state = null
gpstag = "Cancerous Signal"
desc = "Ghosts in a fauna? That's cancerous!"
invisibility = 100
#undef TUMOR_INACTIVE
#undef TUMOR_ACTIVE
@@ -36,7 +36,6 @@
speed = 2
move_to_delay = 5
mob_biotypes = MOB_ORGANIC|MOB_BEAST
mouse_opacity = MOUSE_OPACITY_ICON
deathmessage = "explodes into gore!"
loot_drop = /obj/item/crusher_trophy/broodmother_tongue
contains_xeno_organ = TRUE
@@ -186,7 +185,6 @@
speed = 2
move_to_delay = 5
mob_biotypes = MOB_ORGANIC|MOB_BEAST
mouse_opacity = MOUSE_OPACITY_ICON
deathmessage = "falls to the ground."
status_flags = CANPUSH
var/mob/living/simple_animal/hostile/asteroid/elite/broodmother/mother = null
@@ -37,7 +37,6 @@
throw_message = "doesn't affect the purity of"
speed = 2
move_to_delay = 10
mouse_opacity = MOUSE_OPACITY_ICON
death_sound = 'sound/misc/demon_dies.ogg'
deathmessage = "begins to shudder as it becomes transparent..."
loot_drop = /obj/item/clothing/neck/cloak/herald_cloak
@@ -33,8 +33,6 @@
attack_sound = 'sound/weapons/bladeslice.ogg'
throw_message = "doesn't affect the sturdiness of"
speed = 0.5 //Since it is mainly melee, this *should* be right
move_to_delay = 3
mouse_opacity = MOUSE_OPACITY_ICON
death_sound = 'sound/hallucinations/wail.ogg'
deathmessage = "'s arms reach out before it falls apart onto the floor, lifeless."
sight = SEE_MOBS // So it can see through smoke / charge through walls like the kool aid man.
@@ -290,7 +288,6 @@
max_integrity = 100
move_resist = MOVE_FORCE_EXTREMELY_STRONG
anchored = TRUE
density = FALSE
light_range = 4
light_color = LIGHT_COLOR_FLARE
var/mob/living/simple_animal/hostile/asteroid/elite/legionnaire/myowner = null
@@ -318,7 +315,6 @@
//The visual effect which appears in front of legionnaire when he goes to charge.
/obj/effect/temp_visual/dragon_swoop/legionnaire
duration = 10
/obj/effect/temp_visual/dragon_swoop/legionnaire/Initialize(mapload)
. = ..()
@@ -37,7 +37,6 @@
ranged_cooldown_time = 20
speed = 2
move_to_delay = 10
mouse_opacity = MOUSE_OPACITY_ICON
death_sound = 'sound/magic/repulse.ogg'
deathmessage = "'s lights flicker, before its top part falls down."
loot_drop = /obj/item/clothing/accessory/pandora_hope
@@ -210,7 +209,6 @@
icon_state = "hope"
item_state = "hope"
item_color = "hope"
slot_flags = ITEM_SLOT_ACCESSORY
allow_duplicates = FALSE
resistance_flags = FIRE_PROOF
@@ -9,15 +9,11 @@
icon_dead = "Goldgrub_dead"
icon_gib = "syndicate_gib"
mob_biotypes = MOB_ORGANIC | MOB_BEAST
vision_range = 2
aggro_vision_range = 9
move_to_delay = 5
friendly = "harmlessly rolls into"
maxHealth = 45
health = 45
harm_intent_damage = 5
melee_damage_lower = 0
melee_damage_upper = 0
attacktext = "barrels into"
attack_sound = 'sound/weapons/punch1.ogg'
a_intent = INTENT_HELP
@@ -9,7 +9,6 @@
icon_dead = "Goliath_dead"
icon_gib = "syndicate_gib"
mob_biotypes = MOB_ORGANIC | MOB_BEAST
mouse_opacity = MOUSE_OPACITY_ICON
move_to_delay = 40
ranged = TRUE
ranged_cooldown_time = 120
@@ -26,7 +25,6 @@
attack_sound = 'sound/weapons/punch1.ogg'
throw_message = "does nothing to the rocky hide of the"
vision_range = 5
aggro_vision_range = 9
move_force = MOVE_FORCE_VERY_STRONG
move_resist = MOVE_FORCE_VERY_STRONG
pull_force = MOVE_FORCE_VERY_STRONG
@@ -82,9 +80,7 @@
//Lavaland Goliath
/mob/living/simple_animal/hostile/asteroid/goliath/beast
name = "goliath"
desc = "A hulking, armor-plated beast with long tendrils arching from its back."
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "goliath"
icon_living = "goliath"
icon_aggro = "goliath"
@@ -27,7 +27,6 @@
gold_core_spawnable = FRIENDLY_SPAWN
stat_attack = UNCONSCIOUS
gender = NEUTER
stop_automated_movement = FALSE
stop_automated_movement_when_pulled = TRUE
stat_exclusive = TRUE
robust_searching = TRUE
@@ -7,23 +7,18 @@
icon_aggro = "Hivelord_alert"
icon_dead = "Hivelord_dead"
icon_gib = "syndicate_gib"
mob_biotypes = MOB_ORGANIC
mouse_opacity = MOUSE_OPACITY_OPAQUE
move_to_delay = 14
ranged = TRUE
vision_range = 5
aggro_vision_range = 9
speed = 3
maxHealth = 75
health = 75
harm_intent_damage = 5
melee_damage_lower = 0
melee_damage_upper = 0
attacktext = "lashes out at"
speak_emote = list("telepathically cries")
attack_sound = 'sound/weapons/pierce.ogg'
throw_message = "falls right through the strange body of the"
ranged_cooldown = 0
ranged_cooldown_time = 20
obj_damage = 0
environment_smash = ENVIRONMENT_SMASH_NONE
@@ -167,20 +162,16 @@
/mob/living/simple_animal/hostile/asteroid/hivelord/legion
name = "legion"
desc = "You can still see what was once a person under the shifting mass of corruption."
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "legion"
icon_living = "legion"
icon_aggro = "legion"
icon_dead = "legion"
icon_gib = "syndicate_gib"
mob_biotypes = MOB_ORGANIC | MOB_HUMANOID
mouse_opacity = MOUSE_OPACITY_ICON
obj_damage = 60
melee_damage_lower = 15
melee_damage_upper = 15
attacktext = "lashes out at"
speak_emote = list("echoes")
attack_sound = 'sound/weapons/pierce.ogg'
throw_message = "bounces harmlessly off of"
crusher_loot = /obj/item/crusher_trophy/legion_skull
loot = list(/obj/item/organ/internal/regenerative_core/legion)
@@ -227,24 +218,16 @@
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion
name = "legion"
desc = "One of many."
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "legion_head"
icon_living = "legion_head"
icon_aggro = "legion_head"
icon_dead = "legion_head"
icon_gib = "syndicate_gib"
friendly = "buzzes near"
vision_range = 10
maxHealth = 1
health = 5
harm_intent_damage = 5
melee_damage_lower = 12
melee_damage_upper = 12
attacktext = "bites"
speak_emote = list("echoes")
attack_sound = 'sound/weapons/pierce.ogg'
throw_message = "is shrugged off by"
del_on_death = TRUE
stat_attack = UNCONSCIOUS
robust_searching = TRUE
var/can_infest_dead = FALSE
@@ -302,8 +285,6 @@
maxHealth = 350
melee_damage_lower = 30
melee_damage_upper = 30
wander = TRUE
layer = MOB_LAYER
move_force = MOVE_FORCE_VERY_STRONG
move_resist = MOVE_FORCE_VERY_STRONG
pull_force = MOVE_FORCE_VERY_STRONG
@@ -9,8 +9,6 @@
environment_smash = ENVIRONMENT_SMASH_WALLS
minbodytemp = 0
maxbodytemp = INFINITY
response_help = "pokes"
response_disarm = "shoves"
response_harm = "strikes"
status_flags = 0
a_intent = INTENT_HARM
@@ -5,8 +5,6 @@
icon_living = "mushroom_color"
icon_dead = "mushroom_dead"
mob_biotypes = MOB_ORGANIC | MOB_PLANT
speak_chance = 0
turns_per_move = 1
maxHealth = 10
health = 10
butcher_results = list(/obj/item/food/hugemushroomslice = 1)
@@ -23,8 +21,6 @@
faction = list("mushroom", "jungle")
environment_smash = 0
stat_attack = DEAD
mouse_opacity = MOUSE_OPACITY_ICON
speed = 1
ventcrawler = VENTCRAWLER_ALWAYS
robust_searching = TRUE
speak_emote = list("squeaks")
@@ -10,7 +10,6 @@
turns_per_move = 3
death_sound = 'sound/creatures/piratedeath.ogg'
response_help = "pushes the"
response_disarm = "shoves"
response_harm = "slashes"
speed = 0
maxHealth = 100
@@ -64,7 +63,6 @@
name = "Pirate Gunner"
icon_state = "piratespaceranged"
icon_living = "piratespaceranged"
icon_dead = "piratemelee_dead" // Does not actually exist. del_on_death.
projectilesound = 'sound/weapons/laser.ogg'
ranged = TRUE
rapid = 2
@@ -1,7 +1,6 @@
/mob/living/simple_animal/hostile/retaliate/araneus
name = "Sergeant Araneus"
real_name = "Sergeant Araneus"
voice_name = "unidentifiable voice"
desc = "A fierce companion for any person of power, this spider has been carefully trained by Nanotrasen specialists. Its beady, staring eyes send shivers down your spine."
faction = list("spiders")
icon_state = "guard"
@@ -14,7 +13,6 @@
emote_hear = list("chitters")
maxHealth = 250
health = 250
harm_intent_damage = 3
melee_damage_lower = 15
melee_damage_upper = 20
unique_pet = TRUE
@@ -19,7 +19,6 @@
speak = list("ALERT.", "Hostile-ile-ile entities dee-twhoooo-wected.", "Threat parameterszzzz- szzet.", "Bring sub-sub-sub-systems uuuup to combat alert alpha-a-a.")
emote_see = list("beeps menacingly.", "whirrs threateningly.", "scans for targets.")
a_intent = INTENT_HARM
stop_automated_movement_when_pulled = FALSE
health = 200
maxHealth = 200
speed = 8
@@ -6,12 +6,10 @@
icon_state = "carp"
icon_gib = "carp_gib"
mob_biotypes = MOB_ORGANIC | MOB_BEAST
speak_chance = 0
turns_per_move = 5
butcher_results = list(/obj/item/food/carpmeat = 1)
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "hits"
speed = 0
maxHealth = 25
health = 25
@@ -1,7 +1,6 @@
/mob/living/simple_animal/hostile/retaliate/kangaroo
name = "Kangaroo"
real_name = "Kangaroo"
voice_name = "unidentifiable voice"
desc = "A large marsupial herbivore. It has powerful hind legs, with nails that resemble long claws."
icon_state = "kangaroo" // Credit: FoS
icon_living = "kangaroo"
@@ -14,7 +13,6 @@
maxHealth = 150
health = 150
butcher_results = list(/obj/item/food/meat/kangaroo = 6)
harm_intent_damage = 3
melee_damage_lower = 5 // avg damage 12.5 without kick, (12.5+12.5+60)/3=25 with kick
melee_damage_upper = 20
attacktext = "slashes"
@@ -7,16 +7,11 @@
mob_biotypes = MOB_SPIRIT
density = FALSE // ghost
invisibility = 60 // no seriously ghost
speak_chance = 0 // fyi, ghost
response_help = "passes through" // by the way ghost
response_disarm = "shoves"
response_harm = "hits"
turns_per_move = 10
speed = 0
maxHealth = 20
health = 20
emote_taunt = list("wails")
taunt_chance = 20
@@ -30,7 +25,6 @@
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
pressure_resistance = 300
gold_core_spawnable = NO_SPAWN //too spooky for science
faction = list("undead") // did I mention ghost
loot = list(/obj/item/food/ectoplasm)
del_on_death = TRUE
@@ -54,14 +48,9 @@
icon_living = "skeleton_s"
icon_dead = "skeleton_l"
mob_biotypes = MOB_UNDEAD | MOB_HUMANOID
speak_chance = 0
turns_per_move = 10
response_help = "shakes hands with"
response_disarm = "shoves"
response_harm = "hits"
speed = 0
maxHealth = 20
health = 20
harm_intent_damage = 10
melee_damage_lower = 5
@@ -84,14 +73,9 @@
icon_living = "zombie_s"
icon_dead = "zombie_l"
mob_biotypes = MOB_UNDEAD | MOB_HUMANOID
speak_chance = 0
turns_per_move = 10
response_help = "gently prods"
response_disarm = "shoves"
response_harm = "hits"
speed = -1
maxHealth = 20
health = 20
harm_intent_damage = 10
melee_damage_lower = 5
@@ -7,7 +7,6 @@
icon_dead = "sovietmelee_dead" // Does not actually exist. del_on_death.
icon_gib = "sovietmelee_gib" // Does not actually exist. del_on_death.
mob_biotypes = MOB_ORGANIC | MOB_HUMANOID
speak_chance = 0
turns_per_move = 5
response_help = "pokes the"
response_disarm = "shoves the"
@@ -23,7 +22,6 @@
a_intent = INTENT_HARM
unsuitable_atmos_damage = 15
faction = list("soviet")
status_flags = CANPUSH
loot = list(/obj/effect/mob_spawn/human/corpse/soviet,
/obj/item/kitchen/knife,
/obj/item/salvage/loot/soviet)
@@ -70,7 +68,6 @@
a_intent = INTENT_HARM
unsuitable_atmos_damage = 15
faction = list("soviet")
status_flags = CANPUSH
loot = list(
/obj/effect/mob_spawn/human/corpse/soviet_nian,
/obj/item/melee/energy/sword/pirate,
@@ -67,7 +67,6 @@
speed = 0
maxHealth = 200
health = 200
unsuitable_atmos_damage = 2 // 4 actually
damage_coeff = list(BRUTE = 0.9, BURN = 0.9, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) // Imitates our armor
melee_damage_lower = 30
melee_damage_upper = 30
@@ -56,7 +56,6 @@
/datum/action/innate/terrorspider/mother/royaljelly
name = "Lay Royal Jelly"
button_overlay_icon = 'icons/mob/actions/actions.dmi'
button_overlay_icon_state = "spiderjelly"
/datum/action/innate/terrorspider/mother/royaljelly/Activate()
@@ -94,7 +93,6 @@
/datum/action/innate/terrorspider/queen/queensense
name = "Hive Sense"
button_overlay_icon = 'icons/mob/actions/actions.dmi'
button_overlay_icon_state = "mindswap"
/datum/action/innate/terrorspider/queen/queensense/Activate()
@@ -158,11 +156,7 @@
/obj/structure/spider/terrorweb
name = "terror web"
desc = "It's stringy and sticky!"
icon = 'icons/effects/effects.dmi'
anchored = TRUE // prevents people dragging it
density = FALSE // prevents it blocking all movement
max_integrity = 20 // two welders, or one laser shot (15 for the normal spider webs)
icon_state = "stickyweb1"
creates_cover = TRUE
var/creator_ckey = null
@@ -19,8 +19,6 @@
icon_state = "terror_widow"
icon_living = "terror_widow"
icon_dead = "terror_widow_dead"
maxHealth = 120 // same health as hunter spider, aka, pretty weak.. but its bite will kill you!
health = 120
melee_damage_lower = 5
melee_damage_upper = 10
web_type = /obj/structure/spider/terrorweb/black
@@ -19,8 +19,6 @@
icon_state = "terror_brown"
icon_living = "terror_brown"
icon_dead = "terror_brown_dead"
maxHealth = 120 // Low
health = 120
melee_damage_lower = 20
melee_damage_upper = 30
move_to_delay = 20 // Slow.
@@ -15,13 +15,10 @@
You have more health than any other terror spider and deal extremely high damage to anything you attack. \
You can also lay eggs at an incredibly fast rate. \
You can also break through practically anything, so the crew will have zero hope of containing you. Have fun!"
ai_target_method = TS_DAMAGE_SIMPLE
maxHealth = 1000
health = 1000
melee_damage_lower = 30
melee_damage_upper = 60
ventcrawler = VENTCRAWLER_NUDE
idle_ventcrawl_chance = 0
ai_playercontrol_allowtype = 0
canlay = 1000
spider_tier = TS_TIER_5

Some files were not shown because too many files have changed in this diff Show More