Merge pull request #9132 from PsiOmegaDelta/dev

Dev
This commit is contained in:
PsiOmegaDelta
2015-05-07 09:23:45 +02:00
16 changed files with 1453 additions and 1467 deletions
+1 -5
View File
@@ -32,13 +32,9 @@ var/datum/antagonist/ert/ert
player.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(src), slot_gloves)
player.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(src), slot_glasses)
var/obj/item/weapon/card/id/W = new(src)
W.assignment = "Emergency Response Team"
var/obj/item/weapon/card/id/centcom/ERT/W = new(src)
W.registered_name = player.real_name
W.name = "[player.real_name]'s ID Card ([W.assignment])"
W.icon_state = "centcom"
W.access = get_all_accesses()
W.access += get_all_centcom_access()
player.equip_to_slot_or_del(W, slot_wear_id)
return 1
+3
View File
@@ -54,6 +54,9 @@
return
/obj/machinery/computer/bullet_act(var/obj/item/projectile/Proj)
if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN))
return
if(prob(Proj.damage))
set_broken()
..()
+3 -44
View File
@@ -504,42 +504,12 @@
/obj/machinery/porta_turret/proc/assess_perp(var/mob/living/carbon/human/H)
if(!H || !istype(H))
return
return 0
if(emagged)
return 10
var/threatcount = 0
var/obj/item/weapon/card/id/id = GetIdCard(H) //Agent cards lower threatlevel.
if(id && istype(id, /obj/item/weapon/card/id/syndicate))
threatcount -= 2
if(check_weapons && !allowed(H))
if(istype(H.l_hand, /obj/item/weapon/gun) || istype(H.l_hand, /obj/item/weapon/melee))
threatcount += 4
if(istype(H.r_hand, /obj/item/weapon/gun) || istype(H.r_hand, /obj/item/weapon/melee))
threatcount += 4
if(istype(H.belt, /obj/item/weapon/gun) || istype(H.belt, /obj/item/weapon/melee))
threatcount += 2
if(H.species.name != "Human")
threatcount += 2
if(check_records || check_arrest)
var/perpname = H.name
if(id)
perpname = id.registered_name
var/datum/data/record/R = find_security_record("name", perpname)
if(check_records && !R)
threatcount += 4
if(check_arrest && R && (R.fields["criminal"] == "*Arrest*"))
threatcount += 4
return threatcount
return H.assess_perp(src, check_weapons, check_records, check_arrest)
/obj/machinery/porta_turret/proc/tryToShootAt(var/list/mob/living/targets)
if(targets.len && last_target && (last_target in targets) && target(last_target))
@@ -587,17 +557,6 @@
invisibility = INVISIBILITY_LEVEL_TWO
update_icon()
/*
/obj/machinery/porta_turret/on_assess_perp(mob/living/carbon/human/perp)
if((check_access || attacked) && !allowed(perp))
//if the turret has been attacked or is angry, target all non-authorized personnel, see req_access
return 10
return ..()
*/
/obj/machinery/porta_turret/proc/target(var/mob/living/target)
if(disabled)
return
@@ -613,7 +572,7 @@
/obj/machinery/porta_turret/proc/shootAt(var/mob/living/target)
//any emagged turrets will shoot extremely fast! This not only is deadly, but drains a lot power!
if(!emagged) //if it hasn't been emagged, it has to obey a cooldown rate
if(!(emagged || attacked)) //if it hasn't been emagged or attacked, it has to obey a cooldown rate
if(last_fired || !raised) //prevents rapid-fire shooting, unless it's been emagged
return
last_fired = 1
@@ -35,9 +35,6 @@
R.notify_ai(ROBOT_NOTIFICATION_MODULE_RESET, R.module.name)
R.module.Reset(R)
qdel(R.module)
R.module = null
R.updatename("Default")
return 1
@@ -293,3 +293,11 @@
New()
access = get_all_centcom_access()
..()
/obj/item/weapon/card/id/centcom/ERT
name = "\improper Emergency Response Team ID"
assignment = "Emergency Response Team"
/obj/item/weapon/card/id/centcom/ERT/New()
..()
access += get_all_accesses()
@@ -37,5 +37,4 @@
i++
/obj/item/weapon/storage/box/donut/empty
icon_state = "donutbox0"
startswith = 0
+3 -43
View File
@@ -334,53 +334,13 @@
path = list()
/mob/living/bot/secbot/proc/check_threat(var/mob/living/M)
if(M.stat == DEAD)
if(!M || !istype(M) || M.stat)
return 0
if(emagged)
return 10
var/threatcount = 0
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.handcuffed)
return 0
var/obj/item/weapon/card/id/id = GetIdCard(H) //Agent cards lower threatlevel.
if(id && istype(id, /obj/item/weapon/card/id/syndicate))
threatcount -= 2
if(idcheck && !access_scanner.allowed(H))
if(istype(H.l_hand, /obj/item/weapon/gun) || istype(H.l_hand, /obj/item/weapon/melee))
threatcount += 4
if(istype(H.r_hand, /obj/item/weapon/gun) || istype(H.r_hand, /obj/item/weapon/melee))
threatcount += 4
if(istype(H.belt, /obj/item/weapon/gun) || istype(H.belt, /obj/item/weapon/melee))
threatcount += 2
if(H.species.name != "Human") //beepsky so racist.
threatcount += 2
if(check_records || check_arrest)
var/perpname = H.name
if(id)
perpname = id.registered_name
var/datum/data/record/R = find_security_record("name", perpname)
if(check_records && !R)
threatcount += 4
if(check_arrest && R && (R.fields["criminal"] == "*Arrest*"))
threatcount += 4
else if(isanimal(M))
if(istype(M, /mob/living/simple_animal/hostile) && !istype(M, /mob/living/simple_animal/hostile/retaliate/goat))
threatcount += 4
return threatcount
return M.assess_perp(access_scanner, idcheck, check_records, check_arrest)
/mob/living/bot/secbot/proc/patrol_step()
if(loc == patrol_target)
+1 -1
View File
@@ -1,7 +1,7 @@
mob/living/carbon/verb/give(var/mob/living/carbon/target in view(1)-usr)
set category = "IC"
set name = "Give"
if(target.stat == 2 || usr.stat == 2|| target.client == null)
if(!istype(target) || target.stat == 2 || usr.stat == 2|| target.client == null)
return
var/obj/item/I
if(!usr.hand && usr.r_hand == null)
@@ -36,27 +36,31 @@ var/global/list/robot_modules = list(
// Bookkeeping
var/list/added_languages = list()
var/list/added_networks = list()
var/obj/item/device/radio/borg/modified_radio = null
var/list/modified_key = null
var/list/original_radio_channels = list()
/obj/item/weapon/robot_module/New(var/mob/living/silicon/robot/R)
..()
add_camera_networks(R)
add_languages(R)
add_radio_channels(R)
add_subsystems(R)
apply_status_flags(R)
if(R.radio)
R.radio.recalculateChannels()
/obj/item/weapon/robot_module/proc/Reset(var/mob/living/silicon/robot/R)
..()
R.module = null
remove_camera_networks(R)
remove_languages(R)
remove_radio_channels(R)
remove_subsystems(R)
remove_status_flags(R)
/obj/item/weapon/robot_module/Destroy()
if(R.radio)
R.radio.recalculateChannels()
qdel(src)
/obj/item/weapon/robot_module/Destroy()
qdel(modules)
qdel(synths)
qdel(emag)
@@ -115,23 +119,6 @@ var/global/list/robot_modules = list(
R.camera.remove_networks(added_networks)
added_networks.Cut()
/obj/item/weapon/robot_module/proc/add_radio_channels(var/mob/living/silicon/robot/R)
if(!R.radio)
return
modified_radio = R.radio
modified_key = R.radio.keyslot
original_radio_channels = modified_radio.channels.Copy()
modified_radio.config(channels)
/obj/item/weapon/robot_module/proc/remove_radio_channels(var/mob/living/silicon/robot/R)
// Only reset if the original radio component hasn't been altered/replaced
if(!(R.radio && R.radio == modified_radio && R.radio.keyslot == modified_key))
return
modified_radio.config(original_radio_channels)
original_radio_channels.Cut()
/obj/item/weapon/robot_module/proc/add_subsystems(var/mob/living/silicon/robot/R)
R.verbs |= subsystems
+58
View File
@@ -619,3 +619,61 @@ proc/is_blind(A)
// Returns true if the mob has a client which has been active in the last given X minutes.
/mob/proc/is_client_active(var/active = 1)
return client && client.inactivity < active MINUTES
#define SAFE_PERP -50
/mob/living/proc/assess_perp(var/auth_weapons, var/check_records, var/check_arrest)
if(stat == DEAD)
return SAFE_PERP
return 0
/mob/living/carbon/human/assess_perp(var/obj/access_obj, var/auth_weapons, var/check_records, var/check_arrest)
var/threatcount = ..()
if(. == SAFE_PERP)
return SAFE_PERP
//Agent cards lower threatlevel.
var/obj/item/weapon/card/id/id = GetIdCard(src)
if(id && istype(id, /obj/item/weapon/card/id/syndicate))
threatcount -= 2
// A proper CentCom id is hard currency.
else if(id && istype(id, /obj/item/weapon/card/id/centcom))
return SAFE_PERP
if(auth_weapons && !access_obj.allowed(src))
if(istype(l_hand, /obj/item/weapon/gun) || istype(l_hand, /obj/item/weapon/melee))
threatcount += 4
if(istype(r_hand, /obj/item/weapon/gun) || istype(r_hand, /obj/item/weapon/melee))
threatcount += 4
if(istype(belt, /obj/item/weapon/gun) || istype(belt, /obj/item/weapon/melee))
threatcount += 2
if(species.name != "Human")
threatcount += 2
if(check_records || check_arrest)
var/perpname = name
if(id)
perpname = id.registered_name
var/datum/data/record/R = find_security_record("name", perpname)
if(check_records && !R)
threatcount += 4
if(check_arrest && R && (R.fields["criminal"] == "*Arrest*"))
threatcount += 4
return threatcount
/mob/living/simple_animal/hostile/assess_perp(var/obj/access_obj, var/auth_weapons, var/check_records, var/check_arrest)
var/threatcount = ..()
if(. == SAFE_PERP)
return SAFE_PERP
if(!istype(src, /mob/living/simple_animal/hostile/retaliate/goat))
threatcount += 4
return threatcount
#undef SAFE_PERP
+17
View File
@@ -56,6 +56,23 @@
-->
<div class="commit sansserif">
<h2 class="date">07 May 2015</h2>
<h3 class="author">HarpyEagle updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Breaking out of lockers now has sound and animation.</li>
</ul>
<h3 class="author">PsiOmegaDelta updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">The cloning computer can again successfully locate nearby cloning vats and DNA scanners at round start.</li>
<li class="rscadd">Security equipment now treats individuals with CentCom ids with the greatest respect.</li>
<li class="maptweak">Adds stretches of power cable around the construction outpost, ensuring one does not have to climb over machines to being laying cables.</li>
</ul>
<h3 class="author">RavingManiac updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Muzzle-flash lighting effect for guns</li>
<li class="rscadd">Energy guns now display shots remaining on examine</li>
</ul>
<h2 class="date">06 May 2015</h2>
<h3 class="author">PsiOmegaDelta updated:</h3>
<ul class="changes bgimages16">
+13
View File
@@ -1714,3 +1714,16 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
PsiOmegaDelta:
- rscadd: Examining a pen or crayon now lists the available special commands in
the examine tab.
2015-05-07:
HarpyEagle:
- rscadd: Breaking out of lockers now has sound and animation.
PsiOmegaDelta:
- bugfix: The cloning computer can again successfully locate nearby cloning vats
and DNA scanners at round start.
- rscadd: Security equipment now treats individuals with CentCom ids with the greatest
respect.
- maptweak: Adds stretches of power cable around the construction outpost, ensuring
one does not have to climb over machines to being laying cables.
RavingManiac:
- rscadd: Muzzle-flash lighting effect for guns
- rscadd: Energy guns now display shots remaining on examine
@@ -1,4 +0,0 @@
author: PsiOmegaDelta
delete-after: True
changes:
- bugfix: "The cloning computer can again successfully locate nearby cloning vats and DNA scanners at round start."
@@ -1,4 +0,0 @@
author: PsiOmegaDelta
delete-after: True
changes:
- maptweak: "Adds stretches of power cable around the construction outpost, ensuring one does not have to climb over machines to being laying cables."
-5
View File
@@ -1,5 +0,0 @@
author: RavingManiac
delete-after: true
changes:
- rscadd: "Muzzle-flash lighting effect for guns"
- rscadd: "Energy guns now display shots remaining on examine"
+1335 -1333
View File
File diff suppressed because it is too large Load Diff