mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-14 16:44:33 +01:00
Merge branch 'master' of github.com:Baystation12/Baystation12
This commit is contained in:
@@ -702,6 +702,8 @@ datum
|
||||
reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
|
||||
if(!istype(M, /mob/living))
|
||||
return
|
||||
if(M.acid_act(src))
|
||||
return
|
||||
if(method == TOUCH)
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(M:wear_mask)
|
||||
@@ -734,6 +736,8 @@ datum
|
||||
M.take_organ_damage(min(15, volume * 2))
|
||||
|
||||
reaction_obj(var/obj/O, var/volume)
|
||||
if(O.acid_act(src))
|
||||
return
|
||||
if(istype(O, /obj/effect/blob))
|
||||
var/obj/effect/blob/B = O
|
||||
if(B.weakness == "acid")
|
||||
@@ -772,6 +776,9 @@ datum
|
||||
reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
|
||||
if(!istype(M, /mob/living))
|
||||
return //wooo more runtime fixin
|
||||
//cael - added the option for things splashed with acid to handle it themselves (for xenoarch)
|
||||
if(M.acid_act(src))
|
||||
return
|
||||
if(method == TOUCH)
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(M:wear_mask)
|
||||
@@ -815,6 +822,8 @@ datum
|
||||
M.take_organ_damage(min(15, volume * 4))
|
||||
|
||||
reaction_obj(var/obj/O, var/volume)
|
||||
if(O.acid_act(src))
|
||||
return
|
||||
if(istype(O, /obj/effect/blob))
|
||||
var/obj/effect/blob/B = O
|
||||
if(B.weakness == "acid")
|
||||
|
||||
@@ -61,6 +61,8 @@
|
||||
owned_pad = locate() in orange(1, src)
|
||||
|
||||
/obj/machinery/artifact_analyser/attack_hand(var/mob/user as mob)
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
user.machine = src
|
||||
var/dat = "<B>Artifact Analyser</B><BR>"
|
||||
dat += "<HR><BR>"
|
||||
@@ -87,6 +89,10 @@
|
||||
onclose(user, "artanalyser")
|
||||
|
||||
/obj/machinery/artifact_analyser/process()
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
use_power(350)
|
||||
//
|
||||
if(!owned_pad)
|
||||
for(var/obj/machinery/analyser_pad/pad in range(1))
|
||||
owned_pad = pad
|
||||
@@ -229,6 +235,7 @@
|
||||
time *= 10
|
||||
var/message = "<b>[src]</b> states, \"Commencing analysis.\""
|
||||
src.visible_message(message, message)
|
||||
use_power(500)
|
||||
spawn(time)
|
||||
src.working = 0
|
||||
icon_state = "analyser"
|
||||
@@ -239,11 +246,12 @@
|
||||
scan_num++
|
||||
message = "<b>[src]</b> states, \"Analysis complete.\""
|
||||
src.visible_message(message, message)
|
||||
use_power(500)
|
||||
else if (findarti > 1)
|
||||
var/message = "<b>[src]</b> states, \"Cannot analyse. Too many artifacts on pad.\""
|
||||
var/message = "<b>[src]</b> states, \"Cannot analyse. Error isolating energy signature.\""
|
||||
src.visible_message(message, message)
|
||||
else
|
||||
var/message = "<b>[src]</b> states, \"Cannot analyse. No artifact found.\""
|
||||
var/message = "<b>[src]</b> states, \"Cannot analyse. No noteworthy energy signature isolated.\""
|
||||
src.visible_message(message, message)
|
||||
|
||||
if(href_list["upload"] && cur_id != "")
|
||||
@@ -267,6 +275,7 @@
|
||||
CA.effecttype = aeffect1 + " ([accuE1]%)"
|
||||
CA.effectmode = aeffect2 + " ([accuE2]%)"
|
||||
DB.catalogued_artifacts.Add(CA)
|
||||
use_power(100)
|
||||
|
||||
if(href_list["print"])
|
||||
var/r = "Artifact Analysis Report (Scan #[scan_num])<hr>"
|
||||
@@ -280,6 +289,7 @@
|
||||
P.info = r
|
||||
for(var/mob/O in hearers(src, null))
|
||||
O.show_message("\icon[src] \blue The [src.name] prints a sheet of paper", 3)
|
||||
use_power(10)
|
||||
|
||||
if(href_list["close"])
|
||||
usr << browse(null, "window=artanalyser")
|
||||
|
||||
@@ -31,27 +31,23 @@
|
||||
else
|
||||
for(var/mob/M in viewers(world.view, user))
|
||||
M.show_message("\blue A few sparks fly off the rock, but otherwise nothing else happens.",1)
|
||||
else if(istype(W, /obj/item/weapon/reagent_containers/))
|
||||
var/obj/item/weapon/reagent_containers/R = W
|
||||
if(R.reagents.has_reagent("pacid", 1))
|
||||
if(src.method)
|
||||
if(inside)
|
||||
var/obj/A = new src.inside(get_turf(src))
|
||||
for(var/mob/M in viewers(world.view, get_turf(src)))
|
||||
M.show_message("\blue The rock fizzes away revealing a [A.name].",1)
|
||||
else
|
||||
for(var/mob/M in viewers(world.view, get_turf(src)))
|
||||
M.show_message("\blue The rock fizzes away into nothing.",1)
|
||||
del src
|
||||
else
|
||||
for(var/mob/M in viewers(world.view, get_turf(src)))
|
||||
M.show_message("\blue The acid splashes harmlessly off the rock, nothing else interesting happens.",1)
|
||||
|
||||
/obj/item/weapon/ore/strangerock/acid_act(var/datum/reagent/R)
|
||||
if(src.method)
|
||||
if(inside)
|
||||
var/obj/A = new src.inside(get_turf(src))
|
||||
for(var/mob/M in viewers(world.view, get_turf(src)))
|
||||
M.show_message("\blue The rock fizzes away revealing a [A.name].",1)
|
||||
else
|
||||
for(var/mob/M in viewers(world.view, get_turf(src)))
|
||||
M.show_message("\blue The rock fizzes away into nothing.",1)
|
||||
del src
|
||||
else
|
||||
for(var/mob/M in viewers(world.view, get_turf(src)))
|
||||
M.show_message("\blue The acid splashes harmlessly off the rock, nothing else interesting happens.",1)
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/obj/item/weapon/crystal
|
||||
name = "Crystal"
|
||||
icon = 'mining.dmi'
|
||||
@@ -124,7 +120,11 @@
|
||||
|
||||
/obj/item/weapon/talkingcrystal/proc/catchMessage(var/msg, var/mob/source)
|
||||
var/list/seperate = list()
|
||||
if(findtext(msg," ")==0)
|
||||
if(findtext(msg,"(("))
|
||||
return
|
||||
else if(findtext(msg,"))"))
|
||||
return
|
||||
else if(findtext(msg," ")==0)
|
||||
return
|
||||
else
|
||||
/*var/l = lentext(msg)
|
||||
@@ -167,7 +167,7 @@
|
||||
if(!word)
|
||||
text = "[pick(words)]"
|
||||
else
|
||||
text = word
|
||||
text = pick(stringsplit(word))
|
||||
if(lentext(text)==1)
|
||||
text=uppertext(text)
|
||||
else
|
||||
@@ -196,8 +196,18 @@
|
||||
msg+="."
|
||||
else
|
||||
msg+="!"
|
||||
for(var/mob/M in viewers(src))
|
||||
M << "<b>The crystal</b> says, \"[msg]\""
|
||||
|
||||
var/list/listening = viewers(src)
|
||||
for(var/mob/M in world)
|
||||
if (!M.client)
|
||||
continue //skip monkeys and leavers
|
||||
if (istype(M, /mob/new_player))
|
||||
continue
|
||||
if(M.stat == 2 && M.client.ghost_ears)
|
||||
listening|=M
|
||||
|
||||
for(var/mob/M in listening)
|
||||
M << "<b>The crystal</b> reverberates, \blue\"[msg]\""
|
||||
lastsaid = world.timeofday + rand(300,800)
|
||||
|
||||
/obj/item/weapon/talkingcrystal/process()
|
||||
|
||||
@@ -72,8 +72,8 @@
|
||||
H.update_body()
|
||||
H.update_face()
|
||||
H.UpdateDamageIcon()
|
||||
return 1
|
||||
//
|
||||
return 1
|
||||
//
|
||||
if (istype(user, /mob/living/carbon/monkey/))
|
||||
user << "\blue You feel a soothing energy invigorate you."
|
||||
user.adjustOxyLoss(-25)
|
||||
@@ -81,6 +81,7 @@
|
||||
user.adjustBruteLoss(-25)
|
||||
user.adjustFireLoss(-25)
|
||||
user.adjustBrainLoss(-25)
|
||||
return 1
|
||||
else user << "Nothing happens."
|
||||
if("injure")
|
||||
if (istype(user, /mob/living/carbon/))
|
||||
|
||||
@@ -36,8 +36,12 @@
|
||||
interact(user)
|
||||
|
||||
/obj/machinery/artifact_harvester/process()
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
use_power(350)
|
||||
|
||||
if(harvesting)
|
||||
use_power(250)
|
||||
inserted_battery.stored_charge += 10
|
||||
if(inserted_battery.stored_charge >= inserted_battery.capacity)
|
||||
inserted_battery.stored_charge = inserted_battery.capacity
|
||||
@@ -49,6 +53,8 @@
|
||||
return
|
||||
|
||||
/obj/machinery/artifact_harvester/proc/interact(var/mob/user as mob)
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
user.machine = src
|
||||
var/dat = "<B>Artifact Power Harvester</B><BR>"
|
||||
dat += "<HR><BR>"
|
||||
@@ -88,20 +94,19 @@
|
||||
|
||||
var/mundane = 0
|
||||
for(var/obj/O in get_turf(owned_pad))
|
||||
mundane++
|
||||
break
|
||||
if(!istype(O, /obj/machinery/artifact))
|
||||
mundane++
|
||||
break
|
||||
for(var/mob/O in get_turf(owned_pad))
|
||||
mundane++
|
||||
break
|
||||
if(!istype(O, /obj/machinery/artifact))
|
||||
mundane++
|
||||
break
|
||||
|
||||
if(articount > 1)
|
||||
var/message = "<b>[src]</b> states, \"Cannot harvest. Too many artifacts on pad.\""
|
||||
src.visible_message(message, message)
|
||||
else if(mundane)
|
||||
var/message = "<b>[src]</b> states, \"No noteworthy energy signatures detected.\""
|
||||
if(articount > 1 || mundane)
|
||||
var/message = "<b>[src]</b> states, \"Cannot harvest. Error isolating energy signature.\""
|
||||
src.visible_message(message, message)
|
||||
else if(!articount)
|
||||
var/message = "<b>[src]</b> states, \"Cannot harvest. No artifact found.\""
|
||||
var/message = "<b>[src]</b> states, \"Cannot harvest. No noteworthy energy signature isolated.\""
|
||||
src.visible_message(message, message)
|
||||
else if (cur_artifact.being_used)
|
||||
var/message = "<b>[src]</b> states, \"Cannot harvest. Too much interferance from energy scan.\""
|
||||
@@ -140,6 +145,7 @@
|
||||
src.inserted_battery = null
|
||||
|
||||
if (href_list["drainbattery"])
|
||||
use_power(100)
|
||||
src.inserted_battery.battery_effect.artifact_id = ""
|
||||
src.inserted_battery.stored_charge = 0
|
||||
var/message = "<b>[src]</b> states, \"Battery drained of all charge.\""
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
my_effect.UpdateEffect(src.loc)
|
||||
|
||||
//activate
|
||||
if(src.charged && my_effect.DoEffect(src.loc))
|
||||
if(src.charged && my_effect.DoEffect(src))
|
||||
src.charged = 0
|
||||
src.chargetime = src.recharge
|
||||
|
||||
@@ -207,7 +207,7 @@
|
||||
else if (my_effect.trigger != "touch" && !src.activated) user << "Nothing happens."
|
||||
|
||||
if (my_effect.effectmode == "contact" && src.activated && src.charged)
|
||||
my_effect.DoEffect(src.loc)
|
||||
my_effect.DoEffect(src)
|
||||
src.charged = 0
|
||||
src.chargetime = src.recharge
|
||||
|
||||
|
||||
Reference in New Issue
Block a user