Theft Objective Tweaking

- AI stealing objective actually requires an AI inside the intellicard
now.
- RD and xenobiologists no longer get the slime extract objective.
- HoS and Warden can no longer get ablative vest objective.
- HoP can no longer get corgi meat objective.
- CE, RD, Scientists, Engineers, and Life Support Specialists can no
longer get plasma objective.
- Slime extract objective requires that slime extract be unused.
- Renames "nuclear gun" objective to "advanced energy gun" to clear up
some confusion.
This commit is contained in:
DZD
2015-01-30 21:26:15 -05:00
parent 3fbc8f9bc8
commit 1430eb11f1
3 changed files with 25 additions and 5 deletions
+1 -1
View File
@@ -743,7 +743,7 @@ datum/objective/minimize_casualties
check_completion()
if(owner.kills.len>5) return 0
return 1
//Vox heist objectives.
datum/objective/heist
+23 -3
View File
@@ -17,13 +17,16 @@
return 0
var/list/all_items = owner.current.get_contents()
for(var/obj/I in all_items) //Check for items
if(istype(I, typepath))
if(istype(I, typepath) && check_special_completion(I))
//Stealing the cheap autoinjector doesn't count
if(istype(I, /obj/item/weapon/reagent_containers/hypospray/autoinjector))
continue
return 1
return 0
/datum/proc/check_special_completion() //for objectives with special checks (is that slime extract unused? does that intellicard have an ai in it? etcetc)
return 1
/datum/theft_objective/antique_laser_gun
name = "the captain's antique laser gun"
typepath = /obj/item/weapon/gun/energy/laser/captain
@@ -52,6 +55,13 @@
name = "a functional AI"
typepath = /obj/item/device/aicard
datum/theft_objective/ai/check_special_completion(var/obj/item/device/aicard/C)
if(..())
for(var/mob/living/silicon/ai/A in C)
if(istype(A, /mob/living/silicon/ai) && A.stat != 2) //See if any AI's are alive inside that card.
return 1
return 0
/datum/theft_objective/defib
name = "a defibrillator"
typepath = /obj/item/weapon/defibrillator
@@ -73,12 +83,20 @@
protected_jobs = list("Research Director")
/datum/theft_objective/slime_extract
name = "a sample of slime extract"
name = "a sample of unused slime extract"
typepath = /obj/item/slime_extract
protected_jobs = list("Research Director","Xenobiologist")
/datum/theft_objective/slime_extract/check_special_completion(var/obj/item/slime_extract/E)
if(..())
if(E.Uses > 0)
return 1
return 0
/datum/theft_objective/corgi
name = "a piece of corgi meat"
typepath = /obj/item/weapon/reagent_containers/food/snacks/meat/corgi
protected_jobs = list("Head of Personnel")
/datum/theft_objective/capmedal
name = "the medal of captaincy"
@@ -133,6 +151,7 @@
/datum/theft_objective
name = "an ablative armor vest"
typepath = /obj/item/clothing/suit/armor/laserproof
protected_jobs = list("Head of Security", "Warden")
/datum/theft_objective/number
var/min=0
@@ -170,6 +189,7 @@
typepath = /obj/item/weapon/tank
min=28
max=28
protected_jobs = list("Chief Engineer", "Engineer", "Scientist", "Research Director", "Life Support Specialist")
/datum/theft_objective/number/plasma_gas/getAmountStolen(var/obj/item/I)
return I:air_contents:toxins
@@ -201,7 +221,7 @@
flags = THEFT_FLAG_SPECIAL
/datum/theft_objective/special/nuke_gun
name = "nuclear gun"
name = "advanced energy gun"
typepath = /obj/item/weapon/gun/energy/gun/nuclear
/datum/theft_objective/special/diamond_drill
+1 -1
View File
@@ -16,7 +16,7 @@
</script>
<script type='text/javascript' src='libraries.min.js'></script> <script type='text/javascript' src='nano_utility.js'></script> <script type='text/javascript' src='nano_template.js'></script> <script type='text/javascript' src='nano_state_manager.js'></script> <script type='text/javascript' src='nano_state.js'></script> <script type='text/javascript' src='nano_state_default.js'></script> <script type='text/javascript' src='nano_base_callbacks.js'></script> <script type='text/javascript' src='nano_base_helpers.js'></script> <link rel='stylesheet' type='text/css' href='shared.css'> <link rel='stylesheet' type='text/css' href='icons.css'> <link rel='stylesheet' type='text/css' href='layout_default.css'>
</head>
<body scroll=auto data-template-data='{"main":"pda.tmpl","layout":"layout_default.tmpl"}' data-url-parameters='{"src":"[0x210147f2]"}' data-initial-data='{"config":{"title":"Personal Data Assistant","srcObject":{"name":"PDA-Laura Siegrist (Chief Engineer)"},"stateKey":"default","status":2,"autoUpdateLayout":0,"autoUpdateContent":1,"showMap":0,"mapZLevel":1,"user":{"name":"Laura Siegrist"}},"data":{"owner":"Laura Siegrist","ownjob":"Chief Engineer","mode":0,"scanmode":0,"fon":0,"pai":0,"note":"Congratulations, your station has chosen the Thinktronic 5230 Personal Data Assistant!","silent":0,"toff":0,"active_conversation":null,"idInserted":0,"idLink":"--------","cart_loaded":1,"cartridge":{"access":{"access_security":0,"access_engine":1,"access_atmos":1,"access_medical":0,"access_clown":0,"access_mime":0,"access_janitor":0,"access_quartermaster":0,"access_hydroponics":0,"access_reagent_scanner":0,"access_remote_door":0,"access_status_display":1,"access_detonate_pda":0},"name":"Power-On DELUXE","radio":0},"stationTime":"12:01","newMessage":0,"messagescount":null,"messages":null}}'>
<body scroll=auto data-template-data='{"main":"escape_shuttle_control_console.tmpl","layout":"layout_default.tmpl"}' data-url-parameters='{"src":"[0x21008892]"}' data-initial-data='{"config":{"title":"Shuttle Control","srcObject":{"name":"shuttle control console"},"stateKey":"default","status":2,"autoUpdateLayout":0,"autoUpdateContent":1,"showMap":0,"mapZLevel":1,"user":{"name":"Eduardo Gray"}},"data":{"shuttle_status":"Standing-by at NSS Cyberiad.","shuttle_state":"idle","has_docking":1,"docking_status":"docked","docking_override":0,"can_launch":1,"can_cancel":0,"can_force":0,"auth_list":[{"auth_name":"Eduardo Gray (Captain)","auth_hash":"d16348cdd2e13b8b025bbcf5522528c5"},{"auth_name":"Eduardo Gray (Captain)","auth_hash":"[UNSET]"}],"has_auth":1,"user":null}}'>
<div id='uiLayout'>
</div>
<noscript>