This commit is contained in:
Thalpy
2019-10-27 19:07:06 +00:00
parent dabfba8a0d
commit 739de1b378
2 changed files with 67 additions and 42 deletions
+31 -16
View File
@@ -20,6 +20,7 @@
if(!active)
say("Meow!")
return
for(var/I2 in items_list)
if(istype(I, I2))
qdel(I)
@@ -36,6 +37,7 @@
return
say("Hello there, I'm Bartholomew, Jacqueline's Familiar.")
sleep(20)
say("I'm currently seeking items to put into my pot, if we get the right items, it should crystalise into a magic candy!")
if(!iscarbon(user))
say("Though... I'm not sure you can help me.")
@@ -52,6 +54,15 @@
message += "currently seem to have the most magic potential."
sleep(15)
say("[message]")
sleep(15)
//To help people find her
for(var/mob/living/simple_animal/jacq/J in GLOB.simple_animals[1])
var/turf/L1 = J.loc
if(!L1) //Incase someone uh.. puts her in a locker
return
var/area/L2 = L1.loc
if(L2)
say("Also, it seems that Jacqueline is currently at the [L2], if you're looking for her too.")
/obj/item/barthpot/proc/generate_items()
var/length = LAZYLEN(items_list)
@@ -73,10 +84,9 @@
/obj/item/assembly/timer = 3,
/obj/item/flashlight = 4,
/obj/item/flashlight/pen = 1,
/obj/effect/spawner/lootdrop/glowstick = 4,
/obj/effect/spawner/lootdrop/mre = 3,
/obj/item/flashlight/glowstick = 4,
/obj/item/multitool = 2,
/obj/item/radio/off = 2,
/obj/item/radio = 2,
/obj/item/t_scanner = 5,
/obj/item/airlock_painter = 1,
/obj/item/stack/cable_coil/ = 4,
@@ -86,19 +96,16 @@
/obj/item/stack/sheet/metal = 1,
/obj/item/stack/sheet/mineral/plasma = 1,
/obj/item/stack/sheet/rglass = 1,
/obj/item/book/manual/wiki/engineering_construction = 1,
/obj/item/book/manual/wiki/engineering_hacking = 1,
/obj/item/clothing/head/cone = 1,
/obj/item/coin = 1,
/obj/item/coin/silver = 1,
/obj/item/coin/twoheaded = 1,
/obj/item/poster/random_contraband = 1,
/obj/item/poster/random_official = 1,
/obj/item/crowbar = 1,
/obj/item/crowbar/red = 1,
/obj/item/extinguisher = 11,
/obj/item/extinguisher = 3,
/obj/item/hand_labeler = 1,
/obj/item/paper/crumpled = 1,
/obj/item/pen = 1,
/obj/item/paper = 1,
/obj/item/pen = 3,
/obj/item/reagent_containers/spray/pestspray = 1,
/obj/item/reagent_containers/rag = 3,
/obj/item/stock_parts/cell = 3,
@@ -108,8 +115,8 @@
/obj/item/storage/box/donkpockets = 1,
/obj/item/storage/box/lights/mixed = 3,
/obj/item/storage/box/hug/medical = 1,
/obj/item/storage/fancy/cigarettes/dromedaryco = 1,
/obj/item/storage/toolbox/mechanical = 1,
/obj/item/storage/fancy/cigarettes = 1,
/obj/item/storage/toolbox = 1,
/obj/item/screwdriver = 3,
/obj/item/tank/internals/emergency_oxygen = 2,
/obj/item/vending_refill/cola = 1,
@@ -122,7 +129,6 @@
/obj/item/grenade/smokebomb = 2,
/obj/item/geiger_counter = 3,
/obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1,
/obj/item/radio/headset = 1,
/obj/item/assembly/infra = 1,
/obj/item/assembly/igniter = 2,
/obj/item/assembly/signaler = 2,
@@ -133,10 +139,10 @@
/obj/item/storage/secure/briefcase = 3,
/obj/item/storage/toolbox/artistic = 2,
/obj/item/toy/eightball = 1,
/obj/item/reagent_containers/pill/floorpill = 1,
/obj/item/reagent_containers/food/snacks/cannedpeaches/maint = 2,
/obj/item/reagent_containers/pill = 1,
/obj/item/reagent_containers/food/snacks/cannedpeaches/maint = 1,
/obj/item/clothing/shoes = 2)
if(length == 5)
if(length >= 5)
return TRUE
//var/metalist = pickweight(GLOB.maintenance_loot)
for(var/i = length, i <= 5, i+=1)
@@ -146,3 +152,12 @@
continue
items_list += item
return TRUE
/obj/item/pinpointer/jacq
name = "Jacq pinpointer"
desc = "A handheld tracking device that locks onto witchy signals."
/obj/item/pinpointer/jacq/attack_self(mob/living/user)
for(var/mob/living/simple_animal/jacq/J in GLOB.simple_animals[1])
target = J
..()
+36 -26
View File
@@ -25,6 +25,7 @@
for(var/obj/effect/landmark/barthpot/bp in GLOB.landmarks_list)
new /obj/item/barthpot(bp.loc)
new /mob/living/simple_animal/jacq(bp.loc)
new /obj/item/pinpointer/jacq(bp.loc)
/////// MOBS
@@ -40,12 +41,16 @@
speech_span = "spooky"
friendly = "pets"
response_help = "chats with"
light_range = 3
light_color = "#ff9842"
var/last_poof
var/progression = list() //Keep track of where people are in the story.
var/active = TRUE //Turn this to false to keep normal mob behavour
var/cached_z
/mob/living/simple_animal/jacq/Initialize()
..()
cached_z
poof()
/mob/living/simple_animal/jacq/Life()
@@ -64,7 +69,7 @@
/mob/living/simple_animal/jacq/death() //What is alive may never die
visible_message("<b>[src]</b> cackles, <span class='spooky'>\"You'll nae get rid a me that easily!\"</span>")
playsound(loc, 'sound/spookoween/ahaha.ogg', 100, 0.25)
health = 20
health = 25
poof()
/mob/living/simple_animal/jacq/attack_hand(mob/living/carbon/human/M)
@@ -96,14 +101,17 @@
s.start()
visible_message("<b>[src]</b> disappears in a puff of smoke!")
canmove = TRUE
health = 25
var/hp_list = list()
for(var/obj/machinery/holopad/hp in world)
hp_list += hp
var/obj/machinery/holopad/hp = pick(hp_list)
if(forceMove(pick(hp.loc)))
return TRUE
for(var/i = length, i <= 5, i+=1)
var/obj/machinery/holopad/hp = pick(hp_list)
if(forceMove(pick(hp.loc)))
if(z == cached_z)
return TRUE
return FALSE
@@ -153,11 +161,21 @@
/mob/living/simple_animal/jacq/proc/treat(mob/living/carbon/C, gender)
visible_message("<b>[src]</b> gives off a glowing smile, <span class='spooky'>\"What ken Ah offer ye? I can magic up an object, a potion or a plushie fer ye.\"</span>")
var/choices_reward = list("Object - 3 candies", "Potion - 2 candies", "Plushie - 1 candy", "Can I ask you a question instead?")
var/choices_reward = list("Object - 3 candies", "Potion - 2 candies", "Plushie - 1 candy", "Can I get to know you instead?", "Become a pumpkinhead dullahan (perma) - 4 candies")
var/choice_reward = input(usr, "Trick or Treat?", "Trick or Treat?") in choices_reward
//rewards
switch(choice_reward)
if("Become a pumpkinhead dullahan (perma) - 4 candies")
if(!take_candies(C, 4))
visible_message("<b>[src]</b> raises an eyebrown, <span class='spooky'>\"It's 4 candies for that [gender]! Thems the rules!\"</span>")
return
visible_message("<b>[src]</b> waves their arms around, <span class='spooky'>\"Off comes your head, a pumpkin taking it's stead!\"</span>")
C.reagents.add_reagent("pumpkinmutationtoxin", 5)
sleep(20)
poof()
return
if("Object - 3 candies")
if(!take_candies(C, 3))
visible_message("<b>[src]</b> raises an eyebrown, <span class='spooky'>\"It's 3 candies per trinket [gender]! Thems the rules!\"</span>")
@@ -196,7 +214,7 @@
return
//chitchats!
if("Can I ask you a question instead?")
if("Can I get to know you instead?")
var/choices = list()
//Figure out where the C is in the story
if(!progression["[C.real_name]"]) //I really don't want to get here withoot a hello, but just to be safe
@@ -243,25 +261,21 @@
visible_message("<b>[src]</b> says, <span class='spooky'>\"Ave ye tried them? They're full of all sorts of reagents. Ah'm after them so ah ken magic em up an hopefully find rare stuff fer me brews. Honestly it's a lot easier magicking up tatt fer ye lot than runnin aroond on me own like. I'd ask me familiars but most a my familiars are funny fellows 'n constantly bugger off on adventures when given simple objectives like; Go grab me a tea cake or watch over me cauldron. Ah mean, ye might run into Bartholomew my cat. Ee's supposed tae be tending my cauldron, but I've nae idea where ee's got tae.\"</span>")
progression["[C.real_name]"] = progression["[C.real_name]"] | JACQ_CANDIES
sleep(30)
poof()
if("You really came all this way for candy?")
visible_message("<b>[src]</b> looks tae the side sheepishly, <span class='spooky'>\"Aye, well, tae be honest, Ah'm here tae see me sis, but dunnae let her knew that. She's an alchemist too like, but she dunnae use a caldron like mae, she buggered off like tae her posh ivory tower tae learn bloody chemistry instead!\"</span> <b>[src]</b> scowls, <span class='spooky'>\"She's tae black sheep o' the family too, so we dunnae see eye tae eye sometimes on alchemy. Ah mean, she puts <i> moles </i> in her brews! Ye dunnae put moles in yer brews! Yae threw your brews at tae wee bastards an blew em up!\"</span> <b>[src]</b> sighs, <span class='spooky'>\"But she's a heart o gold so.. Ah wanted tae see her an check up oon her, make sure she's okay.\"</span>")
visible_message("<b>[src]</b> l ooks tae the side sheepishly, <span class='spooky'>\"Aye, well, tae be honest, Ah'm here tae see me sis, but dunnae let her knew that. She's an alchemist too like, but she dunnae use a caldron like mae, she buggered off like tae her posh ivory tower tae learn bloody chemistry instead!\"</span> <b>[src]</b> scowls, <span class='spooky'>\"She's tae black sheep o' the family too, so we dunnae see eye tae eye sometimes on alchemy. Ah mean, she puts <i> moles </i> in her brews! Ye dunnae put moles in yer brews! Yae threw your brews at tae wee bastards an blew em up!\"</span> <b>[src]</b> sighs, <span class='spooky'>\"But she's a heart o gold so.. Ah wanted tae see her an check up oon her, make sure she's okay.\"</span>")
progression["[C.real_name]"] = progression["[C.real_name]"] | JACQ_FAR
sleep(30)
poof()
if("What is that on your head?")
visible_message("<b>[src]</b> pats the pumpkin atop her head, <span class='spooky'>\"This thing? This ain't nae ordinary pumpkin! Me Ma grew this monster ooer a year o love, dedication an hard work. Honestly it felt like she loved this thing more than any of us, which Ah knew ain't true an it's not like she was hartless or anything but.. well, we had a falling oot when Ah got back home with all me stuff in tow. An all she had done is sent me owl after owl over t' last year aboot this bloody pumpkin and ah had enough. So ah took it, an put it on me head. You know, as ye do. Ah am the great Pumpqueen after all, Ah deserve this.\"</span>")
progression["[C.real_name]"] = progression["[C.real_name]"] | JACQ_HEAD
sleep(30)
poof()
if("Are you a witch?")
visible_message("<b>[src]</b> grumbles, <span class='spooky'>\"If ye must know, Ah got kicked oot of the witch academy fer being too much of a \"loose cannon\". A bloody loose cannon? Nae they were just pissed off Ah had the brass tae proclaim myself as the Pumpqueen! And also maybe the time Ah went and blew up one of the towers by trying tae make a huge batch of astrogen might've had something tae do with it. Ah mean it would've worked fine if the cauldrons weren't so shite and were actually upgraded by the faculty. So technically no, I'm not a witch.\"</span>")
progression["[C.real_name]"] = progression["[C.real_name]"] | JACQ_WITCH
sleep(30)
poof()
if("So you got ex-spell-ed?")
visible_message("<b>[src]</b> Gives you a blank look at the pun, before continuing, <span class='spooky'>\"Not quite, Ah know Ah ken get back into the academy, it's only an explosion, they happen all the time, but, tae be fair it's my fault that things came tae their explosive climax. You don't know what it's like when you're after a witch doctorate, everyone else is doing well, everyone's making new spells and the like, and I'm just good at making explosions really, or fireworks. So, Ah did something Ah knew was dangerous, because Ah had tae do something tae stand oot, but Ah know this life ain't fer me, Ah don't want tae be locked up in dusty towers, grinding reagent after reagent together, trying tae find new reactions, some of the wizards in there haven't left fer years. Ah want tae live, Ah want tae fly around on a broom, turn people into cats fer a day and disappear cackling! That's what got me into witchcraft!\"</span> she throws her arms up in the arm, spinning the pumpkin upon her head slightly. She carefully spins it back to face you, giving oot a soft sigh, <span class='spooky'>\"Ah know my mother's obsession with this dumb thing on my head is just her trying tae fill the void of me and my sis moving oot, and it really shouldn't be on my head. And Ah know that I'm really here tae get help from my sis.. She's the sensible one, and she gives good hugs.\"</span>")
@@ -269,11 +283,10 @@
visible_message("<b>[src]</b> says, <span class='spooky'>\"Thanks [C], Ah guess Ah didn't realise Ah needed someone tae talk tae but, I'm glad ye spent all your candies talking tae me. Funny how things seem much worse in yer head.\"</span>")
progression["[C.real_name]"] = progression["[C.real_name]"] | JACQ_EXPELL
sleep(30)
poof()
if("Can I take you out on a date?")
visible_message("<b>[src]</b> blushes, <span class='spooky'>\"...You want tae ask me oot on a date? Me? After all that nonsense Ah just said? It seems a waste of a candy honestly.\"</span>")
progression["[C.real_name]"] = progression["[C.real_name]"] | JACQ_DATE
//progression["[C.real_name]"] = progression["[C.real_name]"] | JACQ_DATE
visible_message("<b>[src]</b> looks to the side, deep in thought.</span>")
dating_start(C, gender)
@@ -285,37 +298,34 @@
/mob/living/simple_animal/jacq/proc/trick(mob/living/carbon/C, gender)
var/option
if(ishuman(C))
option = rand(1,7)
else
option = rand(1,6)
else
option = rand(1,5)
switch(option)
if(1)
visible_message("<b>[src]</b> waves their arms around, <span class='spooky'>\"Hocus pocus, making friends is now your focus!\"</span>")
var/datum/objective/brainwashing/objective = pick("Make a tasty sandwich for", "Compose a poem for", "Aquire a nice outfit to give to", "Strike up a conversation about pumpkins with", "Write a letter and deliver it to", "Give a nice hat to")
var/message = pick("make a tasty sandwich for", "compose a poem for", "aquire a nice outfit to give to", "strike up a conversation about pumpkins with", "write a letter and deliver it to", "give a nice hat to")
var/mob/living/L2 = pick(GLOB.player_list)
objective += " [L2.name]."
brainwash(C, objective)
message += " [L2.name]."
to_chat(C, "<span class='big warning'> You feel an overwhelming desire to [message]")
if(2)
visible_message("<b>[src]</b> waves their arms around, <span class='spooky'>\"Off comes your head, a pumpkin taking it's stead!\"</span>")
C.reagents.add_reagent("pumpkinmutationtoxin", 5)
if(3)
visible_message("<b>[src]</b> waves their arms around, <span class='spooky'>\"If only you had a better upbringing, your ears are now full of my singing!\"</span>")
var/client/C2 = C.client
C2.chatOutput.sendMusic("https://a.uguu.se/rQ8FxxUQ1Xzc_SpOwOkyOwOkyPumpkinSong-PFrPrIxluWk.mp4", 1)//I hope this works!
if(4)
C2.chatOutput.sendMusic("https://puu.sh/ExBbv.mp4", 1)//I hope this works!
if(3)
visible_message("<b>[src]</b> waves their arms around, <span class='spooky'>\"You're cute little bumpkin, On your head is a pumpkin!\"</span>")
if(C.head)
var/obj/item/W = C.head
C.dropItemToGround(W, TRUE)
var/jaqc_latern = new /obj/item/clothing/head/hardhat/pumpkinhead/jaqc
C.equip_to_slot(jaqc_latern, SLOT_HEAD, 1, 1)
if(5)
if(4)
visible_message("<b>[src]</b> waves their arms around, <span class='spooky'>\"In your body there's something amiss, you'll find it's a chem made by my sis!\"</span>")
C.reagents.add_reagent("eigenstate", 30)
if(6)
if(5)
visible_message("<b>[src]</b> waves their arms around, <span class='spooky'>\"A new familiar for me, and you'll see it's thee!\"</span>")
C.reagents.add_reagent("secretcatchem", 30)
if(7)
if(6)
visible_message("<b>[src]</b> waves their arms around, <span class='spooky'>\"While you may not be a ghost, for this sheet you'll always be it's host.\"</span>")
var/mob/living/carbon/human/H = C
if(H.wear_suit)