Merge pull request #306 from SkyMarshal/master

More telecomms, improved mob interface, cleaned up the operating table.
This commit is contained in:
Tastyfish
2012-01-22 22:53:29 -08:00
15 changed files with 484 additions and 209 deletions

View File

@@ -480,6 +480,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
"assassin",
"death commando",
"syndicate commando",
"response team",
"centcom official",
"centcom commander",
"special ops officer",
@@ -677,6 +678,9 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
if("syndicate commando")
M.equip_syndicate_commando()
if("response team")
M.equip_strike_team()
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)
@@ -686,7 +690,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
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)
M.equip_if_possible(new /obj/item/weapon/gun/energy/gun(M), M.slot_s_store)
var/obj/item/device/pda/heads/pda = new(M)
pda.owner = M.real_name

View File

@@ -2118,11 +2118,11 @@ It can still be worn/put on as normal.
if (!( istype(target.wear_mask, /obj/item/clothing/mask) ))
return
else
if (istype(target.back, /obj/item/weapon/tank))
if (istype(target.back, /obj/item/weapon/tank) && (internalloc == "back" || !internalloc))
target.internal = target.back
else if (istype(target.s_store, /obj/item/weapon/tank))
else if (istype(target.s_store, /obj/item/weapon/tank) && (internalloc == "store" || !internalloc))
target.internal = target.s_store
else if (istype(target.belt, /obj/item/weapon/tank))
else if (istype(target.belt, /obj/item/weapon/tank) && (internalloc == "belt" || !internalloc))
target.internal = target.belt
if (target.internal)
for(var/mob/M in viewers(target, 1))
@@ -2160,14 +2160,14 @@ It can still be worn/put on as normal.
<BR><B>Right Ear:</B> <A href='?src=\ref[src];item=r_ear'>[(r_ear ? r_ear : "Nothing")]</A>
<BR><B>Head:</B> <A href='?src=\ref[src];item=head'>[(head ? head : "Nothing")]</A>
<BR><B>Shoes:</B> <A href='?src=\ref[src];item=shoes'>[(shoes ? shoes : "Nothing")]</A>
<BR><B>Belt:</B> <A href='?src=\ref[src];item=belt'>[(belt ? belt : "Nothing")]</A>
<BR><B>Belt:</B> <A href='?src=\ref[src];item=belt'>[(belt ? belt : "Nothing")]</A> [(istype(wear_mask, /obj/item/clothing/mask) && istype(belt, /obj/item/weapon/tank) && !( internal )) ? text(" <A href='?src=\ref[];item=internal;loc=belt'>Set Internal</A>", src) : ""]
<BR><B>Uniform:</B> <A href='?src=\ref[src];item=uniform'>[(w_uniform ? w_uniform : "Nothing")]</A>
<BR><B>(Exo)Suit:</B> <A href='?src=\ref[src];item=suit'>[(wear_suit ? wear_suit : "Nothing")]</A>
<BR><B>Back:</B> <A href='?src=\ref[src];item=back'>[(back ? back : "Nothing")]</A>
<BR><B>Back:</B> <A href='?src=\ref[src];item=back'>[(back ? back : "Nothing")]</A>[(istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/weapon/tank) && !( internal )) ? text(" <A href='?src=\ref[];item=internal;loc=back'>Set Internal</A>", src) : ""]
<BR><B>ID:</B> <A href='?src=\ref[src];item=id'>[(wear_id ? wear_id : "Nothing")]</A>
<BR><B>Suit Storage:</B> <A href='?src=\ref[src];item=s_store'>[(s_store ? s_store : "Nothing")]</A>
<BR><B>Suit Storage:</B> <A href='?src=\ref[src];item=s_store'>[(s_store ? s_store : "Nothing")]</A> [(istype(wear_mask, /obj/item/clothing/mask) && istype(s_store, /obj/item/weapon/tank) && !( internal )) ? text(" <A href='?src=\ref[];item=internal;loc=store'>Set Internal</A>", src) : ""]
<BR>[(handcuffed ? text("<A href='?src=\ref[src];item=handcuff'>Handcuffed</A>") : text("<A href='?src=\ref[src];item=handcuff'>Not Handcuffed</A>"))]
<BR>[(internal ? text("<A href='?src=\ref[src];item=internal'>Remove Internal</A>") : ((istype(wear_mask, /obj/item/clothing/mask) && (istype(back, /obj/item/weapon/tank) || istype(belt, /obj/item/weapon/tank) || istype(s_store, /obj/item/weapon/tank)) && !( internal )) ? text(" <A href='?src=\ref[];item=internal'>Set Internal</A>", src) : ""))]
<BR>[(internal ? text("<A href='?src=\ref[src];item=internal'>Remove Internal</A>") : "")]
<BR><A href='?src=\ref[src];item=pockets'>Empty Pockets</A>
<BR><A href='?src=\ref[src];item=h_store'>Empty Hat</A>
<BR><A href='?src=\ref[user];refresh=1'>Refresh</A>
@@ -2341,6 +2341,8 @@ It can still be worn/put on as normal.
O.s_loc = usr.loc
O.t_loc = loc
O.place = href_list["item"]
if(href_list["loc"])
O.internalloc = href_list["loc"]
requests += O
spawn( 0 )
O.process()

View File

@@ -270,15 +270,9 @@
proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank)
if (ticker.current_state == GAME_STATE_PLAYING)
var/ailist[] = list()
for (var/mob/living/silicon/ai/A in world)
if (!A.stat)
ailist += A
if (ailist.len)
var/mob/living/silicon/ai/announcer = pick(ailist)
if(character.mind)
if((character.mind.assigned_role != "Cyborg") && (character.mind.special_role != "MODE"))
announcer.say("[character.real_name] has signed up as [rank].")
var/obj/item/device/radio/intercom/a = new /obj/item/device/radio/intercom(null)
a.autosay("[character.real_name] has arrived on the station.", "Arrivals Announcement Computer")
del(a)
proc/ManifestLateSpawn(var/mob/living/carbon/human/H, icon/H_icon) // Attempted fix to add late joiners to various databases -- TLE

View File

@@ -37,6 +37,18 @@
for(var/obj/O in contents)
O.emp_act(severity)
attack(mob/living/M as mob, mob/living/user as mob, def_zone)
if (M == user && user.zone_sel.selecting == "mouth" && load_into_chamber())
M.visible_message("\red [user] sticks their gun in their mouth, ready to pull the trigger...")
if(!do_after(user, 40))
M.visible_message("\blue [user] decided life was worth living")
return
M.visible_message("\red [user] pulls the trigger.")
M.apply_damage(70, BRUTE, "head")
M.apply_damage(110, BRUTE, "chest")
return
else
return ..()
afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag, params)//TODO: go over this
if(flag) return //we're placing gun on a table or in backpack