Поручения
Поручения
Это один из множества видов заработка кредитов, путем выполнения особых целей от Аванпоста. Задания варьируются от легкого изучения космической пыли, до раскопок третьего уровня, поручения имеют три разновидности:
- Поиск
- Наука
- Добыча
Поиск
/datum/mission/acquire desc = "Get me some things." var/atom/movable/container_type /datum/mission/acquire/true_love name = "Diamond needed (urgent!!)" weight = 3 value = 700 duration = 40 MINUTES dur_mod_range = 0.2 container_type = /obj/item/storage/box/true_love objective_type = /obj/item/stack/sheet/mineral/diamond num_wanted = 1 desc = "I was going to gift \a [initial(objective_type.name)] to my [pick("beautiful", "handsome", "lovely")] \ [initial(beloved.name)] [pick("boyfriend", "girlfriend", "lover", "SO", "spouse", "husband", "wife", "boywife")], \ but I just lost it! Could you please find me a replacement? I don't have long!" /datum/mission/acquire/true_love/puce name = "Puce crystal needed (urgent!!)" weight = 1 objective_type = /obj/item/reagent_containers/food/snacks/grown/ash_flora/puce
/datum/mission/acquire/true_love/fireblossom name = "Fireblossom needed (urgent!!)" weight = 1 objective_type = /obj/item/reagent_containers/food/snacks/grown/ash_flora/fireblossom
/datum/mission/acquire/true_love/icepepper name = "Icepepper needed (urgent!!)" weight = 1 objective_type = /obj/item/reagent_containers/food/snacks/grown/icepepper
/datum/mission/acquire/true_love/strange_crystal name = "Strange crystal needed (urgent!!!)" value = 1000 weight = 1 objective_type = /obj/item/strange_crystal
/datum/mission/acquire/anomaly name = "Anomaly core requested" weight = 8 value = 3000 duration = 80 MINUTES dur_mod_range = 0.2 container_type = /obj/item/storage/box/anomaly objective_type = /obj/item/assembly/signaler/anomaly num_wanted = 1
/datum/mission/acquire/anomaly/New(...) var/group = pick(list( "Cybersun Industries", "CMM-GOLD", "Nanotrasen Anomalous Studies Division", "The Naturalienwissenschaftlicher Studentenverbindungs-Verband", "The Central Solarian Anomaly Research Agency", "DeForest Medical R&D", "A strange lizard on the outpost" ))
desc = "[group] has requested that a ship [pick(list("procure", "grab", "acquire", "find", "locate"))] \ an anomaly core for [pick(list("research", "analysis", "technical development", "closer inspection", "some reason"))]. \ They've offered to pay well, so we're relaying this mission to you" . = ..()
/datum/mission/acquire/creature name = "Capture a goliath" desc = "I require a live goliath for research purposes. Trap one within the given \ Lifeform Containment Unit and return it to me and you will be paid handsomely." value = 1500 duration = 60 MINUTES weight = 6 container_type = /obj/structure/closet/mob_capture objective_type = /mob/living/simple_animal/hostile/asteroid/goliath num_wanted = 1 count_stacks = FALSE
/datum/mission/acquire/creature/atom_effective_count(atom/movable/target) . = ..() if(!.) return var/mob/creature = target if(creature.stat == DEAD) return 0 /datum/mission/acquire/creature/legion name = "Capture a legion" desc = "I require a live legion for research purposes. Trap one within the given \ Lifeform Containment Unit and return it to me and you will be paid handsomely." value = 1300 objective_type = /mob/living/simple_animal/hostile/asteroid/hivelord/legion
/datum/mission/acquire/creature/ice_whelp name = "Capture an ice whelp" desc = "I require a live ice whelp for research purposes. Trap one within the given \ Lifeform Containment Unit and return it to me and you will be paid handsomely." value = 1700 weight = 2 objective_type = /mob/living/simple_animal/hostile/asteroid/ice_whelp
/datum/mission/acquire/creature/migo name = "Capture a live mi-go" desc = "I require a live mi-go for research purposes. Trap one within the given \ Lifeform Containment Unit and return it to me and you will be paid handsomely." value = 1050 weight = 2 objective_type = /mob/living/simple_animal/hostile/netherworld/migo/asteroid
/datum/mission/acquire/creature/floorbot name = "Detain a malfunctioning floorbot" desc = "I require a functional abandoned floorbot for \"research\" purposes. Trap one within \ the given Lifeform Containment Unit and return it to me and you will be paid handsomely." value = 1450 weight = 1 objective_type = /mob/living/simple_animal/bot/floorbot/rockplanet
/datum/mission/acquire/creature/firebot name = "Detain a malfunctioning firebot" desc = "I require a functional abandoned firebot for \"research\" purposes. Trap one within \ the given Lifeform Containment Unit and return it to me and you will be paid handsomely." value = 1450 weight = 1 objective_type = /mob/living/simple_animal/bot/firebot/rockplanet
/datum/mission/acquire/landmine name = "Defuse landmines" desc = "CLIP and Gezena have assigned us to offer a bounty to turn in disarmed ordnance for future ventures. We'll pay you well, but we're not responsible for any accidents." weight = 6 value = 1500 duration = 80 MINUTES dur_mod_range = 0.4 container_type = /obj/item/storage/toolbox/bounty objective_type = /obj/item/mine/pressure/explosive num_wanted = 2
//are you feelin lucky, punk? /datum/wires/mine/on_pulse(wire) var/obj/item/mine/pressure/ourmine = holder switch(wire) if(WIRE_BOOM)//oopsies holder.visible_message(span_userdanger("[icon2html(ourmine, viewers(holder))] \The [ourmine] makes a shrill noise! It's go-")) ourmine.trigger_mine() if(WIRE_DELAYBOOM)//oopsies but you get to run ourmine.blast_delay = clamp(ourmine.blast_delay * 5, 8, 50) holder.visible_message(span_userdanger("[icon2html(ourmine, viewers(holder))] \The [ourmine] makes a shrill noise! It's go-")) ourmine.trigger_mine() //Resets the detonation pin, allowing someone to step off the mine. Minor success. if(WIRE_PIN) if(ourmine.clicked == TRUE) holder.visible_message(span_notice("[icon2html(ourmine, viewers(holder))] You hear something inside \the [ourmine] click softly.")) playsound(ourmine, SOUND_EMPTY_MAG, 30, TRUE) ourmine.clicked = FALSE else holder.visible_message(span_notice("[icon2html(ourmine, viewers(holder))] \The [ourmine]'s detonation pad shifts slightly. Nothing happens.")) if(WIRE_RESET)//Disarms the mine, allowing it to be picked up. Major success. if(ourmine.armed && ourmine.anchored) holder.visible_message(span_notice("[icon2html(ourmine, viewers(holder))] \The [ourmine]'s arming lights fade, and the securing bolts loosen. ")) playsound(ourmine, 'sound/machines/click.ogg', 100, TRUE) ourmine.disarm() else if(ourmine.anchored) holder.visible_message(span_notice("[icon2html(ourmine, viewers(holder))] \The [ourmine]'s yellow arming light flickers.")) else holder.visible_message(span_notice("[icon2html(ourmine, viewers(holder))] \The [ourmine]'s securing bolt shifts. Nothing happens."))
/datum/mission/acquire/aquarium
name = "Fish needed for my aquarium"
weight = 6
value = 750
duration = 60 MINUTES
val_mod_range = 0.2
container_type = /obj/item/storage/fish_case/mission
/datum/mission/acquire/aquarium/New(...) objective_type = pick(/obj/item/fish/clownfish, /obj/item/fish/pufferfish, /obj/item/fish/cardinal, /obj/item/fish/greenchromis, /obj/item/fish/trout, /obj/item/fish/salmon, /obj/item/fish/dwarf_moonfish, /obj/item/fish/gunner_jellyfish, /obj/item/fish/plasmatetra, /obj/item/fish/catfish, /obj/item/fish/bass, /obj/item/fish/armorfish, /obj/item/fish/needlefish) desc = "My aquarium is sorely lacking in [initial(objective_type.name)], can you please bring one to me? \ Don't worry about if it's alive or dead, I have methods." . = ..()
/datum/mission/acquire/aquarium/rare name = "Rare fish needed for my aquarium!" weight = 1 value = 1500 val_mod_range = 0.3
/datum/mission/acquire/aquarium/rare/New(...) . = ..() objective_type = pick(/obj/item/fish/lanternfish, /obj/item/fish/firefish, /obj/item/fish/donkfish) desc = "I seek to make my beloved aquarium truly spectacular, and to do this I need only the finest fish! \ Bring me a [initial(objective_type.name)] and I will reward you handsomely."
/datum/mission/acquire/aquarium/sabatoge name = "That bastard has had it good for too long!" weight = 1 value = 3000 duration = 100 MINUTES
/datum/mission/acquire/aquarium/sabatoge/New(...) . = ..() desc = "My arch-nemesis [pick("Rutherford","Baldwin","Anderson","Percival")] thinks his aquarium is so much better than mine, I'll show him! \ Bring me an emulsijack, and make sure it's alive!" objective_type = pick(/obj/item/fish/emulsijack)
/datum/mission/acquire/fish_cook name = "Fish needed for my meal" weight = 3 duration = 40 MINUTES val_mod_range = 0.2 objective_type = /obj/item/fish container_type = /obj/item/storage/fish_case/mission/big
/datum/mission/acquire/fish_cook/New(...) num_wanted = rand(1,3) desc = "I am a chef in need of [num_wanted] fish for my latest dish. Any fish will do, just make sure they're not filleted!" value = (250*num_wanted) . = ..()
/datum/mission/acquire/fish/alive/atom_effective_count(atom/movable/target) . = ..() if(!.) return var/mob/creature = target if(creature.stat == DEAD) return 0