Adds landmarks.

This commit is contained in:
Fermi
2019-10-09 13:57:19 +01:00
parent b19c078447
commit b34f648e60
9 changed files with 37587 additions and 704266 deletions

View File

@@ -0,0 +1,11 @@
/obj/effect/landmark/barthpot
name = "barthpot"
/obj/effect/landmark/barthpot/Initialize()
new /obj/item/barthpot(loc)
/obj/item/barthpot
name = "Bartholomew"
icon = 'icons/obj/halloween_items.dmi'
icon_state = "barthpot"
anchored = TRUE

View File

@@ -17,7 +17,7 @@
max_occurrences = 1
earliest_start = 0 MINUTES
/datum/round_event/jaqc/start()
/datum/round_event/jacq/start()
..()
for(var/mob/living/simple_animal/pet/dog/corgi/Ian/Ian in GLOB.mob_living_list)
new /mob/living/jacq(Ian.loc)//She poofs on init, so it doesn't matter, so long as Ian exists.
@@ -57,12 +57,14 @@
/mob/living/jacq/attack_hand(mob/living/carbon/human/M)
if(M.a_intent == INTENT_HELP)
chit_chat(M)
M.Stun(0)
else
..()
/mob/living/jacq/attack_paw(mob/living/carbon/monkey/M)
if(M.a_intent == INTENT_HELP)
chit_chat(M)
M.Stun(0)
else
..()
@@ -80,17 +82,13 @@
return TRUE
return FALSE
/mob/living/jacq/on_click(whatever this proc is called)
chit_chat(L)
C.stun(0)//Okay, you're done talking now.
//Ye wee bugger, gerrout of it. Ye've nae tae enjoy reading the code fer mae secrets like.
/mob/living/jacq/proc/chit_chat(mob/living/L)
var/mob/living/carbon/C = L
if(!iscarbon)
if(!iscarbon(L))
//Maybe? It seems like a lot of faff for something that is very unlikely to happen.
return
C.stun(1000)//You're talking, don't leave.
C.Stun(1000)//You're talking, don't leave.
//Very important
var/gender = "lamb"
if(C)
@@ -102,9 +100,9 @@
if(!progression["[C.real_name]"] || !(progression["[C.real_name]"] & JACQ_HELLO))
visible_message("<b>[src] smiles ominously at [L],</b> <span class='spooky'>\"Well hal<61> there [gender]! Ah<41>m Jacqueline, tae great Pumpqueen, great tae meet ye.\"</span>")
sleep(20)
visible_message("<span class='spooky'><b>[src] continues,</b> says, \"Ahm sure yae well stunned, but ahve got nae taem fer that. Ahm after the candies around this station. If yae get mae enoof o the wee buggers, Ah'll give ye a treat, or if yae feeling bold, Ah ken trick ye instead.</span>\" giving [L] a wide grin.")
visible_message("<span class='spooky'><b>[src] continues,</b> says, \"Ah'm sure yae well stunned, but ah've got nae taem fer that. Ah'm after the candies around this station. If yae get mae enoof o the wee buggers, Ah'll give ye a treat, or if yae feeling bold, Ah ken trick ye instead.</span>\" giving [L] a wide grin.")
if(!progression["[C.real_name]"])
progression["[C.real_name]"] += JACQ_HELLO //TO MAKE SURE THAT THE LIST ENTRY EXISTS.
progression["[C.real_name]"] += JACQ_HELLO //TO MAKE SURE THAT THE LIST ENTRY EXISTS.
else
progression["[C.real_name]"] = progression["[C.real_name]"] | JACQ_HELLO
return
@@ -126,9 +124,9 @@
return
/mob/living/jacq/proc/treat(mob/living/carbon/C, gender)
visible_message("<b>[src] gives off a glowing smile,</b> <span class='spooky'>\"What ken Ah offer ye? I can magic in you an object, A potion or a plushie. \"</span>")
visible_message("<b>[src] gives off a glowing smile,</b> <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/choice_reward = input(usr, "Trick or Treat?", "Trick or Treat?") in choices
var/choice_reward = input(usr, "Trick or Treat?", "Trick or Treat?") in choices_reward
//rewards
switch(choice_reward)
@@ -179,7 +177,7 @@
//for Kepler, delete this, or just delete the whole story aspect if you want.
//If fully completed
if(progression["[C.real_name]"] JACQ_FAR & JACQ_EXPELL & JACQ_HEAD)
if(progression["[C.real_name]"] & JACQ_FAR & JACQ_EXPELL & JACQ_HEAD)
choices = "Can I take you out on a date?"
//If you've nothing to ask
@@ -197,25 +195,25 @@
//Talking
switch(choice)
if("Why do you want the candies?")
visible_message("<b>[src] says,</b> <span class='spooky'>\"Ave ye tried them? Theyre full of all sorts of reagents. Ahm after them so ah ken magic em up an hopefully find rare stuff fer me brews. Honestly its 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. Ees supposed tae be tending my cauldron, but Ive nae idea where ees got tae.\"</span>")
visible_message("<b>[src] says,</b> <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
if("You really came all this way for candy?")
visible_message("<b>[src] looks tae the side sheepishly,</b> <span class='spooky'>\"Aye, well, tae be honest, Ahm here tae see me sis, but dunnae let her knew that. Shes 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!" [src] scowls, Shes 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!" [src] sighs "But shes a heart o gold so.. Ah wanted tae see her an check up oon her, make sure shes okay.\"</span>")
visible_message("<b>[src] looks tae the side sheepishly,</b> <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!\" [src] scowls, \"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!\" [src] sighs \"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
if("What is that on your head?")
visible_message("<b>[src] pats the pumpkin atop her head,</b> <span class='spooky'>\"This thing? This aint 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 aint true an its 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>")
visible_message("<b>[src] pats the pumpkin atop her head,</b> <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
if("Are you a witch?")
visible_message("<b>[src] grumbles,</b> <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 mightve had something tae do with it. Ah mean it wouldve worked fine if the cauldrons werent so shite and were actually upgraded by the faculty. So technically no, Im not a witch.\"</span>")
visible_message("<b>[src] grumbles,</b> <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
if("So you got ex-spell-ed?")
visible_message("<b>[src] Gives you a blank look at the pun, before continuing,</b> <span class='spooky'>\"Not quite, Ah know Ah ken get back into the academy, its only an explosion, they happen all the time, but, tae be fair its my fault that things came tae their explosive climax. You dont know what its like when youre after a witch doctorate, everyone else is doing well, everyones making new spells and the like, and Im 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 aint fer me, Ah dont want tae be locked up in dusty towers, grinding reagent after reagent together, trying tae find new reactions, some of the wizards in there havent 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! Thats what got me into witchcraft!" 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, "Ah know my mothers 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 shouldnt be on my head. And Ah know that Im really here tae get help from my sis Shes the sensible one, and she gives good hugs.\"</span>")
visible_message("<b>[src] Gives you a blank look at the pun, before continuing,</b> <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!\" 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, \"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>")
sleep(50)
visible_message("<b>[src] says,</b> <span class='spooky'>\"Thanks [C], Ah guess Ah didnt realise Ah needed someone tae talk tae but, Im glad ye spent all your candies talking tae me. Funny how things seem much worse in yer head.\"</span>")
visible_message("<b>[src] says,</b> <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
if("Can I take you out on a date?")
@@ -229,21 +227,33 @@
/mob/living/jacq/proc/trick(mob/living/carbon/C, gender)
var/option = rand(1,7)
var/option
if(ishuman(C))
option = rand(1,7)
else
option = rand(1,6)
switch(option)
if(1)
visible_message("<b>[src] waves their arms around,</b> <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/mob/living/L2 = pick(GLOB.player_list)
objective += " [L2.name]."
brainwash(H, objective)
brainwash(C, objective)
if(2)
visible_message("<b>[src] waves their arms around,</b> <span class='spooky'>\"Off comes your head, atleast you're not dead.\"</span>")
C.reagents.add_reagent("pumpkinmutationtoxin", 5)
if(3)
visible_message("<b>[src] waves their arms around,</b> <span class='spooky'>\"If only you had a better upbringing, your ears are now full of my singing!\"</span>")
var/spowoky = "https://www.youtube.com/watch?v=PFrPrIxluWk"
C.chatOutput.sendMusic(spowoky, pitch)//I hope this works!
var/web_sound_input = trim(spowoky)
var/ytdl = CONFIG_GET(string/invoke_youtubedl)
var/shell_scrubbed_input = shell_url_scrub(web_sound_input)
var/list/output = world.shelleo("[ytdl] --format \"bestaudio\[ext=mp3]/best\[ext=mp4]\[height<=360]/bestaudio\[ext=m4a]/bestaudio\[ext=aac]\" --dump-single-json --no-playlist -- \"[shell_scrubbed_input]\"")
var/stdout = output[SHELLEO_STDOUT]
var/list/data = json_decode(stdout)
var/web_sound_url = data["url"]
var/client/C2 = C.client
C2.chatOutput.sendMusic(web_sound_url, 1)//I hope this works!
if(4)
visible_message("<b>[src] waves their arms around,</b> <span class='spooky'>\"You're cute little bumpkin, In your hand is a pumpkin!\"</span>")
for(var/obj/item/I in C.held_items)
@@ -258,16 +268,17 @@
C.reagents.add_reagent("secretcatchem", 30)
if(7)
visible_message("<b>[src] waves their arms around,</b> <span class='spooky'>\"While you may not be a ghost, for this sheet you'll always be it's host.\"</span>")
if(C.wear_suit)
var/obj/item/W = C.wear_suit
C.dropItemToGround(W, TRUE)
var/mob/living/carbon/human/H = C
if(H.wear_suit)
var/obj/item/W = H.wear_suit
H.dropItemToGround(W, TRUE)
var/ghost = new /obj/item/clothing/suit/ghost_sheet/sticky
M.equip_to_slot(ghost, SLOT_WEAR_SUIT, 1, 1)
H.equip_to_slot(ghost, SLOT_WEAR_SUIT, 1, 1)
poof()
//Blame Fel
/mob/living/jacq/proc/dating_start(mob/living/carbon/C, gender)
candies = pollGhostCandidates("Do you want to go on a date with [C] as Jacqueline the great pumpqueen?")
var/candies = pollGhostCandidates("Do you want to go on a date with [C] as Jacqueline the great pumpqueen?")
//sleep(30) //If the poll doesn't autopause.
if(candies)
candies = shuffle(candies)//Shake those ghosts up!
@@ -276,11 +287,11 @@
key = C2.key
message_admins("[C2]/[C2.key] has agreed to go on a date with [C] as Jacqueline.")
log_game("HALLOWEEN: [C2]/[C2.key] has agreed to go on a date with [C] as Jacqueline")
to_chat(src, "<span class='big spooky'>You are Jacqueline the great pumpqueen, witch Extraordinaire! Youre a very Scottish lass with a kind heart, but also a little crazy. You also blew up the wizarding school and youre suspended for a while, so you visited the station before heading home. On your head lies the prize pumpkin of your Mothers pumpkin patch. Youre currently on a date with [C] and well, I didnt think anyone would get this far. <i> Please be good so I can do events like this in the future. </i> </span>")
to_chat(src, "<span class='big spooky'>You are Jacqueline the great pumpqueen, witch Extraordinaire! You're a very Scottish lass with a kind heart, but also a little crazy. You also blew up the wizarding school and you're suspended for a while, so you visited the station before heading home. On your head lies the prize pumpkin of your Mother's pumpkin patch. You're currently on a date with [C] and well, I didn't think anyone would get this far. <i> Please be good so I can do events like this in the future. </i> </span>")
return
else
candies =- C2
visible_message("<b>[src] looks to the side,</b> <span class='spooky'>\"Look, Ah like ye but, Ah dont think Ah can right now. If ye cant tell, the stations covered in volatile candies, Ive a few other laddies and lassies running after me treats, and tae top it all off, Ive the gods breathing down me neck, watching every treat Ah make fer the lot of yous.\" she sighs, \"But thats not a no, right? Thats.. just a nae right noo.\"</span>")
visible_message("<b>[src] looks to the side,</b> <span class='spooky'>\"Look, Ah like ye but, Ah don't think Ah can right now. If ye can't tell, the stations covered in volatile candies, I've a few other laddies and lassies running after me treats, and tae top it all off, I've the gods breathing down me neck, watching every treat Ah make fer the lot of yous.\" she sighs, \"But that's not a no, right? That's.. just a nae right noo.\"</span>")
sleep(20)
visible_message("<b>[src] takes off the pumpkin on her head, a rich blush on her cheeks. She leans over planting a kiss upon your forehead quickly befere popping the pumpkin back on her head.</b>")
sleep(10)
@@ -294,11 +305,17 @@
icon_state = "hardhat0_pumpkin_j"
item_state = "hardhat0_pumpkin_j"
item_color = "pumpkin_j"
item_flags = NODROP
brightness_on = 4
/obj/item/clothing/head/hardhat/pumpkinhead/jaqc/Initialize()
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, GLUED_ITEM_TRAIT)
/obj/item/clothing/suit/ghost_sheet/sticky
item_flags = NODROP
/obj/item/clothing/suit/ghost_sheet/sticky/Initialize()
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, GLUED_ITEM_TRAIT)
/obj/item/clothing/suit/ghost_sheet/sticky/attack_hand(mob/user)
if(iscarbon(user))
@@ -317,7 +334,7 @@
var/datum/reagent/mutationtoxin/pumpkinhead
name = "Pumpkin head mutation toxin"
id = "pumpkinmutationtoxin"
race = /datum/species/dullahan/pumpkin
race = /datum/species/dullahan
mutationtext = "<span class='spooky'>The pain subsides. You feel your head roll off your shoulders."
//I couldn't get the replace head sprite with a pumpkin to work so, it is what it is.

View File

@@ -32,9 +32,9 @@
head.throwforce = 25
myhead = new /obj/item/dullahan_relay (head, H)
H.put_in_hands(head)
var/obj/item/organ/eyes/eyes = H.getorganslot(ORGAN_SLOT_EYES)
for(/datum/action/item_action/organ_action/OA in eyes.actions)
OA.Toggle()
var/obj/item/organ/eyes/E = H.getorganslot(ORGAN_SLOT_EYES)
for(var/datum/action/item_action/organ_action/OA in E.actions)
OA.Trigger()
/datum/species/dullahan/on_species_loss(mob/living/carbon/human/H)
H.flags_1 |= ~HEAR_1