[MIRROR] [READY] RND TECHWEBS + DEPARTMENTAL LATHES (#4014)
* [READY] RND TECHWEBS + DEPARTMENTAL LATHES * resetting all the maps because we can worry about them later. * Regexing * I'm fucked * Fixes * . * maps * bleh * ree * fixes
This commit is contained in:
committed by
kevinz000
parent
b5600cb91c
commit
cc0b768c72
@@ -10,7 +10,7 @@ They *could* go in their appropriate files, but this is supposed to be modular
|
||||
*/
|
||||
|
||||
|
||||
//Needs to return the amount drained from the atom, if no drain on a power object, return 0, otherwise, return a define.
|
||||
//Needs to return the amount drained from the atom, if no drain on a power object, return FALSE, otherwise, return a define.
|
||||
/atom/proc/ninjadrain_act()
|
||||
return INVALID_DRAIN
|
||||
|
||||
@@ -130,26 +130,15 @@ They *could* go in their appropriate files, but this is supposed to be modular
|
||||
to_chat(H, "<span class='notice'>Hacking \the [src]...</span>")
|
||||
AI_notify_hack()
|
||||
|
||||
if(files && files.known_tech.len)
|
||||
for(var/datum/tech/current_data in S.stored_research)
|
||||
to_chat(H, "<span class='notice'>Checking \the [current_data.name] database.</span>")
|
||||
if(do_after(H, S.s_delay, target = src) && G.candrain && src)
|
||||
for(var/id in files.known_tech)
|
||||
var/datum/tech/analyzing_data = files.known_tech[id]
|
||||
if(current_data.id == analyzing_data.id)
|
||||
if(analyzing_data.level > current_data.level)
|
||||
to_chat(H, "<span class='notice'>Database:</span> <b>UPDATED</b>.")
|
||||
current_data.level = analyzing_data.level
|
||||
. = DRAIN_RD_HACKED
|
||||
break//Move on to next.
|
||||
else
|
||||
break//Otherwise, quit processing.
|
||||
|
||||
if(stored_research)
|
||||
to_chat(H, "<span class='notice'>Copying files...</span>")
|
||||
if(do_after(H, S.s_delay, target = src) && G.candrain && src)
|
||||
stored_research.copy_research_to(S.stored_research)
|
||||
to_chat(H, "<span class='notice'>Data analyzed. Process finished.</span>")
|
||||
|
||||
//RD SERVER//
|
||||
//Shamelessly copypasted from above, since these two used to be the same proc, but with MANY colon operators
|
||||
/obj/machinery/r_n_d/server/ninjadrain_act(obj/item/clothing/suit/space/space_ninja/S, mob/living/carbon/human/H, obj/item/clothing/gloves/space_ninja/G)
|
||||
/obj/machinery/rnd/server/ninjadrain_act(obj/item/clothing/suit/space/space_ninja/S, mob/living/carbon/human/H, obj/item/clothing/gloves/space_ninja/G)
|
||||
if(!S || !H || !G)
|
||||
return INVALID_DRAIN
|
||||
|
||||
@@ -158,21 +147,10 @@ They *could* go in their appropriate files, but this is supposed to be modular
|
||||
to_chat(H, "<span class='notice'>Hacking \the [src]...</span>")
|
||||
AI_notify_hack()
|
||||
|
||||
if(files && files.known_tech.len)
|
||||
for(var/datum/tech/current_data in S.stored_research)
|
||||
to_chat(H, "<span class='notice'>Checking \the [current_data.name] database.</span>")
|
||||
if(do_after(H, S.s_delay, target = src) && G.candrain && src)
|
||||
for(var/id in files.known_tech)
|
||||
var/datum/tech/analyzing_data = files.known_tech[id]
|
||||
if(current_data.id == analyzing_data.id)
|
||||
if(analyzing_data.level > current_data.level)
|
||||
to_chat(H, "<span class='notice'>Database:</span> <b>UPDATED</b>.")
|
||||
current_data.level = analyzing_data.level
|
||||
. = DRAIN_RD_HACKED
|
||||
break//Move on to next.
|
||||
else
|
||||
break//Otherwise, quit processing.
|
||||
|
||||
if(stored_research)
|
||||
to_chat(H, "<span class='notice'>Copying files...</span>")
|
||||
if(do_after(H, S.s_delay, target = src) && G.candrain && src)
|
||||
stored_research.copy_research_to(S.stored_research)
|
||||
to_chat(H, "<span class='notice'>Data analyzed. Process finished.</span>")
|
||||
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ Contents:
|
||||
var/mob/living/carbon/human/affecting = null
|
||||
var/obj/item/stock_parts/cell/cell
|
||||
var/datum/effect_system/spark_spread/spark_system
|
||||
var/list/stored_research = list()//For stealing station research.
|
||||
var/datum/techweb/stored_research
|
||||
var/obj/item/disk/tech_disk/t_disk//To copy design onto disk.
|
||||
var/obj/item/energy_katana/energyKatana //For teleporting the katana back to the ninja (It's an ability)
|
||||
|
||||
@@ -62,14 +62,12 @@ Contents:
|
||||
..()
|
||||
|
||||
//Spark Init
|
||||
spark_system = new()
|
||||
spark_system = new
|
||||
spark_system.set_up(5, 0, src)
|
||||
spark_system.attach(src)
|
||||
|
||||
//Research Init
|
||||
stored_research = new()
|
||||
for(var/T in subtypesof(/datum/tech))//Store up on research.
|
||||
stored_research += new T(src)
|
||||
|
||||
//Cell Init
|
||||
cell = new/obj/item/stock_parts/cell/high
|
||||
@@ -97,7 +95,7 @@ Contents:
|
||||
//This proc prevents the suit from being taken off.
|
||||
/obj/item/clothing/suit/space/space_ninja/proc/lock_suit(mob/living/carbon/human/H)
|
||||
if(!istype(H))
|
||||
return 0
|
||||
return FALSE
|
||||
if(!is_ninja(H))
|
||||
to_chat(H, "<span class='danger'><B>fÄTaL ÈÈRRoR</B>: 382200-*#00CÖDE <B>RED</B>\nUNAU?HORIZED USÈ DETÈC???eD\nCoMMÈNCING SUB-R0U?IN3 13...\nTÈRMInATING U-U-USÈR...</span>")
|
||||
H.gib()
|
||||
|
||||
@@ -32,26 +32,12 @@
|
||||
|
||||
else if(istype(I, /obj/item/disk/tech_disk))//If it's a data disk, we want to copy the research on to the suit.
|
||||
var/obj/item/disk/tech_disk/TD = I
|
||||
var/has_research = FALSE
|
||||
for(var/V in TD.tech_stored)
|
||||
if(V)
|
||||
has_research = TRUE
|
||||
break
|
||||
var/has_research = 0
|
||||
if(has_research)//If it has something on it.
|
||||
to_chat(U, "<span class='notice'>Research information detected, processing...</span>")
|
||||
to_chat(U, "Research information detected, processing...")
|
||||
if(do_after(U,s_delay, target = src))
|
||||
for(var/V1 in 1 to TD.max_tech_stored)
|
||||
var/datum/tech/new_data = TD.tech_stored[V1]
|
||||
TD.tech_stored[V1] = null
|
||||
if(!new_data)
|
||||
continue
|
||||
for(var/V2 in stored_research)
|
||||
var/datum/tech/current_data = V2
|
||||
if(current_data.id == new_data.id)
|
||||
current_data.level = max(current_data.level, new_data.level)
|
||||
break
|
||||
TD.stored_research.copy_research_to(stored_research)
|
||||
to_chat(U, "<span class='notice'>Data analyzed and updated. Disk erased.</span>")
|
||||
|
||||
else
|
||||
to_chat(U, "<span class='userdanger'>ERROR</span>: Procedure interrupted. Process terminated.")
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user