mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
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:
@@ -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
|
||||
|
||||
@@ -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
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user