Polaris sync

This commit is contained in:
killer653
2017-09-15 21:17:34 -04:00
316 changed files with 30157 additions and 22762 deletions
@@ -17,6 +17,8 @@
new /obj/item/clothing/under/swimsuit/green(src)
new /obj/item/clothing/under/swimsuit/purple(src)
new /obj/item/clothing/under/swimsuit/striped(src)
new /obj/item/clothing/under/swimsuit/white(src)
new /obj/item/clothing/under/swimsuit/earth(src) //Maybe at some point make it randomly choose swimsuits, so that it doesn't overflow as we add more.
new /obj/item/clothing/mask/snorkel(src)
new /obj/item/clothing/mask/snorkel(src)
new /obj/item/clothing/shoes/swimmingfins(src)
@@ -67,6 +67,11 @@
new /obj/item/clothing/suit/bio_suit/scientist(src)
new /obj/item/clothing/head/bio_hood/scientist(src)
/obj/structure/closet/l3closet/scientist/double/New()
..()
new /obj/item/clothing/suit/bio_suit/scientist(src)
new /obj/item/clothing/head/bio_hood/scientist(src)
/obj/structure/closet/l3closet/medical
icon_state = "bio_scientist"
@@ -72,35 +72,35 @@
new /obj/item/clothing/head/nursehat (src)
switch(pick("blue", "green", "purple", "black", "navyblue"))
if ("blue")
new /obj/item/clothing/under/rank/medical/blue(src)
new /obj/item/clothing/under/rank/medical/scrubs(src)
new /obj/item/clothing/head/surgery/blue(src)
if ("green")
new /obj/item/clothing/under/rank/medical/green(src)
new /obj/item/clothing/under/rank/medical/scrubs/green(src)
new /obj/item/clothing/head/surgery/green(src)
if ("purple")
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/under/rank/medical/scrubs/purple(src)
new /obj/item/clothing/head/surgery/purple(src)
if ("black")
new /obj/item/clothing/under/rank/medical/black(src)
new /obj/item/clothing/under/rank/medical/scrubs/black(src)
new /obj/item/clothing/head/surgery/black(src)
if ("navyblue")
new /obj/item/clothing/under/rank/medical/navyblue(src)
new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src)
new /obj/item/clothing/head/surgery/navyblue(src)
switch(pick("blue", "green", "purple", "black", "navyblue"))
if ("blue")
new /obj/item/clothing/under/rank/medical/blue(src)
new /obj/item/clothing/under/rank/medical/scrubs(src)
new /obj/item/clothing/head/surgery/blue(src)
if ("green")
new /obj/item/clothing/under/rank/medical/green(src)
new /obj/item/clothing/under/rank/medical/scrubs/green(src)
new /obj/item/clothing/head/surgery/green(src)
if ("purple")
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/under/rank/medical/scrubs/purple(src)
new /obj/item/clothing/head/surgery/purple(src)
if ("black")
new /obj/item/clothing/under/rank/medical/black(src)
new /obj/item/clothing/under/rank/medical/scrubs/black(src)
new /obj/item/clothing/head/surgery/black(src)
if ("navyblue")
new /obj/item/clothing/under/rank/medical/navyblue(src)
new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src)
new /obj/item/clothing/head/surgery/navyblue(src)
new /obj/item/clothing/under/rank/medical(src)
new /obj/item/clothing/under/rank/nurse(src)
@@ -154,6 +154,7 @@
new /obj/item/weapon/extinguisher/mini(src)
new /obj/item/weapon/storage/box/freezer(src)
new /obj/item/clothing/accessory/storage/white_vest(src)
new /obj/item/taperoll/medical(src)
return
/obj/structure/closet/secure_closet/CMO
@@ -179,19 +180,19 @@
new /obj/item/clothing/shoes/white(src)
switch(pick("blue", "green", "purple", "black", "navyblue"))
if ("blue")
new /obj/item/clothing/under/rank/medical/blue(src)
new /obj/item/clothing/under/rank/medical/scrubs(src)
new /obj/item/clothing/head/surgery/blue(src)
if ("green")
new /obj/item/clothing/under/rank/medical/green(src)
new /obj/item/clothing/under/rank/medical/scrubs/green(src)
new /obj/item/clothing/head/surgery/green(src)
if ("purple")
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/under/rank/medical/scrubs/purple(src)
new /obj/item/clothing/head/surgery/purple(src)
if ("black")
new /obj/item/clothing/under/rank/medical/black(src)
new /obj/item/clothing/under/rank/medical/scrubs/black(src)
new /obj/item/clothing/head/surgery/black(src)
if ("navyblue")
new /obj/item/clothing/under/rank/medical/navyblue(src)
new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src)
new /obj/item/clothing/head/surgery/navyblue(src)
new /obj/item/clothing/under/rank/chief_medical_officer(src)
new /obj/item/clothing/under/rank/chief_medical_officer/skirt(src)
@@ -209,6 +210,7 @@
new /obj/item/clothing/shoes/boots/winter/medical(src)
new /obj/item/weapon/storage/box/freezer(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/taperoll/medical(src)
return
@@ -276,7 +276,7 @@
New()
..()
new /obj/item/clothing/accessory/armband/medgreen(src)
new /obj/item/clothing/accessory/armband/medblue(src)
new /obj/item/device/encryptionkey/headset_med(src)
return
@@ -88,6 +88,15 @@
new /obj/item/weapon/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
/obj/structure/closet/firecloset/full/double/New()
..()
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/device/flashlight(src)
new /obj/item/weapon/tank/oxygen/red(src)
new /obj/item/weapon/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
/obj/structure/closet/firecloset/update_icon()
if(!opened)
icon_state = icon_closed
@@ -176,6 +185,12 @@
new /obj/item/clothing/shoes/black( src )
new /obj/item/clothing/head/bomb_hood( src )
/obj/structure/closet/bombcloset/double/New() // Makes two suits.
..()
new /obj/item/clothing/suit/bomb_suit( src )
new /obj/item/clothing/under/color/black( src )
new /obj/item/clothing/shoes/black( src )
new /obj/item/clothing/head/bomb_hood( src )
/obj/structure/closet/bombclosetsecurity
name = "\improper EOD closet"
@@ -475,11 +475,11 @@
new /obj/item/clothing/under/rank/medical(src)
new /obj/item/clothing/under/rank/medical/skirt(src)
new /obj/item/clothing/under/rank/medical/skirt(src)
new /obj/item/clothing/under/rank/medical/blue(src)
new /obj/item/clothing/under/rank/medical/green(src)
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/under/rank/medical/black(src)
new /obj/item/clothing/under/rank/medical/navyblue(src)
new /obj/item/clothing/under/rank/medical/scrubs(src)
new /obj/item/clothing/under/rank/medical/scrubs/green(src)
new /obj/item/clothing/under/rank/medical/scrubs/purple(src)
new /obj/item/clothing/under/rank/medical/scrubs/black(src)
new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src)
new /obj/item/clothing/head/surgery/navyblue(src)
new /obj/item/clothing/head/surgery/purple(src)
new /obj/item/clothing/head/surgery/blue(src)
+1 -1
View File
@@ -242,7 +242,7 @@
/obj/structure/sign/kiddieplaque
name = "\improper AI developers plaque"
desc = "Next to the extremely long list of names and job titles, there is a drawing of a little child. The child appears to be developmentally disabled. Beneath the image, someone has scratched the word \"PACKETS\""
desc = "Next to the extremely long list of names and job titles. Beneath the image, someone has scratched the word \"PACKETS\""
icon_state = "kiddieplaque"
/obj/structure/sign/atmosplaque
@@ -0,0 +1,85 @@
#define NEST_RESIST_TIME 1200
/obj/structure/bed/nest
name = "alien nest"
desc = "It's a gruesome pile of thick, sticky resin shaped like a nest."
icon = 'icons/mob/alien.dmi'
icon_state = "nest"
var/health = 100
/obj/structure/bed/nest/update_icon()
return
/obj/structure/bed/nest/user_unbuckle_mob(mob/user as mob)
if(buckled_mob)
if(buckled_mob.buckled == src)
if(buckled_mob != user)
buckled_mob.visible_message(\
"<span class='notice'>[user.name] pulls [buckled_mob.name] free from the sticky nest!</span>",\
"<span class='notice'>[user.name] pulls you free from the gelatinous resin.</span>",\
"<span class='notice'>You hear squelching...</span>")
buckled_mob.pixel_y = 0
buckled_mob.old_y = 0
unbuckle_mob()
else
if(world.time <= buckled_mob.last_special+NEST_RESIST_TIME)
return
buckled_mob.last_special = world.time
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(NEST_RESIST_TIME)
if(user && buckled_mob && user.buckled == src)
buckled_mob.last_special = world.time
buckled_mob.pixel_y = 0
buckled_mob.old_y = 0
unbuckle_mob()
src.add_fingerprint(user)
return
/obj/structure/bed/nest/user_buckle_mob(mob/M as mob, mob/user as mob)
if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.restrained() || usr.stat || M.buckled || istype(user, /mob/living/silicon/pai) )
return
unbuckle_mob()
var/mob/living/carbon/xenos = user
var/mob/living/carbon/victim = M
if(istype(victim) && locate(/obj/item/organ/internal/xenos/hivenode) in victim.internal_organs)
return
if(istype(xenos) && !(locate(/obj/item/organ/internal/xenos/hivenode) in xenos.internal_organs))
return
if(M == usr)
return
else
M.visible_message(\
"<span class='notice'>[user.name] secretes a thick vile goo, securing [M.name] into [src]!</span>",\
"<span class='warning'>[user.name] drenches you in a foul-smelling resin, trapping you in the [src]!</span>",\
"<span class='notice'>You hear squelching...</span>")
M.buckled = src
M.loc = src.loc
M.set_dir(src.dir)
M.update_canmove()
M.pixel_y = 6
M.old_y = 6
src.buckled_mob = M
src.add_fingerprint(user)
return
/obj/structure/bed/nest/attackby(obj/item/weapon/W as obj, mob/user as mob)
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)
healthcheck()
/obj/structure/bed/nest/proc/healthcheck()
if(health <=0)
density = 0
qdel(src)
return
@@ -449,6 +449,7 @@
/obj/structure/sink/puddle //splishy splashy ^_^
name = "puddle"
icon_state = "puddle"
desc = "A small pool of some liquid, ostensibly water."
/obj/structure/sink/puddle/attack_hand(mob/M as mob)
icon_state = "puddle-splash"
+41 -2
View File
@@ -59,10 +59,13 @@
playsound(loc, 'sound/effects/Glasshit.ogg', 100, 1)
if(health < maxhealth / 4 && initialhealth >= maxhealth / 4)
visible_message("[src] looks like it's about to shatter!" )
update_icon()
else if(health < maxhealth / 2 && initialhealth >= maxhealth / 2)
visible_message("[src] looks seriously damaged!" )
update_icon()
else if(health < maxhealth * 3/4 && initialhealth >= maxhealth * 3/4)
visible_message("Cracks begin to appear in [src]!" )
update_icon()
return
/obj/structure/window/proc/apply_silicate(var/amount)
@@ -204,6 +207,8 @@
return
if(damage >= 10)
visible_message("<span class='danger'>[user] smashes into [src]!</span>")
if(reinf)
damage = damage / 2
take_damage(damage)
else
visible_message("<span class='notice'>\The [user] bonks \the [src] harmlessly.</span>")
@@ -212,6 +217,24 @@
/obj/structure/window/attackby(obj/item/W as obj, mob/user as mob)
if(!istype(W)) return//I really wish I did not need this
// Fixing.
if(istype(W, /obj/item/weapon/weldingtool) && user.a_intent == I_HELP)
var/obj/item/weapon/weldingtool/WT = W
if(health < maxhealth)
if(WT.remove_fuel(1 ,user))
to_chat(user, "<span class='notice'>You begin repairing [src]...</span>")
playsound(src, WT.usesound, 50, 1)
if(do_after(user, 40 * WT.toolspeed, target = src))
health = maxhealth
// playsound(src, 'sound/items/Welder.ogg', 50, 1)
update_icon()
to_chat(user, "<span class='notice'>You repair [src].</span>")
else
to_chat(user, "<span class='warning'>[src] is already in good condition!</span>")
return
// Slamming.
if (istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2)
var/obj/item/weapon/grab/G = W
if(istype(G.affecting,/mob/living))
@@ -410,6 +433,15 @@
var/image/I = image(icon, "[basestate][connections[i]]", dir = 1<<(i-1))
overlays += I
// Damage overlays.
var/ratio = health / maxhealth
ratio = Ceiling(ratio * 4) * 25
if(ratio > 75)
return
var/image/I = image(icon, "damage[ratio]", layer + 0.1)
overlays += I
return
/obj/structure/window/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
@@ -439,6 +471,10 @@
damage_per_fire_tick = 1.0
maxhealth = 40.0
/obj/structure/window/phoronbasic/full
dir = SOUTHWEST
maxhealth = 80
/obj/structure/window/phoronreinforced
name = "reinforced borosilicate window"
desc = "A borosilicate alloy window, with rods supporting it. It seems to be very strong."
@@ -451,6 +487,9 @@
damage_per_fire_tick = 1.0 // This should last for 80 fire ticks if the window is not damaged at all. The idea is that borosilicate windows have something like ablative layer that protects them for a while.
maxhealth = 80.0
/obj/structure/window/phoronreinforced/full
dir = SOUTHWEST
maxhealth = 160
/obj/structure/window/reinforced
name = "reinforced window"
@@ -472,9 +511,9 @@
state = 0
/obj/structure/window/reinforced/full
dir = 5
dir = SOUTHWEST
icon_state = "fwindow"
maxhealth = 60
maxhealth = 80
/obj/structure/window/reinforced/tinted
name = "tinted window"