Fixed bugs involving wrapping yourself in a closet. Added a new centcom uniform sprite, and added checks to keep them looking pretty. Added a cancel button to deathsquad button. Adjusted admin spawnable complete uniforms, so that centcom officials look pimp'n. Added a layer of internal armor (special invisible exosuit) that spawns on centcom officials. Centcom berets are no longer space helmets. Added missing reactive teleport armor sprite and fixed it's functionality.

This commit is contained in:
SkyMarshal
2012-01-11 18:13:02 -07:00
parent 3d9658178a
commit a47b399c32
18 changed files with 81 additions and 39 deletions
+1
View File
@@ -12,6 +12,7 @@
flags = FPRINT
var/health = 100 //Might be a bit much, dono can always change later //Nerfed -Pete
var/lastbang //
var/lasttry = 0
/obj/structure/closet/acloset
name = "Strange closet"
+9 -2
View File
@@ -18,16 +18,23 @@
name = "Captain's hat"
icon_state = "captain"
desc = "It's good being the king."
flags = FPRINT|TABLEPASS|SUITSPACE
flags = FPRINT|TABLEPASS
item_state = "caphat"
/obj/item/clothing/head/centhat
name = "Cent. Comm. hat"
icon_state = "centcom"
desc = "It's even better to be the emperor."
flags = FPRINT|TABLEPASS|SUITSPACE
flags = FPRINT|TABLEPASS
item_state = "centhat"
/obj/item/clothing/head/deathsquad/beret
name = "officer's beret"
desc = "An armored beret commonly used by special operations officers."
icon_state = "beret_badge"
flags = FPRINT|TABLEPASS
armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 30, rad = 30)
/obj/item/clothing/head/powdered_wig
name = "powdered wig"
+4 -4
View File
@@ -197,16 +197,16 @@
/obj/item/clothing/under/rank/centcom_officer
desc = "A jumpsuit worn by Centcom Officers."
name = "CentCom Officer Jumpsuit"
icon_state = "officer"
icon_state = "centcom"
item_state = "g_suit"
color = "officer"
color = "centcom"
/obj/item/clothing/under/rank/centcom_commander
desc = "A jumpsuit worn by Centcom's highest level Commanders."
name = "CentCom Officer Jumpsuit"
icon_state = "centcom"
icon_state = "officer"
item_state = "dg_suit"
color = "centcom"
color = "officer"
/obj/item/clothing/under/rank/miner
desc = "A snappy jumpsuit with a sturdy set of overalls. It is very dirty."
+1
View File
@@ -458,6 +458,7 @@
var/registered = null
var/assignment = null
var/obj/item/weapon/photo/PHOTO = null
var/over = 1
/obj/item/weapon/card/id/gold
name = "identification card"
+6 -5
View File
@@ -6,7 +6,7 @@
return (!density)
/obj/structure/closet/proc/can_open()
if(src.welded)
if(src.welded || istype(src.loc,/obj/effect/bigDelivery))
return 0
return 1
@@ -120,12 +120,13 @@
if(istype(W, /obj/item/weapon/packageWrap))
var/obj/item/weapon/packageWrap/O = W
if (O.amount > 3)
src.close()
var/obj/effect/bigDelivery/P = new /obj/effect/bigDelivery(get_turf(src.loc))
P.wrapped = src
src.close()
P.waswelded = welded
src.welded = 0
src.loc = P
src.opened = 0
O.amount -= 3
else
user << "\blue You need more paper."
@@ -186,18 +187,18 @@
return
if(!src.open())
if(istype(src.loc,/obj/effect/bigDelivery) && lastbang == 0)
if(istype(src.loc,/obj/effect/bigDelivery) && lasttry == 0)
var/obj/effect/bigDelivery/Pack = src.loc
if(istype(Pack.loc,/turf) && Pack.waswelded == 0)
for (var/mob/M in hearers(src.loc, null))
M << text("<FONT size=[] color=#6D3F40>BANG, bang, rrrrrip!</FONT>", max(0, 5 - get_dist(src, M)))
lastbang = 1
lasttry = 1
sleep(10)
src.welded = 0
Pack.unwrap()
src.open()
spawn(30)
lastbang = 0
lasttry = 0
else if(!istype(src.loc,/obj/effect/bigDelivery))
user << "\blue It won't budge!"
if(!lastbang)
+20 -11
View File
@@ -674,11 +674,13 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
if("centcom official")
M.equip_if_possible(new /obj/item/clothing/under/rank/centcom_officer(M), M.slot_w_uniform)
M.equip_if_possible(new /obj/item/clothing/shoes/black(M), M.slot_shoes)
M.equip_if_possible(new /obj/item/clothing/gloves/black(M), M.slot_gloves)
M.equip_if_possible(new /obj/item/clothing/gloves/white(M), M.slot_gloves)
M.equip_if_possible(new /obj/item/device/radio/headset/heads/hop(M), M.slot_ears)
M.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(M), M.slot_glasses)
M.equip_if_possible(new /obj/item/weapon/gun/energy(M), M.slot_belt)
M.equip_if_possible(new /obj/item/weapon/pen(M), M.slot_l_store)
var/obj/item/clothing/suit/storage/armoredundersuit/K = new(M)
var/obj/item/clothing/glasses/sunglasses/V = new(M)
V.loc = K
M.equip_if_possible(K, M.slot_wear_suit)
M.equip_if_possible(new /obj/item/weapon/gun/energy(M), M.slot_s_store)
var/obj/item/device/pda/heads/pda = new(M)
pda.owner = M.real_name
@@ -687,27 +689,33 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
M.equip_if_possible(pda, M.slot_r_store)
M.equip_if_possible(new /obj/item/weapon/clipboard(M), M.slot_l_hand)
var/obj/item/weapon/clipboard/G = new(M)
G.pen = new /obj/item/weapon/pen(G)
M.equip_if_possible(G, M.slot_l_store)
var/obj/item/weapon/card/id/W = new(M)
W.name = "[M.real_name]'s ID Card"
W.icon_state = "centcom"
W.item_state = "id_inv"
W.access = get_all_accesses()
W.access += list("VIP Guest","Custodian","Thunderdome Overseer","Intel Officer","Medical Officer","Death Commando","Research Officer")
W.assignment = "CentCom Review Official"
W.registered = M.real_name
W.over = 0
M.equip_if_possible(W, M.slot_wear_id)
if("centcom commander")
M.equip_if_possible(new /obj/item/clothing/under/rank/centcom_commander(M), M.slot_w_uniform)
M.equip_if_possible(new /obj/item/clothing/suit/armor/bulletproof(M), M.slot_wear_suit)
var/obj/item/clothing/suit/storage/armoredundersuit/K = new(M)
var/obj/item/clothing/glasses/eyepatch/G = new(M)
G.loc = K
M.equip_if_possible(K, M.slot_wear_suit)
M.equip_if_possible(new /obj/item/clothing/shoes/swat(M), M.slot_shoes)
M.equip_if_possible(new /obj/item/clothing/gloves/swat(M), M.slot_gloves)
M.equip_if_possible(new /obj/item/clothing/gloves/white(M), M.slot_gloves)
M.equip_if_possible(new /obj/item/device/radio/headset/heads/captain(M), M.slot_ears)
M.equip_if_possible(new /obj/item/clothing/glasses/eyepatch(M), M.slot_glasses)
M.equip_if_possible(new /obj/item/clothing/mask/cigarette/cigar/cohiba(M), M.slot_wear_mask)
M.equip_if_possible(new /obj/item/clothing/head/centhat(M), M.slot_head)
M.equip_if_possible(new /obj/item/weapon/gun/projectile/mateba(M), M.slot_belt)
M.equip_if_possible(new /obj/item/weapon/gun/projectile/mateba(M), M.slot_s_store)
M.equip_if_possible(new /obj/item/weapon/zippo(M), M.slot_r_store)
M.equip_if_possible(new /obj/item/ammo_magazine/a357(M), M.slot_l_store)
@@ -718,17 +726,18 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
W.access += get_all_centcom_access()
W.assignment = "CentCom Commanding Officer"
W.registered = M.real_name
W.over = 0
M.equip_if_possible(W, M.slot_wear_id)
if("special ops officer")
M.equip_if_possible(new /obj/item/clothing/under/syndicate/combat(M), M.slot_w_uniform)
M.equip_if_possible(new /obj/item/clothing/suit/armor/swat/officer(M), M.slot_wear_suit)
M.equip_if_possible(new /obj/item/clothing/suit/storage/officer(M), M.slot_wear_suit)
M.equip_if_possible(new /obj/item/clothing/shoes/combat(M), M.slot_shoes)
M.equip_if_possible(new /obj/item/clothing/gloves/combat(M), M.slot_gloves)
M.equip_if_possible(new /obj/item/device/radio/headset/heads/captain(M), M.slot_ears)
M.equip_if_possible(new /obj/item/clothing/glasses/thermal/eyepatch(M), M.slot_glasses)
M.equip_if_possible(new /obj/item/clothing/mask/cigarette/cigar/havanian(M), M.slot_wear_mask)
M.equip_if_possible(new /obj/item/clothing/head/helmet/space/deathsquad/beret(M), M.slot_head)
M.equip_if_possible(new /obj/item/clothing/head/deathsquad/beret(M), M.slot_head)
M.equip_if_possible(new /obj/item/weapon/gun/energy/pulse_rifle/M1911(M), M.slot_belt)
M.equip_if_possible(new /obj/item/weapon/zippo(M), M.slot_r_store)
M.equip_if_possible(new /obj/item/weapon/storage/backpack/satchel(M), M.slot_back)
+1 -1
View File
@@ -24,7 +24,7 @@ var/global/sent_strike_team = 0
var/input = null
while(!input)
input = input(src, "Please specify which mission the death commando squad shall undertake.", "Specify Mission", "")
input = input(src, "Please specify which mission the death commando squad shall undertake.", "Specify Mission", "") as text|null
if(!input)
if(alert("Error, no mission set. Do you want to exit the setup process?",,"Yes","No")=="Yes")
return
@@ -7,11 +7,11 @@
/obj/item/clothing/head/helmet/space/deathsquad/beret
/*/obj/item/clothing/head/helmet/space/deathsquad/beret
name = "officer's beret"
desc = "An armored beret commonly used by special operations officers."
icon_state = "beret_badge"
armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 30, rad = 30)
armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 30, rad = 30)*/
+20 -4
View File
@@ -48,13 +48,29 @@
slowdown = 1
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 0, rad = 0)
/obj/item/clothing/suit/armor/swat/officer
/obj/item/clothing/suit/storage/officer
name = "officer jacket"
desc = "An armored jacket used in special operations."
icon_state = "detective"
item_state = "det_suit"
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
heat_transfer_coefficient = 0.02
protective_temperature = 1000
flags = FPRINT | TABLEPASS | SUITSPACE
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
slowdown = 1
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 0, rad = 0)
/obj/item/clothing/suit/storage/armoredundersuit
name = "armoured undersuit"
desc = "An layer of armor that attaches to clothing, outfitted with pockets."
icon_state = "invisible"
item_state = "invisible"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/policetaperoll)
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
@@ -880,7 +880,8 @@
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
if (wear_id)
overlays += image("icon" = 'mob.dmi', "icon_state" = "id[!lying ? null : "2"]", "layer" = MOB_LAYER)
if(wear_id.over)
overlays += image("icon" = 'mob.dmi', "icon_state" = "id[!lying ? null : "2"]", "layer" = MOB_LAYER)
if (client)
client.screen -= hud_used.intents
@@ -954,7 +955,8 @@
var/t1 = s_store.item_state
if (!t1)
t1 = s_store.icon_state
overlays += image("icon" = 'belt_mirror.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
if(!istype(wear_suit, /obj/item/clothing/suit/storage/armoredundersuit))
overlays += image("icon" = 'belt_mirror.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
s_store.screen_loc = ui_sstore1
if (h_store)
@@ -63,14 +63,12 @@ emp_act
if(I.IsShield() && (prob(35)))
visible_message("\red <B>The reactive teleport system flings [src] clear of [attack_text]!</B>")
var/list/turfs = new/list()
for(var/turf/T in orange(6))
for(var/turf/T in orange(6,src))
if(istype(T,/turf/space)) continue
if(T.density) continue
if(T.x>world.maxx-6 || T.x<6) continue
if(T.y>world.maxy-6 || T.y<6) continue
turfs += T
if(!turfs.len) turfs += pick(/turf in orange(6))
else
if(!turfs.len)
turfs += pick(/turf in orange(6,src))
visible_message("\red <B>The reactive teleport system malfunctions!</B>")
var/turf/picked = pick(turfs)
if(!isturf(picked)) return
+10 -3
View File
@@ -8,11 +8,11 @@
var/sortTag = null
flags = FPRINT
mouse_drag_pointer = MOUSE_ACTIVE_POINTER
var/examtext = null
var/examtext = null
var/label_x = 0
var/tag_x = 0
var/tag_x = 0
var/waswelded = 0
attack_hand(mob/user as mob)
return unwrap()
@@ -87,6 +87,13 @@
..()
return
relaymove(mob/user as mob)
for(var/obj/structure/closet/F in src)
user.loc = F
F.contents += user
F.opened = 0
break
/obj/item/smallDelivery
desc = "A small wrapped package."
name = "small parcel"