mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Xeno Voidsuit Sprite framework, balance adjustments and misc adjustments (#7464)
This commit is contained in:
16
code/__defines/sprite_sheets_ch.dm
Normal file
16
code/__defines/sprite_sheets_ch.dm
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
// Default species get default sprites, VR species get VR sprites, CH species get CH sprites.
|
||||||
|
#define CH_SPECIES_SPRITE_SHEETS_SUIT_MOB list(\
|
||||||
|
SPECIES_HUMAN = 'icons/inventory/suit/mob.dmi',\
|
||||||
|
SPECIES_TAJ = 'icons/inventory/suit/mob_tajaran.dmi',\
|
||||||
|
SPECIES_SKRELL = 'icons/inventory/suit/mob_skrell.dmi',\
|
||||||
|
SPECIES_UNATHI = 'icons/inventory/suit/mob_unathi.dmi',\
|
||||||
|
SPECIES_TESHARI = 'icons/inventory/suit/mob_teshari.dmi',\
|
||||||
|
SPECIES_XENOHYBRID = 'icons/inventory/suit/mob_unathi.dmi',\
|
||||||
|
SPECIES_AKULA = 'icons/inventory/suit/mob_vr_akula.dmi',\
|
||||||
|
SPECIES_SERGAL = 'icons/inventory/suit/mob_vr_sergal.dmi',\
|
||||||
|
SPECIES_NEVREAN = 'icons/inventory/suit/mob_vr_sergal.dmi',\
|
||||||
|
SPECIES_VULPKANIN = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',\
|
||||||
|
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',\
|
||||||
|
SPECIES_FENNEC = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',\
|
||||||
|
SPECIES_ALTEVIAN = 'icons/inventory/suit/mob_vr_altevian.dmi',\
|
||||||
|
SPECIES_XENOMORPH_HYBRID = 'modular_chomp/icons/inventory/suit/mob_xenomorph_hybrid.dmi')
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
item_flags = THICKMATERIAL
|
item_flags = THICKMATERIAL
|
||||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack) //CHOMPedit
|
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack) //CHOMPedit
|
||||||
slowdown = 1.5
|
slowdown = 1 // CHOMPedit: 1.5 to 1. More sane movespeed delay. Voidsuits are still faster.
|
||||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50)
|
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50)
|
||||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
|
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
|
||||||
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
|
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
/datum/unarmed_attack/claws/strong
|
/datum/unarmed_attack/claws/strong
|
||||||
attack_name = "strong claws"
|
attack_name = "strong claws"
|
||||||
attack_verb = list("slashed")
|
attack_verb = list("slashed")
|
||||||
damage = 5
|
damage = 10 // CHOMPedit: 5 to 10, makes them actually strong.
|
||||||
shredding = 1
|
shredding = 1
|
||||||
|
|
||||||
/datum/unarmed_attack/claws/strong/xeno
|
/datum/unarmed_attack/claws/strong/xeno
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
/datum/unarmed_attack/bite/strong
|
/datum/unarmed_attack/bite/strong
|
||||||
attack_name = "strong bite"
|
attack_name = "strong bite"
|
||||||
attack_verb = list("mauled")
|
attack_verb = list("mauled")
|
||||||
damage = 8
|
damage = 10 // CHOMPedit: 8 to 10, makes them actually strong.
|
||||||
shredding = 1
|
shredding = 1
|
||||||
|
|
||||||
/datum/unarmed_attack/bite/strong/xeno
|
/datum/unarmed_attack/bite/strong/xeno
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 4.2 KiB |
@@ -0,0 +1,6 @@
|
|||||||
|
/obj/item/clothing/head/helmet/space/void
|
||||||
|
species_restricted = list(SPECIES_HUMAN, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA, SPECIES_XENOMORPH_HYBRID)
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/space/void
|
||||||
|
species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA, SPECIES_XENOMORPH_HYBRID)
|
||||||
|
sprite_sheets = CH_SPECIES_SPRITE_SHEETS_SUIT_MOB
|
||||||
@@ -57,21 +57,21 @@
|
|||||||
deform = 'icons/mob/human_races/r_xenomorph_hybrid.dmi'
|
deform = 'icons/mob/human_races/r_xenomorph_hybrid.dmi'
|
||||||
tail = "tail"
|
tail = "tail"
|
||||||
icobase_tail = 1
|
icobase_tail = 1
|
||||||
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) // Innate claws and bite.
|
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/strong/xeno, /datum/unarmed_attack/bite/strong/xeno) // Innate claws and bite.
|
||||||
darksight = 8 // Same as Tajarans.
|
darksight = 8 // Same as Tajarans.
|
||||||
ambiguous_genders = TRUE
|
ambiguous_genders = TRUE
|
||||||
slowdown = -0.2 // Slightly faster than average.
|
slowdown = -0.2 // Slightly faster than average.
|
||||||
total_health = 150 // Takes a lot of effort to take a Xenomorph down.
|
total_health = 150 // Takes a lot of effort to take a Xenomorph down.
|
||||||
brute_mod = 0.90 // Physical damage doesn't phase them as much.
|
brute_mod = 0.9 // Physical damage doesn't phase them as much.
|
||||||
burn_mod = 1.40 // They do NOT like fire.
|
burn_mod = 1.4 // They do NOT like fire.
|
||||||
toxins_mod = 0.90 // Slightly resistant to toxins.
|
toxins_mod = 0.9 // Slightly resistant to toxins.
|
||||||
radiation_mod = 0.7 // Quite resistant to radiation exposure.
|
radiation_mod = 0.9 // Somewhat resistant to radiation exposure.
|
||||||
flash_mod = 1.1 // Flashes are slightly more effective.
|
flash_mod = 1.2 // Flashes are more effective.
|
||||||
metabolic_rate = 1.2 // Very physically active species, thus requiring more nutritional intake.
|
metabolic_rate = 1.2 // Very physically active species, thus requiring more nutritional intake.
|
||||||
item_slowdown_mod = 0.90 // They carry heavy things slightly better.
|
item_slowdown_mod = 0.9 // They carry heavy things slightly better.
|
||||||
mob_size = MOB_MEDIUM // Technically doesn't even need this but still adding the override just in case.
|
mob_size = MOB_MEDIUM // Technically doesn't even need this but still adding the override just in case.
|
||||||
blood_volume = 640 // More blood to compound their high health.
|
blood_volume = 640 // More blood to compound their high health.
|
||||||
bloodloss_rate = 0.90 // Bleed slightly slower.
|
bloodloss_rate = 1 // Bleed normally.
|
||||||
num_alternate_languages = 3
|
num_alternate_languages = 3
|
||||||
name_language = LANGUAGE_XENOLINGUA
|
name_language = LANGUAGE_XENOLINGUA
|
||||||
species_language = LANGUAGE_XENOLINGUA
|
species_language = LANGUAGE_XENOLINGUA
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
color_mult = 1
|
color_mult = 1
|
||||||
health_hud_intensity = 1.5
|
health_hud_intensity = 1.5
|
||||||
chem_strength_alcohol = 1.2 // They don't handle their drinks very well.
|
chem_strength_alcohol = 1.2 // They don't handle their drinks very well.
|
||||||
throwforce_absorb_threshold = 10 // Heavy.
|
throwforce_absorb_threshold = 10 // Thrown objects don't do as much.
|
||||||
|
|
||||||
economic_modifier = 5 // While they aren't true Xenomorphs, they still draw a lot of social stigma, and are generally mistreated and underpaid as a result.
|
economic_modifier = 5 // While they aren't true Xenomorphs, they still draw a lot of social stigma, and are generally mistreated and underpaid as a result.
|
||||||
rarity_value = 4 // Very rare to find these guys on human stations.
|
rarity_value = 4 // Very rare to find these guys on human stations.
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
demeanour and innate xenomorph-inherited abilities are enough to draw widespread ire and distrust."
|
demeanour and innate xenomorph-inherited abilities are enough to draw widespread ire and distrust."
|
||||||
|
|
||||||
min_age = 18
|
min_age = 18
|
||||||
max_age = 300 // Big number lol
|
max_age = 150
|
||||||
|
|
||||||
move_trail = /obj/effect/decal/cleanable/blood/tracks/claw
|
move_trail = /obj/effect/decal/cleanable/blood/tracks/claw
|
||||||
digi_allowed = TRUE
|
digi_allowed = TRUE
|
||||||
@@ -123,18 +123,18 @@
|
|||||||
|
|
||||||
// Some Xeno parts included.
|
// Some Xeno parts included.
|
||||||
has_organ = list(
|
has_organ = list(
|
||||||
O_HEART = /obj/item/organ/internal/heart,
|
O_HEART = /obj/item/organ/internal/heart/grey/colormatch,
|
||||||
O_LUNGS = /obj/item/organ/internal/lungs,
|
O_LUNGS = /obj/item/organ/internal/lungs/grey/colormatch,
|
||||||
O_LIVER = /obj/item/organ/internal/liver,
|
O_LIVER = /obj/item/organ/internal/liver/grey/colormatch,
|
||||||
O_BRAIN = /obj/item/organ/internal/brain,
|
O_BRAIN = /obj/item/organ/internal/brain/grey/colormatch,
|
||||||
O_EYES = /obj/item/organ/internal/eyes,
|
O_EYES = /obj/item/organ/internal/eyes/grey/colormatch,
|
||||||
O_KIDNEYS = /obj/item/organ/internal/kidneys,
|
O_KIDNEYS = /obj/item/organ/internal/kidneys/grey/colormatch,
|
||||||
O_APPENDIX = /obj/item/organ/internal/appendix,
|
|
||||||
O_STOMACH = /obj/item/organ/internal/stomach,
|
O_STOMACH = /obj/item/organ/internal/stomach,
|
||||||
O_INTESTINE = /obj/item/organ/internal/intestine,
|
O_INTESTINE = /obj/item/organ/internal/intestine,
|
||||||
O_PLASMA = /obj/item/organ/internal/xenos/plasmavessel/weak, // Less plasma capacity.
|
O_PLASMA = /obj/item/organ/internal/xenos/plasmavessel/weak, // Less plasma capacity.
|
||||||
O_HIVE = /obj/item/organ/internal/xenos/hivenode, // Lets them speak Hivemind and open resin doors.
|
O_HIVE = /obj/item/organ/internal/xenos/hivenode, // Lets them speak Hivemind and open resin doors.
|
||||||
O_RESIN = /obj/item/organ/internal/xenos/resinspinner/weak // Weaker weed nodes with less spread range.
|
O_RESIN = /obj/item/organ/internal/xenos/resinspinner/weak, // Weaker weed nodes with less spread range.
|
||||||
|
O_EGG = /obj/item/organ/internal/xenos/eggsac // Fluff organ.
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -143,7 +143,7 @@
|
|||||||
"Our carapace bristles in the heat."
|
"Our carapace bristles in the heat."
|
||||||
)
|
)
|
||||||
|
|
||||||
cold_discomfort_level = 263.15 // -10 Celsius, comfortable in below freezing temperatures.
|
cold_discomfort_level = 253.15 // -20 Celsius, very comfortable in below freezing temperatures.
|
||||||
cold_discomfort_strings = list(
|
cold_discomfort_strings = list(
|
||||||
"The cold bites through our carapace."
|
"The cold bites through our carapace."
|
||||||
)
|
)
|
||||||
@@ -172,7 +172,15 @@
|
|||||||
heal_rate = 0 // No passive health regen without resting.
|
heal_rate = 0 // No passive health regen without resting.
|
||||||
mend_prob = 0 // No passive health regen without resting.
|
mend_prob = 0 // No passive health regen without resting.
|
||||||
|
|
||||||
//first heal damages
|
// First, heal internal organs.
|
||||||
|
for(var/obj/item/organ/I in H.internal_organs)
|
||||||
|
if(I.damage > 0)
|
||||||
|
I.damage = max(I.damage - heal_rate, 0)
|
||||||
|
if (prob(5))
|
||||||
|
to_chat(H, "<span class='alien'>We feel a soothing sensation within our [I.parent_organ]...</span>")
|
||||||
|
return 1
|
||||||
|
|
||||||
|
// Next, heal external damage.
|
||||||
if (H.getBruteLoss() || H.getFireLoss() || H.getOxyLoss() || H.getToxLoss())
|
if (H.getBruteLoss() || H.getFireLoss() || H.getOxyLoss() || H.getToxLoss())
|
||||||
H.adjustBruteLoss(-heal_rate)
|
H.adjustBruteLoss(-heal_rate)
|
||||||
H.adjustFireLoss(-heal_rate)
|
H.adjustFireLoss(-heal_rate)
|
||||||
@@ -182,15 +190,7 @@
|
|||||||
to_chat(H, "<span class='alien'>A soothing sensation falls over us...</span>")
|
to_chat(H, "<span class='alien'>A soothing sensation falls over us...</span>")
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
//next internal organs
|
// Lastly, mend broken bones. May remove this if it's abused.
|
||||||
for(var/obj/item/organ/I in H.internal_organs)
|
|
||||||
if(I.damage > 0)
|
|
||||||
I.damage = max(I.damage - heal_rate, 0)
|
|
||||||
if (prob(5))
|
|
||||||
to_chat(H, "<span class='alien'>We feel a soothing sensation within our [I.parent_organ]...</span>")
|
|
||||||
return 1
|
|
||||||
|
|
||||||
//next mend broken bones. May remove this if it's abused.
|
|
||||||
for(var/obj/item/organ/external/E in H.bad_external_organs)
|
for(var/obj/item/organ/external/E in H.bad_external_organs)
|
||||||
if (E.status & ORGAN_BROKEN)
|
if (E.status & ORGAN_BROKEN)
|
||||||
if (prob(mend_prob))
|
if (prob(mend_prob))
|
||||||
@@ -280,7 +280,7 @@
|
|||||||
// ORGANS //
|
// ORGANS //
|
||||||
|
|
||||||
/obj/item/organ/internal/xenos/resinspinner/weak
|
/obj/item/organ/internal/xenos/resinspinner/weak
|
||||||
name = "resin spinner"
|
name = "hybrid resin spinner"
|
||||||
parent_organ = BP_HEAD
|
parent_organ = BP_HEAD
|
||||||
icon_state = "xenode"
|
icon_state = "xenode"
|
||||||
organ_tag = O_RESIN
|
organ_tag = O_RESIN
|
||||||
|
|||||||
BIN
modular_chomp/icons/inventory/suit/mob_xenomorph_hybrid.dmi
Normal file
BIN
modular_chomp/icons/inventory/suit/mob_xenomorph_hybrid.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
@@ -97,6 +97,7 @@
|
|||||||
#include "code\__defines\species_languages_vr.dm"
|
#include "code\__defines\species_languages_vr.dm"
|
||||||
#include "code\__defines\species_languages_YW.dm"
|
#include "code\__defines\species_languages_YW.dm"
|
||||||
#include "code\__defines\sprite_sheets.dm"
|
#include "code\__defines\sprite_sheets.dm"
|
||||||
|
#include "code\__defines\sprite_sheets_ch.dm"
|
||||||
#include "code\__defines\sqlite_defines.dm"
|
#include "code\__defines\sqlite_defines.dm"
|
||||||
#include "code\__defines\stat_tracking.dm"
|
#include "code\__defines\stat_tracking.dm"
|
||||||
#include "code\__defines\subsystems.dm"
|
#include "code\__defines\subsystems.dm"
|
||||||
@@ -4694,6 +4695,8 @@
|
|||||||
#include "modular_chomp\code\modules\clothing\spacesuits\rig\modules\specific\mounted_gun.dm"
|
#include "modular_chomp\code\modules\clothing\spacesuits\rig\modules\specific\mounted_gun.dm"
|
||||||
#include "modular_chomp\code\modules\clothing\spacesuits\rig\modules\specific\protean.dm"
|
#include "modular_chomp\code\modules\clothing\spacesuits\rig\modules\specific\protean.dm"
|
||||||
#include "modular_chomp\code\modules\clothing\spacesuits\rig\suits\alien.dm"
|
#include "modular_chomp\code\modules\clothing\spacesuits\rig\suits\alien.dm"
|
||||||
|
#include "modular_chomp\code\modules\clothing\spacesuits\void\station.dm"
|
||||||
|
#include "modular_chomp\code\modules\clothing\spacesuits\void\void.dm"
|
||||||
#include "modular_chomp\code\modules\clothing\suits\armor.dm"
|
#include "modular_chomp\code\modules\clothing\suits\armor.dm"
|
||||||
#include "modular_chomp\code\modules\clothing\suits\jobs.dm"
|
#include "modular_chomp\code\modules\clothing\suits\jobs.dm"
|
||||||
#include "modular_chomp\code\modules\clothing\under\accessories\holster.dm"
|
#include "modular_chomp\code\modules\clothing\under\accessories\holster.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user