mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Tyr Update 3 (#9688)
This commit is contained in:
@@ -28,7 +28,7 @@ GLOBAL_LIST_INIT(grass_animals,list(
|
||||
/obj/random/mob/multiple/sifmobs = 6,
|
||||
/mob/living/simple_mob/humanoid/cultist/tesh = 2,
|
||||
/mob/living/simple_mob/humanoid/eclipse/solar/froststalker = 2,
|
||||
/mob/living/simple_mob/humanoid/eclipse/lunar/pummler = 1,
|
||||
/mob/living/simple_mob/humanoid/eclipse/lunar = 1,
|
||||
/mob/living/simple_mob/humanoid/merc/ranged/laser = 2,
|
||||
/mob/living/simple_mob/humanoid/cultist/magus/rift = 0.05
|
||||
),
|
||||
@@ -49,7 +49,7 @@ GLOBAL_LIST_INIT(grass_animals,list(
|
||||
/mob/living/simple_mob/animal/space/mouse_army/pyro = 6,
|
||||
/mob/living/simple_mob/animal/space/mouse_army/ammo = 6,
|
||||
/mob/living/simple_mob/mechanical/mecha/mouse_tank/livewire = 2,
|
||||
/mob/living/simple_mob/humanoid/eclipse/lunar/miner = 6
|
||||
/mob/living/simple_mob/humanoid/eclipse/lunar = 6
|
||||
),
|
||||
"seasonalspring" = list(
|
||||
/mob/living/simple_mob/vore/alienanimals/teppi = 10, //CHOMP Edit
|
||||
|
||||
@@ -222,4 +222,81 @@
|
||||
return
|
||||
put_mob(L)
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
//Rocc and stone
|
||||
|
||||
|
||||
/obj/structure/outcrop/diamond/tyr
|
||||
mindrop = 4
|
||||
upperdrop = 8
|
||||
|
||||
/obj/structure/outcrop/phoron/tyr
|
||||
mindrop = 8
|
||||
upperdrop = 16
|
||||
|
||||
/obj/structure/outcrop/iron/tyr
|
||||
mindrop = 20
|
||||
upperdrop = 40
|
||||
|
||||
/obj/structure/outcrop/coal/tyr
|
||||
mindrop = 20
|
||||
upperdrop = 40
|
||||
|
||||
/obj/structure/outcrop/lead/tyr
|
||||
mindrop = 4
|
||||
upperdrop = 10
|
||||
|
||||
/obj/structure/outcrop/gold/tyr
|
||||
mindrop = 8
|
||||
upperdrop = 12
|
||||
|
||||
/obj/structure/outcrop/silver/tyr
|
||||
mindrop = 12
|
||||
upperdrop = 16
|
||||
|
||||
/obj/structure/outcrop/platinum/tyr
|
||||
mindrop = 4
|
||||
upperdrop = 10
|
||||
|
||||
/obj/structure/outcrop/uranium/tyr
|
||||
mindrop = 8
|
||||
upperdrop = 16
|
||||
|
||||
/obj/structure/outcrop/hydrogen
|
||||
name = "spiky outcrop"
|
||||
desc = "A spiky rocky outcrop."
|
||||
icon = 'modular_chomp/icons/obj/tribal_gear.dmi'
|
||||
icon_state = "outcrop-hydrogen"
|
||||
mindrop = 4
|
||||
upperdrop = 8
|
||||
outcropdrop = /obj/item/ore/hydrogen
|
||||
|
||||
/obj/structure/outcrop/verdantium
|
||||
name = "spiky outcrop"
|
||||
desc = "A spiky rocky outcrop."
|
||||
icon = 'modular_chomp/icons/obj/tribal_gear.dmi'
|
||||
icon_state = "outcrop-verdantium"
|
||||
mindrop = 4
|
||||
upperdrop = 8
|
||||
outcropdrop = /obj/item/ore/verdantium
|
||||
|
||||
/obj/random/tyroutcrop //In case you want an outcrop without pre-determining the type of ore.
|
||||
name = "random rock outcrop"
|
||||
desc = "This is a random rock outcrop."
|
||||
icon = 'icons/obj/outcrop.dmi'
|
||||
icon_state = "outcrop-random"
|
||||
|
||||
|
||||
/obj/random/tyroutcrop/item_to_spawn()
|
||||
return pick(prob(3);/obj/structure/outcrop/verdantium,
|
||||
prob(1);/obj/structure/outcrop/iron/tyr,
|
||||
prob(1);/obj/structure/outcrop/coal/tyr,
|
||||
prob(1);/obj/structure/outcrop/silver/tyr,
|
||||
prob(1);/obj/structure/outcrop/gold/tyr,
|
||||
prob(1);/obj/structure/outcrop/uranium/tyr,
|
||||
prob(3);/obj/structure/outcrop/diamond/tyr,
|
||||
prob(1);/obj/structure/outcrop/platinum/tyr,
|
||||
prob(5);/obj/structure/outcrop/weathered_gate,
|
||||
prob(3);/obj/structure/outcrop/hydrogen,
|
||||
prob(1);/obj/structure/outcrop/lead/tyr)
|
||||
@@ -54,8 +54,8 @@
|
||||
vore_bump_emote = "slurps up" //Not really a good way to make the grammar work with a passive vore plant.
|
||||
vore_active = 1
|
||||
vore_capacity = 1
|
||||
vore_pounce_chance = 0 //Plants only eat people who stumble into them.
|
||||
swallowTime = 3 //3 deciseconds. This is intended to be nearly instant, e.g. victim trips and falls in.
|
||||
vore_pounce_chance = 100
|
||||
swallowTime = 3
|
||||
vore_ignores_undigestable = 0
|
||||
vore_default_mode = DM_DIGEST
|
||||
|
||||
@@ -110,6 +110,7 @@
|
||||
spawn_types = list(
|
||||
/mob/living/simple_mob/animal/tyr/electronic_beetle = 1,
|
||||
/mob/living/simple_mob/animal/tyr/explode_beetle = 1,
|
||||
/mob/living/simple_mob/animal/tyr/glowing_beetle = 1,
|
||||
)
|
||||
|
||||
simultaneous_spawns = 2
|
||||
@@ -122,8 +123,8 @@
|
||||
desc = "A large insect."
|
||||
icon_state = "lighting_beetle"
|
||||
icon_dead = "beetle_dead"
|
||||
maxHealth = 40
|
||||
health = 40
|
||||
maxHealth = 18
|
||||
health = 18
|
||||
pass_flags = PASSTABLE //flying bug
|
||||
movement_cooldown = 1
|
||||
|
||||
@@ -155,8 +156,8 @@
|
||||
desc = "A large insect."
|
||||
icon_state = "fire_beetle"
|
||||
icon_dead = "beetle_dead"
|
||||
maxHealth = 40
|
||||
health = 40
|
||||
maxHealth = 18
|
||||
health = 18
|
||||
pass_flags = PASSTABLE //flying bug
|
||||
movement_cooldown = 1
|
||||
|
||||
@@ -177,3 +178,29 @@
|
||||
if(isliving(A))
|
||||
var/mob/living/L = A
|
||||
L.add_modifier(/datum/modifier/fire, 3 SECONDS)
|
||||
|
||||
/mob/living/simple_mob/animal/tyr/glowing_beetle
|
||||
name = "glowing beetle"
|
||||
desc = "A large insect."
|
||||
icon_state = "green_beetle"
|
||||
icon_dead = "beetle_dead"
|
||||
maxHealth = 18
|
||||
health = 18
|
||||
pass_flags = PASSTABLE
|
||||
movement_cooldown = 1
|
||||
|
||||
ai_holder_type = /datum/ai_holder/hostile/ranged/robust
|
||||
projectiletype = /obj/item/projectile/arc/spore
|
||||
|
||||
meat_type = /obj/item/reagent_containers/food/snacks/deathclawmeat
|
||||
meat_amount = 2
|
||||
|
||||
butchery_loot = list(\
|
||||
/obj/item/stack/material/chitin = 1\
|
||||
)
|
||||
|
||||
see_in_dark = 3
|
||||
melee_damage_lower = 16
|
||||
melee_damage_upper = 16
|
||||
|
||||
ranged_cooldown = 30
|
||||
File diff suppressed because it is too large
Load Diff
@@ -20,81 +20,28 @@
|
||||
special_attack_cooldown = 10 SECONDS
|
||||
special_attack_min_range = 1
|
||||
special_attack_max_range = 8
|
||||
has_heal_droid = TRUE
|
||||
specialattackprojectile = /obj/item/projectile/bullet/dragon
|
||||
loot_list = list(/obj/item/gun/energy/flamegun = 100,
|
||||
/obj/item/bone/skull = 100
|
||||
)
|
||||
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/security/updatehealth()
|
||||
. = ..()
|
||||
|
||||
if(vore_fullness == 1)
|
||||
ranged_cooldown = 8
|
||||
projectiletype = /obj/item/projectile/energy/flamecrystal
|
||||
else if(vore_fullness == 2)
|
||||
ranged_cooldown = 12
|
||||
projectiletype = /obj/item/projectile/energy/fireball
|
||||
else if (vore_fullness > 2)
|
||||
ranged_cooldown = 16
|
||||
projectiletype = /obj/item/projectile/energy/fireball
|
||||
else
|
||||
ranged_cooldown = 5
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/security/do_special_attack(atom/A)
|
||||
if(vore_fullness < 2)
|
||||
if(vore_fullness > 3)
|
||||
bomb_chaos(A)
|
||||
else if(vore_fullness > 0)
|
||||
visible_message(span_warning("\The [src]'s maw glows!"))
|
||||
Beam(A, icon_state = "sat_beam", time = 2.5 SECONDS, maxdistance = INFINITY)
|
||||
addtimer(CALLBACK(src, PROC_REF(special_projectile), A), 3 SECONDS, TIMER_DELETE_ME)
|
||||
else
|
||||
if(prob(50))
|
||||
rapidfire(A)
|
||||
visible_message(span_warning("\The [src] throws out a chain!"))
|
||||
Beam(A, icon_state = "chain", time = 3 SECONDS, maxdistance = INFINITY)
|
||||
addtimer(CALLBACK(src, PROC_REF(gravity_pull), A), 3 SECOND, TIMER_DELETE_ME)
|
||||
else
|
||||
tornado_maw(A)
|
||||
else if(vore_fullness == 2)
|
||||
tornado_maw(A)
|
||||
else if(vore_fullness > 2)
|
||||
if(prob(50))
|
||||
deathtoll(A)
|
||||
else
|
||||
tornado_maw(A)
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/security/proc/rapidfire(atom/A)
|
||||
var/obj/item/projectile/P = new /obj/item/projectile/energy/flamecrystal(get_turf(src))
|
||||
P.launch_projectile(A, BP_TORSO, src)
|
||||
sleep(1)
|
||||
P.launch_projectile(A, BP_TORSO, src)
|
||||
sleep(1)
|
||||
P.launch_projectile(A, BP_TORSO, src)
|
||||
sleep(1)
|
||||
P.launch_projectile(A, BP_TORSO, src)
|
||||
sleep(1)
|
||||
P.launch_projectile(A, BP_TORSO, src)
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/security/proc/tornado_maw(atom/A)
|
||||
var/turf/T = get_turf(src)
|
||||
|
||||
var/datum/effect/effect/system/grav_pull/s1 = new /datum/effect/effect/system/grav_pull
|
||||
s1.set_up(5, 1, T)
|
||||
s1.start()
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/security/proc/deathtoll(atom/A)
|
||||
var/list/potential_targets = ai_holder.list_targets()
|
||||
for(var/atom/entry in potential_targets)
|
||||
if(istype(entry, /mob/living/simple_mob/humanoid/eclipse))
|
||||
potential_targets -= entry
|
||||
if(potential_targets.len)
|
||||
var/iteration = clamp(potential_targets.len, 1, 3)
|
||||
for(var/i = 0, i < iteration, i++)
|
||||
if(!(potential_targets.len))
|
||||
break
|
||||
var/mob/target = pick(potential_targets)
|
||||
potential_targets -= target
|
||||
deathtollfollow(target)
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/security/proc/deathtollfollow(atom/target)
|
||||
var/list/bomb_range = block(locate(target.x-6, target.y-6, target.z), locate(target.x+6, target.y+6, target.z))
|
||||
var/obj/item/projectile/P = new /obj/item/projectile/bullet/flamegun(get_turf(src))
|
||||
bomb_range -= get_turf(target)
|
||||
for(var/i = 0, i < 4, i++)
|
||||
var/turf/T = pick(bomb_range)
|
||||
P.launch_projectile(target, BP_TORSO, src)
|
||||
bomb_range -= T
|
||||
visible_message(span_warning("\The [src] throws out a chain!"))
|
||||
Beam(A, icon_state = "chain", time = 3 SECONDS, maxdistance = INFINITY)
|
||||
addtimer(CALLBACK(src, PROC_REF(itemyoink), A), 3 SECOND, TIMER_DELETE_ME)
|
||||
|
||||
/obj/item/projectile/energy/flamecrystal
|
||||
name = "Flame Crystal"
|
||||
@@ -132,9 +79,11 @@
|
||||
special_attack_max_range = 10
|
||||
projectiletype = /obj/item/projectile/bullet/pistol/ap
|
||||
|
||||
loot_list = list(/obj/item/circuitboard/mecha/hades/targeting = 100,
|
||||
/obj/item/circuitboard/mecha/hades/peripherals = 100,
|
||||
/obj/item/circuitboard/mecha/hades/main = 100,
|
||||
loot_list = list(/obj/item/circuitboard/mecha/imperion/targeting = 60,
|
||||
/obj/item/circuitboard/mecha/gygax/peripherals = 60,
|
||||
/obj/item/prop/alien/phasecoil = 60,
|
||||
/obj/item/circuitboard/mecha/durand/peripherals = 60,
|
||||
/obj/item/bluespace_harpoon = 10,
|
||||
/obj/item/bone/skull = 100
|
||||
)
|
||||
|
||||
@@ -173,184 +122,18 @@
|
||||
/mob/living/simple_mob/mechanical/hivebot/swarm/eclipse
|
||||
faction = FACTION_ECLIPSE
|
||||
|
||||
/mob/living/simple_mob/mechanical/combat_drone/artillery
|
||||
faction = FACTION_ECLIPSE
|
||||
projectiletype = /obj/item/projectile/arc/blue_energy
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain
|
||||
name = "Eclipse Expedition Leader"
|
||||
icon_state = "captain"
|
||||
|
||||
loot_list = list(/obj/item/slime_extract/dark = 20,
|
||||
/obj/item/prop/alien/junk = 60,
|
||||
/obj/random/tool/alien = 60,
|
||||
/obj/random/tool/alien = 60,
|
||||
/obj/item/cell/device/weapon/recharge/alien = 60,
|
||||
/obj/random/tool/alien = 60,
|
||||
/obj/item/cell/device/weapon/recharge/alien = 60,
|
||||
/obj/item/bluespace_harpoon = 60,
|
||||
/obj/item/flame/lighter/supermatter/syndismzippo = 60,
|
||||
/obj/item/gun/energy/medigun = 60,
|
||||
/obj/item/bone/skull = 100
|
||||
)
|
||||
|
||||
var/obj/item/shield_projector/shield1 = null
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain/Initialize(mapload)
|
||||
shield1 = new /obj/item/shield_projector/rectangle/automatic/eclipse/big(src)
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain/updatehealth() //This is a mistake
|
||||
. = ..()
|
||||
|
||||
if(vore_fullness == 1)
|
||||
ranged_cooldown = 4
|
||||
projectiletype = /obj/item/projectile/energy/frostsphere
|
||||
movement_cooldown = 1
|
||||
melee_attack_delay = 1.3
|
||||
melee_damage_lower = 20
|
||||
melee_damage_upper = 35
|
||||
armor = list(melee = 35, bullet = 35, laser = 35, energy = 35, bomb = 100, bio = 100, rad = 100)
|
||||
armor_soak = list(melee = 7, bullet = 7, laser = 7, energy = 7, bomb = 0, bio = 0, rad = 0)
|
||||
special_attack_cooldown = 15
|
||||
else if(vore_fullness == 2)
|
||||
ranged_cooldown = 0.5
|
||||
projectiletype = /obj/item/projectile/energy/muckblob
|
||||
movement_cooldown = 2
|
||||
melee_attack_delay = 1.8
|
||||
melee_damage_lower = 20
|
||||
melee_damage_upper = 40
|
||||
armor = list(melee = 50, bullet = 50, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100)
|
||||
armor_soak = list(melee = 6, bullet = 6, laser = 6, energy = 6, bomb = 0, bio = 0, rad = 0)
|
||||
special_attack_cooldown = 20
|
||||
else if (vore_fullness > 2)
|
||||
ranged_cooldown = 16
|
||||
projectiletype = /obj/item/projectile/energy/mob/ionbeam
|
||||
movement_cooldown = 3
|
||||
melee_attack_delay = 2
|
||||
melee_damage_lower = 30
|
||||
melee_damage_upper = 40
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 60, bomb = 100, bio = 100, rad = 100)
|
||||
armor_soak = list(melee = 5, bullet = 5, laser = 5, energy = 5, bomb = 0, bio = 0, rad = 0)
|
||||
special_attack_cooldown = 30
|
||||
else
|
||||
ranged_cooldown = 8
|
||||
projectiletype = /obj/item/projectile/bullet/flamegun
|
||||
movement_cooldown = 0
|
||||
melee_attack_delay = 1.1
|
||||
melee_damage_lower = 20
|
||||
melee_damage_upper = 25
|
||||
armor = list(melee = 20, bullet = 20, laser = 20, energy = 20, bomb = 100, bio = 100, rad = 100)
|
||||
armor_soak = list(melee = 7, bullet = 7, laser = 7, energy = 7, bomb = 0, bio = 0, rad = 0)
|
||||
special_attack_cooldown = 10
|
||||
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain/do_special_attack(atom/A) //note to self, try to make fullness alts for this attacks
|
||||
if(prob(20))
|
||||
invokesec(A)
|
||||
else if(prob(20))
|
||||
invokesci(A)
|
||||
else if(prob(20))
|
||||
invokeengi(A)
|
||||
else if(prob(20))
|
||||
invokemedical(A)
|
||||
else
|
||||
invokecargo(A)
|
||||
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain/proc/invokesec(atom/A)
|
||||
var/list/potential_targets = ai_holder.list_targets()
|
||||
for(var/atom/entry in potential_targets)
|
||||
if(istype(entry, /mob/living/simple_mob/humanoid/eclipse))
|
||||
potential_targets -= entry
|
||||
if(potential_targets.len)
|
||||
var/iteration = clamp(potential_targets.len, 1, 3)
|
||||
for(var/i = 0, i < iteration, i++)
|
||||
if(!(potential_targets.len))
|
||||
break
|
||||
var/mob/target = pick(potential_targets)
|
||||
potential_targets -= target
|
||||
secattack(target)
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain/proc/secattack(atom/target)
|
||||
var/list/bomb_range = block(locate(target.x-4, target.y-4, target.z), locate(target.x+4, target.y+4, target.z))
|
||||
var/obj/item/projectile/P = new /obj/item/projectile/energy/flamecrystal(get_turf(src))
|
||||
bomb_range -= get_turf(target)
|
||||
for(var/i = 0, i < 4, i++)
|
||||
var/turf/T = pick(bomb_range)
|
||||
P.launch_projectile(target, BP_TORSO, src)
|
||||
bomb_range -= T
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain/proc/invokecargo(atom/A)
|
||||
visible_message(span_warning("\The [src] calls for their help on radio!"))
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain/proc/invokeengi(atom/A) //place holdery
|
||||
var/obj/item/projectile/P = new /obj/item/projectile/temp(get_turf(src))
|
||||
P.launch_projectile(A, BP_TORSO, src)
|
||||
var/obj/item/projectile/P2 = new /obj/item/projectile/temp/hot(get_turf(src))
|
||||
P2.launch_projectile(A, BP_TORSO, src)
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain/proc/invokesci(atom/A)
|
||||
visible_message(span_warning("\The [src] begins to fabricate drones!"))
|
||||
sleep(3)
|
||||
new /mob/living/simple_mob/mechanical/hivebot/swarm/eclipse (src.loc)
|
||||
new /mob/living/simple_mob/mechanical/hivebot/swarm/eclipse (src.loc)
|
||||
new /mob/living/simple_mob/mechanical/hivebot/swarm/eclipse (src.loc)
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain/proc/invokemedical(atom/A)
|
||||
visible_message(span_warning("\The [src] begins to tend to their wounds!"))
|
||||
sleep(3)
|
||||
adjustBruteLoss(-12)
|
||||
adjustFireLoss(-12)
|
||||
adjustToxLoss(-12)
|
||||
adjustOxyLoss(-12)
|
||||
adjustCloneLoss(-12)
|
||||
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/shade
|
||||
name = "???"
|
||||
icon_state = "shade"
|
||||
health = 300
|
||||
maxHealth = 300 //18 20 damage shots
|
||||
|
||||
armor = list(melee = 20, bullet = 20, laser = 20, energy = 20, bomb = 100, bio = 100, rad = 100)
|
||||
|
||||
projectiletype = /obj/item/projectile/bullet/lightingburst
|
||||
|
||||
special_attack_cooldown = 10 SECONDS
|
||||
special_attack_min_range = 0
|
||||
special_attack_max_range = 7
|
||||
|
||||
loot_list = list(/obj/item/gun/energy/pulseglove = 100
|
||||
)
|
||||
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/shade/do_special_attack(atom/A)
|
||||
var/list/potential_targets = ai_holder.list_targets()
|
||||
for(var/atom/entry in potential_targets)
|
||||
if(istype(entry, /mob/living/simple_mob/humanoid/eclipse))
|
||||
potential_targets -= entry
|
||||
if(potential_targets.len)
|
||||
var/iteration = clamp(potential_targets.len, 1, 5)
|
||||
for(var/i = 0, i < iteration, i++)
|
||||
if(!(potential_targets.len))
|
||||
break
|
||||
var/mob/target = pick(potential_targets)
|
||||
potential_targets -= target
|
||||
bullethell(target)
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/shade/proc/bullethell(atom/target)
|
||||
var/list/bomb_range = block(locate(target.x-6, target.y-6, target.z), locate(target.x+6, target.y+6, target.z))
|
||||
var/obj/item/projectile/P = new /obj/item/projectile/bullet/meteorstorm(get_turf(src))
|
||||
bomb_range -= get_turf(target)
|
||||
for(var/i = 0, i < 4, i++)
|
||||
var/turf/T = pick(bomb_range)
|
||||
P.launch_projectile(target, BP_TORSO, src)
|
||||
bomb_range -= T
|
||||
|
||||
/mob/living/simple_mob/mechanical/combat_drone/artillery
|
||||
faction = FACTION_ECLIPSE
|
||||
projectiletype = /obj/item/projectile/arc/blue_energy
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/tyrlead
|
||||
name = "Eclipse Precursor Overseer"
|
||||
icon_state = "overseer_shield"
|
||||
icon_living = "overseer_shield"
|
||||
special_attack_cooldown = 4 SECONDS
|
||||
special_attack_min_range = 1
|
||||
special_attack_max_range = 8
|
||||
@@ -392,18 +175,29 @@
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/engineer //teshari
|
||||
name = "Eclipse Chief Engineer"
|
||||
icon_state = "engi"
|
||||
icon_living = "engi"
|
||||
health = 50
|
||||
maxHealth = 50
|
||||
melee_damage_lower = 60 //Durasteel fireaxe
|
||||
melee_damage_upper = 60
|
||||
projectiletype = null
|
||||
|
||||
loot_list = list(/obj/item/stock_parts/matter_bin/omni = 60,
|
||||
/obj/item/material/twohanded/fireaxe = 60,
|
||||
/obj/item/storage/toolbox/syndicate/powertools = 60,
|
||||
/obj/item/rig/ce = 60,
|
||||
/obj/item/rig_module/teleporter = 5
|
||||
)
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/engineer/Initialize()
|
||||
add_modifier(/datum/modifier/technomancer/haste, null, src) // tesh goes nyooooom
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/medical //noodl
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/medical
|
||||
name = "Eclipse Chief Medical Officer"
|
||||
icon_state = "medi"
|
||||
icon_living = "medi"
|
||||
health = 150
|
||||
maxHealth = 150
|
||||
special_attack_cooldown = 5 SECONDS
|
||||
@@ -413,6 +207,16 @@
|
||||
melee_damage_upper = 15
|
||||
attack_armor_pen = 60
|
||||
projectiletype = null
|
||||
|
||||
loot_list = list(/obj/item/rig_module/atmos_shield = 60,
|
||||
/obj/item/rig_module/rad_shield/advanced = 60,
|
||||
/obj/item/rig/baymed = 60,
|
||||
/obj/item/ammo_casing/microbattery/medical/brute3 = 15,
|
||||
/obj/item/ammo_casing/microbattery/medical/burn3 = 15,
|
||||
/obj/item/ammo_casing/microbattery/medical/toxin3 = 15,
|
||||
/obj/item/ammo_casing/microbattery/medical/omni3 = 5
|
||||
)
|
||||
|
||||
var/cloaked_alpha = 45 // Lower = Harder to see.
|
||||
var/cloak_cooldown = 5 SECONDS // Amount of time needed to re-cloak after losing it.
|
||||
var/last_uncloak = 0 // world.time
|
||||
@@ -685,4 +489,4 @@
|
||||
if(!L.apply_damage(70, BURN, target_zone, blocked, soaked))
|
||||
break
|
||||
playsound(src, 'sound/effects/clang2.ogg', 50, 1)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), 0.25 SECONDS, TIMER_DELETE_ME)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), 0.25 SECONDS, TIMER_DELETE_ME)
|
||||
@@ -9,34 +9,6 @@
|
||||
value = CATALOGUER_REWARD_TRIVIAL
|
||||
unlocked_by_any = list(/datum/category_item/catalogue/fauna/eclipse)
|
||||
|
||||
// Obtained by scanning all X.
|
||||
/datum/category_item/catalogue/fauna/all_eclipse
|
||||
name = "Collection - Eclipse"
|
||||
desc = "You have scanned a large array of different types of eclipse memebers, \
|
||||
and therefore you have been granted a large sum of points, through this \
|
||||
entry."
|
||||
value = CATALOGUER_REWARD_SUPERHARD
|
||||
unlocked_by_all = list(
|
||||
/datum/category_item/catalogue/fauna/eclipse/teslanoodle,
|
||||
/datum/category_item/catalogue/fauna/eclipse/firemoff,
|
||||
/datum/category_item/catalogue/fauna/eclipse/snipertesh,
|
||||
/datum/category_item/catalogue/fauna/eclipse/radiation,
|
||||
/datum/category_item/catalogue/fauna/eclipse/silvernoodle,
|
||||
/datum/category_item/catalogue/fauna/eclipse/shotgunner,
|
||||
/datum/category_item/catalogue/fauna/eclipse/bulletstorm,
|
||||
/datum/category_item/catalogue/fauna/eclipse/ravanger,
|
||||
/datum/category_item/catalogue/fauna/eclipse/hellhound,
|
||||
/datum/category_item/catalogue/fauna/eclipse/wheel,
|
||||
/datum/category_item/catalogue/fauna/eclipse/guardian,
|
||||
/datum/category_item/catalogue/fauna/eclipse/pummler,
|
||||
/datum/category_item/catalogue/fauna/eclipse/aeroblaster,
|
||||
/datum/category_item/catalogue/fauna/eclipse/miner,
|
||||
/datum/category_item/catalogue/fauna/eclipse/froststalker,
|
||||
/datum/category_item/catalogue/fauna/eclipse/cryomancer
|
||||
)
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/solar/teslanoodle
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/teslanoodle)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/teslanoodle
|
||||
name = "The Tesla Armor"
|
||||
@@ -45,9 +17,6 @@
|
||||
random. This creation seems to be in a prototype phase."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/solar/firemoff
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/firemoff)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/firemoff
|
||||
name = "Eclipse Shielding"
|
||||
desc = "Eclipse armor and uniform is unlike most others, seeming wide \
|
||||
@@ -58,9 +27,6 @@
|
||||
diverse apperance."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/solar/snipertesh
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/snipertesh)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/snipertesh
|
||||
name = "Cult-like rituals"
|
||||
desc = "The Eclipse started off as a strange mixutre of a friendly \
|
||||
@@ -70,8 +36,6 @@
|
||||
mixed results, rarely resulting in in-fighting."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/solar/radiation
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/radiation)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/radiation
|
||||
name = "Nuclear Failures"
|
||||
@@ -82,8 +46,6 @@
|
||||
power sources to radiation field generators."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/lunar/silvernoodle
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/silvernoodle)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/silvernoodle
|
||||
name = "Failed Selling"
|
||||
@@ -94,8 +56,7 @@
|
||||
medication are one of the few reasons they have not wiped themselves out."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/lunar/shotgunner
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/shotgunner)
|
||||
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/shotgunner
|
||||
name = "Specialized Arms"
|
||||
@@ -105,8 +66,6 @@
|
||||
Although this leads to weapon failures, or creation accidents."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/lunar/bulletstorm
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/bulletstorm)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/bulletstorm
|
||||
name = "Open Joining"
|
||||
@@ -115,9 +74,6 @@
|
||||
high mortality rates, mutations, and body modification expermintation."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/lunar/ravanger
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/ravanger)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/ravanger
|
||||
name = "Resleeving Failures"
|
||||
desc = "The Eclipse has precourdered many bits of resleeving equipment \
|
||||
@@ -127,9 +83,6 @@
|
||||
such as shaping them into ravanger units."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/solar/hellhound
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/hellhound)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/hellhound
|
||||
name = "Hellhound Units"
|
||||
desc = "Equiped with specialized armor, the systems of the suit pairing \
|
||||
@@ -139,9 +92,6 @@
|
||||
hunting, and frontal assualt."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/lunar/wheel
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/wheel)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/wheel
|
||||
name = "Armadillo"
|
||||
desc = "With several strange creatures among their ranks, the Eclipse \
|
||||
@@ -150,9 +100,6 @@
|
||||
a rolling motion into an offensive force."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/solar/guardian
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/guardian)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/guardian
|
||||
name = "Slime Pits"
|
||||
desc = "Another potential of failed resleeves are the slime pits, \
|
||||
@@ -162,9 +109,6 @@
|
||||
renamants of the donator's DNA."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/lunar/pummler
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/pummler)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/pummler
|
||||
name = "Hunter Unit - Pummler"
|
||||
desc = "Another drone like creation, meld with alien sea life, and traces \
|
||||
@@ -174,9 +118,6 @@
|
||||
targets across any and all terrains."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/lunar/aeroblaster
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/pummler)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/aeroblaster
|
||||
name = "Eclipse Drones"
|
||||
desc = "Sometimes, the failed resleeves only leave the fragments of a mind \
|
||||
@@ -185,9 +126,6 @@
|
||||
their drones."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/lunar/miner
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/miner)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/miner
|
||||
name = "Bio-tech Unit"
|
||||
desc = "One benefit of the slime units is they're able to easily interface \
|
||||
@@ -196,8 +134,6 @@
|
||||
both being able to flee or alter plans as soon as either noitces."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/solar/froststalker
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/froststalker)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/froststalker
|
||||
name = "Mindless Ice"
|
||||
@@ -207,9 +143,6 @@
|
||||
of ice. Their minds sometimes lost alongside their orginal form."
|
||||
value = CATALOGUER_REWARD_MEDIUM
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/solar/cryomancer
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/cryomancer)
|
||||
|
||||
/datum/category_item/catalogue/fauna/eclipse/cryomancer
|
||||
name = "Cryomancers"
|
||||
desc = "One of the few success in the Pluto Intitative, but one that \
|
||||
|
||||
@@ -268,7 +268,7 @@
|
||||
specialattackprojectile = /obj/item/projectile/beam/midlaser
|
||||
armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100)
|
||||
damage_threshold = 0 //So the wierd armor mechanic works
|
||||
icon_state = "gygax_adv"
|
||||
icon_state = "orb"
|
||||
wreckage = /obj/structure/loot_pile/mecha/odd_gygax
|
||||
special_attack_cooldown = 320
|
||||
|
||||
@@ -958,4 +958,91 @@
|
||||
/mob/living/simple_mob/mechanical/mecha/eclipse/darkmatter_assualt/proc/phasethree_cyclethree(atom/target) //eight spinning death beams
|
||||
specialattackprojectile = /obj/item/projectile/energy/darkspike
|
||||
addtimer(CALLBACK(src, PROC_REF(random_firing), target, 20, 1, 0.2 SECONDS), 0.5 SECONDS, TIMER_DELETE_ME)
|
||||
attackcycle = 0
|
||||
attackcycle = 0
|
||||
|
||||
/mob/living/simple_mob/mechanical/mecha/eclipse/engimecha
|
||||
name = "Eclipse Expirmental Mining Mecha"
|
||||
health = 300
|
||||
maxHealth = 300
|
||||
specialattackprojectile = /obj/item/projectile/energy/excavate/weak
|
||||
armor = list(melee = 30, bullet = 30, laser = 30, energy = 40, bomb = 90, bio = 100, rad = 100)
|
||||
armor_soak = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
icon_state = "engi_spider"
|
||||
shock_resist = 1
|
||||
projectiletype = /obj/item/projectile/beam/chain_lightning
|
||||
reload_max = 1
|
||||
reload_time = 0.5 SECONDS
|
||||
ranged_attack_delay = 2 SECONDS
|
||||
|
||||
glow_color = "#14ff20"
|
||||
light_color = "#14ff20"
|
||||
glow_range = 5
|
||||
glow_intensity = 3
|
||||
|
||||
special_attack_cooldown = 120
|
||||
|
||||
pilot_type = /mob/living/simple_mob/humanoid/eclipse/head/engineer
|
||||
|
||||
var/rads = 5
|
||||
|
||||
/mob/living/simple_mob/mechanical/mecha/eclipse/engimecha/do_special_attack(atom/A)
|
||||
rads += 15
|
||||
|
||||
/mob/living/simple_mob/mechanical/mecha/eclipse/engimecha/handle_special()
|
||||
if(stat != DEAD)
|
||||
irradiate()
|
||||
..()
|
||||
|
||||
/mob/living/simple_mob/mechanical/mecha/eclipse/engimecha/proc/irradiate()
|
||||
SSradiation.radiate(src, rads)
|
||||
|
||||
/mob/living/simple_mob/mechanical/mecha/eclipse/engimecha/ranged_pre_animation(atom/A)
|
||||
Beam(get_turf(A), icon_state = "sniper_beam", time = 2 SECONDS, maxdistance = 15)
|
||||
. = ..()
|
||||
|
||||
/mob/living/simple_mob/mechanical/mecha/eclipse/engimecha/shoot_target(atom/A)
|
||||
set waitfor = FALSE
|
||||
|
||||
if(!istype(A) || QDELETED(A))
|
||||
return
|
||||
|
||||
setClickCooldown(get_attack_speed())
|
||||
|
||||
face_atom(A)
|
||||
|
||||
var/atom/orig_targ = A
|
||||
|
||||
if(ranged_attack_delay)
|
||||
A = get_turf(orig_targ)
|
||||
ranged_pre_animation(A)
|
||||
handle_attack_delay(A, ranged_attack_delay) // This will sleep this proc for a bit, which is why waitfor is false.
|
||||
|
||||
if(needs_reload)
|
||||
if(reload_count >= reload_max)
|
||||
try_reload()
|
||||
return FALSE
|
||||
|
||||
/*
|
||||
* CHOMP Addition: This section here is (duplicated) special snowflake code because sniper does not call parent. Basically, this is a non-stupid version of the above intended for ranged mobs.
|
||||
* ranged_attack_delay is stupid because it sleeps the entire mob.
|
||||
* This new ranged_cooldown_time is smarter in the sense that it is an internalized timer. Try not to confuse the names.
|
||||
*/
|
||||
if(ranged_cooldown_time) //If you have a non-zero number in a mob's variables, this pattern begins.
|
||||
if(ranged_cooldown <= world.time) //Further down, a timer keeps adding to the ranged_cooldown variable automatically.
|
||||
visible_message(span_bolddanger("\The [src]") + " fires at \the [A]!") //Leave notice of shooting.
|
||||
shoot(A) //Perform the shoot action
|
||||
if(casingtype) //If the mob is designated to leave casings...
|
||||
new casingtype(loc) //... leave the casing.
|
||||
ranged_cooldown = world.time + ranged_cooldown_time + ((injury_level / 2) SECONDS) //Special addition here. This is a timer. Keeping updating the time after shooting. Add that ranged cooldown time specified in the mob to the world time.
|
||||
return TRUE //End these commands here.
|
||||
// CHOMPAddition End
|
||||
|
||||
visible_message(span_bolddanger("\The [src]") + " fires at \the [orig_targ]!")
|
||||
shoot(A)
|
||||
if(casingtype)
|
||||
new casingtype(loc)
|
||||
|
||||
if(ranged_attack_delay)
|
||||
ranged_post_animation(A)
|
||||
|
||||
return TRUE
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 115 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 7.6 KiB |
@@ -136,7 +136,7 @@ but they don't actually change anything about the load order
|
||||
list("Snow Field"),
|
||||
list("Maddness Lab"),
|
||||
list("Abandoned City"),
|
||||
list("Distant Mining Facility"),
|
||||
// list("Distant Mining Facility"),
|
||||
list("Skyscraper")
|
||||
) //CHOMPedit: Gateway maps. For now nothing fancy, just some already existing maps while we make our own.
|
||||
|
||||
|
||||
@@ -121,28 +121,159 @@
|
||||
outdoors = OUTDOORS_NO
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold
|
||||
name = "Base Neon - Hallways"
|
||||
name = "Base Neon"
|
||||
icon_state = "bluenew"
|
||||
requires_power = FALSE //note to self, remove when I figure out how engineering works
|
||||
outdoors = OUTDOORS_NO
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/sectora
|
||||
/area/surface/tyr/eclipse_stronghold/sciencehalls
|
||||
name = "Base Neon - Science Halls"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/creaturestorageA
|
||||
name = "Base Neon - Creature Storage A"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/creaturestorageB
|
||||
name = "Base Neon - Creature Storage B"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/toolstorage
|
||||
name = "Base Neon - Tool Storage"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/meatstorage
|
||||
name = "Base Neon - Meat Storage"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/slimeresearch
|
||||
name = "Base Neon - Slime Den"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/breakroom
|
||||
name = "Base Neon - Breakroom"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/poolroom
|
||||
name = "Base Neon - Poolroom"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/bathroom
|
||||
name = "Base Neon - Bathroom"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/showers
|
||||
name = "Base Neon - Shower"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/researchleadoffice
|
||||
name = "Base Neon - Head Scientist Study"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/furnace
|
||||
name = "Base Neon - Furnace"
|
||||
|
||||
//Medical area
|
||||
/area/surface/tyr/eclipse_stronghold/medicalhalls
|
||||
name = "Base Neon - Medical Halls"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/chemicalgas
|
||||
name = "Base Neon - Distillery Storage"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/viro
|
||||
name = "Base Neon - Virus Study"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/genetics
|
||||
name = "Base Neon - Life Study"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/distillery
|
||||
name = "Base Neon - Distillery"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/surgery
|
||||
name = "Base Neon - Mass Operations"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/alienbotany
|
||||
name = "Base Neon - Abnormal Botany"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/chemista
|
||||
name = "Base Neon - Chemistry"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/chemistb
|
||||
name = "Base Neon - Sub-Chemistry"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/cmooffice
|
||||
name = "Base Neon - Lead Medical Officer Restzone"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/recoveryA
|
||||
name = "Base Neon - Recovery Zone A"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/recoveryB
|
||||
name = "Base Neon - Recovery Zone B"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/recoveryC
|
||||
name = "Base Neon - Recovery Zone C"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/morgue
|
||||
name = "Base Neon - Final Rest Zone"
|
||||
|
||||
//sec areas
|
||||
/area/surface/tyr/eclipse_stronghold/sechalls
|
||||
name = "Base Neon - Security Halls"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/breakroom
|
||||
name = "Base Neon - Breaking Room"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/jailhouse
|
||||
name = "Base Neon - Jailhouse"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/secoffice
|
||||
name = "Base Neon - Warden Office"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/stash
|
||||
name = "Base Neon - Obtained Equipment Stash"
|
||||
|
||||
//engi areas
|
||||
/area/surface/tyr/eclipse_stronghold/engihalls
|
||||
name = "Base Neon - Eletrical Halls"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/radequipmentA
|
||||
name = "Base Neon - Glowing Equipment A"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/radequipmentB
|
||||
name = "Base Neon - Glowing Equipment B"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/engihead
|
||||
name = "Base Neon - Lighting Master Den"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/powerplantgens
|
||||
name = "Base Neon - Main Generator"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/powerplantfuel
|
||||
name = "Base Neon - Generator Battery"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/generatorA
|
||||
name = "Base Neon - Backup Battery A"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/generatorB
|
||||
name = "Base Neon - Backup Battery B"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/teslastorage
|
||||
name = "Base Neon - Tesla Storage"
|
||||
|
||||
//the cargo misc area
|
||||
/area/surface/tyr/eclipse_stronghold/cargohalls
|
||||
name = "Base Neon - Cargo Hall"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/cafe
|
||||
name = "Base Neon - Cafe"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/antroom
|
||||
name = "Base Neon - Antroom"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/miscstorage
|
||||
name = "Base Neon - Misc Storage"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/filestorage
|
||||
name = "Base Neon - File Storage"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/docks
|
||||
name = "Base Neon - Docks"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/sectorb
|
||||
name = "Base Neon - Security"
|
||||
/area/surface/tyr/eclipse_stronghold/generatorC
|
||||
name = "Base Neon - Backup Battery C"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/sectorc
|
||||
name = "Base Neon - Power Generator"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/sectord
|
||||
name = "Base Neon - Dorms"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/sectore
|
||||
name = "Base Neon - Dining Hall"
|
||||
|
||||
/area/surface/tyr/eclipse_stronghold/sectorfinale
|
||||
name = "Precursor Ruins"
|
||||
requires_power = FALSE
|
||||
|
||||
/area/surface/tyr/precursorruins
|
||||
icon_state = "bluenew"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -137,7 +137,6 @@ but they don't actually change anything about the load order
|
||||
list("Snow Field"),
|
||||
list("Maddness Lab"),
|
||||
list("Abandoned City"),
|
||||
list("Distant Mining Facility"),
|
||||
list("Skyscraper")
|
||||
) //CHOMPedit: Gateway maps. For now nothing fancy, just some already existing maps while we make our own.
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#include "gateway/BaseBlep.dmm"
|
||||
#include "gateway/maddnesslab.dmm"
|
||||
#include "gateway/snowfield.dmm"
|
||||
#include "gateway/hiddeneclipse.dmm"
|
||||
// #include "gateway/hiddeneclipse.dmm" //needs remaping and energy is low.
|
||||
#include "../../virtual_reality/constructVR.dmm"
|
||||
#endif
|
||||
|
||||
@@ -79,14 +79,14 @@
|
||||
desc = "Asteroid base surrounded by carp"
|
||||
mappath = "modular_chomp/maps/southern_cross/submaps/gateway/carpfarm.dmm"
|
||||
associated_map_datum = /datum/map_z_level/sc_lateload/gateway_destination
|
||||
|
||||
/*
|
||||
#include "gateway/hiddeneclipse.dm"
|
||||
/datum/map_template/sc_lateload/gateway/hiddeneclipse
|
||||
name = "Distant Mining Facility"
|
||||
desc = "Asteroid mining facility, lost to unknown horrors"
|
||||
mappath = "modular_chomp/maps/southern_cross/submaps/gateway/hiddeneclipse.dmm"
|
||||
associated_map_datum = /datum/map_z_level/sc_lateload/gateway_destination
|
||||
|
||||
*/
|
||||
//VR maps go here, tell me if theres a better way to load this
|
||||
// #include "virtual_reality/constructVR.dm" Virtual Reality areas included by default.
|
||||
//#include "modular_chomp/maps/virtual_reality/constructVR.dm" //Included in .dme
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
"a" = (/turf/template_noop,/area/template_noop)
|
||||
"c" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"d" = (/obj/structure/table/woodentable{dir = 4; flipped = 1; icon_state = "wood_flip0"},/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"i" = (/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"l" = (/obj/structure/table/woodentable,/obj/item/storage/fancy/candle_box,/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"n" = (/obj/structure/curtain/open/bed,/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"o" = (/obj/structure/table/bench/sifwooden,/mob/living/simple_mob/humanoid/pirate/mate/ranged/rifle,/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"p" = (/obj/structure/closet,/obj/item/contraband,/obj/random/maintenance/foodstuff,/obj/random/maintenance/foodstuff,/obj/random/maintenance/foodstuff,/obj/random/maintenance/foodstuff,/obj/random/maintenance/foodstuff,/obj/random/maintenance/foodstuff,/obj/random/maintenance/foodstuff,/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"s" = (/obj/structure/table/woodentable,/obj/item/flame/candle/candelabra,/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"t" = (/obj/structure/table/woodentable{dir = 8; flipped = 1; icon_state = "wood_flip0"},/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"u" = (/obj/structure/loot_pile/mecha/ripley/pirate,/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"v" = (/obj/structure/table/bench/sifwooden,/mob/living/simple_mob/humanoid/pirate/ranged,/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"x" = (/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/submap/PirateLake)
|
||||
"z" = (/turf/template_noop,/area/submap/PirateLake)
|
||||
"C" = (/obj/structure/table/woodentable{flipped = 1; icon_state = "wood_flip0"},/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"D" = (/obj/structure/table/bench/sifwooden,/mob/living/simple_mob/humanoid/pirate/las,/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"I" = (/turf/simulated/floor/water/deep,/area/submap/PirateLake)
|
||||
"J" = (/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/PirateLake)
|
||||
"K" = (/turf/simulated/wall/wood,/area/submap/PirateLake)
|
||||
"L" = (/obj/structure/closet,/obj/item/clothing/suit/space/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/clothing/head/helmet/space/pirate,/obj/item/clothing/head/helmet/space/pirate,/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"N" = (/obj/structure/table/woodentable,/obj/structure/safe/floor,/obj/item/gun/projectile/deagle/gold,/obj/item/soap/golden_soap,/obj/item/reagent_containers/food/drinks/golden_cup,/obj/item/toy/plushie/gold_eastdragon,/obj/item/slime_extract/gold,/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"Q" = (/obj/structure/closet/crate/secure/loot,/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"R" = (/obj/structure/table/woodentable{dir = 1; flipped = 1; icon_state = "wood_flip0"},/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
"T" = (/turf/simulated/floor/water,/area/submap/PirateLake)
|
||||
"X" = (/obj/structure/table/bench/sifwooden,/turf/simulated/floor/wood/turfpack/sif,/area/submap/PirateLake)
|
||||
|
||||
(1,1,1) = {"
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
azzzzzzzzzzzxxxxxxxxxxxxxxxxzzzzzzzzzzza
|
||||
azzzzzzzzxxxxTTTTTTTTTTTTTTxxxzzzzzzzzza
|
||||
azzzzzxxxxTTTTTTTTTTTTTTTTTTTxxzzzzzzzza
|
||||
azzzzxxTTTTTTTTIIIIIIIIIITTTTTxxxzzzzzza
|
||||
azzzzxTTTTTTTIIIIIIIIIIIIIITTTTTxxxzzzza
|
||||
azzzxxTTTTIIIIIITTTTTTTIIIIIITTTTTxxzzza
|
||||
azzxxTTTIIIIIIITTTTTTTTTTIIIIITTTTTxxzza
|
||||
azxxTTTIIIIIITTTxxxxxxxTTTTTIIIITTTTxxza
|
||||
azxTTTIIIIIITTTxxKRRRRKxxTTTTTIIIITTTxza
|
||||
azxTTTIIIIITTxxxJKiviiKJxxxxTTTIIITTTxxa
|
||||
azxTTTIIIITTxxJJJKiiiiKJJJJxxxTTIIITTTxa
|
||||
axxTTTIIIITTxJJJKKKnnKKKKJJJJxTTIIITTTxa
|
||||
axTTTIIIITTxxKKKKuiiiQppKKKKJxTTIITTTxxa
|
||||
axTTTIIIITTxJtiiKiiiXiiiKiidJxTTIITTTxza
|
||||
axTTTIIIITTxJtviniiscciiniidJxxTTITTTxza
|
||||
axTTTIIIITTxJtiiniDcNcXinivdJJxTTITTTxza
|
||||
axTTTIIIITTxJtiiKiiccliiKiidJJxTTITTTxza
|
||||
axTTTIIIITTxxKKKKiiiDiiiKKKKJxxTTITTTxza
|
||||
axxTTTIIIITTxxJJKiiiiiiiKKKKxxTTIITTTxza
|
||||
azxxTTTIIIITTxJJKiiiiKnKKKKJxTTIIITTTxxa
|
||||
azzxTTTIIIITTxxJKQiiQKiciLKJxTTIIIITTTxa
|
||||
azzxTTTIIIIITTxJKKnnKKicoiKxxTTIIIITTTxa
|
||||
azzxTTTIIIIITTxxKiiiiKicciKxTTIIIIITTTxa
|
||||
azzxTTTIIIIIITTxKiviiKiiiiKxTTIIIITTTxxa
|
||||
azzxxTTTIIIIITTxKCCCCKKKKKKTTIIIIITTTxza
|
||||
azzzxTTTIIIIIITTxxJJJJJJJxxTTIIIIITTTxza
|
||||
azzzxxTTTIIIIIITTxJJJJJJJxTTIIIIITTTxxza
|
||||
azzzzxTTTIIIIIITTxxxJJxxxxTTIIIIITTTxzza
|
||||
azzzzxxTTTIIIIIITTTxxxxTTTTIIIIIITTTxzza
|
||||
azzzzzxTTTIIIIIIITTTTTTTTTIIIIITTTTxxzza
|
||||
azzzzzxTTTIIIIIIIIITTTTIIIIIIITTTTTxzzza
|
||||
azzzzzxxTTTTIIIIIIIIIIIIIIIITTTTTTxxzzza
|
||||
azzzzzzxxTTTTIIIIIIIIIIIIIIITTTxxxxzzzza
|
||||
azzzzzzzxxTTTTTIIIIIIIIIIITTTTxxzzzzzzza
|
||||
azzzzzzzzxxxTTTTTTTTTTTTTTTTxxxzzzzzzzza
|
||||
azzzzzzzzzzxxTTTTTTTTTTTTTTTxzzzzzzzzzza
|
||||
azzzzzzzzzzzxxxTTTTTTTTTTTxxxzzzzzzzzzza
|
||||
azzzzzzzzzzzzzxxxxxxxxxxxxxzzzzzzzzzzzza
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
"}
|
||||
@@ -0,0 +1,57 @@
|
||||
"a" = (/turf/template_noop,/area/template_noop)
|
||||
"d" = (/obj/structure/loot_pile/surface/alien/end,/turf/simulated/shuttle/floor/alienplating/external,/area/template_noop)
|
||||
"l" = (/turf/simulated/floor/lava/outdoors,/area/template_noop)
|
||||
"p" = (/obj/structure/cliff/automatic{dir = 2},/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
"q" = (/obj/structure/cliff/automatic/corner{dir = 10},/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
"s" = (/obj/structure/cliff/automatic{dir = 8},/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
"t" = (/obj/effect/map_effect/interval/effect_emitter/smoke/fire,/turf/simulated/floor/lava/outdoors,/area/template_noop)
|
||||
"v" = (/obj/structure/cliff/automatic{dir = 5},/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
"w" = (/obj/structure/cliff/automatic,/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
"y" = (/obj/structure/cliff/automatic/corner{dir = 9},/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
"A" = (/obj/structure/cliff/automatic{dir = 6},/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
"B" = (/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating/external,/area/template_noop)
|
||||
"D" = (/turf/simulated/shuttle/floor/alienplating/external,/area/template_noop)
|
||||
"E" = (/obj/structure/cliff/automatic{dir = 10},/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
"J" = (/obj/structure/cliff/automatic{dir = 4},/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
"L" = (/obj/structure/cliff/automatic{dir = 9},/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
"O" = (/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
"P" = (/obj/structure/cliff/automatic/corner{dir = 6},/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
"Q" = (/obj/item/prop/alien/junk,/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
"S" = (/obj/random/tool/alien,/turf/simulated/shuttle/floor/alienplating/external,/area/template_noop)
|
||||
"V" = (/obj/structure/cliff/automatic/corner,/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/template_noop)
|
||||
|
||||
(1,1,1) = {"
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaLwwwwwwwwwwwvaaaaaaaaaa
|
||||
aaaaaaaLwwylllllllllllVwwvaaaaaaa
|
||||
aaaaLwwyllllllllllQOlllllVwwvaaaa
|
||||
aLwwylllllllltlllOOOllllllllVwwva
|
||||
aslllllllllllllllOOOOOlllllllllJa
|
||||
asllllltllOOllllllOOOOOlllllltlJa
|
||||
asllllllOOOQOllllllOOOtOlllllllJa
|
||||
aslllllOOOOOlllDllllOOOOOllllllJa
|
||||
asllllOOOOllllDDdlllOOOOOllDDllJa
|
||||
aslllOlOOllllDDDDDllOOOlOllSDllJa
|
||||
asllOOOOllllDDDBDlllOOOOlllDDllJa
|
||||
asllOOOllllllDDDlllOOOOllllDDllJa
|
||||
aslltOOlllllllDlllOOOOOOOltllllJa
|
||||
asllOOOOlllllllllOOOtOOOOOlllllJa
|
||||
asllOOlOOltlllllOOOOOOlOOOlllllJa
|
||||
asllOOOOOOlllllOOOOOllOOOOOllllJa
|
||||
aslllQOOOOOlllOOlOOllllOOlOOlllJa
|
||||
asllllOlOOOOllOOOOOlllllOOOOOOlJa
|
||||
aslllllOOlOOOOOlOOllDlllOOOtOOlJa
|
||||
aslllllllOOOOOOOlllDDBlllOOOQOlJa
|
||||
asllSDDDlllOOtOlllDDDDDlllOOOllJa
|
||||
asllDDDDllllOOOllllDDDDDlllllllJa
|
||||
aslllltllllllOOOllllDDdllllllllJa
|
||||
aEqllllllllllOOOOllllDltllllllPAa
|
||||
aaEpppqlllllllOOOlllllllllPpppAaa
|
||||
aaaaaaEppqlllllOOOlllllPppAaaaaaa
|
||||
aaaaaaaaaEppppqOOOPppppAaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
"}
|
||||
@@ -515,6 +515,24 @@
|
||||
mappath = "modular_chomp/maps/submaps/surface_submaps/wilderness/AbandonedLab.dmm"
|
||||
cost = 20
|
||||
|
||||
/datum/map_template/surface/wilderness/deep/AbandonedLab
|
||||
name = "Abandoned Lab"
|
||||
desc = "Experiments gone wrong! Be wary of the test subjects gone rogue."
|
||||
mappath = "modular_chomp/maps/submaps/surface_submaps/wilderness/AbandonedLab.dmm"
|
||||
cost = 20
|
||||
|
||||
/datum/map_template/surface/wilderness/deep/VolcanicFissure
|
||||
name = "Volcanic Fissure"
|
||||
desc = "Strange alien tech has caused magma to surface, creating a pit of lava."
|
||||
mappath = "modular_chomp/maps/submaps/surface_submaps/wilderness/VolcanicFissure.dmm"
|
||||
cost = 20
|
||||
|
||||
/datum/map_template/surface/wilderness/deep/PirateLake
|
||||
name = "Volcanic Fissure"
|
||||
desc = "Yarr, explorers my expirence diffcults when facing defenses of water and table."
|
||||
mappath = "modular_chomp/maps/submaps/surface_submaps/wilderness/PirateLake.dmm"
|
||||
cost = 20
|
||||
|
||||
/*==Disabled==/
|
||||
|
||||
/datum/map_template/surface/wilderness/deep/Boombase //YW Edit remove boombase
|
||||
|
||||
@@ -178,6 +178,10 @@
|
||||
name = "POI Wilderness - Otie Shelter"
|
||||
ambience = AMBIENCE_HIGHSEC
|
||||
|
||||
/area/submap/PirateLake
|
||||
name = "POI Wilderness - Pirate Lake"
|
||||
ambience = AMBIENCE_HIGHSEC
|
||||
|
||||
/area/submap/Rocky1
|
||||
name = "POI Wilderness - Rocky Demise"
|
||||
ambience = AMBIENCE_SIF
|
||||
@@ -229,3 +233,7 @@
|
||||
/area/submap/XenoHive
|
||||
name = "POI Wilderness - Xeno Hive"
|
||||
ambience = AMBIENCE_RUINS
|
||||
|
||||
/area/submap/VolcanicFissure
|
||||
name = "POI Wilderness - Volcanic Fissure"
|
||||
ambience = AMBIENCE_RUINS
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5220,10 +5220,6 @@
|
||||
#include "modular_chomp\maps\submaps\surface_submaps\mountains\mountains_areas.dm"
|
||||
#include "modular_chomp\maps\submaps\surface_submaps\plains\plains.dm"
|
||||
#include "modular_chomp\maps\submaps\surface_submaps\plains\plains_areas.dm"
|
||||
#include "modular_chomp\maps\submaps\surface_submaps\valley\valley.dm"
|
||||
#include "modular_chomp\maps\submaps\surface_submaps\valley\valley_areas.dm"
|
||||
#include "modular_chomp\maps\submaps\surface_submaps\valleyend\valleyend.dm"
|
||||
#include "modular_chomp\maps\submaps\surface_submaps\valleyend\valleyend_areas.dm"
|
||||
#include "modular_chomp\maps\submaps\surface_submaps\wilderness\wilderness.dm"
|
||||
#include "modular_chomp\maps\submaps\surface_submaps\wilderness\wilderness_areas.dm"
|
||||
#include "modular_chomp\maps\virtual_reality\constructVR.dm"
|
||||
|
||||
Reference in New Issue
Block a user