Merge pull request #9757 from PsiOmegaDelta/dev

Dev
This commit is contained in:
PsiOmegaDelta
2015-06-09 12:33:12 +02:00
10 changed files with 72 additions and 43 deletions
+23 -9
View File
@@ -1,12 +1,19 @@
/mob/proc/on_mob_jump()
return
/mob/dead/observer/on_mob_jump()
following = null
/client/proc/Jump(var/area/A in return_sorted_areas())
set name = "Jump to Area"
set desc = "Area to jump to"
set category = "Admin"
if(!src.holder)
if(!check_rights(R_ADMIN, user = src))
src << "Only administrators may use this command."
return
if(config.allow_admin_jump)
usr.on_mob_jump()
usr.loc = pick(get_area_turfs(A))
log_admin("[key_name(usr)] jumped to [A]")
@@ -18,12 +25,13 @@
/client/proc/jumptoturf(var/turf/T in world)
set name = "Jump to Turf"
set category = "Admin"
if(!src.holder)
if(!check_rights(R_ADMIN, user = src))
src << "Only administrators may use this command."
return
if(config.allow_admin_jump)
log_admin("[key_name(usr)] jumped to [T.x],[T.y],[T.z] in [T.loc]")
message_admins("[key_name_admin(usr)] jumped to [T.x],[T.y],[T.z] in [T.loc]", 1)
usr.on_mob_jump()
usr.loc = T
feedback_add_details("admin_verb","JT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
else
@@ -34,7 +42,7 @@
set category = "Admin"
set name = "Jump to Mob"
if(!src.holder)
if(!check_rights(R_ADMIN, user = src))
src << "Only administrators may use this command."
return
@@ -46,6 +54,7 @@
var/turf/T = get_turf(M)
if(T && isturf(T))
feedback_add_details("admin_verb","JM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
A.on_mob_jump()
A.loc = T
else
A << "This mob is not located in the game world."
@@ -56,13 +65,14 @@
set category = "Admin"
set name = "Jump to Coordinate"
if (!holder)
if(!check_rights(R_ADMIN, user = src))
src << "Only administrators may use this command."
return
if (config.allow_admin_jump)
if(src.mob)
var/mob/A = src.mob
A.on_mob_jump()
A.x = tx
A.y = ty
A.z = tz
@@ -76,7 +86,7 @@
set category = "Admin"
set name = "Jump to Key"
if(!src.holder)
if(!check_rights(R_ADMIN, user = src))
src << "Only administrators may use this command."
return
@@ -91,6 +101,7 @@
var/mob/M = selection:mob
log_admin("[key_name(usr)] jumped to [key_name(M)]")
message_admins("[key_name_admin(usr)] jumped to [key_name_admin(M)]", 1)
usr.on_mob_jump()
usr.loc = M.loc
feedback_add_details("admin_verb","JK") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
else
@@ -100,12 +111,13 @@
set category = "Admin"
set name = "Get Mob"
set desc = "Mob to teleport"
if(!src.holder)
if(!check_rights(R_ADMIN, user = src))
src << "Only administrators may use this command."
return
if(config.allow_admin_jump)
log_admin("[key_name(usr)] teleported [key_name(M)]")
message_admins("[key_name_admin(usr)] teleported [key_name_admin(M)]", 1)
M.on_mob_jump()
M.loc = get_turf(usr)
feedback_add_details("admin_verb","GM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
else
@@ -116,7 +128,7 @@
set name = "Get Key"
set desc = "Key to teleport"
if(!src.holder)
if(!check_rights(R_ADMIN, user = src))
src << "Only administrators may use this command."
return
@@ -134,6 +146,7 @@
log_admin("[key_name(usr)] teleported [key_name(M)]")
message_admins("[key_name_admin(usr)] teleported [key_name(M)]", 1)
if(M)
M.on_mob_jump()
M.loc = get_turf(usr)
feedback_add_details("admin_verb","GK") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
else
@@ -142,16 +155,17 @@
/client/proc/sendmob(var/mob/M in sortmobs())
set category = "Admin"
set name = "Send Mob"
if(!src.holder)
if(!check_rights(R_ADMIN, user = src))
src << "Only administrators may use this command."
return
var/area/A = input(usr, "Pick an area.", "Pick an area") in return_sorted_areas()
if(A)
if(config.allow_admin_jump)
M.on_mob_jump()
M.loc = pick(get_area_turfs(A))
feedback_add_details("admin_verb","SMOB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(usr)] teleported [key_name(M)] to [A]")
message_admins("[key_name_admin(usr)] teleported [key_name_admin(M)] to [A]", 1)
else
alert("Admin jumping disabled")
alert("Admin jumping disabled")
+24 -19
View File
@@ -83,6 +83,10 @@
if(H.wear_suit != src)
return
if(boots)
if (H.equip_to_slot_if_possible(boots, slot_shoes))
boots.canremove = 0
if(helmet)
if(H.head)
M << "You are unable to deploy your suit's helmet as \the [H.head] is in the way."
@@ -90,10 +94,6 @@
M << "Your suit's helmet deploys with a hiss."
helmet.canremove = 0
if(boots)
if (H.equip_to_slot_if_possible(boots, slot_shoes))
boots.canremove = 0
if(tank)
if(H.s_store) //In case someone finds a way.
M << "Alarmingly, the valve on your suit's installed tank fails to engage."
@@ -101,6 +101,7 @@
M << "The valve on your suit's installed tank safely engages."
tank.canremove = 0
/obj/item/clothing/suit/space/void/dropped()
..()
@@ -151,7 +152,7 @@
helmet.loc = src
else
if(H.head)
H << "<span class='danger'>You cannot deploy your helmet while wearing another helmet.</span>"
H << "<span class='danger'>You cannot deploy your helmet while wearing \the [H.head].</span>"
return
if(H.equip_to_slot_if_possible(helmet, slot_head))
helmet.pickup(H)
@@ -161,7 +162,7 @@
/obj/item/clothing/suit/space/void/verb/eject_tank()
set name = "Eject Tank"
set name = "Eject Voidsuit Tank"
set category = "Object"
set src in usr
@@ -187,22 +188,26 @@
if(!istype(user,/mob/living)) return
if(istype(src.loc,/mob/living))
user << "<span class='danger'>How do you propose to modify a hardsuit while it is being worn?</span>"
user << "<span class='danger'>How do you propose to modify a voidsuit while it is being worn?</span>"
return
if(istype(W,/obj/item/weapon/screwdriver))
if(tank)
user << "You pop \the [tank] out of \the [src]'s storage compartment."
tank.loc = get_turf(src)
src.tank = null
else if(helmet)
user << "You detatch \the [helmet] from \the [src]'s helmet mount."
helmet.loc = get_turf(src)
src.helmet = null
else if (boots)
user << "You detatch \the [boots] from \the [src]'s boot mounts."
boots.loc = get_turf(src)
src.boots = null
if(helmet || boots || tank)
var/choice = input("What component would you like to remove?") as null|anything in list(helmet,boots,tank)
if(!choice) return
if(choice == tank) //No, a switch doesn't work here. Sorry. ~Techhead
user << "You pop \the [tank] out of \the [src]'s storage compartment."
tank.loc = get_turf(src)
src.tank = null
else if(choice == helmet)
user << "You detatch \the [helmet] from \the [src]'s helmet mount."
helmet.loc = get_turf(src)
src.helmet = null
else if(choice == boots)
user << "You detatch \the [boots] from \the [src]'s boot mounts."
boots.loc = get_turf(src)
src.boots = null
else
user << "\The [src] does not have anything installed."
return
+1 -1
View File
@@ -672,7 +672,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
mob/dead/observer/MayRespawn(var/feedback = 0)
if(!client)
return 0
if(mind && mind.current && mind.current.stat != DEAD)
if(mind && mind.current && mind.current.stat != DEAD && can_reenter_corpse)
if(feedback)
src << "<span class='warning'>Your non-dead body prevent you from respawning.</span>"
return 0
+8 -4
View File
@@ -645,16 +645,20 @@ var/list/ai_verbs_default = list(
set desc = "Augment visual feed with internal sensor overlays"
toggle_sensor_mode()
/mob/living/silicon/ai/proc/check_unable(var/flags = 0)
/mob/living/silicon/ai/proc/check_unable(var/flags = 0, var/feedback = 1)
if(stat == DEAD)
src << "<span class='warning'>You are dead!</span>"
if(feedback) src << "<span class='warning'>You are dead!</span>"
return 1
if(aiRestorePowerRoutine)
if(feedback) src << "<span class='warning'>You lack power!</span>"
return 1
if((flags & AI_CHECK_WIRELESS) && src.control_disabled)
src << "<span class='warning'>Wireless control is disabled!</span>"
if(feedback) src << "<span class='warning'>Wireless control is disabled!</span>"
return 1
if((flags & AI_CHECK_RADIO) && src.aiRadio.disabledAi)
src << "<span class='warning'>System Error - Transceiver Disabled!</span>"
if(feedback) src << "<span class='warning'>System Error - Transceiver Disabled!</span>"
return 1
return 0
+4 -3
View File
@@ -1,5 +1,5 @@
/mob/living/silicon/ai/Life()
if (src.stat == 2)
if (src.stat == DEAD)
return
else //I'm not removing that shitton of tabs, unneeded as they are. -- Urist
//Being dead doesn't mean your temperature never changes
@@ -33,8 +33,8 @@
aiRestorePowerRoutine = 0 // Necessary if AI activated it's APU AFTER losing primary power.
adjustOxyLoss(-1)
// Handle EMP-stun
handle_stunned()
handle_stunned() // Handle EMP-stun
lying = 0 // Handle lying down
malf_process()
@@ -180,3 +180,4 @@
/mob/living/silicon/ai/rejuvenate()
..()
add_ai_verbs(src)
+1 -1
View File
@@ -21,7 +21,7 @@
/mob/living/silicon/ai/shared_nano_interaction()
if(lacks_power())
return STATUS_CLOSE
if (check_unable(1))
if (check_unable(1, 0))
return STATUS_CLOSE
return ..()
+1 -1
View File
@@ -50,7 +50,7 @@
return
if(!affects_dead && M.stat == DEAD)
return
if(overdose && (location == CHEM_BLOOD))
if(overdose && (dose > overdose) && (location == CHEM_BLOOD))
overdose(M, alien)
var/removed = metabolism
if(ingest_met && (location == CHEM_INGEST))
+6
View File
@@ -56,6 +56,12 @@
-->
<div class="commit sansserif">
<h2 class="date">09 June 2015</h2>
<h3 class="author">PsiOmegaDelta updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Ports /tg/'s meteor event. Meteors now appear to be more accurate, come in a greater variety, and may drop ores on their final destruction.</li>
</ul>
<h2 class="date">08 June 2015</h2>
<h3 class="author">PsiOmegaDelta updated:</h3>
<ul class="changes bgimages16">
+4
View File
@@ -1967,3 +1967,7 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
PsiOmegaDelta:
- rscadd: The AI chassis now glows, with the color depending on the currently selected
display.
2015-06-09:
PsiOmegaDelta:
- rscadd: Ports /tg/'s meteor event. Meteors now appear to be more accurate, come
in a greater variety, and may drop ores on their final destruction.
@@ -1,5 +0,0 @@
author: PsiOmegaDelta
delete-after: True
changes:
- rscadd: "Ports /tg/'s meteor event. Meteors now appear to be more accurate, come in a greater variety, and may drop ores on their final destruction."