Syncs maps, and a bunch of other things that no one will care about/notice/give fucks about until they break. Welcome to conflict hell. (#2460)
* fuck pubby * fuck you too ceres * ree * this is going to be a disaster isn't it * disaster * dme * -_- * tg * woops * proper sync * Welcome to conflict hell. * lets hope this fixes more things than it breaks * gdi * goddamnit
This commit is contained in:
@@ -42,7 +42,6 @@
|
||||
return target
|
||||
|
||||
/datum/objective/proc/find_target_by_role(role, role_type=0, invert=0)//Option sets either to check assigned role or special role. Default to assigned., invert inverts the check, eg: "Don't choose a Ling"
|
||||
var/list/candidates = list() //Let's compile a list and THEN pick one randomly, not just first come first serve...
|
||||
for(var/datum/mind/possible_target in get_crewmember_minds())
|
||||
if((possible_target != owner) && ishuman(possible_target.current))
|
||||
var/is_role = 0
|
||||
@@ -56,11 +55,12 @@
|
||||
if(invert)
|
||||
if(is_role)
|
||||
continue
|
||||
candidates += possible_target
|
||||
target = possible_target
|
||||
break
|
||||
else if(is_role)
|
||||
candidates += possible_target
|
||||
if(candidates)
|
||||
target = pick(candidates)
|
||||
target = possible_target
|
||||
break
|
||||
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/proc/update_explanation_text()
|
||||
@@ -442,7 +442,8 @@ GLOBAL_LIST_EMPTY(possible_items)
|
||||
/datum/objective/steal/New()
|
||||
..()
|
||||
if(!GLOB.possible_items.len)//Only need to fill the list when it's needed.
|
||||
init_subtypes(/datum/objective_item/steal,GLOB.possible_items)
|
||||
for(var/I in subtypesof(/datum/objective_item/steal))
|
||||
new I
|
||||
|
||||
/datum/objective/steal/find_target()
|
||||
var/approved_targets = list()
|
||||
@@ -507,8 +508,8 @@ GLOBAL_LIST_EMPTY(possible_items_special)
|
||||
/datum/objective/steal/special/New()
|
||||
..()
|
||||
if(!GLOB.possible_items_special.len)
|
||||
init_subtypes(/datum/objective_item/special,GLOB.possible_items_special)
|
||||
init_subtypes(/datum/objective_item/stack,GLOB.possible_items_special)
|
||||
for(var/I in subtypesof(/datum/objective_item/special) + subtypesof(/datum/objective_item/stack))
|
||||
new I
|
||||
|
||||
/datum/objective/steal/special/find_target()
|
||||
return set_target(pick(GLOB.possible_items_special))
|
||||
|
||||
@@ -11,6 +11,20 @@
|
||||
/datum/objective_item/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/objective_item/proc/TargetExists()
|
||||
return TRUE
|
||||
|
||||
/datum/objective_item/steal/New()
|
||||
..()
|
||||
if(TargetExists())
|
||||
GLOB.possible_items += src
|
||||
else
|
||||
qdel(src)
|
||||
|
||||
/datum/objective_item/steal/Destroy()
|
||||
GLOB.possible_items -= src
|
||||
return ..()
|
||||
|
||||
/datum/objective_item/steal/caplaser
|
||||
name = "the captain's antique laser gun."
|
||||
targetitem = /obj/item/gun/energy/laser/captain
|
||||
@@ -94,6 +108,9 @@
|
||||
special_equipment += /obj/item/storage/box/syndie_kit/supermatter
|
||||
..()
|
||||
|
||||
/datum/objective_item/steal/supermatter/TargetExists()
|
||||
return GLOB.main_supermatter_engine != null
|
||||
|
||||
//Items with special checks!
|
||||
/datum/objective_item/steal/plasma
|
||||
name = "28 moles of plasma (full tank)."
|
||||
@@ -157,6 +174,17 @@
|
||||
targetitem = /obj/item/documents/syndicate/blue
|
||||
difficulty = 10
|
||||
|
||||
/datum/objective_item/special/New()
|
||||
..()
|
||||
if(TargetExists())
|
||||
GLOB.possible_items_special += src
|
||||
else
|
||||
qdel(src)
|
||||
|
||||
/datum/objective_item/special/Destroy()
|
||||
GLOB.possible_items_special -= src
|
||||
return ..()
|
||||
|
||||
//Old ninja objectives.
|
||||
/datum/objective_item/special/pinpointer
|
||||
name = "the captain's pinpointer."
|
||||
@@ -193,6 +221,17 @@
|
||||
targetitem = /obj/item/reagent_containers/food/snacks/meat/slab/corgi
|
||||
difficulty = 5
|
||||
|
||||
/datum/objective_item/stack/New()
|
||||
..()
|
||||
if(TargetExists())
|
||||
GLOB.possible_items_special += src
|
||||
else
|
||||
qdel(src)
|
||||
|
||||
/datum/objective_item/stack/Destroy()
|
||||
GLOB.possible_items_special -= src
|
||||
return ..()
|
||||
|
||||
//Stack objectives get their own subtype
|
||||
/datum/objective_item/stack
|
||||
name = "5 cardboard."
|
||||
|
||||
Reference in New Issue
Block a user