mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 12:37:26 +01:00
Added Vox and Kidan as unlockable Karma species
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
var/track_blood = 0
|
||||
var/list/feet_blood_DNA
|
||||
var/track_blood_type
|
||||
var/track_blood_green = 0
|
||||
|
||||
/obj/item/clothing/gloves
|
||||
var/transfer_blood = 0
|
||||
@@ -11,6 +12,7 @@
|
||||
|
||||
/obj/item/clothing/shoes/
|
||||
var/track_blood = 0
|
||||
var/track_blood_green = 0
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/rag
|
||||
name = "damp rag"
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
/proc/getbrokeninhands()
|
||||
set name = "Broken Sprite List"
|
||||
set category = "Debug"
|
||||
|
||||
var/icon/IL = new('icons/mob/items_lefthand.dmi')
|
||||
var/list/Lstates = IL.IconStates()
|
||||
var/icon/IR = new('icons/mob/items_righthand.dmi')
|
||||
@@ -28,9 +31,8 @@
|
||||
//text+="\n"
|
||||
del(O)
|
||||
if(text)
|
||||
var/F = file("broken_icons.txt")
|
||||
var/F = file("broken_hand_icons.txt")
|
||||
fdel(F)
|
||||
F << text
|
||||
world << "Completeled successfully and written to [F]"
|
||||
|
||||
world << "Completed and written to [F]"
|
||||
|
||||
|
||||
@@ -72,9 +72,12 @@ var/global/vox_tick = 1
|
||||
affected.implants += I
|
||||
I.part = affected
|
||||
|
||||
if(ticker.mode && ( istype( ticker.mode,/datum/game_mode/vox/heist ) ) )
|
||||
if(ticker.mode && ( istype(ticker.mode,/datum/game_mode/vox/heist) ) )
|
||||
var/datum/game_mode/vox/heist/M = ticker.mode
|
||||
M.cortical_stacks += I
|
||||
else if(ticker.mode && ( istype(ticker.mode,/datum/game_mode/vox/trade) ) )
|
||||
var/datum/game_mode/vox/trade/M = ticker.mode
|
||||
M.cortical_stacks += I
|
||||
|
||||
vox_tick++
|
||||
if (vox_tick > 4) vox_tick = 1
|
||||
|
||||
@@ -902,9 +902,9 @@ datum/preferences
|
||||
s_tone = 0
|
||||
|
||||
if("language")
|
||||
var/languages_available
|
||||
// var/languages_available
|
||||
var/list/new_languages = list("None")
|
||||
|
||||
/*
|
||||
if(config.usealienwhitelist)
|
||||
for(var/L in all_languages)
|
||||
var/datum/language/lang = all_languages[L]
|
||||
@@ -915,10 +915,11 @@ datum/preferences
|
||||
if(!(languages_available))
|
||||
alert(user, "There are not currently any available secondary languages.")
|
||||
else
|
||||
for(var/L in all_languages)
|
||||
var/datum/language/lang = all_languages[L]
|
||||
if(!(lang.flags & RESTRICTED))
|
||||
new_languages += lang.name
|
||||
*/
|
||||
for(var/L in all_languages)
|
||||
var/datum/language/lang = all_languages[L]
|
||||
if(!(lang.flags & RESTRICTED))
|
||||
new_languages += lang.name
|
||||
|
||||
language = input("Please select a secondary language", "Character Generation", null) in new_languages
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
var/vision_flags = 0
|
||||
var/darkness_view = 0//Base human is 2
|
||||
var/invisa_view = 0
|
||||
|
||||
species_restricted = list("exclude","Kidan")
|
||||
/*
|
||||
SEE_SELF // can see self, no matter what
|
||||
SEE_MOBS // can see all mobs, no matter what
|
||||
|
||||
@@ -18,14 +18,14 @@
|
||||
if(!src.hanging)
|
||||
src.hanging = !src.hanging
|
||||
gas_transfer_coefficient = 1 //gas is now escaping to the turf and vice versa
|
||||
flags_inv |= MASKCOVERSMOUTH | MASKINTERNALS
|
||||
flags &= ~(MASKCOVERSMOUTH | MASKINTERNALS)
|
||||
icon_state = "breathdown"
|
||||
usr << "Your mask is now hanging on your neck."
|
||||
|
||||
else
|
||||
src.hanging = !src.hanging
|
||||
gas_transfer_coefficient = 0.10
|
||||
flags_inv &= ~(MASKCOVERSMOUTH | MASKINTERNALS)
|
||||
flags |= MASKCOVERSMOUTH | MASKINTERNALS
|
||||
icon_state = "breath"
|
||||
usr << "You pull the mask up to cover your face."
|
||||
usr.update_inv_wear_mask()
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
/proc/EquipRacialItems(mob/living/carbon/human/M)
|
||||
if(M.species.name=="Vox")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/vox(M), slot_shoes) // REPLACE THESE WITH CODED VOX ALTERNATIVES.
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/mask/breath/vox(M), slot_wear_mask)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(M), slot_back)
|
||||
|
||||
var/sounds = rand(2,10)
|
||||
var/i = 0
|
||||
var/newname = ""
|
||||
|
||||
while(i<=sounds)
|
||||
i++
|
||||
newname += pick(list("ti","hi","ki","ya","ta","ha","ka","ya","chi","cha","kah"))
|
||||
|
||||
M.real_name = capitalize(newname)
|
||||
M.name = M.real_name
|
||||
|
||||
if( M.species.name=="Tajaran" || M.species.name=="Unathi" )
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(M), slot_shoes)
|
||||
|
||||
/proc/EquipCustomItems(mob/living/carbon/human/M)
|
||||
testing("\[CustomItem\] Checking for custom items for [M.ckey] ([M.real_name])...")
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
/mob/living/carbon/alien/humanoid/u_equip(obj/item/W as obj)
|
||||
if (W == wear_suit)
|
||||
wear_suit = null
|
||||
update_inv_wear_suit(0)
|
||||
update_inv_wear_suit(0,0)
|
||||
else if (W == head)
|
||||
head = null
|
||||
update_inv_head(0)
|
||||
update_inv_head(0,0)
|
||||
else if (W == r_store)
|
||||
r_store = null
|
||||
update_inv_pockets(0)
|
||||
|
||||
@@ -43,8 +43,8 @@
|
||||
..()
|
||||
if (monkeyizing) return
|
||||
|
||||
update_inv_head(0)
|
||||
update_inv_wear_suit(0)
|
||||
update_inv_head(0,0)
|
||||
update_inv_wear_suit(0,0)
|
||||
update_inv_r_hand(0)
|
||||
update_inv_l_hand(0)
|
||||
update_inv_pockets(0)
|
||||
|
||||
@@ -318,12 +318,12 @@
|
||||
var/mob/living/carbon/human/H = src
|
||||
if(H.gloves)
|
||||
if(H.gloves.clean_blood())
|
||||
H.update_inv_gloves(0)
|
||||
H.update_inv_gloves(0,0)
|
||||
H.gloves.germ_level = 0
|
||||
else
|
||||
if(H.bloody_hands)
|
||||
H.bloody_hands = 0
|
||||
H.update_inv_gloves(0)
|
||||
H.update_inv_gloves(0,0)
|
||||
H.germ_level = 0
|
||||
update_icons() //apply the now updated overlays to the mob
|
||||
|
||||
|
||||
@@ -1163,7 +1163,10 @@
|
||||
if(blood_DNA[M.dna.unique_enzymes])
|
||||
return 0 //already bloodied with this blood. Cannot add more.
|
||||
blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
|
||||
src.update_inv_gloves() //handles bloody hands overlays and updating
|
||||
if(M.species.bloodflags & BLOOD_GREEN)
|
||||
src.update_inv_gloves(1,1) //handles bloody hands overlays and updating
|
||||
else
|
||||
src.update_inv_gloves(1,0)
|
||||
return 1 //we applied blood to the item
|
||||
|
||||
/mob/living/carbon/human/clean_blood()
|
||||
|
||||
@@ -256,7 +256,7 @@ emp_act
|
||||
update_inv_wear_mask(0)
|
||||
if(head)
|
||||
head.add_blood(src)
|
||||
update_inv_head(0)
|
||||
update_inv_head(0,0)
|
||||
if(glasses && prob(33))
|
||||
glasses.add_blood(src)
|
||||
update_inv_glasses(0)
|
||||
@@ -270,6 +270,7 @@ emp_act
|
||||
bloody_body(src)
|
||||
|
||||
/mob/living/carbon/human/proc/bloody_hands(var/mob/living/source, var/amount = 2)
|
||||
|
||||
if (gloves)
|
||||
gloves.add_blood(source)
|
||||
gloves:transfer_blood = amount
|
||||
@@ -278,12 +279,27 @@ emp_act
|
||||
add_blood(source)
|
||||
bloody_hands = amount
|
||||
bloody_hands_mob = source
|
||||
update_inv_gloves() //updates on-mob overlays for bloody hands and/or bloody gloves
|
||||
if(istype(source,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = source
|
||||
if(H.species.bloodflags & BLOOD_GREEN)
|
||||
update_inv_gloves(1,1) //updates on-mob overlays for bloody hands and/or bloody gloves
|
||||
else
|
||||
update_inv_gloves(1,0) //updates on-mob overlays for bloody hands and/or bloody gloves
|
||||
else
|
||||
update_inv_gloves(1,0) //updates on-mob overlays for bloody hands and/or bloody gloves
|
||||
|
||||
/mob/living/carbon/human/proc/bloody_body(var/mob/living/source)
|
||||
if(wear_suit)
|
||||
wear_suit.add_blood(source)
|
||||
update_inv_wear_suit(0)
|
||||
update_inv_wear_suit(0,0)
|
||||
return
|
||||
if(w_uniform)
|
||||
w_uniform.add_blood(source)
|
||||
update_inv_w_uniform(0)
|
||||
if(istype(source,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = source
|
||||
if(H.species.bloodflags & BLOOD_GREEN)
|
||||
update_inv_w_uniform(1,1)
|
||||
else
|
||||
update_inv_w_uniform(1,0)
|
||||
else
|
||||
update_inv_w_uniform(1,0)
|
||||
|
||||
@@ -499,7 +499,7 @@
|
||||
if(SA_pp > SA_para_min) // Enough to make us paralysed for a bit
|
||||
Paralyse(3) // 3 gives them one second to wake up and run away a bit!
|
||||
if(SA_pp > SA_sleep_min) // Enough to make us sleep as well
|
||||
sleeping = max(sleeping+2, 10)
|
||||
sleeping = min(sleeping+2, 10)
|
||||
else if(SA_pp > 0.15) // There is sleeping gas in their lungs, but only a little, so give them a bit of a warning
|
||||
if(prob(20))
|
||||
spawn(0) emote(pick("giggle", "laugh"))
|
||||
|
||||
@@ -489,15 +489,15 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
if(monkeyizing) return
|
||||
update_mutations(0)
|
||||
update_mutantrace(0)
|
||||
update_inv_w_uniform(0)
|
||||
update_inv_w_uniform(0,0)
|
||||
update_inv_wear_id(0)
|
||||
update_inv_gloves(0)
|
||||
update_inv_gloves(0,0)
|
||||
update_inv_glasses(0)
|
||||
update_inv_ears(0)
|
||||
update_inv_shoes(0)
|
||||
update_inv_shoes(0,0)
|
||||
update_inv_s_store(0)
|
||||
update_inv_wear_mask(0)
|
||||
update_inv_head(0)
|
||||
update_inv_head(0,0)
|
||||
update_inv_belt(0)
|
||||
update_inv_back(0)
|
||||
update_inv_wear_suit(0)
|
||||
@@ -514,7 +514,7 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
/* --------------------------------------- */
|
||||
//vvvvvv UPDATE_INV PROCS vvvvvv
|
||||
|
||||
/mob/living/carbon/human/update_inv_w_uniform(var/update_icons=1)
|
||||
/mob/living/carbon/human/update_inv_w_uniform(var/update_icons=1,var/green=0)
|
||||
if(w_uniform && istype(w_uniform, /obj/item/clothing/under) )
|
||||
w_uniform.screen_loc = ui_iclothing
|
||||
var/t_color = w_uniform._color
|
||||
@@ -539,8 +539,12 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
standing.icon = w_uniform.icon
|
||||
|
||||
if(w_uniform.blood_DNA)
|
||||
lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "uniformblood2")
|
||||
standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "uniformblood")
|
||||
if(green==1)
|
||||
lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "xuniformblood2")
|
||||
standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "xuniformblood")
|
||||
else
|
||||
lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "uniformblood2")
|
||||
standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "uniformblood")
|
||||
|
||||
if(w_uniform:hastie) //WE CHECKED THE TYPE ABOVE. THIS REALLY SHOULD BE FINE.
|
||||
var/tie_color = w_uniform:hastie._color
|
||||
@@ -580,22 +584,30 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
overlays_standing[ID_LAYER] = null
|
||||
if(update_icons) update_icons()
|
||||
|
||||
/mob/living/carbon/human/update_inv_gloves(var/update_icons=1)
|
||||
/mob/living/carbon/human/update_inv_gloves(var/update_icons=1,var/green=0)
|
||||
if(gloves)
|
||||
var/t_state = gloves.item_state
|
||||
if(!t_state) t_state = gloves.icon_state
|
||||
var/image/lying = image("icon" = 'icons/mob/hands.dmi', "icon_state" = "[t_state]2")
|
||||
var/image/standing = image("icon" = 'icons/mob/hands.dmi', "icon_state" = "[t_state]")
|
||||
if(gloves.blood_DNA)
|
||||
lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "bloodyhands2")
|
||||
standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "bloodyhands")
|
||||
if(green==1)
|
||||
lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "xbloodyhands2")
|
||||
standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "xbloodyhands")
|
||||
else
|
||||
lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "bloodyhands2")
|
||||
standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "bloodyhands")
|
||||
gloves.screen_loc = ui_gloves
|
||||
overlays_lying[GLOVES_LAYER] = lying
|
||||
overlays_standing[GLOVES_LAYER] = standing
|
||||
else
|
||||
if(blood_DNA)
|
||||
overlays_lying[GLOVES_LAYER] = image("icon" = 'icons/effects/blood.dmi', "icon_state" = "bloodyhands2")
|
||||
overlays_standing[GLOVES_LAYER] = image("icon" = 'icons/effects/blood.dmi', "icon_state" = "bloodyhands")
|
||||
if (green)
|
||||
overlays_lying[GLOVES_LAYER] = image("icon" = 'icons/effects/blood.dmi', "icon_state" = "xbloodyhands2")
|
||||
overlays_standing[GLOVES_LAYER] = image("icon" = 'icons/effects/blood.dmi', "icon_state" = "xbloodyhands")
|
||||
else
|
||||
overlays_lying[GLOVES_LAYER] = image("icon" = 'icons/effects/blood.dmi', "icon_state" = "bloodyhands2")
|
||||
overlays_standing[GLOVES_LAYER] = image("icon" = 'icons/effects/blood.dmi', "icon_state" = "bloodyhands")
|
||||
else
|
||||
overlays_lying[GLOVES_LAYER] = null
|
||||
overlays_standing[GLOVES_LAYER] = null
|
||||
@@ -626,7 +638,7 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
overlays_standing[EARS_LAYER] = null
|
||||
if(update_icons) update_icons()
|
||||
|
||||
/mob/living/carbon/human/update_inv_shoes(var/update_icons=1)
|
||||
/mob/living/carbon/human/update_inv_shoes(var/update_icons=1,var/green=0)
|
||||
if(shoes)
|
||||
var/dmi='icons/mob/feet.dmi'
|
||||
if(shoes.custom)
|
||||
@@ -634,8 +646,12 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
var/image/lying = image("icon" = dmi, "icon_state" = "[shoes.icon_state]2")
|
||||
var/image/standing = image("icon" = dmi, "icon_state" = "[shoes.icon_state]")
|
||||
if(shoes.blood_DNA)
|
||||
lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "shoeblood2")
|
||||
standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "shoeblood")
|
||||
if(green==1)
|
||||
lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "xshoeblood2")
|
||||
standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "xshoeblood")
|
||||
else
|
||||
lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "shoeblood2")
|
||||
standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "shoeblood")
|
||||
overlays_lying[SHOES_LAYER] = lying
|
||||
overlays_standing[SHOES_LAYER] = standing
|
||||
else
|
||||
@@ -660,7 +676,7 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
if(update_icons) update_icons()
|
||||
|
||||
|
||||
/mob/living/carbon/human/update_inv_head(var/update_icons=1)
|
||||
/mob/living/carbon/human/update_inv_head(var/update_icons=1,var/green=0)
|
||||
if(head)
|
||||
head.screen_loc = ui_head //TODO
|
||||
var/image/lying
|
||||
@@ -675,8 +691,12 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
lying = image("icon" = dmi, "icon_state" = "[head.icon_state]2")
|
||||
standing = image("icon" = dmi, "icon_state" = "[head.icon_state]")
|
||||
if(head.blood_DNA)
|
||||
lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "helmetblood2")
|
||||
standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "helmetblood")
|
||||
if(green==1)
|
||||
lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "xhelmetblood2")
|
||||
standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "xhelmetblood")
|
||||
else
|
||||
lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "helmetblood2")
|
||||
standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "helmetblood")
|
||||
overlays_lying[HEAD_LAYER] = lying
|
||||
overlays_standing[HEAD_LAYER] = standing
|
||||
else
|
||||
|
||||
@@ -82,6 +82,10 @@
|
||||
adult.name = src.name
|
||||
adult.real_name = src.real_name
|
||||
adult.ckey = src.ckey
|
||||
|
||||
for (var/obj/item/W in src.contents)
|
||||
src.drop_from_inventory(W)
|
||||
|
||||
del(src)
|
||||
|
||||
/mob/living/carbon/monkey/diona/verb/steal_blood()
|
||||
|
||||
@@ -383,7 +383,7 @@
|
||||
if (M.lying && (prob(M.getBruteLoss() / 6)))
|
||||
var/turf/location = M.loc
|
||||
if (istype(location, /turf/simulated))
|
||||
location.add_blood(M)
|
||||
location.add_blood()
|
||||
|
||||
|
||||
step(pulling, get_dir(pulling.loc, T))
|
||||
|
||||
@@ -80,7 +80,7 @@ var/list/department_radio_keys = list(
|
||||
*/
|
||||
|
||||
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
|
||||
message = capitalize(message)
|
||||
|
||||
|
||||
/*
|
||||
Sanity checking and speech failure.
|
||||
@@ -166,6 +166,8 @@ var/list/department_radio_keys = list(
|
||||
if(src.stunned > 2 || (traumatic_shock > 61 && prob(50)))
|
||||
message_mode = null //Stunned people shouldn't be able to physically turn on their radio/hold down the button to speak into it
|
||||
|
||||
message = capitalize(message)
|
||||
|
||||
if (!message)
|
||||
return
|
||||
|
||||
|
||||
@@ -1164,16 +1164,16 @@
|
||||
if(cleaned_human.lying)
|
||||
if(cleaned_human.head)
|
||||
cleaned_human.head.clean_blood()
|
||||
cleaned_human.update_inv_head(0)
|
||||
cleaned_human.update_inv_head(0,0)
|
||||
if(cleaned_human.wear_suit)
|
||||
cleaned_human.wear_suit.clean_blood()
|
||||
cleaned_human.update_inv_wear_suit(0)
|
||||
cleaned_human.update_inv_wear_suit(0,0)
|
||||
else if(cleaned_human.w_uniform)
|
||||
cleaned_human.w_uniform.clean_blood()
|
||||
cleaned_human.update_inv_w_uniform(0)
|
||||
cleaned_human.update_inv_w_uniform(0,0)
|
||||
if(cleaned_human.shoes)
|
||||
cleaned_human.shoes.clean_blood()
|
||||
cleaned_human.update_inv_shoes(0)
|
||||
cleaned_human.update_inv_shoes(0,0)
|
||||
cleaned_human.clean_blood()
|
||||
cleaned_human << "\red [src] cleans your face!"
|
||||
return
|
||||
|
||||
@@ -548,6 +548,7 @@ var/list/slot_equipment_priority = list( \
|
||||
onclose(usr, "[name]")
|
||||
if(href_list["flavor_change"])
|
||||
update_flavor_text()
|
||||
|
||||
// ..()
|
||||
return
|
||||
|
||||
|
||||
@@ -285,6 +285,7 @@
|
||||
job_master.AssignRole(src, rank, 1)
|
||||
|
||||
var/mob/living/carbon/human/character = create_character() //creates the human and transfers vars and mind
|
||||
EquipRacialItems(character)
|
||||
job_master.EquipRank(character, rank, 1) //equips the human
|
||||
EquipCustomItems(character)
|
||||
character.loc = pick(latejoin)
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
name = "Shaved"
|
||||
icon_state = "bald"
|
||||
gender = NEUTER
|
||||
species_allowed = list("Human","Unathi","Tajaran","Skrell","Vox")
|
||||
species_allowed = list("Human","Unathi","Tajaran","Skrell","Vox","Diona","Skellington","Kidan")
|
||||
|
||||
watson
|
||||
name = "Watson Mustache"
|
||||
|
||||
@@ -132,23 +132,45 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
|
||||
var/amm = 0.1 * amt
|
||||
var/turf/T = get_turf(src)
|
||||
var/list/obj/effect/decal/cleanable/blood/drip/nums = list()
|
||||
|
||||
var/list/iconL = list("1","2","3","4","5")
|
||||
|
||||
vessel.remove_reagent("blood",amm)
|
||||
if(src.species.bloodflags &BLOOD_GREEN)
|
||||
var/list/obj/effect/decal/cleanable/blood/drip/green/nums2 = list()
|
||||
iconL = list("g1","g2","g3","g4","g5")
|
||||
|
||||
for(var/obj/effect/decal/cleanable/blood/drip/G in T)
|
||||
nums += G
|
||||
iconL.Remove(G.icon_state)
|
||||
vessel.remove_reagent("blood",amm)
|
||||
|
||||
for(var/obj/effect/decal/cleanable/blood/drip/green/G in T)
|
||||
nums2 += G
|
||||
iconL.Remove(G.icon_state)
|
||||
|
||||
if (nums2.len < 5)
|
||||
var/obj/effect/decal/cleanable/blood/drip/green/this = new(T)
|
||||
this.icon_state = pick(iconL)
|
||||
this.blood_DNA = list()
|
||||
this.blood_DNA[dna.unique_enzymes] = dna.b_type
|
||||
else
|
||||
for(var/obj/effect/decal/cleanable/blood/drip/green/G in nums)
|
||||
del G
|
||||
T.add_blood(src)
|
||||
|
||||
if (nums.len < 5)
|
||||
var/obj/effect/decal/cleanable/blood/drip/this = new(T)
|
||||
this.icon_state = pick(iconL)
|
||||
this.blood_DNA = list()
|
||||
this.blood_DNA[dna.unique_enzymes] = dna.b_type
|
||||
else
|
||||
for(var/obj/effect/decal/cleanable/blood/drip/G in nums)
|
||||
del G
|
||||
T.add_blood(src)
|
||||
vessel.remove_reagent("blood",amm)
|
||||
|
||||
for(var/obj/effect/decal/cleanable/blood/drip/G in T)
|
||||
nums += G
|
||||
iconL.Remove(G.icon_state)
|
||||
|
||||
if (nums.len < 5)
|
||||
var/obj/effect/decal/cleanable/blood/drip/this = new(T)
|
||||
this.icon_state = pick(iconL)
|
||||
this.blood_DNA = list()
|
||||
this.blood_DNA[dna.unique_enzymes] = dna.b_type
|
||||
else
|
||||
for(var/obj/effect/decal/cleanable/blood/drip/G in nums)
|
||||
del G
|
||||
T.add_blood(src)
|
||||
|
||||
/****************************************************
|
||||
BLOOD TRANSFERS
|
||||
|
||||
@@ -1235,16 +1235,16 @@ datum
|
||||
var/mob/living/carbon/human/H = C
|
||||
if(H.head)
|
||||
if(H.head.clean_blood())
|
||||
H.update_inv_head(0)
|
||||
H.update_inv_head(0,0)
|
||||
if(H.wear_suit)
|
||||
if(H.wear_suit.clean_blood())
|
||||
H.update_inv_wear_suit(0)
|
||||
H.update_inv_wear_suit(0,0)
|
||||
else if(H.w_uniform)
|
||||
if(H.w_uniform.clean_blood())
|
||||
H.update_inv_w_uniform(0)
|
||||
H.update_inv_w_uniform(0,0)
|
||||
if(H.shoes)
|
||||
if(H.shoes.clean_blood())
|
||||
H.update_inv_shoes(0)
|
||||
H.update_inv_shoes(0,0)
|
||||
M.clean_blood()
|
||||
|
||||
plantbgone
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
max_duration = 90
|
||||
|
||||
can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if (!ishuman(target))
|
||||
return 0
|
||||
return ..() && target.op_stage.appendix == 0
|
||||
|
||||
begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
|
||||
Reference in New Issue
Block a user