mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 05:00:55 +01:00
Fixes xenomorph corrosive acid being used on mobs & fixes xeno limb examines (#68246)
* Removes the xenomorph's corrosive acid from being used on mobs, as they oneshot them. * Makes defines for species' limbs, and makes use of those. Also replaces some hardcodes with defines. * Makes Xenomorph bodyparts all alien bodytypes, so xenomorphs with something embedded will not state that they have something in their human limb.
This commit is contained in:
@@ -82,7 +82,7 @@
|
||||
///The limb is snouted
|
||||
#define BODYTYPE_SNOUTED (1<<5)
|
||||
|
||||
//Defines for Species IDs
|
||||
// Defines for Species IDs. Used to refer to the name of a species, for things like bodypart names or species preferences.
|
||||
#define SPECIES_ABDUCTOR "abductor"
|
||||
#define SPECIES_ANDROID "android"
|
||||
#define SPECIES_DULLAHAN "dullahan"
|
||||
@@ -111,6 +111,11 @@
|
||||
#define SPECIES_ZOMBIE_INFECTIOUS "memezombie"
|
||||
#define SPECIES_ZOMBIE_KROKODIL "krokodil_zombie"
|
||||
|
||||
// Like species IDs, but not specifically attached a species.
|
||||
#define BODYPART_TYPE_ALIEN "alien"
|
||||
#define BODYPART_TYPE_ROBOTIC "robotic"
|
||||
#define BODYPART_TYPE_DIGITIGRADE "digitigrade"
|
||||
|
||||
//See: datum/species/var/digitigrade_customization
|
||||
///The species does not have digitigrade legs in generation.
|
||||
#define DIGITIGRADE_NEVER 0
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/datum/species/shadow/nightmare
|
||||
name = "Nightmare"
|
||||
id = SPECIES_NIGHTMARE
|
||||
examine_limb_id = "shadow"
|
||||
examine_limb_id = SPECIES_SHADOW
|
||||
burnmod = 1.5
|
||||
no_equip = list(ITEM_SLOT_MASK, ITEM_SLOT_OCLOTHING, ITEM_SLOT_GLOVES, ITEM_SLOT_FEET, ITEM_SLOT_ICLOTHING, ITEM_SLOT_SUITSTORE)
|
||||
species_traits = list(NOBLOOD,NO_UNDERWEAR,NO_DNA_COPY,NOTRANSSTING,NOEYESPRITES)
|
||||
|
||||
@@ -218,6 +218,9 @@ Doesn't work on other aliens/AI.*/
|
||||
/datum/action/cooldown/alien/acid/corrosion/PreActivate(atom/target)
|
||||
if(get_dist(owner, target) > 1)
|
||||
return FALSE
|
||||
if(ismob(target)) //If it could corrode mobs, it would one-shot them.
|
||||
owner.balloon_alert(owner, "doesn't work on mobs!")
|
||||
return FALSE
|
||||
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
/obj/item/bodypart/chest/alien
|
||||
icon = 'icons/mob/animal_parts.dmi'
|
||||
icon_state = "alien_chest"
|
||||
limb_id = BODYPART_TYPE_ALIEN
|
||||
dismemberable = 0
|
||||
max_damage = 500
|
||||
animal_origin = ALIEN_BODYPART
|
||||
@@ -154,6 +155,7 @@
|
||||
/obj/item/bodypart/l_arm/alien
|
||||
icon = 'icons/mob/animal_parts.dmi'
|
||||
icon_state = "alien_l_arm"
|
||||
limb_id = BODYPART_TYPE_ALIEN
|
||||
px_x = 0
|
||||
px_y = 0
|
||||
dismemberable = FALSE
|
||||
@@ -249,10 +251,11 @@
|
||||
wound_resistance = -10
|
||||
px_x = 5
|
||||
px_y = -3
|
||||
|
||||
|
||||
/obj/item/bodypart/r_arm/alien
|
||||
icon = 'icons/mob/animal_parts.dmi'
|
||||
icon_state = "alien_r_arm"
|
||||
limb_id = BODYPART_TYPE_ALIEN
|
||||
px_x = 0
|
||||
px_y = 0
|
||||
dismemberable = FALSE
|
||||
@@ -342,6 +345,7 @@
|
||||
/obj/item/bodypart/l_leg/alien
|
||||
icon = 'icons/mob/animal_parts.dmi'
|
||||
icon_state = "alien_l_leg"
|
||||
limb_id = BODYPART_TYPE_ALIEN
|
||||
px_x = 0
|
||||
px_y = 0
|
||||
dismemberable = FALSE
|
||||
@@ -439,6 +443,7 @@
|
||||
/obj/item/bodypart/r_leg/alien
|
||||
icon = 'icons/mob/animal_parts.dmi'
|
||||
icon_state = "alien_r_leg"
|
||||
limb_id = BODYPART_TYPE_ALIEN
|
||||
px_x = 0
|
||||
px_y = 0
|
||||
dismemberable = FALSE
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
/obj/item/bodypart/l_arm/robot
|
||||
name = "cyborg left arm"
|
||||
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
|
||||
limb_id = "robotic"
|
||||
limb_id = BODYPART_TYPE_ROBOTIC
|
||||
attack_verb_simple = list("slapped", "punched")
|
||||
inhand_icon_state = "buildpipe"
|
||||
icon = 'icons/mob/augmentation/augments.dmi'
|
||||
@@ -43,7 +43,7 @@
|
||||
inhand_icon_state = "buildpipe"
|
||||
icon_static = 'icons/mob/augmentation/augments.dmi'
|
||||
icon = 'icons/mob/augmentation/augments.dmi'
|
||||
limb_id = "robotic"
|
||||
limb_id = BODYPART_TYPE_ROBOTIC
|
||||
flags_1 = CONDUCT_1
|
||||
icon_state = "borg_r_arm"
|
||||
is_dimorphic = FALSE
|
||||
@@ -69,7 +69,7 @@
|
||||
inhand_icon_state = "buildpipe"
|
||||
icon_static = 'icons/mob/augmentation/augments.dmi'
|
||||
icon = 'icons/mob/augmentation/augments.dmi'
|
||||
limb_id = "robotic"
|
||||
limb_id = BODYPART_TYPE_ROBOTIC
|
||||
flags_1 = CONDUCT_1
|
||||
icon_state = "borg_l_leg"
|
||||
is_dimorphic = FALSE
|
||||
@@ -95,7 +95,7 @@
|
||||
inhand_icon_state = "buildpipe"
|
||||
icon_static = 'icons/mob/augmentation/augments.dmi'
|
||||
icon = 'icons/mob/augmentation/augments.dmi'
|
||||
limb_id = "robotic"
|
||||
limb_id = BODYPART_TYPE_ROBOTIC
|
||||
flags_1 = CONDUCT_1
|
||||
icon_state = "borg_r_leg"
|
||||
is_dimorphic = FALSE
|
||||
@@ -120,7 +120,7 @@
|
||||
inhand_icon_state = "buildpipe"
|
||||
icon_static = 'icons/mob/augmentation/augments.dmi'
|
||||
icon = 'icons/mob/augmentation/augments.dmi'
|
||||
limb_id = "robotic"
|
||||
limb_id = BODYPART_TYPE_ROBOTIC
|
||||
flags_1 = CONDUCT_1
|
||||
icon_state = "borg_chest"
|
||||
is_dimorphic = FALSE
|
||||
@@ -228,7 +228,7 @@
|
||||
inhand_icon_state = "buildpipe"
|
||||
icon_static = 'icons/mob/augmentation/augments.dmi'
|
||||
icon = 'icons/mob/augmentation/augments.dmi'
|
||||
limb_id = "robotic"
|
||||
limb_id = BODYPART_TYPE_ROBOTIC
|
||||
flags_1 = CONDUCT_1
|
||||
icon_state = "borg_head"
|
||||
is_dimorphic = FALSE
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
/obj/item/bodypart/l_leg/digitigrade
|
||||
icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi'
|
||||
uses_mutcolor = TRUE
|
||||
limb_id = "digitigrade"
|
||||
limb_id = BODYPART_TYPE_DIGITIGRADE
|
||||
bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE
|
||||
|
||||
/obj/item/bodypart/l_leg/digitigrade/update_limb(dropping_limb = FALSE, is_creating = FALSE)
|
||||
@@ -52,15 +52,15 @@
|
||||
shoes_compatible = TRUE
|
||||
|
||||
if((uniform_compatible && suit_compatible && shoes_compatible) || (suit_compatible && shoes_compatible && human_owner.wear_suit?.flags_inv & HIDEJUMPSUIT)) //If the uniform is hidden, it doesnt matter if its compatible
|
||||
limb_id = "digitigrade"
|
||||
limb_id = BODYPART_TYPE_DIGITIGRADE
|
||||
|
||||
else
|
||||
limb_id = "lizard"
|
||||
limb_id = SPECIES_LIZARD
|
||||
|
||||
/obj/item/bodypart/r_leg/digitigrade
|
||||
icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi'
|
||||
uses_mutcolor = TRUE
|
||||
limb_id = "digitigrade"
|
||||
limb_id = BODYPART_TYPE_DIGITIGRADE
|
||||
bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE
|
||||
|
||||
/obj/item/bodypart/r_leg/digitigrade/update_limb(dropping_limb = FALSE, is_creating = FALSE)
|
||||
@@ -79,7 +79,7 @@
|
||||
shoes_compatible = TRUE
|
||||
|
||||
if((uniform_compatible && suit_compatible && shoes_compatible) || (suit_compatible && shoes_compatible && human_owner.wear_suit?.flags_inv & HIDEJUMPSUIT)) //If the uniform is hidden, it doesnt matter if its compatible
|
||||
limb_id = "digitigrade"
|
||||
limb_id = BODYPART_TYPE_DIGITIGRADE
|
||||
|
||||
else
|
||||
limb_id = "lizard"
|
||||
limb_id = SPECIES_LIZARD
|
||||
|
||||
Reference in New Issue
Block a user