mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-30 16:38:22 +01:00
Quarantined Outpost tweaks and bugfixes (#21586)
## About PR - Reduces the site's cost from `2` to `1`. - Tweaks wall destroying logic of horde type mobs to a saner alternative. - Fixes corpses created by landmarks not getting assigned with the specified access. Fixes #21527 - Creates an abomination subtype that is guaranteed to spawn with a disguise.
This commit is contained in:
@@ -888,5 +888,6 @@
|
||||
desc = "Himean Military Patrol Vessel"
|
||||
|
||||
#define ACCESS_QUARANTINED_OUTPOST_ENGINEER 254
|
||||
/datum/access/quarantined_outpost_engineer
|
||||
id = ACCESS_QUARANTINED_OUTPOST_ENGINEER
|
||||
desc = "Outpost Nemora, Engineering Clearance"
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
if(jobdatum)
|
||||
W.access = jobdatum.get_access()
|
||||
else
|
||||
W.access = list()
|
||||
W.access = corpseidaccess
|
||||
if(corpseidjob)
|
||||
W.assignment = corpseidjob
|
||||
M.set_id_info(W)
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
|
||||
author: Kano
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- rscadd: "Tweaked and fixed a few things in the Quarantined Outpost map."
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
sectors = list(ALL_CRESCENT_EXPANSE_SECTORS, ALL_VOID_SECTORS, SECTOR_WEEPING_STARS, SECTOR_BADLANDS, SECTOR_VALLEY_HALE)
|
||||
spawn_weight = 1
|
||||
spawn_cost = 2 // chonky ruin
|
||||
spawn_cost = 1
|
||||
id = "quarantined_outpost"
|
||||
|
||||
unit_test_groups = list(1)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/area/quarantined_outpost
|
||||
name = "base type"
|
||||
ambience = list(AMBIENCE_FOREBODING, AMBIENCE_LAVA)
|
||||
base_turf = /turf/simulated/floor/exoplanet/abyss
|
||||
base_turf = /turf/simulated/floor/exoplanet/asteroid/ash/rocky
|
||||
area_flags = AREA_FLAG_INDESTRUCTIBLE_TURFS
|
||||
|
||||
/area/quarantined_outpost/exterior
|
||||
|
||||
@@ -171,6 +171,8 @@ GLOBAL_LIST_EMPTY(trackables_pool)
|
||||
var/language = LANGUAGE_TCB
|
||||
/// Used for disabling some abilities for horde and a few other subtypes.
|
||||
var/disguise_disabled = FALSE
|
||||
/// If true, the mob will start with disguise.
|
||||
var/starts_disguised = FALSE
|
||||
bypass_blood_overlay = TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/revivable/abomination/Initialize()
|
||||
@@ -181,7 +183,7 @@ GLOBAL_LIST_EMPTY(trackables_pool)
|
||||
return
|
||||
if(prob(40))
|
||||
trap_split = TRUE
|
||||
if(prob(20))
|
||||
if(prob(20) || starts_disguised)
|
||||
mob_in_disguise = TRUE
|
||||
maxHealth = 400 // the mob in disguise makes it easy target for a few bullets. This should even the odds.
|
||||
health = 400
|
||||
@@ -273,6 +275,9 @@ GLOBAL_LIST_EMPTY(trackables_pool)
|
||||
playsound(loc, 'sound/effects/splat.ogg', 50, 1)
|
||||
playsound(loc, 'sound/effects/creatures/siro_shriek.ogg', 60, 1)
|
||||
|
||||
/mob/living/simple_animal/hostile/revivable/abomination/disguised
|
||||
starts_disguised = TRUE
|
||||
|
||||
// Lesser Abomination
|
||||
/mob/living/simple_animal/hostile/giant_spider/lesser_abomination
|
||||
name = "lesser abomination"
|
||||
@@ -392,7 +397,7 @@ GLOBAL_LIST_EMPTY(trackables_pool)
|
||||
if(istype(target_turf, /turf/simulated/wall) && !QDELETED(src) && stat != DEAD && get_dist(src, target_turf) == 1) // we check again
|
||||
visible_message(SPAN_DANGER("With a loud thud, \the [src] breaks down the [target_turf]!"))
|
||||
playsound(target_turf, 'sound/effects/meteorimpact.ogg', 50, 1)
|
||||
target_turf.ChangeTurf(/turf/simulated/floor/exoplanet/asteroid/ash/rocky)
|
||||
target_turf.ex_act(2)
|
||||
new /obj/effect/decal/cleanable/floor_damage/broken6(target_turf)
|
||||
breaking_wall = FALSE
|
||||
return
|
||||
@@ -450,7 +455,7 @@ GLOBAL_LIST_EMPTY(trackables_pool)
|
||||
if(istype(target_turf, /turf/simulated/wall) && !QDELETED(src) && stat != DEAD && get_dist(src, target_turf) == 1) // we check again
|
||||
visible_message(SPAN_DANGER("With a loud thud, \the [src] breaks down the [target_turf]!"))
|
||||
playsound(target_turf, 'sound/effects/meteorimpact.ogg', 50, 1)
|
||||
target_turf.ChangeTurf(/turf/simulated/floor/exoplanet/asteroid/ash/rocky)
|
||||
target_turf.ex_act(2)
|
||||
new /obj/effect/decal/cleanable/floor_damage/broken6(target_turf)
|
||||
breaking_wall = FALSE
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user