Splits mining_mobs.dm into separate files

This commit is contained in:
CitadelStationBot
2017-05-29 01:17:13 -05:00
parent 745437e0eb
commit afbfb66386
21 changed files with 1120 additions and 1173 deletions

View File

@@ -85,7 +85,7 @@
/obj/item/organ/heart/gland/spiderman = 5,
/obj/item/organ/heart/gland/ventcrawling = 1,
/obj/item/organ/body_egg/alien_embryo = 1,
/obj/item/organ/hivelord_core = 2)
/obj/item/organ/regenerative_core = 2)
lootcount = 3
/obj/effect/spawner/lootdrop/two_percent_xeno_egg_spawner

View File

@@ -0,0 +1,10 @@
diff a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm (rejected hunks)
@@ -200,7 +200,7 @@
/obj/item/weapon/storage/pill_bottle,
/obj/item/weapon/ore,
/obj/item/weapon/reagent_containers/food/drinks,
- /obj/item/organ/hivelord_core,
+ /obj/item/organ/regenerative_core,
/obj/item/device/wormhole_jaunter,
/obj/item/weapon/storage/bag/plants,
/obj/item/stack/marker_beacon

View File

@@ -66,10 +66,10 @@
/datum/export/organ/hivelord
cost = 1500
unit_name = "active hivelord core"
export_types = list(/obj/item/organ/hivelord_core)
unit_name = "active regenerative core"
export_types = list(/obj/item/organ/regenerative_core)
/datum/export/organ/alien/plasmavessel/get_cost(obj/item/organ/hivelord_core/C)
/datum/export/organ/alien/plasmavessel/get_cost(obj/item/organ/regenerative_core/C)
if(C.inert)
return ..() / 3
if(C.preserved)

View File

@@ -60,7 +60,7 @@
name = "goliath cloak"
icon_state = "goliath_cloak"
desc = "A staunch, practical cape made out of numerous monster materials, it is coveted amongst exiles & hermits."
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/weapon/pickaxe, /obj/item/weapon/twohanded/spear, /obj/item/weapon/twohanded/bonespear, /obj/item/organ/hivelord_core/legion, /obj/item/weapon/kitchen/knife/combat/bone, /obj/item/weapon/kitchen/knife/combat/survival)
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/weapon/pickaxe, /obj/item/weapon/twohanded/spear, /obj/item/weapon/twohanded/bonespear, /obj/item/organ/regenerative_core/legion, /obj/item/weapon/kitchen/knife/combat/bone, /obj/item/weapon/kitchen/knife/combat/survival)
armor = list(melee = 35, bullet = 10, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 60, acid = 60) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot
hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath
body_parts_covered = CHEST|GROIN|ARMS

View File

@@ -264,7 +264,7 @@
time = 40
reqs = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/steak/goliath = 1,
/obj/item/organ/hivelord_core/legion = 1,
/obj/item/organ/regenerative_core/legion = 1,
/datum/reagent/consumable/ketchup = 2,
/datum/reagent/consumable/capsaicin = 2
)

View File

@@ -0,0 +1,39 @@
/obj/item/stack/sheet/animalhide/goliath_hide
name = "goliath hide plates"
desc = "Pieces of a goliath's rocky hide, these might be able to make your suit a bit more durable to attack from the local fauna."
icon = 'icons/obj/mining.dmi'
icon_state = "goliath_hide"
flags = NOBLUDGEON
w_class = WEIGHT_CLASS_NORMAL
layer = MOB_LAYER
/obj/item/stack/sheet/animalhide/goliath_hide/afterattack(atom/target, mob/user, proximity_flag)
if(proximity_flag)
if(istype(target, /obj/item/clothing/suit/space/hardsuit/mining) || istype(target, /obj/item/clothing/head/helmet/space/hardsuit/mining) || istype(target, /obj/item/clothing/suit/hooded/explorer) || istype(target, /obj/item/clothing/head/hooded/explorer))
var/obj/item/clothing/C = target
var/list/current_armor = C.armor
if(current_armor.["melee"] < 60)
current_armor.["melee"] = min(current_armor.["melee"] + 10, 60)
to_chat(user, "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>")
use(1)
else
to_chat(user, "<span class='warning'>You can't improve [C] any further!</span>")
return
if(istype(target, /obj/mecha/working/ripley))
var/obj/mecha/working/ripley/D = target
if(D.hides < 3)
D.hides++
D.armor["melee"] = min(D.armor["melee"] + 10, 70)
D.armor["bullet"] = min(D.armor["bullet"] + 5, 50)
D.armor["laser"] = min(D.armor["laser"] + 5, 50)
to_chat(user, "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>")
D.update_icon()
if(D.hides == 3)
D.desc = "Autonomous Power Loader Unit. It's wearing a fearsome carapace entirely composed of goliath hide plates - its pilot must be an experienced monster hunter."
else
D.desc = "Autonomous Power Loader Unit. Its armour is enhanced with some goliath hide plates."
qdel(src)
else
to_chat(user, "<span class='warning'>You can't improve [D] any further!</span>")
return

View File

