Поручения

Материал из Celadon | Wiki Shiptest
Версия от 12:41, 8 октября 2024; Zyb (обсуждение | вклад) (Скинул с гитхаба пока-что сырую информацию, после доработаю, плюс, гайдик на разминирование, точнее обьяснение чу да как)
Перейти к навигации Перейти к поиску
ВНИМАНИЕ
Страничка будет дополняться с ходом времени, на данный период информация может быть не точной или не полноценной.


Поручения

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

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

Поиск

/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