mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 02:16:05 +00:00
Fixed a rechargestation runtime.
Added a few misc areas. Changed a number in the prefs that might help with less assistants. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2328 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -1167,6 +1167,33 @@ proc/process_ghost_teleport_locs()
|
||||
name = "AI Main New"
|
||||
icon_state = "storage"
|
||||
|
||||
|
||||
|
||||
//Misc
|
||||
|
||||
|
||||
|
||||
/area/wreck/ai
|
||||
name = "AI Chamber"
|
||||
icon_state = "ai"
|
||||
|
||||
/area/wreck/main
|
||||
name = "Wreck"
|
||||
icon_state = "storage"
|
||||
|
||||
/area/wreck/engineering
|
||||
name = "Power Room"
|
||||
icon_state = "engine"
|
||||
|
||||
/area/wreck/bridge
|
||||
name = "Bridge"
|
||||
icon_state = "bridge"
|
||||
|
||||
/area/generic
|
||||
name = "Unknown"
|
||||
icon_state = "storage"
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
/*
|
||||
Lists of areas to be used with is_type_in_list.
|
||||
|
||||
@@ -923,4 +923,14 @@ Neutralize All Unidentified Life Signs: []<BR>"},
|
||||
spawn()
|
||||
sleep(30)
|
||||
Parent_Turret.attacked = 0
|
||||
..()
|
||||
..()
|
||||
|
||||
|
||||
|
||||
|
||||
/obj/machinery/porta_turret/stationary
|
||||
emagged = 1
|
||||
|
||||
New()
|
||||
installation = new/obj/item/weapon/gun/energy/laser(src.loc)
|
||||
..()
|
||||
|
||||
@@ -75,43 +75,44 @@
|
||||
|
||||
restock_modules()
|
||||
if(src.occupant)
|
||||
if (istype(occupant, /mob/living/silicon/robot))
|
||||
if(istype(occupant, /mob/living/silicon/robot))
|
||||
var/mob/living/silicon/robot/R = occupant
|
||||
var/list/um = R.contents|R.module.modules
|
||||
// ^ makes sinle list of active (R.contents) and inactive modules (R.module.modules)
|
||||
for(var/obj/O in um)
|
||||
// Engineering
|
||||
if(istype(O,/obj/item/weapon/rcd))
|
||||
if(O:matter < 30)
|
||||
O:matter += 1
|
||||
if(istype(O,/obj/item/stack/sheet/metal) || istype(O,/obj/item/stack/sheet/rglass) || istype(O,/obj/item/weapon/cable_coil))
|
||||
if(O:amount < 50)
|
||||
O:amount += 1
|
||||
// Security
|
||||
if(istype(O,/obj/item/device/flash))
|
||||
if(O:broken)
|
||||
O:broken = 0
|
||||
if(istype(O,/obj/item/weapon/gun/energy/taser/cyborg))
|
||||
if(O:power_supply.charge < O:power_supply.maxcharge)
|
||||
O:power_supply.give(100)
|
||||
if(istype(O,/obj/item/weapon/melee/baton))
|
||||
if(O:charges < 10)
|
||||
O:charges += 1
|
||||
//Service
|
||||
if(istype(O,/obj/item/weapon/reagent_containers/food/condiment/enzyme))
|
||||
if(O.reagents.get_reagent_amount("enzyme") < 50)
|
||||
O.reagents.add_reagent("enzyme", 1)
|
||||
//Medical
|
||||
if(istype(O,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline))
|
||||
if(O.reagents.get_reagent_amount("inaprovaline") < 30)
|
||||
O.reagents.add_reagent("inaprovaline", 1)
|
||||
if(istype(O,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin))
|
||||
if(O.reagents.get_reagent_amount("anti_toxin") < 30)
|
||||
O.reagents.add_reagent("anti_toxin", 1)
|
||||
if(R.module && R.module.modules)
|
||||
var/list/um = R.contents|R.module.modules
|
||||
// ^ makes sinle list of active (R.contents) and inactive modules (R.module.modules)
|
||||
for(var/obj/O in um)
|
||||
// Engineering
|
||||
if(istype(O,/obj/item/weapon/rcd))
|
||||
if(O:matter < 30)
|
||||
O:matter += 1
|
||||
if(istype(O,/obj/item/stack/sheet/metal) || istype(O,/obj/item/stack/sheet/rglass) || istype(O,/obj/item/weapon/cable_coil))
|
||||
if(O:amount < 50)
|
||||
O:amount += 1
|
||||
// Security
|
||||
if(istype(O,/obj/item/device/flash))
|
||||
if(O:broken)
|
||||
O:broken = 0
|
||||
if(istype(O,/obj/item/weapon/gun/energy/taser/cyborg))
|
||||
if(O:power_supply.charge < O:power_supply.maxcharge)
|
||||
O:power_supply.give(100)
|
||||
if(istype(O,/obj/item/weapon/melee/baton))
|
||||
if(O:charges < 10)
|
||||
O:charges += 1
|
||||
//Service
|
||||
if(istype(O,/obj/item/weapon/reagent_containers/food/condiment/enzyme))
|
||||
if(O.reagents.get_reagent_amount("enzyme") < 50)
|
||||
O.reagents.add_reagent("enzyme", 1)
|
||||
//Medical
|
||||
if(istype(O,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline))
|
||||
if(O.reagents.get_reagent_amount("inaprovaline") < 30)
|
||||
O.reagents.add_reagent("inaprovaline", 1)
|
||||
if(istype(O,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin))
|
||||
if(O.reagents.get_reagent_amount("anti_toxin") < 30)
|
||||
O.reagents.add_reagent("anti_toxin", 1)
|
||||
|
||||
if(R)
|
||||
if(R.module)
|
||||
R.module.respawn_consumable(R)
|
||||
if(R)
|
||||
if(R.module)
|
||||
R.module.respawn_consumable(R)
|
||||
|
||||
|
||||
verb
|
||||
|
||||
@@ -1,140 +1,142 @@
|
||||
obj/structure
|
||||
icon = 'structures.dmi'
|
||||
|
||||
girder
|
||||
icon_state = "girder"
|
||||
anchored = 1
|
||||
density = 1
|
||||
var/state = 0
|
||||
/obj/structure/girder
|
||||
icon_state = "girder"
|
||||
anchored = 1
|
||||
density = 1
|
||||
var/state = 0
|
||||
|
||||
displaced
|
||||
icon_state = "displaced"
|
||||
anchored = 0
|
||||
attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/wrench) && state == 0 && anchored && !istype(src,/obj/structure/girder/displaced))
|
||||
playsound(src.loc, 'Ratchet.ogg', 100, 1)
|
||||
user << "\blue Now disassembling the girder"
|
||||
if(do_after(user,40))
|
||||
user << "\blue You dissasembled the girder!"
|
||||
new /obj/item/stack/sheet/metal(get_turf(src))
|
||||
del(src)
|
||||
|
||||
reinforced
|
||||
icon_state = "reinforced"
|
||||
state = 2
|
||||
|
||||
/obj/structure/girder/attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/wrench) && state == 0 && anchored && !istype(src,/obj/structure/girder/displaced))
|
||||
playsound(src.loc, 'Ratchet.ogg', 100, 1)
|
||||
user << "\blue Now disassembling the girder"
|
||||
if(do_after(user,40))
|
||||
user << "\blue You dissasembled the girder!"
|
||||
else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter))
|
||||
user << "\blue Now slicing apart the girder"
|
||||
if(do_after(user,30))
|
||||
user << "\blue You slice apart the girder!"
|
||||
new /obj/item/stack/sheet/metal(get_turf(src))
|
||||
del(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter))
|
||||
user << "\blue Now slicing apart the girder"
|
||||
if(do_after(user,30))
|
||||
user << "\blue You slice apart the girder!"
|
||||
new /obj/item/stack/sheet/metal(get_turf(src))
|
||||
del(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/pickaxe/diamonddrill))
|
||||
user << "\blue You drill through the girder!"
|
||||
new /obj/item/stack/sheet/metal(get_turf(src))
|
||||
del(src)
|
||||
|
||||
else if((istype(W, /obj/item/stack/sheet/metal)) && (W:amount >= 2) && istype(src,/obj/structure/girder/displaced))
|
||||
W:use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falsewall (src.loc)
|
||||
del(src)
|
||||
|
||||
else if(istype(W, /obj/item/stack/sheet/r_metal) && istype(src,/obj/structure/girder/displaced))
|
||||
W:use(2)
|
||||
user << "\blue You create a false r wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falserwall (src.loc)
|
||||
del(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 && istype(src,/obj/structure/girder/reinforced))
|
||||
playsound(src.loc, 'Screwdriver.ogg', 100, 1)
|
||||
user << "\blue Now unsecuring support struts"
|
||||
if(do_after(user,40))
|
||||
user << "\blue You unsecured the support struts!"
|
||||
state = 1
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wirecutters) && istype(src,/obj/structure/girder/reinforced) && state == 1)
|
||||
playsound(src.loc, 'Wirecutter.ogg', 100, 1)
|
||||
user << "\blue Now removing support struts"
|
||||
if(do_after(user,40))
|
||||
user << "\blue You removed the support struts!"
|
||||
new/obj/structure/girder( src.loc )
|
||||
else if(istype(W, /obj/item/weapon/pickaxe/diamonddrill))
|
||||
user << "\blue You drill through the girder!"
|
||||
new /obj/item/stack/sheet/metal(get_turf(src))
|
||||
del(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/crowbar) && state == 0 && anchored )
|
||||
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
||||
user << "\blue Now dislodging the girder"
|
||||
if(do_after(user, 40))
|
||||
user << "\blue You dislodged the girder!"
|
||||
new/obj/structure/girder/displaced( src.loc )
|
||||
del(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wrench) && state == 0 && !anchored )
|
||||
playsound(src.loc, 'Ratchet.ogg', 100, 1)
|
||||
user << "\blue Now securing the girder"
|
||||
if(get_turf(user, 40))
|
||||
user << "\blue You secured the girder!"
|
||||
new/obj/structure/girder( src.loc )
|
||||
del(src)
|
||||
|
||||
else if((istype(W, /obj/item/stack/sheet/metal)) && (W:amount >= 2))
|
||||
user << "\blue Now adding plating..."
|
||||
if (do_after(user,40))
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithWall()
|
||||
else if((istype(W, /obj/item/stack/sheet/metal)) && (W:amount >= 2) && istype(src,/obj/structure/girder/displaced))
|
||||
W:use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falsewall (src.loc)
|
||||
del(src)
|
||||
|
||||
else if(istype(W, /obj/item/stack/sheet/r_metal) && istype(src,/obj/structure/girder/displaced))
|
||||
W:use(2)
|
||||
user << "\blue You create a false r wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falserwall (src.loc)
|
||||
del(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 && istype(src,/obj/structure/girder/reinforced))
|
||||
playsound(src.loc, 'Screwdriver.ogg', 100, 1)
|
||||
user << "\blue Now unsecuring support struts"
|
||||
if(do_after(user,40))
|
||||
user << "\blue You unsecured the support struts!"
|
||||
state = 1
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wirecutters) && istype(src,/obj/structure/girder/reinforced) && state == 1)
|
||||
playsound(src.loc, 'Wirecutter.ogg', 100, 1)
|
||||
user << "\blue Now removing support struts"
|
||||
if(do_after(user,40))
|
||||
user << "\blue You removed the support struts!"
|
||||
new/obj/structure/girder( src.loc )
|
||||
del(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/crowbar) && state == 0 && anchored )
|
||||
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
||||
user << "\blue Now dislodging the girder"
|
||||
if(do_after(user, 40))
|
||||
user << "\blue You dislodged the girder!"
|
||||
new/obj/structure/girder/displaced( src.loc )
|
||||
del(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wrench) && state == 0 && !anchored )
|
||||
playsound(src.loc, 'Ratchet.ogg', 100, 1)
|
||||
user << "\blue Now securing the girder"
|
||||
if(get_turf(user, 40))
|
||||
user << "\blue You secured the girder!"
|
||||
new/obj/structure/girder( src.loc )
|
||||
del(src)
|
||||
|
||||
else if((istype(W, /obj/item/stack/sheet/metal)) && (W:amount >= 2))
|
||||
user << "\blue Now adding plating..."
|
||||
if (do_after(user,40))
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithWall()
|
||||
W:use(2)
|
||||
del(src)
|
||||
return
|
||||
|
||||
else if (istype(W, /obj/item/stack/sheet/r_metal))
|
||||
if (src.icon_state == "reinforced") //Time to finalize!
|
||||
user << "\blue Now finalising reinforced wall."
|
||||
if(do_after(user, 50))
|
||||
user << "\blue Wall fully reinforced!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithRWall()
|
||||
if (W)
|
||||
W:use(1)
|
||||
del(src)
|
||||
return
|
||||
else
|
||||
user << "\blue Now reinforcing girders"
|
||||
if (do_after(user,60))
|
||||
user << "\blue Girders reinforced!"
|
||||
W:use(1)
|
||||
new/obj/structure/girder/reinforced( src.loc )
|
||||
del(src)
|
||||
return
|
||||
else
|
||||
..()
|
||||
|
||||
|
||||
blob_act()
|
||||
if(prob(40))
|
||||
del(src)
|
||||
|
||||
|
||||
ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
del(src)
|
||||
return
|
||||
if(2.0)
|
||||
if (prob(30))
|
||||
var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal)
|
||||
new remains(loc)
|
||||
del(src)
|
||||
return
|
||||
if(3.0)
|
||||
if (prob(5))
|
||||
var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal)
|
||||
new remains(loc)
|
||||
del(src)
|
||||
return
|
||||
else
|
||||
return
|
||||
|
||||
else if (istype(W, /obj/item/stack/sheet/r_metal))
|
||||
if (src.icon_state == "reinforced") //Time to finalize!
|
||||
user << "\blue Now finalising reinforced wall."
|
||||
if(do_after(user, 50))
|
||||
user << "\blue Wall fully reinforced!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithRWall()
|
||||
if (W)
|
||||
W:use(1)
|
||||
del(src)
|
||||
return
|
||||
else
|
||||
user << "\blue Now reinforcing girders"
|
||||
if (do_after(user,60))
|
||||
user << "\blue Girders reinforced!"
|
||||
W:use(1)
|
||||
new/obj/structure/girder/reinforced( src.loc )
|
||||
del(src)
|
||||
return
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/structure/girder/blob_act()
|
||||
if(prob(40))
|
||||
del(src)
|
||||
|
||||
/obj/structure/girder/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
del(src)
|
||||
return
|
||||
if(2.0)
|
||||
if (prob(30))
|
||||
var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal)
|
||||
new remains(loc)
|
||||
del(src)
|
||||
return
|
||||
if(3.0)
|
||||
if (prob(5))
|
||||
var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal)
|
||||
new remains(loc)
|
||||
del(src)
|
||||
return
|
||||
else
|
||||
return
|
||||
/obj/structure/girder/displaced
|
||||
icon_state = "displaced"
|
||||
anchored = 0
|
||||
|
||||
/obj/structure/girder/reinforced
|
||||
icon_state = "reinforced"
|
||||
state = 2
|
||||
// LATTICE
|
||||
|
||||
|
||||
|
||||
@@ -37,11 +37,11 @@ mob/new_player
|
||||
|
||||
if(!preferences.savefile_load(src, 0))
|
||||
preferences.ShowChoices(src)
|
||||
if (!client.changes)
|
||||
if(!client.changes)
|
||||
changes()
|
||||
else
|
||||
var/lastchangelog = length('changelog.html')
|
||||
if (!client.changes && preferences.lastchangelog!=lastchangelog)
|
||||
if(!client.changes && preferences.lastchangelog!=lastchangelog)
|
||||
changes()
|
||||
preferences.lastchangelog = lastchangelog
|
||||
preferences.savefile_save(src)
|
||||
@@ -52,7 +52,7 @@ mob/new_player
|
||||
Quick note: local dream daemon instances don't seem to cache images right. Might be
|
||||
a local problem with my machine but it's annoying nontheless.
|
||||
*/
|
||||
if (client)
|
||||
if(client)
|
||||
//load the PDA iconset into the client
|
||||
src << browse_rsc('pda_atmos.png')
|
||||
src << browse_rsc('pda_back.png')
|
||||
|
||||
@@ -69,7 +69,7 @@ datum/preferences
|
||||
New()
|
||||
randomize_name()
|
||||
for(var/n in occupation)
|
||||
n=1
|
||||
n=0
|
||||
..()
|
||||
|
||||
//The mob should have a gender you want before running this proc.
|
||||
@@ -586,26 +586,6 @@ datum/preferences
|
||||
if ("random")
|
||||
randomize_hair_color("hair")
|
||||
|
||||
/*
|
||||
if (link_tags["r_hair"])
|
||||
var/new_component = input(user, "Please select red hair component: 1-255", "Character Generation") as text
|
||||
|
||||
if (new_component)
|
||||
r_hair = max(min(round(text2num(new_component)), 255), 1)
|
||||
|
||||
if (link_tags["g_hair"])
|
||||
var/new_component = input(user, "Please select green hair component: 1-255", "Character Generation") as text
|
||||
|
||||
if (new_component)
|
||||
g_hair = max(min(round(text2num(new_component)), 255), 1)
|
||||
|
||||
if (link_tags["b_hair"])
|
||||
var/new_component = input(user, "Please select blue hair component: 1-255", "Character Generation") as text
|
||||
|
||||
if (new_component)
|
||||
b_hair = max(min(round(text2num(new_component)), 255), 1)
|
||||
*/
|
||||
|
||||
if (link_tags["facial"])
|
||||
switch(link_tags["facial"])
|
||||
if ("input")
|
||||
@@ -617,25 +597,6 @@ datum/preferences
|
||||
if ("random")
|
||||
randomize_hair_color("facial")
|
||||
|
||||
/*
|
||||
if (link_tags["r_facial"])
|
||||
var/new_component = input(user, "Please select red facial component: 1-255", "Character Generation") as text
|
||||
|
||||
if (new_component)
|
||||
r_facial = max(min(round(text2num(new_component)), 255), 1)
|
||||
|
||||
if (link_tags["g_facial"])
|
||||
var/new_component = input(user, "Please select green facial component: 1-255", "Character Generation") as text
|
||||
|
||||
if (new_component)
|
||||
g_facial = max(min(round(text2num(new_component)), 255), 1)
|
||||
|
||||
if (link_tags["b_facial"])
|
||||
var/new_component = input(user, "Please select blue facial component: 1-255", "Character Generation") as text
|
||||
|
||||
if (new_component)
|
||||
b_facial = max(min(round(text2num(new_component)), 255), 1)
|
||||
*/
|
||||
if (link_tags["eyes"])
|
||||
switch(link_tags["eyes"])
|
||||
if ("input")
|
||||
@@ -647,25 +608,6 @@ datum/preferences
|
||||
if ("random")
|
||||
randomize_eyes_color()
|
||||
|
||||
/*
|
||||
if (link_tags["r_eyes"])
|
||||
var/new_component = input(user, "Please select red eyes component: 1-255", "Character Generation") as text
|
||||
|
||||
if (new_component)
|
||||
r_eyes = max(min(round(text2num(new_component)), 255), 1)
|
||||
|
||||
if (link_tags["g_eyes"])
|
||||
var/new_component = input(user, "Please select green eyes component: 1-255", "Character Generation") as text
|
||||
|
||||
if (new_component)
|
||||
g_eyes = max(min(round(text2num(new_component)), 255), 1)
|
||||
|
||||
if (link_tags["b_eyes"])
|
||||
var/new_component = input(user, "Please select blue eyes component: 1-255", "Character Generation") as text
|
||||
|
||||
if (new_component)
|
||||
b_eyes = max(min(round(text2num(new_component)), 255), 1)
|
||||
*/
|
||||
if (link_tags["s_tone"])
|
||||
switch(link_tags["s_tone"])
|
||||
if ("random")
|
||||
|
||||
Reference in New Issue
Block a user