@@ -0,0 +1,128 @@
/*********************Hivelord stabilizer****************/
/obj/item/weapon/hivelordstabilizer
name = "stabilizing serum"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle19"
desc = "Inject certain types of monster organs with this stabilizer to preserve their healing powers indefinitely."
w_class = WEIGHT_CLASS_TINY
origin_tech = "biotech=3"
/obj/item/weapon/hivelordstabilizer/afterattack(obj/item/organ/M, mob/user)
var/obj/item/organ/regenerative_core/C = M
if(!istype(C, /obj/item/organ/regenerative_core))
to_chat(user, "<span class='warning'>The stabilizer only works on certain types of monster organs, generally regenerative in nature.</span>")
return ..()
C.preserved()
to_chat(user, "<span class='notice'>You inject the [M] with the stabilizer. It will no longer go inert.</span>")
qdel(src)
/************************Hivelord core*******************/
/obj/item/organ/regenerative_core
name = "regenerative core"
desc = "All that remains of a hivelord. It can be used to heal completely, but it will rapidly decay into uselessness."
icon_state = "roro core 2"
flags = NOBLUDGEON
slot = "hivecore"
force = 0
actions_types = list(/datum/action/item_action/organ_action/use)
var/inert = 0
var/preserved = 0
/obj/item/organ/regenerative_core/Initialize()
. = ..()
addtimer(CALLBACK(src, .proc/inert_check), 2400)
/obj/item/organ/regenerative_core/proc/inert_check()
if(!preserved)
go_inert()
/obj/item/organ/regenerative_core/proc/preserved(implanted = 0)
inert = FALSE
preserved = TRUE
update_icon()
desc = "All that remains of a hivelord. It is preserved, allowing you to use it to heal completely without danger of decay."
if(implanted)
SSblackbox.add_details("hivelord_core", "[type]|implanted")
else
SSblackbox.add_details("hivelord_core", "[type]|stabilizer")
/obj/item/organ/regenerative_core/proc/go_inert()
inert = TRUE
name = "decayed regenerative core"
desc = "All that remains of a hivelord. It has decayed, and is completely useless."
SSblackbox.add_details("hivelord_core", "[type]|inert")
update_icon()
/obj/item/organ/regenerative_core/ui_action_click()
if(inert)
to_chat(owner, "<span class='notice'>[src] breaks down as it tries to activate.</span>")
else
owner.revive(full_heal = 1)
qdel(src)
/obj/item/organ/regenerative_core/on_life()
..()
if(owner.health < HEALTH_THRESHOLD_CRIT)
ui_action_click()
/obj/item/organ/regenerative_core/afterattack(atom/target, mob/user, proximity_flag)
if(proximity_flag && ishuman(target))
var/mob/living/carbon/human/H = target
if(inert)
to_chat(user, "<span class='notice'>[src] has decayed and can no longer be used to heal.</span>")
return
else
if(H.stat == DEAD)
to_chat(user, "<span class='notice'>[src] are useless on the dead.</span>")
return
if(H != user)
H.visible_message("[user] forces [H] to apply [src]... [H.p_they()] quickly regenerate all injuries!")
SSblackbox.add_details("hivelord_core","[src.type]|used|other")
else
to_chat(user, "<span class='notice'>You start to smear [src] on yourself. It feels and smells disgusting, but you feel amazingly refreshed in mere moments.</span>")
SSblackbox.add_details("hivelord_core","[src.type]|used|self")
H.revive(full_heal = 1)
qdel(src)
..()
/obj/item/organ/regenerative_core/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE)
. = ..()
if(!preserved && !inert)
preserved(TRUE)
owner.visible_message("<span class='notice'>[src] stabilizes as it's inserted.</span>")
/obj/item/organ/regenerative_core/Remove(mob/living/carbon/M, special = 0)
if(!inert && !special)
owner.visible_message("<span class='notice'>[src] rapidly decays as it's removed.</span>")
go_inert()
return ..()
/obj/item/organ/regenerative_core/prepare_eat()
return null
/*************************Legion core********************/
/obj/item/organ/regenerative_core/legion
desc = "A strange rock that crackles with power. It can be used to heal completely, but it will rapidly decay into uselessness."
icon_state = "legion_soul"
/obj/item/organ/regenerative_core/legion/Initialize()
. = ..()
update_icon()
/obj/item/organ/regenerative_core/update_icon()
icon_state = inert ? "legion_soul_inert" : "legion_soul"
cut_overlays()
if(!inert && !preserved)
add_overlay("legion_soul_crackle")
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
/obj/item/organ/regenerative_core/legion/go_inert()
..()
desc = "[src] has become inert. It has decayed, and is completely useless."
/obj/item/organ/regenerative_core/legion/preserved(implanted = 0)
..()
desc = "[src] has been stabilized. It is preserved, allowing you to use it to heal completely without danger of decay."

View File

@@ -12,22 +12,3 @@
/obj/item/clothing/mask/facehugger/toy/Die()
return
/*********************Hivelord stabilizer****************/
/obj/item/weapon/hivelordstabilizer
name = "stabilizing serum"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle19"
desc = "Inject certain types of monster organs with this stabilizer to preserve their healing powers indefinitely."
w_class = WEIGHT_CLASS_TINY
origin_tech = "biotech=3"
/obj/item/weapon/hivelordstabilizer/afterattack(obj/item/organ/M, mob/user)
var/obj/item/organ/hivelord_core/C = M
if(!istype(C, /obj/item/organ/hivelord_core))
to_chat(user, "<span class='warning'>The stabilizer only works on certain types of monster organs, generally regenerative in nature.</span>")
return ..()
C.preserved()
to_chat(user, "<span class='notice'>You inject the [M] with the stabilizer. It will no longer go inert.</span>")
qdel(src)

View File

