diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm
index 07d8d52e95..437ca037f0 100644
--- a/code/modules/mob/living/carbon/human/inventory.dm
+++ b/code/modules/mob/living/carbon/human/inventory.dm
@@ -451,8 +451,10 @@
message = text("\red [] is trying to inject []!", source, target)
if("pill")
message = text("\red [] is trying to force [] to swallow []!", source, target, item)
- if("fuel")
- message = text("\red [source] is trying to force [target] to eat the [item:content]!")
+// dear god this is all horrible, godspeed carn ;-;
+// mport: i dunno if you care about this, but it's related to AM. -Pete
+// if("fuel")
+// message = text("\red [source] is trying to force [target] to eat the [item:content]!")
if("drink")
message = text("\red [] is trying to force [] to swallow a gulp of []!", source, target, item)
if("dnainjector")
diff --git a/code/modules/power/antimatter/computer.dm b/code/modules/power/antimatter/computer.dm
deleted file mode 100644
index 3c36d2f0cf..0000000000
--- a/code/modules/power/antimatter/computer.dm
+++ /dev/null
@@ -1,94 +0,0 @@
-//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
-
-/obj/machinery/computer/am_engine
- name = "Antimatter Engine Console"
- icon = 'stationobjs.dmi'
- icon_state = "comm_computer"
- req_access = list(access_engine)
- var/engine_id = 0
- var/authenticated = 0
- var/obj/machinery/power/am_engine/engine/connected_E = null
- var/obj/machinery/power/am_engine/injector/connected_I = null
- var/state = STATE_DEFAULT
- var/const/STATE_DEFAULT = 1
- var/const/STATE_INJECTOR = 2
- var/const/STATE_ENGINE = 3
-
-/obj/machinery/computer/am_engine/New()
- ..()
- spawn( 24 )
- for(var/obj/machinery/power/am_engine/engine/E in world)
- if(E.engine_id == src.engine_id)
- src.connected_E = E
- for(var/obj/machinery/power/am_engine/injector/I in world)
- if(I.engine_id == src.engine_id)
- src.connected_I = I
- return
-
-/obj/machinery/computer/am_engine/Topic(href, href_list)
- if(..())
- return
- usr.machine = src
-
- if(!href_list["operation"])
- return
- switch(href_list["operation"])
- // main interface
- if("activate")
- src.connected_E.engine_process()
- if("engine")
- src.state = STATE_ENGINE
- if("injector")
- src.state = STATE_INJECTOR
- if("main")
- src.state = STATE_DEFAULT
- if("login")
- var/mob/M = usr
- var/obj/item/weapon/card/id/I = M.equipped()
- if (I && istype(I))
- if(src.check_access(I))
- authenticated = 1
- if("deactivate")
- src.connected_E.stopping = 1
- if("logout")
- authenticated = 0
-
- src.updateUsrDialog()
-
-/obj/machinery/computer/am_engine/attack_ai(var/mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/computer/am_engine/attack_paw(var/mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/computer/am_engine/attack_hand(var/mob/user as mob)
- if(..())
- return
- user.machine = src
- var/dat = "
Engine Computer"
- switch(src.state)
- if(STATE_DEFAULT)
- if (src.authenticated)
- dat += "
\[ Log Out \]
"
- dat += "
\[ Engine Menu \]"
- dat += "
\[ Injector Menu \]"
- else
- dat += "
\[ Log In \]"
- if(STATE_INJECTOR)
- if(src.connected_I.injecting)
- dat += "
\[ Injecting \]
"
- else
- dat += "
\[ Injecting not in progress \]
"
- if(STATE_ENGINE)
- if(src.connected_E.stopping)
- dat += "
\[ STOPPING \]"
- else if(src.connected_E.operating && !src.connected_E.stopping)
- dat += "
\[ Emergency Stop \]"
- else
- dat += "
\[ Activate Engine \]"
- dat += "
Contents:
[src.connected_E.H_fuel]kg of Hydrogen
[src.connected_E.antiH_fuel]kg of Anti-Hydrogen
"
-
- dat += "
\[ [(src.state != STATE_DEFAULT) ? "Main Menu | " : ""]Close \]"
- user << browse(dat, "window=communications;size=400x500")
- onclose(user, "communications")
-
diff --git a/code/modules/power/antimatter/engine.dm b/code/modules/power/antimatter/engine.dm
deleted file mode 100644
index 824e3fe0e8..0000000000
--- a/code/modules/power/antimatter/engine.dm
+++ /dev/null
@@ -1,207 +0,0 @@
-/obj/machinery/power/am_engine
- icon = 'AM_Engine.dmi'
- density = 1
- anchored = 1.0
- flags = ON_BORDER
-
-/obj/machinery/power/am_engine/bits
- name = "Antimatter Engine"
- icon_state = "1"
-
-/obj/machinery/power/am_engine/engine
- name = "Antimatter Engine"
- icon_state = "am_engine"
- var/engine_id = 0
- var/H_fuel = 0
- var/antiH_fuel = 0
- var/operating = 0
- var/stopping = 0
- var/obj/machinery/power/am_engine/injector/connected = null
-
-/obj/machinery/power/am_engine/injector
- name = "Injector"
- icon_state = "injector"
- var/engine_id = 0
- var/injecting = 0
- var/fuel = 0
- var/obj/machinery/power/am_engine/engine/connected = null
-
-//injector
-
-/obj/machinery/power/am_engine/injector/New()
- ..()
- spawn( 13 )
- var/loc = get_step(src, NORTH)
- src.connected = locate(/obj/machinery/power/am_engine/engine, get_step(loc, NORTH))
- return
- return
-
-
-/obj/machinery/power/am_engine/injector/attackby(obj/item/weapon/fuel/F, mob/user)
- if( (stat & BROKEN) || !connected) return
-
- if(istype(F, /obj/item/weapon/fuel/H))
- if(injecting)
- user << "Theres already a fuel rod in the injector!"
- return
- user << "You insert the rod into the injector"
- injecting = 1
- var/fuel = F.fuel
- del(F)
- spawn( 300 )
- injecting = 0
- new/obj/item/weapon/fuel(src.loc)
- connected.H_fuel += fuel
-
- if(istype(F, /obj/item/weapon/fuel/antiH))
- if(injecting)
- user << "Theres already a fuel rod in the injector!"
- return
- user << "You insert the rod into the injector"
- injecting = 1
- var/fuel = F.fuel
- del(F)
- spawn( 300 )
- injecting = 0
- new /obj/item/weapon/fuel(src.loc)
- connected.antiH_fuel += fuel
-
- return
-
-
-//engine
-
-
-/obj/machinery/power/am_engine/engine/New()
- ..()
- spawn( 7 )
- var/loc = get_step(src, SOUTH)
- src.connected = locate(/obj/machinery/power/am_engine/injector, get_step(loc, SOUTH))
- return
- return
-
-
-/obj/machinery/power/am_engine/engine/proc/engine_go()
-
- if( (!src.connected) || (stat & BROKEN) )
- return
-
- if(!antiH_fuel || !H_fuel)
- return
-
- operating = 1
- var/energy = 0
-
- if(antiH_fuel == H_fuel)
- var/mass = antiH_fuel + H_fuel
- energy = convert2energy(mass)
- H_fuel = 0
- antiH_fuel = 0
- else
- var/residual_matter = modulus(H_fuel - antiH_fuel)
- var/mass = antiH_fuel + H_fuel - residual_matter
- energy = convert2energy(mass)
- if( H_fuel > antiH_fuel )
- H_fuel = residual_matter
- antiH_fuel = 0
- else
- H_fuel = 0
- antiH_fuel = residual_matter
-
- for(var/mob/M in hearers(src, null))
- M.show_message(text("\red You hear a loud bang!"))
-
- //Q = k x (delta T)
-
- energy = energy*0.75
- operating = 0
-
- //TODO: DEFERRED Heat tile
-
- return
-
-
-/obj/machinery/power/am_engine/engine/proc/engine_process()
-
- do
- if( (!src.connected) || (stat & BROKEN) )
- return
-
- if(!antiH_fuel || !H_fuel)
- return
-
- if(operating)
- return
-
- operating = 1
-
- sleep(50)
-
- var/energy //energy from the reaction
- var/H //residual matter if H
- var/antiH //residual matter if antiH
- var/mass //total mass
-
- if(antiH_fuel == H_fuel) //if they're equal then convert the whole mass to energy
- mass = antiH_fuel + H_fuel
- energy = convert2energy(mass)
-
- else //else if they're not equal determine which isn't equal
- //and set it equal to either H or antiH so we don't lose anything
-
- var/residual_matter = modulus(H_fuel - antiH_fuel)
- mass = antiH_fuel + H_fuel - residual_matter
- energy = convert2energy(mass)
-
- if( H_fuel > antiH_fuel )
- H = residual_matter
- else
- antiH = residual_matter
-
-
- if(energy > convert2energy(8e-12)) //TOO MUCH ENERGY
- for(var/mob/M in hearers(src, null))
- M.show_message(text("\red You hear a loud whirring!"))
- sleep(20)
-
- //Q = k x (delta T)
- //Too much energy so machine panics and dissapates half of it as heat
- //The rest of the energetic photons then form into H and anti H particles again!
-
- H_fuel -= H
- antiH_fuel -= antiH
- antiH_fuel = antiH_fuel/2
- H_fuel = H_fuel/2
-
- energy = convert2energy(H_fuel + antiH_fuel)
-
- H_fuel += H
- antiH_fuel += antiH
-
- if(energy > convert2energy(8e-12)) //FAR TOO MUCH ENERGY STILL
- for(var/mob/M in hearers(src, null))
- M.show_message(text("\red BANG!"))
- new /obj/effect/bhole(src.loc)
-
- else //this amount of energy is okay so it does the proper output thing
-
- sleep(60)
- //E = Pt
- //Lets say its 86% efficient
- var/output = 0.86*energy/20
- add_avail(output)
- //yeah the machine realises that something isn't right and accounts for it if H or antiH
- H_fuel -= H
- antiH_fuel -= antiH
- antiH_fuel = antiH_fuel/4
- H_fuel = H_fuel/4
- H_fuel += H
- antiH_fuel += antiH
- operating = 0
- sleep(100)
-
- while(!stopping)
-
- stopping = 0
-
- return
\ No newline at end of file
diff --git a/code/modules/power/antimatter/fuel.dm b/code/modules/power/antimatter/fuel.dm
deleted file mode 100644
index 71b22d3264..0000000000
--- a/code/modules/power/antimatter/fuel.dm
+++ /dev/null
@@ -1,100 +0,0 @@
-/obj/item/weapon/fuel
- name = "Magnetic Storage Ring"
- desc = "A magnetic storage ring."
- icon = 'items.dmi'
- icon_state = "rcdammo"
- opacity = 0
- density = 0
- anchored = 0.0
- var/fuel = 0
- var/s_time = 1.0
- var/content = null
-
-/obj/item/weapon/fuel/H
- name = "Hydrogen storage ring"
- content = "Hydrogen"
- fuel = 1e-12 //pico-kilogram
-
-/obj/item/weapon/fuel/antiH
- name = "Anti-Hydrogen storage ring"
- content = "Anti-Hydrogen"
- fuel = 1e-12 //pico-kilogram
-
-/obj/item/weapon/fuel/attackby(obj/item/weapon/fuel/F, mob/user)
- ..()
- if(istype(src, /obj/item/weapon/fuel/antiH))
- if(istype(F, /obj/item/weapon/fuel/antiH))
- src.fuel += F.fuel
- F.fuel = 0
- user << "You have added the anti-Hydrogen to the storage ring, it now contains [src.fuel]kg"
- if(istype(F, /obj/item/weapon/fuel/H))
- src.fuel += F.fuel
- del(F)
- src:annihilation(src.fuel)
- if(istype(src, /obj/item/weapon/fuel/H))
- if(istype(F, /obj/item/weapon/fuel/H))
- src.fuel += F.fuel
- F.fuel = 0
- user << "You have added the Hydrogen to the storage ring, it now contains [src.fuel]kg"
- if(istype(F, /obj/item/weapon/fuel/antiH))
- src.fuel += F.fuel
- del(src)
- F:annihilation(F.fuel)
-
-/obj/item/weapon/fuel/antiH/proc/annihilation(var/mass)
-
- var/strength = convert2energy(mass)
-
- if (strength < 773.0)
- var/turf/T = get_turf(src.loc)
-
- if (strength > (450+T0C))
- explosion(T, 0, 1, 2, 4)
- else
- if (strength > (300+T0C))
- explosion(T, 0, 0, 2, 3)
-
- del(src)
- return
-
- var/turf/ground_zero = get_turf(loc)
-
- var/ground_zero_range = round(strength / 387)
- explosion(ground_zero, ground_zero_range, ground_zero_range*2, ground_zero_range*3, ground_zero_range*4)
-
- //SN src = null
- del(src)
- return
-
-
-/obj/item/weapon/fuel/examine()
- set src in view(1)
- if(usr && !usr.stat)
- usr << "A magnetic storage ring, it contains [fuel]kg of [content ? content : "nothing"]."
-
-/obj/item/weapon/fuel/proc/injest(mob/M as mob)
- switch(content)
- if("Anti-Hydrogen")
- M.gib()
- if("Hydrogen")
- M << "\blue You feel very light, as if you might just float away..."
- del(src)
- return
-
-/obj/item/weapon/fuel/attack(mob/M as mob, mob/user as mob)
- if (user != M)
- var/obj/effect/equip_e/human/O = new /obj/effect/equip_e/human( )
- O.source = user
- O.target = M
- O.item = src
- O.s_loc = user.loc
- O.t_loc = M.loc
- O.place = "fuel"
- M.requests += O
- spawn( 0 )
- O.process()
- return
- else
- for(var/mob/O in viewers(M, null))
- O.show_message(text("\red [M] ate the [content ? content : "empty canister"]!"), 1)
- src.injest(M)
diff --git a/code/game/asteroid/device.dm b/code/unused/asteroiddevice.dm
similarity index 100%
rename from code/game/asteroid/device.dm
rename to code/unused/asteroiddevice.dm
diff --git a/icons/obj/biomass.dmi b/icons/obj/biomass.dmi
new file mode 100644
index 0000000000..ffb133f768
Binary files /dev/null and b/icons/obj/biomass.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 053bf6ad28..d224422a6a 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -125,7 +125,6 @@
#define FILE_DIR "code/modules/mob/simple_animal"
#define FILE_DIR "code/modules/paperwork"
#define FILE_DIR "code/modules/power"
-#define FILE_DIR "code/modules/power/antimatter"
#define FILE_DIR "code/modules/power/singularity"
#define FILE_DIR "code/modules/power/singularity/particle_accelerator"
#define FILE_DIR "code/modules/projectiles"
@@ -380,7 +379,6 @@
#include "code\game\area\areas.dm"
#include "code\game\asteroid\artifacts.dm"
#include "code\game\asteroid\asteroid.dm"
-#include "code\game\asteroid\device.dm"
#include "code\game\asteroid\turf.dm"
#include "code\game\gamemodes\events.dm"
#include "code\game\gamemodes\factions.dm"
@@ -1038,9 +1036,6 @@
#include "code\modules\power\terminal.dm"
#include "code\modules\power\tracker.dm"
#include "code\modules\power\turbine.dm"
-#include "code\modules\power\antimatter\computer.dm"
-#include "code\modules\power\antimatter\engine.dm"
-#include "code\modules\power\antimatter\fuel.dm"
#include "code\modules\power\singularity\collector.dm"
#include "code\modules\power\singularity\containment_field.dm"
#include "code\modules\power\singularity\emitter.dm"