New Gateway: Destroyed Asteroid Mining (#7651)
@@ -90,7 +90,7 @@
|
||||
SPECIES_ZORREN_HIGH = 'modular_chomp/icons/mob/species/fox/helmet_ch.dmi',
|
||||
SPECIES_FENNEC = 'modular_chomp/icons/mob/species/vulpkanin/helmet_ch.dmi',
|
||||
SPECIES_PROMETHEAN = 'modular_chomp/icons/mob/species/skrell/helmet_ch.dmi',
|
||||
SPECIES_TESHARI = 'icons/inventory/head/mob_ch_teshari.dmi',
|
||||
SPECIES_TESHARI = 'modular_chomp/icons/mob/species/teshari/helmet_ch.dmi',
|
||||
SPECIES_VASILISSAN = 'modular_chomp/icons/mob/species/skrell/helmet_ch.dmi',
|
||||
SPECIES_VOX = 'modular_chomp/icons/mob/species/vox/head_ch.dmi'
|
||||
)
|
||||
@@ -127,7 +127,7 @@
|
||||
SPECIES_ZORREN_HIGH = 'modular_chomp/icons/mob/species/fox/suit_ch.dmi',
|
||||
SPECIES_FENNEC = 'modular_chomp/icons/mob/species/vulpkanin/suit_ch.dmi',
|
||||
SPECIES_PROMETHEAN = 'modular_chomp/icons/mob/species/skrell/suit_ch.dmi',
|
||||
SPECIES_TESHARI = 'icons/inventory/suit/mob_ch_teshari.dmi',
|
||||
SPECIES_TESHARI = 'modular_chomp/icons/mob/species/teshari/suit_ch.dmi',
|
||||
SPECIES_VASILISSAN = 'modular_chomp/icons/mob/species/skrell/suit_ch.dmi',
|
||||
SPECIES_VOX = 'modular_chomp/icons/mob/species/vox/suit_ch.dmi'
|
||||
)
|
||||
|
||||
@@ -128,7 +128,8 @@ but they don't actually change anything about the load order
|
||||
lateload_gateway = list(
|
||||
list("Snow Field"),
|
||||
list("Maddness Lab"),
|
||||
list("Abandoned City")
|
||||
list("Abandoned City"),
|
||||
list("Distant Mining Facility")
|
||||
) //CHOMPedit: Gateway maps. For now nothing fancy, just some already existing maps while we make our own.
|
||||
|
||||
lateload_gateway = null
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "gateway/BaseBlep.dmm"
|
||||
#include "gateway/maddnesslab.dmm"
|
||||
#include "gateway/snowfield.dmm"
|
||||
#include "gateway/hiddeneclipse.dmm"
|
||||
#include "virtual_reality/constructVR.dmm"
|
||||
#endif
|
||||
|
||||
@@ -70,6 +71,13 @@
|
||||
mappath = '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 = '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.
|
||||
/datum/map_template/sc_lateload/vr_world
|
||||
|
||||
66
maps/southern_cross/submaps/gateway/hiddeneclipse.dm
Normal file
@@ -0,0 +1,66 @@
|
||||
/area/awaymission/hiddeneclipse
|
||||
name = "Strange Place"
|
||||
icon_state = "red"
|
||||
|
||||
/area/awaymission/hiddeneclipse/miningzonea
|
||||
name = "Distant Mining Site"
|
||||
|
||||
/area/awaymission/hiddeneclipse/miningzonea/depature
|
||||
requires_power = 0
|
||||
|
||||
/area/awaymission/hiddeneclipse/miningzoneb
|
||||
name = "Distant Mining Site"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier
|
||||
name = "Midnight Pantheon"
|
||||
requires_power = 0 //someone bap me if I ever figure out to do rad collectors.
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/kitchen
|
||||
name = "Midnight Pantheon - Kitchen"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/cafe
|
||||
name = "Midnight Pantheon - Cafe"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/armory
|
||||
name = "Midnight Pantheon - Armory"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/engine
|
||||
name = "Midnight Pantheon - Engine Room"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/prison
|
||||
name = "Midnight Pantheon - Prison"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/dorms
|
||||
name = "Midnight Pantheon - Dorm"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/cargobay
|
||||
name = "Midnight Pantheon - Cargo Bay"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/helm
|
||||
name = "Midnight Pantheon - Helm"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/camera
|
||||
name = "Midnight Pantheon - Camera Room"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/science
|
||||
name = "Midnight Pantheon - Research and Development"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/vipdefense
|
||||
name = "Midnight Pantheon - VIP Guard"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/vipchamber
|
||||
name = "Midnight Pantheon - VIP Chamber"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/enginemonitoring
|
||||
name = "Midnight Pantheon - Enginering Monitoring"
|
||||
|
||||
/area/awaymission/hiddeneclipse/eclipsecarrier/canon
|
||||
name = "Midnight Pantheon - Cannon Control"
|
||||
|
||||
/area/awaymission/hiddeneclipse/precursortemple
|
||||
name = "Strange Temple"
|
||||
requires_power = 0
|
||||
|
||||
/area/awaymission/hiddeneclipse/theabyss
|
||||
name = "???"
|
||||
requires_power = 0
|
||||
68461
maps/southern_cross/submaps/gateway/hiddeneclipse.dmm
Normal file
276
modular_chomp/code/game/mecha/mecha_construction_paths.dm
Normal file
@@ -0,0 +1,276 @@
|
||||
//Hades Construction//
|
||||
/datum/construction/mecha/hades_chassis
|
||||
result = "/obj/mecha/combat/hades"
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/hades_torso),//1
|
||||
list("key"=/obj/item/mecha_parts/part/hades_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/hades_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/hades_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/hades_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/hades_head)
|
||||
)
|
||||
|
||||
/datum/construction/mecha/hades_chassis/custom_action(step, obj/item/I, mob/user)
|
||||
user.visible_message("[user] has connected [I] to [holder].", "You connect [I] to [holder]")
|
||||
holder.add_overlay(I.icon_state+"+o")
|
||||
qdel(I)
|
||||
return 1
|
||||
|
||||
/datum/construction/mecha/hades_chassis/action(obj/item/I,mob/user as mob)
|
||||
return check_all_steps(I,user)
|
||||
|
||||
/datum/construction/mecha/hades_chassis/spawn_result()
|
||||
var/obj/item/mecha_parts/chassis/const_holder = holder
|
||||
const_holder.construct = new /datum/construction/reversible/mecha/phazon(const_holder)
|
||||
const_holder.icon = 'icons/mecha/mech_construction.dmi'
|
||||
const_holder.icon_state = "phazon0"
|
||||
const_holder.density = TRUE
|
||||
spawn()
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/datum/construction/reversible/mecha/hades
|
||||
result = "/obj/mecha/combat/phazon"
|
||||
steps = list(
|
||||
//1
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="External armor is wrenched."),
|
||||
//2
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/stack/material/morphium,
|
||||
"backkey"=IS_WELDER,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
list("key"=IS_WELDER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="Internal armor is wrenched"),
|
||||
//5
|
||||
list("key"=IS_WRENCH,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Internal armor is installed"),
|
||||
//6
|
||||
list("key"=/obj/item/stack/material/void_opal,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Translocator is secured"), //Chompedit, change hand tele to translocator
|
||||
//7
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Translocator is installed"), //Chompedit, change hand tele to translocator
|
||||
//8
|
||||
list("key"=/obj/item/device/perfect_tele, //Chompedit, change hand tele to translocator
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="SMES coil is secured"),
|
||||
//9
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="SMES coil is installed"),
|
||||
//10
|
||||
list("key"=/obj/item/slime_extract/dark,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Targeting module is secured"),
|
||||
//11
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Targeting module is installed"),
|
||||
//12
|
||||
list("key"=/obj/item/weapon/circuitboard/mecha/hades/targeting,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Peripherals control module is secured"),
|
||||
//13
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Peripherals control module is installed"),
|
||||
//14
|
||||
list("key"=/obj/item/weapon/circuitboard/mecha/hades/peripherals,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="Central control module is secured"),
|
||||
//15
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_CROWBAR,
|
||||
"desc"="Central control module is installed"),
|
||||
//16
|
||||
list("key"=/obj/item/weapon/circuitboard/mecha/hades/main,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is adjusted"),
|
||||
//17
|
||||
list("key"=IS_WIRECUTTER,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The wiring is added"),
|
||||
//18
|
||||
list("key"=/obj/item/stack/cable_coil,
|
||||
"backkey"=IS_SCREWDRIVER,
|
||||
"desc"="The hydraulic systems are active."),
|
||||
//19
|
||||
list("key"=IS_SCREWDRIVER,
|
||||
"backkey"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are connected."),
|
||||
//20
|
||||
list("key"=IS_WRENCH,
|
||||
"desc"="The hydraulic systems are disconnected.")
|
||||
)
|
||||
|
||||
/datum/construction/reversible/mecha/hades/action(obj/item/I,mob/user as mob)
|
||||
return check_step(I,user)
|
||||
|
||||
/datum/construction/reversible/mecha/hades/custom_action(index, diff, obj/item/I, mob/user)
|
||||
if(!..())
|
||||
return 0
|
||||
|
||||
switch(index)
|
||||
if(20)
|
||||
user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.")
|
||||
holder.icon_state = "phazon1"
|
||||
if(19)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.")
|
||||
holder.icon_state = "phazon2"
|
||||
else
|
||||
user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.")
|
||||
holder.icon_state = "phazon0"
|
||||
if(18)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].")
|
||||
holder.icon_state = "phazon3"
|
||||
else
|
||||
user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.")
|
||||
holder.icon_state = "phazon1"
|
||||
if(17)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].")
|
||||
holder.icon_state = "phazon4"
|
||||
else
|
||||
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
|
||||
new /obj/item/stack/cable_coil(get_turf(holder), 4)
|
||||
holder.icon_state = "phazon2"
|
||||
if(16)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].")
|
||||
qdel(I)
|
||||
holder.icon_state = "phazon5"
|
||||
else
|
||||
user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].")
|
||||
holder.icon_state = "phazon3"
|
||||
if(15)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the mainboard.", "You secure the mainboard.")
|
||||
holder.icon_state = "phazon6"
|
||||
else
|
||||
user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].")
|
||||
new /obj/item/weapon/circuitboard/mecha/hades/main(get_turf(holder))
|
||||
holder.icon_state = "phazon4"
|
||||
if(14)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs the peripherals control module into [holder].", "You install the peripherals control module into [holder].")
|
||||
qdel(I)
|
||||
holder.icon_state = "phazon7"
|
||||
else
|
||||
user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.")
|
||||
holder.icon_state = "phazon5"
|
||||
if(13)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.")
|
||||
holder.icon_state = "phazon8"
|
||||
else
|
||||
user.visible_message("[user] removes the peripherals control module from [holder].", "You remove the peripherals control module from [holder].")
|
||||
new /obj/item/weapon/circuitboard/mecha/hades/peripherals(get_turf(holder))
|
||||
holder.icon_state = "phazon6"
|
||||
if(12)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs the weapon control module into [holder].", "You install the weapon control module into [holder].")
|
||||
qdel(I)
|
||||
holder.icon_state = "phazon9"
|
||||
else
|
||||
user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.")
|
||||
holder.icon_state = "phazon7"
|
||||
if(11)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.")
|
||||
holder.icon_state = "phazon10"
|
||||
else
|
||||
user.visible_message("[user] removes the weapon control module from [holder].", "You remove the weapon control module from [holder].")
|
||||
new /obj/item/weapon/circuitboard/mecha/hades/targeting(get_turf(holder))
|
||||
holder.icon_state = "phazon8"
|
||||
if(10)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs the SMES coil to [holder].", "You install the SMES coil to [holder].")
|
||||
qdel(I)
|
||||
holder.icon_state = "phazon11"
|
||||
else
|
||||
user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.")
|
||||
holder.icon_state = "phazon9"
|
||||
if(9)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the SMES coil.", "You secure the SMES coil.")
|
||||
holder.icon_state = "phazon12"
|
||||
else
|
||||
user.visible_message("[user] removes the SMES coil from [holder].", "You remove the SMES coil from [holder].")
|
||||
new /obj/item/slime_extract/dark(get_turf(holder))
|
||||
holder.icon_state = "phazon10"
|
||||
if(8)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs the hand teleporter to [holder].", "You install the hand teleporter to [holder].")
|
||||
qdel(I)
|
||||
holder.icon_state = "phazon13"
|
||||
else
|
||||
user.visible_message("[user] unfastens the SMES coil.", "You unfasten the SMES coil.")
|
||||
holder.icon_state = "phazon11"
|
||||
if(7)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the hand teleporter.", "You secure the hand teleporter.")
|
||||
holder.icon_state = "phazon14"
|
||||
else
|
||||
user.visible_message("[user] removes the hand teleporter from [holder].", "You remove the hand teleporter from [holder].")
|
||||
new /obj/item/weapon/hand_tele(get_turf(holder))
|
||||
holder.icon_state = "phazon12"
|
||||
if(6)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs the internal armor layer to [holder].", "You install the internal armor layer to [holder].")
|
||||
holder.icon_state = "phazon19"
|
||||
else
|
||||
user.visible_message("[user] unfastens the hand teleporter.", "You unfasten the hand teleporter.")
|
||||
holder.icon_state = "phazon13"
|
||||
if(5)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.")
|
||||
holder.icon_state = "phazon20"
|
||||
else
|
||||
user.visible_message("[user] pries the internal armor layer from [holder].", "You pry the internal armor layer from [holder].")
|
||||
new /obj/item/stack/material/void_opal(get_turf(holder), 5)
|
||||
holder.icon_state = "phazon14"
|
||||
if(4)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] welds the internal armor layer to [holder].", "You weld the internal armor layer to [holder].")
|
||||
holder.icon_state = "phazon21"
|
||||
else
|
||||
user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.")
|
||||
holder.icon_state = "phazon19"
|
||||
if(3)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs the external reinforced armor layer to [holder].", "You install the external reinforced armor layer to [holder].")
|
||||
holder.icon_state = "phazon22"
|
||||
else
|
||||
user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].")
|
||||
holder.icon_state = "phazon20"
|
||||
if(2)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures external armor layer.", "You secure external reinforced armor layer.")
|
||||
holder.icon_state = "phazon23"
|
||||
else
|
||||
user.visible_message("[user] pries the external armor layer from [holder].", "You pry external armor layer from [holder].")
|
||||
new /obj/item/stack/material/morphium(get_turf(holder), 5)
|
||||
holder.icon_state = "phazon21"
|
||||
if(1)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] welds the external armor layer to [holder].", "You weld the external armor layer to [holder].")
|
||||
else
|
||||
user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.")
|
||||
holder.icon_state = "phazon22"
|
||||
return 1
|
||||
|
||||
/datum/construction/reversible/mecha/hades/spawn_result()
|
||||
..()
|
||||
feedback_inc("mecha_hades_created",1)
|
||||
return
|
||||
46
modular_chomp/code/game/mecha/mecha_parts.dm
Normal file
@@ -0,0 +1,46 @@
|
||||
/obj/item/mecha_parts/chassis/hades
|
||||
name = "Hades Chassis"
|
||||
origin_tech = list(TECH_MATERIAL = 7)
|
||||
|
||||
/obj/item/mecha_parts/chassis/hades/New()
|
||||
..()
|
||||
construct = new /datum/construction/mecha/hades_chassis(src)
|
||||
|
||||
/obj/item/mecha_parts/part/hades_torso
|
||||
name="Hades Torso"
|
||||
icon_state = "janus_harness"
|
||||
origin_tech = list(TECH_DATA = 5, TECH_MATERIAL = 7, TECH_BLUESPACE = 2, TECH_POWER = 6, TECH_PRECURSOR = 2)
|
||||
|
||||
/obj/item/mecha_parts/part/hades_head
|
||||
name="Hades Head"
|
||||
icon_state = "janus_head"
|
||||
origin_tech = list(TECH_DATA = 4, TECH_MATERIAL = 5, TECH_MAGNET = 6, TECH_PRECURSOR = 1)
|
||||
|
||||
/obj/item/mecha_parts/part/hades_left_arm
|
||||
name="Hades Left Arm"
|
||||
icon_state = "janus_l_arm"
|
||||
origin_tech = list(TECH_MATERIAL = 5, TECH_BLUESPACE = 2, TECH_MAGNET = 2)
|
||||
|
||||
/obj/item/mecha_parts/part/hades_right_arm
|
||||
name="Hades Right Arm"
|
||||
icon_state = "janus_r_arm"
|
||||
origin_tech = list(TECH_MATERIAL = 5, TECH_BLUESPACE = 2, TECH_MAGNET = 2)
|
||||
|
||||
/obj/item/mecha_parts/part/hades_left_leg
|
||||
name="Hades Left Leg"
|
||||
icon_state = "janus_l_leg"
|
||||
origin_tech = list(TECH_MATERIAL = 5, TECH_BLUESPACE = 3, TECH_MAGNET = 3, TECH_ARCANE = 1)
|
||||
|
||||
/obj/item/mecha_parts/part/hades_right_leg
|
||||
name="Prototype Durand Right Leg"
|
||||
icon_state = "janus_r_leg"
|
||||
origin_tech = list(TECH_MATERIAL = 5, TECH_BLUESPACE = 3, TECH_MAGNET = 3, TECH_ARCANE = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/hades/targeting
|
||||
name = "stange targeting circuit"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/hades/peripherals
|
||||
name = "stange peripheral circuit"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/hades/main
|
||||
name = "stange control circuit"
|
||||
30
modular_chomp/code/game/mecha/secert/hades.dm
Normal file
@@ -0,0 +1,30 @@
|
||||
/obj/mecha/combat/hades
|
||||
name = "The Hades Prototype"
|
||||
desc = "An exosuit which you aren't sure you understand despite building"
|
||||
icon = 'modular_chomp/icons/mecha/mechas.dmi'
|
||||
icon_state = "hades" //to change
|
||||
initial_icon = "hades_broken"
|
||||
step_in = 1
|
||||
dir_in = 1 //Facing North.
|
||||
step_energy_drain = 15
|
||||
health = 400
|
||||
maxhealth = 400
|
||||
deflect_chance = 30
|
||||
max_temperature = 20000 //A ship meant to travel the void
|
||||
infra_luminosity = 3
|
||||
wreckage = /obj/effect/decal/mecha_wreckage/hades
|
||||
internal_damage_threshold = 40
|
||||
force = 10
|
||||
max_hull_equip = 4
|
||||
max_weapon_equip = 1
|
||||
max_utility_equip = 4
|
||||
max_universal_equip = 5
|
||||
max_special_equip = 4
|
||||
cloak_possible = TRUE
|
||||
//to add, the breaching abilitiy
|
||||
|
||||
|
||||
/obj/effect/decal/mecha_wreckage/hades
|
||||
name = "Hades Wreckage"
|
||||
icon = 'modular_chomp/icons/mecha/mechas.dmi'
|
||||
icon_state = "hades_broken" //to change
|
||||
@@ -0,0 +1,38 @@
|
||||
/obj/item/weapon/rig/ch/crystal
|
||||
name = "crystal control module"
|
||||
desc = "An oddly lightweight rigsuit from a strange crystaline creature."
|
||||
suit_type = "crystal hardsuit"
|
||||
icon = 'modular_chomp/icons/obj/rig_modules_ch.dmi'
|
||||
icon_state = "aegis_rig"
|
||||
armor = list(melee = 50, bullet = 50, laser = 30, energy = 30, bomb = 0, bio = 100, rad = 100)
|
||||
|
||||
emp_protection = 50
|
||||
rigsuit_max_pressure = 12 * ONE_ATMOSPHERE
|
||||
rigsuit_min_pressure = 0
|
||||
|
||||
chest_type = /obj/item/clothing/suit/space/rig/ch/crystal
|
||||
helm_type = /obj/item/clothing/head/helmet/space/rig/ch/crystal
|
||||
glove_type = /obj/item/clothing/gloves/gauntlets/rig/ch/crystal
|
||||
boot_type = /obj/item/clothing/shoes/magboots/rig/ch/crystal
|
||||
|
||||
/obj/item/clothing/suit/space/rig/ch/crystal //to do, try and make this be able to heal you
|
||||
name = "chassis"
|
||||
icon = 'icons/obj/clothing/spacesuits_ch.dmi'
|
||||
desc = "A heft chestplate, humming with energy."
|
||||
|
||||
/obj/item/clothing/head/helmet/space/rig/ch/crystal
|
||||
name = "helmet"
|
||||
icon = 'icons/obj/clothing/hats_ch.dmi'
|
||||
desc = "A protective dome for your head."
|
||||
|
||||
/obj/item/clothing/gloves/gauntlets/rig/ch/crystal
|
||||
name = "hardlight gloves"
|
||||
icon = 'icons/obj/clothing/gloves_ch.dmi'
|
||||
desc = "Gloves created with alien tech"
|
||||
siemens_coefficient = 0
|
||||
|
||||
/obj/item/clothing/shoes/magboots/rig/ch/crystal
|
||||
name = "hardlight boots"
|
||||
icon = 'icons/obj/clothing/shoes_ch.dmi'
|
||||
desc = "A pair of grabby boots"
|
||||
slowdown = -1
|
||||
@@ -6,4 +6,13 @@
|
||||
backstab_bonus = 30 // 60
|
||||
reach = 2
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
|
||||
/obj/item/weapon/pickaxe/anamolous
|
||||
name = "strange pickaxe"
|
||||
icon_state = "ppickaxe"
|
||||
item_state = "ppickaxe"
|
||||
digspeed = 2
|
||||
throwforce = 25.0
|
||||
origin_tech = list(TECH_MATERIAL = 3)
|
||||
desc = "This oddly lightweight pickaxe seems rather sturdy."
|
||||
@@ -0,0 +1,39 @@
|
||||
/mob/living/simple_mob/animal/crystalbeast
|
||||
faction = "livingcrystal"
|
||||
|
||||
//simple gimmick boss
|
||||
/mob/living/simple_mob/animal/crystalbeast/snail
|
||||
name = "Crystal Goliath Snail"
|
||||
desc = "A massive hulking beast made of strange crystal. Normal attacks seem like they will be ineffective. Explosions or piercing might do the trick"
|
||||
health = 150
|
||||
maxHealth = 150
|
||||
|
||||
icon = 'modular_chomp/icons/mob/eclipse.dmi'
|
||||
icon_state = "crystal"
|
||||
icon_dead = "crystal_dead"
|
||||
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 60, bomb = 0, bio = 100, rad = 100)
|
||||
armor_soak = list(melee = 10, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
min_oxy = 0
|
||||
max_oxy = 0
|
||||
min_tox = 0
|
||||
max_tox = 0
|
||||
min_co2 = 0
|
||||
max_co2 = 0
|
||||
min_n2 = 0
|
||||
max_n2 = 0
|
||||
minbodytemp = 0
|
||||
heat_damage_per_tick = 0
|
||||
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 65
|
||||
size_multiplier = 4
|
||||
|
||||
melee_attack_delay = 8
|
||||
|
||||
movement_cooldown = 13
|
||||
loot_list = list(/obj/item/weapon/rig/ch/crystal = 100,
|
||||
)
|
||||
|
||||
//Note to self, make the angel here when energy is gained
|
||||
@@ -0,0 +1,23 @@
|
||||
/mob/living/simple_mob/animal/space/carp/station
|
||||
name = "distant space carp"
|
||||
health = 50
|
||||
maxHealth = 50
|
||||
|
||||
faction = "station"
|
||||
|
||||
var/body_color
|
||||
|
||||
/mob/living/simple_mob/animal/space/carp/station/Initialize()
|
||||
.=..()
|
||||
|
||||
body_color = pick(list("green","red","orange","yellow","blue"))
|
||||
if(body_color == "green")
|
||||
color = "#660066"
|
||||
if(body_color == "red")
|
||||
color = "#FF0000"
|
||||
if(body_color == "orange")
|
||||
color = "#FF6600"
|
||||
if(body_color == "yellow")
|
||||
color = "#00FF00"
|
||||
if(body_color == "blue")
|
||||
color = "#0099CC"
|
||||
@@ -58,6 +58,9 @@
|
||||
reload_max = 7 // Not the best default, but it fits the pistol
|
||||
ai_holder_type = /datum/ai_holder/simple_mob/merc/eclipse/ranged
|
||||
|
||||
loot_list = list(/obj/item/slime_extract/sepia = 0.1,
|
||||
)
|
||||
|
||||
special_attack_cooldown = 15 SECONDS
|
||||
special_attack_min_range = 2
|
||||
special_attack_max_range = 7
|
||||
@@ -847,6 +850,8 @@
|
||||
submunition_spread_min = 500
|
||||
submunitions = list(/obj/item/projectile/energy/frostsphere = 4)
|
||||
|
||||
hud_state = "plasma_sphere"
|
||||
|
||||
/obj/item/projectile/bullet/frostshotgun/on_range()
|
||||
qdel(src)
|
||||
|
||||
@@ -858,7 +863,8 @@
|
||||
modifier_type_to_apply = /datum/modifier/cryogelled
|
||||
modifier_duration = 0.25 MINUTE
|
||||
speed = 2.5
|
||||
range = 8
|
||||
range = 12
|
||||
hud_state = "water"
|
||||
|
||||
/datum/ai_holder/simple_mob/merc/eclipse/ranged/cyro
|
||||
can_flee = TRUE // If they're even allowed to flee.
|
||||
|
||||
@@ -0,0 +1,365 @@
|
||||
/mob/living/simple_mob/humanoid/eclipse/head
|
||||
name = "Eclipse Head"
|
||||
desc = "You shouldn't be seeing this. This is going to be rough"
|
||||
health = 315
|
||||
maxHealth = 315 //A 20 damae shot will need to land 35 times
|
||||
projectile_dispersion = 8
|
||||
projectile_accuracy = 0
|
||||
ranged_cooldown = 5
|
||||
|
||||
damage_fatigue_mult = 0
|
||||
|
||||
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)
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/security
|
||||
name = "Eclipse Head Of Security"
|
||||
icon_state = "fleetsec"
|
||||
projectiletype = /obj/item/projectile/energy/flamecrystal
|
||||
special_attack_cooldown = 10 SECONDS
|
||||
special_attack_min_range = 1
|
||||
special_attack_max_range = 8
|
||||
loot_list = list(/obj/item/weapon/gun/energy/flamegun = 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(prob(50))
|
||||
rapidfire(A)
|
||||
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
|
||||
|
||||
/obj/item/projectile/energy/flamecrystal
|
||||
name = "Flame Crystal"
|
||||
icon = 'modular_chomp/icons/mob/eclipse.dmi' //commiting sin
|
||||
icon_state = "firecrystal"
|
||||
damage = 15
|
||||
armor_penetration = 40 //Large pointy crystal
|
||||
damage_type = BRUTE
|
||||
check_armour = "bullet"
|
||||
modifier_type_to_apply = /datum/modifier/fire/weak
|
||||
modifier_duration = 0.05 MINUTE
|
||||
range = 12
|
||||
hud_state = "laser_sniper"
|
||||
|
||||
/obj/item/projectile/bullet/flamegun
|
||||
use_submunitions = 1
|
||||
only_submunitions = 1
|
||||
range = 0
|
||||
embed_chance = 0
|
||||
submunition_spread_max = 800
|
||||
submunition_spread_min = 200
|
||||
submunitions = list(/obj/item/projectile/energy/flamecrystal = 3)
|
||||
hud_state = "laser_heat"
|
||||
|
||||
/obj/item/projectile/bullet/flamegun/on_range()
|
||||
qdel(src)
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/scientist
|
||||
name = "Eclipse Lead Researcher"
|
||||
icon_state = "fleetsci"
|
||||
health = 30
|
||||
special_attack_cooldown = 5 SECONDS
|
||||
special_attack_min_range = 1
|
||||
special_attack_max_range = 10
|
||||
projectiletype = /obj/item/projectile/bullet/pistol/ap
|
||||
|
||||
loot_list = list(/obj/item/weapon/circuitboard/mecha/hades/targeting = 100,
|
||||
/obj/item/weapon/circuitboard/mecha/hades/peripherals = 100,
|
||||
/obj/item/weapon/circuitboard/mecha/hades/main = 100,
|
||||
)
|
||||
|
||||
var/obj/item/shield_projector/shield1 = null
|
||||
var/obj/item/shield_projector/shield2 = null
|
||||
var/obj/item/shield_projector/shield3 = null
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/scientist/Initialize(mapload)
|
||||
shield1 = new /obj/item/shield_projector/rectangle/automatic/eclipse(src)
|
||||
shield2 = new /obj/item/shield_projector/rectangle/automatic/eclipse/medium(src)
|
||||
shield3 = new /obj/item/shield_projector/rectangle/automatic/eclipse/big(src)
|
||||
return ..()
|
||||
|
||||
/obj/item/shield_projector/rectangle/automatic/eclipse
|
||||
name = "cult shield stone"
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "implant_melted"
|
||||
shield_health = 100
|
||||
max_shield_health = 100
|
||||
shield_regen_delay = 120 SECONDS
|
||||
shield_regen_amount = 100
|
||||
size_x = 1
|
||||
size_y = 1
|
||||
color = "#FF6600"
|
||||
high_color = "#0099CC"
|
||||
low_color = "#660066"
|
||||
|
||||
/obj/item/shield_projector/rectangle/automatic/eclipse/medium
|
||||
size_x = 2
|
||||
size_y = 2
|
||||
|
||||
/obj/item/shield_projector/rectangle/automatic/eclipse/big
|
||||
size_x = 3
|
||||
size_y = 3
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/scientist/updatehealth()
|
||||
. = ..()
|
||||
|
||||
if(vore_fullness == 1)
|
||||
special_attack_cooldown = 10 SECONDS
|
||||
else if(vore_fullness > 1)
|
||||
special_attack_cooldown = 20 SECONDS
|
||||
else
|
||||
special_attack_cooldown = 5 SECONDS
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/scientist/do_special_attack(atom/A)
|
||||
visible_message(span("warning", "\The [src] begins to fabricate drones!"))
|
||||
sleep(3)
|
||||
if(vore_fullness == 1)
|
||||
new /mob/living/simple_mob/mechanical/mining_drone/scavenger/eclipse (src.loc)
|
||||
else if(vore_fullness > 1)
|
||||
new /mob/living/simple_mob/mechanical/mining_drone/scavenger/eclipse (src.loc)
|
||||
new /mob/living/simple_mob/mechanical/mining_drone/scavenger/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)
|
||||
else
|
||||
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/mechanical/hivebot/swarm/eclipse
|
||||
faction = "eclipse"
|
||||
|
||||
|
||||
/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/weapon/cell/device/weapon/recharge/alien = 60,
|
||||
/obj/random/tool/alien = 60,
|
||||
/obj/item/weapon/cell/device/weapon/recharge/alien = 60,
|
||||
/obj/item/weapon/bluespace_harpoon = 60,
|
||||
/obj/item/weapon/flame/lighter/supermatter/syndismzippo = 60,
|
||||
/obj/item/weapon/gun/energy/medigun = 60
|
||||
)
|
||||
|
||||
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/weapon/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
|
||||
@@ -33,4 +33,124 @@
|
||||
B.emote_lists[DM_DIGEST] = list(
|
||||
"Every clench of the predator's stomach grinds powerful digestive fluids into your body, forcibly churning away your strength!",)
|
||||
|
||||
//This is placeholder code. Going to add special vorny for each of them slowly but surely.
|
||||
//This is placeholder code. Going to add special vorny for each of them slowly but surely.
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/scientist
|
||||
vore_active = 1
|
||||
vore_capacity = 6
|
||||
vore_max_size = RESIZE_HUGE
|
||||
vore_min_size = RESIZE_SMALL
|
||||
vore_pounce_chance = 0 // Beat them into crit before eating.
|
||||
|
||||
can_be_drop_prey = FALSE //CHOMP Add
|
||||
digestable = 0
|
||||
devourable = 0
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/scientist/Login()
|
||||
. = ..()
|
||||
if(!riding_datum)
|
||||
riding_datum = new /datum/riding/simple_mob(src)
|
||||
verbs |= /mob/living/simple_mob/proc/animal_mount
|
||||
verbs |= /mob/living/proc/toggle_rider_reins
|
||||
movement_cooldown = 1
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/scientist/MouseDrop_T(mob/living/M, mob/living/user)
|
||||
return
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/scientist/init_vore()
|
||||
if(!voremob_loaded)
|
||||
return
|
||||
.=..()
|
||||
var/obj/belly/B = vore_selected
|
||||
B.name = "stomach"
|
||||
B.desc = "The fearsome preadtor gets a firm grip upon you, before dunking you into it's maw, then with a powerful swift gulp you're sent tumbling into it's stomach.."
|
||||
|
||||
B.emote_lists[DM_HOLD] = list(
|
||||
"Your surroundings are momentarily filled with tour predator's pleased rumbling, its hands stroking over the taut swell you make in its belly.",
|
||||
"Your surrondings glow with a neon red, dashes and spirals of pitch black flowing through the red gummy flesh as if it were a strange sky.",
|
||||
"Your satsified predator sways their bloated gullet happily, their warm rumbling vibrarting the stomach, and by extension you.",)
|
||||
|
||||
B.emote_lists[DM_DIGEST] = list(
|
||||
"Every clench of the predator's stomach grinds powerful digestive fluids into your body, forcibly churning away your strength!",
|
||||
"The caustic red acid splashes, and washes over your frame, your sense of smell being overwhelmed by acid and sulfur as you're turned to nutrion.",
|
||||
"Every swift swap of the predator's hips sends you slamming against the glowing red sides, your vision blurring further as you contunie to weaken." ,)
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/security
|
||||
vore_active = 1
|
||||
vore_capacity = 6
|
||||
vore_max_size = RESIZE_HUGE
|
||||
vore_min_size = RESIZE_SMALL
|
||||
vore_pounce_chance = 0 // Beat them into crit before eating.
|
||||
|
||||
can_be_drop_prey = FALSE //CHOMP Add
|
||||
digestable = 0
|
||||
devourable = 0
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/security/Login()
|
||||
. = ..()
|
||||
if(!riding_datum)
|
||||
riding_datum = new /datum/riding/simple_mob(src)
|
||||
verbs |= /mob/living/simple_mob/proc/animal_mount
|
||||
verbs |= /mob/living/proc/toggle_rider_reins
|
||||
movement_cooldown = 1
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/security/MouseDrop_T(mob/living/M, mob/living/user)
|
||||
return
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/security/init_vore()
|
||||
if(!voremob_loaded)
|
||||
return
|
||||
.=..()
|
||||
var/obj/belly/B = vore_selected
|
||||
B.name = "stomach"
|
||||
B.desc = "The fearsome preadtor gets a firm grip upon you, before dunking you into it's maw, then with a powerful swift gulp you're sent tumbling into it's stomach.."
|
||||
|
||||
B.emote_lists[DM_HOLD] = list(
|
||||
"Your surroundings are momentarily filled with tour predator's pleased rumbling, its hands stroking over the taut swell you make in its belly.",
|
||||
"Your surrondings glow with a neon red, dashes and spirals of pitch black flowing through the red gummy flesh as if it were a strange sky.",
|
||||
"Your satsified predator sways their bloated gullet happily, their warm rumbling vibrarting the stomach, and by extension you.",)
|
||||
|
||||
B.emote_lists[DM_DIGEST] = list(
|
||||
"Every clench of the predator's stomach grinds powerful digestive fluids into your body, forcibly churning away your strength!",
|
||||
"The caustic red acid splashes, and washes over your frame, your sense of smell being overwhelmed by acid and sulfur as you're turned to nutrion.",
|
||||
"Every swift swap of the predator's hips sends you slamming against the glowing red sides, your vision blurring further as you contunie to weaken." ,)
|
||||
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain
|
||||
vore_active = 1
|
||||
vore_capacity = 6
|
||||
vore_max_size = RESIZE_HUGE
|
||||
vore_min_size = RESIZE_SMALL
|
||||
vore_pounce_chance = 0 // Beat them into crit before eating.
|
||||
|
||||
can_be_drop_prey = FALSE //CHOMP Add
|
||||
digestable = 0
|
||||
devourable = 0
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain/Login()
|
||||
. = ..()
|
||||
if(!riding_datum)
|
||||
riding_datum = new /datum/riding/simple_mob(src)
|
||||
verbs |= /mob/living/simple_mob/proc/animal_mount
|
||||
verbs |= /mob/living/proc/toggle_rider_reins
|
||||
movement_cooldown = 1
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain/MouseDrop_T(mob/living/M, mob/living/user)
|
||||
return
|
||||
|
||||
/mob/living/simple_mob/humanoid/eclipse/head/captain/init_vore()
|
||||
if(!voremob_loaded)
|
||||
return
|
||||
.=..()
|
||||
var/obj/belly/B = vore_selected
|
||||
B.name = "stomach"
|
||||
B.desc = "The fearsome preadtor gets a firm grip upon you, before dunking you into it's maw, then with a powerful swift gulp you're sent tumbling into it's stomach.."
|
||||
|
||||
B.emote_lists[DM_HOLD] = list(
|
||||
"Your surroundings are momentarily filled with tour predator's pleased rumbling, its hands stroking over the taut swell you make in its belly.",
|
||||
"Your surrondings glow with a neon red, dashes and spirals of pitch black flowing through the red gummy flesh as if it were a strange sky.",
|
||||
"Your satsified predator sways their bloated gullet happily, their warm rumbling vibrarting the stomach, and by extension you.",)
|
||||
|
||||
B.emote_lists[DM_DIGEST] = list(
|
||||
"Every clench of the predator's stomach grinds powerful digestive fluids into your body, forcibly churning away your strength!",
|
||||
"The caustic red acid splashes, and washes over your frame, your sense of smell being overwhelmed by acid and sulfur as you're turned to nutrion.",
|
||||
"Every swift swap of the predator's hips sends you slamming against the glowing red sides, your vision blurring further as you contunie to weaken." ,)
|
||||
@@ -17,6 +17,12 @@
|
||||
/mob/living/simple_mob/slime/xenobio/ruby
|
||||
)
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/sepia/proc/heal_aura()
|
||||
for(var/mob/living/L in view(src, 2))
|
||||
if(L.stat == DEAD || !IIsAlly(L))
|
||||
continue
|
||||
L.add_modifier(/datum/modifier/nervoushigh, null, src)
|
||||
|
||||
/obj/item/slime_extract/sepia
|
||||
name = "sepia slime extract"
|
||||
icon_state = "sepia slime extract"
|
||||
@@ -34,8 +40,8 @@
|
||||
/decl/chemical_reaction/instant/slime/secertslime
|
||||
name = "Secert Slime "
|
||||
id = "sepia_swapm"
|
||||
result = "change_drug_male"
|
||||
required_reagents = list("water" = 1, "blood" = 1, "phoron" = 3)
|
||||
result = "change_secert"
|
||||
required_reagents = list("blood" = 5, "water" = 5)
|
||||
result_amount = 1
|
||||
required = /obj/item/slime_extract/sepia
|
||||
|
||||
@@ -44,22 +50,6 @@
|
||||
new /mob/living/simple_mob/slime/xenobio/redspace(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/decl/chemical_reaction/instant/slime/genderswapf
|
||||
name = "Slime Change F"
|
||||
id = "sepia_swapf"
|
||||
result = "change_drug_female"
|
||||
required_reagents = list("water" = 5)
|
||||
result_amount = 30
|
||||
required = /obj/item/slime_extract/sepia
|
||||
|
||||
/decl/chemical_reaction/instant/slime/genderswapm
|
||||
name = "Slime Change M"
|
||||
id = "sepia_swapf"
|
||||
result = "change_drug_male"
|
||||
required_reagents = list("blood" = 5)
|
||||
result_amount = 30
|
||||
required = /obj/item/slime_extract/sepia
|
||||
|
||||
/decl/chemical_reaction/instant/slime/sepia_new_slime
|
||||
name = "Slime Spawn"
|
||||
id = "m_sepia_spawn"
|
||||
@@ -87,7 +77,7 @@
|
||||
slime_mutation = list(
|
||||
/mob/living/simple_mob/slime/xenobio/dark,
|
||||
/mob/living/simple_mob/slime/xenobio/redspace,
|
||||
/mob/living/simple_mob/slime/xenobio/bluespace,
|
||||
/mob/living/simple_mob/slime/xenobio/dream,
|
||||
/mob/living/simple_mob/slime/xenobio/plague
|
||||
)
|
||||
|
||||
@@ -156,7 +146,7 @@
|
||||
slime_mutation = list(
|
||||
/mob/living/simple_mob/slime/xenobio/dark,
|
||||
/mob/living/simple_mob/slime/xenobio/redspace,
|
||||
/mob/living/simple_mob/slime/xenobio/bluespace,
|
||||
/mob/living/simple_mob/slime/xenobio/dream,
|
||||
/mob/living/simple_mob/slime/xenobio/plague
|
||||
)
|
||||
|
||||
@@ -187,9 +177,67 @@
|
||||
L.add_modifier(/datum/modifier/feysight, 10 MINUTES, src)
|
||||
..()
|
||||
|
||||
/decl/chemical_reaction/instant/slime/dark_deathblood
|
||||
name = "Slime Secert Painite"
|
||||
id = "m_slime_painite"
|
||||
required_reagents = list("deathblood" = 5)
|
||||
result_amount = 1
|
||||
required = /obj/item/slime_extract/dark
|
||||
|
||||
/decl/chemical_reaction/instant/slime/dark_deathblood/on_reaction(var/datum/reagents/holder)
|
||||
new /obj/item/stack/material/painite(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/decl/chemical_reaction/instant/slime/dark_liquidlife
|
||||
name = "Slime Secert Overcharge"
|
||||
id = "m_slime_guardian"
|
||||
required_reagents = list("liquidlife" = 5)
|
||||
result_amount = 1
|
||||
required = /obj/item/slime_extract/dark
|
||||
|
||||
/decl/chemical_reaction/instant/slime/dark_liquidfire/on_reaction(var/datum/reagents/holder)
|
||||
for(var/mob/living/L in range(49, holder.my_atom))
|
||||
L.add_modifier(/datum/modifier/sprinting, 5 MINUTES, src)
|
||||
..()
|
||||
|
||||
|
||||
/decl/chemical_reaction/instant/slime/dark_carpotoxin
|
||||
name = "Slime Dark Secert "
|
||||
id = "m_fish_slime"
|
||||
required_reagents = list("carpotoxin" = 5)
|
||||
result_amount = 1
|
||||
required = /obj/item/slime_extract/dark
|
||||
|
||||
/decl/chemical_reaction/instant/slime/dark_carpotoxin/on_reaction(var/datum/reagents/holder)
|
||||
holder.my_atom.visible_message("<span class='warning'>Infused with slime jelly, the core begins to quiver and grow, and soon a new baby slime emerges from it!</span>")
|
||||
new /mob/living/simple_mob/slime/xenobio/oceanic(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/decl/chemical_reaction/instant/slime/dark_spidertoxin
|
||||
name = "Slime Secert Dark Spooder"
|
||||
id = "m_slime_guardian"
|
||||
required_reagents = list("spidertoxin" = 5)
|
||||
result_amount = 1
|
||||
required = /obj/item/slime_extract/dark
|
||||
|
||||
/decl/chemical_reaction/instant/slime/dark_deathblood/on_reaction(var/datum/reagents/holder)
|
||||
new /obj/effect/spider/eggcluster/royal/space(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/decl/chemical_reaction/instant/slime/dark_blood
|
||||
name = "Slime Secert Void Opal"
|
||||
id = "m_slime_guardian"
|
||||
required_reagents = list("blood" = 5)
|
||||
result_amount = 1
|
||||
required = /obj/item/slime_extract/dark
|
||||
|
||||
/decl/chemical_reaction/instant/slime/dark_blood/on_reaction(var/datum/reagents/holder)
|
||||
new /obj/item/stack/material/void_opal(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/plague
|
||||
desc = "This slime is rather unknown and strange."
|
||||
color = "#A50021"
|
||||
color = "#336600"
|
||||
slime_color = "plague"
|
||||
coretype = /obj/item/slime_extract/plague
|
||||
|
||||
@@ -198,7 +246,7 @@
|
||||
slime_mutation = list(
|
||||
/mob/living/simple_mob/slime/xenobio/dark,
|
||||
/mob/living/simple_mob/slime/xenobio/redspace,
|
||||
/mob/living/simple_mob/slime/xenobio/bluespace,
|
||||
/mob/living/simple_mob/slime/xenobio/dream,
|
||||
/mob/living/simple_mob/slime/xenobio/plague
|
||||
)
|
||||
|
||||
@@ -234,4 +282,271 @@
|
||||
result = "slimejelly"
|
||||
required_reagents = list("water" = 5)
|
||||
result_amount = 30
|
||||
required = /obj/item/slime_extract/plague
|
||||
required = /obj/item/slime_extract/plague
|
||||
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/oceanic
|
||||
desc = "This slime is rather unknown and strange."
|
||||
color = "#336600"
|
||||
slime_color = "oceanic"
|
||||
coretype = /obj/item/slime_extract/oceanic
|
||||
|
||||
mutation_chance = 0
|
||||
|
||||
reagent_injected = "carpotoxin"
|
||||
|
||||
slime_mutation = list(
|
||||
/mob/living/simple_mob/slime/xenobio/sepia,
|
||||
/mob/living/simple_mob/slime/xenobio/sepia,
|
||||
/mob/living/simple_mob/slime/xenobio/sepia,
|
||||
/mob/living/simple_mob/slime/xenobio/oceanic
|
||||
)
|
||||
water_resist = 10 //I heard putting this higher makes them heal.
|
||||
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/oceanic/handle_special()
|
||||
if(stat != DEAD)
|
||||
ocean_aura()
|
||||
..()
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/oceanic/proc/ocean_aura()
|
||||
for(var/mob/living/L in view(src, 4))
|
||||
if(L.stat == DEAD || !IIsAlly(L))
|
||||
continue
|
||||
L.add_modifier(/datum/modifier/aura/slime_healingtide, null, src)
|
||||
|
||||
/datum/modifier/aura/slime_healingtide
|
||||
name = "Aura Healing Tide"
|
||||
desc = "You are filled with an overwhelming energy."
|
||||
|
||||
on_created_text = "<span class='critical'>Your body begins to focus on recovering!</span>"
|
||||
on_expired_text = "<span class='notice'>The healing subsides.</span>"
|
||||
stacks = MODIFIER_STACK_FORBID
|
||||
aura_max_distance = 4
|
||||
|
||||
metabolism_percent = 0.5
|
||||
incoming_healing_percent = 1.15 //The negative hurts less in this form
|
||||
|
||||
/obj/item/slime_extract/oceanic
|
||||
name = "oceanic slime extract"
|
||||
icon_state = "emerald slime extract"
|
||||
description_info = "Who knows what will happen."
|
||||
slime_type = /mob/living/simple_mob/slime/xenobio/oceanic
|
||||
|
||||
/decl/chemical_reaction/instant/slime/carpfren
|
||||
name = "Carp Friend"
|
||||
id = "m_carp_friends"
|
||||
required_reagents = list("blood" = 5)
|
||||
result_amount = 1
|
||||
required = /obj/item/slime_extract/oceanic
|
||||
|
||||
/decl/chemical_reaction/instant/slime/carpfren/on_reaction(var/datum/reagents/holder)
|
||||
new /mob/living/simple_mob/animal/space/carp/station(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/decl/chemical_reaction/instant/slime/oceancarp
|
||||
name = "Slime Carptoxi"
|
||||
id = "m_slime_carptox"
|
||||
required_reagents = list("slimejelly" = 5)
|
||||
result = "carpotoxin"
|
||||
result_amount = 30
|
||||
required = /obj/item/slime_extract/oceanic
|
||||
|
||||
/decl/chemical_reaction/instant/slime/waterdupe
|
||||
name = "Water Duplication"
|
||||
id = "m_slime_water"
|
||||
required_reagents = list("water" = 5)
|
||||
result = "water"
|
||||
result_amount = 30
|
||||
required = /obj/item/slime_extract/oceanic
|
||||
|
||||
/decl/chemical_reaction/instant/slime/oceanboon
|
||||
name = "Carp Boon"
|
||||
id = "m_carp_boon"
|
||||
required_reagents = list("phoron" = 5)
|
||||
result_amount = 1
|
||||
required = /obj/item/slime_extract/oceanic
|
||||
|
||||
/decl/chemical_reaction/instant/slime/oceanboon/on_reaction(var/datum/reagents/holder)
|
||||
for(var/mob/living/L in range(21, holder.my_atom))
|
||||
L.add_modifier(/datum/modifier/healingtide, 10 MINUTES, src)
|
||||
..()
|
||||
|
||||
/decl/chemical_reaction/instant/slime/warplague
|
||||
name = "Nuclear Slime Summon"
|
||||
id = "m_nuclear_slime"
|
||||
required_reagents = list("mindbreaker" = 5)
|
||||
result_amount = 1
|
||||
required = /obj/item/slime_extract/plague
|
||||
|
||||
/decl/chemical_reaction/instant/slime/warplague/on_reaction(var/datum/reagents/holder)
|
||||
holder.my_atom.visible_message("<span class='warning'>Infused with slime jelly, the core begins to quiver and grow, and soon a new baby slime emerges from it!</span>")
|
||||
new /mob/living/simple_mob/slime/xenobio/nuclear(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/nuclear
|
||||
desc = "This slime is rather unknown and strange."
|
||||
color = "#006600"
|
||||
slime_color = "nuclear"
|
||||
coretype = /obj/item/slime_extract/nuclear
|
||||
|
||||
slime_mutation = list(
|
||||
/mob/living/simple_mob/slime/xenobio/sepia,
|
||||
/mob/living/simple_mob/slime/xenobio/sepia,
|
||||
/mob/living/simple_mob/slime/xenobio/sepia,
|
||||
/mob/living/simple_mob/slime/xenobio/nuclear
|
||||
)
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/nuclear/handle_special()
|
||||
if(stat != DEAD)
|
||||
nuclear_aura()
|
||||
..()
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/nuclear/proc/nuclear_aura()
|
||||
for(var/mob/living/L in view(src, 4))
|
||||
if(L.stat == DEAD || !IIsAlly(L))
|
||||
continue
|
||||
L.add_modifier(/datum/modifier/aura/radiationhide, null, src)
|
||||
|
||||
/datum/modifier/aura/radiationhide
|
||||
name = "Radiation Hide"
|
||||
desc = "Your body defensivly warps."
|
||||
|
||||
on_created_text = "<span class='critical'>Your body strangly mutates!</span>"
|
||||
on_expired_text = "<span class='notice'>Your body returns to normal.</span>"
|
||||
stacks = MODIFIER_STACK_FORBID
|
||||
aura_max_distance = 4
|
||||
|
||||
icon_scale_x_percent = 1.2
|
||||
icon_scale_y_percent = 1.2
|
||||
incoming_clone_damage_percent = 0
|
||||
incoming_healing_percent = 0.5
|
||||
incoming_damage_percent = 0.8
|
||||
|
||||
/obj/item/slime_extract/nuclear
|
||||
name = "nuclear slime extract"
|
||||
icon_state = "green slime extract"
|
||||
description_info = "Who knows what will happen."
|
||||
slime_type = /mob/living/simple_mob/slime/xenobio/nuclear
|
||||
|
||||
/decl/chemical_reaction/instant/slime/nuclear_radpulse
|
||||
name = "Slime Radiation Pulse"
|
||||
id = "m_green_radpulse"
|
||||
required_reagents = list("phoron" = 5)
|
||||
result_amount = 1
|
||||
required = /obj/item/slime_extract/nuclear
|
||||
|
||||
/decl/chemical_reaction/instant/slime/nuclear_radpulse/on_reaction(var/datum/reagents/holder)
|
||||
log_and_message_admins("Green extract reaction (radiation pulse) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]")
|
||||
playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1)
|
||||
holder.my_atom.visible_message("<span class='danger'>\The [holder.my_atom] begins to vibrate violently!</span>")
|
||||
spawn(5 SECONDS)
|
||||
SSradiation.flat_radiate(src, 30, 7, TRUE)
|
||||
..()
|
||||
|
||||
|
||||
/decl/chemical_reaction/instant/slime/nuclear_emitter
|
||||
name = "Slime Radiation Emitter"
|
||||
id = "m_green_emitter"
|
||||
required_reagents = list("blood" = 5)
|
||||
result_amount = 1
|
||||
required = /obj/item/slime_extract/green
|
||||
|
||||
/decl/chemical_reaction/instant/slime/green_emitter/on_reaction(var/datum/reagents/holder)
|
||||
log_and_message_admins("Green extract reaction (radiation emitter) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]")
|
||||
new /obj/item/slime_irradiator(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
|
||||
/decl/chemical_reaction/instant/slime/nuclear_radium
|
||||
name = "Slime Radium"
|
||||
id = "m_green_radium"
|
||||
result = "radium"
|
||||
required_reagents = list("water" = 5)
|
||||
result_amount = 30
|
||||
required = /obj/item/slime_extract/green
|
||||
|
||||
|
||||
/decl/chemical_reaction/instant/slime/nuclear_uranium
|
||||
name = "Slime Uranium"
|
||||
id = "m_green_uranium"
|
||||
required_reagents = list("slimejelly" = 5)
|
||||
result_amount = 1
|
||||
required = /obj/item/slime_extract/green
|
||||
|
||||
/decl/chemical_reaction/instant/slime/green_uranium/on_reaction(var/datum/reagents/holder)
|
||||
new /obj/item/stack/material/uranium(get_turf(holder.my_atom), 10)
|
||||
..()
|
||||
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/dream
|
||||
desc = "This slime is rather unknown and strange."
|
||||
color = "#FFFFFF"
|
||||
slime_color = "dream"
|
||||
coretype = /obj/item/slime_extract/dream
|
||||
|
||||
slime_mutation = list(
|
||||
/mob/living/simple_mob/slime/xenobio/dark,
|
||||
/mob/living/simple_mob/slime/xenobio/redspace,
|
||||
/mob/living/simple_mob/slime/xenobio/dream,
|
||||
/mob/living/simple_mob/slime/xenobio/plague
|
||||
)
|
||||
|
||||
/obj/item/slime_extract/dream
|
||||
name = "dream slime extract"
|
||||
icon_state = "grey slime extract"
|
||||
description_info = "Who knows what will happen."
|
||||
slime_type = /mob/living/simple_mob/slime/xenobio/dream
|
||||
|
||||
|
||||
/decl/chemical_reaction/instant/slime/nightmareslime
|
||||
name = "Nightmare Slime Summon "
|
||||
id = "m_nightmare_slime"
|
||||
required_reagents = list("blood" = 5, "phoron" = 5, "slimejelly" = 5)
|
||||
result_amount = 1
|
||||
required = /obj/item/slime_extract/dream
|
||||
|
||||
/decl/chemical_reaction/instant/slime/nightmareslime/on_reaction(var/datum/reagents/holder)
|
||||
holder.my_atom.visible_message("<span class='warning'>Infused with slime jelly, the core begins to quiver and grow, and soon a new baby slime emerges from it!</span>")
|
||||
new /mob/living/simple_mob/slime/xenobio/nightmare(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/nightmare
|
||||
desc = "This slime is rather unknown and strange."
|
||||
color = "#993366"
|
||||
slime_color = "nightmare"
|
||||
coretype = /obj/item/slime_extract/nightmare
|
||||
|
||||
slime_mutation = list(
|
||||
/mob/living/simple_mob/slime/xenobio/nightmare,
|
||||
/mob/living/simple_mob/slime/xenobio/nightmare,
|
||||
/mob/living/simple_mob/slime/xenobio/nightmare,
|
||||
/mob/living/simple_mob/slime/xenobio/nightmare
|
||||
)
|
||||
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/nightmare/handle_special()
|
||||
if(stat != DEAD)
|
||||
nightmare_aura()
|
||||
..()
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/nightmare/proc/nightmare_aura()
|
||||
for(var/mob/living/L in view(src, 3))
|
||||
if(L.stat == DEAD)
|
||||
continue
|
||||
L.add_modifier(/datum/modifier/doomed, null, src)
|
||||
L.add_modifier(/datum/modifier/dreamarmor, null, src)
|
||||
|
||||
/datum/modifier/dreamarmor
|
||||
name = "dream armor"
|
||||
desc = "You are highly resistant to damage."
|
||||
stacks = MODIFIER_STACK_FORBID
|
||||
|
||||
mob_overlay_state = "cult_aura"
|
||||
incoming_damage_percent = 0.3
|
||||
|
||||
/obj/item/slime_extract/nightmare
|
||||
name = "nightmare slime extract"
|
||||
icon_state = "oil slime extract"
|
||||
description_info = "Who knows what will happen."
|
||||
slime_type = /mob/living/simple_mob/slime/xenobio/nightmare
|
||||
@@ -18,7 +18,9 @@
|
||||
max_co2 = 0
|
||||
min_n2 = 0
|
||||
max_n2 = 0
|
||||
unsuitable_atoms_damage = 2
|
||||
|
||||
unsuitable_atoms_damage = 0
|
||||
heat_damage_per_tick = 0
|
||||
|
||||
melee_damage_lower = 12
|
||||
melee_damage_upper = 12
|
||||
@@ -43,7 +45,7 @@
|
||||
user.drop_from_inventory(O)
|
||||
qdel(O)
|
||||
evolve()
|
||||
if(istype(O, feed))
|
||||
else if(istype(O, feed))
|
||||
user.drop_from_inventory(O)
|
||||
qdel(O)
|
||||
duplicate()
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
/mob/living/simple_mob/vore/xeyakin
|
||||
name = "xeyakin"
|
||||
desc = "A strange creature, it's fur shifting, looking like liquid metal."
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/xeyakin)
|
||||
meat_amount = 30
|
||||
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/xeyakin
|
||||
|
||||
icon = 'modular_chomp/icons/mob/vore64x32_ch.dmi'
|
||||
icon_state = "xeyakin" //horrid coder sprite, yay
|
||||
icon_living = "xeyakin"
|
||||
icon_dead = "xeyakin-dead"
|
||||
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 25
|
||||
melee_miss_chance = 0
|
||||
melee_attack_delay = 0
|
||||
movement_cooldown = 0
|
||||
maxHealth = 200
|
||||
attacktext = list("slashed")
|
||||
see_in_dark = 8
|
||||
minbodytemp = 0
|
||||
maxbodytemp = 99999
|
||||
min_oxy = 0
|
||||
devourable = 0
|
||||
|
||||
old_x = -16
|
||||
old_y = 0
|
||||
default_pixel_x = -16
|
||||
pixel_x = -16
|
||||
pixel_y = 0
|
||||
|
||||
|
||||
/datum/category_item/catalogue/fauna/xeyakin
|
||||
name = "Indangered Fauna - Xeyakin"
|
||||
desc = "A strange anamalous creature. There numebers were already sparse but due to the potent chemical\
|
||||
within their meat, they have been culled to a near exctinct numeber."
|
||||
value = CATALOGUER_REWARD_SUPERHARD //Stupidly rare, hopefully anyway
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/xeyakin
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/xeyakin/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent("xeyakinblood", 2)
|
||||
|
||||
|
||||
/datum/reagent/xeyakinblood
|
||||
name = "Xeyakin Blood"
|
||||
id = "xeyakinblood"
|
||||
description = "The blood of a legendary beast."
|
||||
taste_description = "divine"
|
||||
taste_mult = 1.5
|
||||
reagent_state = LIQUID
|
||||
color = "#FF8000"
|
||||
overdose = REAGENTS_OVERDOSE * 0.25
|
||||
scannable = 0
|
||||
|
||||
/datum/reagent/xeyakinblood/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) //should proabaly make something more special but this isn't meant to be a proper chem
|
||||
var/chem_effective = 1 * M.species.chem_strength_heal
|
||||
if(alien == IS_SLIME)
|
||||
M.adjustBruteLoss(12 * removed) //This will uber merc prometheans. It wants to turn them to crystal.
|
||||
if(alien == IS_DIONA)
|
||||
M.heal_organ_damage(0, 12 * removed * chem_effective)
|
||||
if(alien != IS_DIONA)
|
||||
M.heal_organ_damage(8, 8 * removed * chem_effective)
|
||||
184
modular_chomp/code/modules/projectiles/precursor/eclipse.dm
Normal file
@@ -0,0 +1,184 @@
|
||||
/obj/item/weapon/gun/energy/freezegun
|
||||
name = "Pulse Froster Prototype"
|
||||
desc = "A strange gun pulsing with energy, it's touch chilling you to the core."
|
||||
icon = 'modular_chomp/icons/obj/guns/precursor/eclipse.dmi'
|
||||
icon_state = "cryogun"
|
||||
item_state = "cryogun"
|
||||
wielded_item_state = "cryogun-wielded"
|
||||
matter = list(MAT_DURASTEEL = 1000, MAT_MORPHIUM = 500)
|
||||
origin_tech = list(TECH_COMBAT = 6, TECH_POWER = 5, TECH_PRECURSOR = 3)
|
||||
|
||||
|
||||
charge_cost = 80 //How much energy is needed to fire.
|
||||
|
||||
accept_cell_type = /obj/item/weapon/cell/device
|
||||
cell_type = /obj/item/weapon/cell/device/weapon
|
||||
projectile_type = /obj/item/projectile/energy/frostsphere
|
||||
|
||||
recoil_mode = 0
|
||||
charge_meter = 1
|
||||
|
||||
reload_time = 10
|
||||
|
||||
firemodes = list(
|
||||
list(mode_name="normal", fire_delay=5, projectile_type=/obj/item/projectile/energy/frostsphere, charge_cost = 80),
|
||||
list(mode_name="shotgun", fire_delay=15, projectile_type=/obj/item/projectile/bullet/frostshotgun, charge_cost = 240),
|
||||
)
|
||||
|
||||
|
||||
/obj/item/weapon/gun/energy/flamegun
|
||||
name = "Flame Crystal Projector"
|
||||
desc = "A strange gun pulsing with energy, it's touch warming you up."
|
||||
icon = 'modular_chomp/icons/obj/guns/precursor/eclipse.dmi'
|
||||
icon_state = "flamegun"
|
||||
item_state = "flamegun"
|
||||
wielded_item_state = "flame-wielded"
|
||||
|
||||
w_class = ITEMSIZE_LARGE
|
||||
|
||||
accept_cell_type = /obj/item/weapon/cell/device
|
||||
cell_type = /obj/item/weapon/cell/device/weapon
|
||||
projectile_type = /obj/item/projectile/energy/flamecrystal
|
||||
|
||||
matter = list(MAT_DURASTEEL = 1000, MAT_MORPHIUM = 500)
|
||||
origin_tech = list(TECH_COMBAT = 6, TECH_POWER = 5, TECH_PRECURSOR = 3)
|
||||
|
||||
recoil_mode = 0
|
||||
charge_meter = 1
|
||||
|
||||
charge_cost = 80
|
||||
|
||||
reload_time = 10
|
||||
|
||||
firemodes = list(
|
||||
list(mode_name="normal", fire_delay=5, projectile_type=/obj/item/projectile/energy/flamecrystal, charge_cost = 80),
|
||||
list(mode_name="shotgun", fire_delay=15, projectile_type=/obj/item/projectile/bullet/flamegun, charge_cost = 240),
|
||||
list(mode_name="explosive", fire_delay=10, projectile_type=/obj/item/projectile/energy/fireball, charge_cost = 160),
|
||||
)
|
||||
|
||||
/obj/item/weapon/gun/energy/elementalray
|
||||
name = "Proto-type Weapon Avatar"
|
||||
desc = "A strange gun vibrating with energy, lathered with diffrent buttons and switches."
|
||||
icon = 'modular_chomp/icons/obj/guns/precursor/eclipse.dmi'
|
||||
icon_state = "avatar"
|
||||
item_state = "avatar"
|
||||
wielded_item_state = "avatar-wielded"
|
||||
|
||||
accept_cell_type = /obj/item/weapon/cell/device
|
||||
cell_type = /obj/item/weapon/cell/device/weapon
|
||||
projectile_type = /obj/item/projectile/bullet/flamegun
|
||||
|
||||
matter = list(MAT_DURASTEEL = 1000, MAT_MORPHIUM = 500)
|
||||
origin_tech = list(TECH_COMBAT = 6, TECH_POWER = 5, TECH_PRECURSOR = 3)
|
||||
|
||||
recoil_mode = 0
|
||||
charge_meter = 1
|
||||
|
||||
charge_cost = 160
|
||||
|
||||
reload_time = 20
|
||||
|
||||
firemodes = list(
|
||||
list(mode_name="fire", fire_delay=15, projectile_type=/obj/item/projectile/bullet/flamegun, charge_cost = 160),
|
||||
list(mode_name="lighting", fire_delay=20, projectile_type=/obj/item/projectile/beam/lightingsurge, charge_cost = 480),
|
||||
list(mode_name="frost", burst=3, fire_delay=15, projectile_type=/obj/item/projectile/energy/frostsphere, charge_cost = 240),
|
||||
list(mode_name="acid", fire_delay=1, projectile_type=/obj/item/projectile/energy/muckblob, charge_cost = 10),
|
||||
)
|
||||
/obj/item/weapon/gun/energy/elementalray/emag_act(var/remaining_charges, var/mob/user)
|
||||
..()
|
||||
to_chat(user, "<span class='notice'>You short circuit the internal locking mechanisms of \the [src]!</span>")
|
||||
firemodes = list(
|
||||
list(mode_name="fire", fire_delay=15, projectile_type=/obj/item/projectile/bullet/flamegun, charge_cost = 160),
|
||||
list(mode_name="lighting", fire_delay=20, projectile_type=/obj/item/projectile/beam/lightingsurge, charge_cost = 480),
|
||||
list(mode_name="frost", burst=3, fire_delay=15, projectile_type=/obj/item/projectile/energy/frostsphere, charge_cost = 240),
|
||||
list(mode_name="acid", fire_delay=1, projectile_type=/obj/item/projectile/energy/muckblob, charge_cost = 10),
|
||||
list(mode_name="error", fire_delay=30, projectile_type=/obj/item/projectile/bullet/errorelement, charge_cost = 1040)
|
||||
)
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/bullet/errorelement //You are the bullet hell
|
||||
use_submunitions = 1
|
||||
only_submunitions = 1
|
||||
range = 0
|
||||
embed_chance = 0
|
||||
submunition_spread_max = 3600
|
||||
submunition_spread_min = 500
|
||||
submunitions = list(/obj/item/projectile/energy/flamecrystal = 2, /obj/item/projectile/energy/frostsphere = 2, /obj/item/projectile/beam/lightingsurge = 1, /obj/item/projectile/energy/muckblob = 5)
|
||||
hud_state = "laser_heat"
|
||||
|
||||
/obj/item/projectile/beam/lightingsurge //Anti-synth laser
|
||||
damage = 60
|
||||
light_color = "#00CCFF"
|
||||
damage_type = ELECTROMAG
|
||||
|
||||
/obj/item/projectile/energy/muckblob
|
||||
damage = 4
|
||||
damage_type = BIOACID
|
||||
check_armour = "bio"
|
||||
combustion = FALSE
|
||||
modifier_type_to_apply = /datum/modifier/muck
|
||||
modifier_duration = 5
|
||||
speed = 0.6
|
||||
range = 8
|
||||
|
||||
/datum/modifier/muck
|
||||
name = "acid covered"
|
||||
desc = "You are covered in acid"
|
||||
mob_overlay_state = "poisoned"
|
||||
|
||||
on_created_text = "<span class='warning'>You are covered in muck...</span>"
|
||||
on_expired_text = "<span class='notice'>You are no longer covered in muck.</span>"
|
||||
stacks = MODIFIER_STACK_ALLOWED
|
||||
|
||||
slowdown = 0.5
|
||||
|
||||
|
||||
/obj/item/weapon/gun/energy/pulseglove
|
||||
name = "Strange Glove"
|
||||
desc = "A bulky glove cladded with strange tech. It hums with energy, and the battery port is inaccessiable"
|
||||
icon = 'modular_chomp/icons/obj/guns/precursor/eclipse.dmi'
|
||||
icon_state = "darkglove"
|
||||
item_state = "darkglove"
|
||||
|
||||
charge_cost = 380 // 13 shots
|
||||
|
||||
projectile_type = /obj/item/projectile/bullet/lightingburst
|
||||
cell_type = /obj/item/weapon/cell/device/weapon/recharge/alien
|
||||
battery_lock = 1
|
||||
|
||||
|
||||
/obj/item/projectile/energy/redlighting
|
||||
name = "Flame Crystal"
|
||||
icon = 'modular_chomp/icons/mob/eclipse.dmi' //commiting sin
|
||||
icon_state = "redlighting"
|
||||
damage = 20
|
||||
armor_penetration = 20
|
||||
hud_state = "laser_sniper"
|
||||
|
||||
/obj/item/projectile/energy/darkmeteor
|
||||
name = "Strange Sphere"
|
||||
icon = 'modular_chomp/icons/mob/eclipse.dmi' //commiting sin
|
||||
icon_state = "darkmeteor"
|
||||
damage = 60
|
||||
damage_type = BRUTE
|
||||
check_armour = "melee"
|
||||
speed = 15
|
||||
|
||||
/obj/item/projectile/bullet/meteorstorm
|
||||
use_submunitions = 1
|
||||
only_submunitions = 1
|
||||
range = 0
|
||||
embed_chance = 0
|
||||
submunition_spread_max = 3600
|
||||
submunition_spread_min = 1200
|
||||
submunitions = list(/obj/item/projectile/energy/darkmeteor = 3)
|
||||
|
||||
/obj/item/projectile/bullet/lightingburst
|
||||
use_submunitions = 1
|
||||
only_submunitions = 1
|
||||
range = 0
|
||||
embed_chance = 0
|
||||
submunition_spread_max = 1200
|
||||
submunition_spread_min = 200
|
||||
submunitions = list(/obj/item/projectile/energy/redlighting = 3)
|
||||
hud_state = "laser_sniper"
|
||||
@@ -1,25 +0,0 @@
|
||||
/obj/item/weapon/gun/energy/freezegun
|
||||
name = "Pulse Froster Prototype"
|
||||
desc = "A strange gun pulsing with energy, it's touch chilling you to the core."
|
||||
icon = 'modular_chomp/icons/obj/guns/precursor/frostgun.dmi'
|
||||
icon_state = "cryogun"
|
||||
item_state = "cryogun"
|
||||
wielded_item_state = "cryogun-wielded"
|
||||
matter = list(MAT_DURASTEEL = 1000, MAT_MORPHIUM = 500)
|
||||
origin_tech = list(TECH_COMBAT = 6, TECH_POWER = 5, TECH_PRECURSOR = 3)
|
||||
|
||||
|
||||
charge_cost = 120 //How much energy is needed to fire.
|
||||
|
||||
accept_cell_type = /obj/item/weapon/cell/device
|
||||
cell_type = /obj/item/weapon/cell/device/weapon
|
||||
projectile_type = /obj/item/projectile/energy/frostsphere
|
||||
|
||||
charge_meter = 1
|
||||
|
||||
reload_time = 10
|
||||
|
||||
firemodes = list(
|
||||
list(mode_name="normal", fire_delay=5, projectile_type=/obj/item/projectile/energy/frostsphere, charge_cost = 120),
|
||||
list(mode_name="shotgun", fire_delay=15, projectile_type=/obj/item/projectile/bullet/frostshotgun, charge_cost = 480),
|
||||
)
|
||||
BIN
modular_chomp/icons/mecha/mechas.dmi
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 1003 B After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 18 KiB |
BIN
modular_chomp/icons/obj/guns/precursor/eclipse.dmi
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.0 KiB |
@@ -4644,6 +4644,9 @@
|
||||
#include "modular_chomp\code\game\machinery\portable_turret.dm"
|
||||
#include "modular_chomp\code\game\machinery\vending.dm"
|
||||
#include "modular_chomp\code\game\machinery\virtual_reality\vr_console.dm"
|
||||
#include "modular_chomp\code\game\mecha\mecha_construction_paths.dm"
|
||||
#include "modular_chomp\code\game\mecha\mecha_parts.dm"
|
||||
#include "modular_chomp\code\game\mecha\secert\hades.dm"
|
||||
#include "modular_chomp\code\game\objects\items.dm"
|
||||
#include "modular_chomp\code\game\objects\mob_spawner.dm"
|
||||
#include "modular_chomp\code\game\objects\effects\dark_growth.dm"
|
||||
@@ -4698,6 +4701,7 @@
|
||||
#include "modular_chomp\code\modules\clothing\shoes\miscellaneous.dm"
|
||||
#include "modular_chomp\code\modules\clothing\spacesuits\rig\.behemoth.dm"
|
||||
#include "modular_chomp\code\modules\clothing\spacesuits\rig\clockwork_ch.dm"
|
||||
#include "modular_chomp\code\modules\clothing\spacesuits\rig\crystal.dm"
|
||||
#include "modular_chomp\code\modules\clothing\spacesuits\rig\other.dm"
|
||||
#include "modular_chomp\code\modules\clothing\spacesuits\rig\precursor.dm"
|
||||
#include "modular_chomp\code\modules\clothing\spacesuits\rig\rig.dm"
|
||||
@@ -4801,10 +4805,12 @@
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\fleshtaker.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\xenomorph.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\xenomorph_abilities.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\animal\crystal.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\animal\mines.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\animal\sif.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\animal\spider.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\animal\space\alien.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\animal\space\carp.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\animal\space\mouse_army_ch.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\animal\space\other.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\gateway\alchemistbee.dm"
|
||||
@@ -4818,6 +4824,7 @@
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\humanoid\pirate.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\humanoid\wierd.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\humanoid\eclipse\eclipse.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\humanoid\eclipse\heads.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\humanoid\eclipse\lore.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\humanoid\eclipse\noms.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\humanoid\starhunters\avatar.dm"
|
||||
@@ -4858,6 +4865,7 @@
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\swoopie.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\vore.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\wolf.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\xeyakin.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\gateway\candy.dm"
|
||||
#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\shadekin\shadekin.dm"
|
||||
#include "modular_chomp\code\modules\mob\new_player\sprite_accessories.dm"
|
||||
@@ -4892,7 +4900,7 @@
|
||||
#include "modular_chomp\code\modules\projectiles\guns\energy\laser.dm"
|
||||
#include "modular_chomp\code\modules\projectiles\guns\energy\special.dm"
|
||||
#include "modular_chomp\code\modules\projectiles\guns\projectile\revolver.dm"
|
||||
#include "modular_chomp\code\modules\projectiles\precursor\freezegun.dm"
|
||||
#include "modular_chomp\code\modules\projectiles\precursor\eclipse.dm"
|
||||
#include "modular_chomp\code\modules\reagents\machinery\dispenser\chem_synthesizer_ch.dm"
|
||||
#include "modular_chomp\code\modules\reagents\reactions\distilling\distilling.dm"
|
||||
#include "modular_chomp\code\modules\reagents\reactions\instant\drinks.dm"
|
||||
|
||||