This commit is contained in:
Aurorablade
2016-08-11 02:01:41 -04:00
231 changed files with 1733 additions and 2898 deletions
+1 -1
View File
@@ -13,7 +13,7 @@
switch(name) //some of these are probably obsolete
if("shuttle")
shuttle_z = z
log_debug("Obsolete landmark '[name]' at ([x],[y],[z])")
qdel(src)
if("airtunnel_stop")
@@ -61,7 +61,6 @@
return null
var/turf/T = get_turf(user.loc)
// TODO: Tie into space manager
if(T.z != current.z || !current.can_use())
to_chat(user, "<span class='danger'>[src] has lost the signal.</span>")
current = null
@@ -226,7 +225,6 @@
to_chat(usr, "<span class='danger'>Something's wrong with that camera. You can't get a feed.</span>")
return
var/turf/T = get_turf(loc)
// TODO: Tie into space manager
if(!T || C.z != T.z)
to_chat(usr, "<span class='danger'>You can't get a signal.</span>")
return
@@ -124,7 +124,7 @@
return -1
if(!(0 in level))
var/turf/position = get_turf(src)
// TODO: Tie into space manager
// TODO: Integrate radio with the space manager
if(isnull(position) || !(position.z in level))
return -1
if(!src.listening)
@@ -36,6 +36,7 @@ var/global/list/datum/stack_recipe/uranium_recipes = list ( \
var/global/list/datum/stack_recipe/gold_recipes = list ( \
new/datum/stack_recipe("golden door", /obj/structure/mineral_door/gold, 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("Simple Crown", /obj/item/clothing/head/crown, 5), \
)
var/global/list/datum/stack_recipe/plasma_recipes = list ( \
@@ -64,8 +64,7 @@
//Play sound through the station intercomms, so everyone knows the doom you have wrought.
for(var/O in global_intercoms)
var/obj/item/device/radio/intercom/I = O
// TODO: Tie into space manager
if(I.z != ZLEVEL_STATION) //Only broadcast to the station intercoms
if(!is_station_level(I.z)) //Only broadcast to the station intercoms
continue
if(!I.on) //Only broadcast to active intercoms (powered, switched on)
continue
@@ -54,7 +54,7 @@
//ticker.mode:implanter[user.mind] += H.mind
ticker.mode:implanter[ref] = implanters
ticker.mode.traitors += H.mind
H.mind.special_role = "traitor"
H.mind.special_role = SPECIAL_ROLE_TRAITOR
to_chat(H, "<span class='warning'><B>You're now completely loyal to [user.name]!</B> You now must lay down your life to protect them and assist in their goals at any cost.</span>")
var/datum/objective/protect/mindslave/MS = new
MS.owner = H.mind
@@ -20,6 +20,28 @@
to_chat(viewers(user), "<span class='suicide'>[user] is strangling \himself with the [src.name]! It looks like \he's trying to commit suicide.</span>")
return (OXYLOSS)
/obj/item/weapon/melee/rapier
name = "captain's rapier"
desc = "An elegant weapon, for a more civilized age."
icon_state = "rapier"
item_state = "rapier"
flags = CONDUCT
force = 15
throwforce = 10
w_class = 4
block_chance = 50
armour_penetration = 75
sharp = 1
edge = 1
origin_tech = "combat=5"
attack_verb = list("lunged at", "stabbed")
hitsound = 'sound/weapons/slash.ogg'
materials = list(MAT_METAL = 1000)
/obj/item/weapon/melee/rapier/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance, damage, attack_type)
if(attack_type == PROJECTILE_ATTACK)
final_block_chance = 0 //Don't bring a sword to a gunfight
return ..()
/obj/item/weapon/melee/icepick
name = "ice pick"
@@ -314,6 +314,10 @@
"/obj/item/ammo_casing/shotgun"
)
/obj/item/weapon/storage/belt/bandolier/New()
..()
update_icon()
/obj/item/weapon/storage/belt/bandolier/full/New()
..()
new /obj/item/ammo_casing/shotgun/beanbag(src)
@@ -437,6 +441,31 @@
icon_state = "fannypack_yellow"
item_state = "fannypack_yellow"
/obj/item/weapon/storage/belt/rapier
name = "rapier sheath"
desc = "Can hold rapiers."
icon_state = "sheath"
item_state = "sheath"
storage_slots = 1
max_w_class = 4
can_hold = list("/obj/item/weapon/melee/rapier")
/obj/item/weapon/storage/belt/rapier/update_icon()
icon_state = "[initial(icon_state)]"
item_state = "[initial(item_state)]"
if(contents.len)
icon_state = "[initial(icon_state)]-rapier"
item_state = "[initial(item_state)]-rapier"
if(isliving(loc))
var/mob/living/L = loc
L.update_inv_belt()
..()
/obj/item/weapon/storage/belt/rapier/New()
..()
new /obj/item/weapon/melee/rapier(src)
update_icon()
// -------------------------------------
// Bluespace Belt
// -------------------------------------
@@ -48,8 +48,7 @@ Frequency:
return 1
var/turf/current_location = get_turf(usr)//What turf is the user on?
// TODO: Tie into space manager
if(!current_location ||( current_location.z in config.admin_levels))//If turf was not found or they're on z level 2.
if(!current_location || is_admin_level(current_location.z))//If turf was not found or they're in the admin zone
to_chat(usr, "<span class='warning'>\The [src] is malfunctioning.</span>")
return 1
@@ -62,7 +61,6 @@ Frequency:
for(var/obj/item/device/radio/beacon/W in beacons)
if(W.frequency == frequency && !W.syndicate)
// TODO: Tie into space manager
if(W && W.z == z)
var/turf/TB = get_turf(W)
temp += "[W.code]: [TB.x], [TB.y], [TB.z]<BR>"
@@ -109,8 +107,7 @@ Frequency:
/obj/item/weapon/hand_tele/attack_self(mob/user as mob)
var/turf/current_location = get_turf(user)//What turf is the user on?
// TODO: Tie into space manager
if(!current_location||(current_location.z in config.admin_levels)||current_location.z>=ZLEVEL_EMPTY)//If turf was not found or they're on z level 2 or >7 which does not currently exist.
if(!current_location||!is_teleport_allowed(current_location.z))//If turf was not found or they're somewhere teleproof
to_chat(user, "<span class='notice'>\The [src] is malfunctioning.</span>")
return
var/list/L = list( )
@@ -192,8 +192,7 @@
return
var/obj/item/weapon/rcs/E = W
if(E.rcell && (E.rcell.charge >= E.chargecost))
// TODO: Tie into space manager
if(!(src.z in config.contact_levels))
if(!is_level_reachable(src.z))
to_chat(user, "<span class='warning'>The rapid-crate-sender can't locate any telepads!</span>")
return
if(E.mode == 0)
@@ -15,17 +15,21 @@
else
new /obj/item/weapon/storage/backpack/satchel_cap(src)
new /obj/item/weapon/book/manual/faxes(src)
new /obj/item/clothing/head/crown/fancy(src)
new /obj/item/weapon/storage/backpack/duffel/captain(src)
new /obj/item/clothing/suit/captunic(src)
new /obj/item/clothing/suit/captunic/capjacket(src)
new /obj/item/clothing/under/captainparade(src)
new /obj/item/clothing/head/caphat/parade(src)
new /obj/item/clothing/under/dress/dress_cap(src)
new /obj/item/clothing/under/rank/captain(src)
new /obj/item/clothing/suit/armor/vest/capcarapace(src)
new /obj/item/clothing/under/dress/dress_cap(src)
new /obj/item/clothing/suit/armor/vest/capcarapace/alt(src)
new /obj/item/weapon/cartridge/captain(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/laceup(src)
new /obj/item/device/radio/headset/heads/captain/alt(src)
new /obj/item/clothing/gloves/color/captain(src)
new /obj/item/weapon/storage/belt/rapier(src)
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/weapon/door_remote/captain(src)
@@ -84,8 +84,7 @@
if(istype(W, /obj/item/weapon/rcs) && !src.opened)
var/obj/item/weapon/rcs/E = W
if(E.rcell && (E.rcell.charge >= E.chargecost))
// TODO: Tie into space manager
if(!(src.z in config.player_levels))
if(!is_level_reachable(src.z)) // This is inconsistent with the closet sending code
to_chat(user, "<span class='warning'>The rapid-crate-sender can't locate any telepads!</span>")
return
if(E.mode == 0)