mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 04:57:12 +01:00
Added Spacevines to the random events. Added a spawn space-vines option to the secrets panel.
Fixes issue 250 (borg door bug) Fixed silicon interactions with engineering equipment. Fixed access lists for radiation collectors, so locking them actually serves a purpose. Fixed using crowbars on them. Borgs can name themselves upon module selection (unless a roboticist has named them previously by using a pen) To avoid Borgs griefing and then changing their name by selecting a module, borgs are now unable to move independently until they choose a module. New sprites for spacevines are on the way. So you'll have to tolerate my crappy stand-ins for a bit until he is finished with them. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3128 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
anchored = 0
|
||||
density = 1
|
||||
directwired = 1
|
||||
req_access = list(access_engine)
|
||||
// use_power = 0
|
||||
var
|
||||
obj/item/weapon/tank/plasma/P = null
|
||||
@@ -26,15 +27,14 @@
|
||||
|
||||
attack_hand(mob/user as mob)
|
||||
if(anchored)
|
||||
if(!src.locked || istype(user, /mob/living/silicon))
|
||||
if(!src.locked)
|
||||
toggle_power()
|
||||
user.visible_message("[user.name] turns the [src.name] [active? "on":"off"].", \
|
||||
"You turn the [src.name] [active? "on":"off"].")
|
||||
return
|
||||
else
|
||||
if(src.locked)
|
||||
user << "\red The controls are locked."
|
||||
return
|
||||
user << "\red The controls are locked!"
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
@@ -44,10 +44,10 @@
|
||||
return 1
|
||||
else if(istype(W, /obj/item/weapon/tank/plasma))
|
||||
if(!src.anchored)
|
||||
user << "The [src] needs to be secured to the floor first."
|
||||
user << "\red The [src] needs to be secured to the floor first."
|
||||
return 1
|
||||
if(src.P)
|
||||
user << "\red There appears to already be a plasma tank loaded!"
|
||||
user << "\red There's already a plasma tank loaded."
|
||||
return 1
|
||||
src.P = W
|
||||
W.loc = src
|
||||
@@ -56,28 +56,32 @@
|
||||
user.u_equip(W)
|
||||
updateicon()
|
||||
else if(istype(W, /obj/item/weapon/crowbar))
|
||||
if(P)
|
||||
if(P && !src.locked)
|
||||
eject()
|
||||
return 1
|
||||
else if(istype(W, /obj/item/weapon/wrench))
|
||||
if(P)
|
||||
user << "\red Remove the plasma tank first."
|
||||
user << "\blue Remove the plasma tank first."
|
||||
return 1
|
||||
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
||||
src.anchored = !src.anchored
|
||||
user.visible_message("[user.name] [anchored? "secures":"unsecures"] the [src.name].", \
|
||||
"You [anchored? "secure":"undo"] the external bolts.", \
|
||||
"You hear ratchet")
|
||||
"You hear a ratchet")
|
||||
if(anchored)
|
||||
connect_to_network()
|
||||
else
|
||||
disconnect_from_network()
|
||||
else if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda))
|
||||
if (src.allowed(user))
|
||||
src.locked = !src.locked
|
||||
user << "Controls are now [src.locked ? "locked." : "unlocked."]"
|
||||
if(active)
|
||||
src.locked = !src.locked
|
||||
user << "The controls are now [src.locked ? "locked." : "unlocked."]"
|
||||
else
|
||||
src.locked = 0 //just in case it somehow gets locked
|
||||
user << "\red The controls can only be locked when the [src] is active"
|
||||
else
|
||||
user << "\red Access denied."
|
||||
user << "\red Access denied!"
|
||||
return 1
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
attack_hand(mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
if(state == 2)
|
||||
if(!src.locked || istype(user, /mob/living/silicon))
|
||||
if(!src.locked)
|
||||
if(src.active==1)
|
||||
src.active = 0
|
||||
user << "You turn off the [src]."
|
||||
@@ -60,9 +60,9 @@
|
||||
src.use_power = 2
|
||||
update_icon()
|
||||
else
|
||||
user << "The controls are locked!"
|
||||
user << "\red The controls are locked!"
|
||||
else
|
||||
user << "The [src] needs to be firmly secured to the floor first."
|
||||
user << "\red The [src] needs to be firmly secured to the floor first."
|
||||
return 1
|
||||
|
||||
|
||||
@@ -90,8 +90,7 @@
|
||||
src.fire_delay = rand(20,100)
|
||||
src.shot_number = 0
|
||||
use_power(1000)
|
||||
var/obj/item/projectile/beam/A = new /obj/item/projectile/beam( src.loc )
|
||||
A.icon_state = "emitter"
|
||||
var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter( src.loc )
|
||||
playsound(src.loc, 'emitter.ogg', 25, 1)
|
||||
if(prob(35))
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
@@ -128,14 +127,14 @@
|
||||
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
||||
user.visible_message("[user.name] secures [src.name] to the floor.", \
|
||||
"You secure the external reinforcing bolts to the floor.", \
|
||||
"You hear ratchet")
|
||||
"You hear a ratchet")
|
||||
src.anchored = 1
|
||||
if(1)
|
||||
state = 0
|
||||
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
||||
user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", \
|
||||
"You undo the external reinforcing bolts.", \
|
||||
"You hear ratchet")
|
||||
"You hear a ratchet")
|
||||
src.anchored = 0
|
||||
if(2)
|
||||
user << "\red The [src.name] needs to be unwelded from the floor."
|
||||
@@ -160,7 +159,7 @@
|
||||
user << "You weld the [src] to the floor."
|
||||
W:welding = 1
|
||||
else
|
||||
user << "\blue You need more welding fuel to complete this task."
|
||||
user << "\red You need more welding fuel to complete this task."
|
||||
if(2)
|
||||
if (W:remove_fuel(0,user))
|
||||
W:welding = 2
|
||||
@@ -173,16 +172,20 @@
|
||||
user << "You cut the [src] free from the floor."
|
||||
W:welding = 1
|
||||
else
|
||||
user << "\blue You need more welding fuel to complete this task."
|
||||
user << "\red You need more welding fuel to complete this task."
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/card/id))//The slot is too small for PDAs
|
||||
if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))
|
||||
if(emagged)
|
||||
user << "\red The lock seems to be broken"
|
||||
return
|
||||
if(src.allowed(user))
|
||||
src.locked = !src.locked
|
||||
user << "Controls are now [src.locked ? "locked." : "unlocked."]"
|
||||
if(active)
|
||||
src.locked = !src.locked
|
||||
user << "The controls are now [src.locked ? "locked." : "unlocked."]"
|
||||
else
|
||||
src.locked = 0 //just in case it somehow gets locked
|
||||
user << "\red The controls can only be locked when the [src] is online"
|
||||
else
|
||||
user << "\red Access denied."
|
||||
return
|
||||
|
||||
@@ -190,7 +190,6 @@ field_generator power level display
|
||||
src.cleanup()
|
||||
update_icon()
|
||||
|
||||
|
||||
turn_on()
|
||||
active = 1
|
||||
warming_up = 1
|
||||
@@ -342,3 +341,15 @@ field_generator power level display
|
||||
connected_gens.Remove(FG)
|
||||
connected_gens = list()
|
||||
clean_up = 0
|
||||
|
||||
//This is here to help fight the "hurr durr, release singulo cos nobody will notice before the
|
||||
//singulo eats the evidence". It's not fool-proof but better than nothing.
|
||||
//I want to avoid using global variables.
|
||||
spawn(1)
|
||||
var/temp = 1 //stops spam
|
||||
for(var/obj/machinery/singularity/O in world)
|
||||
if(O.last_warning && temp)
|
||||
if((world.time - O.last_warning) > 50) //to stop message-spam
|
||||
temp = 0
|
||||
message_admins("A singulo exists and a containment field has failed.",1)
|
||||
O.last_warning = world.time
|
||||
|
||||
@@ -42,11 +42,11 @@
|
||||
if(anchored)
|
||||
user.visible_message("[user.name] secures [src.name] to the floor.", \
|
||||
"You secure the [src.name] to the floor.", \
|
||||
"You hear ratchet")
|
||||
"You hear a ratchet")
|
||||
else
|
||||
user.visible_message("[user.name] unsecures [src.name] from the floor.", \
|
||||
"You unsecure the [src.name] from the floor.", \
|
||||
"You hear ratchet")
|
||||
"You hear a ratchet")
|
||||
return
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -29,8 +29,17 @@ var/global/list/uneatable = list(
|
||||
target = null //its target. moves towards the target if it has one
|
||||
last_failed_movement = 0//Will not move in the same dir if it couldnt before, will help with the getting stuck on fields thing
|
||||
teleport_del = 0
|
||||
last_warning
|
||||
|
||||
New(loc, var/starting_energy = 50, var/temp = 0)
|
||||
//CARN: admin-alert for chuckle-fuckery.
|
||||
last_warning = world.time
|
||||
var/count = 0
|
||||
for(var/obj/machinery/containment_field/CF in world)
|
||||
count = 1
|
||||
break
|
||||
if(!count) message_admins("A singulo has been created without containment fields active ([x],[y],[z])",1)
|
||||
|
||||
src.energy = starting_energy
|
||||
if(temp)
|
||||
spawn(temp)
|
||||
|
||||
Reference in New Issue
Block a user