Conflicts:
	icons/obj/items.dmi
This commit is contained in:
igalan
2014-04-21 06:07:02 +01:00
219 changed files with 2009 additions and 1803 deletions
+2 -2
View File
@@ -563,7 +563,7 @@ var/global/floorIsLava = 0
<A href='?src=\ref[src];create_turf=1'>Create Turf</A><br>
<A href='?src=\ref[src];create_mob=1'>Create Mob</A><br>
<br><A href='?src=\ref[src];vsc=airflow'>Edit Airflow Settings</A><br>
<A href='?src=\ref[src];vsc=plasma'>Edit Plasma Settings</A><br>
<A href='?src=\ref[src];vsc=phoron'>Edit Phoron Settings</A><br>
<A href='?src=\ref[src];vsc=default'>Choose a default ZAS setting</A><br>
"}
@@ -961,7 +961,7 @@ var/global/floorIsLava = 0
/datum/admins/proc/get_sab_desc(var/target)
switch(target)
if(1)
return "Destroy at least 70% of the plasma canisters on the station"
return "Destroy at least 70% of the phoron canisters on the station"
if(2)
return "Destroy the AI"
if(3)
+1 -1
View File
@@ -2599,7 +2599,7 @@
if(check_rights(R_ADMIN|R_SERVER))
if(href_list["vsc"] == "airflow")
vsc.ChangeSettingsDialog(usr,vsc.settings)
if(href_list["vsc"] == "plasma")
if(href_list["vsc"] == "phoron")
vsc.ChangeSettingsDialog(usr,vsc.plc.settings)
if(href_list["vsc"] == "default")
vsc.SetDefault(usr)
+5 -5
View File
@@ -144,7 +144,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
var/t = ""
t+= "Nitrogen : [env.nitrogen]\n"
t+= "Oxygen : [env.oxygen]\n"
t+= "Plasma : [env.toxins]\n"
t+= "Phoron : [env.phoron]\n"
t+= "CO2: [env.carbon_dioxide]\n"
usr.show_message(t, 1)
@@ -955,11 +955,11 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
for(var/obj/machinery/power/rad_collector/Rad in world)
if(Rad.anchored)
if(!Rad.P)
var/obj/item/weapon/tank/plasma/Plasma = new/obj/item/weapon/tank/plasma(Rad)
Plasma.air_contents.toxins = 70
var/obj/item/weapon/tank/phoron/Phoron = new/obj/item/weapon/tank/phoron(Rad)
Phoron.air_contents.phoron = 70
Rad.drainratio = 0
Rad.P = Plasma
Plasma.loc = Rad
Rad.P = Phoron
Phoron.loc = Rad
if(!Rad.active)
Rad.toggle_power()
+1 -1
View File
@@ -56,7 +56,7 @@
if(T.active_hotspot)
burning = 1
usr << "\blue @[target.x],[target.y] ([GM.group_multiplier]): O:[GM.oxygen] T:[GM.toxins] N:[GM.nitrogen] C:[GM.carbon_dioxide] w [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(burning)?("\red BURNING"):(null)]"
usr << "\blue @[target.x],[target.y] ([GM.group_multiplier]): O:[GM.oxygen] T:[GM.phoron] N:[GM.nitrogen] C:[GM.carbon_dioxide] w [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(burning)?("\red BURNING"):(null)]"
for(var/datum/gas/trace_gas in GM.trace_gases)
usr << "[trace_gas.type]: [trace_gas.moles]"
feedback_add_details("admin_verb","DAST") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+1 -1
View File
@@ -797,7 +797,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
feedback_add_details("admin_verb","CC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/* This proc is DEFERRED. Does not do anything.
/client/proc/cmd_admin_remove_plasma()
/client/proc/cmd_admin_remove_phoron()
set category = "Debug"
set name = "Stabilize Atmos."
if(!holder)
+2 -2
View File
@@ -9,7 +9,7 @@
flags = FPRINT | TABLEPASS| CONDUCT //Copied this from old code, so this may or may not be necessary
var/status = 0 //0 - not readied //1 - bomb finished with welder
var/obj/item/device/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device
var/obj/item/weapon/tank/bombtank = null //the second part of the bomb is a plasma tank
var/obj/item/weapon/tank/bombtank = null //the second part of the bomb is a phoron tank
/obj/item/device/onetankbomb/examine()
..()
@@ -100,7 +100,7 @@
return
/obj/item/weapon/tank/proc/ignite() //This happens when a bomb is told to explode
var/fuel_moles = air_contents.toxins + air_contents.oxygen/6
var/fuel_moles = air_contents.phoron + air_contents.oxygen/6
var/strength = 1
var/turf/ground_zero = get_turf(loc)
+1 -1
View File
@@ -30,7 +30,7 @@
/*
Name: IsSpecialAssembly
Desc: If true is an object that can be attached to an assembly holder but is a special thing like a plasma can or door
Desc: If true is an object that can be attached to an assembly holder but is a special thing like a phoron can or door
*/
/obj/proc/IsSpecialAssembly()
+4 -4
View File
@@ -25,13 +25,13 @@
/obj/item/clothing/glasses/science
name = "Science Goggles"
desc = "nothing"
desc = "The goggles do nothing!"
icon_state = "purple"
item_state = "glasses"
/obj/item/clothing/glasses/night
name = "Night Vision Goggles"
desc = "You can totally see in the dark now!."
desc = "You can totally see in the dark now!"
icon_state = "night"
item_state = "glasses"
origin_tech = "magnets=2"
@@ -112,13 +112,13 @@
src.flags |= GLASSESCOVERSEYES
flags_inv |= HIDEEYES
icon_state = initial(icon_state)
usr << "You flip the [src] down to protect your eyes."
usr << "You flip \the [src] down to protect your eyes."
else
src.up = !src.up
src.flags &= ~HEADCOVERSEYES
flags_inv &= ~HIDEEYES
icon_state = "[initial(icon_state)]up"
usr << "You push the [src] up out of your face."
usr << "You push \the [src] up out of your face."
usr.update_inv_glasses()
+1 -1
View File
@@ -14,7 +14,7 @@
//Plague Dr suit can be found in clothing/suits/bio.dm
/obj/item/clothing/mask/gas/plaguedoctor
name = "plague doctor mask"
desc = "A modernised version of the classic design, this mask will not only filter out toxins but it can also be connected to an air supply."
desc = "A modernised version of the classic design, this mask will not only filter out phoron but it can also be connected to an air supply."
icon_state = "plaguedoctor"
item_state = "gas_mask"
armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 75, rad = 0)
+14 -19
View File
@@ -4,30 +4,25 @@
icon_state = "magboots0"
species_restricted = null
var/magpulse = 0
icon_action_button = "action_blank"
action_button_name = "Toggle the magboots"
// flags = NOSLIP //disabled by default
verb/toggle()
set name = "Toggle Magboots"
set category = "Object"
set src in usr
if(usr.stat)
return
if(src.magpulse)
src.flags &= ~NOSLIP
src.slowdown = SHOES_SLOWDOWN
src.magpulse = 0
attack_self(mob/user)
if(magpulse)
flags &= ~NOSLIP
slowdown = SHOES_SLOWDOWN
magpulse = 0
icon_state = "magboots0"
usr << "You disable the mag-pulse traction system."
user << "You disable the mag-pulse traction system."
else
src.flags |= NOSLIP
src.slowdown = 2
src.magpulse = 1
flags |= NOSLIP
slowdown = 2
magpulse = 1
icon_state = "magboots1"
usr << "You enable the mag-pulse traction system."
usr.update_inv_shoes() //so our mob-overlays update
user << "You enable the mag-pulse traction system."
user.update_inv_shoes() //so our mob-overlays update
examine()
set src in view()
..()
+31 -15
View File
@@ -192,28 +192,44 @@
/obj/item/clothing/shoes/magboots/vox
desc = "A pair of heavy, jagged armoured foot pieces, seemingly suitable for a velociraptor."
name = "vox boots"
name = "vox magclaws"
item_state = "boots-vox"
icon_state = "boots-vox"
species_restricted = list("Vox")
action_button_name = "Toggle the magclaws"
toggle()
//set name = "Toggle Floor Grip"
if(usr.stat)
/obj/item/clothing/shoes/magboots/vox/attack_self(mob/user)
if(src.magpulse)
flags &= ~NOSLIP
magpulse = 0
canremove = 1
user << "You relax your deathgrip on the flooring."
else
//make sure these can only be used when equipped.
if (!is_equipped())
user << "You will have to put on the [src] before you can do that."
return
if(src.magpulse)
src.flags &= ~NOSLIP
src.magpulse = 0
usr << "You relax your deathgrip on the flooring."
else
src.flags |= NOSLIP
src.magpulse = 1
usr << "You dig your claws deeply into the flooring, bracing yourself."
flags |= NOSLIP
magpulse = 1
canremove = 0 //kinda hard to take off magclaws when you are gripping them tightly.
user << "You dig your claws deeply into the flooring, bracing yourself."
user << "It would be hard to take off the [src] without relaxing your grip first."
//In case they somehow come off while enabled.
/obj/item/clothing/shoes/magboots/vox/dropped(mob/user as mob)
..()
if(src.magpulse)
user.visible_message("The [src] go limp as they are removed from [usr]'s feet.", "The [src] go limp as they are removed from your feet.")
flags &= ~NOSLIP
magpulse = 0
canremove = 1
examine()
set src in view()
..()
/obj/item/clothing/shoes/magboots/vox/examine()
set src in view()
..()
if (magpulse)
usr << "It would be hard to take these off without relaxing your grip first." //theoretically this message should only be seen by the wearer when the claws are equipped.
//Species-specific Syndicate rigs.
+2 -2
View File
@@ -31,9 +31,9 @@
/obj/item/clothing/under/rank/scientist
desc = "It's made of a special fiber that provides minor protection against biohazards. It has markings that denote the wearer as a scientist."
name = "scientist's jumpsuit"
icon_state = "toxins"
icon_state = "science"
item_state = "w_suit"
item_color = "toxinswhite"
item_color = "sciencewhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
flags = FPRINT | TABLEPASS
+1 -1
View File
@@ -22,7 +22,7 @@
newMsg.body = ""
switch(event_type)
if(RESEARCH_BREAKTHROUGH)
newMsg.body = "A major breakthough in the field of [pick("plasma research","super-compressed materials","nano-augmentation","bluespace research","volatile power manipulation")] \
newMsg.body = "A major breakthough in the field of [pick("phoron research","super-compressed materials","nano-augmentation","bluespace research","volatile power manipulation")] \
was announced [pick("yesterday","a few days ago","last week","earlier this month")] by a private firm on [affected_dest.name]. \
NanoTrasen declined to comment as to whether this could impinge on profits."
+1 -1
View File
@@ -61,7 +61,7 @@ var/list/weighted_mundaneevent_locations = list()
/datum/trade_destination/redolant/get_custom_eventstring(var/event_type)
if(event_type == RESEARCH_BREAKTHROUGH)
return "Thanks to research conducted on the OAV Redolant, Osiris Atmospherics wishes to announce a major breakthough in the field of \
[pick("plasma research","high energy flux capacitance","super-compressed materials","theoretical particle physics")]. NanoTrasen is expected to announce a co-exploitation deal within the fortnight."
[pick("phoron research","high energy flux capacitance","super-compressed materials","theoretical particle physics")]. NanoTrasen is expected to announce a co-exploitation deal within the fortnight."
return null
/datum/trade_destination/beltway
+1 -1
View File
@@ -47,7 +47,7 @@
#define GEAR_EVA 15
//---- The following corporations are friendly with NanoTrasen and loosely enable trade and travel:
//Corporation NanoTrasen - Generalised / high tech research and plasma exploitation.
//Corporation NanoTrasen - Generalised / high tech research and phoron exploitation.
//Corporation Vessel Contracting - Ship and station construction, materials research.
//Corporation Osiris Atmospherics - Atmospherics machinery construction and chemical research.
//Corporation Second Red Cross Society - 26th century Red Cross reborn as a dominating economic force in biomedical science (research and materials).
+1 -1
View File
@@ -4,7 +4,7 @@ mob/living/carbon/proc/dream()
"an ID card","a bottle","a familiar face","a crewmember","a toolbox","a security officer","the captain",
"voices from all around","deep space","a doctor","the engine","a traitor","an ally","darkness",
"light","a scientist","a monkey","a catastrophe","a loved one","a gun","warmth","freezing","the sun",
"a hat","the Luna","a ruined station","a planet","plasma","air","the medical bay","the bridge","blinking lights",
"a hat","the Luna","a ruined station","a planet","phoron","air","the medical bay","the bridge","blinking lights",
"a blue light","an abandoned laboratory","Nanotrasen","The Syndicate","blood","healing","power","respect",
"riches","space","a crash","happiness","pride","a fall","water","flames","ice","melons","flying","the eggs","money",
"the head of personnel","the head of security","a chief engineer","a research director","a chief medical officer",
+1 -1
View File
@@ -1,7 +1,7 @@
/*
Ideas for the subtle effects of hallucination:
Light up oxygen/plasma indicators (done)
Light up oxygen/phoron indicators (done)
Cause health to look critical/dead, even when standing (done)
Characters silently watching you
Brief flashes of fire/space/bombs/c4/dangerous shit (done)
+32 -32
View File
@@ -2,7 +2,7 @@
#define ORE_PROC_SILVER 2
#define ORE_PROC_DIAMOND 4
#define ORE_PROC_GLASS 8
#define ORE_PROC_PLASMA 16
#define ORE_PROC_PHORON 16
#define ORE_PROC_URANIUM 32
#define ORE_PROC_IRON 64
#define ORE_PROC_CLOWN 128
@@ -39,7 +39,7 @@
var/dat = "<b>Smelter control console</b><br><br>"
//iron
if(machine.ore_iron || machine.ore_glass || machine.ore_plasma || machine.ore_uranium || machine.ore_gold || machine.ore_silver || machine.ore_diamond || machine.ore_clown || machine.ore_adamantine)
if(machine.ore_iron || machine.ore_glass || machine.ore_phoron || machine.ore_uranium || machine.ore_gold || machine.ore_silver || machine.ore_diamond || machine.ore_clown || machine.ore_adamantine)
if(machine.ore_iron)
if (machine.selected & ORE_PROC_IRON)
dat += text("<A href='?src=\ref[src];sel_iron=no'><font color='green'>Smelting</font></A> ")
@@ -59,15 +59,15 @@
else
machine.selected &= ~ORE_PROC_GLASS
//plasma
if(machine.ore_plasma)
if (machine.selected & ORE_PROC_PLASMA)
dat += text("<A href='?src=\ref[src];sel_plasma=no'><font color='green'>Smelting</font></A> ")
//phoron
if(machine.ore_phoron)
if (machine.selected & ORE_PROC_PHORON)
dat += text("<A href='?src=\ref[src];sel_phoron=no'><font color='green'>Smelting</font></A> ")
else
dat += text("<A href='?src=\ref[src];sel_plasma=yes'><font color='red'>Not smelting</font></A> ")
dat += text("Plasma: [machine.ore_plasma]<br>")
dat += text("<A href='?src=\ref[src];sel_phoron=yes'><font color='red'>Not smelting</font></A> ")
dat += text("Phoron: [machine.ore_phoron]<br>")
else
machine.selected &= ~ORE_PROC_PLASMA
machine.selected &= ~ORE_PROC_PHORON
//uranium
if(machine.ore_uranium)
@@ -148,11 +148,11 @@
machine.selected |= ORE_PROC_GLASS
else
machine.selected &= ~ORE_PROC_GLASS
if(href_list["sel_plasma"])
if (href_list["sel_plasma"] == "yes")
machine.selected |= ORE_PROC_PLASMA
if(href_list["sel_phoron"])
if (href_list["sel_phoron"] == "yes")
machine.selected |= ORE_PROC_PHORON
else
machine.selected &= ~ORE_PROC_PLASMA
machine.selected &= ~ORE_PROC_PHORON
if(href_list["sel_uranium"])
if (href_list["sel_uranium"] == "yes")
machine.selected |= ORE_PROC_URANIUM
@@ -204,7 +204,7 @@
var/ore_silver = 0;
var/ore_diamond = 0;
var/ore_glass = 0;
var/ore_plasma = 0;
var/ore_phoron = 0;
var/ore_uranium = 0;
var/ore_iron = 0;
var/ore_clown = 0;
@@ -280,10 +280,10 @@
else
on = 0
continue
if (selected == ORE_PROC_PLASMA)
if (ore_plasma > 0)
ore_plasma--;
new /obj/item/stack/sheet/mineral/plasma(output.loc)
if (selected == ORE_PROC_PHORON)
if (ore_phoron > 0)
ore_phoron--;
new /obj/item/stack/sheet/mineral/phoron(output.loc)
else
on = 0
continue
@@ -301,10 +301,10 @@
else
on = 0
continue
if (selected == ORE_PROC_IRON + ORE_PROC_PLASMA)
if (ore_iron > 0 && ore_plasma > 0)
if (selected == ORE_PROC_IRON + ORE_PROC_PHORON)
if (ore_iron > 0 && ore_phoron > 0)
ore_iron--;
ore_plasma--;
ore_phoron--;
new /obj/item/stack/sheet/plasteel(output.loc)
else
on = 0
@@ -317,7 +317,7 @@
on = 0
continue
/*
if (selected == ORE_PROC_GLASS + ORE_PROC_PLASMA)
if (selected == ORE_PROC_GLASS + ORE_PROC_PHORON)
if (ore_glass > 0 && ore_plasma > 0)
ore_glass--;
ore_plasma--;
@@ -325,7 +325,7 @@
else
on = 0
continue
if (selected == ORE_PROC_GLASS + ORE_PROC_IRON + ORE_PROC_PLASMA)
if (selected == ORE_PROC_GLASS + ORE_PROC_IRON + ORE_PROC_PHORON)
if (ore_glass > 0 && ore_plasma > 0 && ore_iron > 0)
ore_glass--;
ore_iron--;
@@ -345,10 +345,10 @@
else
on = 0
continue
if (selected == ORE_PROC_SILVER + ORE_PROC_PLASMA)
if (ore_silver >= 1 && ore_plasma >= 3)
if (selected == ORE_PROC_SILVER + ORE_PROC_PHORON)
if (ore_silver >= 1 && ore_phoron >= 3)
ore_silver -= 1
ore_plasma -= 3
ore_phoron -= 3
new /obj/item/stack/sheet/mineral/mythril(output.loc)
else
on = 0
@@ -375,8 +375,8 @@
if (selected & ORE_PROC_URANIUM)
if (ore_uranium <= 0)
b = 0
if (selected & ORE_PROC_PLASMA)
if (ore_plasma <= 0)
if (selected & ORE_PROC_PHORON)
if (ore_phoron <= 0)
b = 0
if (selected & ORE_PROC_IRON)
if (ore_iron <= 0)
@@ -397,8 +397,8 @@
ore_diamond--
if (selected & ORE_PROC_URANIUM)
ore_uranium--
if (selected & ORE_PROC_PLASMA)
ore_plasma--
if (selected & ORE_PROC_PHORON)
ore_phoron--
if (selected & ORE_PROC_IRON)
ore_iron--
if (selected & ORE_PROC_CLOWN)
@@ -430,8 +430,8 @@
O.loc = null
//del(O)
continue
if (istype(O,/obj/item/weapon/ore/plasma))
ore_plasma++
if (istype(O,/obj/item/weapon/ore/phoron))
ore_phoron++
O.loc = null
//del(O)
continue
+39 -39
View File
@@ -40,12 +40,12 @@
dat += text("Glass: [machine.ore_glass] <A href='?src=\ref[src];release=glass'>Release</A><br>")
if(machine.ore_rglass)
dat += text("Reinforced Glass: [machine.ore_rglass] <A href='?src=\ref[src];release=rglass'>Release</A><br>")
if(machine.ore_plasma)
dat += text("Plasma: [machine.ore_plasma] <A href='?src=\ref[src];release=plasma'>Release</A><br>")
if(machine.ore_plasmaglass)
dat += text("Plasma Glass: [machine.ore_plasmaglass] <A href='?src=\ref[src];release=plasmaglass'>Release</A><br>")
if(machine.ore_plasmarglass)
dat += text("Reinforced Plasma Glass: [machine.ore_plasmarglass] <A href='?src=\ref[src];release=plasmarglass'>Release</A><br>")
if(machine.ore_phoron)
dat += text("Phoron: [machine.ore_phoron] <A href='?src=\ref[src];release=phoron'>Release</A><br>")
if(machine.ore_phoronglass)
dat += text("Phoron Glass: [machine.ore_phoronglass] <A href='?src=\ref[src];release=phoronglass'>Release</A><br>")
if(machine.ore_phoronrglass)
dat += text("Reinforced Phoron Glass: [machine.ore_phoronrglass] <A href='?src=\ref[src];release=phoronrglass'>Release</A><br>")
if(machine.ore_gold)
dat += text("Gold: [machine.ore_gold] <A href='?src=\ref[src];release=gold'>Release</A><br>")
if(machine.ore_silver)
@@ -81,24 +81,24 @@
src.add_fingerprint(usr)
if(href_list["release"])
switch(href_list["release"])
if ("plasma")
if (machine.ore_plasma > 0)
var/obj/item/stack/sheet/mineral/plasma/G = new /obj/item/stack/sheet/mineral/plasma
G.amount = machine.ore_plasma
if ("phoron")
if (machine.ore_phoron > 0)
var/obj/item/stack/sheet/mineral/phoron/G = new /obj/item/stack/sheet/mineral/phoron
G.amount = machine.ore_phoron
G.loc = machine.output.loc
machine.ore_plasma = 0
if ("plasmaglass")
if (machine.ore_plasmaglass > 0)
var/obj/item/stack/sheet/glass/plasmaglass/G = new /obj/item/stack/sheet/glass/plasmaglass
G.amount = machine.ore_plasmaglass
machine.ore_phoron = 0
if ("phoronglass")
if (machine.ore_phoronglass > 0)
var/obj/item/stack/sheet/glass/phoronglass/G = new /obj/item/stack/sheet/glass/phoronglass
G.amount = machine.ore_phoronglass
G.loc = machine.output.loc
machine.ore_plasmaglass = 0
if ("plasmarglass")
if (machine.ore_plasmarglass > 0)
var/obj/item/stack/sheet/glass/plasmarglass/G = new /obj/item/stack/sheet/glass/plasmarglass
G.amount = machine.ore_plasmarglass
machine.ore_phoronglass = 0
if ("phoronrglass")
if (machine.ore_phoronrglass > 0)
var/obj/item/stack/sheet/glass/phoronrglass/G = new /obj/item/stack/sheet/glass/phoronrglass
G.amount = machine.ore_phoronrglass
G.loc = machine.output.loc
machine.ore_plasmarglass = 0
machine.ore_phoronrglass = 0
if ("uranium")
if (machine.ore_uranium > 0)
var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium
@@ -210,9 +210,9 @@
var/ore_gold = 0;
var/ore_silver = 0;
var/ore_diamond = 0;
var/ore_plasma = 0;
var/ore_plasmaglass = 0;
var/ore_plasmarglass = 0;
var/ore_phoron = 0;
var/ore_phoronglass = 0;
var/ore_phoronrglass = 0;
var/ore_iron = 0;
var/ore_uranium = 0;
var/ore_clown = 0;
@@ -262,8 +262,8 @@
O.loc = null
//del(O)
continue
if (istype(O,/obj/item/stack/sheet/mineral/plasma))
ore_plasma+= O.amount
if (istype(O,/obj/item/stack/sheet/mineral/phoron))
ore_phoron+= O.amount
O.loc = null
//del(O)
continue
@@ -287,13 +287,13 @@
O.loc = null
//del(O)
continue
if (istype(O,/obj/item/stack/sheet/glass/plasmaglass))
ore_plasmaglass+= O.amount
if (istype(O,/obj/item/stack/sheet/glass/phoronglass))
ore_phoronglass+= O.amount
O.loc = null
//del(O)
continue
if (istype(O,/obj/item/stack/sheet/glass/plasmarglass))
ore_plasmarglass+= O.amount
if (istype(O,/obj/item/stack/sheet/glass/phoronrglass))
ore_phoronrglass+= O.amount
O.loc = null
//del(O)
continue
@@ -362,11 +362,11 @@
G.loc = output.loc
ore_diamond -= stack_amt
return
if (ore_plasma >= stack_amt)
var/obj/item/stack/sheet/mineral/plasma/G = new /obj/item/stack/sheet/mineral/plasma
if (ore_phoron >= stack_amt)
var/obj/item/stack/sheet/mineral/phoron/G = new /obj/item/stack/sheet/mineral/phoron
G.amount = stack_amt
G.loc = output.loc
ore_plasma -= stack_amt
ore_phoron -= stack_amt
return
if (ore_iron >= stack_amt)
var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal
@@ -398,17 +398,17 @@
G.loc = output.loc
ore_rglass -= stack_amt
return
if (ore_plasmaglass >= stack_amt)
var/obj/item/stack/sheet/glass/plasmaglass/G = new /obj/item/stack/sheet/glass/plasmaglass
if (ore_phoronglass >= stack_amt)
var/obj/item/stack/sheet/glass/phoronglass/G = new /obj/item/stack/sheet/glass/phoronglass
G.amount = stack_amt
G.loc = output.loc
ore_plasmaglass -= stack_amt
ore_phoronglass -= stack_amt
return
if (ore_plasmarglass >= stack_amt)
var/obj/item/stack/sheet/glass/plasmarglass/G = new /obj/item/stack/sheet/glass/plasmarglass
if (ore_phoronrglass >= stack_amt)
var/obj/item/stack/sheet/glass/phoronrglass/G = new /obj/item/stack/sheet/glass/phoronrglass
G.amount = stack_amt
G.loc = output.loc
ore_plasmarglass -= stack_amt
ore_phoronrglass -= stack_amt
return
if (ore_plasteel >= stack_amt)
var/obj/item/stack/sheet/plasteel/G = new /obj/item/stack/sheet/plasteel
+1 -1
View File
@@ -259,7 +259,7 @@ proc/move_mining_shuttle()
w_class = 3.0 //it is smaller than the pickaxe
damtype = "fire"
digspeed = 20 //Can slice though normal walls, all girders, or be used in reinforced wall deconstruction/ light thermite on fire
origin_tech = "materials=4;plasmatech=3;engineering=3"
origin_tech = "materials=4;phorontech=3;engineering=3"
desc = "A rock cutter that uses bursts of hot plasma. You could use it to cut limbs off of xenos! Or, you know, mine stuff."
drill_verb = "cutting"
+3 -3
View File
@@ -349,7 +349,7 @@ var/list/artifact_spawn = list() // Runtime fix for geometry loading before cont
if(6)
var/quantity = rand(1,3)
for(var/i=0, i<quantity, i++)
new /obj/item/weapon/shard/plasma(src)
new /obj/item/weapon/shard/phoron(src)
if(7)
var/obj/item/stack/sheet/mineral/uranium/R = new(src)
@@ -358,7 +358,7 @@ var/list/artifact_spawn = list() // Runtime fix for geometry loading before cont
/turf/simulated/mineral/random
name = "Mineral deposit"
var/mineralSpawnChanceList = list("Uranium" = 5, "Iron" = 50, "Diamond" = 1, "Gold" = 5, "Silver" = 5, "Plasma" = 25)//Currently, Adamantine won't spawn as it has no uses. -Durandan
var/mineralSpawnChanceList = list("Uranium" = 5, "Iron" = 50, "Diamond" = 1, "Gold" = 5, "Silver" = 5, "Phoron" = 25)//Currently, Adamantine won't spawn as it has no uses. -Durandan
var/mineralChance = 10 //means 10% chance of this plot changing to a mineral deposit
New()
@@ -377,7 +377,7 @@ var/list/artifact_spawn = list() // Runtime fix for geometry loading before cont
/turf/simulated/mineral/random/high_chance
mineralChance = 25
mineralSpawnChanceList = list("Uranium" = 10, "Iron" = 30, "Diamond" = 2, "Gold" = 10, "Silver" = 10, "Plasma" = 25)
mineralSpawnChanceList = list("Uranium" = 10, "Iron" = 30, "Diamond" = 2, "Gold" = 10, "Silver" = 10, "Phoron" = 25)
/**********************Asteroid**************************/
+3 -3
View File
@@ -58,11 +58,11 @@ mineral/silver
spread_chance = 10
ore = /obj/item/weapon/ore/silver
mineral/plasma
name = "Plasma"
mineral/phoron
name = "Phoron"
result_amount = 5
spread_chance = 25
ore = /obj/item/weapon/ore/plasma
ore = /obj/item/weapon/ore/phoron
mineral/clown
display_name = "Bananium"
+10 -10
View File
@@ -13,7 +13,7 @@
var/amt_gold = 0 //amount of gold
var/amt_diamond = 0
var/amt_iron = 0
var/amt_plasma = 0
var/amt_phoron = 0
var/amt_uranium = 0
var/amt_clown = 0
var/amt_adamantine = 0
@@ -52,8 +52,8 @@
if (istype(O,/obj/item/stack/sheet/mineral/diamond))
amt_diamond += 100 * O.amount
del(O)
if (istype(O,/obj/item/stack/sheet/mineral/plasma))
amt_plasma += 100 * O.amount
if (istype(O,/obj/item/stack/sheet/mineral/phoron))
amt_phoron += 100 * O.amount
del(O)
if (istype(O,/obj/item/stack/sheet/mineral/uranium))
amt_uranium += 100 * O.amount
@@ -100,11 +100,11 @@
dat += text("chosen")
else
dat += text("<A href='?src=\ref[src];choose=diamond'>Choose</A>")
dat += text("<br><font color='#FF8800'><b>Plasma inserted: </b>[amt_plasma]</font> ")
if (chosen == "plasma")
dat += text("<br><font color='#FF8800'><b>Phoron inserted: </b>[amt_phoron]</font> ")
if (chosen == "phoron")
dat += text("chosen")
else
dat += text("<A href='?src=\ref[src];choose=plasma'>Choose</A>")
dat += text("<A href='?src=\ref[src];choose=phoron'>Choose</A>")
dat += text("<br><font color='#008800'><b>uranium inserted: </b>[amt_uranium]</font> ")
if (chosen == "uranium")
dat += text("chosen")
@@ -202,14 +202,14 @@
newCoins++
src.updateUsrDialog()
sleep(5);
if("plasma")
while(amt_plasma > 0 && coinsToProduce > 0)
if("phoron")
while(amt_phoron > 0 && coinsToProduce > 0)
if (locate(/obj/item/weapon/moneybag,output.loc))
M = locate(/obj/item/weapon/moneybag,output.loc)
else
M = new/obj/item/weapon/moneybag(output.loc)
new /obj/item/weapon/coin/plasma(M)
amt_plasma -= 20
new /obj/item/weapon/coin/phoron(M)
amt_phoron -= 20
coinsToProduce--
newCoins++
src.updateUsrDialog()
+7 -7
View File
@@ -14,7 +14,7 @@
var/amt_silver = 0
var/amt_diamond = 0
var/amt_iron = 0
var/amt_plasma = 0
var/amt_phoron = 0
var/amt_uranium = 0
var/amt_clown = 0
var/amt_adamantine = 0
@@ -22,8 +22,8 @@
for (var/obj/item/weapon/coin/C in contents)
if (istype(C,/obj/item/weapon/coin/diamond))
amt_diamond++;
if (istype(C,/obj/item/weapon/coin/plasma))
amt_plasma++;
if (istype(C,/obj/item/weapon/coin/phoron))
amt_phoron++;
if (istype(C,/obj/item/weapon/coin/iron))
amt_iron++;
if (istype(C,/obj/item/weapon/coin/silver))
@@ -46,8 +46,8 @@
dat += text("Metal coins: [amt_iron] <A href='?src=\ref[src];remove=iron'>Remove one</A><br>")
if (amt_diamond)
dat += text("Diamond coins: [amt_diamond] <A href='?src=\ref[src];remove=diamond'>Remove one</A><br>")
if (amt_plasma)
dat += text("Plasma coins: [amt_plasma] <A href='?src=\ref[src];remove=plasma'>Remove one</A><br>")
if (amt_phoron)
dat += text("Phoron coins: [amt_phoron] <A href='?src=\ref[src];remove=phoron'>Remove one</A><br>")
if (amt_uranium)
dat += text("Uranium coins: [amt_uranium] <A href='?src=\ref[src];remove=uranium'>Remove one</A><br>")
if (amt_clown)
@@ -86,8 +86,8 @@
COIN = locate(/obj/item/weapon/coin/iron,src.contents)
if("diamond")
COIN = locate(/obj/item/weapon/coin/diamond,src.contents)
if("plasma")
COIN = locate(/obj/item/weapon/coin/plasma,src.contents)
if("phoron")
COIN = locate(/obj/item/weapon/coin/phoron,src.contents)
if("uranium")
COIN = locate(/obj/item/weapon/coin/uranium,src.contents)
if("clown")
+8 -8
View File
@@ -29,9 +29,9 @@
new /obj/item/stack/sheet/mineral/sandstone(location)
del(src)
/obj/item/weapon/ore/plasma
name = "Plasma ore"
icon_state = "Plasma ore"
/obj/item/weapon/ore/phoron
name = "Phoron ore"
icon_state = "Phoron ore"
origin_tech = "materials=2"
/obj/item/weapon/ore/silver
@@ -103,9 +103,9 @@
name = "iron coin"
icon_state = "coin_iron"
/obj/item/weapon/coin/plasma
name = "solid plasma coin"
icon_state = "coin_plasma"
/obj/item/weapon/coin/phoron
name = "solid phoron coin"
icon_state = "coin_phoron"
/obj/item/weapon/coin/uranium
name = "uranium coin"
@@ -159,5 +159,5 @@
comment = "tails"
else if(result == 2)
comment = "heads"
user.visible_message("<span class='notice'>[user] has thrown the [src]. It lands on [comment]! </span>", \
"<span class='notice'>You throw the [src]. It lands on [comment]! </span>")
user.visible_message("<span class='notice'>[user] has thrown \the [src]. It lands on [comment]! </span>", \
"<span class='notice'>You throw \the [src]. It lands on [comment]! </span>")
+5 -5
View File
@@ -25,7 +25,7 @@
var/amt_diamond = 0
var/amt_glass = 0
var/amt_iron = 0
var/amt_plasma = 0
var/amt_phoron = 0
var/amt_uranium = 0
var/amt_clown = 0
var/amt_strange = 0
@@ -36,8 +36,8 @@
amt_diamond++;
if (istype(C,/obj/item/weapon/ore/glass))
amt_glass++;
if (istype(C,/obj/item/weapon/ore/plasma))
amt_plasma++;
if (istype(C,/obj/item/weapon/ore/phoron))
amt_phoron++;
if (istype(C,/obj/item/weapon/ore/iron))
amt_iron++;
if (istype(C,/obj/item/weapon/ore/silver))
@@ -62,8 +62,8 @@
dat += text("Sand: [amt_glass]<br>")
if (amt_diamond)
dat += text("Diamond ore: [amt_diamond]<br>")
if (amt_plasma)
dat += text("Plasma ore: [amt_plasma]<br>")
if (amt_phoron)
dat += text("Phoron ore: [amt_phoron]<br>")
if (amt_uranium)
dat += text("Uranium ore: [amt_uranium]<br>")
if (amt_clown)
+4 -4
View File
@@ -407,9 +407,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/o2_concentration = environment.oxygen/total_moles
var/n2_concentration = environment.nitrogen/total_moles
var/co2_concentration = environment.carbon_dioxide/total_moles
var/plasma_concentration = environment.toxins/total_moles
var/phoron_concentration = environment.phoron/total_moles
var/unknown_concentration = 1-(o2_concentration+n2_concentration+co2_concentration+plasma_concentration)
var/unknown_concentration = 1-(o2_concentration+n2_concentration+co2_concentration+phoron_concentration)
if(abs(n2_concentration - N2STANDARD) < 20)
src << "\blue Nitrogen: [round(n2_concentration*100)]% ([round(environment.nitrogen,0.01)] moles)"
else
@@ -425,8 +425,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
else
src << "\blue CO2: [round(co2_concentration*100)]% ([round(environment.carbon_dioxide,0.01)] moles)"
if(plasma_concentration > 0.01)
src << "\red Plasma: [round(plasma_concentration*100)]% ([round(environment.toxins,0.01)] moles)"
if(phoron_concentration > 0.01)
src << "\red Phoron: [round(phoron_concentration*100)]% ([round(environment.phoron,0.01)] moles)"
if(unknown_concentration > 0.01)
src << "\red Unknown: [round(unknown_concentration*100)]% ([round(unknown_concentration*total_moles,0.01)] moles)"
@@ -25,7 +25,7 @@
var/plasma_rate = 5
var/oxygen_alert = 0
var/toxins_alert = 0
var/phoron_alert = 0
var/fire_alert = 0
var/heat_protection = 0.5
@@ -58,7 +58,7 @@
/mob/living/carbon/alien/proc/handle_environment(var/datum/gas_mixture/environment)
//If there are alien weeds on the ground then heal if needed or give some toxins
//If there are alien weeds on the ground then heal if needed or give some plasma
if(locate(/obj/effect/alien/weeds) in loc)
if(health >= maxHealth - getCloneLoss())
adjustToxLoss(plasma_rate)
@@ -2,7 +2,7 @@
/mob/living/carbon/alien/humanoid
oxygen_alert = 0
toxins_alert = 0
phoron_alert = 0
fire_alert = 0
var/temperature_alert = 0
@@ -171,25 +171,25 @@
//Aliens breathe in vaccuum
return 0
var/toxins_used = 0
var/phoron_used = 0
var/breath_pressure = (breath.total_moles()*R_IDEAL_GAS_EQUATION*breath.temperature)/BREATH_VOLUME
//Partial pressure of the toxins in our breath
var/Toxins_pp = (breath.toxins/breath.total_moles())*breath_pressure
//Partial pressure of the phoron in our breath
var/Toxins_pp = (breath.phoron/breath.total_moles())*breath_pressure
if(Toxins_pp) // Detect toxins in air
if(Toxins_pp) // Detect phoron in air
adjustToxLoss(breath.toxins*250)
toxins_alert = max(toxins_alert, 1)
adjustToxLoss(breath.phoron*250)
phoron_alert = max(phoron_alert, 1)
toxins_used = breath.toxins
phoron_used = breath.phoron
else
toxins_alert = 0
phoron_alert = 0
//Breathe in toxins and out oxygen
breath.toxins -= toxins_used
breath.oxygen += toxins_used
//Breathe in phoron and out oxygen
breath.phoron -= phoron_used
breath.oxygen += phoron_used
if(breath.temperature > (T0C+66) && !(COLD_RESISTANCE in mutations)) // Hot air hurts :(
if(prob(20))
@@ -412,7 +412,7 @@
if(pullin) pullin.icon_state = "pull[pulling ? 1 : 0]"
if (toxin) toxin.icon_state = "tox[toxins_alert ? 1 : 0]"
if (toxin) toxin.icon_state = "tox[phoron_alert ? 1 : 0]"
if (oxygen) oxygen.icon_state = "oxy[oxygen_alert ? 1 : 0]"
if (fire) fire.icon_state = "fire[fire_alert ? 1 : 0]"
//NOTE: the alerts dont reset when youre out of danger. dont blame me,
@@ -146,25 +146,25 @@
//Aliens breathe in vaccuum
return 0
var/toxins_used = 0
var/phoron_used = 0
var/breath_pressure = (breath.total_moles()*R_IDEAL_GAS_EQUATION*breath.temperature)/BREATH_VOLUME
//Partial pressure of the toxins in our breath
var/Toxins_pp = (breath.toxins/breath.total_moles())*breath_pressure
//Partial pressure of the phoron in our breath
var/Toxins_pp = (breath.phoron/breath.total_moles())*breath_pressure
if(Toxins_pp) // Detect toxins in air
if(Toxins_pp) // Detect phoron in air
adjustToxLoss(breath.toxins*250)
toxins_alert = max(toxins_alert, 1)
adjustToxLoss(breath.phoron*250)
phoron_alert = max(phoron_alert, 1)
toxins_used = breath.toxins
phoron_used = breath.phoron
else
toxins_alert = 0
phoron_alert = 0
//Breathe in toxins and out oxygen
breath.toxins -= toxins_used
breath.oxygen += toxins_used
//Breathe in phoron and out oxygen
breath.phoron -= phoron_used
breath.oxygen += phoron_used
if(breath.temperature > (T0C+66) && !(COLD_RESISTANCE in mutations)) // Hot air hurts :(
if(prob(20))
@@ -327,7 +327,7 @@ FUCK YOU MORE FAT CODE -Hawk*/
if(pullin) pullin.icon_state = "pull[pulling ? 1 : 0]"
if (toxin) toxin.icon_state = "tox[toxins_alert ? 1 : 0]"
if (toxin) toxin.icon_state = "tox[phoron_alert ? 1 : 0]"
if (oxygen) oxygen.icon_state = "oxy[oxygen_alert ? 1 : 0]"
if (fire) fire.icon_state = "fire[fire_alert ? 1 : 0]"
//NOTE: the alerts dont reset when youre out of danger. dont blame me,
@@ -6,7 +6,7 @@
w_class = 3
origin_tech = "engineering=4;materials=4;bluespace=2;programming=4"
construction_cost = list("metal"=500,"glass"=500,"silver"=200,"gold"=200,"plasma"=100,"diamond"=10)
construction_cost = list("metal"=500,"glass"=500,"silver"=200,"gold"=200,"phoron"=100,"diamond"=10)
construction_time = 75
var/searching = 0
var/askDelay = 10 * 60 * 1
+20 -20
View File
@@ -23,7 +23,7 @@
/mob/living/carbon/human
var/oxygen_alert = 0
var/toxins_alert = 0
var/phoron_alert = 0
var/fire_alert = 0
var/pressure_alert = 0
var/prev_gender = null // Debug for plural genders
@@ -340,13 +340,13 @@
var/datum/gas_mixture/filtered = new
filtered.copy_from(breath)
filtered.toxins *= G.gas_filter_strength
filtered.phoron *= G.gas_filter_strength
for(var/datum/gas/gas in filtered.trace_gases)
gas.moles *= G.gas_filter_strength
filtered.update_values()
loc.assume_air(filtered)
breath.toxins *= 1 - G.gas_filter_strength
breath.phoron *= 1 - G.gas_filter_strength
for(var/datum/gas/gas in breath.trace_gases)
gas.moles *= 1 - G.gas_filter_strength
breath.update_values()
@@ -435,7 +435,7 @@
var/safe_oxygen_min = 16 // Minimum safe partial pressure of O2, in kPa
//var/safe_oxygen_max = 140 // Maximum safe partial pressure of O2, in kPa (Not used for now)
var/safe_co2_max = 10 // Yes it's an arbitrary value who cares?
var/safe_toxins_max = 0.005
var/safe_phoron_max = 0.005
var/SA_para_min = 1
var/SA_sleep_min = 5
var/oxygen_used = 0
@@ -445,8 +445,8 @@
//Partial pressure of the O2 in our breath
var/O2_pp = (breath.oxygen/breath.total_moles())*breath_pressure
// Same, but for the toxins
var/Toxins_pp = (breath.toxins/breath.total_moles())*breath_pressure
// Same, but for the phoron
var/Toxins_pp = (breath.phoron/breath.total_moles())*breath_pressure
// And CO2, lets say a PP of more than 10 will be bad (It's a little less really, but eh, being passed out all round aint no fun)
var/CO2_pp = (breath.carbon_dioxide/breath.total_moles())*breath_pressure // Tweaking to fit the hacky bullshit I've done with atmo -- TLE
//var/CO2_pp = (breath.carbon_dioxide/breath.total_moles())*0.5 // The default pressure value
@@ -510,18 +510,18 @@
else
co2overloadtime = 0
if(Toxins_pp > safe_toxins_max) // Too much toxins
var/ratio = (breath.toxins/safe_toxins_max) * 10
//adjustToxLoss(Clamp(ratio, MIN_PLASMA_DAMAGE, MAX_PLASMA_DAMAGE)) //Limit amount of damage toxin exposure can do per second
if(Toxins_pp > safe_phoron_max) // Too much phoron
var/ratio = (breath.phoron/safe_phoron_max) * 10
//adjustToxLoss(Clamp(ratio, MIN_PHORON_DAMAGE, MAX_PHORON_DAMAGE)) //Limit amount of damage toxin exposure can do per second
if(reagents)
reagents.add_reagent("plasma", Clamp(ratio, MIN_PLASMA_DAMAGE, MAX_PLASMA_DAMAGE))
toxins_alert = max(toxins_alert, 1)
reagents.add_reagent("phoron", Clamp(ratio, MIN_PHORON_DAMAGE, MAX_PHORON_DAMAGE))
phoron_alert = max(phoron_alert, 1)
else if(O2_pp > vox_oxygen_max && species.name == "Vox") //Oxygen is toxic to vox.
var/ratio = (breath.oxygen/vox_oxygen_max) * 1000
adjustToxLoss(Clamp(ratio, MIN_PLASMA_DAMAGE, MAX_PLASMA_DAMAGE))
toxins_alert = max(toxins_alert, 1)
adjustToxLoss(Clamp(ratio, MIN_PHORON_DAMAGE, MAX_PHORON_DAMAGE))
phoron_alert = max(phoron_alert, 1)
else
toxins_alert = 0
phoron_alert = 0
if(breath.trace_gases.len) // If there's some other shit in the air lets deal with it here.
for(var/datum/gas/sleeping_agent/SA in breath.trace_gases)
@@ -582,7 +582,7 @@
else
loc_temp = environment.temperature
if(abs(loc_temp - 293.15) < 20 && abs(bodytemperature - 310.14) < 0.5 && environment.toxins < MOLES_PLASMA_VISIBLE)
if(abs(loc_temp - 293.15) < 20 && abs(bodytemperature - 310.14) < 0.5 && environment.phoron < MOLES_PHORON_VISIBLE)
return // Temperatures are within normal ranges, fuck all this processing. ~Ccomp
//Body temperature is adjusted in two steps. Firstly your body tries to stabilize itself a bit.
@@ -663,7 +663,7 @@
else
pressure_alert = -1
if(environment.toxins > MOLES_PLASMA_VISIBLE)
if(environment.phoron > MOLES_PHORON_VISIBLE)
pl_effects()
return
@@ -892,12 +892,12 @@
alien = 2
reagents.metabolize(src,alien)
var/total_plasmaloss = 0
var/total_phoronloss = 0
for(var/obj/item/I in src)
if(I.contaminated)
total_plasmaloss += vsc.plc.CONTAMINATION_LOSS
total_phoronloss += vsc.plc.CONTAMINATION_LOSS
if(status_flags & GODMODE) return 0 //godmode
adjustToxLoss(total_plasmaloss)
adjustToxLoss(total_phoronloss)
if(species.flags & REQUIRE_LIGHT)
var/light_amount = 0 //how much light there is in the place, affects receiving nutrition and healing
@@ -1349,7 +1349,7 @@
// if(resting || lying || sleeping) rest.icon_state = "rest1"
// else rest.icon_state = "rest0"
if(toxin)
if(hal_screwyhud == 4 || toxins_alert) toxin.icon_state = "tox1"
if(hal_screwyhud == 4 || phoron_alert) toxin.icon_state = "tox1"
else toxin.icon_state = "tox0"
if(oxygen)
if(hal_screwyhud == 3 || oxygen_alert) oxygen.icon_state = "oxy1"
@@ -1027,7 +1027,7 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75
/obj/item/weapon/reagent_containers/food/snacks/egg/slime/process()
var/turf/location = get_turf(src)
var/datum/gas_mixture/environment = location.return_air()
if (environment.toxins > MOLES_PLASMA_VISIBLE)//plasma exposure causes the egg to hatch
if (environment.phoron > MOLES_PHORON_VISIBLE)//phoron exposure causes the egg to hatch
src.Hatch()
/obj/item/weapon/reagent_containers/food/snacks/egg/slime/attackby(obj/item/weapon/W as obj, mob/user as mob)
+13 -13
View File
@@ -2,7 +2,7 @@
/mob/living/carbon/monkey
var/oxygen_alert = 0
var/toxins_alert = 0
var/phoron_alert = 0
var/fire_alert = 0
var/pressure_alert = 0
@@ -243,13 +243,13 @@
var/datum/gas_mixture/filtered = new
filtered.copy_from(breath)
filtered.toxins *= G.gas_filter_strength
filtered.phoron *= G.gas_filter_strength
for(var/datum/gas/gas in filtered.trace_gases)
gas.moles *= G.gas_filter_strength
filtered.update_values()
loc.assume_air(filtered)
breath.toxins *= 1 - G.gas_filter_strength
breath.phoron *= 1 - G.gas_filter_strength
for(var/datum/gas/gas in breath.trace_gases)
gas.moles *= 1 - G.gas_filter_strength
breath.update_values()
@@ -310,7 +310,7 @@
var/safe_oxygen_min = 16 // Minimum safe partial pressure of O2, in kPa
//var/safe_oxygen_max = 140 // Maximum safe partial pressure of O2, in kPa (Not used for now)
var/safe_co2_max = 10 // Yes it's an arbitrary value who cares?
var/safe_toxins_max = 0.5
var/safe_phoron_max = 0.5
var/SA_para_min = 0.5
var/SA_sleep_min = 5
var/oxygen_used = 0
@@ -318,8 +318,8 @@
//Partial pressure of the O2 in our breath
var/O2_pp = (breath.oxygen/breath.total_moles())*breath_pressure
// Same, but for the toxins
var/Toxins_pp = (breath.toxins/breath.total_moles())*breath_pressure
// Same, but for the phoron
var/Toxins_pp = (breath.phoron/breath.total_moles())*breath_pressure
// And CO2, lets say a PP of more than 10 will be bad (It's a little less really, but eh, being passed out all round aint no fun)
var/CO2_pp = (breath.carbon_dioxide/breath.total_moles())*breath_pressure
@@ -360,14 +360,14 @@
else
co2overloadtime = 0
if(Toxins_pp > safe_toxins_max) // Too much toxins
var/ratio = (breath.toxins/safe_toxins_max) * 10
if(Toxins_pp > safe_phoron_max) // Too much phoron
var/ratio = (breath.phoron/safe_phoron_max) * 10
//adjustToxLoss(Clamp(ratio, MIN_PLASMA_DAMAGE, MAX_PLASMA_DAMAGE)) //Limit amount of damage toxin exposure can do per second
if(reagents)
reagents.add_reagent("plasma", Clamp(ratio, MIN_PLASMA_DAMAGE, MAX_PLASMA_DAMAGE))
toxins_alert = max(toxins_alert, 1)
reagents.add_reagent("phoron", Clamp(ratio, MIN_PHORON_DAMAGE, MAX_PHORON_DAMAGE))
phoron_alert = max(phoron_alert, 1)
else
toxins_alert = 0
phoron_alert = 0
if(breath.trace_gases.len) // If there's some other shit in the air lets deal with it here.
for(var/datum/gas/sleeping_agent/SA in breath.trace_gases)
@@ -397,7 +397,7 @@
if(!environment)
return
if(abs(environment.temperature - 293.15) < 20 && abs(bodytemperature - 310.14) < 0.5 && environment.toxins < MOLES_PLASMA_VISIBLE)
if(abs(environment.temperature - 293.15) < 20 && abs(bodytemperature - 310.14) < 0.5 && environment.phoron < MOLES_PHORON_VISIBLE)
return // Temperatures are within normal ranges, fuck all this processing. ~Ccomp
var/environment_heat_capacity = environment.heat_capacity()
@@ -618,7 +618,7 @@
if(pullin) pullin.icon_state = "pull[pulling ? 1 : 0]"
if (toxin) toxin.icon_state = "tox[toxins_alert ? 1 : 0]"
if (toxin) toxin.icon_state = "tox[phoron_alert ? 1 : 0]"
if (oxygen) oxygen.icon_state = "oxy[oxygen_alert ? 1 : 0]"
if (fire) fire.icon_state = "fire[fire_alert ? 2 : 0]"
//NOTE: the alerts dont reset when youre out of danger. dont blame me,
+1 -1
View File
@@ -26,7 +26,7 @@
//Allows mobs to move through dense areas without restriction. For instance, in space or out of holder objects.
var/incorporeal_move = 0 //0 is off, 1 is normal, 2 is for ninjas.
var/t_plasma = null
var/t_phoron = null
var/t_oxygen = null
var/t_sl_gas = null
var/t_n2 = null
+1 -1
View File
@@ -84,7 +84,7 @@ var/list/department_radio_keys = list(
/mob/living/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/italics=0, var/message_range = world.view, var/list/used_radios = list())
var/turf/T = get_turf(src)
var/list/listening = list()
if(T)
+1 -1
View File
@@ -252,7 +252,7 @@
if(!C.status)
continue
else
if(C.network != "CREED" && C.network != "thunder" && C.network != "RD" && C.network != "toxins" && C.network != "Prison") COMPILE ERROR! This will have to be updated as camera.network is no longer a string, but a list instead
if(C.network != "CREED" && C.network != "thunder" && C.network != "RD" && C.network != "phoron" && C.network != "Prison") COMPILE ERROR! This will have to be updated as camera.network is no longer a string, but a list instead
cameralist[C.network] = C.network
src.network = input(usr, "Which network would you like to view?") as null|anything in cameralist
@@ -542,12 +542,12 @@
var/o2_level = environment.oxygen/total_moles
var/n2_level = environment.nitrogen/total_moles
var/co2_level = environment.carbon_dioxide/total_moles
var/plasma_level = environment.toxins/total_moles
var/unknown_level = 1-(o2_level+n2_level+co2_level+plasma_level)
var/phoron_level = environment.phoron/total_moles
var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level)
dat += "Nitrogen: [round(n2_level*100)]%<br>"
dat += "Oxygen: [round(o2_level*100)]%<br>"
dat += "Carbon Dioxide: [round(co2_level*100)]%<br>"
dat += "Plasma: [round(plasma_level*100)]%<br>"
dat += "Phoron: [round(phoron_level*100)]%<br>"
if(unknown_level > 0.01)
dat += "OTHER: [round(unknown_level)]%<br>"
dat += "Temperature: [round(environment.temperature-T0C)]&deg;C<br>"
@@ -128,7 +128,7 @@
/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)
construction_cost = list("metal"=10000,"phoron"=15000,"uranium" = 20000)
icon_state = "cyborg_upgrade3"
require_module = 1
@@ -258,8 +258,8 @@
if(spawnees & 128)
C = new(src.loc)
C.name = "Drone plasma overcharge counter"
C.origin_tech = "plasma=[rand(3,6)]"
C.name = "Drone phoron overcharge counter"
C.origin_tech = "phoron=[rand(3,6)]"
if(spawnees & 256)
C = new(src.loc)
@@ -23,9 +23,9 @@
var/stop_automated_movement_when_pulled = 1 //When set to 1 this stops the animal from moving when someone is pulling it.
//Interaction
var/response_help = "You try to help"
var/response_disarm = "You try to disarm"
var/response_harm = "You try to hurt"
var/response_help = "tries to help"
var/response_disarm = "tries to disarm"
var/response_harm = "tries to hurt"
var/harm_intent_damage = 3
//Temperature effect
@@ -34,7 +34,7 @@
var/heat_damage_per_tick = 3 //amount of damage applied if animal's body temperature is higher than maxbodytemp
var/cold_damage_per_tick = 2 //same as heat_damage_per_tick, only if the bodytemperature it's lower than minbodytemp
//Atmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage
//Atmos effect - Yes, you can make creatures that require phoron or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage
var/min_oxy = 5
var/max_oxy = 0 //Leaving something at 0 means it's off - has no maximum
var/min_tox = 0
@@ -154,7 +154,7 @@
if(istype(T,/turf/simulated))
var/turf/simulated/ST = T
if(ST.air)
var/tox = ST.air.toxins
var/tox = ST.air.phoron
var/oxy = ST.air.oxygen
var/n2 = ST.air.nitrogen
var/co2 = ST.air.carbon_dioxide
@@ -174,18 +174,18 @@
for(var/atom/movable/stomachContent in contents)
if(prob(digestionProbability))
if(istype(stomachContent,/obj/item/stack)) //converts to plasma, keeping the stack value
if(!istype(stomachContent,/obj/item/stack/sheet/mineral/plasma))
if(!istype(stomachContent,/obj/item/stack/sheet/mineral/phoron))
var/obj/item/stack/oldStack = stomachContent
new /obj/item/stack/sheet/mineral/plasma(src, oldStack.amount)
new /obj/item/stack/sheet/mineral/phoron(src, oldStack.amount)
del(oldStack)
continue
else if(istype(stomachContent,/obj/item)) //converts to plasma, keeping the w_class
var/obj/item/oldItem = stomachContent
new /obj/item/stack/sheet/mineral/plasma(src, oldItem.w_class)
new /obj/item/stack/sheet/mineral/phoron(src, oldItem.w_class)
del(oldItem)
continue
else
new /obj/item/stack/sheet/mineral/plasma(src, flatPlasmaValue) //just flat amount
new /obj/item/stack/sheet/mineral/phoron(src, flatPlasmaValue) //just flat amount
del(stomachContent)
continue
+1 -1
View File
@@ -25,7 +25,7 @@
t+= "\red Temperature: [environment.temperature] \n"
t+= "\blue Nitrogen: [environment.nitrogen] \n"
t+= "\blue Oxygen: [environment.oxygen] \n"
t+= "\blue Plasma : [environment.toxins] \n"
t+= "\blue Phoron : [environment.phoron] \n"
t+= "\blue Carbon Dioxide: [environment.carbon_dioxide] \n"
for(var/datum/gas/trace_gas in environment.trace_gases)
usr << "\blue [trace_gas.type]: [trace_gas.moles] \n"
+1 -1
View File
@@ -75,7 +75,7 @@
var/druggy = 0 //Carbon
var/confused = 0 //Carbon
var/antitoxs = null
var/plasma = null
var/phoron = null
var/sleeping = 0 //Carbon
var/resting = 0 //Carbon
var/lying = 0
@@ -379,7 +379,7 @@ datum/preferences
if(4)
clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY)
if(SCIENTIST)
clothes_s = new /icon('icons/mob/uniform.dmi', "toxinswhite_s")
clothes_s = new /icon('icons/mob/uniform.dmi', "sciencewhite_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox_open"), ICON_OVERLAY)
if(prob(1))
+1 -1
View File
@@ -131,7 +131,7 @@
owner.adjustToxLoss(0.1 * process_accuracy)
// Can't cope with toxins at all
for(var/toxin in list("toxin", "plasma", "sacid", "pacid", "cyanide", "lexorin", "amatoxin", "chloralhydrate", "carpotoxin", "zombiepowder", "mindbreaker"))
for(var/toxin in list("toxin", "phoron", "sacid", "pacid", "cyanide", "lexorin", "amatoxin", "chloralhydrate", "carpotoxin", "zombiepowder", "mindbreaker"))
if(owner.reagents.has_reagent(toxin))
owner.adjustToxLoss(0.3 * process_accuracy)
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -9,7 +9,7 @@ proc/cardinalrange(var/center)
/obj/machinery/am_shielding
name = "antimatter reactor section"
desc = "This device was built using a plasma life-form that seems to increase plasma's natural ability to react with neutrinos while reducing the combustibility."
desc = "This device was built using a phoron life-form that seems to increase phoron's natural ability to react with neutrinos while reducing the combustibility."
icon = 'icons/obj/machines/antimatter.dmi'
icon_state = "shield"
@@ -23,7 +23,7 @@ proc/cardinalrange(var/center)
var/obj/machinery/power/am_control_unit/control_unit = null
var/processing = 0//To track if we are in the update list or not, we need to be when we are damaged and if we ever
var/stability = 100//If this gets low bad things tend to happen
var/efficiency = 1//How many cores this core counts for when doing power processing, plasma in the air and stability could affect this
var/efficiency = 1//How many cores this core counts for when doing power processing, phoron in the air and stability could affect this
/obj/machinery/am_shielding/New(loc)
@@ -82,7 +82,7 @@ proc/cardinalrange(var/center)
/obj/machinery/am_shielding/process()
if(!processing) . = PROCESS_KILL
//TODO: core functions and stability
//TODO: think about checking the airmix for plasma and increasing power output
//TODO: think about checking the airmix for phoron and increasing power output
return
+3 -3
View File
@@ -77,12 +77,12 @@
user << "You inject the solution into the power cell."
if(S.reagents.has_reagent("plasma", 5))
if(S.reagents.has_reagent("phoron", 5))
rigged = 1
log_admin("LOG: [user.name] ([user.ckey]) injected a power cell with plasma, rigging it to explode.")
message_admins("LOG: [user.name] ([user.ckey]) injected a power cell with plasma, rigging it to explode.")
log_admin("LOG: [user.name] ([user.ckey]) injected a power cell with phoron, rigging it to explode.")
message_admins("LOG: [user.name] ([user.ckey]) injected a power cell with phoron, rigging it to explode.")
S.reagents.clear_reagents()
+4 -4
View File
@@ -712,7 +712,7 @@
// attack bulb/tube with object
// if a syringe, can inject plasma to make it explode
// if a syringe, can inject phoron to make it explode
/obj/item/weapon/light/attackby(var/obj/item/I, var/mob/user)
..()
if(istype(I, /obj/item/weapon/reagent_containers/syringe))
@@ -720,10 +720,10 @@
user << "You inject the solution into the [src]."
if(S.reagents.has_reagent("plasma", 5))
if(S.reagents.has_reagent("phoron", 5))
log_admin("LOG: [user.name] ([user.ckey]) injected a light with plasma, rigging it to explode.")
message_admins("LOG: [user.name] ([user.ckey]) injected a light with plasma, rigging it to explode.")
log_admin("LOG: [user.name] ([user.ckey]) injected a light with phoron, rigging it to explode.")
message_admins("LOG: [user.name] ([user.ckey]) injected a light with phoron, rigging it to explode.")
rigged = 1
+13 -13
View File
@@ -4,30 +4,30 @@
//Baseline portable generator. Has all the default handling. Not intended to be used on it's own (since it generates unlimited power).
/obj/machinery/power/port_gen/pacman2
name = "Pacman II"
desc = "P.A.C.M.A.N. type II portable generator. Uses liquid plasma as a fuel source."
desc = "P.A.C.M.A.N. type II portable generator. Uses liquid phoron as a fuel source."
power_gen = 4500
var/obj/item/weapon/tank/plasma/P = null
var/obj/item/weapon/tank/phoron/P = null
var/board_path = "/obj/item/weapon/circuitboard/pacman2"
var/emagged = 0
var/heat = 0
/*
process()
if(P)
if(P.air_contents.toxins <= 0)
P.air_contents.toxins = 0
if(P.air_contents.phoron <= 0)
P.air_contents.phoron = 0
eject()
else
P.air_contents.toxins -= 0.001
P.air_contents.phoron -= 0.001
return
*/
HasFuel()
if(P.air_contents.toxins >= 0.1)
if(P.air_contents.phoron >= 0.1)
return 1
return 0
UseFuel()
P.air_contents.toxins -= 0.01
P.air_contents.phoron -= 0.01
return
New()
@@ -56,7 +56,7 @@
examine()
..()
usr << "\blue The generator has [P.air_contents.toxins] units of fuel left, producing [power_gen] per cycle."
usr << "\blue The generator has [P.air_contents.phoron] units of fuel left, producing [power_gen] per cycle."
if(crit_fail) usr << "\red The generator seems to have broken down."
handleInactive()
@@ -73,14 +73,14 @@
explosion(get_turf(src), 2, 5, 2, -1)
attackby(var/obj/item/O as obj, var/mob/user as mob)
if(istype(O, /obj/item/weapon/tank/plasma))
if(istype(O, /obj/item/weapon/tank/phoron))
if(P)
user << "\red The generator already has a plasma tank loaded!"
user << "\red The generator already has a phoron tank loaded!"
return
P = O
user.drop_item()
O.loc = src
user << "\blue You add the plasma tank to the generator."
user << "\blue You add the phoron tank to the generator."
else if (istype(O, /obj/item/weapon/card/emag))
var/obj/item/weapon/card/emag/E = O
if(E.uses)
@@ -144,9 +144,9 @@
else
dat += text("Generator: <A href='?src=\ref[src];action=enable'>Off</A><br>")
if(P)
dat += text("Currently loaded plasma tank: [P.air_contents.toxins]<br>")
dat += text("Currently loaded phoron tank: [P.air_contents.phoron]<br>")
else
dat += text("No plasma tank currently loaded.<br>")
dat += text("No phoron tank currently loaded.<br>")
dat += text("Power output: <A href='?src=\ref[src];action=lower_power'>-</A> [power_gen * power_output] <A href='?src=\ref[src];action=higher_power'>+</A><br>")
dat += text("Heat: [heat]<br>")
dat += "<br><A href='?src=\ref[src];action=close'>Close</A>"
+2 -2
View File
@@ -33,7 +33,7 @@ tank [un]loading stuff
turn on/off
/obj/machinery/power/port_gen/examine()
display round(lastgen) and plasmatank amount
display round(lastgen) and phorontank amount
*/
@@ -98,7 +98,7 @@ display round(lastgen) and plasmatank amount
var/sheets = 0
var/max_sheets = 100
var/sheet_name = ""
var/sheet_path = /obj/item/stack/sheet/mineral/plasma
var/sheet_path = /obj/item/stack/sheet/mineral/phoron
var/board_path = "/obj/item/weapon/circuitboard/pacman"
var/sheet_left = 0 // How much is left of the sheet
var/time_per_sheet = 40
+10 -10
View File
@@ -3,7 +3,7 @@ var/global/list/rad_collectors = list()
/obj/machinery/power/rad_collector
name = "Radiation Collector Array"
desc = "A device which uses Hawking Radiation and plasma to produce power."
desc = "A device which uses Hawking Radiation and phoron to produce power."
icon = 'icons/obj/singularity.dmi'
icon_state = "ca"
anchored = 0
@@ -11,7 +11,7 @@ var/global/list/rad_collectors = list()
directwired = 1
req_access = list(access_engine_equip)
// use_power = 0
var/obj/item/weapon/tank/plasma/P = null
var/obj/item/weapon/tank/phoron/P = null
var/last_power = 0
var/active = 0
var/locked = 0
@@ -27,9 +27,9 @@ var/global/list/rad_collectors = list()
/obj/machinery/power/rad_collector/process()
if(P)
if(P.air_contents.toxins <= 0)
if(P.air_contents.phoron <= 0)
investigate_log("<font color='red'>out of fuel</font>.","singulo")
P.air_contents.toxins = 0
P.air_contents.phoron = 0
eject()
else
P.air_contents.adjust(tx = -0.001*drainratio)
@@ -42,7 +42,7 @@ var/global/list/rad_collectors = list()
toggle_power()
user.visible_message("[user.name] turns the [src.name] [active? "on":"off"].", \
"You turn the [src.name] [active? "on":"off"].")
investigate_log("turned [active?"<font color='green'>on</font>":"<font color='red'>off</font>"] by [user.key]. [P?"Fuel: [round(P.air_contents.toxins/0.29)]%":"<font color='red'>It is empty</font>"].","singulo")
investigate_log("turned [active?"<font color='green'>on</font>":"<font color='red'>off</font>"] by [user.key]. [P?"Fuel: [round(P.air_contents.phoron/0.29)]%":"<font color='red'>It is empty</font>"].","singulo")
return
else
user << "\red The controls are locked!"
@@ -54,12 +54,12 @@ var/global/list/rad_collectors = list()
if(istype(W, /obj/item/device/analyzer))
user << "\blue The [W.name] detects that [last_power]W were recently produced."
return 1
else if(istype(W, /obj/item/weapon/tank/plasma))
else if(istype(W, /obj/item/weapon/tank/phoron))
if(!src.anchored)
user << "\red The [src] needs to be secured to the floor first."
return 1
if(src.P)
user << "\red There's already a plasma tank loaded."
user << "\red There's already a phoron tank loaded."
return 1
user.drop_item()
src.P = W
@@ -71,7 +71,7 @@ var/global/list/rad_collectors = list()
return 1
else if(istype(W, /obj/item/weapon/wrench))
if(P)
user << "\blue Remove the plasma tank first."
user << "\blue Remove the phoron tank first."
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
src.anchored = !src.anchored
@@ -107,7 +107,7 @@ var/global/list/rad_collectors = list()
/obj/machinery/power/rad_collector/proc/eject()
locked = 0
var/obj/item/weapon/tank/plasma/Z = src.P
var/obj/item/weapon/tank/phoron/Z = src.P
if (!Z)
return
Z.loc = get_turf(src)
@@ -121,7 +121,7 @@ var/global/list/rad_collectors = list()
/obj/machinery/power/rad_collector/proc/receive_pulse(var/pulse_strength)
if(P && active)
var/power_produced = 0
power_produced = P.air_contents.toxins*pulse_strength*20
power_produced = P.air_contents.phoron*pulse_strength*20
add_avail(power_produced)
last_power = power_produced
return
+1 -1
View File
@@ -2,7 +2,7 @@
/obj/machinery/power/emitter
name = "Emitter"
desc = "A heavy duty industrial laser"
desc = "It is a heavy duty industrial laser."
icon = 'icons/obj/singularity.dmi'
icon_state = "emitter"
anchored = 0
+1 -1
View File
@@ -534,4 +534,4 @@ var/list/solars_list = list()
/obj/item/weapon/paper/solar
name = "paper- 'Going green! Setup your own solar array instructions.'"
info = "<h1>Welcome</h1><p>At greencorps we love the environment, and space. With this package you are able to help mother nature and produce energy without any usage of fossil fuel or plasma! Singularity energy is dangerous while solar energy is safe, which is why it's better. Now here is how you setup your own solar array.</p><p>You can make a solar panel by wrenching the solar assembly onto a cable node. Adding a glass panel, reinforced or regular glass will do, will finish the construction of your solar panel. It is that easy!.</p><p>Now after setting up 19 more of these solar panels you will want to create a solar tracker to keep track of our mother nature's gift, the sun. These are the same steps as before except you insert the tracker equipment circuit into the assembly before performing the final step of adding the glass. You now have a tracker! Now the last step is to add a computer to calculate the sun's movements and to send commands to the solar panels to change direction with the sun. Setting up the solar computer is the same as setting up any computer, so you should have no trouble in doing that. You do need to put a wire node under the computer, and the wire needs to be connected to the tracker.</p><p>Congratulations, you should have a working solar array. If you are having trouble, here are some tips. Make sure all solar equipment are on a cable node, even the computer. You can always deconstruct your creations if you make a mistake.</p><p>That's all to it, be safe, be green!</p>"
info = "<h1>Welcome</h1><p>At greencorps we love the environment, and space. With this package you are able to help mother nature and produce energy without any usage of fossil fuel or phoron! Singularity energy is dangerous while solar energy is safe, which is why it's better. Now here is how you setup your own solar array.</p><p>You can make a solar panel by wrenching the solar assembly onto a cable node. Adding a glass panel, reinforced or regular glass will do, will finish the construction of your solar panel. It is that easy!.</p><p>Now after setting up 19 more of these solar panels you will want to create a solar tracker to keep track of our mother nature's gift, the sun. These are the same steps as before except you insert the tracker equipment circuit into the assembly before performing the final step of adding the glass. You now have a tracker! Now the last step is to add a computer to calculate the sun's movements and to send commands to the solar panels to change direction with the sun. Setting up the solar computer is the same as setting up any computer, so you should have no trouble in doing that. You do need to put a wire node under the computer, and the wire needs to be connected to the tracker.</p><p>Congratulations, you should have a working solar array. If you are having trouble, here are some tips. Make sure all solar equipment are on a cable node, even the computer. You can always deconstruct your creations if you make a mistake.</p><p>That's all to it, be safe, be green!</p>"
@@ -196,13 +196,13 @@ obj/item/weapon/gun/energy/staff/focus
*/
/obj/item/weapon/gun/energy/toxgun
name = "plasma pistol"
desc = "A specialized firearm designed to fire lethal bolts of toxins."
name = "phoron pistol"
desc = "A specialized firearm designed to fire lethal bolts of phoron."
icon_state = "toxgun"
fire_sound = 'sound/effects/stealthoff.ogg'
w_class = 3.0
origin_tech = "combat=5;plasmatech=4"
projectile_type = "/obj/item/projectile/energy/plasma"
origin_tech = "combat=5;phorontech=4"
projectile_type = "/obj/item/projectile/energy/phoron"
/obj/item/weapon/gun/energy/sniperrifle
name = "L.W.A.P. Sniper Rifle"
@@ -43,7 +43,7 @@
damage = 10
damage_type = TOX
nodamage = 0
weaken = 10
agony = 40
stutter = 10
@@ -59,8 +59,8 @@
damage_type = TOX
weaken = 5
/obj/item/projectile/energy/plasma
name = "plasma bolt"
/obj/item/projectile/energy/phoron
name = "phoron bolt"
icon_state = "energy"
damage = 20
damage_type = TOX
+1 -1
View File
@@ -27,7 +27,7 @@ datum
//Chemical Reactions - Initialises all /datum/chemical_reaction into a list
// It is filtered into multiple lists within a list.
// For example:
// chemical_reaction_list["plasma"] is a list of all reactions relating to plasma
// chemical_reaction_list["phoron"] is a list of all reactions relating to phoron
var/paths = typesof(/datum/chemical_reaction) - /datum/chemical_reaction
chemical_reactions_list = list()
+2 -2
View File
@@ -63,7 +63,7 @@
options[/obj/item/weapon/stock_parts/matter_bin/adv] = "Give it an advanced matter bin to fix it."
options[/obj/item/stack/sheet/mineral/diamond] = "Line up a cut diamond with the nozzle to fix it."
options[/obj/item/stack/sheet/mineral/uranium] = "Position a uranium sheet inside to fix it."
options[/obj/item/stack/sheet/mineral/plasma] = "Enter a block of plasma to fix it."
options[/obj/item/stack/sheet/mineral/phoron] = "Enter a block of phoron to fix it."
options[/obj/item/stack/sheet/mineral/silver] = "Cover the internals with a silver lining to fix it."
options[/obj/item/stack/sheet/mineral/gold] = "Wire a golden filament to fix it."
options[/obj/item/stack/sheet/plasteel] = "Surround the outside with a plasteel cover to fix it."
@@ -890,7 +890,7 @@
var/list/blend_items = list (
//Sheets
/obj/item/stack/sheet/mineral/plasma = list("plasma" = 20),
/obj/item/stack/sheet/mineral/phoron = list("phoron" = 20),
/obj/item/stack/sheet/mineral/uranium = list("uranium" = 20),
/obj/item/stack/sheet/mineral/clown = list("banana" = 20),
/obj/item/stack/sheet/mineral/silver = list("silver" = 20),
+4 -4
View File
@@ -1543,10 +1543,10 @@ datum
..()
return
toxin/plasma
name = "Plasma"
id = "plasma"
description = "Plasma in its liquid form."
toxin/phoron
name = "Phoron"
id = "phoron"
description = "Phoron in its liquid form."
reagent_state = LIQUID
color = "#E71B00" // rgb: 231, 27, 0
toxpwr = 3
+40 -40
View File
@@ -117,7 +117,7 @@ datum
id = "oxycodone"
result = "oxycodone"
required_reagents = list("ethanol" = 1, "tramadol" = 1)
required_catalysts = list("plasma" = 1)
required_catalysts = list("phoron" = 1)
result_amount = 1
//cyanide
@@ -145,7 +145,7 @@ datum
name = "Lexorin"
id = "lexorin"
result = "lexorin"
required_reagents = list("plasma" = 1, "hydrogen" = 1, "nitrogen" = 1)
required_reagents = list("phoron" = 1, "hydrogen" = 1, "nitrogen" = 1)
result_amount = 3
space_drugs
@@ -209,7 +209,7 @@ datum
id = "peridaxon"
result = "peridaxon"
required_reagents = list("bicaridine" = 2, "clonexadone" = 2)
required_catalysts = list("plasma" = 5)
required_catalysts = list("phoron" = 5)
result_amount = 2
virus_food
@@ -224,7 +224,7 @@ datum
id = "leporazine"
result = "leporazine"
required_reagents = list("silicon" = 1, "copper" = 1)
required_catalysts = list("plasma" = 5)
required_catalysts = list("phoron" = 5)
result_amount = 2
cryptobiolin
@@ -252,8 +252,8 @@ datum
name = "Dexalin"
id = "dexalin"
result = "dexalin"
required_reagents = list("oxygen" = 2, "plasma" = 0.1)
required_catalysts = list("plasma" = 5)
required_reagents = list("oxygen" = 2, "phoron" = 0.1)
required_catalysts = list("phoron" = 5)
result_amount = 1
dermaline
@@ -302,8 +302,8 @@ datum
name = "Clonexadone"
id = "clonexadone"
result = "clonexadone"
required_reagents = list("cryoxadone" = 1, "sodium" = 1, "plasma" = 0.1)
required_catalysts = list("plasma" = 5)
required_reagents = list("cryoxadone" = 1, "sodium" = 1, "phoron" = 0.1)
required_catalysts = list("phoron" = 5)
result_amount = 2
spaceacillin
@@ -401,7 +401,7 @@ datum
name = "Napalm"
id = "napalm"
result = null
required_reagents = list("aluminum" = 1, "plasma" = 1, "sacid" = 1 )
required_reagents = list("aluminum" = 1, "phoron" = 1, "sacid" = 1 )
result_amount = 1
on_reaction(var/datum/reagents/holder, var/created_volume)
var/turf/location = get_turf(holder.my_atom.loc)
@@ -483,7 +483,7 @@ datum
name = "Potassium Chlorophoride"
id = "potassium_chlorophoride"
result = "potassium_chlorophoride"
required_reagents = list("potassium_chloride" = 1, "plasma" = 1, "chloralhydrate" = 1)
required_reagents = list("potassium_chloride" = 1, "phoron" = 1, "chloralhydrate" = 1)
result_amount = 4
stoxin
@@ -521,15 +521,15 @@ datum
required_reagents = list("sodiumchloride" = 1, "ethanol" = 1, "radium" = 1)
result_amount = 3
plasmasolidification
name = "Solid Plasma"
id = "solidplasma"
phoronsolidification
name = "Solid Phoron"
id = "solidphoron"
result = null
required_reagents = list("iron" = 5, "frostoil" = 5, "plasma" = 20)
required_reagents = list("iron" = 5, "frostoil" = 5, "phoron" = 20)
result_amount = 1
on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
new /obj/item/stack/sheet/mineral/plasma(location)
new /obj/item/stack/sheet/mineral/phoron(location)
return
plastication
@@ -592,7 +592,7 @@ datum
id = "condensedcapsaicin"
result = "condensedcapsaicin"
required_reagents = list("capsaicin" = 2)
required_catalysts = list("plasma" = 5)
required_catalysts = list("phoron" = 5)
result_amount = 1
///////////////////////////////////////////////////////////////////////////////////
@@ -1004,13 +1004,13 @@ datum
name = "Slime Spawn"
id = "m_spawn"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/grey
required_other = 1
on_reaction(var/datum/reagents/holder)
for(var/mob/O in viewers(get_turf_loc(holder.my_atom), null))
O.show_message(text("\red Infused with plasma, the core begins to quiver and grow, and soon a new baby slime emerges from it!"), 1)
O.show_message(text("\red Infused with phoron, the core begins to quiver and grow, and soon a new baby slime emerges from it!"), 1)
var/mob/living/carbon/slime/S = new /mob/living/carbon/slime
S.loc = get_turf_loc(holder.my_atom)
@@ -1033,7 +1033,7 @@ datum
name = "Mutation Toxin"
id = "mutationtoxin"
result = "mutationtoxin"
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_other = 1
required_container = /obj/item/slime_extract/green
@@ -1043,7 +1043,7 @@ datum
name = "Slime Metal"
id = "m_metal"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/metal
required_other = 1
@@ -1060,7 +1060,7 @@ datum
name = "Slime Crit"
id = "m_tele"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/gold
required_other = 1
@@ -1107,7 +1107,7 @@ datum
name = "Slime Bork"
id = "m_tele2"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/silver
required_other = 1
@@ -1137,7 +1137,7 @@ datum
name = "Slime Frost Oil"
id = "m_frostoil"
result = "frostoil"
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 10
required_container = /obj/item/slime_extract/blue
required_other = 1
@@ -1146,7 +1146,7 @@ datum
name = "Slime Freeze"
id = "m_freeze"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/darkblue
required_other = 1
@@ -1173,7 +1173,7 @@ datum
name = "Slime fire"
id = "m_fire"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/orange
required_other = 1
@@ -1186,7 +1186,7 @@ datum
var/datum/gas_mixture/napalm = new
napalm.toxins = 25
napalm.phoron = 25
napalm.temperature = 1400
target_tile.assume_air(napalm)
@@ -1209,7 +1209,7 @@ datum
name = "Slime Powercell"
id = "m_cell"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/yellow
required_other = 1
@@ -1236,7 +1236,7 @@ datum
name = "Slime Steroid"
id = "m_steroid"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/purple
required_other = 1
@@ -1261,12 +1261,12 @@ datum
name = "Slime Plasma"
id = "m_plasma"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/darkpurple
required_other = 1
on_reaction(var/datum/reagents/holder)
var/obj/item/stack/sheet/mineral/plasma/P = new /obj/item/stack/sheet/mineral/plasma
var/obj/item/stack/sheet/mineral/phoron/P = new /obj/item/stack/sheet/mineral/phoron
P.amount = 10
P.loc = get_turf_loc(holder.my_atom)
@@ -1275,7 +1275,7 @@ datum
name = "Slime Glycerol"
id = "m_glycerol"
result = "glycerol"
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 8
required_container = /obj/item/slime_extract/red
required_other = 1
@@ -1301,7 +1301,7 @@ datum
name = "Slime Potion"
id = "m_potion"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/pink
required_other = 1
@@ -1315,7 +1315,7 @@ datum
name = "Advanced Mutation Toxin"
id = "mutationtoxin2"
result = "amutationtoxin"
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_other = 1
required_container = /obj/item/slime_extract/black
@@ -1325,7 +1325,7 @@ datum
name = "Slime Explosion"
id = "m_explosion"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/oil
required_other = 1
@@ -1341,7 +1341,7 @@ datum
result = null
result_amount = 1
required_container = /obj/item/slime_extract/lightpink
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
required_other = 1
on_reaction(var/datum/reagents/holder)
var/obj/item/weapon/slimepotion2/P = new /obj/item/weapon/slimepotion2
@@ -1351,7 +1351,7 @@ datum
name = "Slime Golem"
id = "m_golem"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("phoron" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/adamantine
required_other = 1
@@ -1651,11 +1651,11 @@ datum
required_reagents = list("tequilla" = 2, "orangejuice" = 1)
result_amount = 3
toxins_special
phoron_special
name = "Toxins Special"
id = "toxinsspecial"
result = "toxinsspecial"
required_reagents = list("rum" = 2, "vermouth" = 1, "plasma" = 2)
id = "phoronspecial"
result = "phoronspecial"
required_reagents = list("rum" = 2, "vermouth" = 1, "phoron" = 2)
result_amount = 5
beepsky_smash
@@ -158,8 +158,8 @@
icon_state = "tequillasunriseglass"
name = "Tequilla Sunrise"
desc = "Oh great, now you feel nostalgic about sunrises back on Terra..."
if("toxinsspecial")
icon_state = "toxinsspecialglass"
if("phoronspecial")
icon_state = "phoronspecialglass"
name = "Toxins Special"
desc = "Whoah, this thing is on FIRE"
if("beepskysmash")
@@ -382,7 +382,7 @@
if(4)
reagents.add_reagent("sprinkles", 3)
if(5)
reagents.add_reagent("plasma", 3)
reagents.add_reagent("phoron", 3)
if(6)
reagents.add_reagent("coco", 3)
if(7)
@@ -1227,7 +1227,7 @@
bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/spagetti
name = "Spagetti"
name = "Spaghetti"
desc = "A bundle of raw spaghetti."
icon_state = "spagetti"
filling_color = "#EDDD00"
@@ -1807,7 +1807,7 @@
bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/boiledspagetti
name = "Boiled Spagetti"
name = "Boiled Spaghetti"
desc = "A plain dish of noodles, this sucks."
icon_state = "spagettiboiled"
trash = /obj/item/trash/plate
@@ -1843,7 +1843,7 @@
bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/pastatomato
name = "Spagetti"
name = "Spaghetti"
desc = "Spaghetti and crushed tomatoes. Just like your abusive father used to make!"
icon_state = "pastatomato"
trash = /obj/item/trash/plate
@@ -1856,7 +1856,7 @@
bitesize = 4
/obj/item/weapon/reagent_containers/food/snacks/meatballspagetti
name = "Spagetti & Meatballs"
name = "Spaghetti & Meatballs"
desc = "Now thats a nic'e meatball!"
icon_state = "meatballspagetti"
trash = /obj/item/trash/plate
+15 -1
View File
@@ -118,6 +118,8 @@
user.visible_message("[user] wrenches [src]'s faucet [modded ? "closed" : "open"].", \
"You wrench [src]'s faucet [modded ? "closed" : "open"]")
modded = modded ? 0 : 1
if (modded)
leak_fuel(amount_per_transfer_from_this)
if (istype(W,/obj/item/device/assembly_holder))
if (rig)
user << "\red There is another device in the way."
@@ -168,6 +170,18 @@
if(temperature > T0C+500)
explode()
return ..()
/obj/structure/reagent_dispensers/fueltank/Move()
if (..() && modded)
leak_fuel(amount_per_transfer_from_this/10.0)
/obj/structure/reagent_dispensers/fueltank/proc/leak_fuel(amount)
if (reagents.total_volume == 0)
return
amount = min(amount, reagents.total_volume)
reagents.remove_reagent("fuel",amount)
new /obj/effect/decal/cleanable/liquid_fuel(src.loc, amount)
/obj/structure/reagent_dispensers/peppertank
name = "Pepper Spray Refiller"
@@ -184,7 +198,7 @@
/obj/structure/reagent_dispensers/water_cooler
name = "Water-Cooler"
desc = "A machine that dispenses water to drink"
desc = "A machine that dispenses water to drink."
amount_per_transfer_from_this = 5
icon = 'icons/obj/vending.dmi'
icon_state = "water_cooler"
+22 -22
View File
@@ -11,7 +11,7 @@ they are simply references used as part of a "has materials?" type proc. They al
The currently supporting non-reagent materials:
- $metal (/obj/item/stack/metal). One sheet = 3750 units.
- $glass (/obj/item/stack/glass). One sheet = 3750 units.
- $plasma (/obj/item/stack/plasma). One sheet = 3750 units.
- $phoron (/obj/item/stack/phoron). One sheet = 3750 units.
- $silver (/obj/item/stack/silver). One sheet = 3750 units.
- $gold (/obj/item/stack/gold). One sheet = 3750 units.
- $uranium (/obj/item/stack/uranium). One sheet = 3750 units.
@@ -24,7 +24,7 @@ Don't add new keyword/IDs if they are made from an existing one (such as rods wh
Design Guidlines
- The reliability formula for all R&D built items is reliability_base (a fixed number) + total tech levels required to make it +
reliability_mod (starts at 0, gets improved through experimentation). Example: PACMAN generator. 79 base reliablity + 6 tech
(3 plasmatech, 3 powerstorage) + 0 (since it's completely new) = 85% reliability. Reliability is the chance it works CORRECTLY.
(3 phorontech, 3 powerstorage) + 0 (since it's completely new) = 85% reliability. Reliability is the chance it works CORRECTLY.
- When adding new designs, check rdreadme.dm to see what kind of things have already been made and where new stuff is needed.
- A single sheet of anything is 3750 units of material. Materials besides metal/glass require help from other jobs (mining for
other types of metals and chemistry for reagents).
@@ -585,7 +585,7 @@ datum/design/posibrain
req_tech = list("engineering" = 4, "materials" = 6, "bluespace" = 2, "programming" = 4)
build_type = PROTOLATHE
materials = list("$metal" = 2000, "$glass" = 1000, "$silver" = 1000, "$gold" = 500, "$plasma" = 500, "$diamond" = 100)
materials = list("$metal" = 2000, "$glass" = 1000, "$silver" = 1000, "$gold" = 500, "$phoron" = 500, "$diamond" = 100)
build_path = "/obj/item/device/mmi/posibrain"
///////////////////////////////////
@@ -803,13 +803,13 @@ datum/design/mech_repair_droid
build_path = "/obj/item/mecha_parts/mecha_equipment/repair_droid"
category = "Exosuit Equipment"
datum/design/mech_plasma_generator
name = "Exosuit Module Design (Plasma Converter Module)"
desc = "Exosuit-mounted plasma converter."
id = "mech_plasma_generator"
datum/design/mech_phoron_generator
name = "Exosuit Module Design (Phoron Generator Module)"
desc = "Exosuit-mounted phoron generator."
id = "mech_phoron_generator"
build_type = MECHFAB
req_tech = list("plasmatech" = 2, "powerstorage"= 2, "engineering" = 2)
build_path = "/obj/item/mecha_parts/mecha_equipment/plasma_generator"
req_tech = list("phorontech" = 2, "powerstorage"= 2, "engineering" = 2)
build_path = "/obj/item/mecha_parts/mecha_equipment/phoron_generator"
category = "Exosuit Equipment"
datum/design/mech_energy_relay
@@ -1228,7 +1228,7 @@ datum/design/pacman
name = "PACMAN-type Generator Board"
desc = "The circuit board that for a PACMAN-type portable generator."
id = "pacman"
req_tech = list("programming" = 3, "plasmatech" = 3, "powerstorage" = 3, "engineering" = 3)
req_tech = list("programming" = 3, "phorontech" = 3, "powerstorage" = 3, "engineering" = 3)
build_type = IMPRINTER
reliability_base = 79
materials = list("$glass" = 2000, "sacid" = 20)
@@ -1384,7 +1384,7 @@ datum/design/bluespacebeaker
id = "bluespacebeaker"
req_tech = list("bluespace" = 2, "materials" = 6)
build_type = PROTOLATHE
materials = list("$metal" = 3000, "$plasma" = 3000, "$diamond" = 500)
materials = list("$metal" = 3000, "$phoron" = 3000, "$diamond" = 500)
reliability_base = 76
build_path = "/obj/item/weapon/reagent_containers/glass/beaker/bluespace"
@@ -1565,13 +1565,13 @@ datum/design/stunshell
materials = list("$metal" = 4000)
build_path = "/obj/item/ammo_casing/shotgun/stunshell"
datum/design/plasmapistol
name = "plasma pistol"
desc = "A specialized firearm designed to fire lethal bolts of toxins."
datum/design/phoronpistol
name = "phoron pistol"
desc = "A specialized firearm designed to fire lethal bolts of phoron."
id = "ppistol"
req_tech = list("combat" = 5, "plasmatech" = 4)
req_tech = list("combat" = 5, "phorontech" = 4)
build_type = PROTOLATHE
materials = list("$metal" = 5000, "$glass" = 1000, "$plasma" = 3000)
materials = list("$metal" = 5000, "$glass" = 1000, "$phoron" = 3000)
build_path = "/obj/item/weapon/gun/energy/toxgun"
/////////////////////////////////////////
/////////////////Mining//////////////////
@@ -1599,9 +1599,9 @@ datum/design/plasmacutter
name = "Plasma Cutter"
desc = "You could use it to cut limbs off of xenos! Or, you know, mine stuff."
id = "plasmacutter"
req_tech = list("materials" = 4, "plasmatech" = 3, "engineering" = 3)
req_tech = list("materials" = 4, "phorontech" = 3, "engineering" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 1500, "$glass" = 500, "$gold" = 500, "$plasma" = 500)
materials = list("$metal" = 1500, "$glass" = 500, "$gold" = 500, "$phoron" = 500)
reliability_base = 79
build_path = "/obj/item/weapon/pickaxe/plasmacutter"
@@ -1662,7 +1662,7 @@ datum/design/bluespace_crystal
id = "bluespace_crystal"
req_tech = list("bluespace" = 5, "materials" = 7)
build_type = PROTOLATHE
materials = list("$gold" = 1500, "$diamond" = 3000, "$plasma" = 1500)
materials = list("$gold" = 1500, "$diamond" = 3000, "$phoron" = 1500)
reliability_base = 100
build_path = "/obj/item/bluespace_crystal/artificial"
@@ -1830,14 +1830,14 @@ datum/design/cart_mime
build_path = "/obj/item/weapon/cartridge/mime"
*/
datum/design/cart_toxins
datum/design/cart_science
name = "Signal Ace 2 Cartridge"
desc = "A data cartridge for portable microcomputers."
id = "cart_toxins"
id = "cart_science"
req_tech = list("engineering" = 2, "powerstorage" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 50, "$glass" = 50)
build_path = "/obj/item/weapon/cartridge/toxins"
build_path = "/obj/item/weapon/cartridge/science"
datum/design/cart_quartermaster
name = "Space Parts & Space Vendors Cartridge"
desc = "A data cartridge for portable microcomputers."
@@ -110,4 +110,4 @@ Note: Must be placed within 3 tiles of the R&D Console
icon_state = "d20"
g_amt = 5000
m_amt = 5000
origin_tech = "materials=5;plasmatech=5;syndicate=5;programming=9"*/
origin_tech = "materials=5;phorontech=5;syndicate=5;programming=9"*/
+7 -7
View File
@@ -17,7 +17,7 @@ Note: Must be placed west/left of and R&D console to function.
var/g_amount = 0.0
var/gold_amount = 0.0
var/silver_amount = 0.0
var/plasma_amount = 0.0
var/phoron_amount = 0.0
var/uranium_amount = 0.0
var/diamond_amount = 0.0
var/clown_amount = 0.0
@@ -37,7 +37,7 @@ Note: Must be placed west/left of and R&D console to function.
RefreshParts()
/obj/machinery/r_n_d/protolathe/proc/TotalMaterials() //returns the total of all the stored materials. Makes code neater.
return m_amount + g_amount + gold_amount + silver_amount + plasma_amount + uranium_amount + diamond_amount + clown_amount
return m_amount + g_amount + gold_amount + silver_amount + phoron_amount + uranium_amount + diamond_amount + clown_amount
/obj/machinery/r_n_d/protolathe/RefreshParts()
var/T = 0
@@ -87,9 +87,9 @@ Note: Must be placed west/left of and R&D console to function.
if(g_amount >= 3750)
var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc)
G.amount = round(g_amount / G.perunit)
if(plasma_amount >= 2000)
var/obj/item/stack/sheet/mineral/plasma/G = new /obj/item/stack/sheet/mineral/plasma(src.loc)
G.amount = round(plasma_amount / G.perunit)
if(phoron_amount >= 2000)
var/obj/item/stack/sheet/mineral/phoron/G = new /obj/item/stack/sheet/mineral/phoron(src.loc)
G.amount = round(phoron_amount / G.perunit)
if(silver_amount >= 2000)
var/obj/item/stack/sheet/mineral/silver/G = new /obj/item/stack/sheet/mineral/silver(src.loc)
G.amount = round(silver_amount / G.perunit)
@@ -166,8 +166,8 @@ Note: Must be placed west/left of and R&D console to function.
gold_amount += amount * 2000
if(/obj/item/stack/sheet/mineral/silver)
silver_amount += amount * 2000
if(/obj/item/stack/sheet/mineral/plasma)
plasma_amount += amount * 2000
if(/obj/item/stack/sheet/mineral/phoron)
phoron_amount += amount * 2000
if(/obj/item/stack/sheet/mineral/uranium)
uranium_amount += amount * 2000
if(/obj/item/stack/sheet/mineral/diamond)
+4 -4
View File
@@ -34,7 +34,7 @@ When thinking about new stuff, check here to see if there are any slots unfilled
//MATERIALS
1 | Metal
2 | Solid Plasma
2 | Solid Phoron
3 | Silver
4 | Gold, Super Capacitor
5 | Uranium, Nuclear Gun, SUPERPACMAN
@@ -54,9 +54,9 @@ When thinking about new stuff, check here to see if there are any slots unfilled
19 |
20 |
//PLASMA TECH
//PHORON TECH
1 |
2 | Solid Plasma
2 | Solid Phoron
3 | Pacman Generator
4 |
5 |
@@ -121,7 +121,7 @@ When thinking about new stuff, check here to see if there are any slots unfilled
20 |
//BIOTECH
1 | Bruise Pack, Scalple
1 | Bruise Pack, Scalpel
2 | PANDEMIC Board, Mass Spectrometer
3 | AI Core, Brains (MMI)
4 | MMI+Radio
+14 -14
View File
@@ -77,8 +77,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
return_name = "Gold"
if("silver")
return_name = "Silver"
if("plasma")
return_name = "Solid Plasma"
if("phoron")
return_name = "Solid Phoron"
if("uranium")
return_name = "Uranium"
if("diamond")
@@ -377,8 +377,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
linked_lathe.gold_amount = max(0, (linked_lathe.gold_amount-being_built.materials[M]))
if("$silver")
linked_lathe.silver_amount = max(0, (linked_lathe.silver_amount-being_built.materials[M]))
if("$plasma")
linked_lathe.plasma_amount = max(0, (linked_lathe.plasma_amount-being_built.materials[M]))
if("$phoron")
linked_lathe.phoron_amount = max(0, (linked_lathe.phoron_amount-being_built.materials[M]))
if("$uranium")
linked_lathe.uranium_amount = max(0, (linked_lathe.uranium_amount-being_built.materials[M]))
if("$diamond")
@@ -469,9 +469,9 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if("silver")
type = /obj/item/stack/sheet/mineral/silver
res_amount = "silver_amount"
if("plasma")
type = /obj/item/stack/sheet/mineral/plasma
res_amount = "plasma_amount"
if("phoron")
type = /obj/item/stack/sheet/mineral/phoron
res_amount = "phoron_amount"
if("uranium")
type = /obj/item/stack/sheet/mineral/uranium
res_amount = "uranium_amount"
@@ -739,8 +739,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(D.materials[M] > linked_lathe.gold_amount) check_materials = 0
if("$silver")
if(D.materials[M] > linked_lathe.silver_amount) check_materials = 0
if("$plasma")
if(D.materials[M] > linked_lathe.plasma_amount) check_materials = 0
if("$phoron")
if(D.materials[M] > linked_lathe.phoron_amount) check_materials = 0
if("$uranium")
if(D.materials[M] > linked_lathe.uranium_amount) check_materials = 0
if("$diamond")
@@ -786,12 +786,12 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(linked_lathe.silver_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.silver_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
dat += "<BR>"
//Plasma
dat += "* [linked_lathe.plasma_amount] cm<sup>3</sup> of Solid Plasma || "
//Phoron
dat += "* [linked_lathe.phoron_amount] cm<sup>3</sup> of Solid Phoron || "
dat += "Eject: "
if(linked_lathe.plasma_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasma;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.plasma_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasma;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.plasma_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasmalathe_ejectsheet_amt=50'>(Max Sheets)</A>"
if(linked_lathe.phoron_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=phoron;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.phoron_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=phoron;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.phoron_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=phoronlathe_ejectsheet_amt=50'>(Max Sheets)</A>"
dat += "<BR>"
//Uranium
dat += "* [linked_lathe.uranium_amount] cm<sup>3</sup> of Uranium || "
+4 -4
View File
@@ -188,10 +188,10 @@ datum/tech/engineering
desc = "Development of new and improved engineering parts and."
id = "engineering"
datum/tech/plasmatech
name = "Plasma Research"
desc = "Research into the mysterious substance colloqually known as 'plasma'."
id = "plasmatech"
datum/tech/phorontech
name = "Phoron Research"
desc = "Research into the mysterious substance colloqually known as 'phoron'."
id = "phorontech"
datum/tech/powerstorage
name = "Power Manipulation Technology"
@@ -20,11 +20,11 @@
/obj/structure/crystal/Del()
src.visible_message("\red<b>[src] shatters!</b>")
if(prob(75))
new /obj/item/weapon/shard/plasma(src.loc)
new /obj/item/weapon/shard/phoron(src.loc)
if(prob(50))
new /obj/item/weapon/shard/plasma(src.loc)
new /obj/item/weapon/shard/phoron(src.loc)
if(prob(25))
new /obj/item/weapon/shard/plasma(src.loc)
new /obj/item/weapon/shard/phoron(src.loc)
if(prob(75))
new /obj/item/weapon/shard(src.loc)
if(prob(50))
@@ -13,7 +13,7 @@
#define TRIGGER_ENERGY 6
#define TRIGGER_HEAT 7
#define TRIGGER_COLD 8
#define TRIGGER_PLASMA 9
#define TRIGGER_PHORON 9
#define TRIGGER_OXY 10
#define TRIGGER_CO2 11
#define TRIGGER_NITRO 12
@@ -44,7 +44,7 @@ var/list/valid_secondary_effect_types = list(\
/datum/artifact_effect/gasco2,\
/datum/artifact_effect/gasnitro,\
/datum/artifact_effect/gasoxy,\
/datum/artifact_effect/gasplasma,\
/datum/artifact_effect/gasphoron,\
/* /datum/artifact_effect/gassleeping,\*/
/datum/artifact_effect/goodfeeling,\
/datum/artifact_effect/heal,\
@@ -108,7 +108,7 @@ var/list/valid_secondary_effect_types = list(\
if(prob(25))
my_effect.trigger = rand(1,4)
#define TRIGGER_PLASMA 9
#define TRIGGER_PHORON 9
#define TRIGGER_OXY 10
#define TRIGGER_CO2 11
#define TRIGGER_NITRO 12
@@ -130,7 +130,7 @@ var/list/valid_secondary_effect_types = list(\
//if either of our effects rely on environmental factors, work that out
var/trigger_cold = 0
var/trigger_hot = 0
var/trigger_plasma = 0
var/trigger_phoron = 0
var/trigger_oxy = 0
var/trigger_co2 = 0
var/trigger_nitro = 0
@@ -143,8 +143,8 @@ var/list/valid_secondary_effect_types = list(\
else if(env.temperature > 375)
trigger_hot = 1
if(env.toxins >= 10)
trigger_plasma = 1
if(env.phoron >= 10)
trigger_phoron = 1
if(env.oxygen >= 10)
trigger_oxy = 1
if(env.carbon_dioxide >= 10)
@@ -176,16 +176,16 @@ var/list/valid_secondary_effect_types = list(\
if(secondary_effect && secondary_effect.trigger == TRIGGER_HEAT && !secondary_effect.activated)
secondary_effect.ToggleActivate(0)
//PLASMA GAS ACTIVATION
if(trigger_plasma)
if(my_effect.trigger == TRIGGER_PLASMA && !my_effect.activated)
//PHORON GAS ACTIVATION
if(trigger_phoron)
if(my_effect.trigger == TRIGGER_PHORON && !my_effect.activated)
my_effect.ToggleActivate()
if(secondary_effect && secondary_effect.trigger == TRIGGER_PLASMA && !secondary_effect.activated)
if(secondary_effect && secondary_effect.trigger == TRIGGER_PHORON && !secondary_effect.activated)
secondary_effect.ToggleActivate(0)
else
if(my_effect.trigger == TRIGGER_PLASMA && my_effect.activated)
if(my_effect.trigger == TRIGGER_PHORON && my_effect.activated)
my_effect.ToggleActivate()
if(secondary_effect && secondary_effect.trigger == TRIGGER_PLASMA && !secondary_effect.activated)
if(secondary_effect && secondary_effect.trigger == TRIGGER_PHORON && !secondary_effect.activated)
secondary_effect.ToggleActivate(0)
//OXYGEN GAS ACTIVATION
@@ -262,7 +262,7 @@ var/list/valid_secondary_effect_types = list(\
my_effect.ToggleActivate()
if(secondary_effect && secondary_effect.trigger == TRIGGER_ACID && prob(25))
secondary_effect.ToggleActivate(0)
else if(W.reagents.has_reagent("plasma", 1) || W.reagents.has_reagent("thermite", 1))
else if(W.reagents.has_reagent("phoron", 1) || W.reagents.has_reagent("thermite", 1))
if(my_effect.trigger == TRIGGER_VOLATILE)
my_effect.ToggleActivate()
if(secondary_effect && secondary_effect.trigger == TRIGGER_VOLATILE && prob(25))
@@ -1,23 +1,23 @@
/datum/artifact_effect/gasplasma
effecttype = "gasplasma"
/datum/artifact_effect/gasphoron
effecttype = "gasphoron"
var/max_pressure
var/target_percentage
/datum/artifact_effect/gasplasma/New()
/datum/artifact_effect/gasphoron/New()
..()
effect = pick(EFFECT_TOUCH, EFFECT_AURA)
max_pressure = rand(115,1000)
effect_type = pick(6,7)
/datum/artifact_effect/gasplasma/DoEffectTouch(var/mob/user)
/datum/artifact_effect/gasphoron/DoEffectTouch(var/mob/user)
if(holder)
var/datum/gas_mixture/env = holder.loc.return_air()
if(env)
env.toxins += rand(2,15)
env.phoron += rand(2,15)
/datum/artifact_effect/gasplasma/DoEffectAura()
/datum/artifact_effect/gasphoron/DoEffectAura()
if(holder)
var/datum/gas_mixture/env = holder.loc.return_air()
if(env && env.total_moles < max_pressure)
env.toxins += pick(0, 0, 0.1, rand())
env.phoron += pick(0, 0, 0.1, rand())
@@ -203,8 +203,8 @@
else if(prob(50))
new_item = new /obj/item/weapon/tank/anesthetic(src.loc)
else
new_item = new /obj/item/weapon/tank/plasma(src.loc)
icon_state = pick("oxygen","oxygen_fr","oxygen_f","plasma","anesthetic")
new_item = new /obj/item/weapon/tank/phoron(src.loc)
icon_state = pick("oxygen","oxygen_fr","oxygen_f","phoron","anesthetic")
additional_desc = "It [pick("gloops","sloshes")] slightly when you shake it."
if(13)
item_type = "tool"
@@ -224,7 +224,7 @@
possible_spawns += /obj/item/stack/sheet/plasteel
possible_spawns += /obj/item/stack/sheet/glass
possible_spawns += /obj/item/stack/sheet/rglass
possible_spawns += /obj/item/stack/sheet/mineral/plasma
possible_spawns += /obj/item/stack/sheet/mineral/phoron
possible_spawns += /obj/item/stack/sheet/mineral/mythril
possible_spawns += /obj/item/stack/sheet/mineral/gold
possible_spawns += /obj/item/stack/sheet/mineral/silver
@@ -298,7 +298,7 @@
if(prob(50))
new_item = new /obj/item/weapon/shard(src.loc)
else
new_item = new /obj/item/weapon/shard/plasma(src.loc)
new_item = new /obj/item/weapon/shard/phoron(src.loc)
apply_prefix = 0
apply_image_decorations = 0
apply_material_decorations = 0
@@ -477,7 +477,7 @@
if(prob(30))
descriptors.Add("is encircled with bands of [pick("quadrinium","cordite","ferritic-alloy","plasteel","duranium")]")
if(prob(30))
descriptors.Add("menaces with spikes of [pick("solid plasma","uranium","white pearl","black steel")]")
descriptors.Add("menaces with spikes of [pick("solid phoron","uranium","white pearl","black steel")]")
if(descriptors.len > 0)
decorations = "It "
for(var/index=1, index <= descriptors.len, index++)
@@ -119,7 +119,7 @@
return "carbon"
if(ARCHAEO_REMAINS_XENO)
return "carbon"
return "plasma"
return "phoron"
//see /turf/simulated/mineral/New() in code/modules/mining/mine_turfs.dm
/proc/get_random_digsite_type()
@@ -215,7 +215,7 @@ var/list/responsive_carriers = list( \
"iron", \
"chlorine", \
"phosphorus", \
"plasma")
"phoron")
var/list/finds_as_strings = list( \
"Trace organic cells", \
@@ -1,39 +1,39 @@
/obj/item/weapon/shard/plasma
name = "plasma shard"
desc = "A shard of plasma glass. Considerably tougher then normal glass shards. Apparently not tough enough to be a window."
/obj/item/weapon/shard/phoron
name = "phoron shard"
desc = "A shard of phoron glass. Considerably tougher then normal glass shards. Apparently not tough enough to be a window."
force = 8.0
throwforce = 15.0
icon_state = "plasmalarge"
/obj/item/weapon/shard/plasma/New()
icon_state = "phoronlarge"
/obj/item/weapon/shard/phoron/New()
src.icon_state = pick("plasmalarge", "plasmamedium", "plasmasmall")
src.icon_state = pick("phoronlarge", "phoronmedium", "phoronsmall")
switch(src.icon_state)
if("plasmasmall")
if("phoronsmall")
src.pixel_x = rand(-12, 12)
src.pixel_y = rand(-12, 12)
if("plasmamedium")
if("phoronmedium")
src.pixel_x = rand(-8, 8)
src.pixel_y = rand(-8, 8)
if("plasmalarge")
if("phoronlarge")
src.pixel_x = rand(-5, 5)
src.pixel_y = rand(-5, 5)
else
return
/obj/item/weapon/shard/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/weapon/shard/phoron/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if ( istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0, user))
var/obj/item/stack/sheet/glass/plasmaglass/NG = new (user.loc)
for (var/obj/item/stack/sheet/glass/plasmaglass/G in user.loc)
var/obj/item/stack/sheet/glass/phoronglass/NG = new (user.loc)
for (var/obj/item/stack/sheet/glass/phoronglass/G in user.loc)
if(G==NG)
continue
if(G.amount>=G.max_amount)
continue
G.attackby(NG, user)
usr << "You add the newly-formed plasma glass to the stack. It now contains [NG.amount] sheets."
usr << "You add the newly-formed phoron glass to the stack. It now contains [NG.amount] sheets."
//SN src = null
del(src)
return
@@ -85,17 +85,17 @@
age_million = rand(1,999)
find_presence["iron"] = rand(1,1000) / 100
source_mineral = "iron"
if("Plasma")
if("Phoron")
age_thousand = rand(1,999)
age_million = rand(1,999)
age_billion = rand(10, 13)
find_presence["plasma"] = rand(1,1000) / 100
source_mineral = "plasma"
find_presence["phoron"] = rand(1,1000) / 100
source_mineral = "phoron"
if("Clown")
age = rand(-1,-999) //thats the joke
age_thousand = rand(-1,-999)
find_presence["plasma"] = rand(1,1000) / 100
source_mineral = "plasma"
find_presence["phoron"] = rand(1,1000) / 100
source_mineral = "phoron"
if(prob(75))
find_presence["phosphorus"] = rand(1,500) / 100
@@ -135,16 +135,16 @@
Structure is composed of a carbo-titanium alloy with interlaced reinforcing energy fields, and the contained liquid \
resembles proto-plasmic residue supportive of single cellular developmental conditions."
if(/obj/machinery/power/supermatter)
return "Super dense plasma clump - Appears to have been shaped or hewn, structure is composed of matter 2000% denser than ordinary carbon matter residue.\
Potential application as unrefined plasma source."
return "Super dense phoron clump - Appears to have been shaped or hewn, structure is composed of matter 2000% denser than ordinary carbon matter residue.\
Potential application as unrefined phoron source."
if(/obj/machinery/power/supermatter)
return "Super dense plasma clump - Appears to have been shaped or hewn, structure is composed of matter 2000% denser than ordinary carbon matter residue.\
Potential application as unrefined plasma source."
return "Super dense phoron clump - Appears to have been shaped or hewn, structure is composed of matter 2000% denser than ordinary carbon matter residue.\
Potential application as unrefined phoron source."
if(/obj/structure/constructshell)
return "Tribal idol - Item resembles statues/emblems built by superstitious pre-warp civilisations to honour their gods. Material appears to be a \
rock/plastcrete composite."
if(/obj/machinery/giga_drill)
return "Automated mining drill - structure composed of titanium-carbide alloy, with tip and drill lines edged in an alloy of diamond and plasma."
return "Automated mining drill - structure composed of titanium-carbide alloy, with tip and drill lines edged in an alloy of diamond and phoron."
if(/obj/structure/cult/pylon)
return "Tribal pylon - Item resembles statues/emblems built by cargo cult civilisations to honour energy systems from post-warp civilisations."
if(/obj/mecha/working/hoverpod)
@@ -2,7 +2,7 @@
//changes: rad protection up to 100 from 20/50 respectively
/obj/item/clothing/suit/bio_suit/anomaly
name = "Anomaly suit"
desc = "A sealed bio suit capable of insulating against exotic alien energies"
desc = "A sealed bio suit capable of insulating against exotic alien energies."
icon_state = "engspace_suit"
item_state = "engspace_suit"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 100)
@@ -88,8 +88,8 @@
dat += "[field_type=="mercury"?"<b>":"" ]<A href='?src=\ref[src];select_field=mercury'>Mercury dispersion wave</A></b><br>"
dat += "[field_type=="iron"?"<b>":"" ]<A href='?src=\ref[src];select_field=iron'>Iron wafer conduction field</A></b><br>"
dat += "[field_type=="calcium"?"<b>":"" ]<A href='?src=\ref[src];select_field=calcium'>Calcium binary deoxidiser</A></b><br>"
dat += "[field_type=="plasma"?"<b>":"" ]<A href='?src=\ref[src];select_field=chlorine'>Chlorine diffusion emissions</A></b><br>"
dat += "[field_type=="plasma"?"<b>":"" ]<A href='?src=\ref[src];select_field=plasma'>Plasma saturated field</A></b><br>"
dat += "[field_type=="phoron"?"<b>":"" ]<A href='?src=\ref[src];select_field=chlorine'>Chlorine diffusion emissions</A></b><br>"
dat += "[field_type=="phoron"?"<b>":"" ]<A href='?src=\ref[src];select_field=phoron'>Phoron saturated field</A></b><br>"
else
dat += "<br>"
dat += "<br>"
@@ -258,7 +258,7 @@
if("potassium")
success = 1
//
if("plasma")
if("phoron")
success = 1
//
if("calcium")
+2 -2
View File
@@ -1,7 +1,7 @@
#define NITROGEN_RETARDATION_FACTOR 4 //Higher == N2 slows reaction more
#define THERMAL_RELEASE_MODIFIER 10 //Higher == less heat released during reaction
#define PLASMA_RELEASE_MODIFIER 1500 //Higher == less plasma released by reaction
#define PHORON_RELEASE_MODIFIER 1500 //Higher == less phoron released by reaction
#define OXYGEN_RELEASE_MODIFIER 750 //Higher == less oxygen released at high temperature/power
#define REACTION_POWER_MODIFIER 1.1 //Higher == more overall power
@@ -172,7 +172,7 @@
removed.temperature = max(0, min(removed.temperature, 2500))
//Calculate how much gas to release
removed.toxins += max(device_energy / PLASMA_RELEASE_MODIFIER, 0)
removed.phoron += max(device_energy / PHORON_RELEASE_MODIFIER, 0)
removed.oxygen += max((device_energy + removed.temperature - T0C) / OXYGEN_RELEASE_MODIFIER, 0)