mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 18:02:57 +00:00
Tweaks! (#44)
This commit is contained in:
committed by
TalkingCactus
parent
b5e3121d3a
commit
85cd936712
@@ -1,13 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
Telekinesis
|
Telekinesis
|
||||||
|
|
||||||
This needs more thinking out, but I might as well.
|
This needs more thinking out, but I might as well.
|
||||||
*/
|
*/
|
||||||
var/const/tk_maxrange = 15
|
var/const/tk_maxrange = 15
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Telekinetic attack:
|
Telekinetic attack:
|
||||||
|
|
||||||
By default, emulate the user's unarmed attack
|
By default, emulate the user's unarmed attack
|
||||||
*/
|
*/
|
||||||
/atom/proc/attack_tk(mob/user)
|
/atom/proc/attack_tk(mob/user)
|
||||||
@@ -19,7 +17,6 @@ var/const/tk_maxrange = 15
|
|||||||
/*
|
/*
|
||||||
This is similar to item attack_self, but applies to anything
|
This is similar to item attack_self, but applies to anything
|
||||||
that you can grab with a telekinetic grab.
|
that you can grab with a telekinetic grab.
|
||||||
|
|
||||||
It is used for manipulating things at range, for example, opening and closing closets.
|
It is used for manipulating things at range, for example, opening and closing closets.
|
||||||
There are not a lot of defaults at this time, add more where appropriate.
|
There are not a lot of defaults at this time, add more where appropriate.
|
||||||
*/
|
*/
|
||||||
@@ -57,7 +54,6 @@ var/const/tk_maxrange = 15
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
TK Grab Item (the workhorse of old TK)
|
TK Grab Item (the workhorse of old TK)
|
||||||
|
|
||||||
* If you have not grabbed something, do a normal tk attack
|
* If you have not grabbed something, do a normal tk attack
|
||||||
* If you have something, throw it at the target. If it is already adjacent, do a normal attackby()
|
* If you have something, throw it at the target. If it is already adjacent, do a normal attackby()
|
||||||
* If you click what you are holding, or attack_self(), do an attack_self_tk() on it.
|
* If you click what you are holding, or attack_self(), do an attack_self_tk() on it.
|
||||||
@@ -121,15 +117,16 @@ var/const/tk_maxrange = 15
|
|||||||
focus_object(target, user)
|
focus_object(target, user)
|
||||||
return
|
return
|
||||||
|
|
||||||
if(focus.anchored)
|
if(focus.anchored || !isturf(focus.loc))
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
return
|
||||||
|
|
||||||
if(target == focus)
|
if(target == focus)
|
||||||
target.attack_self_tk(user)
|
target.attack_self_tk(user)
|
||||||
return // todo: something like attack_self not laden with assumptions inherent to attack_self
|
return // todo: something like attack_self not laden with assumptions inherent to attack_self
|
||||||
|
|
||||||
|
|
||||||
if(!istype(target, /turf) && istype(focus,/obj/item) && target.Adjacent(focus))
|
if(!isturf(target) && istype(focus,/obj/item) && target.Adjacent(focus))
|
||||||
var/obj/item/I = focus
|
var/obj/item/I = focus
|
||||||
var/resolved = target.attackby(I, user, params)
|
var/resolved = target.attackby(I, user, params)
|
||||||
if(!resolved && target && I)
|
if(!resolved && target && I)
|
||||||
@@ -139,7 +136,6 @@ var/const/tk_maxrange = 15
|
|||||||
focus.throw_at(target, 10, 1,user)
|
focus.throw_at(target, 10, 1,user)
|
||||||
last_throw = world.time
|
last_throw = world.time
|
||||||
user.changeNext_move(CLICK_CD_MELEE)
|
user.changeNext_move(CLICK_CD_MELEE)
|
||||||
return
|
|
||||||
|
|
||||||
/proc/tkMaxRangeCheck(mob/user, atom/target, atom/focus)
|
/proc/tkMaxRangeCheck(mob/user, atom/target, atom/focus)
|
||||||
var/d = get_dist(user, target)
|
var/d = get_dist(user, target)
|
||||||
@@ -155,7 +151,7 @@ var/const/tk_maxrange = 15
|
|||||||
|
|
||||||
|
|
||||||
/obj/item/tk_grab/proc/focus_object(obj/target, mob/living/user)
|
/obj/item/tk_grab/proc/focus_object(obj/target, mob/living/user)
|
||||||
if(!istype(target,/obj))
|
if(!isobj(target))
|
||||||
return//Cant throw non objects atm might let it do mobs later
|
return//Cant throw non objects atm might let it do mobs later
|
||||||
if(target.anchored || !isturf(target.loc))
|
if(target.anchored || !isturf(target.loc))
|
||||||
qdel(src)
|
qdel(src)
|
||||||
@@ -217,5 +213,4 @@ var/const/tk_maxrange = 15
|
|||||||
var/X = source:x
|
var/X = source:x
|
||||||
var/Y = source:y
|
var/Y = source:y
|
||||||
var/Z = source:z
|
var/Z = source:z
|
||||||
|
*/
|
||||||
*/
|
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
occupant_status += "</div></div>"
|
occupant_status += "</div></div>"
|
||||||
occupant_status += "<div class='line'><div class='statusLabel'>Health:</div><div class='progressBar'><div style='width: [viable_occupant.health]%;' class='progressFill good'></div></div><div class='statusValue'>[viable_occupant.health] %</div></div>"
|
occupant_status += "<div class='line'><div class='statusLabel'>Health:</div><div class='progressBar'><div style='width: [viable_occupant.health]%;' class='progressFill good'></div></div><div class='statusValue'>[viable_occupant.health] %</div></div>"
|
||||||
occupant_status += "<div class='line'><div class='statusLabel'>Radiation Level:</div><div class='progressBar'><div style='width: [viable_occupant.radiation]%;' class='progressFill bad'></div></div><div class='statusValue'>[viable_occupant.radiation] %</div></div>"
|
occupant_status += "<div class='line'><div class='statusLabel'>Radiation Level:</div><div class='progressBar'><div style='width: [viable_occupant.radiation]%;' class='progressFill bad'></div></div><div class='statusValue'>[viable_occupant.radiation] %</div></div>"
|
||||||
var/rejuvenators = viable_occupant.reagents.get_reagent_amount("epinephrine")
|
var/rejuvenators = viable_occupant.reagents.get_reagent_amount("potass_iodide")
|
||||||
occupant_status += "<div class='line'><div class='statusLabel'>Rejuvenators:</div><div class='progressBar'><div style='width: [round((rejuvenators / REJUVENATORS_MAX) * 100)]%;' class='progressFill highlight'></div></div><div class='statusValue'>[rejuvenators] units</div></div>"
|
occupant_status += "<div class='line'><div class='statusLabel'>Rejuvenators:</div><div class='progressBar'><div style='width: [round((rejuvenators / REJUVENATORS_MAX) * 100)]%;' class='progressFill highlight'></div></div><div class='statusValue'>[rejuvenators] units</div></div>"
|
||||||
occupant_status += "<div class='line'><div class='statusLabel'>Unique Enzymes :</div><div class='statusValue'><span class='highlight'>[viable_occupant.dna.unique_enzymes]</span></div></div>"
|
occupant_status += "<div class='line'><div class='statusLabel'>Unique Enzymes :</div><div class='statusValue'><span class='highlight'>[viable_occupant.dna.unique_enzymes]</span></div></div>"
|
||||||
occupant_status += "<div class='line'><div class='statusLabel'>Last Operation:</div><div class='statusValue'>[last_change ? last_change : "----"]</div></div>"
|
occupant_status += "<div class='line'><div class='statusLabel'>Last Operation:</div><div class='statusValue'>[last_change ? last_change : "----"]</div></div>"
|
||||||
@@ -350,9 +350,9 @@
|
|||||||
current_screen = href_list["text"]
|
current_screen = href_list["text"]
|
||||||
if("rejuv")
|
if("rejuv")
|
||||||
if(viable_occupant && viable_occupant.reagents)
|
if(viable_occupant && viable_occupant.reagents)
|
||||||
var/epinephrine_amount = viable_occupant.reagents.get_reagent_amount("epinephrine")
|
var/potassiodide_amount = viable_occupant.reagents.get_reagent_amount("potass_iodide")
|
||||||
var/can_add = max(min(REJUVENATORS_MAX - epinephrine_amount, REJUVENATORS_INJECT), 0)
|
var/can_add = max(min(REJUVENATORS_MAX - potassiodide_amount, REJUVENATORS_INJECT), 0)
|
||||||
viable_occupant.reagents.add_reagent("epinephrine", can_add)
|
viable_occupant.reagents.add_reagent("potass_iodide", can_add)
|
||||||
if("setbufferlabel")
|
if("setbufferlabel")
|
||||||
var/text = sanitize(input(usr, "Input a new label:", "Input an Text", null) as text|null)
|
var/text = sanitize(input(usr, "Input a new label:", "Input an Text", null) as text|null)
|
||||||
if(num && text)
|
if(num && text)
|
||||||
|
|||||||
@@ -27,13 +27,17 @@
|
|||||||
if ("small")
|
if ("small")
|
||||||
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
|
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
|
||||||
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
|
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
|
||||||
|
new /obj/item/clothing/mask/breath(src)
|
||||||
|
new /obj/item/clothing/mask/breath(src)
|
||||||
|
|
||||||
if ("aid")
|
if ("aid")
|
||||||
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
|
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
|
||||||
new /obj/item/weapon/storage/firstaid/o2(src)
|
new /obj/item/weapon/storage/firstaid/o2(src)
|
||||||
|
new /obj/item/clothing/mask/breath(src)
|
||||||
|
|
||||||
if ("tank")
|
if ("tank")
|
||||||
new /obj/item/weapon/tank/internals/air(src)
|
new /obj/item/weapon/tank/internals/air(src)
|
||||||
|
new /obj/item/clothing/mask/breath(src)
|
||||||
|
|
||||||
if ("both")
|
if ("both")
|
||||||
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
|
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
name = "necropolis chest"
|
name = "necropolis chest"
|
||||||
desc = "It's watching you closely."
|
desc = "It's watching you closely."
|
||||||
icon_state = "necrocrate"
|
icon_state = "necrocrate"
|
||||||
|
burn_state = LAVA_PROOF
|
||||||
|
|
||||||
/obj/structure/closet/crate/necropolis/tendril
|
/obj/structure/closet/crate/necropolis/tendril
|
||||||
desc = "It's watching you suspiciously."
|
desc = "It's watching you suspiciously."
|
||||||
|
|||||||
@@ -19,4 +19,6 @@
|
|||||||
msg += "[src]Core.exe has stopped responding! NTOS is searching for a solution to the problem...\n"
|
msg += "[src]Core.exe has stopped responding! NTOS is searching for a solution to the problem...\n"
|
||||||
msg += "*---------*</span>"
|
msg += "*---------*</span>"
|
||||||
|
|
||||||
user << msg
|
user << msg
|
||||||
|
|
||||||
|
..()
|
||||||
4
code/modules/mob/living/silicon/examine.dm
Normal file
4
code/modules/mob/living/silicon/examine.dm
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
/mob/living/silicon/examine(mob/user)
|
||||||
|
if(laws && isobserver(user))
|
||||||
|
user << "<b>[src] has the following laws:</b>"
|
||||||
|
laws.show_laws(user)
|
||||||
@@ -47,3 +47,5 @@
|
|||||||
msg += "*---------*</span>"
|
msg += "*---------*</span>"
|
||||||
|
|
||||||
user << msg
|
user << msg
|
||||||
|
|
||||||
|
..()
|
||||||
|
|||||||
@@ -58,6 +58,7 @@
|
|||||||
/datum/reagent/toxin/plasma/on_mob_life(mob/living/M)
|
/datum/reagent/toxin/plasma/on_mob_life(mob/living/M)
|
||||||
if(holder.has_reagent("epinephrine"))
|
if(holder.has_reagent("epinephrine"))
|
||||||
holder.remove_reagent("epinephrine", 2*REM)
|
holder.remove_reagent("epinephrine", 2*REM)
|
||||||
|
M.apply_effect(0.5*REM/M.metabolism_efficiency,IRRADIATE,0)
|
||||||
if(iscarbon(M))
|
if(iscarbon(M))
|
||||||
var/mob/living/carbon/C = M
|
var/mob/living/carbon/C = M
|
||||||
C.adjustPlasma(20)
|
C.adjustPlasma(20)
|
||||||
|
|||||||
Reference in New Issue
Block a user