Added Vox and Kidan as unlockable Karma species

This commit is contained in:
ZomgPonies
2013-10-04 02:57:42 -04:00
parent ace911405c
commit aa79d1323b
37 changed files with 345 additions and 126 deletions
@@ -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"
+5 -3
View File
@@ -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]"
+4 -1
View File
@@ -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
+7 -6
View File
@@ -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
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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()
+19
View File
@@ -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)
+2 -2
View File
@@ -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)
+1 -1
View File
@@ -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()
+1 -1
View File
@@ -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))
+3 -1
View File
@@ -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
+1
View File
@@ -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"
+34 -12
View File
@@ -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
+4 -4
View File
@@ -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
+2
View File
@@ -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)