Merge to master - sole conflicting file was ninja.dm FUCK NINJAS

This commit is contained in:
MrPerson
2014-10-04 01:45:39 -07:00
594 changed files with 16198 additions and 8594 deletions
+42 -33
View File
@@ -41,7 +41,8 @@
D.createmessage("Ore Redemption Machine", "New minerals available!", msg, 1, 0)
var/obj/item/stack/sheet/storage = stack_list[processed_sheet]
storage.amount += 1 //Stack the sheets
O.loc = null //Let the old sheet garbage collect
O.loc = null //Let the old sheet...
qdel(O) //... garbage collect
/obj/machinery/mineral/ore_redemption/process()
if(!panel_open) //If the machine is partially dissassembled, it should not process minerals
@@ -76,9 +77,7 @@
return
if(panel_open)
if(istype(W, /obj/item/weapon/crowbar))
for (var/obj/O in src.contents)
O.loc = src.loc //Drop item to the floor
O.layer = initial(O.layer)
empty_content()
default_deconstruction_crowbar(W)
return 1
if(default_deconstruction_screwdriver(user, "ore_redemption-open", "ore_redemption", W))
@@ -197,18 +196,27 @@
s.start()
if(severity == 1)
if(prob(50))
for (var/obj/O in src.contents)
O.loc = src.loc //Drop item to the floor
O.layer = initial(O.layer)
empty_content()
qdel(src)
else if(severity == 2)
if(prob(25))
for (var/obj/O in src.contents)
O.loc = src.loc //Drop item to the floor
O.layer = initial(O.layer)
empty_content()
qdel(src)
return
//empty the redemption machine by stacks of at most max_amount (50 at this time) size
/obj/machinery/mineral/ore_redemption/proc/empty_content()
var/obj/item/stack/sheet/s
for(var/O in stack_list)
s = stack_list[O]
while(s.amount > s.max_amount)
new s.type(loc,s.max_amount)
s.use(s.max_amount)
s.loc = loc
s.layer = initial(s.layer)
/**********************Mining Equipment Vendor**************************/
/obj/machinery/mineral/equipment_vendor
@@ -573,7 +581,7 @@
projectilesound = 'sound/weapons/Gunshot4.ogg'
wanted_objects = list(/obj/item/weapon/ore/diamond, /obj/item/weapon/ore/gold, /obj/item/weapon/ore/silver,
/obj/item/weapon/ore/plasma, /obj/item/weapon/ore/uranium, /obj/item/weapon/ore/iron,
/obj/item/weapon/ore/clown)
/obj/item/weapon/ore/bananium)
/mob/living/simple_animal/hostile/mining_drone/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/weapon/weldingtool))
@@ -588,7 +596,7 @@
health += 10
user << "<span class='info'>You repair some of the armor on [src].</span>"
return
if(istype(I, /obj/item/device/mining_scanner))
if(istype(I, /obj/item/device/t_scanner/mining_scanner))
user << "<span class='info'>You instruct [src] to drop any collected ore.</span>"
DropOre()
return
@@ -722,45 +730,46 @@
user << "<span class='info'>The display on [src] seems to be flickering.</span>"
/**********************Mining Scanner**********************/
/obj/item/device/mining_scanner
/obj/item/device/t_scanner/mining_scanner
desc = "A scanner that checks surrounding rock for useful minerals, it can also be used to stop gibtonite detonations. Requires you to wear mesons to work properly."
name = "mining scanner"
icon_state = "mining"
icon_state = "mining0"
item_state = "analyzer"
w_class = 2.0
flags = CONDUCT
slot_flags = SLOT_BELT
var/cooldown = 0
/obj/item/device/mining_scanner/attack_self(mob/user)
if(!user.client)
return
/obj/item/device/t_scanner/mining_scanner/scan()
if(!cooldown)
cooldown = 1
spawn(40)
spawn(100)
cooldown = 0
var/client/C = user.client
var/turf/t = get_turf(src)
var/list/mobs = recursive_mob_check(t, 1,0,0)
if(!mobs.len)
return
var/list/L = list()
var/turf/simulated/mineral/M
for(M in range(7, user))
for(M in range(7, t))
if(M.scan_state)
L += M
if(!L.len)
user << "<span class='info'>[src] reports that nothing was detected nearby.</span>"
return
else
for(M in L)
var/turf/T = get_turf(M)
var/image/I = image('icons/turf/walls.dmi', loc = T, icon_state = M.scan_state, layer = 18)
C.images += I
spawn(30)
if(C)
C.images -= I
if(L.len)
for(var/mob/user in mobs)
if(user.client)
var/client/C = user.client
for(M in L)
var/turf/T = get_turf(M)
var/image/I = image('icons/turf/walls.dmi', loc = T, icon_state = M.scan_state, layer = 18)
C.images += I
spawn(30)
if(C)
C.images -= I
//Debug item to identify all ore spread quickly
/obj/item/device/mining_scanner/admin
/obj/item/device/t_scanner/mining_scanner/admin
/obj/item/device/mining_scanner/admin/attack_self(mob/user)
/obj/item/device/t_scanner/mining_scanner/admin/attack_self(mob/user)
for(var/turf/simulated/mineral/M in world)
if(M.scan_state)
M.icon_state = M.scan_state
@@ -40,7 +40,7 @@
else if(istype(inserted_id)) //There's an ID in there.
dat += text("ID: [inserted_id.registered_name] <A href='?src=\ref[src];choice=eject'>Eject ID.</A><br>")
dat += text("Points Collected:[inserted_id.points]<br>")
dat += text("Point Quota: [inserted_id.goal ? inserted_id.goal : "Unlimited"] - Reach your quota to earn your release<br>")
dat += text("Point Quota: [inserted_id.goal] - Reach your quota to earn your release<br>")
dat += text("Unclaimed Collection Points: [machine.points]. <A href='?src=\ref[src];choice=claim'>Claim points.</A><br>")
else //No ID in sight. Complain about it.
dat += text("No ID inserted. <A href='?src=\ref[src];choice=insert'>Insert ID.</A><br>")
@@ -157,7 +157,7 @@
var/obj/item/weapon/card/id/prisoner/prisoner_id = I
user << "<span class='notice'><B>ID: [prisoner_id.registered_name]</B></span>"
user << "<span class='notice'>Points Collected:[prisoner_id.points]</span>"
user << "<span class='notice'>Point Quota: [prisoner_id.goal ? prisoner_id.goal : "Unlimited"]</span>"
user << "<span class='notice'>Point Quota: [prisoner_id.goal]</span>"
user << "<span class='notice'>Collect points by bringing smelted minerals to the Labor Shuttle stacking machine. Reach your quota to earn your release.</span>"
else
user << "<span class='warning'>Error: Invalid ID</span>"
+2 -2
View File
@@ -271,7 +271,7 @@
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 1)
if (ore_clown > 0)
ore_clown--;
generate_mineral(/obj/item/stack/sheet/mineral/clown)
generate_mineral(/obj/item/stack/sheet/mineral/bananium)
else
on = 0
continue
@@ -385,7 +385,7 @@
ore_uranium++
O.loc = null
continue
if (istype(O,/obj/item/weapon/ore/clown))
if (istype(O,/obj/item/weapon/ore/bananium))
ore_clown++
O.loc = null
continue
+1 -1
View File
@@ -30,7 +30,7 @@
new /obj/item/clothing/under/rank/miner(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/device/mining_scanner(src)
new /obj/item/device/t_scanner/mining_scanner(src)
new /obj/item/weapon/storage/bag/ore(src)
new /obj/item/device/flashlight/lantern(src)
new /obj/item/weapon/shovel(src)
+3 -19
View File
@@ -204,7 +204,7 @@
..()
/turf/simulated/mineral/gibtonite/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/device/mining_scanner) && stage == 1)
if(istype(I, /obj/item/device/t_scanner/mining_scanner) && stage == 1)
user.visible_message("<span class='notice'>You use [I] to locate where to cut off the chain reaction and attempt to stop it...</span>")
defuse()
if(istype(I, /obj/item/weapon/pickaxe))
@@ -372,7 +372,7 @@
/turf/simulated/mineral/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
if (!user.IsAdvancedToolUser())
usr << "<span class='danger'>You don't have the dexterity to do this!</span>"
return
@@ -417,7 +417,7 @@
if (src.mineralName == "Diamond")
new /obj/item/weapon/ore/diamond(src)
if (src.mineralName == "Clown")
new /obj/item/weapon/ore/clown(src)
new /obj/item/weapon/ore/bananium(src)
var/turf/simulated/floor/plating/asteroid/airless/N = ChangeTurf(/turf/simulated/floor/plating/asteroid/airless)
N.fullUpdateMineralOverlays()
return
@@ -597,22 +597,6 @@
/turf/simulated/mineral/updateMineralOverlays()
return
/turf/proc/fullUpdateMineralOverlays()
for (var/turf/t in range(1,src))
t.updateMineralOverlays()
/turf/simulated/floor/plating/asteroid/Entered(atom/movable/M as mob|obj)
..()
if(istype(M,/mob/living/silicon/robot))
var/mob/living/silicon/robot/R = M
if(istype(R.module, /obj/item/weapon/robot_module/miner))
if(istype(R.module_state_1,/obj/item/weapon/storage/bag/ore))
src.attackby(R.module_state_1,R)
else if(istype(R.module_state_2,/obj/item/weapon/storage/bag/ore))
src.attackby(R.module_state_2,R)
else if(istype(R.module_state_3,/obj/item/weapon/storage/bag/ore))
src.attackby(R.module_state_3,R)
else
return
+1 -1
View File
@@ -43,7 +43,7 @@
if (istype(O, /obj/item/stack/sheet/metal))
amt_iron += 100 * O.amount
O.loc = null
if (istype(O, /obj/item/stack/sheet/mineral/clown))
if (istype(O, /obj/item/stack/sheet/mineral/bananium))
amt_clown += 100 * O.amount
O.loc = null
if (istype(O, /obj/item/stack/sheet/mineral/adamantine))
+4 -4
View File
@@ -13,7 +13,7 @@
if(W.remove_fuel(15))
new refined_type(get_turf(src.loc))
qdel(src)
else
else if(W.isOn())
user << "<span class='info'>Not enough fuel to smelt [src].</span>"
..()
@@ -85,12 +85,12 @@
points = 36
refined_type = /obj/item/stack/sheet/mineral/diamond
/obj/item/weapon/ore/clown
/obj/item/weapon/ore/bananium
name = "Bananium ore"
icon_state = "Clown ore"
origin_tech = "materials=4"
points = 27
refined_type = /obj/item/stack/sheet/mineral/clown
refined_type = /obj/item/stack/sheet/mineral/bananium
/obj/item/weapon/ore/slag
name = "Slag"
@@ -114,7 +114,7 @@
if(istype(I, /obj/item/weapon/pickaxe) || istype(I, /obj/item/weapon/resonator))
GibtoniteReaction(user)
return
if(istype(I, /obj/item/device/mining_scanner) && primed)
if(istype(I, /obj/item/device/t_scanner/mining_scanner) && primed)
primed = 0
user.visible_message("<span class='notice'>The chain reaction was stopped! ...The ore's quality went down.</span>")
icon_state = "Gibtonite ore"
+1 -1
View File
@@ -45,7 +45,7 @@
amt_gold++;
if (istype(C,/obj/item/weapon/ore/uranium))
amt_uranium++;
if (istype(C,/obj/item/weapon/ore/clown))
if (istype(C,/obj/item/weapon/ore/bananium))
amt_clown++;
var/dat = text("<b>The contents of the ore box reveal...</b><br>")