Merge pull request #5731 from Novacat/nova-heterochromia

Buffs Mini Translocator
This commit is contained in:
Novacat
2019-08-31 01:37:40 -04:00
committed by GitHub
@@ -1244,7 +1244,8 @@
w_class = ITEMSIZE_SMALL
origin_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_ILLEGAL = 7)
var/obj/item/weapon/cell/device/weapon/power_source
var/cell_type = /obj/item/weapon/cell/device/weapon
var/obj/item/weapon/cell/power_source
var/charge_cost = 800 // cell/device/weapon has 2400
var/list/beacons = list()
@@ -1259,7 +1260,10 @@
/obj/item/device/perfect_tele/New()
..()
flags |= NOBLUDGEON
power_source = new (src)
if(cell_type)
power_source = new cell_type(src)
else
power_source = new /obj/item/weapon/cell/device(src)
spk = new(src)
spk.set_up(5, 0, src)
spk.attach(src)
@@ -1276,7 +1280,7 @@
/obj/item/device/perfect_tele/update_icon()
if(!power_source)
icon_state = "[initial(icon_state)]_o"
else if(ready && power_source.check_charge(charge_cost))
else if(ready && (power_source.check_charge(charge_cost) || power_source.fully_charged()))
icon_state = "[initial(icon_state)]"
else
icon_state = "[initial(icon_state)]_w"
@@ -1338,7 +1342,7 @@
return
/obj/item/device/perfect_tele/attackby(obj/W, mob/user)
if(istype(W,/obj/item/weapon/cell/device/weapon) && !power_source)
if(istype(W,cell_type) && !power_source)
power_source = W
power_source.update_icon() //Why doesn't a cell do this already? :|
user.unEquip(power_source)
@@ -1367,7 +1371,7 @@
return FALSE
//Check for charge
if(!power_source.check_charge(charge_cost))
if((!power_source.check_charge(charge_cost)) && (!power_source.fully_charged()))
to_chat(user,"<span class='warning'>\The [src] does not have enough power left!</span>")
return FALSE
@@ -1398,10 +1402,13 @@
//No, you can't port to or from away missions. Stupidly complicated check.
var/turf/uT = get_turf(user)
var/turf/dT = get_turf(destination)
var/list/dat = list()
dat["z_level_detection"] = using_map.get_map_levels(uT.z)
if(!uT || !dT)
return FALSE
if( (uT.z != dT.z) && ( (uT.z > max_default_z_level() ) || (dT.z > max_default_z_level()) ) )
if( (uT.z != dT.z) && (!(dT.z in dat["z_level_detection"])) )
to_chat(user,"<span class='warning'>\The [src] can't teleport you that far!</span>")
return FALSE
@@ -1562,14 +1569,17 @@
desc = "A more limited translocator with a single beacon, useful for some things, like setting the mining department on fire accidentally. Legal for use in the pursuit of NanoTrasen interests, namely mining and exploration."
icon_state = "minitrans"
beacons_left = 1 //Just one
charge_cost = 2400 //One per
cell_type = /obj/item/weapon/cell/device
origin_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5)
/*
/obj/item/device/perfect_tele/one_beacon/teleport_checks(mob/living/target,mob/living/user)
var/turf/T = get_turf(destination)
if(T && user.z != T.z)
to_chat(user,"<span class='warning'>\The [src] is too far away from the beacon. Try getting closer first!</span>")
return FALSE
return ..()
*/
//InterroLouis: Ruda Lizden
/obj/item/clothing/accessory/badge/holo/detective/ruda
@@ -2008,7 +2018,7 @@
/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask/fluff/viktor/Initialize()
..()
reagents.add_reagent("pwine", 60)
//RadiantAurora: Tiemli Kroto
/obj/item/clothing/glasses/welding/tiemgogs
name = "custom-fitted welding goggles"