mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-26 01:52:15 +00:00
TG: Tonnes of stuff, please check the changelog.
In short: massive updates to security, the library, hydroponics, the kitchen and the bar, by Flazeo and Ikarrus Massive updates to the PA, with Invisty's new sprites, done by Sieve New sprites for field gens too, also by Invisty Borg and battery updates by Sieve Fake gloves by Sieve I messed around with some pressure_resistance stuff on Dumpdavidson's suggestion (only in paperwork) PROBABLY A BUNCH OF OTHER SHIT Revision: r3505 Author: petethegoat
This commit is contained in:
@@ -152,6 +152,21 @@
|
||||
heat_transfer_coefficient = 0.01
|
||||
color="yellow"
|
||||
|
||||
/obj/item/clothing/gloves/fyellow //Cheap Chinese Crap
|
||||
desc = "These gloves are cheap copies of the coveted gloves, no way this can end badly."
|
||||
name = "fake insulated gloves"
|
||||
icon_state = "yellow"
|
||||
item_state = "ygloves"
|
||||
siemens_coefficient = 1 //Set to a default of 1, gets overridden in New()
|
||||
permeability_coefficient = 0.05
|
||||
protective_temperature = 800
|
||||
heat_transfer_coefficient = null
|
||||
color="yellow"
|
||||
|
||||
New()
|
||||
siemens_coefficient = pick(0,0,0.25,0.25,0.5,0.5,1)
|
||||
heat_transfer_coefficient = pick(0.01,0.1,0.25,0.25,0.5)
|
||||
|
||||
/obj/item/clothing/gloves/captain
|
||||
desc = "Regal blue gloves, with a nice gold trim. Swanky."
|
||||
name = "captain's gloves"
|
||||
|
||||
@@ -224,6 +224,13 @@ proc/move_mining_shuttle()
|
||||
origin_tech = "materials=6;powerstorage=4;engineering=5"
|
||||
desc = "Yours is the drill that will pierce the heavens!"
|
||||
|
||||
borgdrill
|
||||
name = "Cyborg Mining Drill"
|
||||
icon_state = "diamonddrill"
|
||||
item_state = "jackhammer"
|
||||
digspeed = 15
|
||||
desc = ""
|
||||
|
||||
/*****************************Shovel********************************/
|
||||
|
||||
/obj/item/weapon/shovel
|
||||
|
||||
@@ -34,6 +34,12 @@
|
||||
if(0)
|
||||
usr << "The satchel now picks up one ore at a time."
|
||||
|
||||
/obj/item/weapon/satchel/borg
|
||||
icon = 'mining.dmi'
|
||||
icon_state = "satchel"
|
||||
name = "Cyborg Mining Satchel"
|
||||
mode = 1; //0 = pick one at a time, 1 = pick all on tile
|
||||
capacity = 200; //the number of ore pieces it can carry.
|
||||
|
||||
/**********************Ore box**************************/
|
||||
|
||||
|
||||
@@ -265,6 +265,11 @@
|
||||
else
|
||||
stat(null, text("No Cell Inserted!"))
|
||||
|
||||
if(module)
|
||||
internal = locate(/obj/item/weapon/tank/jetpack) in module.modules
|
||||
if(internal)
|
||||
stat("Internal Atmosphere Info", internal.name)
|
||||
stat("Tank Pressure", internal.air_contents.return_pressure())
|
||||
|
||||
/mob/living/silicon/robot/restrained()
|
||||
return 0
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
var
|
||||
list/modules = list()
|
||||
obj/item/emag = null
|
||||
obj/item/borg/upgrade/jetpack = null
|
||||
|
||||
|
||||
emp_act(severity)
|
||||
@@ -24,6 +25,8 @@
|
||||
src.modules += new /obj/item/device/flash(src)
|
||||
src.emag = new /obj/item/toy/sword(src)
|
||||
src.emag.name = "Placeholder Emag Item"
|
||||
// src.jetpack = new /obj/item/toy/sword(src)
|
||||
// src.jetpack.name = "Placeholder Upgrade Item"
|
||||
return
|
||||
|
||||
|
||||
@@ -152,7 +155,7 @@
|
||||
src.modules += new /obj/item/weapon/handcuffs/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/melee/baton(src)
|
||||
src.modules += new /obj/item/weapon/gun/energy/taser/cyborg(src)
|
||||
// src.emag = new /obj/item/weapon/gun/energy/laser/cyborg(src)
|
||||
src.emag = new /obj/item/weapon/gun/energy/laser/cyborg(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -217,9 +220,10 @@
|
||||
..()
|
||||
src.modules += new /obj/item/borg/sight/meson(src)
|
||||
src.emag = new /obj/item/borg/stun(src)
|
||||
src.modules += new /obj/item/weapon/satchel(src)
|
||||
src.modules += new /obj/item/weapon/pickaxe/jackhammer(src)
|
||||
src.modules += new /obj/item/weapon/shovel(src)
|
||||
src.modules += new /obj/item/weapon/satchel/borg(src)
|
||||
src.modules += new /obj/item/weapon/pickaxe/borgdrill(src)
|
||||
// src.modules += new /obj/item/weapon/shovel(src) Uneeded due to buffed drill
|
||||
// src.jetpack += new/obj/item/weapon/tank/jetpack/carbondioxide(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -231,5 +235,4 @@
|
||||
src.modules += new /obj/item/weapon/melee/energy/sword(src)
|
||||
src.modules += new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(src)
|
||||
src.modules += new /obj/item/weapon/card/emag(src)
|
||||
src.modules += new /obj/item/weapon/tank/jetpack/oxygen(src)
|
||||
return
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
name = "A borg upgrade module."
|
||||
desc = "Protected by FRM."
|
||||
icon = 'module.dmi'
|
||||
icon_state = "id_mod"
|
||||
icon_state = "cyborg_upgrade"
|
||||
var/construction_time = 120
|
||||
var/construction_cost = list("metal"=10000)
|
||||
var/locked = 0
|
||||
@@ -19,6 +19,7 @@
|
||||
/obj/item/borg/upgrade/reset/
|
||||
name = "Borg module reset board"
|
||||
desc = "Used to reset a borg's module. Destroys any other upgrades applied to the borg."
|
||||
icon_state = "cyborg_upgrade1"
|
||||
require_module = 1
|
||||
|
||||
/obj/item/borg/upgrade/reset/action(var/mob/living/silicon/robot/R)
|
||||
@@ -41,6 +42,7 @@
|
||||
name = "Borg Flash-Supression"
|
||||
desc = "A highly advanced, complicated system for supressing incoming flashes directed at the borg's optical processing system."
|
||||
construction_cost = list("metal"=10000,"gold"=2000,"silver"=3000,"glass"=2000, "diamond"=5000)
|
||||
icon_state = "cyborg_upgrade4"
|
||||
require_module = 1
|
||||
|
||||
|
||||
@@ -57,6 +59,7 @@
|
||||
name = "Borg emergancy restart module"
|
||||
desc = "Used to force a restart of a disabled-but-repaired borg, bringing it back online."
|
||||
construction_cost = list("metal"=60000 , "glass"=5000)
|
||||
icon_state = "cyborg_upgrade1"
|
||||
|
||||
|
||||
/obj/item/borg/upgrade/restart/action(var/mob/living/silicon/robot/R)
|
||||
@@ -77,6 +80,7 @@
|
||||
name = "Borg VTEC Module"
|
||||
desc = "Used to kick in a borgs VTEC systems, increasing their speed."
|
||||
construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 5000)
|
||||
icon_state = "cyborg_upgrade2"
|
||||
require_module = 1
|
||||
|
||||
/obj/item/borg/upgrade/vtec/action(var/mob/living/silicon/robot/R)
|
||||
@@ -91,6 +95,7 @@
|
||||
name = "Borg Rapid Taser Cooling Module"
|
||||
desc = "Used to cool a mounted taser, increasing the potential current in it and thus its recharge rate.."
|
||||
construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 2000, "diamond" = 500)
|
||||
icon_state = "cyborg_upgrade3"
|
||||
require_module = 1
|
||||
|
||||
|
||||
@@ -117,4 +122,23 @@
|
||||
else
|
||||
T.recharge_time = max(2 , T.recharge_time - 4)
|
||||
|
||||
return 1
|
||||
return 1
|
||||
|
||||
/obj/item/borg/upgrade/jetpack/
|
||||
name = "Mining Borg Jetpack"
|
||||
desc = "A carbon dioxide jetpack suitable for low-gravity mining operations"
|
||||
construction_cost = list("metal"=10000,"plasma"=15000,"uranium" = 20000)
|
||||
icon_state = "cyborg_upgrade3"
|
||||
require_module = 1
|
||||
|
||||
/obj/item/borg/upgrade/jetpack/action(var/mob/living/silicon/robot/R)
|
||||
if(!istype(R.module, /obj/item/weapon/robot_module/miner))
|
||||
R << "Upgrade mounting error! No suitable hardpoint detected!"
|
||||
usr << "There's no mounting point for the module!"
|
||||
return 0
|
||||
else
|
||||
R.module.modules += new/obj/item/weapon/tank/jetpack/carbondioxide
|
||||
for(var/obj/item/weapon/tank/jetpack/carbondioxide in R.module.modules)
|
||||
R.internals = src
|
||||
R.icon_state="Miner+j"
|
||||
return 1
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
/mob/living/simple_animal/crab/Life()
|
||||
..()
|
||||
//CRAB movement
|
||||
if(!ckey)
|
||||
if(!ckey && alive)
|
||||
if(isturf(src.loc) && !resting && !buckled) //This is so it only moves if it's not inside a closet, gentics machine, etc.
|
||||
turns_since_move++
|
||||
if(turns_since_move >= turns_per_move)
|
||||
@@ -34,4 +34,36 @@
|
||||
desc = "It's Coffee, the other pet!"
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "stomps"
|
||||
response_harm = "stomps"
|
||||
|
||||
//LOOK AT THIS - ..()??
|
||||
/mob/living/simple_animal/crab/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if(istype(O, /obj/item/weapon/wirecutters))
|
||||
user << "\red \b This kills the crab."
|
||||
health -= 20
|
||||
Die()
|
||||
if(istype(O, /obj/item/stack/medical))
|
||||
if(alive)
|
||||
var/obj/item/stack/medical/MED = O
|
||||
if(health < maxHealth)
|
||||
if(MED.amount >= 1)
|
||||
health = min(maxHealth, health + MED.heal_brute)
|
||||
MED.amount -= 1
|
||||
if(MED.amount <= 0)
|
||||
del(MED)
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if ((M.client && !( M.blinded )))
|
||||
M.show_message("\blue [user] applies the [MED] on [src]")
|
||||
else
|
||||
user << "\blue this [src] is dead, medical items won't bring it back to life."
|
||||
else
|
||||
if(O.force)
|
||||
health -= O.force
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if ((M.client && !( M.blinded )))
|
||||
M.show_message("\red \b [src] has been attacked with the [O] by [user]. ")
|
||||
else
|
||||
usr << "\red This weapon is ineffective, it does no damage."
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if ((M.client && !( M.blinded )))
|
||||
M.show_message("\red [user] gently taps [src] with the [O]. ")
|
||||
@@ -10,6 +10,7 @@
|
||||
var/obj/item/weapon/pen/haspen //The stored pen.
|
||||
var/obj/item/weapon/paper/toppaper //The topmost piece of paper.
|
||||
flags = FPRINT | TABLEPASS | ONBELT
|
||||
pressure_resistance = 10
|
||||
|
||||
/obj/item/weapon/clipboard/New()
|
||||
update_icon()
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 15
|
||||
layer = 4
|
||||
pressure_resistance = 1
|
||||
|
||||
var
|
||||
info //What's actually written on the paper.
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
w_class = 3
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
pressure_resistance = 10
|
||||
var
|
||||
amount = 30 //How much paper is in the bin.
|
||||
list/papers = new/list() //List of papers put in the bin for reference.
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
throw_range = 15
|
||||
m_amt = 10
|
||||
var/colour = "black" //what colour the ink is!
|
||||
pressure_resistance = 5
|
||||
|
||||
/obj/item/weapon/pen/blue
|
||||
desc = "It's a normal blue ink pen."
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
throw_range = 15
|
||||
m_amt = 60
|
||||
var/color = "cargo"
|
||||
pressure_resistance = 5
|
||||
|
||||
/obj/item/weapon/stamp/captain
|
||||
name = "captain's rubber stamp"
|
||||
|
||||
@@ -11,11 +11,14 @@
|
||||
updateicon()
|
||||
|
||||
/obj/item/weapon/cell/proc/updateicon()
|
||||
|
||||
if(maxcharge <= 2500)
|
||||
/*if(maxcharge < 10000)
|
||||
icon_state = "cell"
|
||||
if(maxcharge >= 10000 && maxcharge < 20000)
|
||||
icon_state = "hcell"
|
||||
if(maxcharge >= 20000 && maxcharge < 30000)
|
||||
icon_state = "scell"
|
||||
else
|
||||
icon_state = "hpcell"
|
||||
icon_state = "hpcell"*/
|
||||
|
||||
overlays = null
|
||||
|
||||
@@ -63,9 +66,9 @@
|
||||
if(maxcharge <= 2500)
|
||||
usr << "[desc]\nThe manufacturer's label states this cell has a power rating of [maxcharge], and that you should not swallow it.\nThe charge meter reads [round(src.percent() )]%."
|
||||
else
|
||||
usr << "This power cell has an exciting chrome finish, as it is an uber-capacity cell type! It has a power rating of [maxcharge]!!!\nThe charge meter reads [round(src.percent() )]%."
|
||||
usr << "This power cell has an exciting chrome finish, as it is an uber-capacity cell type! It has a power rating of [maxcharge]!\nThe charge meter reads [round(src.percent() )]%."
|
||||
if(crit_fail)
|
||||
usr << "\red This power cell seems to be faulty"
|
||||
usr << "\red This power cell seems to be faulty."
|
||||
|
||||
/obj/item/weapon/cell/attack_self(mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
|
||||
@@ -21,42 +21,32 @@ field_generator power level display
|
||||
density = 1
|
||||
use_power = 0
|
||||
var
|
||||
const/num_power_levels = 15 // Total number of power level icon has
|
||||
const/num_power_levels = 6 // Total number of power level icon has
|
||||
Varedit_start = 0
|
||||
Varpower = 0
|
||||
active = 0
|
||||
power = 20 // Current amount of power
|
||||
state = 0
|
||||
warming_up = 0
|
||||
powerlevel = 0 // Current Power level in overlays list
|
||||
list/obj/machinery/containment_field/fields
|
||||
list/obj/machinery/field_generator/connected_gens
|
||||
clean_up = 0
|
||||
|
||||
|
||||
update_icon()
|
||||
if (!active)
|
||||
//Set icon_state has not been set, set to "Field_Gen"
|
||||
if (icon_state != "Field_Gen")
|
||||
icon_state = "Field_Gen"
|
||||
warming_up = 0
|
||||
else if (warming_up && icon_state != "Field_Gen +a[warming_up]")
|
||||
icon_state = "Field_Gen +a[warming_up]"
|
||||
|
||||
overlays = null
|
||||
if(!active)
|
||||
if(warming_up)
|
||||
overlays += "+a[warming_up]"
|
||||
if(fields.len)
|
||||
overlays += "+on"
|
||||
// Power level indicator
|
||||
// Scale % power to % num_power_levels and truncate value
|
||||
var/level = round(num_power_levels * power / field_generator_max_power)
|
||||
// Clamp between 0 and num_power_levels for out of range power values
|
||||
level = between(0, level, num_power_levels)
|
||||
|
||||
// Do nothing unless new level is diffrent the powerlevel
|
||||
if (powerlevel!=level)
|
||||
if (powerlevel) //Remove old powerlevel overlay from overlays
|
||||
overlays -= "Field_Gen +p[powerlevel]"
|
||||
powerlevel = level
|
||||
// If new power level exists add it to overlays
|
||||
if (powerlevel)
|
||||
overlays += "Field_Gen +p[powerlevel]"
|
||||
if(level)
|
||||
overlays += "+p[level]"
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -37,6 +37,22 @@ CC|FC|
|
||||
PE|PE|PE
|
||||
|
||||
|
||||
Icon Addemdum
|
||||
Icon system is much more robust, and the icons are all variable based.
|
||||
Each part has a reference string, powered, strength, and contruction values.
|
||||
Using this the update_icon() proc is simplified a bit (using for absolutely was problematic with naming),
|
||||
so the icon_state comes out be:
|
||||
"[reference][strength]", with a switch controlling construction_states and ensuring that it doesn't
|
||||
power on while being contructed, and all these variables are set by the computer through it's scan list
|
||||
Essential order of the icons:
|
||||
Standard - [reference]
|
||||
Wrenched - [reference]
|
||||
Wired - [reference]w
|
||||
Closed - [reference]c
|
||||
Powered - [reference]p[strength]
|
||||
Strength being set by the computer and a null strength (Computer is powered off or inactive) returns a 'null', counting as empty
|
||||
So, hopefully this is helpful if any more icons are to be added/changed/wondering what the hell is going on here
|
||||
|
||||
*/
|
||||
|
||||
/obj/structure/particle_accelerator
|
||||
@@ -49,13 +65,59 @@ PE|PE|PE
|
||||
var
|
||||
obj/machinery/particle_accelerator/control_box/master = null
|
||||
construction_state = 0
|
||||
reference = null
|
||||
powered = 0
|
||||
strength = null
|
||||
desc_holder = null
|
||||
|
||||
end_cap
|
||||
name = "Alpha Particle Generation Array"
|
||||
desc_holder = "This is where Alpha particles are generated from \[REDACTED\]"
|
||||
icon_state = "end_cap"
|
||||
reference = "end_cap"
|
||||
|
||||
/* update_icon()
|
||||
switch(construction_state)
|
||||
if(0)
|
||||
icon_state="[reference]"
|
||||
if(1)
|
||||
icon_state="[reference]"
|
||||
if(2)
|
||||
icon_state="[reference]w"
|
||||
if(3)
|
||||
if(powered)
|
||||
switch(strength)
|
||||
if(0)
|
||||
icon_state="[reference]p0"
|
||||
if(1)
|
||||
icon_state="[reference]p1"
|
||||
if(2)
|
||||
icon_state="[reference]p2"
|
||||
else
|
||||
icon_state="[reference]p"
|
||||
else
|
||||
icon_state="[reference]c"
|
||||
return
|
||||
*/
|
||||
|
||||
update_icon()
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
verb/rotate()
|
||||
set name = "Rotate"
|
||||
set name = "Rotate Clockwise"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
if (src.anchored || usr:stat)
|
||||
usr << "It is fastened to the floor!"
|
||||
return 0
|
||||
src.dir = turn(src.dir, 270)
|
||||
return 1
|
||||
|
||||
verb/rotateccw()
|
||||
set name = "Rotate Counter Clockwise"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
@@ -65,18 +127,18 @@ PE|PE|PE
|
||||
src.dir = turn(src.dir, 90)
|
||||
return 1
|
||||
|
||||
|
||||
examine()
|
||||
set src in oview(1)
|
||||
switch(src.construction_state)
|
||||
if(0)
|
||||
src.desc = text("Part of a Particle Accelerator, looks like its not attached to the flooring")
|
||||
src.desc = text("A [name], looks like it's not attached to the flooring")
|
||||
if(1)
|
||||
src.desc = text("Part of a Particle Accelerator, looks like its missing some cables")
|
||||
src.desc = text("A [name], it is missing some cables")
|
||||
if(2)
|
||||
src.desc = text("Part of a Particle Accelerator, looks like its got an open panel")
|
||||
src.desc = text("A [name], the panel is open")
|
||||
if(3)
|
||||
src.desc = text("Part of a Particle Accelerator, looks like its all setup")
|
||||
src.desc = text("The [name] is assembled")
|
||||
if(powered)
|
||||
src.desc = src.desc_holder
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -117,6 +179,20 @@ PE|PE|PE
|
||||
del(src)
|
||||
return
|
||||
|
||||
update_icon()
|
||||
switch(construction_state)
|
||||
if(0)
|
||||
icon_state="[reference]"
|
||||
if(1)
|
||||
icon_state="[reference]"
|
||||
if(2)
|
||||
icon_state="[reference]w"
|
||||
if(3)
|
||||
if(powered)
|
||||
icon_state="[reference]p[strength]"
|
||||
else
|
||||
icon_state="[reference]c"
|
||||
return
|
||||
|
||||
proc
|
||||
update_state()
|
||||
@@ -160,6 +236,7 @@ PE|PE|PE
|
||||
src.anchored = 1
|
||||
user.visible_message("[user.name] secures the [src.name] to the floor.", \
|
||||
"You secure the external bolts.")
|
||||
// icon_state = "[reference]"
|
||||
temp_state++
|
||||
if(1)
|
||||
if(iswrench(O))
|
||||
@@ -167,25 +244,30 @@ PE|PE|PE
|
||||
src.anchored = 0
|
||||
user.visible_message("[user.name] detaches the [src.name] from the floor.", \
|
||||
"You remove the external bolts.")
|
||||
// icon_state = "[reference]"
|
||||
temp_state--
|
||||
else if(iscoil(O))
|
||||
if(O:use(1,user))
|
||||
user.visible_message("[user.name] adds wires to the [src.name].", \
|
||||
"You add some wires.")
|
||||
// icon_state = "[reference]w"
|
||||
temp_state++
|
||||
if(2)
|
||||
if(iswirecutter(O))//TODO:Shock user if its on?
|
||||
user.visible_message("[user.name] removes some wires from the [src.name].", \
|
||||
"You remove some wires.")
|
||||
// icon_state = "[reference]"
|
||||
temp_state--
|
||||
else if(isscrewdriver(O))
|
||||
user.visible_message("[user.name] closes the [src.name]'s access panel.", \
|
||||
"You close the access panel.")
|
||||
// icon_state = "[reference]c"
|
||||
temp_state++
|
||||
if(3)
|
||||
if(isscrewdriver(O))
|
||||
user.visible_message("[user.name] opens the [src.name]'s access panel.", \
|
||||
"You open the access panel.")
|
||||
// icon_state = "[reference]w"
|
||||
temp_state--
|
||||
if(temp_state == src.construction_state)//Nothing changed
|
||||
return 0
|
||||
@@ -212,10 +294,25 @@ PE|PE|PE
|
||||
var
|
||||
construction_state = 0
|
||||
active = 0
|
||||
reference = null
|
||||
powered = null
|
||||
strength = 0
|
||||
desc_holder = null
|
||||
|
||||
|
||||
verb/rotate()
|
||||
set name = "Rotate"
|
||||
set name = "Rotate Clockwise"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
if (src.anchored || usr:stat)
|
||||
usr << "It is fastened to the floor!"
|
||||
return 0
|
||||
src.dir = turn(src.dir, 270)
|
||||
return 1
|
||||
|
||||
verb/rotateccw()
|
||||
set name = "Rotate Counter-Clockwise"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
@@ -225,17 +322,21 @@ PE|PE|PE
|
||||
src.dir = turn(src.dir, 90)
|
||||
return 1
|
||||
|
||||
update_icon()
|
||||
return
|
||||
|
||||
examine()
|
||||
switch(src.construction_state)
|
||||
if(0)
|
||||
src.desc = text("Part of a Particle Accelerator, looks like its not attached to the flooring")
|
||||
src.desc = text("A [name], looks like it's not attached to the flooring")
|
||||
if(1)
|
||||
src.desc = text("Part of a Particle Accelerator, looks like its missing some cables")
|
||||
src.desc = text("A [name], it is missing some cables")
|
||||
if(2)
|
||||
src.desc = text("Part of a Particle Accelerator, looks like its got an open panel")
|
||||
src.desc = text("A [name], the panel is open")
|
||||
if(3)
|
||||
src.desc = text("Part of a Particle Accelerator, looks like its all setup")
|
||||
src.desc = text("The [name] is assembled")
|
||||
if(powered)
|
||||
src.desc = src.desc_holder
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -294,6 +395,7 @@ PE|PE|PE
|
||||
src.anchored = 1
|
||||
user.visible_message("[user.name] secures the [src.name] to the floor.", \
|
||||
"You secure the external bolts.")
|
||||
//icon_state = "[reference]"
|
||||
temp_state++
|
||||
if(1)
|
||||
if(iswrench(O))
|
||||
@@ -301,25 +403,30 @@ PE|PE|PE
|
||||
src.anchored = 0
|
||||
user.visible_message("[user.name] detaches the [src.name] from the floor.", \
|
||||
"You remove the external bolts.")
|
||||
//icon_state = "[reference]"
|
||||
temp_state--
|
||||
else if(iscoil(O))
|
||||
if(O:use(1))
|
||||
user.visible_message("[user.name] adds wires to the [src.name].", \
|
||||
"You add some wires.")
|
||||
//icon_state = "[reference]w"
|
||||
temp_state++
|
||||
if(2)
|
||||
if(iswirecutter(O))//TODO:Shock user if its on?
|
||||
user.visible_message("[user.name] removes some wires from the [src.name].", \
|
||||
"You remove some wires.")
|
||||
//icon_state = "[reference]"
|
||||
temp_state--
|
||||
else if(isscrewdriver(O))
|
||||
user.visible_message("[user.name] closes the [src.name]'s access panel.", \
|
||||
"You close the access panel.")
|
||||
//icon_state = "[reference]c"
|
||||
temp_state++
|
||||
if(3)
|
||||
if(isscrewdriver(O))
|
||||
user.visible_message("[user.name] opens the [src.name]'s access panel.", \
|
||||
"You open the access panel.")
|
||||
//icon_state = "[reference]w"
|
||||
temp_state--
|
||||
if(temp_state == src.construction_state)//Nothing changed
|
||||
return 0
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
/obj/structure/particle_accelerator/fuel_chamber
|
||||
name = "Particle Accelerator Fuel Control"
|
||||
desc = "Part of a Particle Accelerator."
|
||||
name = "EM Acceleration Chamber"
|
||||
desc_holder = "This is where the Alpha particles are accelerated to <b><i>radical speeds</i></b>."
|
||||
icon = 'particle_accelerator.dmi'
|
||||
icon_state = "fuel_chamber"
|
||||
icon_state = "fuel_chamber"
|
||||
reference = "fuel_chamber"
|
||||
|
||||
update_icon()
|
||||
..()
|
||||
return
|
||||
@@ -1,8 +1,9 @@
|
||||
/obj/machinery/particle_accelerator/control_box
|
||||
name = "Particle Accelerator Control Box"
|
||||
desc = "Part of a Particle Accelerator."
|
||||
name = "Particle Accelerator Control Computer"
|
||||
desc = "This controls the density of the particles."
|
||||
icon = 'particle_accelerator.dmi'
|
||||
icon_state = "control_box"
|
||||
reference = "control_box"
|
||||
anchored = 0
|
||||
density = 1
|
||||
use_power = 0
|
||||
@@ -13,7 +14,7 @@
|
||||
var
|
||||
list/obj/structure/particle_accelerator/connected_parts
|
||||
assembled = 0
|
||||
strength = 0
|
||||
parts = null
|
||||
|
||||
|
||||
New()
|
||||
@@ -40,6 +41,28 @@
|
||||
|
||||
return
|
||||
|
||||
update_icon()
|
||||
if(active)
|
||||
icon_state = "[reference]p1"
|
||||
else
|
||||
if(use_power)
|
||||
icon_state = "[reference]p"
|
||||
else
|
||||
icon_state = "[reference]c"
|
||||
switch(construction_state)
|
||||
if(0)
|
||||
icon_state = "[reference]"
|
||||
if(1)
|
||||
icon_state = "[reference]"
|
||||
if(2)
|
||||
icon_state = "[reference]w"
|
||||
if(3)
|
||||
icon_state = "[reference]c"
|
||||
return
|
||||
|
||||
update_icon()
|
||||
..()
|
||||
return
|
||||
|
||||
Topic(href, href_list)
|
||||
..()
|
||||
@@ -61,17 +84,30 @@
|
||||
src.part_scan()
|
||||
if(href_list["strengthup"])
|
||||
src.strength++
|
||||
for(var/obj/structure/particle_accelerator/part in connected_parts)
|
||||
part.strength++
|
||||
part.update_icon()
|
||||
if(src.strength > 2)
|
||||
src.strength = 2
|
||||
message_admins("[usr] increased particle accelerator power to [strength].")
|
||||
log_admin("[usr] increased particle accelerator power to [strength].")
|
||||
message_admins("[usr] increased particle accelerator power to [strength].")
|
||||
log_admin("[usr] increased particle accelerator power to [strength].")
|
||||
for(var/obj/structure/particle_accelerator/part in connected_parts)
|
||||
part.strength = 2
|
||||
part.update_icon()
|
||||
if(href_list["strengthdown"])
|
||||
src.strength--
|
||||
for(var/obj/structure/particle_accelerator/part in connected_parts)
|
||||
part.strength--
|
||||
part.update_icon()
|
||||
if(src.strength < 0)
|
||||
src.strength = 0
|
||||
message_admins("[usr] decreased particle accelerator power to [strength].")
|
||||
log_admin("[usr] decreased particle accelerator power to [strength].")
|
||||
message_admins("[usr] decreased particle accelerator power to [strength].")
|
||||
log_admin("[usr] decreased particle accelerator power to [strength].")
|
||||
for(var/obj/structure/particle_accelerator/part in connected_parts)
|
||||
part.strength = 0
|
||||
part.update_icon()
|
||||
src.updateDialog()
|
||||
src.update_icon()
|
||||
return
|
||||
|
||||
|
||||
@@ -80,7 +116,7 @@
|
||||
if(stat & NOPOWER)
|
||||
active = 0
|
||||
use_power = 0
|
||||
else if(!stat)
|
||||
else if(!stat && construction_state == 3)
|
||||
use_power = 1
|
||||
return
|
||||
|
||||
@@ -150,8 +186,16 @@
|
||||
src.active = !src.active
|
||||
if(src.active)
|
||||
src.use_power = 2
|
||||
for(var/obj/structure/particle_accelerator/part in connected_parts)
|
||||
part.strength = src.strength
|
||||
part.powered = 1
|
||||
part.update_icon()
|
||||
else
|
||||
src.use_power = 1
|
||||
for(var/obj/structure/particle_accelerator/part in connected_parts)
|
||||
part.strength = null
|
||||
part.powered = 0
|
||||
part.update_icon()
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/obj/structure/particle_accelerator/particle_emitter
|
||||
name = "Particle Accelerator Emitter"
|
||||
desc = "Part of a Particle Accelerator, might not want to stand near this end."
|
||||
name = "EM Containment Grid"
|
||||
desc_holder = "This launchs the Alpha particles, might not want to stand near this end."
|
||||
icon = 'particle_accelerator.dmi'
|
||||
icon_state = "none"
|
||||
var
|
||||
@@ -9,17 +9,19 @@
|
||||
|
||||
center
|
||||
icon_state = "emitter_center"
|
||||
reference = "emitter_center"
|
||||
|
||||
left
|
||||
icon_state = "emitter_left"
|
||||
reference = "emitter_left"
|
||||
|
||||
right
|
||||
icon_state = "emitter_right"
|
||||
|
||||
reference = "emitter_right"
|
||||
|
||||
update_icon()
|
||||
return//Add overlays here
|
||||
|
||||
..()
|
||||
return
|
||||
|
||||
proc
|
||||
set_delay(var/delay)
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
/obj/structure/particle_accelerator/power_box
|
||||
name = "Particle Accelerator"
|
||||
desc = "Part of a Particle Accelerator, this part seems to have a maintenance panel on it."
|
||||
name = "Particle Focusing EM Lens"
|
||||
desc_holder = "This uses electromagnetic waves to focus the Alpha-Particles."
|
||||
icon = 'particle_accelerator.dmi'
|
||||
icon_state = "power_box"
|
||||
anchored = 0
|
||||
density = 1
|
||||
reference = "power_box"
|
||||
|
||||
update_icon()
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -1091,7 +1091,7 @@ datum
|
||||
desc = "A basic power cell that holds 1000 units of energy"
|
||||
id = "basic_cell"
|
||||
req_tech = list("powerstorage" = 1)
|
||||
build_type = PROTOLATHE | AUTOLATHE
|
||||
build_type = PROTOLATHE | AUTOLATHE |MECHFAB
|
||||
materials = list("$metal" = 700, "$glass" = 50)
|
||||
build_path = "/obj/item/weapon/cell"
|
||||
|
||||
@@ -1100,7 +1100,7 @@ datum
|
||||
desc = "A power cell that holds 10000 units of energy"
|
||||
id = "high_cell"
|
||||
req_tech = list("powerstorage" = 2)
|
||||
build_type = PROTOLATHE | AUTOLATHE
|
||||
build_type = PROTOLATHE | AUTOLATHE | MECHFAB
|
||||
materials = list("$metal" = 700, "$glass" = 60)
|
||||
build_path = "/obj/item/weapon/cell/high"
|
||||
|
||||
@@ -1110,7 +1110,7 @@ datum
|
||||
id = "super_cell"
|
||||
req_tech = list("powerstorage" = 3, "materials" = 2)
|
||||
reliability_base = 90 //Else these things just fail all the time, goddamn. - Erthilo
|
||||
build_type = PROTOLATHE
|
||||
build_type = PROTOLATHE | MECHFAB
|
||||
materials = list("$metal" = 700, "$glass" = 70)
|
||||
build_path = "/obj/item/weapon/cell/super"
|
||||
|
||||
@@ -1120,7 +1120,7 @@ datum
|
||||
id = "hyper_cell"
|
||||
req_tech = list("powerstorage" = 5, "materials" = 4)
|
||||
reliability_base = 85
|
||||
build_type = PROTOLATHE
|
||||
build_type = PROTOLATHE | MECHFAB
|
||||
materials = list("$metal" = 400, "$gold" = 150, "$silver" = 150, "$glass" = 70)
|
||||
build_path = "/obj/item/weapon/cell/hyper"
|
||||
|
||||
@@ -1271,6 +1271,16 @@ datum
|
||||
reliability_base = 74
|
||||
build_path = "/obj/item/device/mmi/radio_enabled"
|
||||
|
||||
synthetic_flash
|
||||
name = "Synthetic Flash"
|
||||
desc = "When a problem arises, SCIENCE is the solution."
|
||||
id = "sflash"
|
||||
req_tech = list("magnets" = 3, "combat" = 2)
|
||||
build_type = MECHFAB
|
||||
materials = list("$metal" = 750, "$glass" = 750)
|
||||
reliability_base = 76
|
||||
build_path = "/obj/item/device/flash/synthetic"
|
||||
|
||||
/////////////////////////////////////////
|
||||
/////////////////Weapons/////////////////
|
||||
/////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user