@@ -380,17 +380,22 @@ Difficulty: Hard
break
max_amount--
var/obj/effect/decal/cleanable/blood/B = H
new /mob/living/simple_animal/hostile/asteroid/hivelordbrood/blood/slaughter(B.loc)
new /mob/living/simple_animal/hostile/asteroid/hivelordbrood/slaughter(B.loc)
return max_amount
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/blood/slaughter
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/slaughter
name = "slaughterling"
desc = "Though not yet strong enough to create a true physical form, it's nonetheless determined to murder you."
icon_state = "bloodbrood"
icon_living = "bloodbrood"
icon_aggro = "bloodbrood"
attacktext = "pierces"
color = "#C80000"
density = 0
faction = list("mining", "boss")
weather_immunities = list("lava","ash")
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/blood/slaughter/CanPass(atom/movable/mover, turf/target, height = 0)
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/slaughter/CanPass(atom/movable/mover, turf/target, height = 0)
if(istype(mover, /mob/living/simple_animal/hostile/megafauna/bubblegum))
return 1
return 0

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,80 @@
//A beast that fire freezing blasts.
/mob/living/simple_animal/hostile/asteroid/basilisk
name = "basilisk"
desc = "A territorial beast, covered in a thick shell that absorbs energy. Its stare causes victims to freeze from the inside."
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "Basilisk"
icon_living = "Basilisk"
icon_aggro = "Basilisk_alert"
icon_dead = "Basilisk_dead"
icon_gib = "syndicate_gib"
move_to_delay = 20
projectiletype = /obj/item/projectile/temp/basilisk
projectilesound = 'sound/weapons/pierce.ogg'
ranged = 1
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
harm_intent_damage = 5
obj_damage = 60
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
idle_vision_range = 2
turns_per_move = 5
loot = list(/obj/item/weapon/ore/diamond{layer = ABOVE_MOB_LAYER},
/obj/item/weapon/ore/diamond{layer = ABOVE_MOB_LAYER})
/obj/item/projectile/temp/basilisk
name = "freezing blast"
icon_state = "ice_2"
damage = 0
damage_type = BURN
nodamage = 1
flag = "energy"
temperature = 50
/mob/living/simple_animal/hostile/asteroid/basilisk/GiveTarget(new_target)
if(..()) //we have a target
if(isliving(target) && !target.Adjacent(targets_from) && ranged_cooldown <= world.time)//No more being shot at point blank or spammed with RNG beams
OpenFire(target)
/mob/living/simple_animal/hostile/asteroid/basilisk/ex_act(severity, target)
switch(severity)
if(1)
gib()
if(2)
adjustBruteLoss(140)
if(3)
adjustBruteLoss(110)
//Watcher
/mob/living/simple_animal/hostile/asteroid/basilisk/watcher
name = "watcher"
desc = "A levitating, eye-like creature held aloft by winglike formations of sinew. A sharp spine of crystal protrudes from its body."
icon = 'icons/mob/lavaland/watcher.dmi'
icon_state = "watcher"
icon_living = "watcher"
icon_aggro = "watcher"
icon_dead = "watcher_dead"
pixel_x = -10
throw_message = "bounces harmlessly off of"
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
movement_type = FLYING
robust_searching = 1
loot = list()
butcher_results = list(/obj/item/weapon/ore/diamond = 2, /obj/item/stack/sheet/sinew = 2, /obj/item/stack/sheet/bone = 1)

View File

@@ -0,0 +1,79 @@
//An ore-devouring but easily scared creature
/mob/living/simple_animal/hostile/asteroid/goldgrub
name = "goldgrub"
desc = "A worm that grows fat from eating everything in its sight. Seems to enjoy precious metals and other shiny things, hence the name."
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "Goldgrub"
icon_living = "Goldgrub"
icon_aggro = "Goldgrub_alert"
icon_dead = "Goldgrub_dead"
icon_gib = "syndicate_gib"
vision_range = 2
aggro_vision_range = 9
idle_vision_range = 2
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
speak_emote = list("screeches")
throw_message = "sinks in slowly, before being pushed out of "
deathmessage = "spits up the contents of its stomach before dying!"
status_flags = CANPUSH
search_objects = 1
wanted_objects = list(/obj/item/weapon/ore/diamond, /obj/item/weapon/ore/gold, /obj/item/weapon/ore/silver,
/obj/item/weapon/ore/uranium)
var/chase_time = 100
var/will_burrow = TRUE
/mob/living/simple_animal/hostile/asteroid/goldgrub/Initialize()
..()
var/i = rand(1,3)
while(i)
loot += pick(/obj/item/weapon/ore/silver, /obj/item/weapon/ore/gold, /obj/item/weapon/ore/uranium, /obj/item/weapon/ore/diamond)
i--
/mob/living/simple_animal/hostile/asteroid/goldgrub/GiveTarget(new_target)
target = new_target
if(target != null)
if(istype(target, /obj/item/weapon/ore) && loot.len < 10)
visible_message("<span class='notice'>The [src.name] looks at [target.name] with hungry eyes.</span>")
else if(isliving(target))
Aggro()
visible_message("<span class='danger'>The [src.name] tries to flee from [target.name]!</span>")
retreat_distance = 10
minimum_distance = 10
if(will_burrow)
addtimer(CALLBACK(src, .proc/Burrow), chase_time)
/mob/living/simple_animal/hostile/asteroid/goldgrub/AttackingTarget()
if(istype(target, /obj/item/weapon/ore))
EatOre(target)
return
return ..()
/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/EatOre(atom/targeted_ore)
for(var/obj/item/weapon/ore/O in targeted_ore.loc)
if(loot.len < 10)
loot += O.type
qdel(O)
visible_message("<span class='notice'>The ore was swallowed whole!</span>")
/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/Burrow()//Begin the chase to kill the goldgrub in time
if(!stat)
visible_message("<span class='danger'>The [src.name] buries into the ground, vanishing from sight!</span>")
qdel(src)
/mob/living/simple_animal/hostile/asteroid/goldgrub/bullet_act(obj/item/projectile/P)
visible_message("<span class='danger'>The [P.name] was repelled by [src.name]'s girth!</span>")
return
/mob/living/simple_animal/hostile/asteroid/goldgrub/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
idle_vision_range = 9
. = ..()

