mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-14 16:44:33 +01:00
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user