Merge with upstream/master

Fixes conflicts
This commit is contained in:
DZD
2015-02-18 13:41:32 -05:00
325 changed files with 5353 additions and 3917 deletions
@@ -234,4 +234,6 @@
sleep(2)
new /obj/item/clothing/suit/space/eva/paramedic(src)
new /obj/item/clothing/head/helmet/space/eva/paramedic(src)
new /obj/item/clothing/head/helmet/space/eva/paramedic(src)
new /obj/item/device/sensor_device(src)
return
@@ -150,7 +150,7 @@
new /obj/item/clothing/glasses/sunglasses/sechud(src)
new /obj/item/clothing/mask/gas/sechailer/warden(src)
new /obj/item/taperoll/police(src)
new /obj/item/weapon/storage/box/handcuffs(src)
new /obj/item/weapon/storage/box/zipties(src)
new /obj/item/weapon/storage/box/flashbangs(src)
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/weapon/melee/baton/loaded(src)
@@ -240,7 +240,7 @@
new /obj/item/weapon/storage/belt/security(src)
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/handcuffs(src)
new /obj/item/weapon/restraints/handcuffs(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/glasses/hud/health_advanced
@@ -381,6 +381,10 @@
new /obj/item/clothing/head/soft/grey(src)
if(prob(50))
new /obj/item/weapon/storage/backpack/duffel(src)
if(prob(40))
new /obj/item/clothing/under/assistantformal(src)
if(prob(40))
new /obj/item/clothing/under/assistantformal(src)
return
@@ -6,6 +6,7 @@
icon_closed = "critter"
var/already_opened = 0
var/content_mob = null
var/amount = 1
/obj/structure/closet/critter/can_open()
if(welded)
@@ -21,19 +22,7 @@
return ..()
if(content_mob != null && already_opened == 0)
if(content_mob == /mob/living/simple_animal/chick)
var/num = rand(4, 6)
for(var/i = 0, i < num, i++)
new content_mob(loc)
else if(content_mob == /mob/living/simple_animal/corgi)
var/num = rand(0, 1)
if(num) //No more matriarchy for cargo
content_mob = /mob/living/simple_animal/corgi/Lisa
new content_mob(loc)
else if(content_mob == /mob/living/simple_animal/cat)
if(prob(50))
content_mob = /mob/living/simple_animal/cat/Proc
else
for(var/i = 1, i <= amount, i++)
new content_mob(loc)
already_opened = 1
..()
@@ -53,7 +42,12 @@
/obj/structure/closet/critter/corgi
name = "corgi crate"
content_mob = /mob/living/simple_animal/corgi //This statement is (not) false. See above.
content_mob = /mob/living/simple_animal/corgi
/obj/structure/closet/critter/corgi/New()
if(prob(50))
content_mob = /mob/living/simple_animal/corgi/Lisa
..()
/obj/structure/closet/critter/cow
name = "cow crate"
@@ -67,10 +61,28 @@
name = "chicken crate"
content_mob = /mob/living/simple_animal/chick
/obj/structure/closet/critter/chick/New()
amount = rand(1, 3)
..()
/obj/structure/closet/critter/cat
name = "cat crate"
content_mob = /mob/living/simple_animal/cat
/obj/structure/closet/critter/cat/New()
if(prob(50))
content_mob = /mob/living/simple_animal/cat/Proc
..()
/obj/structure/closet/critter/pug
name = "pug crate"
content_mob = /mob/living/simple_animal/pug
/obj/structure/closet/critter/fox
name = "fox crate"
content_mob = /mob/living/simple_animal/fox
content_mob = /mob/living/simple_animal/fox
/obj/structure/closet/critter/butterfly
name = "butterflies crate"
content_mob = /mob/living/simple_animal/butterfly
amount = 50
+25 -4
View File
@@ -6,6 +6,15 @@
density = 1
anchored = 1
/obj/structure/dresser/proc/convUnM(mund)
return underwear_m.Find(mund)
/obj/structure/dresser/proc/convUnF(fund)
return underwear_f.Find(fund)
/obj/structure/dresser/proc/convUs(us)
return undershirt_list.Find(us)
/obj/structure/dresser/attack_hand(mob/user as mob)
if(!Adjacent(user))//no tele-grooming
return
@@ -18,14 +27,26 @@
return
switch(choice)
if("Underwear")
var/new_undies = input(user, "Select your underwear", "Changing") as null|anything in underwear_list
if(new_undies)
H.underwear = new_undies
if(H.gender == FEMALE)
var/new_undies = input(user, "Select your underwear", "Changing") as null|anything in underwear_f
if(new_undies)
H << "\red You selected [new_undies]."
var/freturn = convUnF(new_undies)
H.underwear = freturn
else
var/new_undies = input(user, "Select your underwear", "Changing") as null|anything in underwear_m
if(new_undies)
H << "\red You selected [new_undies]."
var/mreturn = convUnM(new_undies)
H.underwear = mreturn
if("Undershirt")
var/new_undershirt = input(user, "Select your undershirt", "Changing") as null|anything in undershirt_list
if(new_undershirt)
H.undershirt = new_undershirt
H << "\red You selected [new_undershirt]"
var/usreturn = convUs(new_undershirt)
H.undershirt = usreturn
add_fingerprint(H)
H.update_body()
+9 -4
View File
@@ -75,11 +75,14 @@
icon = 'icons/turf/walls.dmi'
var/mineral = "metal"
var/walltype = "metal"
var/walltype2 = "rwall" // So it also connects with rwalls, like regular walls do
var/opening = 0
density = 1
opacity = 1
/obj/structure/falsewall/New()
if(!walltype2)
walltype2 = walltype
relativewall_neighbours()
..()
@@ -105,11 +108,11 @@
for(var/turf/simulated/wall/W in orange(src,1))
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
if(walltype == W.walltype)//Only 'like' walls connect -Sieve
if(walltype == W.walltype || walltype2 == W.walltype)//Only 'like' walls connect -Sieve
junction |= get_dir(src,W)
for(var/obj/structure/falsewall/W in orange(src,1))
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
if(walltype == W.walltype)
if(walltype == W.walltype || walltype2 == W.walltype)
junction |= get_dir(src,W)
icon_state = "[walltype][junction]"
return
@@ -213,6 +216,8 @@
name = "reinforced wall"
desc = "A huge chunk of reinforced metal used to seperate rooms."
icon_state = "r_wall"
walltype = "rwall"
walltype2 = "metal"
/obj/structure/falsewall/reinforced/ChangeToWall(delete = 1)
var/turf/T = get_turf(src)
@@ -244,11 +249,11 @@
for(var/turf/simulated/wall/W in orange(src,1))
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
if(src.walltype == W.walltype)//Only 'like' walls connect -Sieve
if(src.walltype == W.walltype || walltype2 == W.walltype)//Only 'like' walls connect -Sieve
junction |= get_dir(src,W)
for(var/obj/structure/falsewall/W in orange(src,1))
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
if(src.walltype == W.walltype)
if(src.walltype == W.walltype || src.walltype2 == W.walltype)
junction |= get_dir(src,W)
icon_state = "rwall[junction]"
return
@@ -1,4 +1,5 @@
//Alium nests. Essentially beds with an unbuckle delay that only aliums can buckle mobs to.
#define NEST_RESIST_TIME 1200
/obj/structure/stool/bed/nest
name = "alien nest"
@@ -18,12 +19,15 @@
buckled_mob.pixel_y = 0
unbuckle()
else
if(world.time <= buckled_mob.last_special+NEST_RESIST_TIME)
return
buckled_mob.visible_message(\
"<span class='warning'>[buckled_mob.name] struggles to break free of the gelatinous resin...</span>",\
"<span class='warning'>You struggle to break free from the gelatinous resin...</span>",\
"<span class='notice'>You hear squelching...</span>")
spawn(600)
spawn(NEST_RESIST_TIME)
if(user && buckled_mob && user.buckled == src)
buckled_mob.last_special = world.time
buckled_mob.pixel_y = 0
unbuckle()
src.add_fingerprint(user)
@@ -70,8 +74,7 @@
var/aforce = W.force
health = max(0, health - aforce)
playsound(loc, 'sound/effects/attackblob.ogg', 100, 1)
for(var/mob/M in viewers(src, 7))
M.show_message("<span class='warning'>[user] hits [src] with [W]!</span>", 1)
visible_message("<span class='warning'>[user] hits [src] with [W]!</span>", 1)
healthcheck()
/obj/structure/stool/bed/nest/proc/healthcheck()