View File

@@ -0,0 +1,130 @@
//A slow but strong beast that tries to stun using its tentacles
/mob/living/simple_animal/hostile/asteroid/goliath
name = "goliath"
desc = "A massive beast that uses long tentacles to ensare its prey, threatening them is not advised under any conditions."
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "Goliath"
icon_living = "Goliath"
icon_aggro = "Goliath_alert"
icon_dead = "Goliath_dead"
icon_gib = "syndicate_gib"
mouse_opacity = 2
move_to_delay = 40
ranged = 1
ranged_cooldown_time = 120
friendly = "wails at"
speak_emote = list("bellows")
vision_range = 4
speed = 3
maxHealth = 300
health = 300
harm_intent_damage = 0
obj_damage = 100
melee_damage_lower = 25
melee_damage_upper = 25
attacktext = "pulverizes"
attack_sound = 'sound/weapons/punch1.ogg'
throw_message = "does nothing to the rocky hide of the"
aggro_vision_range = 9
idle_vision_range = 5
anchored = TRUE //Stays anchored until death as to be unpullable
var/pre_attack = 0
var/pre_attack_icon = "Goliath_preattack"
loot = list(/obj/item/stack/sheet/animalhide/goliath_hide)
/mob/living/simple_animal/hostile/asteroid/goliath/Life()
..()
handle_preattack()
/mob/living/simple_animal/hostile/asteroid/goliath/proc/handle_preattack()
if(ranged_cooldown <= world.time + ranged_cooldown_time*0.25 && !pre_attack)
pre_attack++
if(!pre_attack || stat || AIStatus == AI_IDLE)
return
icon_state = pre_attack_icon
/mob/living/simple_animal/hostile/asteroid/goliath/revive(full_heal = 0, admin_revive = 0)
if(..())
anchored = TRUE
. = 1
/mob/living/simple_animal/hostile/asteroid/goliath/death(gibbed)
anchored = 0
..(gibbed)
/mob/living/simple_animal/hostile/asteroid/goliath/OpenFire()
var/tturf = get_turf(target)
if(!isturf(tturf))
return
if(get_dist(src, target) <= 7)//Screen range check, so you can't get tentacle'd offscreen
visible_message("<span class='warning'>The [src.name] digs its tentacles under [target.name]!</span>")
new /obj/effect/goliath_tentacle/original(tturf)
ranged_cooldown = world.time + ranged_cooldown_time
icon_state = icon_aggro
pre_attack = 0
/mob/living/simple_animal/hostile/asteroid/goliath/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
ranged_cooldown -= 10
handle_preattack()
. = ..()
/mob/living/simple_animal/hostile/asteroid/goliath/Aggro()
vision_range = aggro_vision_range
handle_preattack()
if(icon_state != icon_aggro)
icon_state = icon_aggro
//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"
icon_dead = "goliath_dead"
throw_message = "does nothing to the tough hide of the"
pre_attack_icon = "goliath2"
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/goliath = 2, /obj/item/stack/sheet/animalhide/goliath_hide = 1, /obj/item/stack/sheet/bone = 2)
loot = list()
stat_attack = UNCONSCIOUS
robust_searching = 1
//tentacles
/obj/effect/goliath_tentacle
name = "Goliath tentacle"
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "Goliath_tentacle"
var/latched = FALSE
anchored = TRUE
/obj/effect/goliath_tentacle/Initialize()
. = ..()
if(ismineralturf(loc))
var/turf/closed/mineral/M = loc
M.gets_drilled()
addtimer(CALLBACK(src, .proc/Trip), 10)
/obj/effect/goliath_tentacle/original/Initialize()
. = ..()
for(var/obj/effect/goliath_tentacle/original/O in loc)//No more GG NO RE from 2+ goliaths simultaneously tentacling you
if(O != src)
qdel(src)
var/list/directions = GLOB.cardinal.Copy()
for(var/i in 1 to 3)
var/spawndir = pick(directions)
directions -= spawndir
var/turf/T = get_step(src,spawndir)
if(T)
new /obj/effect/goliath_tentacle(T)
/obj/effect/goliath_tentacle/proc/Trip()
for(var/mob/living/M in src.loc)
visible_message("<span class='danger'>The [src.name] grabs hold of [M.name]!</span>")
M.Stun(5)
M.adjustBruteLoss(rand(10,15))
latched = TRUE
if(!latched)
qdel(src)
else
QDEL_IN(src, 50)

View File

