mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-24 17:11:40 +00:00
Merge branch 'master' of git://github.com/Baystation12/Baystation12 into TGUpdates
This commit is contained in:
@@ -14,10 +14,10 @@
|
||||
i++
|
||||
if(i%2 == 0)
|
||||
color = "#f2f2f2"
|
||||
var/real = (M.real_name == M.original_name ? M.real_name : "[M.original_name] (as [M.real_name])")
|
||||
var/real = (M.real_name == M.original_name ? "<b>[M.name]/[M.real_name]</b>" : "<b>[M.original_name] (as [M.name]/[M.real_name])</b>")
|
||||
var/turf/T = get_turf(M)
|
||||
var/client_key = (M.key? M.key : "No key")
|
||||
dat += "<tr align='center' bgcolor='[color]'><td>[M.name] \[[real]\] <br>[M.client ? M.client : "No client ([client_key])"] at ([T.x], [T.y], [T.z])</td>" // Adds current name
|
||||
dat += "<tr align='center' bgcolor='[color]'><td>[real] <br>[M.client ? M.client : "No client ([client_key])"] at ([T.x], [T.y], [T.z])</td>" // Adds current name
|
||||
if(isobserver(M))
|
||||
dat += "<td>Ghost</td>"
|
||||
else if(isalien(M))
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
alert("Admin jumping disabled")
|
||||
return
|
||||
|
||||
/client/proc/jumptomob()
|
||||
/client/proc/jumptomob(var/mob/M in world)
|
||||
set category = "Admin"
|
||||
set name = "Jump to Mob"
|
||||
|
||||
@@ -37,12 +37,13 @@
|
||||
return
|
||||
|
||||
if(config.allow_admin_jump)
|
||||
var/mobs = getmobs()
|
||||
var/selection = input("Please, select a player!", "Admin Jumping", null, null) as null|anything in mobs
|
||||
if(!selection)
|
||||
return
|
||||
|
||||
var/mob/M = mobs[selection]
|
||||
if(!M || !istype(M))
|
||||
var/mobs = getmobs()
|
||||
var/selection = input("Please, select a player!", "Admin Jumping", null, null) as null|anything in mobs
|
||||
if(!selection)
|
||||
return
|
||||
|
||||
M = mobs[selection]
|
||||
var/mob/A = src.mob
|
||||
var/turf/T = get_turf(M)
|
||||
if(T && isturf(T))
|
||||
@@ -94,7 +95,7 @@
|
||||
else
|
||||
alert("Admin jumping disabled")
|
||||
|
||||
/client/proc/Getmob()
|
||||
/client/proc/Getmob(var/mob/M)
|
||||
set category = "Admin"
|
||||
set name = "Get Mob"
|
||||
set desc = "Mob to teleport"
|
||||
@@ -102,11 +103,12 @@
|
||||
src << "Only administrators may use this command."
|
||||
return
|
||||
if(config.allow_admin_jump)
|
||||
var/mobs = getmobs()
|
||||
var/selection = input("Please, select a player!", "Admin Jumping", null, null) as null|anything in mobs
|
||||
var/mob/M = mobs[selection]
|
||||
if(!istype(M))
|
||||
return
|
||||
if(!M || !istype(M))
|
||||
var/mobs = getmobs()
|
||||
var/selection = input("Please, select a player!", "Admin Jumping", null, null) as null|anything in mobs
|
||||
M = mobs[selection]
|
||||
if(!istype(M))
|
||||
return
|
||||
var/mob/A = src.mob
|
||||
var/turf/T = get_turf(A)
|
||||
if(T && isturf(T))
|
||||
|
||||
@@ -107,16 +107,9 @@
|
||||
break
|
||||
else
|
||||
C.images += image(tempHud,perp,"hudunknown")
|
||||
if(hasorgans(perp))
|
||||
for(var/datum/organ/external/E in perp)
|
||||
for(var/obj/item/weapon/implant/I in E.implant)
|
||||
if(I.implanted)
|
||||
if(istype(I,/obj/item/weapon/implant/tracking))
|
||||
C.images += image(tempHud,perp,"hud_imp_tracking")
|
||||
if(istype(I,/obj/item/weapon/implant/loyalty))
|
||||
C.images += image(tempHud,perp,"hud_imp_loyal")
|
||||
else
|
||||
for(var/obj/item/weapon/implant/I in perp)
|
||||
for(var/named in perp.organs)
|
||||
var/datum/organ/external/E = perp.organs[named]
|
||||
for(var/obj/item/weapon/implant/I in E.implant)
|
||||
if(I.implanted)
|
||||
if(istype(I,/obj/item/weapon/implant/tracking))
|
||||
C.images += image(tempHud,perp,"hud_imp_tracking")
|
||||
|
||||
@@ -999,7 +999,7 @@
|
||||
var/blood_max = 0
|
||||
for(var/name in organs)
|
||||
var/datum/organ/external/temp = organs[name]
|
||||
if(!temp.bleeding)
|
||||
if(!temp.bleeding || temp.robot) //THAT WAS DUMB.
|
||||
continue
|
||||
// else
|
||||
// if(prob(35))
|
||||
|
||||
@@ -1021,3 +1021,29 @@
|
||||
parts -= picked
|
||||
updatehealth()
|
||||
UpdateDamageIcon()
|
||||
|
||||
/mob/living/carbon/monkey/getBruteLoss()
|
||||
var/amount = 0.0
|
||||
for(var/name in organs)
|
||||
var/datum/organ/external/O = organs[name]
|
||||
if(!O.robot) amount+= O.brute_dam
|
||||
return amount
|
||||
|
||||
/mob/living/carbon/monkey/adjustBruteLoss(var/amount, var/used_weapon = null)
|
||||
if(amount > 0)
|
||||
take_overall_damage(amount, 0, used_weapon)
|
||||
else
|
||||
heal_overall_damage(-amount, 0)
|
||||
|
||||
/mob/living/carbon/monkey/getFireLoss()
|
||||
var/amount = 0.0
|
||||
for(var/name in organs)
|
||||
var/datum/organ/external/O = organs[name]
|
||||
if(!O.robot) amount+= O.burn_dam
|
||||
return amount
|
||||
|
||||
/mob/living/carbon/monkey/adjustFireLoss(var/amount,var/used_weapon = null)
|
||||
if(amount > 0)
|
||||
take_overall_damage(0, amount, used_weapon)
|
||||
else
|
||||
heal_overall_damage(0, -amount)
|
||||
@@ -95,6 +95,13 @@
|
||||
L |= E:contents
|
||||
for(var/obj/item/smallDelivery/S in L)
|
||||
L |= S.wrapped
|
||||
if(hasorgans(src))
|
||||
for(var/named in src:organs)
|
||||
var/datum/organ/external/O = src:organs[named]
|
||||
for(var/obj/item/weapon/implant/I in O.implant)
|
||||
L |= I
|
||||
if(istype(I, /obj/item/weapon/implant/compressed))
|
||||
L |= I:scanned
|
||||
|
||||
for(var/obj/B in L)
|
||||
if(B.type == A)
|
||||
@@ -114,6 +121,13 @@
|
||||
L |= E:contents
|
||||
for(var/obj/item/smallDelivery/S in L)
|
||||
L |= S.wrapped
|
||||
if(hasorgans(src))
|
||||
for(var/named in src:organs)
|
||||
var/datum/organ/external/O = src:organs[named]
|
||||
for(var/obj/item/weapon/implant/I in O.implant)
|
||||
L |= I
|
||||
if(istype(I, /obj/item/weapon/implant/compressed))
|
||||
L |= I:scanned
|
||||
|
||||
for(var/obj/item/weapon/reagent_containers/B in L)
|
||||
for(var/datum/reagent/R in B.reagents.reagent_list)
|
||||
|
||||
@@ -339,7 +339,7 @@
|
||||
for(var/mob/M in listening)
|
||||
eavesdroppers.Remove(M)
|
||||
for(var/mob/M in eavesdroppers)
|
||||
if(M.stat || !M.client)
|
||||
if(M.stat || !M.client || istype(M, /mob/living/silicon/pai) || M == src)
|
||||
eavesdroppers.Remove(M)
|
||||
|
||||
for (var/obj/O in ((W | contents)-used_radios))
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
if (length(message) >= 2)
|
||||
if ((copytext(message, 1, 3) == ":s") || (copytext(message, 1, 3) == ":S"))
|
||||
if(istype(src, /mob/living/silicon/pai))
|
||||
return ..(message)
|
||||
// if(istype(src, /mob/living/silicon/pai))
|
||||
// return ..(message)
|
||||
message = copytext(message, 3)
|
||||
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
|
||||
robot_talk(message)
|
||||
|
||||
@@ -162,6 +162,8 @@
|
||||
if(!special_check(user)) return
|
||||
if(!load_into_chamber())
|
||||
user.visible_message("*click click*", "\red <b>*click*</b>")
|
||||
for(var/mob/K in viewers(usr))
|
||||
K << 'empty.ogg'
|
||||
return
|
||||
|
||||
if(!in_chamber) return
|
||||
@@ -250,6 +252,8 @@
|
||||
told_cant_shoot = 0
|
||||
else
|
||||
usr.visible_message("*click click*", "\red <b>*click*</b>")
|
||||
for(var/mob/K in viewers(usr))
|
||||
K << 'empty.ogg'
|
||||
var/dir_to_fire = sd_get_approx_dir(M,T)
|
||||
if(dir_to_fire != M.dir)
|
||||
M.dir = dir_to_fire
|
||||
|
||||
Reference in New Issue
Block a user