Поручения: различия между версиями

Материал из Celadon | Wiki Shiptest
Перейти к навигации Перейти к поиску
мНет описания правки
мНет описания правки
Строка 247: Строка 247:
== '''Наука''' ==
== '''Наука''' ==


/datum/mission/research
'''/datum/mission/research'''
name = "Electrical storm research mission"
name = "Electrical storm research mission"
desc = "We require data on the behavior of electrical storms in the system for an ongoing study. \
desc = "We require data on the behavior of electrical storms in the system for an ongoing study. \
Строка 260: Строка 260:
var/num_wanted = 5
var/num_wanted = 5


/datum/mission/research/New(...)
'''/datum/mission/research/meteor'''
num_wanted = rand(num_wanted - 1, num_wanted + 1)
value += num_wanted * 150
return ..()
 
/datum/mission/research/meteor
name = "Asteroid field research mission"
name = "Asteroid field research mission"
desc = "We require data on the behavior of asteroid fields in the system for an ongoing study. \
desc = "We require data on the behavior of asteroid fields in the system for an ongoing study. \
Строка 274: Строка 269:
objective_type = /datum/overmap/event/meteor
objective_type = /datum/overmap/event/meteor


/datum/mission/research/carp
'''/datum/mission/research/carp'''
name = "Carp migration research mission"
name = "Carp migration research mission"
desc = "We require data on the migration patterns of space carp for an ongoing study. \
desc = "We require data on the migration patterns of space carp for an ongoing study. \
Строка 295: Строка 290:
== '''Добыча''' ==
== '''Добыча''' ==


/datum/mission/drill
'''/datum/mission/drill'''
name = "Class 1 core sample mission"
name = "Class 1 core sample mission"
desc = "We require geological information from one of the neighboring planetoids . \
desc = "We require geological information from one of the neighboring planetoids . \
Строка 308: Строка 303:
var/class_wanted = 1
var/class_wanted = 1


/datum/mission/drill/New(...)
'''/datum/mission/drill/classtwo'''
num_wanted = rand(num_wanted-2,num_wanted+2)
value += num_wanted*100
return ..()
 
/datum/mission/drill/classtwo
name = "Class 2 core sample mission"
name = "Class 2 core sample mission"
value = 3500
value = 3500
Строка 320: Строка 310:
num_wanted = 6
num_wanted = 6


/datum/mission/drill/classthree
'''/datum/mission/drill/classthree'''
name = "Class 3 core sample mission"
name = "Class 3 core sample mission"
value = 5000
value = 5000

Версия от 16:02, 9 октября 2024

ВНИМАНИЕ
Страничка будет дополняться с ходом времени, на данный период информация может быть не точной или не полноценной.


Поручения

Это один из множества видов заработка кредитов, путем выполнения особых целей от Аванпоста. Задания варьируются от легкого изучения космической пыли, до раскопок третьего уровня, поручения имеют три разновидности:

  • Поиск
  • Наука
  • Добыча

Поиск

/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

Наука

/datum/mission/research name = "Electrical storm research mission" desc = "We require data on the behavior of electrical storms in the system for an ongoing study. \ Please anchor the attached sensor array to your ship and fly it through the storms.\ It must be powered to collect the data. " value = 3000 // base value, before adding bonus for number of things to fly through duration = 60 MINUTES weight = 8 var/datum/overmap/objective_type = /datum/overmap/event/electric var/obj/machinery/mission_scanner/scanner var/num_current = 0 var/num_wanted = 5

/datum/mission/research/meteor name = "Asteroid field research mission" desc = "We require data on the behavior of asteroid fields in the system for an ongoing study. \ Please anchor the attached sensor array to your ship and fly it through the fields. \ It must be powered to collect the data." value = 4000 weight = 4 objective_type = /datum/overmap/event/meteor

/datum/mission/research/carp name = "Carp migration research mission" desc = "We require data on the migration patterns of space carp for an ongoing study. \ Please anchor the attached sensor array to your ship and fly it through the fields. \ It must be powered to collect the data." value = 2000 weight = 4 num_wanted = 3 objective_type = /datum/overmap/event/meteor/carp

/datum/mission/research/dust name = "dust research mission" desc = "We require data on the density of space dust for updated navcharts. \ Please anchor the attached sensor array to your ship and fly it through the fields. \ It must be powered to collect the data." value = 1000 weight = 4 objective_type = /datum/overmap/event/meteor/dust

Добыча

/datum/mission/drill name = "Class 1 core sample mission" desc = "We require geological information from one of the neighboring planetoids . \ Please anchor the drill in place and defend it until it has gathered enough samples.\ Operation of the core sampling drill is extremely dangerous, caution is advised. " value = 2000 duration = 80 MINUTES weight = 8

var/obj/machinery/drill/mission/sampler var/num_wanted = 4 var/class_wanted = 1

/datum/mission/drill/classtwo name = "Class 2 core sample mission" value = 3500 weight = 6 class_wanted = 2 num_wanted = 6

/datum/mission/drill/classthree name = "Class 3 core sample mission" value = 5000 weight = 4 duration = 100 MINUTES class_wanted = 3 num_wanted = 8