Bleeding edgy refresh (#303)
* not code stuff * other things * global vars, defines, helpers * onclick hud stuff, orphans, world.dm * controllers and datums * game folder * everything not client/mobs in modules * client folder * stage 1 mob stuff * simple animal things * silicons * carbon things * ayylmaos and monkeys * hyoomahn * icons n shit * sprite fixes * compile fixes * some fixes I cherrypicked. * qdel fixes * forgot brain refractors
This commit is contained in:
@@ -41,7 +41,7 @@ Contents:
|
||||
set popup_menu = 0
|
||||
|
||||
if(!holder)
|
||||
src << "Only administrators may use this command."
|
||||
to_chat(src, "Only administrators may use this command.")
|
||||
return
|
||||
if(!ticker.mode)
|
||||
alert("The game hasn't started yet!")
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
msg = "Your Energy Katana lands at your feet!"
|
||||
|
||||
if(msg)
|
||||
user << "<span class='notice'>[msg]</span>"
|
||||
to_chat(user, "<span class='notice'>[msg]</span>")
|
||||
|
||||
/obj/item/weapon/katana/energy/New()
|
||||
..()
|
||||
|
||||
@@ -63,9 +63,9 @@
|
||||
|
||||
if(isnum(drained)) //Numerical values of drained handle their feedback here, Alpha values handle it themselves (Research hacking)
|
||||
if(drained)
|
||||
H << "<span class='notice'>Gained <B>[drained]</B> energy from \the [A].</span>"
|
||||
to_chat(H, "<span class='notice'>Gained <B>[drained]</B> energy from \the [A].</span>")
|
||||
else
|
||||
H << "<span class='danger'>\The [A] has run dry of power, you must find another source!</span>"
|
||||
to_chat(H, "<span class='danger'>\The [A] has run dry of power, you must find another source!</span>")
|
||||
else
|
||||
drained = 0 //as to not cancel attack_hand()
|
||||
|
||||
@@ -78,11 +78,11 @@
|
||||
set category = "Ninja Equip"
|
||||
|
||||
var/mob/living/carbon/human/U = loc
|
||||
U << "You <b>[candrain?"disable":"enable"]</b> special interaction."
|
||||
to_chat(U, "You <b>[candrain?"disable":"enable"]</b> special interaction.")
|
||||
candrain=!candrain
|
||||
|
||||
|
||||
/obj/item/clothing/gloves/space_ninja/examine(mob/user)
|
||||
..()
|
||||
if(flags & NODROP)
|
||||
user << "The energy drain mechanism is: <B>[candrain?"active":"inactive"]</B>."
|
||||
to_chat(user, "The energy drain mechanism is: <B>[candrain?"active":"inactive"]</B>.")
|
||||
|
||||
@@ -35,7 +35,7 @@ It is possible to destroy the net by the occupant or someone else.
|
||||
for(var/mob/O in viewers(src, 3))
|
||||
O.show_message("[M.name] was recovered from the energy net!", 1, "<span class='italics'>You hear a grunt.</span>", 2)
|
||||
if(master)//As long as they still exist.
|
||||
master << "<span class='userdanger'>ERROR</span>: unable to initiate transport protocol. Procedure terminated."
|
||||
to_chat(master, "<span class='userdanger'>ERROR</span>: unable to initiate transport protocol. Procedure terminated.")
|
||||
return ..()
|
||||
|
||||
/obj/structure/energy_net/process(mob/living/carbon/M)
|
||||
@@ -51,7 +51,7 @@ It is possible to destroy the net by the occupant or someone else.
|
||||
|
||||
if(isnull(M)||M.loc!=loc)//If mob is gone or not at the location.
|
||||
if(!isnull(master))//As long as they still exist.
|
||||
master << "<span class='userdanger'>ERROR</span>: unable to locate \the [mob_name]. Procedure terminated."
|
||||
to_chat(master, "<span class='userdanger'>ERROR</span>: unable to locate \the [mob_name]. Procedure terminated.")
|
||||
qdel(src)//Get rid of the net.
|
||||
M.notransform = 0
|
||||
return
|
||||
@@ -76,10 +76,10 @@ It is possible to destroy the net by the occupant or someone else.
|
||||
|
||||
visible_message("[M] suddenly vanishes!")
|
||||
M.forceMove(pick(holdingfacility)) //Throw mob in to the holding facility.
|
||||
M << "<span class='danger'>You appear in a strange place!</span>"
|
||||
to_chat(M, "<span class='danger'>You appear in a strange place!</span>")
|
||||
|
||||
if(!isnull(master))//As long as they still exist.
|
||||
master << "<span class='notice'><b>SUCCESS</b>: transport procedure of \the [affecting] complete.</span>"
|
||||
to_chat(master, "<span class='notice'><b>SUCCESS</b>: transport procedure of \the [affecting] complete.</span>")
|
||||
M.notransform = 0
|
||||
var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
|
||||
spark_system.set_up(5, 0, M.loc)
|
||||
@@ -90,7 +90,7 @@ It is possible to destroy the net by the occupant or someone else.
|
||||
qdel(src)
|
||||
|
||||
else//And they are free.
|
||||
M << "<span class='notice'>You are free of the net!</span>"
|
||||
to_chat(M, "<span class='notice'>You are free of the net!</span>")
|
||||
M.notransform = 0
|
||||
return
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
var/fraction = min(a_transfer/reagents.total_volume, 1)
|
||||
reagents.reaction(H, INJECT, fraction)
|
||||
reagents.trans_id_to(H, "radium", a_transfer)
|
||||
H << "<span class='danger'>You are beginning to feel the after-effect of the injection.</span>"
|
||||
to_chat(H, "<span class='danger'>You are beginning to feel the after-effect of the injection.</span>")
|
||||
a_boost--
|
||||
H << "<span class='notice'>There are <B>[a_boost]</B> adrenaline boosts remaining.</span>"
|
||||
to_chat(H, "<span class='notice'>There are <B>[a_boost]</B> adrenaline boosts remaining.</span>")
|
||||
s_coold = 3
|
||||
return
|
||||
@@ -4,12 +4,12 @@
|
||||
/obj/item/clothing/suit/space/space_ninja/proc/ninjacost(cost = 0, specificCheck = 0)
|
||||
var/mob/living/carbon/human/H = affecting
|
||||
if((H.stat || H.incorporeal_move) && (specificCheck != N_ADRENALINE))//Will not return if user is using an adrenaline booster since you can use them when stat==1.
|
||||
H << "<span class='danger'>You must be conscious and solid to do this.</span>"//It's not a problem of stat==2 since the ninja will explode anyway if they die.
|
||||
to_chat(H, "<span class='danger'>You must be conscious and solid to do this.</span>")
|
||||
return 1
|
||||
|
||||
var/actualCost = cost*10
|
||||
if(cost && cell.charge < actualCost)
|
||||
H << "<span class='danger'>Not enough energy.</span>"
|
||||
to_chat(H, "<span class='danger'>Not enough energy.</span>")
|
||||
return 1
|
||||
else
|
||||
//This shit used to be handled individually on every proc.. why even bother with a universal check proc then?
|
||||
@@ -20,10 +20,10 @@
|
||||
cancel_stealth()//Get rid of it.
|
||||
if(N_SMOKE_BOMB)
|
||||
if(!s_bombs)
|
||||
H << "<span class='danger'>There are no more smoke bombs remaining.</span>"
|
||||
to_chat(H, "<span class='danger'>There are no more smoke bombs remaining.</span>")
|
||||
return 1
|
||||
if(N_ADRENALINE)
|
||||
if(!a_boost)
|
||||
H << "<span class='danger'>You do not have any more adrenaline boosters.</span>"
|
||||
to_chat(H, "<span class='danger'>You do not have any more adrenaline boosters.</span>")
|
||||
return 1
|
||||
return (s_coold)//Returns the value of the variable which counts down to zero.
|
||||
@@ -12,7 +12,7 @@
|
||||
if(!locate(/obj/structure/energy_net) in C.loc)//Check if they are already being affected by an energy net.
|
||||
for(var/turf/T in getline(H.loc, C.loc))
|
||||
if(T.density)//Don't want them shooting nets through walls. It's kind of cheesy.
|
||||
H << "<span class='warning'>You may not use an energy net through solid obstacles!</span>"
|
||||
to_chat(H, "<span class='warning'>You may not use an energy net through solid obstacles!</span>")
|
||||
return
|
||||
spawn(0)
|
||||
H.Beam(C,"n_beam",time=15)
|
||||
@@ -24,7 +24,7 @@
|
||||
spawn(0)//Parallel processing.
|
||||
E.process(C)
|
||||
else
|
||||
H << "<span class='warning'>[C.p_they(TRUE)] are already trapped inside an energy net!</span>"
|
||||
to_chat(H, "<span class='warning'>[C.p_they(TRUE)] are already trapped inside an energy net!</span>")
|
||||
else
|
||||
H << "<span class='warning'>[C.p_they(TRUE)] will bring no honor to your Clan!</span>"
|
||||
to_chat(H, "<span class='warning'>[C.p_they(TRUE)] will bring no honor to your Clan!</span>")
|
||||
return
|
||||
@@ -14,6 +14,6 @@
|
||||
smoke.start()
|
||||
playsound(H.loc, 'sound/effects/bamf.ogg', 50, 2)
|
||||
s_bombs--
|
||||
H << "<span class='notice'>There are <B>[s_bombs]</B> smoke bombs remaining.</span>"
|
||||
to_chat(H, "<span class='notice'>There are <B>[s_bombs]</B> smoke bombs remaining.</span>")
|
||||
s_coold = 1
|
||||
return
|
||||
@@ -11,7 +11,7 @@
|
||||
var/mob/living/carbon/human/H = affecting
|
||||
var/obj/item/weapon/throwing_star/ninja/N = new(H)
|
||||
if(H.put_in_hands(N))
|
||||
H << "<span class='notice'>A throwing star has been created in your hand!</span>"
|
||||
to_chat(H, "<span class='notice'>A throwing star has been created in your hand!</span>")
|
||||
else
|
||||
qdel(N)
|
||||
H.throw_mode_on() //So they can quickly throw it.
|
||||
|
||||
@@ -15,7 +15,7 @@ Contents:
|
||||
cancel_stealth()
|
||||
else
|
||||
if(cell.charge <= 0)
|
||||
U << "<span class='warning'>You don't have enough power to enable Stealth!</span>"
|
||||
to_chat(U, "<span class='warning'>You don't have enough power to enable Stealth!</span>")
|
||||
return
|
||||
s_active=!s_active
|
||||
animate(U, alpha = 50,time = 15)
|
||||
@@ -45,5 +45,5 @@ Contents:
|
||||
if(!s_busy)
|
||||
toggle_stealth()
|
||||
else
|
||||
affecting << "<span class='danger'>Stealth does not appear to work!</span>"
|
||||
to_chat(affecting, "<span class='danger'>Stealth does not appear to work!</span>")
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
var/inview = 1
|
||||
|
||||
if(!energyKatana)
|
||||
H << "<span class='warning'>Could not locate Energy Katana!</span>"
|
||||
to_chat(H, "<span class='warning'>Could not locate Energy Katana!</span>")
|
||||
return
|
||||
|
||||
if(energyKatana in H)
|
||||
|
||||
@@ -46,7 +46,7 @@ Contents:
|
||||
destination.phase_damage_creatures(20,H)//Paralyse and damage mobs and mechas on the turf
|
||||
s_coold = 1
|
||||
else
|
||||
H << "<span class='danger'>The VOID-shift device is malfunctioning, <B>teleportation failed</B>.</span>"
|
||||
to_chat(H, "<span class='danger'>The VOID-shift device is malfunctioning, <B>teleportation failed</B>.</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ Contents:
|
||||
T.phase_damage_creatures(20,H)//Paralyse and damage mobs and mechas on the turf
|
||||
s_coold = 1
|
||||
else
|
||||
H << "<span class='danger'>You cannot teleport into solid walls or from solid matter</span>"
|
||||
to_chat(H, "<span class='danger'>You cannot teleport into solid walls or from solid matter</span>")
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -121,27 +121,27 @@ They *could* go in their appropriate files, but this is supposed to be modular
|
||||
|
||||
. = DRAIN_RD_HACK_FAILED
|
||||
|
||||
H << "<span class='notice'>Hacking \the [src]...</span>"
|
||||
to_chat(H, "<span class='notice'>Hacking \the [src]...</span>")
|
||||
spawn(0)
|
||||
var/turf/location = get_turf(H)
|
||||
for(var/mob/living/silicon/ai/AI in player_list)
|
||||
AI << "<span class='userdanger'>Network Alert: Hacking attempt detected[location?" in [location]":". Unable to pinpoint location"]</span>."
|
||||
to_chat(AI, "<span class='userdanger'>Network Alert: Hacking attempt detected[location?" in [location]":". Unable to pinpoint location"]</span>.")
|
||||
|
||||
if(files && files.known_tech.len)
|
||||
for(var/datum/tech/current_data in S.stored_research)
|
||||
H << "<span class='notice'>Checking \the [current_data.name] database.</span>"
|
||||
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/datum/tech/analyzing_data in files.known_tech)
|
||||
if(current_data.id == analyzing_data.id)
|
||||
if(analyzing_data.level > current_data.level)
|
||||
H << "<span class='notice'>Database:</span> <b>UPDATED</b>."
|
||||
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.
|
||||
|
||||
H << "<span class='notice'>Data analyzed. Process finished.</span>"
|
||||
to_chat(H, "<span class='notice'>Data analyzed. Process finished.</span>")
|
||||
|
||||
|
||||
//RD SERVER//
|
||||
@@ -152,27 +152,27 @@ They *could* go in their appropriate files, but this is supposed to be modular
|
||||
|
||||
. = DRAIN_RD_HACK_FAILED
|
||||
|
||||
H << "<span class='notice'>Hacking \the [src]...</span>"
|
||||
to_chat(H, "<span class='notice'>Hacking \the [src]...</span>")
|
||||
spawn(0)
|
||||
var/turf/location = get_turf(H)
|
||||
for(var/mob/living/silicon/ai/AI in player_list)
|
||||
AI << "<span class='userdanger'>Network Alert: Hacking attempt detected[location?" in [location]":". Unable to pinpoint location"]</span>."
|
||||
to_chat(AI, "<span class='userdanger'>Network Alert: Hacking attempt detected[location?" in [location]":". Unable to pinpoint location"]</span>.")
|
||||
|
||||
if(files && files.known_tech.len)
|
||||
for(var/datum/tech/current_data in S.stored_research)
|
||||
H << "<span class='notice'>Checking \the [current_data.name] database.</span>"
|
||||
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/datum/tech/analyzing_data in files.known_tech)
|
||||
if(current_data.id == analyzing_data.id)
|
||||
if(analyzing_data.level > current_data.level)
|
||||
H << "<span class='notice'>Database:</span> <b>UPDATED</b>."
|
||||
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.
|
||||
|
||||
H << "<span class='notice'>Data analyzed. Process finished.</span>"
|
||||
to_chat(H, "<span class='notice'>Data analyzed. Process finished.</span>")
|
||||
|
||||
|
||||
//WIRE//
|
||||
@@ -247,7 +247,7 @@ They *could* go in their appropriate files, but this is supposed to be modular
|
||||
var/drain = 0 //Drain amount
|
||||
. = 0
|
||||
|
||||
src << "<span class='danger'>Warning: Unauthorized access through sub-route 12, block C, detected.</span>"
|
||||
to_chat(src, "<span class='danger'>Warning: Unauthorized access through sub-route 12, block C, detected.</span>")
|
||||
|
||||
if(cell && cell.charge)
|
||||
while(G.candrain && cell.charge > 0 && !maxcapacity)
|
||||
|
||||
@@ -118,17 +118,17 @@ Contents:
|
||||
H.gloves.item_state = "s-ninjan"
|
||||
else
|
||||
if(H.mind.special_role!="Space Ninja")
|
||||
H << "\red <B>fÄTaL ÈÈRRoR</B>: 382200-*#00CÖDE <B>RED</B>\nUNAUHORIZED USÈ DETÈCeD\nCoMMÈNCING SUB-R0UIN3 13...\nTÈRMInATING U-U-USÈR..."
|
||||
to_chat(H, "\red <B>fÄTaL ÈÈRRoR</B>: 382200-*#00CÖDE <B>RED</B>\nUNAUHORIZED USÈ DETÈCeD\nCoMMÈNCING SUB-R0UIN3 13...\nTÈRMInATING U-U-USÈR...")
|
||||
H.gib()
|
||||
return 0
|
||||
if(!istype(H.head, /obj/item/clothing/head/helmet/space/space_ninja))
|
||||
H << "<span class='userdanger'>ERROR</span>: 100113 UNABLE TO LOCATE HEAD GEAR\nABORTING..."
|
||||
to_chat(H, "<span class='userdanger'>ERROR</span>: 100113 UNABLE TO LOCATE HEAD GEAR\nABORTING...")
|
||||
return 0
|
||||
if(!istype(H.shoes, /obj/item/clothing/shoes/space_ninja))
|
||||
H << "<span class='userdanger'>ERROR</span>: 122011 UNABLE TO LOCATE FOOT GEAR\nABORTING..."
|
||||
to_chat(H, "<span class='userdanger'>ERROR</span>: 122011 UNABLE TO LOCATE FOOT GEAR\nABORTING...")
|
||||
return 0
|
||||
if(!istype(H.gloves, /obj/item/clothing/gloves/space_ninja))
|
||||
H << "<span class='userdanger'>ERROR</span>: 110223 UNABLE TO LOCATE HAND GEAR\nABORTING..."
|
||||
to_chat(H, "<span class='userdanger'>ERROR</span>: 110223 UNABLE TO LOCATE HAND GEAR\nABORTING...")
|
||||
return 0
|
||||
|
||||
affecting = H
|
||||
@@ -168,7 +168,7 @@ Contents:
|
||||
..()
|
||||
if(s_initialized)
|
||||
if(user == affecting)
|
||||
user << "All systems operational. Current energy capacity: <B>[cell.charge]</B>."
|
||||
user << "The CLOAK-tech device is <B>[s_active?"active":"inactive"]</B>."
|
||||
user << "There are <B>[s_bombs]</B> smoke bomb\s remaining."
|
||||
user << "There are <B>[a_boost]</B> adrenaline booster\s remaining."
|
||||
to_chat(user, "All systems operational. Current energy capacity: <B>[cell.charge]</B>.")
|
||||
to_chat(user, "The CLOAK-tech device is <B>[s_active?"active":"inactive"]</B>.")
|
||||
to_chat(user, "There are <B>[s_bombs]</B> smoke bomb\s remaining.")
|
||||
to_chat(user, "There are <B>[a_boost]</B> adrenaline booster\s remaining.")
|
||||
|
||||
@@ -13,16 +13,16 @@
|
||||
R.volume -= amount_to_transfer//Remove from reagent volume. Don't want to delete the reagent now since we need to perserve the name.
|
||||
reagents.add_reagent(reagent_id, amount_to_transfer)//Add to suit. Reactions are not important.
|
||||
total_reagent_transfer += amount_to_transfer//Add to total reagent trans.
|
||||
U << "Added [amount_to_transfer] units of [R.name]."//Reports on the specific reagent added.
|
||||
to_chat(U, "Added [amount_to_transfer] units of [R.name].")
|
||||
I.reagents.update_total()//Now we manually update the total to make sure everything is properly shoved under the rug.
|
||||
|
||||
U << "Replenished a total of [total_reagent_transfer ? total_reagent_transfer : "zero"] chemical units."//Let the player know how much total volume was added.
|
||||
to_chat(U, "Replenished a total of [total_reagent_transfer ? total_reagent_transfer : "zero"] chemical units.")
|
||||
return
|
||||
|
||||
else if(istype(I, /obj/item/weapon/stock_parts/cell))
|
||||
var/obj/item/weapon/stock_parts/cell/CELL = I
|
||||
if(CELL.maxcharge > cell.maxcharge && n_gloves && n_gloves.candrain)
|
||||
U << "<span class='notice'>Higher maximum capacity detected.\nUpgrading...</span>"
|
||||
to_chat(U, "<span class='notice'>Higher maximum capacity detected.\nUpgrading...</span>")
|
||||
if (n_gloves && n_gloves.candrain && do_after(U,s_delay, target = src))
|
||||
U.drop_item()
|
||||
CELL.loc = src
|
||||
@@ -34,9 +34,9 @@
|
||||
old_cell.corrupt()
|
||||
old_cell.updateicon()
|
||||
cell = CELL
|
||||
U << "<span class='notice'>Upgrade complete. Maximum capacity: <b>[round(cell.maxcharge/100)]</b>%</span>"
|
||||
to_chat(U, "<span class='notice'>Upgrade complete. Maximum capacity: <b>[round(cell.maxcharge/100)]</b>%</span>")
|
||||
else
|
||||
U << "<span class='danger'>Procedure interrupted. Protocol terminated.</span>"
|
||||
to_chat(U, "<span class='danger'>Procedure interrupted. Protocol terminated.</span>")
|
||||
return
|
||||
|
||||
else if(istype(I, /obj/item/weapon/disk/tech_disk))//If it's a data disk, we want to copy the research on to the suit.
|
||||
@@ -47,7 +47,7 @@
|
||||
has_research = 1
|
||||
break
|
||||
if(has_research)//If it has something on it.
|
||||
U << "Research information detected, processing..."
|
||||
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]
|
||||
@@ -59,12 +59,12 @@
|
||||
if(current_data.id == new_data.id)
|
||||
current_data.level = max(current_data.level, new_data.level)
|
||||
break
|
||||
U << "<span class='notice'>Data analyzed and updated. Disk erased.</span>"
|
||||
to_chat(U, "<span class='notice'>Data analyzed and updated. Disk erased.</span>")
|
||||
else
|
||||
U << "<span class='userdanger'>ERROR</span>: Procedure interrupted. Process terminated."
|
||||
to_chat(U, "<span class='userdanger'>ERROR</span>: Procedure interrupted. Process terminated.")
|
||||
else
|
||||
I.loc = src
|
||||
t_disk = I
|
||||
U << "<span class='notice'>You slot \the [I] into \the [src].</span>"
|
||||
to_chat(U, "<span class='notice'>You slot \the [I] into \the [src].</span>")
|
||||
return
|
||||
..()
|
||||
@@ -17,7 +17,7 @@
|
||||
if(!s_busy)
|
||||
deinitialize()
|
||||
else
|
||||
affecting << "<span class='danger'>The function did not trigger!</span>"
|
||||
to_chat(affecting, "<span class='danger'>The function did not trigger!</span>")
|
||||
|
||||
|
||||
/obj/item/clothing/suit/space/space_ninja/proc/ninitialize(delay = s_delay, mob/living/carbon/human/U = loc)
|
||||
@@ -26,27 +26,27 @@
|
||||
for(var/i,i<7,i++)
|
||||
switch(i)
|
||||
if(0)
|
||||
U << "<span class='notice'>Now initializing...</span>"
|
||||
to_chat(U, "<span class='notice'>Now initializing...</span>")
|
||||
if(1)
|
||||
if(!lock_suit(U))//To lock the suit onto wearer.
|
||||
break
|
||||
U << "<span class='notice'>Securing external locking mechanism...\nNeural-net established.</span>"
|
||||
to_chat(U, "<span class='notice'>Securing external locking mechanism...\nNeural-net established.</span>")
|
||||
if(2)
|
||||
U << "<span class='notice'>Extending neural-net interface...\nNow monitoring brain wave pattern...</span>"
|
||||
to_chat(U, "<span class='notice'>Extending neural-net interface...\nNow monitoring brain wave pattern...</span>")
|
||||
if(3)
|
||||
if(U.stat==2||U.health<=0)
|
||||
U << "<span class='danger'><B>FÄAL �Rr�R</B>: 344--93#�&&21 BR��N |/|/aV� PATT$RN <B>RED</B>\nA-A-aB�rT�NG...</span>"
|
||||
to_chat(U, "<span class='danger'><B>FÄAL �Rr�R</B>: 344--93#�&&21 BR��N |/|/aV� PATT$RN <B>RED</B>\nA-A-aB�rT�NG...</span>")
|
||||
unlock_suit()
|
||||
break
|
||||
lock_suit(U,1)//Check for icons.
|
||||
U.regenerate_icons()
|
||||
U << "<span class='notice'>Linking neural-net interface...\nPattern</span>\green <B>GREEN</B><span class='notice'>, continuing operation.</span>"
|
||||
to_chat(U, "<span class='notice'>Linking neural-net interface...\nPattern</span>\green <B>GREEN</B><span class='notice'>, continuing operation.</span>")
|
||||
if(4)
|
||||
U << "<span class='notice'>VOID-shift device status: <B>ONLINE</B>.\nCLOAK-tech device status: <B>ONLINE</B>.</span>"
|
||||
to_chat(U, "<span class='notice'>VOID-shift device status: <B>ONLINE</B>.\nCLOAK-tech device status: <B>ONLINE</B>.</span>")
|
||||
if(5)
|
||||
U << "<span class='notice'>Primary system status: <B>ONLINE</B>.\nBackup system status: <B>ONLINE</B>.\nCurrent energy capacity: <B>[cell.charge]</B>.</span>"
|
||||
to_chat(U, "<span class='notice'>Primary system status: <B>ONLINE</B>.\nBackup system status: <B>ONLINE</B>.\nCurrent energy capacity: <B>[cell.charge]</B>.</span>")
|
||||
if(6)
|
||||
U << "<span class='notice'>All systems operational. Welcome to <B>SpiderOS</B>, [U.real_name].</span>"
|
||||
to_chat(U, "<span class='notice'>All systems operational. Welcome to <B>SpiderOS</B>, [U.real_name].</span>")
|
||||
grant_ninja_verbs()
|
||||
grant_equip_verbs()
|
||||
ntick()
|
||||
@@ -54,11 +54,11 @@
|
||||
s_busy = 0
|
||||
else
|
||||
if(!U.mind||U.mind.assigned_role!=U.mind.special_role)//Your run of the mill persons shouldn't know what it is. Or how to turn it on.
|
||||
U << "You do not understand how this suit functions. Where the heck did it even come from?"
|
||||
to_chat(U, "You do not understand how this suit functions. Where the heck did it even come from?")
|
||||
else if(s_initialized)
|
||||
U << "<span class='danger'>The suit is already functioning.</span> Please report this bug."
|
||||
to_chat(U, "<span class='danger'>The suit is already functioning.</span> Please report this bug.")
|
||||
else
|
||||
U << "<span class='userdanger'>ERROR</span>: You cannot use this function at this time."
|
||||
to_chat(U, "<span class='userdanger'>ERROR</span>: You cannot use this function at this time.")
|
||||
return
|
||||
|
||||
|
||||
@@ -67,33 +67,33 @@
|
||||
if(affecting==loc&&!s_busy)
|
||||
var/mob/living/carbon/human/U = affecting
|
||||
if(!s_initialized)
|
||||
U << "<span class='danger'>The suit is not initialized.</span> Please report this bug."
|
||||
to_chat(U, "<span class='danger'>The suit is not initialized.</span> Please report this bug.")
|
||||
return
|
||||
if(alert("Are you certain you wish to remove the suit? This will take time and remove all abilities.",,"Yes","No")=="No")
|
||||
return
|
||||
if(s_busy)
|
||||
U << "<span class='userdanger'>ERROR</span>: You cannot use this function at this time."
|
||||
to_chat(U, "<span class='userdanger'>ERROR</span>: You cannot use this function at this time.")
|
||||
return
|
||||
s_busy = 1
|
||||
for(var/i = 0,i<7,i++)
|
||||
switch(i)
|
||||
if(0)
|
||||
U << "<span class='notice'>Now de-initializing...</span>"
|
||||
to_chat(U, "<span class='notice'>Now de-initializing...</span>")
|
||||
spideros = 0//Spideros resets.
|
||||
if(1)
|
||||
U << "<span class='notice'>Logging off, [U:real_name]. Shutting down <B>SpiderOS</B>.</span>"
|
||||
to_chat(U, "<span class='notice'>Logging off, [U:real_name]. Shutting down <B>SpiderOS</B>.</span>")
|
||||
remove_ninja_verbs()
|
||||
if(2)
|
||||
U << "<span class='notice'>Primary system status: <B>OFFLINE</B>.\nBackup system status: <B>OFFLINE</B>.</span>"
|
||||
to_chat(U, "<span class='notice'>Primary system status: <B>OFFLINE</B>.\nBackup system status: <B>OFFLINE</B>.</span>")
|
||||
if(3)
|
||||
U << "<span class='notice'>VOID-shift device status: <B>OFFLINE</B>.\nCLOAK-tech device status: <B>OFFLINE</B>.</span>"
|
||||
to_chat(U, "<span class='notice'>VOID-shift device status: <B>OFFLINE</B>.\nCLOAK-tech device status: <B>OFFLINE</B>.</span>")
|
||||
cancel_stealth()//Shutdowns stealth.
|
||||
if(4)
|
||||
U << "<span class='notice'>Disconnecting neural-net interface...</span>\green<B>Success</B><span class='notice'>.</span>"
|
||||
to_chat(U, "<span class='notice'>Disconnecting neural-net interface...</span>\green<B>Success</B><span class='notice'>.</span>")
|
||||
if(5)
|
||||
U << "<span class='notice'>Disengaging neural-net interface...</span>\green<B>Success</B><span class='notice'>.</span>"
|
||||
to_chat(U, "<span class='notice'>Disengaging neural-net interface...</span>\green<B>Success</B><span class='notice'>.</span>")
|
||||
if(6)
|
||||
U << "<span class='notice'>Unsecuring external locking mechanism...\nNeural-net abolished.\nOperation status: <B>FINISHED</B>.</span>"
|
||||
to_chat(U, "<span class='notice'>Unsecuring external locking mechanism...\nNeural-net abolished.\nOperation status: <B>FINISHED</B>.</span>")
|
||||
remove_equip_verbs()
|
||||
unlock_suit()
|
||||
U.regenerate_icons()
|
||||
|
||||
Reference in New Issue
Block a user