mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 03:25:49 +01:00
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into DWI
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user