@@ -0,0 +1,113 @@
//Gutlunches, passive mods that devour blood and gibs
/mob/living/simple_animal/hostile/asteroid/gutlunch
name = "gutlunch"
desc = "A scavenger that eats raw meat, often found alongside ash walkers. Produces a thick, nutritious milk."
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "gutlunch"
icon_living = "gutlunch"
icon_dead = "gutlunch"
speak_emote = list("warbles", "quavers")
emote_hear = list("trills.")
emote_see = list("sniffs.", "burps.")
weather_immunities = list("lava","ash")
faction = list("mining", "ashwalker")
density = 0
speak_chance = 1
turns_per_move = 8
obj_damage = 0
environment_smash = ENVIRONMENT_SMASH_NONE
move_to_delay = 15
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "squishes"
friendly = "pinches"
a_intent = INTENT_HELP
ventcrawler = VENTCRAWLER_ALWAYS
gold_core_spawnable = 2
stat_attack = UNCONSCIOUS
gender = NEUTER
stop_automated_movement = FALSE
stop_automated_movement_when_pulled = TRUE
stat_exclusive = TRUE
robust_searching = TRUE
search_objects = TRUE
del_on_death = TRUE
loot = list(/obj/effect/decal/cleanable/blood/gibs)
deathmessage = "is pulped into bugmash."
animal_species = /mob/living/simple_animal/hostile/asteroid/gutlunch
childtype = list(/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck = 45, /mob/living/simple_animal/hostile/asteroid/gutlunch/guthen = 55)
wanted_objects = list(/obj/effect/decal/cleanable/xenoblood/xgibs, /obj/effect/decal/cleanable/blood/gibs/)
var/obj/item/udder/gutlunch/udder = null
/mob/living/simple_animal/hostile/asteroid/gutlunch/Initialize()
udder = new()
. = ..()
/mob/living/simple_animal/hostile/asteroid/gutlunch/Destroy()
QDEL_NULL(udder)
return ..()
/mob/living/simple_animal/hostile/asteroid/gutlunch/regenerate_icons()
cut_overlays()
if(udder.reagents.total_volume == udder.reagents.maximum_volume)
add_overlay("gl_full")
..()
/mob/living/simple_animal/hostile/asteroid/gutlunch/attackby(obj/item/O, mob/user, params)
if(stat == CONSCIOUS && istype(O, /obj/item/weapon/reagent_containers/glass))
udder.milkAnimal(O, user)
regenerate_icons()
else
..()
/mob/living/simple_animal/hostile/asteroid/gutlunch/AttackingTarget()
if(is_type_in_typecache(target,wanted_objects)) //we eats
udder.generateMilk()
regenerate_icons()
visible_message("<span class='notice'>[src] slurps up [target].</span>")
qdel(target)
return ..()
//Male gutlunch. They're smaller and more colorful!
/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck
name = "gubbuck"
gender = MALE
/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck/Initialize()
..()
add_atom_colour(pick("#E39FBB", "#D97D64", "#CF8C4A"), FIXED_COLOUR_PRIORITY)
resize = 0.85
update_transform()
//Lady gutlunch. They make the babby.
/mob/living/simple_animal/hostile/asteroid/gutlunch/guthen
name = "guthen"
gender = FEMALE
/mob/living/simple_animal/hostile/asteroid/gutlunch/guthen/Life()
..()
if(udder.reagents.total_volume == udder.reagents.maximum_volume) //Only breed when we're full.
make_babies()
/mob/living/simple_animal/hostile/asteroid/gutlunch/guthen/make_babies()
. = ..()
if(.)
udder.reagents.clear_reagents()
regenerate_icons()
//Gutlunch udder
/obj/item/udder/gutlunch
name = "nutrient sac"
/obj/item/udder/gutlunch/New()
reagents = new(50)
reagents.my_atom = src
/obj/item/udder/gutlunch/generateMilk()
if(prob(60))
reagents.add_reagent("cream", rand(2, 5))
if(prob(45))
reagents.add_reagent("salglu_solution", rand(2,5))

View File

