New Gateway: Destroyed Asteroid Mining (#7651)

This commit is contained in:
FluffMedic
2024-01-31 15:01:18 -05:00
committed by GitHub
parent 512c558ba0
commit d6fae8b211
47 changed files with 70094 additions and 57 deletions

View File

@@ -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'
)

View File

@@ -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

View File

@@ -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

View 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

File diff suppressed because it is too large Load Diff

View 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

View 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"

View 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

View File

@@ -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

View File

@@ -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."

View File

@@ -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

View File

@@ -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"

View File

@@ -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.

View File

@@ -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

View File

@@ -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." ,)

View File

@@ -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

View File

@@ -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()

View File

@@ -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)

View 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"

View File

@@ -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),
)

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1003 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -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"