12/21 modernizations from TG live (#103)
* sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes
This commit is contained in:
@@ -7,6 +7,14 @@
|
||||
origin_tech = "bluespace=1"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/device/radio/beacon/New()
|
||||
..()
|
||||
teleportbeacons += src
|
||||
|
||||
/obj/item/device/radio/beacon/Destroy()
|
||||
teleportbeacons.Remove(src)
|
||||
return ..()
|
||||
|
||||
/obj/item/device/radio/beacon/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, list/spans)
|
||||
return
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
item_state = "electropack"
|
||||
flags = CONDUCT
|
||||
slot_flags = SLOT_BACK
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
materials = list(MAT_METAL=10000, MAT_GLASS=2500)
|
||||
var/on = 1
|
||||
var/code = 2
|
||||
@@ -14,13 +14,18 @@
|
||||
var/shock_cooldown = 0
|
||||
|
||||
/obj/item/device/electropack/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] hooks \himself to the electropack and spams the trigger! It looks like \he's trying to commit suicide..</span>")
|
||||
user.visible_message("<span class='suicide'>[user] hooks [user.p_them()]self to the electropack and spams the trigger! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
return (FIRELOSS)
|
||||
|
||||
/obj/item/device/electropack/initialize()
|
||||
if(SSradio)
|
||||
SSradio.add_object(src, frequency, RADIO_CHAT)
|
||||
|
||||
/obj/item/device/electropack/New()
|
||||
if(SSradio)
|
||||
SSradio.add_object(src, frequency, RADIO_CHAT)
|
||||
..()
|
||||
|
||||
/obj/item/device/electropack/Destroy()
|
||||
if(SSradio)
|
||||
SSradio.remove_object(src, frequency)
|
||||
@@ -40,7 +45,7 @@
|
||||
A.icon = 'icons/obj/assemblies.dmi'
|
||||
|
||||
if(!user.unEquip(W))
|
||||
user << "<span class='warning'>\the [W] is stuck to your hand, you cannot attach it to \the [src]!</span>"
|
||||
user << "<span class='warning'>[W] is stuck to your hand, you cannot attach it to [src]!</span>"
|
||||
return
|
||||
W.loc = A
|
||||
W.master = A
|
||||
@@ -63,7 +68,7 @@
|
||||
var/mob/living/carbon/C = usr
|
||||
if(usr.stat || usr.restrained() || C.back == src)
|
||||
return
|
||||
if(((istype(usr, /mob/living/carbon/human) && ((!( ticker ) || (ticker && ticker.mode != "monkey")) && usr.contents.Find(src))) || (usr.contents.Find(master) || (in_range(src, usr) && istype(loc, /turf)))))
|
||||
if((ishuman(usr) && usr.contents.Find(src)) || usr.contents.Find(master) || (in_range(src, usr) && isturf(loc)))
|
||||
usr.set_machine(src)
|
||||
if(href_list["freq"])
|
||||
SSradio.remove_object(src, frequency)
|
||||
@@ -124,7 +129,7 @@
|
||||
|
||||
/obj/item/device/electropack/attack_self(mob/user)
|
||||
|
||||
if(!istype(user, /mob/living/carbon/human))
|
||||
if(!ishuman(user))
|
||||
return
|
||||
user.set_machine(src)
|
||||
var/dat = {"<TT>Turned [on ? "On" : "Off"] -
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
|
||||
/obj/item/device/encryptionkey/
|
||||
/obj/item/device/encryptionkey
|
||||
name = "standard encryption key"
|
||||
desc = "An encryption key for a radio headset. Has no special codes in it. WHY DOES IT EXIST? ASK NANOTRASEN."
|
||||
icon = 'icons/obj/radio.dmi'
|
||||
icon_state = "cypherkey"
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
origin_tech = "engineering=2;bluespace=1"
|
||||
var/translate_binary = 0
|
||||
var/translate_hive = 0
|
||||
@@ -13,7 +13,9 @@
|
||||
var/list/channels = list()
|
||||
|
||||
/obj/item/device/encryptionkey/syndicate
|
||||
icon_state = "cypherkey"
|
||||
name = "syndicate encryption key"
|
||||
desc = "An encryption key for a radio headset. To access the syndicate channel, use :t."
|
||||
icon_state = "syn_cypherkey"
|
||||
channels = list("Syndicate" = 1)
|
||||
origin_tech = "syndicate=1;engineering=3;bluespace=2"
|
||||
syndie = 1//Signifies that it de-crypts Syndicate transmissions
|
||||
@@ -21,7 +23,7 @@
|
||||
/obj/item/device/encryptionkey/binary
|
||||
name = "binary translator key"
|
||||
desc = "An encryption key for a radio headset. To access the binary channel, use :b."
|
||||
icon_state = "cypherkey"
|
||||
icon_state = "bin_cypherkey"
|
||||
translate_binary = 1
|
||||
origin_tech = "syndicate=3;engineering=4;bluespace=3"
|
||||
|
||||
@@ -109,6 +111,12 @@
|
||||
icon_state = "cargo_cypherkey"
|
||||
channels = list("Supply" = 1)
|
||||
|
||||
/obj/item/device/encryptionkey/headset_mining
|
||||
name = "mining radio encryption key"
|
||||
desc = "An encryption key for a radio headset. To access the supply channel, use :u. For science, use :n."
|
||||
icon_state = "cargo_cypherkey"
|
||||
channels = list("Supply" = 1, "Science" = 1)
|
||||
|
||||
/obj/item/device/encryptionkey/headset_service
|
||||
name = "service radio encryption key"
|
||||
desc = "An encryption key for a radio headset. To access the service channel, use :v."
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
/obj/item/device/radio/headset/talk_into(mob/living/M, message, channel, list/spans)
|
||||
if (!listening)
|
||||
return
|
||||
..()
|
||||
return ITALICS | REDUCE_RANGE
|
||||
return ..()
|
||||
|
||||
/obj/item/device/radio/headset/receive_range(freq, level, AIuser)
|
||||
if(ishuman(src.loc))
|
||||
@@ -173,8 +173,9 @@
|
||||
|
||||
/obj/item/device/radio/headset/headset_cargo/mining
|
||||
name = "mining radio headset"
|
||||
desc = "Headset used by shaft miners. \nTo access the supply channel, use :u."
|
||||
desc = "Headset used by shaft miners. \nTo access the supply channel, use :u. For science, use :n."
|
||||
icon_state = "mine_headset"
|
||||
keyslot = new /obj/item/device/encryptionkey/headset_mining
|
||||
|
||||
/obj/item/device/radio/headset/headset_srv
|
||||
name = "service radio headset"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Talk through this."
|
||||
icon_state = "intercom"
|
||||
anchored = 1
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
canhear_range = 2
|
||||
var/number = 0
|
||||
var/anyai = 1
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
languages_understood = HUMAN | ROBOT
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
materials = list(MAT_METAL=75, MAT_GLASS=25)
|
||||
|
||||
var/const/TRANSMISSION_DELAY = 5 // only 2/second/radio
|
||||
@@ -110,7 +110,7 @@
|
||||
/obj/item/device/radio/interact(mob/user)
|
||||
if (..())
|
||||
return
|
||||
if(b_stat && !istype(user, /mob/living/silicon/ai))
|
||||
if(b_stat && !isAI(user))
|
||||
wires.interact(user)
|
||||
else
|
||||
ui_interact(user)
|
||||
@@ -197,6 +197,10 @@
|
||||
. = TRUE
|
||||
|
||||
/obj/item/device/radio/talk_into(atom/movable/M, message, channel, list/spans)
|
||||
addtimer(src,"talk_into_impl",0, TIMER_NORMAL,M,message,channel,spans)
|
||||
return ITALICS | REDUCE_RANGE
|
||||
|
||||
/obj/item/device/radio/proc/talk_into_impl(atom/movable/M, message, channel, list/spans)
|
||||
if(!on) return // the device has to be on
|
||||
// Fix for permacell radios, but kinda eh about actually fixing them.
|
||||
if(!M || !message) return
|
||||
@@ -277,7 +281,7 @@
|
||||
jobname = "AI"
|
||||
|
||||
// --- Cyborg ---
|
||||
else if(isrobot(M))
|
||||
else if(iscyborg(M))
|
||||
var/mob/living/silicon/robot/B = M
|
||||
jobname = "[B.designation] Cyborg"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user