@@ -0,0 +1,216 @@
/mob/living/simple_animal/hostile/asteroid/hivelord
name = "hivelord"
desc = "A truly alien creature, it is a mass of unknown organic material, constantly fluctuating. When attacking, pieces of it split off and attack in tandem with the original."
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "Hivelord"
icon_living = "Hivelord"
icon_aggro = "Hivelord_alert"
icon_dead = "Hivelord_dead"
icon_gib = "syndicate_gib"
mouse_opacity = 2
move_to_delay = 14
ranged = 1
vision_range = 5
aggro_vision_range = 9
idle_vision_range = 5
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
retreat_distance = 3
minimum_distance = 3
pass_flags = PASSTABLE
loot = list(/obj/item/organ/regenerative_core)
var/brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood
/mob/living/simple_animal/hostile/asteroid/hivelord/OpenFire(the_target)
if(world.time >= ranged_cooldown)
var/mob/living/simple_animal/hostile/asteroid/hivelordbrood/A = new brood_type(src.loc)
A.admin_spawned = admin_spawned
A.GiveTarget(target)
A.friends = friends
A.faction = faction.Copy()
ranged_cooldown = world.time + ranged_cooldown_time
/mob/living/simple_animal/hostile/asteroid/hivelord/AttackingTarget()
OpenFire()
return TRUE
/mob/living/simple_animal/hostile/asteroid/hivelord/death(gibbed)
mouse_opacity = 1
..(gibbed)
//A fragile but rapidly produced creature
/mob/living/simple_animal/hostile/asteroid/hivelordbrood
name = "hivelord brood"
desc = "A fragment of the original Hivelord, rallying behind its original. One isn't much of a threat, but..."
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "Hivelordbrood"
icon_living = "Hivelordbrood"
icon_aggro = "Hivelordbrood"
icon_dead = "Hivelordbrood"
icon_gib = "syndicate_gib"
mouse_opacity = 2
move_to_delay = 1
friendly = "buzzes near"
vision_range = 10
speed = 3
maxHealth = 1
health = 1
movement_type = FLYING
harm_intent_damage = 5
melee_damage_lower = 2
melee_damage_upper = 2
attacktext = "slashes"
speak_emote = list("telepathically cries")
attack_sound = 'sound/weapons/pierce.ogg'
throw_message = "falls right through the strange body of the"
obj_damage = 0
environment_smash = ENVIRONMENT_SMASH_NONE
pass_flags = PASSTABLE
del_on_death = 1
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/Initialize()
..()
addtimer(CALLBACK(src, .proc/death), 100)
//Legion
/mob/living/simple_animal/hostile/asteroid/hivelord/legion
name = "legion"
desc = "You can still see what was once a human 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"
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"
loot = list(/obj/item/organ/regenerative_core/legion)
brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion
del_on_death = 1
stat_attack = UNCONSCIOUS
robust_searching = 1
var/mob/living/carbon/human/stored_mob
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/death(gibbed)
visible_message("<span class='warning'>The skulls on [src] wail in anger as they flee from their dying host!</span>")
var/turf/T = get_turf(src)
if(T)
if(stored_mob)
stored_mob.forceMove(get_turf(src))
stored_mob = null
else
new /obj/effect/mob_spawn/human/corpse/damaged(T)
..(gibbed)
//Legion skull
/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"
pass_flags = PASSTABLE
del_on_death = TRUE
stat_attack = UNCONSCIOUS
robust_searching = 1
var/can_infest_dead = FALSE
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/Life()
if(isturf(loc))
for(var/mob/living/carbon/human/H in view(src,1)) //Only for corpse right next to/on same tile
if(H.stat == UNCONSCIOUS || (can_infest_dead && H.stat == DEAD))
infest(H)
..()
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/proc/infest(mob/living/carbon/human/H)
visible_message("<span class='warning'>[name] burrows into the flesh of [H]!</span>")
var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L = new(H.loc)
visible_message("<span class='warning'>[L] staggers to their feet!</span>")
H.death()
H.adjustBruteLoss(1000)
L.stored_mob = H
H.forceMove(L)
qdel(src)
//Advanced Legion is slightly tougher to kill and can raise corpses (revive other legions)
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/advanced
stat_attack = 2
maxHealth = 120
health = 120
brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/advanced
icon_state = "dwarf_legion"
icon_living = "dwarf_legion"
icon_aggro = "dwarf_legion"
icon_dead = "dwarf_legion"
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/advanced
stat_attack = 2
can_infest_dead = TRUE
//Legion that spawns Legions
/mob/living/simple_animal/hostile/spawner/legion
name = "legion"
desc = "One of many."
icon = 'icons/mob/lavaland/dragon.dmi'
icon_state = "legion"
icon_living = "legion"
icon_dead = "legion"
health = 450
maxHealth = 450
max_mobs = 3
spawn_time = 200
spawn_text = "peels itself off from"
mob_type = /mob/living/simple_animal/hostile/asteroid/hivelord/legion
melee_damage_lower = 20
melee_damage_upper = 20
anchored = FALSE
AIStatus = AI_ON
stop_automated_movement = FALSE
wander = TRUE
maxbodytemp = INFINITY
layer = MOB_LAYER
del_on_death = TRUE
sentience_type = SENTIENCE_BOSS
loot = list(/obj/item/organ/regenerative_core/legion = 3, /obj/effect/mob_spawn/human/corpse/damaged = 5)
move_to_delay = 14
vision_range = 5
aggro_vision_range = 9
idle_vision_range = 5
speed = 3
faction = list("mining")
weather_immunities = list("lava","ash")
obj_damage = 30
environment_smash = ENVIRONMENT_SMASH_STRUCTURES
see_in_dark = 8
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE

View File

@@ -0,0 +1,59 @@
//the base mining mob
/mob/living/simple_animal/hostile/asteroid
vision_range = 2
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)
faction = list("mining")
weather_immunities = list("lava","ash")
obj_damage = 30
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
var/throw_message = "bounces off of"
var/icon_aggro = null // for swapping to when we get aggressive
see_in_dark = 8
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
mob_size = MOB_SIZE_LARGE
/mob/living/simple_animal/hostile/asteroid/Aggro()
..()
if(vision_range != aggro_vision_range)
icon_state = icon_aggro
/mob/living/simple_animal/hostile/asteroid/LoseAggro()
..()
if(stat == DEAD)
return
icon_state = icon_living
/mob/living/simple_animal/hostile/asteroid/bullet_act(obj/item/projectile/P)//Reduces damage from most projectiles to curb off-screen kills
if(!stat)
Aggro()
if(P.damage < 30 && P.damage_type != BRUTE)
P.damage = (P.damage / 3)
visible_message("<span class='danger'>[P] has a reduced effect on [src]!</span>")
..()
/mob/living/simple_animal/hostile/asteroid/hitby(atom/movable/AM)//No floor tiling them to death, wiseguy
if(istype(AM, /obj/item))
var/obj/item/T = AM
if(!stat)
Aggro()
if(T.throwforce <= 20)
visible_message("<span class='notice'>The [T.name] [src.throw_message] [src.name]!</span>")
return
..()
/mob/living/simple_animal/hostile/asteroid/death(gibbed)
SSblackbox.add_details("mobs_killed_mining","[src.type]")
..(gibbed)
/mob/living/simple_animal/hostile/asteroid/handle_temperature_damage()
if(bodytemperature < minbodytemp)
adjustBruteLoss(2)
else if(bodytemperature > maxbodytemp)
adjustBruteLoss(20)

View File

