Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into intercom

Conflicts:
	code/modules/projectiles/guns/projectile/automatic.dm
	icons/mob/back.dmi
This commit is contained in:
Markolie
2015-09-15 04:18:27 +02:00
108 changed files with 1554 additions and 2133 deletions
@@ -355,4 +355,7 @@ In all, this is a lot like the monkey code. /N
else if(custom_pixel_x_offset)
return custom_pixel_x_offset
else
return initial(pixel_x)
return initial(pixel_x)
/mob/living/carbon/alien/humanoid/get_permeability_protection()
return 0.8
+21 -1
View File
@@ -1759,4 +1759,24 @@
return 1
if(!silent)
src << "<span class='warning'>You don't have the dexterity to use that!<span>"
return 0
return 0
/mob/living/carbon/human/get_permeability_protection()
var/list/prot = list("hands"=0, "chest"=0, "groin"=0, "legs"=0, "feet"=0, "arms"=0, "head"=0)
for(var/obj/item/I in get_equipped_items())
if(I.body_parts_covered & HANDS)
prot["hands"] = max(1 - I.permeability_coefficient, prot["hands"])
if(I.body_parts_covered & UPPER_TORSO)
prot["chest"] = max(1 - I.permeability_coefficient, prot["chest"])
if(I.body_parts_covered & LOWER_TORSO)
prot["groin"] = max(1 - I.permeability_coefficient, prot["groin"])
if(I.body_parts_covered & LEGS)
prot["legs"] = max(1 - I.permeability_coefficient, prot["legs"])
if(I.body_parts_covered & FEET)
prot["feet"] = max(1 - I.permeability_coefficient, prot["feet"])
if(I.body_parts_covered & ARMS)
prot["arms"] = max(1 - I.permeability_coefficient, prot["arms"])
if(I.body_parts_covered & HEAD)
prot["head"] = max(1 - I.permeability_coefficient, prot["head"])
var/protection = (prot["head"] + prot["arms"] + prot["feet"] + prot["legs"] + prot["groin"] + prot["chest"] + prot["hands"])/7
return protection
@@ -35,7 +35,8 @@
"antennae" = /obj/item/organ/wryn/hivenode
)
flags = IS_WHITELISTED | HAS_LIPS | HAS_UNDERWEAR | NO_BREATHE | HAS_SKIN_COLOR | NO_SCAN | NO_SCAN | HIVEMIND
flags = IS_WHITELISTED | HAS_LIPS | NO_BREATHE | HAS_SKIN_COLOR | NO_SCAN | NO_SCAN | HIVEMIND
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
dietflags = DIET_HERB //bees feed off nectar, so bee people feed off plants too
reagent_tag = PROCESS_ORG
@@ -61,6 +61,7 @@
var/has_fine_manipulation = 1 // Can use small items.
var/flags = 0 // Various specific features.
var/clothing_flags = 0 // Underwear and socks.
var/bloodflags = 0
var/bodyflags = 0
var/dietflags = 0 // Make sure you set this, otherwise it won't be able to digest a lot of foods
@@ -6,7 +6,8 @@
primitive_form = "Monkey"
path = /mob/living/carbon/human/human
language = "Sol Common"
flags = HAS_LIPS | HAS_UNDERWEAR | CAN_BE_FAT
flags = HAS_LIPS | CAN_BE_FAT
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
bodyflags = HAS_SKIN_TONE
dietflags = DIET_OMNI
unarmed_type = /datum/unarmed_attack/punch
@@ -37,7 +38,8 @@
else, frequently even their own lives. They prefer warmer temperatures than most species and \
their native tongue is a heavy hissing laungage called Sinta'Unathi."
flags = HAS_LIPS | HAS_UNDERWEAR
flags = HAS_LIPS
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
bodyflags = FEET_CLAWS | HAS_TAIL | HAS_SKIN_COLOR | TAIL_WAGGING
dietflags = DIET_CARN
@@ -88,7 +90,8 @@
primitive_form = "Farwa"
flags = HAS_LIPS | HAS_UNDERWEAR | CAN_BE_FAT
flags = HAS_LIPS | CAN_BE_FAT
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
bodyflags = FEET_PADDED | HAS_TAIL | HAS_SKIN_COLOR | TAIL_WAGGING
dietflags = DIET_OMNI
@@ -119,7 +122,8 @@
to the degree it can cause conflict with more rigorous and strict authorities. They speak a guttural language known as 'Canilunzt' \
which has a heavy emphasis on utilizing tail positioning and ear twitches to communicate intent."
flags = HAS_LIPS | HAS_UNDERWEAR
flags = HAS_LIPS
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
bodyflags = FEET_PADDED | HAS_TAIL | HAS_SKIN_COLOR | TAIL_WAGGING
dietflags = DIET_OMNI
@@ -148,7 +152,8 @@
herbivores on the whole and tend to be co-operative with the other species of the galaxy, although they rarely reveal \
the secrets of their empire to their allies."
flags = HAS_LIPS | HAS_UNDERWEAR
flags = HAS_LIPS
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
bodyflags = HAS_SKIN_COLOR
dietflags = DIET_HERB
@@ -190,6 +195,7 @@
poison_type = "oxygen"
flags = NO_SCAN | IS_WHITELISTED
clothing_flags = HAS_SOCKS
dietflags = DIET_OMNI
blood_color = "#2299FC"
@@ -278,6 +284,7 @@
brute_mod = 0.8
flags = IS_WHITELISTED
clothing_flags = HAS_SOCKS
bodyflags = FEET_CLAWS
dietflags = DIET_HERB
@@ -295,6 +302,7 @@
unarmed_type = /datum/unarmed_attack/punch
flags = IS_WHITELISTED | NO_BREATHE | HAS_LIPS | NO_INTORGANS | NO_SCAN
clothing_flags = HAS_SOCKS
bodyflags = HAS_SKIN_COLOR
bloodflags = BLOOD_SLIME
dietflags = DIET_CARN
@@ -322,7 +330,8 @@
default_genes = list(REMOTE_TALK)
flags = IS_WHITELISTED | HAS_LIPS | HAS_UNDERWEAR | CAN_BE_FAT
flags = IS_WHITELISTED | HAS_LIPS | CAN_BE_FAT
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
dietflags = DIET_HERB
reagent_tag = PROCESS_ORG
@@ -373,6 +382,7 @@
water and other radiation."
flags = NO_BREATHE | REQUIRE_LIGHT | IS_PLANT | RAD_ABSORB | NO_BLOOD | NO_PAIN
clothing_flags = HAS_SOCKS
dietflags = 0 //Diona regenerate nutrition in light, no diet necessary
body_temperature = T0C + 15 //make the plant people have a bit lower body temperature, why not
@@ -467,6 +477,7 @@
passive_temp_gain = 10 //this should cause IPCs to stabilize at ~80 C in a 20 C environment.
flags = IS_WHITELISTED | NO_BREATHE | NO_SCAN | NO_BLOOD | NO_PAIN | NO_DNA_RAD
clothing_flags = HAS_SOCKS
dietflags = 0 //IPCs can't eat, so no diet
blood_color = "#1F181F"
flesh_color = "#AAAAAA"
@@ -317,18 +317,18 @@ var/global/list/damage_icon_parts = list()
stand_icon.Blend(base_icon,ICON_OVERLAY)
//Underwear
if(underwear && species.flags & HAS_UNDERWEAR)
if(underwear && species.clothing_flags & HAS_UNDERWEAR)
var/datum/sprite_accessory/underwear/U = underwear_list[underwear]
if(U)
stand_icon.Blend(new /icon(U.icon, "uw_[U.icon_state]_s"), ICON_OVERLAY)
if(undershirt && species.flags & HAS_UNDERWEAR)
if(undershirt && species.clothing_flags & HAS_UNDERSHIRT)
var/datum/sprite_accessory/undershirt/U2 = undershirt_list[undershirt]
if(U2)
stand_icon.Blend(new /icon(U2.icon, "us_[U2.icon_state]_s"), ICON_OVERLAY)
if(socks)
if(socks && species.clothing_flags & HAS_SOCKS)
var/datum/sprite_accessory/socks/U3 = socks_list[socks]
if(U3)
stand_icon.Blend(new /icon(U3.icon, "sk_[U3.icon_state]_s"), ICON_OVERLAY)
+4
View File
@@ -937,3 +937,7 @@
/mob/living/proc/spawn_dust()
new /obj/effect/decal/cleanable/ash(loc)
//used in datum/reagents/reaction() proc
/mob/living/proc/get_permeability_protection()
return 0
+15 -6
View File
@@ -551,13 +551,22 @@
return H
/mob/living/silicon/pai/MouseDrop(atom/over_object)
var/mob/living/carbon/H = over_object
if(!istype(H) || !Adjacent(H)) return ..()
if(H.a_intent == I_HELP)
get_scooped(H)
//return
var/mob/living/carbon/human/H = over_object //changed to human to avoid stupid issues like xenos holding pAIs.
if(!istype(H) || !Adjacent(H)) return ..()
if(usr == src)
switch(alert(H, "[src] wants you to pick them up. Do it?",,"Yes","No"))
if("Yes")
if(Adjacent(H))
get_scooped(H)
else
src << "<span class='warning'>You need to stay in reaching distance to be picked up.</span>"
if("No")
src << "<span class='warning'>[H] decided not to pick you up.</span>"
else
return ..()
if(Adjacent(H))
get_scooped(H)
else
return ..()
/mob/living/silicon/pai/on_forcemove(atom/newloc)
if(card)
@@ -36,6 +36,8 @@
faction = list("mimic")
move_to_delay = 9
var/is_electronic = 0
/mob/living/simple_animal/hostile/mimic/FindTarget()
. = ..()
if(.)
@@ -47,7 +49,14 @@
ghostize()
qdel(src)
/mob/living/simple_animal/hostile/mimic/emp_act(severity)
if(is_electronic)
switch(severity)
if(1)
Die()
if(2)
adjustBruteLoss(50)
..(severity)
//
// Crate Mimic
@@ -188,12 +197,16 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca
knockdown_people = 1
melee_damage_lower *= 2
melee_damage_upper *= 2
if(istype(O, /obj/machinery))
is_electronic = 1
else if(istype(O, /obj/item))
var/obj/item/I = O
health = 15 * I.w_class
melee_damage_lower = 2 + I.force
melee_damage_upper = 2 + I.force
move_to_delay = 2 * I.w_class + 1
if(istype(O, /obj/item/device))
is_electronic = 1
maxHealth = health
if(creator)
@@ -0,0 +1,23 @@
/mob/living/simple_animal/hostile/retaliate/araneus
name = "Sergeant Araneus"
real_name = "Sergeant Araneus"
voice_name = "unidentifiable voice"
desc = "A fierce companion for any person of power, this spider has been carefully trained by Nanotrasen specialists. Its beady, staring eyes send shivers down your spine."
faction = list("spiders")
icon_state = "guard"
icon_living = "guard"
icon_dead = "guard_dead"
icon_gib = "guard_dead"
turns_per_move = 8
response_help = "pets"
emote_hear = list("chitters")
maxHealth = 250
health = 200
harm_intent_damage = 3
melee_damage_lower = 15
melee_damage_upper = 20
min_oxy = 5
max_tox = 2
max_co2 = 5
@@ -254,19 +254,19 @@ datum/preferences
var/icon/underwear_s = null
if(underwear && current_species.flags & HAS_UNDERWEAR)
if(underwear && current_species.clothing_flags & HAS_UNDERWEAR)
var/datum/sprite_accessory/underwear/U = underwear_list[underwear]
if(U)
underwear_s = new/icon(U.icon, "[U.icon_state]_s", ICON_OVERLAY)
var/icon/undershirt_s = null
if(undershirt && current_species.flags & HAS_UNDERWEAR)
if(undershirt && current_species.clothing_flags & HAS_UNDERSHIRT)
var/datum/sprite_accessory/undershirt/U2 = undershirt_list[undershirt]
if(U2)
undershirt_s = new/icon(U2.icon, "[U2.icon_state]_s", ICON_OVERLAY)
var/icon/socks_s = null
if(socks)
if(socks && current_species.clothing_flags & HAS_SOCKS)
var/datum/sprite_accessory/socks/U3 = socks_list[socks]
if(U3)
socks_s = new/icon(U3.icon, "[U3.icon_state]_s", ICON_OVERLAY)
@@ -1272,118 +1272,118 @@
name = "Nude"
icon_state = null
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington","Vox")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington","Vox")
/datum/sprite_accessory/socks/white_norm
name = "Normal White"
icon_state = "white_norm"
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/black_norm
name = "Normal Black"
icon_state = "black_norm"
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/white_short
name = "Short White"
icon_state = "white_short"
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/black_short
name = "Short Black"
icon_state = "black_short"
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/white_knee
name = "Knee-high White"
icon_state = "white_knee"
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/black_knee
name = "Knee-high Black"
icon_state = "black_knee"
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/thin_knee
name = "Knee-high Thin"
icon_state = "thin_knee"
gender = FEMALE
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/striped_knee
name = "Knee-high Striped"
icon_state = "striped_knee"
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/rainbow_knee
name = "Knee-high Rainbow"
icon_state = "rainbow_knee"
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/white_thigh
name = "Thigh-high White"
icon_state = "white_thigh"
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/black_thigh
name = "Thigh-high Black"
icon_state = "black_thigh"
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/thin_thigh
name = "Thigh-high Thin"
icon_state = "thin_thigh"
gender = FEMALE
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/striped_thigh
name = "Thigh-high Striped"
icon_state = "striped_thigh"
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/rainbow_thigh
name = "Thigh-high Rainbow"
icon_state = "rainbow_thigh"
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/pantyhose
name = "Pantyhose"
icon_state = "pantyhose"
gender = FEMALE
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/black_fishnet
name = "Black Fishnet"
icon_state = "black_fishnet"
gender = NEUTER
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpakanin","Slime People","Skellington")
species_allowed = list("Human","Unathi","Diona","Grey","Machine","Tajaran","Vulpkanin","Slime People","Skellington")
/datum/sprite_accessory/socks/vox_white
name = "Vox White"
-54
View File
@@ -3,60 +3,6 @@
H.dna.SetSEState(MONKEYBLOCK,1)
domutcheck(H, null)
/*
/mob/living/carbon/human/proc/monkeyize()
if (notransform)
return
for(var/obj/item/W in src)
if (W==w_uniform) // will be torn
continue
unEquip(W)
regenerate_icons()
notransform = 1
canmove = 0
stunned = 1
icon = null
invisibility = 101
for(var/t in organs)
del(t)
var/atom/movable/overlay/animation = new /atom/movable/overlay( loc )
animation.icon_state = "blank"
animation.icon = 'icons/mob/mob.dmi'
animation.master = src
flick("h2monkey", animation)
sleep(48)
//animation = null
if(!species.primitive) //If the creature in question has no primitive set, this is going to be messy.
gib()
return
var/mob/living/carbon/monkey/O = null
O = new species.primitive(loc)
O.dna = dna.Clone()
O.dna.SetSEState(MONKEYBLOCK,1)
O.dna.SetSEValueRange(MONKEYBLOCK,0xDAC, 0xFFF)
O.loc = loc
O.viruses = viruses
O.a_intent = I_HARM
if (client)
client.mob = O
if(mind)
mind.transfer_to(O)
O << "<B>You are now [O]. </B>"
spawn(0)//To prevent the proc from returning null.
del(src)
del(animation)
return O
*/
/mob/new_player/AIize()
spawning = 1
return ..()