Merge remote-tracking branch 'upstream/master' into abductor-update
This commit is contained in:
@@ -13,8 +13,7 @@
|
||||
var/needs_processing = FALSE
|
||||
|
||||
var/body_zone //BODY_ZONE_CHEST, BODY_ZONE_L_ARM, etc , used for def_zone
|
||||
var/aux_zone // used for hands
|
||||
var/aux_layer
|
||||
var/list/aux_icons // associative list, currently used for hands
|
||||
var/body_part = null //bitflag used to check which clothes cover this bodypart
|
||||
var/use_digitigrade = NOT_DIGITIGRADE //Used for alternate legs, useless elsewhere
|
||||
var/list/embedded_objects = list()
|
||||
@@ -434,9 +433,9 @@
|
||||
. += image(body_markings_icon, "[body_markings]_[digitigrade_type]_[use_digitigrade]_[body_zone]", -MARKING_LAYER, image_dir)
|
||||
|
||||
var/image/limb = image(layer = -BODYPARTS_LAYER, dir = image_dir)
|
||||
var/image/aux
|
||||
var/list/aux = list()
|
||||
var/image/marking
|
||||
var/image/auxmarking
|
||||
var/list/auxmarking = list()
|
||||
|
||||
. += limb
|
||||
|
||||
@@ -502,13 +501,15 @@
|
||||
|
||||
// Citadel End
|
||||
|
||||
if(aux_zone)
|
||||
aux = image(limb.icon, "[species_id]_[aux_zone]", -aux_layer, image_dir)
|
||||
if(!isnull(aux_marking))
|
||||
if(species_id == "husk")
|
||||
auxmarking = image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[aux_zone]", -aux_layer, image_dir)
|
||||
else
|
||||
auxmarking = image(body_markings_icon, "[body_markings]_[aux_zone]", -aux_layer, image_dir)
|
||||
if(aux_icons)
|
||||
for(var/I in aux_icons)
|
||||
var/aux_layer = aux_icons[I]
|
||||
aux += image(limb.icon, "[species_id]_[I]", -aux_layer, image_dir)
|
||||
if(!isnull(aux_marking))
|
||||
if(species_id == "husk")
|
||||
auxmarking += image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[I]", -aux_layer, image_dir)
|
||||
else
|
||||
auxmarking += image(body_markings_icon, "[body_markings]_[I]", -aux_layer, image_dir)
|
||||
. += aux
|
||||
. += auxmarking
|
||||
|
||||
@@ -519,15 +520,17 @@
|
||||
else
|
||||
limb.icon_state = "[body_zone]"
|
||||
|
||||
if(aux_zone)
|
||||
aux = image(limb.icon, "[aux_zone]", -aux_layer, image_dir)
|
||||
if(aux_icons)
|
||||
for(var/I in aux_icons)
|
||||
var/aux_layer = aux_icons[I]
|
||||
aux += image(limb.icon, "[I]", -aux_layer, image_dir)
|
||||
if(!isnull(aux_marking))
|
||||
if(species_id == "husk")
|
||||
auxmarking += image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[I]", -aux_layer, image_dir)
|
||||
else
|
||||
auxmarking += image(body_markings_icon, "[body_markings]_[I]", -aux_layer, image_dir)
|
||||
. += auxmarking
|
||||
. += aux
|
||||
if(!isnull(aux_marking))
|
||||
if(species_id == "husk")
|
||||
auxmarking = image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[aux_zone]", -aux_layer, image_dir)
|
||||
else
|
||||
auxmarking = image(body_markings_icon, "[body_markings]_[aux_zone]", -aux_layer, image_dir)
|
||||
. += auxmarking
|
||||
|
||||
if(!isnull(body_markings))
|
||||
if(species_id == "husk")
|
||||
@@ -549,13 +552,17 @@
|
||||
var/draw_color = mutation_color || species_color || (skin_tone && skintone2hex(skin_tone))
|
||||
if(draw_color)
|
||||
limb.color = "#[draw_color]"
|
||||
if(aux_zone)
|
||||
aux.color = "#[draw_color]"
|
||||
if(aux_icons)
|
||||
for(var/a in aux)
|
||||
var/image/I = a
|
||||
I.color = "#[draw_color]"
|
||||
if(!isnull(aux_marking))
|
||||
if(species_id == "husk")
|
||||
auxmarking.color = "#141414"
|
||||
else
|
||||
auxmarking.color = list(markings_color)
|
||||
for(var/a in auxmarking)
|
||||
var/image/I = a
|
||||
if(species_id == "husk")
|
||||
I.color = "#141414"
|
||||
else
|
||||
I.color = list(markings_color)
|
||||
|
||||
if(!isnull(body_markings))
|
||||
if(species_id == "husk")
|
||||
@@ -633,8 +640,7 @@
|
||||
max_stamina_damage = 50
|
||||
body_zone = BODY_ZONE_L_ARM
|
||||
body_part = ARM_LEFT
|
||||
aux_zone = BODY_ZONE_PRECISE_L_HAND
|
||||
aux_layer = HANDS_PART_LAYER
|
||||
aux_icons = list(BODY_ZONE_PRECISE_L_HAND = HANDS_PART_LAYER, "l_hand_behind" = BODY_BEHIND_LAYER)
|
||||
body_damage_coeff = 0.75
|
||||
held_index = 1
|
||||
px_x = -6
|
||||
@@ -697,8 +703,7 @@
|
||||
max_damage = 50
|
||||
body_zone = BODY_ZONE_R_ARM
|
||||
body_part = ARM_RIGHT
|
||||
aux_zone = BODY_ZONE_PRECISE_R_HAND
|
||||
aux_layer = HANDS_PART_LAYER
|
||||
aux_icons = list(BODY_ZONE_PRECISE_R_HAND = HANDS_PART_LAYER, "r_hand_behind" = BODY_BEHIND_LAYER)
|
||||
body_damage_coeff = 0.75
|
||||
held_index = 2
|
||||
px_x = 6
|
||||
@@ -768,6 +773,8 @@
|
||||
px_y = 12
|
||||
stam_heal_tick = 2
|
||||
max_stamina_damage = 50
|
||||
var/blood_state = BLOOD_STATE_NOT_BLOODY
|
||||
var/list/bloody_legs = list(BLOOD_STATE_BLOOD = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0)
|
||||
|
||||
/obj/item/bodypart/l_leg/is_disabled()
|
||||
if(HAS_TRAIT(owner, TRAIT_PARALYSIS_L_LEG))
|
||||
@@ -828,6 +835,8 @@
|
||||
px_y = 12
|
||||
max_stamina_damage = 50
|
||||
stam_heal_tick = 2
|
||||
var/blood_state = BLOOD_STATE_NOT_BLOODY
|
||||
var/list/bloody_legs = list(BLOOD_STATE_BLOOD = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0)
|
||||
|
||||
/obj/item/bodypart/r_leg/is_disabled()
|
||||
if(HAS_TRAIT(owner, TRAIT_PARALYSIS_R_LEG))
|
||||
|
||||
@@ -49,6 +49,27 @@
|
||||
|
||||
|
||||
|
||||
/mob/proc/has_left_leg()
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/has_left_leg()
|
||||
var/obj/item/bodypart/l_leg = get_bodypart(BODY_ZONE_L_LEG)
|
||||
if(l_leg)
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/mob/proc/has_right_leg()
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/has_right_leg()
|
||||
var/obj/item/bodypart/r_leg = get_bodypart(BODY_ZONE_R_LEG)
|
||||
if(r_leg)
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
|
||||
//Limb numbers
|
||||
/mob/proc/get_num_arms(check_disabled = TRUE)
|
||||
return 2
|
||||
@@ -95,7 +116,7 @@
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/human/get_leg_ignore()
|
||||
if((movement_type & FLYING) || floating)
|
||||
if(movement_type & FLYING|FLOATING)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
var/datum/effect_system/trail_follow/ion/ion_trail
|
||||
|
||||
/obj/item/organ/cyberimp/chest/thrusters/Insert(mob/living/carbon/M, special = 0)
|
||||
..()
|
||||
. = ..()
|
||||
if(!ion_trail)
|
||||
ion_trail = new
|
||||
ion_trail.set_up(M)
|
||||
@@ -151,10 +151,14 @@
|
||||
on = TRUE
|
||||
if(allow_thrust(0.01))
|
||||
ion_trail.start()
|
||||
RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/move_react)
|
||||
owner.add_movespeed_modifier(MOVESPEED_ID_CYBER_THRUSTER, priority=100, multiplicative_slowdown=-2, movetypes=FLOATING, conflict=MOVE_CONFLICT_JETPACK)
|
||||
if(!silent)
|
||||
to_chat(owner, "<span class='notice'>You turn your thrusters set on.</span>")
|
||||
else
|
||||
ion_trail.stop()
|
||||
UnregisterSignal(owner, COMSIG_MOVABLE_MOVED)
|
||||
owner.remove_movespeed_modifier(MOVESPEED_ID_CYBER_THRUSTER)
|
||||
if(!silent)
|
||||
to_chat(owner, "<span class='notice'>You turn your thrusters set off.</span>")
|
||||
on = FALSE
|
||||
@@ -169,6 +173,9 @@
|
||||
var/datum/action/A = X
|
||||
A.UpdateButtonIcon()
|
||||
|
||||
/obj/item/organ/cyberimp/chest/thrusters/proc/move_react()
|
||||
allow_thrust(0.01)
|
||||
|
||||
/obj/item/organ/cyberimp/chest/thrusters/proc/allow_thrust(num)
|
||||
if(!on || !owner)
|
||||
return 0
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
/obj/item/organ/heart/prepare_eat()
|
||||
var/obj/S = ..()
|
||||
S.icon_state = "heart-off"
|
||||
S.icon_state = "[icon_base]-off"
|
||||
return S
|
||||
|
||||
/obj/item/organ/heart/on_life()
|
||||
@@ -90,6 +90,12 @@
|
||||
owner.set_heartattack(TRUE)
|
||||
failed = TRUE
|
||||
|
||||
obj/item/organ/heart/slime
|
||||
name = "slime heart"
|
||||
desc = "It seems we've gotten to the slimy core of the matter."
|
||||
icon_state = "heart-s-on"
|
||||
icon_base = "heart-s"
|
||||
|
||||
/obj/item/organ/heart/cursed
|
||||
name = "cursed heart"
|
||||
desc = "A heart that, when inserted, will force you to pump it manually."
|
||||
@@ -212,6 +218,19 @@ obj/item/organ/heart/cybernetic/upgraded/on_life()
|
||||
|
||||
|
||||
|
||||
/obj/item/organ/heart/ipc
|
||||
name = "IPC heart"
|
||||
desc = "An electronic pump that regulates hydraulic functions, they have an auto-restart after EMPs."
|
||||
icon_state = "heart-c"
|
||||
organ_flags = ORGAN_SYNTHETIC
|
||||
|
||||
/obj/item/organ/heart/ipc/emp_act()
|
||||
. = ..()
|
||||
if(. & EMP_PROTECT_SELF)
|
||||
return
|
||||
Stop()
|
||||
addtimer(CALLBACK(src, .proc/Restart), 10)
|
||||
|
||||
/obj/item/organ/heart/freedom
|
||||
name = "heart of freedom"
|
||||
desc = "This heart pumps with the passion to give... something freedom."
|
||||
|
||||
@@ -259,7 +259,6 @@
|
||||
name = "plasma bone \"tongue\""
|
||||
desc = "Like animated skeletons, Plasmamen vibrate their teeth in order to produce speech."
|
||||
icon_state = "tongueplasma"
|
||||
maxHealth = "alien"
|
||||
modifies_speech = FALSE
|
||||
|
||||
/obj/item/organ/tongue/robot
|
||||
|
||||
@@ -917,7 +917,7 @@
|
||||
speaktrigger += "[(H.client?.prefs.lewdchem?"You are my whole world and all of my being belongs to you, ":"I cannot think of anything else but aiding your cause, ")] "//Redflags!!
|
||||
|
||||
//mood
|
||||
GET_COMPONENT_FROM(mood, /datum/component/mood, H)
|
||||
var/datum/component/mood/mood = H.GetComponent(/datum/component/mood)
|
||||
switch(mood.sanity)
|
||||
if(SANITY_GREAT to INFINITY)
|
||||
speaktrigger += "I'm beyond elated!! " //did you mean byond elated? hohoho
|
||||
|
||||
Reference in New Issue
Block a user