@@ -0,0 +1,101 @@
//Necropolis Tendrils, which spawn lavaland monsters and break into a chasm when killed
/obj/effect/light_emitter/tendril
set_luminosity = 4
set_cap = 2.5
light_color = LIGHT_COLOR_LAVA
/mob/living/simple_animal/hostile/spawner/lavaland
name = "necropolis tendril"
desc = "A vile tendril of corruption, originating deep underground. Terrible monsters are pouring out of it."
icon = 'icons/mob/nest.dmi'
icon_state = "tendril"
icon_living = "tendril"
icon_dead = "tendril"
faction = list("mining")
weather_immunities = list("lava","ash")
health = 250
maxHealth = 250
max_mobs = 3
spawn_time = 300 //30 seconds default
mob_type = /mob/living/simple_animal/hostile/asteroid/basilisk/watcher
spawn_text = "emerges from"
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
maxbodytemp = INFINITY
loot = list(/obj/effect/collapse, /obj/structure/closet/crate/necropolis/tendril)
del_on_death = 1
var/gps = null
var/obj/effect/light_emitter/tendril/emitted_light
/mob/living/simple_animal/hostile/spawner/lavaland/goliath
mob_type = /mob/living/simple_animal/hostile/asteroid/goliath/beast
/mob/living/simple_animal/hostile/spawner/lavaland/legion
mob_type = /mob/living/simple_animal/hostile/asteroid/hivelord/legion
/mob/living/simple_animal/hostile/spawner/lavaland/Initialize()
. = ..()
emitted_light = new(loc)
for(var/F in RANGE_TURFS(1, src))
if(ismineralturf(F))
var/turf/closed/mineral/M = F
M.ChangeTurf(M.turf_type,FALSE,TRUE)
gps = new /obj/item/device/gps/internal(src)
/mob/living/simple_animal/hostile/spawner/lavaland/Destroy()
QDEL_NULL(emitted_light)
QDEL_NULL(gps)
. = ..()
#define MEDAL_PREFIX "Tendril"
/mob/living/simple_animal/hostile/spawner/lavaland/death()
var/last_tendril = TRUE
for(var/mob/living/simple_animal/hostile/spawner/lavaland/other in GLOB.mob_list)
if(other != src)
last_tendril = FALSE
break
if(last_tendril && !admin_spawned)
if(global.medal_hub && global.medal_pass && global.medals_enabled)
for(var/mob/living/L in view(7,src))
if(L.stat)
continue
if(L.client)
var/client/C = L.client
var/suffixm = ALL_KILL_MEDAL
var/prefix = MEDAL_PREFIX
UnlockMedal("[prefix] [suffixm]",C)
SetScore(TENDRIL_CLEAR_SCORE,C,1)
..()
#undef MEDAL_PREFIX
/obj/effect/collapse
name = "collapsing necropolis tendril"
desc = "Get clear!"
layer = BELOW_OBJ_LAYER
icon = 'icons/mob/nest.dmi'
icon_state = "tendril"
anchored = TRUE
density = TRUE
var/obj/effect/light_emitter/tendril/emitted_light
/obj/effect/collapse/Initialize()
. = ..()
emitted_light = new(loc)
visible_message("<span class='boldannounce'>The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!</span>")
visible_message("<span class='warning'>Something falls free of the tendril!</span>")
playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, 0, 50, 1, 1)
addtimer(CALLBACK(src, .proc/collapse), 50)
/obj/effect/collapse/Destroy()
QDEL_NULL(emitted_light)
return ..()
/obj/effect/collapse/proc/collapse()
for(var/mob/M in range(7,src))
shake_camera(M, 15, 1)
playsound(get_turf(src),'sound/effects/explosionfar.ogg', 200, 1)
visible_message("<span class='boldannounce'>The tendril falls inward, the ground around it widening into a yawning chasm!</span>")
for(var/turf/T in range(2,src))
if(!T.density)
T.TerraformTurf(/turf/open/chasm/straight_down/lava_land_surface)
qdel(src)

View File

