Okay shards converted to pool usage now.

Conflicts:
	code/game/machinery/computer/arcade.dm
	code/game/machinery/doors/windowdoor.dm
	code/game/machinery/telecomms/traffic_control.dm
	code/game/objects/structures/displaycase.dm
	code/modules/mining/mine_turfs.dm
	code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm
This commit is contained in:
ESwordTheCat
2014-04-07 10:59:32 +08:00
committed by ZomgPonies
parent 2ff6d65212
commit c43652b33a
29 changed files with 216 additions and 101 deletions
+1 -1
View File
@@ -167,7 +167,7 @@ proc/move_mining_shuttle()
if (src.stat & BROKEN)
user << "\blue The broken glass falls out."
new /obj/item/weapon/shard( src.loc )
getFromPool(/obj/item/weapon/shard, loc)
A.state = 3
A.icon_state = "3"
else
+3 -2
View File
@@ -353,12 +353,12 @@ var/list/artifact_spawn = list() // Runtime fix for geometry loading before cont
if(5)
var/quantity = rand(1,3)
for(var/i=0, i<quantity, i++)
new /obj/item/weapon/shard(src)
getFromPool(/obj/item/weapon/shard, loc)
if(6)
var/quantity = rand(1,3)
for(var/i=0, i<quantity, i++)
new /obj/item/weapon/shard/plasma(src)
getFromPool(/obj/item/weapon/shard/plasma, loc)
if(7)
var/obj/item/stack/sheet/mineral/uranium/R = new(src)
@@ -388,6 +388,7 @@ var/list/artifact_spawn = list() // Runtime fix for geometry loading before cont
mineralChance = 25
mineralSpawnChanceList = list("Uranium" = 10, "Iron" = 30, "Diamond" = 2, "Gold" = 10, "Silver" = 10, "Plasma" = 25)
/turf/simulated/mineral/random/high_chance_clown
mineralChance = 40
mineralSpawnChanceList = list("Uranium" = 10, "Iron" = 30, "Diamond" = 2, "Gold" = 5, "Silver" = 5, "Plasma" = 25, "Clown" = 15)
@@ -170,16 +170,16 @@
var/obj/O
//shards
O = new /obj/item/weapon/shard(src.loc)
O = getFromPool(/obj/item/weapon/shard, loc)
step_to(O, get_turf(pick(view(7, src))))
if(prob(75))
O = new /obj/item/weapon/shard(src.loc)
O = getFromPool(/obj/item/weapon/shard, loc)
step_to(O, get_turf(pick(view(7, src))))
if(prob(50))
O = new /obj/item/weapon/shard(src.loc)
O = getFromPool(/obj/item/weapon/shard, loc)
step_to(O, get_turf(pick(view(7, src))))
if(prob(25))
O = new /obj/item/weapon/shard(src.loc)
O = getFromPool(/obj/item/weapon/shard, loc)
step_to(O, get_turf(pick(view(7, src))))
//rods
+5 -5
View File
@@ -93,8 +93,8 @@ var/list/solars_list = list()
if(!(stat & BROKEN))
broken()
else
new /obj/item/weapon/shard(src.loc)
new /obj/item/weapon/shard(src.loc)
getFromPool(/obj/item/weapon/shard, loc)
getFromPool(/obj/item/weapon/shard, loc)
del(src)
return
return
@@ -163,11 +163,11 @@ var/list/solars_list = list()
if(1.0)
qdel(src)
if(prob(15))
new /obj/item/weapon/shard( src.loc )
getFromPool(/obj/item/weapon/shard, loc)
return
if(2.0)
if (prob(25))
new /obj/item/weapon/shard( src.loc )
getFromPool(/obj/item/weapon/shard, loc)
qdel(src)
return
if (prob(50))
@@ -343,7 +343,7 @@ var/list/solars_list = list()
if (src.stat & BROKEN)
user << "\blue The broken glass falls out."
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
new /obj/item/weapon/shard( src.loc )
getFromPool(/obj/item/weapon/shard, loc)
var/obj/item/weapon/circuitboard/solar_control/M = new /obj/item/weapon/circuitboard/solar_control( A )
for (var/obj/C in src)
C.loc = src.loc
+1 -1
View File
@@ -227,7 +227,7 @@
if (src.stat & BROKEN)
user << "\blue The broken glass falls out."
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
new /obj/item/weapon/shard( src.loc )
getFromPool(/obj/item/weapon/shard, loc)
var/obj/item/weapon/circuitboard/turbine_control/M = new /obj/item/weapon/circuitboard/turbine_control( A )
for (var/obj/C in src)
C.loc = src.loc
+1 -1
View File
@@ -826,7 +826,7 @@
if (src.stat & BROKEN)
user << "\blue The broken glass falls out."
var/obj/structure/computerframe/A = new /obj/structure/computerframe(src.loc)
new /obj/item/weapon/shard(src.loc)
getFromPool(/obj/item/weapon/shard, loc)
var/obj/item/weapon/circuitboard/pandemic/M = new /obj/item/weapon/circuitboard/pandemic(A)
for (var/obj/C in src)
C.loc = src.loc
@@ -18,7 +18,7 @@
var/obj/item/weapon/broken_bottle/B = new /obj/item/weapon/broken_bottle(user.loc)
user.put_in_active_hand(B)
if(prob(33))
new/obj/item/weapon/shard(target.loc) // Create a glass shard at the target's location!
getFromPool(/obj/item/weapon/shard, target.loc) // Create a glass shard at the target's location!
B.icon_state = src.icon_state
var/icon/I = new('icons/obj/drinks.dmi', src.icon_state)
@@ -6,6 +6,80 @@
icon_state = "glass_empty"
amount_per_transfer_from_this = 10
volume = 50
g_amt = 500
proc/smash(mob/living/target as mob, mob/living/user as mob)
//Creates a shattering noise and replaces the drinking glass with a glass shard
user.drop_item()
var/obj/item/weapon/shard/S = getFromPool(/obj/item/weapon/shard, user.loc)
user.put_in_active_hand(S)
playsound(src, "shatter", 70, 1)
user.put_in_active_hand(S)
src.transfer_fingerprints_to(S)
del(src)
attack(mob/living/target as mob, mob/living/user as mob)
if(!target)
return
if(user.a_intent != "hurt")
return ..()
force = 5
var/datum/organ/external/affecting = user.zone_sel.selecting //Find what the player is aiming at
var/armor_block = 0 //Get the target's armour values for normal attack damage.
//Calculating damage.
if(ishuman(target))
var/mob/living/carbon/human/H = target
armor_block = H.run_armor_check(affecting, "melee") // For normal attack damage
else
//Only humans can have armour, right?
armor_block = target.run_armor_check(affecting, "melee")
//Apply the damage!
target.apply_damage(force, BRUTE, affecting, armor_block)
if(affecting == "head" && istype(target, /mob/living/carbon/))
//Display an attack message.
for(var/mob/O in viewers(user, null))
if(target != user) O.show_message(text("\red <B>[target] has been hit over the head with a [src.name], by [user]!</B>"), 1)
else O.show_message(text("\red <B>[target] hit himself with a [src.name] on the head!</B>"), 1)
else
//Default attack message
for(var/mob/O in viewers(user, null))
if(target != user) O.show_message(text("\red <B>[target] has been attacked with a [src.name], by [user]!</B>"), 1)
else O.show_message(text("\red <B>[target] has attacked himself with a [src.name]!</B>"), 1)
//Attack logs
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Has attacked [target.name] ([target.ckey]) with a drinking glass!</font>")
target.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been smashed with a drinking glass by [user.name] ([user.ckey])</font>")
log_attack("<font color='red'>[user.name] ([user.ckey]) attacked [target.name] with a drinking glass. ([target.ckey])</font>")
if(!iscarbon(user))
target.LAssailant = null
else
target.LAssailant = user
//The reagents in the bottle splash all over the target, thanks for the idea Nodrak
if(src.reagents)
for(var/mob/O in viewers(user, null))
O.show_message(text("\blue <B>The contents of the [src] splashes all over [target]!</B>"), 1)
src.reagents.reaction(target, TOUCH)
//Finally, smash the bottle. This kills (del) the bottle.
src.smash(target, user)
on_reagent_change()
/*if(reagents.reagent_list.len > 1 )
+1 -1
View File
@@ -112,7 +112,7 @@ proc/move_research_shuttle()
if (src.stat & BROKEN)
user << "\blue The broken glass falls out."
new /obj/item/weapon/shard( src.loc )
getFromPool(/obj/item/weapon/shard, loc)
A.state = 3
A.icon_state = "3"
else
+2 -2
View File
@@ -339,7 +339,7 @@
if (src.stat & BROKEN)
user << "\blue The broken glass falls out."
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
new /obj/item/weapon/shard( src.loc )
getFromPool(/obj/item/weapon/shard, loc)
var/obj/item/weapon/circuitboard/rdservercontrol/M = new /obj/item/weapon/circuitboard/rdservercontrol( A )
for (var/obj/C in src)
C.loc = src.loc
@@ -378,4 +378,4 @@
name = "Core R&D Server"
id_with_upload_string = "1"
id_with_download_string = "1"
server_id = 1
server_id = 1
@@ -20,17 +20,17 @@
/obj/structure/crystal/Destroy()
src.visible_message("\red<b>[src] shatters!</b>")
if(prob(75))
new /obj/item/weapon/shard/plasma(src.loc)
getFromPool(/obj/item/weapon/shard/plasma, loc)
if(prob(50))
new /obj/item/weapon/shard/plasma(src.loc)
getFromPool(/obj/item/weapon/shard/plasma, loc)
if(prob(25))
new /obj/item/weapon/shard/plasma(src.loc)
getFromPool(/obj/item/weapon/shard/plasma, loc)
if(prob(75))
new /obj/item/weapon/shard(src.loc)
getFromPool(/obj/item/weapon/shard, loc)
if(prob(50))
new /obj/item/weapon/shard(src.loc)
getFromPool(/obj/item/weapon/shard, loc)
if(prob(25))
new /obj/item/weapon/shard(src.loc)
getFromPool(/obj/item/weapon/shard, loc)
..()
//todo: laser_act
@@ -296,9 +296,10 @@
apply_material_decorations = 0
if(22)
if(prob(50))
new_item = new /obj/item/weapon/shard(src.loc)
new_item = getFromPool(/obj/item/weapon/shard, loc)
else
new_item = new /obj/item/weapon/shard/plasma(src.loc)
new_item = getFromPool(/obj/item/weapon/shard/plasma, loc)
apply_prefix = 0
apply_image_decorations = 0
apply_material_decorations = 0