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:
Poojawa
2016-12-22 03:57:55 -06:00
committed by GitHub
parent f5e143a452
commit cf59ac1c3d
2215 changed files with 707445 additions and 87041 deletions
@@ -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"