@@ -0,0 +1,127 @@
//A fragile mob that becomes temporarily invincible and large to attack
/mob/living/simple_animal/hostile/asteroid/fugu
name = "wumborian fugu"
desc = "The wumborian fugu rapidly increases its body mass in order to ward off its prey. Great care should be taken to avoid it while it's in this state as it is nearly invincible, but it cannot maintain its form forever."
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "Fugu"
icon_living = "Fugu"
icon_aggro = "Fugu"
icon_dead = "Fugu_dead"
icon_gib = "syndicate_gib"
mouse_opacity = 2
move_to_delay = 5
friendly = "floats near"
speak_emote = list("puffs")
vision_range = 5
speed = 0
maxHealth = 50
health = 50
harm_intent_damage = 5
obj_damage = 0
melee_damage_lower = 0
melee_damage_upper = 0
attacktext = "chomps"
attack_sound = 'sound/weapons/punch1.ogg'
throw_message = "is avoided by the"
aggro_vision_range = 9
idle_vision_range = 5
mob_size = MOB_SIZE_SMALL
environment_smash = ENVIRONMENT_SMASH_NONE
var/wumbo = 0
var/inflate_cooldown = 0
loot = list(/obj/item/asteroid/fugu_gland{layer = ABOVE_MOB_LAYER})
/mob/living/simple_animal/hostile/asteroid/fugu/Life()
if(!wumbo)
inflate_cooldown = max((inflate_cooldown - 1), 0)
if(target && AIStatus == AI_ON)
Inflate()
..()
/mob/living/simple_animal/hostile/asteroid/fugu/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
if(!forced && wumbo)
return FALSE
. = ..()
/mob/living/simple_animal/hostile/asteroid/fugu/Aggro()
..()
Inflate()
/mob/living/simple_animal/hostile/asteroid/fugu/verb/Inflate()
set name = "Inflate"
set category = "Fugu"
set desc = "Temporarily increases your size, and makes you significantly more dangerous and tough."
if(wumbo)
to_chat(src, "<span class='notice'>You're already inflated.</span>")
return
if(inflate_cooldown)
to_chat(src, "<span class='notice'>We need time to gather our strength.</span>")
return
if(buffed)
to_chat(src, "<span class='notice'>Something is interfering with our growth.</span>")
return
wumbo = 1
icon_state = "Fugu_big"
obj_damage = 60
melee_damage_lower = 15
melee_damage_upper = 20
harm_intent_damage = 0
throw_message = "is absorbed by the girth of the"
retreat_distance = null
minimum_distance = 1
move_to_delay = 6
transform *= 2
environment_smash = ENVIRONMENT_SMASH_WALLS
mob_size = MOB_SIZE_LARGE
speed = 1
addtimer(CALLBACK(src, .proc/Deflate), 100)
/mob/living/simple_animal/hostile/asteroid/fugu/proc/Deflate()
if(wumbo)
walk(src, 0)
wumbo = 0
icon_state = "Fugu"
obj_damage = 0
melee_damage_lower = 0
melee_damage_upper = 0
harm_intent_damage = 5
throw_message = "is avoided by the"
retreat_distance = 9
minimum_distance = 9
move_to_delay = 2
transform /= 2
inflate_cooldown = 4
environment_smash = ENVIRONMENT_SMASH_NONE
mob_size = MOB_SIZE_SMALL
speed = 0
/mob/living/simple_animal/hostile/asteroid/fugu/death(gibbed)
Deflate()
..(gibbed)
/obj/item/asteroid/fugu_gland
name = "wumborian fugu gland"
desc = "The key to the wumborian fugu's ability to increase its mass arbitrarily, this disgusting remnant can apply the same effect to other creatures, giving them great strength."
icon = 'icons/obj/surgery.dmi'
icon_state = "fugu_gland"
flags = NOBLUDGEON
w_class = WEIGHT_CLASS_NORMAL
layer = MOB_LAYER
origin_tech = "biotech=6"
var/list/banned_mobs()
/obj/item/asteroid/fugu_gland/afterattack(atom/target, mob/user, proximity_flag)
if(proximity_flag && istype(target, /mob/living/simple_animal))
var/mob/living/simple_animal/A = target
if(A.buffed || (A.type in banned_mobs) || A.stat)
to_chat(user, "<span class='warning'>Something's interfering with the [src]'s effects. It's no use.</span>")
return
A.buffed++
A.maxHealth *= 1.5
A.health = min(A.maxHealth,A.health*1.5)
A.melee_damage_lower = max((A.melee_damage_lower * 2), 10)
A.melee_damage_upper = max((A.melee_damage_upper * 2), 10)
A.transform *= 2
A.environment_smash += 2
to_chat(user, "<span class='info'>You increase the size of [A], giving it a surge of strength!</span>")
qdel(src)

View File

@@ -276,7 +276,7 @@
if(!user.dna)
return -1
user.dna.add_mutation(HULK)
var/obj/item/organ/hivelord_core/organ = new /obj/item/organ/hivelord_core
var/obj/item/organ/regenerative_core/organ = new /obj/item/organ/regenerative_core
organ.Insert(user)
return ..()

View File

@@ -1748,7 +1748,6 @@
#include "code\modules\mob\living\simple_animal\hostile\killertomato.dm"
#include "code\modules\mob\living\simple_animal\hostile\mecha_pilot.dm"
#include "code\modules\mob\living\simple_animal\hostile\mimic.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs.dm"
#include "code\modules\mob\living\simple_animal\hostile\mushroom.dm"
#include "code\modules\mob\living\simple_animal\hostile\nanotrasen.dm"
#include "code\modules\mob\living\simple_animal\hostile\pirate.dm"
@@ -1760,6 +1759,7 @@
#include "code\modules\mob\living\simple_animal\hostile\tree.dm"
#include "code\modules\mob\living\simple_animal\hostile\venus_human_trap.dm"
#include "code\modules\mob\living\simple_animal\hostile\wizard.dm"
#include "code\modules\mob\living\simple_animal\hostile\wumborian_fugu.dm"
#include "code\modules\mob\living\simple_animal\hostile\bosses\boss.dm"
#include "code\modules\mob\living\simple_animal\hostile\bosses\paperwizard.dm"
#include "code\modules\mob\living\simple_animal\hostile\megafauna\bubblegum.dm"
@@ -1769,6 +1769,13 @@
#include "code\modules\mob\living\simple_animal\hostile\megafauna\legion.dm"
#include "code\modules\mob\living\simple_animal\hostile\megafauna\megafauna.dm"
#include "code\modules\mob\living\simple_animal\hostile\megafauna\swarmer.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\basilisk.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goldgrub.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goliath.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\gutlunch.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\hivelord.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\mining_mobs.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\necropolis_tendril.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\bat.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\frog.dm"

15
tgstation.dme.rej Normal file
View File

@@ -0,0 +1,15 @@
diff a/tgstation.dme b/tgstation.dme (rejected hunks)
@@ -1446,11 +1446,13 @@
#include "code\modules\mining\satchel_ore_boxdm.dm"
#include "code\modules\mining\shelters.dm"
#include "code\modules\mining\equipment\explorer_gear.dm"
+#include "code\modules\mining\equipment\goliath_hide.dm"
#include "code\modules\mining\equipment\kinetic_crusher.dm"
#include "code\modules\mining\equipment\lazarus_injector.dm"
#include "code\modules\mining\equipment\marker_beacons.dm"
#include "code\modules\mining\equipment\mineral_scanner.dm"
#include "code\modules\mining\equipment\mining_tools.dm"
+#include "code\modules\mining\equipment\regenerative_core.dm"
#include "code\modules\mining\equipment\resonator.dm"
#include "code\modules\mining\equipment\survival_pod.dm"
#include "code\modules\mining\equipment\vendor_items.dm"