This commit is contained in:
BlackMajor
2022-04-20 16:30:44 +12:00
parent c8b8ff2e0f
commit beb962eac3
19 changed files with 73 additions and 76 deletions
@@ -1 +1 @@
#define PROTEAN_EDIBLE_MATERIALS list(MAT_STEEL) //CHOMPedit: only steel
#define PROTEAN_EDIBLE_MATERIALS list(MAT_STEEL,MAT_GLASS)
@@ -16,13 +16,13 @@
show_stat_health = FALSE //We will do it ourselves
response_help = "pets the" //CHOMP Edit
response_disarm = "gently pushes aside the " //CHOMP Edit
response_harm = "hits the" //CHOMP Edit
response_help = "pets the"
response_disarm = "gently pushes aside the "
response_harm = "hits the"
harm_intent_damage = 3
melee_damage_lower = 5 //CHOMP Edit
melee_damage_upper = 5 //CHOMP Edit
melee_damage_lower = 5
melee_damage_upper = 5
attacktext = list("slashed")
min_oxy = 0
@@ -34,7 +34,7 @@
min_n2 = 0
max_n2 = 0
minbodytemp = 0
maxbodytemp = 900
maxbodytemp = INFINITY
movement_cooldown = 2
var/mob/living/carbon/human/humanform
@@ -176,14 +176,12 @@
return ..()
/mob/living/simple_mob/protean_blob/adjustBruteLoss(var/amount,var/include_robo)
amount *= 1.5
if(humanform)
return humanform.adjustBruteLoss(amount)
else
return ..()
/mob/living/simple_mob/protean_blob/adjustFireLoss(var/amount,var/include_robo)
amount *= 1.5
if(humanform)
return humanform.adjustFireLoss(amount)
else
@@ -323,20 +321,20 @@
visible_message("<b>[name]</b> gloms over some of \the [S], absorbing it.")
else
return ..()
/mob/living/simple_mob/protean_blob/attack_hand(mob/living/L) //CHOMP Add this whole block.
if(L.get_effective_size() >= (src.get_effective_size() + 0.5) )
src.get_scooped(L)
else
..()
/mob/living/simple_mob/protean_blob/MouseDrop(var/atom/over_object) //CHOMP Add this whole block.
if(ishuman(over_object) && usr == src && src.Adjacent(over_object))
var/mob/living/carbon/human/H = over_object
get_scooped(H, TRUE)
else
return ..()
/mob/living/simple_mob/protean_blob/MouseEntered(location,control,params)
if(resting)
return
@@ -449,7 +447,7 @@ var/global/list/disallowed_protean_accessories = list(
remove_micros(I, root) //Recursion. I'm honestly depending on there being no containment loop, but at the cost of performance that can be fixed too.
if(istype(I, /obj/item/weapon/holder))
root.remove_from_mob(I)
//CHOMP Add start
/mob/living/simple_mob/protean_blob/proc/rig_transform() //CHOMP Add this whole block.
set name = "Modify Form - Hardsuit"
@@ -2,77 +2,77 @@
/obj/item/organ/external/chest/unbreakable/nano
robotic = ORGAN_NANOFORM
encased = FALSE
max_damage = 50 // <-- This is different from the rest
max_damage = 100 // <-- This is different from the rest
min_broken_damage = 1000
vital = TRUE // <-- This is different from the rest
model = "protean"
/obj/item/organ/external/groin/unbreakable/nano
robotic = ORGAN_NANOFORM
encased = FALSE
max_damage = 30 // <-- This is different from the rest
max_damage = 100 // <-- This is different from the rest
min_broken_damage = 1000 //Multiple
vital = FALSE
model = "protean"
/obj/item/organ/external/head/unbreakable/nano
robotic = ORGAN_NANOFORM
encased = FALSE
max_damage = 30
max_damage = 100
min_broken_damage = 1000 //Inheritance
vital = FALSE
model = "protean"
/obj/item/organ/external/arm/unbreakable/nano
robotic = ORGAN_NANOFORM
encased = FALSE
max_damage = 20
max_damage = 100
min_broken_damage = 1000 //Please
vital = FALSE
model = "protean"
/obj/item/organ/external/arm/right/unbreakable/nano
robotic = ORGAN_NANOFORM
encased = FALSE
max_damage = 20
max_damage = 100
min_broken_damage = 1000
vital = FALSE
model = "protean"
/obj/item/organ/external/leg/unbreakable/nano
robotic = ORGAN_NANOFORM
encased = FALSE
max_damage = 20
max_damage = 100
min_broken_damage = 1000
vital = FALSE
model = "protean"
/obj/item/organ/external/leg/right/unbreakable/nano
robotic = ORGAN_NANOFORM
encased = FALSE
max_damage = 20
max_damage = 100
min_broken_damage = 1000
vital = FALSE
model = "protean"
/obj/item/organ/external/hand/unbreakable/nano
robotic = ORGAN_NANOFORM
encased = FALSE
max_damage = 20
max_damage = 100
min_broken_damage = 1000
vital = FALSE
model = "protean"
/obj/item/organ/external/hand/right/unbreakable/nano
robotic = ORGAN_NANOFORM
encased = FALSE
max_damage = 20
max_damage = 100
min_broken_damage = 1000
vital = FALSE
model = "protean"
/obj/item/organ/external/foot/unbreakable/nano
robotic = ORGAN_NANOFORM
encased = FALSE
max_damage = 20
max_damage = 100
min_broken_damage = 1000
vital = FALSE
model = "protean"
/obj/item/organ/external/foot/right/unbreakable/nano
robotic = ORGAN_NANOFORM
encased = FALSE
max_damage = 20
max_damage = 100
min_broken_damage = 1000
vital = FALSE
model = "protean"
@@ -101,7 +101,7 @@
organ_tag = O_FACT
parent_organ = BP_TORSO
var/list/materials = list(MAT_STEEL = 0)
var/list/materials = list(MAT_STEEL = 0, MAT_GLASS = 0)
var/max_storage = 10000
organ_verbs = list(
/mob/living/carbon/human/proc/reagent_purge
@@ -7,8 +7,8 @@
icon = 'icons/obj/rig_modules_ch.dmi'
default_mob_icon = 'icons/mob/rig_back_ch.dmi'
icon_state = "nanomachine_rig"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 90)
siemens_coefficient= 0.5
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 100)
siemens_coefficient= 1
slowdown = 0
offline_slowdown = 0
seal_delay = 1
@@ -19,7 +19,7 @@
boot_type = /obj/item/clothing/shoes/magboots/rig/protean
chest_type = /obj/item/clothing/suit/space/rig/protean
glove_type = /obj/item/clothing/gloves/gauntlets/rig/protean
//I doooon't think I can get rig_back.dmi as a _ch file. That is part of /obj/item/weapon/rig/update_icon(var/update_mob_icon).
/obj/item/weapon/rig/protean/relaymove(mob/user, var/direction)
@@ -27,6 +27,11 @@
return
forced_move(direction, user, FALSE)
/obj/item/weapon/rig/protean/check_suit_access(mob/living/carbon/human/user)
if(user == myprotean)
return TRUE
return ..()
/obj/item/clothing/head/helmet/space/rig/protean
name = "mass"
desc = "A helmet-shaped clump of nanomachines."
@@ -61,8 +66,8 @@
/obj/item/weapon/storage/backpack,
) //Subspace radio is in for the citadel version. IDK if we have that and I don't think we need it so I removed it from this list.
//Backend stuff to make the sprites work. Copied and pasted from rig_pieces_vr.dm, but added ch to everything. Only reason for this to be touched is to add or remove species. This might just need to go in a new file named rig_pieces_ch.dm.
/obj/item/clothing/head/helmet/space/rig/protean
@@ -76,14 +81,14 @@
SPECIES_SERGAL = 'icons/mob/species/sergal/helmet_ch.dmi',
SPECIES_NEVREAN = 'icons/mob/species/sergal/helmet_ch.dmi',
SPECIES_VULPKANIN = 'icons/mob/species/vulpkanin/helmet_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/mob/species/fox/helmet_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/mob/species/fox/helmet_ch.dmi',
SPECIES_FENNEC = 'icons/mob/species/vulpkanin/helmet_ch.dmi',
SPECIES_PROMETHEAN = 'icons/mob/species/skrell/helmet_ch.dmi',
SPECIES_TESHARI = 'icons/inventory/head/mob_ch_teshari.dmi',
SPECIES_VASILISSAN = 'icons/mob/species/skrell/helmet_ch.dmi',
SPECIES_VOX = 'icons/mob/species/vox/head_ch.dmi'
SPECIES_VOX = 'icons/mob/species/vox/head_ch.dmi'
)
sprite_sheets_obj = list(
SPECIES_HUMAN = 'icons/obj/clothing/hats_ch.dmi',
SPECIES_TAJ = 'icons/obj/clothing/hats_ch.dmi',
@@ -94,12 +99,12 @@
SPECIES_SERGAL = 'icons/obj/clothing/hats_ch.dmi',
SPECIES_NEVREAN = 'icons/obj/clothing/hats_ch.dmi',
SPECIES_VULPKANIN = 'icons/obj/clothing/hats_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/obj/clothing/hats_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/obj/clothing/hats_ch.dmi',
SPECIES_FENNEC = 'icons/obj/clothing/hats_ch.dmi',
SPECIES_PROMETHEAN = 'icons/obj/clothing/hats_ch.dmi',
SPECIES_TESHARI = 'icons/obj/clothing/hats_ch.dmi',
SPECIES_VASILISSAN = 'icons/obj/clothing/hats_ch.dmi',
SPECIES_VOX = 'icons/obj/clothing/hats_ch.dmi'
SPECIES_VOX = 'icons/obj/clothing/hats_ch.dmi'
)
/obj/item/clothing/suit/space/rig/protean
@@ -113,14 +118,14 @@
SPECIES_SERGAL = 'icons/mob/species/sergal/suit_ch.dmi',
SPECIES_NEVREAN = 'icons/mob/species/sergal/suit_ch.dmi',
SPECIES_VULPKANIN = 'icons/mob/species/vulpkanin/suit_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/mob/species/fox/suit_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/mob/species/fox/suit_ch.dmi',
SPECIES_FENNEC = 'icons/mob/species/vulpkanin/suit_ch.dmi',
SPECIES_PROMETHEAN = 'icons/mob/species/skrell/suit_ch.dmi',
SPECIES_TESHARI = 'icons/inventory/suit/mob_ch_teshari.dmi',
SPECIES_VASILISSAN = 'icons/mob/species/skrell/suit_ch.dmi',
SPECIES_VOX = 'icons/mob/species/vox/suit_ch.dmi'
SPECIES_VOX = 'icons/mob/species/vox/suit_ch.dmi'
)
sprite_sheets_obj = list(
SPECIES_HUMAN = 'icons/obj/clothing/spacesuits_ch.dmi',
SPECIES_TAJ = 'icons/obj/clothing/spacesuits_ch.dmi',
@@ -131,14 +136,14 @@
SPECIES_SERGAL = 'icons/obj/clothing/spacesuits_ch.dmi',
SPECIES_NEVREAN = 'icons/obj/clothing/spacesuits_ch.dmi',
SPECIES_VULPKANIN = 'icons/obj/clothing/spacesuits_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/obj/clothing/spacesuits_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/obj/clothing/spacesuits_ch.dmi',
SPECIES_FENNEC = 'icons/obj/clothing/spacesuits_ch.dmi',
SPECIES_PROMETHEAN = 'icons/obj/clothing/spacesuits_ch.dmi',
SPECIES_TESHARI = 'icons/obj/clothing/spacesuits_ch.dmi',
SPECIES_VASILISSAN = 'icons/obj/clothing/spacesuits_ch.dmi',
SPECIES_VOX = 'icons/obj/clothing/spacesuits_ch.dmi'
SPECIES_VOX = 'icons/obj/clothing/spacesuits_ch.dmi'
)
/obj/item/clothing/gloves/gauntlets/rig/protean
sprite_sheets = list(
SPECIES_HUMAN = 'icons/mob/hands_ch.dmi',
@@ -150,14 +155,14 @@
SPECIES_SERGAL = 'icons/mob/hands_ch.dmi',
SPECIES_NEVREAN = 'icons/mob/hands_ch.dmi',
SPECIES_VULPKANIN = 'icons/mob/hands_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/mob/hands_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/mob/hands_ch.dmi',
SPECIES_FENNEC = 'icons/mob/hands_ch.dmi',
SPECIES_PROMETHEAN = 'icons/mob/hands_ch.dmi',
SPECIES_TESHARI = 'icons/mob/hands_ch.dmi',
SPECIES_VASILISSAN = 'icons/mob/hands_ch.dmi',
SPECIES_VOX = 'icons/mob/species/vox/gloves_ch.dmi'
SPECIES_VOX = 'icons/mob/species/vox/gloves_ch.dmi'
)
sprite_sheets_obj = list(
SPECIES_HUMAN = 'icons/obj/clothing/gloves_ch.dmi',
SPECIES_TAJ = 'icons/obj/clothing/gloves_ch.dmi',
@@ -168,14 +173,14 @@
SPECIES_SERGAL = 'icons/obj/clothing/gloves_ch.dmi',
SPECIES_NEVREAN = 'icons/obj/clothing/gloves_ch.dmi',
SPECIES_VULPKANIN = 'icons/obj/clothing/gloves_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/obj/clothing/gloves_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/obj/clothing/gloves_ch.dmi',
SPECIES_FENNEC = 'icons/obj/clothing/gloves_ch.dmi',
SPECIES_PROMETHEAN = 'icons/obj/clothing/gloves_ch.dmi',
SPECIES_TESHARI = 'icons/obj/clothing/gloves_ch.dmi',
SPECIES_VASILISSAN = 'icons/obj/clothing/gloves_ch.dmi',
SPECIES_VOX = 'icons/obj/clothing/gloves_ch.dmi'
SPECIES_VOX = 'icons/obj/clothing/gloves_ch.dmi'
)
/obj/item/clothing/shoes/magboots/rig/protean
sprite_sheets = list(
SPECIES_HUMAN = 'icons/mob/feet_ch.dmi',
@@ -187,14 +192,14 @@
SPECIES_SERGAL = 'icons/mob/feet_ch.dmi',
SPECIES_NEVREAN = 'icons/mob/feet_ch.dmi',
SPECIES_VULPKANIN = 'icons/mob/feet_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/mob/feet_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/mob/feet_ch.dmi',
SPECIES_FENNEC = 'icons/mob/feet_ch.dmi',
SPECIES_PROMETHEAN = 'icons/mob/feet_ch.dmi',
SPECIES_TESHARI = 'icons/mob/feet_ch.dmi',
SPECIES_VASILISSAN = 'icons/mob/feet_ch.dmi',
SPECIES_VOX = 'icons/mob/species/vox/shoes_ch.dmi'
SPECIES_VOX = 'icons/mob/species/vox/shoes_ch.dmi'
)
sprite_sheets_obj = list(
SPECIES_HUMAN = 'icons/obj/clothing/shoes_ch.dmi',
SPECIES_TAJ = 'icons/obj/clothing/shoes_ch.dmi',
@@ -205,10 +210,10 @@
SPECIES_SERGAL = 'icons/obj/clothing/shoes_ch.dmi',
SPECIES_NEVREAN = 'icons/obj/clothing/shoes_ch.dmi',
SPECIES_VULPKANIN = 'icons/obj/clothing/shoes_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/obj/clothing/shoes_ch.dmi',
SPECIES_ZORREN_HIGH = 'icons/obj/clothing/shoes_ch.dmi',
SPECIES_FENNEC = 'icons/obj/clothing/shoes_ch.dmi',
SPECIES_PROMETHEAN = 'icons/obj/clothing/shoes_ch.dmi',
SPECIES_TESHARI = 'icons/obj/clothing/shoes_ch.dmi',
SPECIES_VASILISSAN = 'icons/obj/clothing/shoes_ch.dmi',
SPECIES_VOX = 'icons/obj/clothing/shoes_ch.dmi'
SPECIES_VOX = 'icons/obj/clothing/shoes_ch.dmi'
)
@@ -7,7 +7,7 @@
<i>VERY</i> advanced civilizations have the option of 'nanoswarm' bodies. Effectively a single robot body comprised \
of millions of tiny nanites working in concert to maintain cohesion."
show_ssd = "totally quiescent"
death_message = "rapidly loses cohesion, dissolving into a cloud of gray dust..."
death_message = "rapidly loses cohesion, retreating into their hardened control module..."
knockout_message = "collapses inwards, forming a disordered puddle of gray goo."
remains_type = /obj/effect/decal/cleanable/ash
@@ -21,35 +21,29 @@
health_hud_intensity = 2
num_alternate_languages = 3
assisted_langs = list(LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX)
speech_bubble_appearance = "synthetic"
color_mult = TRUE
breath_type = null
poison_type = null
male_scream_sound = null //CHOMPedit
female_scream_sound = null //CHOMPedit
male_scream_sound = null
female_scream_sound = null
virus_immune = 1
blood_volume = 0
min_age = 18
max_age = 200
brute_mod = 0.8
burn_mod = 1.5
brute_mod = 1
burn_mod = 1
oxy_mod = 0
item_slowdown_mod = 1.33
cold_level_1 = 280 //Default 260 - Lower is better
cold_level_2 = 220 //Default 200
cold_level_3 = 130 //Default 120
heat_level_1 = 320 //Default 360
heat_level_2 = 370 //Default 400
heat_level_3 = 600 //Default 1000
radiation_mod = 0 //Can't be assed with fandangling rad protections while blob formed/suited
item_slowdown_mod = 1
hazard_low_pressure = -1 //Space doesn't bother them
hazard_high_pressure = 200 //They can cope with slightly higher pressure
hazard_high_pressure = INFINITY //consistency
//Cold/heat does affect them, but it's done in special ways below
//Cold/heat does affect them, but it's done in special ways below - //No it isn't?
cold_level_1 = -INFINITY
cold_level_2 = -INFINITY
cold_level_3 = -INFINITY
@@ -59,7 +53,7 @@
body_temperature = 290
siemens_coefficient = 1.5 //Very bad zappy times
siemens_coefficient = 1
rarity_value = 5
genders = list(MALE, FEMALE, PLURAL, NEUTER)
@@ -324,7 +318,7 @@ CHOMP Removal end*/
/datum/modifier/protean/steel/tick()
holder.adjustBruteLoss(-1,include_robo = TRUE) //Modified by species resistances
holder.adjustFireLoss(-0.5,include_robo = TRUE) //Modified by species resistances
holder.adjustFireLoss(-1,include_robo = TRUE) //Modified by species resistances
var/mob/living/carbon/human/H = holder
for(var/obj/item/organ/O as anything in H.internal_organs)
// Fix internal damage
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+6 -6
View File
@@ -2154,7 +2154,6 @@
#include "code\modules\clothing\spacesuits\rig\modules\specific\vision.dm"
#include "code\modules\clothing\spacesuits\rig\modules\specific\voice.dm"
#include "code\modules\clothing\spacesuits\rig\suits\alien.dm"
#include "code\modules\clothing\spacesuits\rig\suits\alien_ch.dm"
#include "code\modules\clothing\spacesuits\rig\suits\combat.dm"
#include "code\modules\clothing\spacesuits\rig\suits\ert.dm"
#include "code\modules\clothing\spacesuits\rig\suits\ert_vr.dm"
@@ -3027,10 +3026,6 @@
#include "code\modules\mob\living\carbon\human\species\station\teshari_vr.dm"
#include "code\modules\mob\living\carbon\human\species\station\xenochimera_hud_vr.dm"
#include "code\modules\mob\living\carbon\human\species\station\xenochimera_trait_vr.dm"
#include "code\modules\mob\living\carbon\human\species\station\protean_vr\_protean_defines.dm"
#include "code\modules\mob\living\carbon\human\species\station\protean_vr\protean_blob.dm"
#include "code\modules\mob\living\carbon\human\species\station\protean_vr\protean_powers.dm"
#include "code\modules\mob\living\carbon\human\species\station\protean_vr\protean_species.dm"
#include "code\modules\mob\living\carbon\human\species\station\traits_vr\negative.dm"
#include "code\modules\mob\living\carbon\human\species\station\traits_vr\negative_ch.dm"
#include "code\modules\mob\living\carbon\human\species\station\traits_vr\neutral.dm"
@@ -3579,7 +3574,6 @@
#include "code\modules\organs\subtypes\diona.dm"
#include "code\modules\organs\subtypes\indestructible.dm"
#include "code\modules\organs\subtypes\machine.dm"
#include "code\modules\organs\subtypes\nano.dm"
#include "code\modules\organs\subtypes\replicant.dm"
#include "code\modules\organs\subtypes\shadekin.dm"
#include "code\modules\organs\subtypes\shadekin_vr.dm"
@@ -4459,4 +4453,10 @@
#include "maps\submaps\surface_submaps\wilderness\wilderness.dm"
#include "maps\submaps\surface_submaps\wilderness\wilderness_areas.dm"
#include "maps\~map_system\maps.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\protean\_protean_defines.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\protean\protean_blob.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\protean\protean_organs.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\protean\protean_powers.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\protean\protean_rig.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\protean\protean_species.dm"
// END_INCLUDE