Slowly getting there

This commit is contained in:
Fermi
2019-10-06 11:09:54 +01:00
parent d023d58b2c
commit ea031d6d40
2 changed files with 160 additions and 55 deletions
+156 -54
View File
@@ -23,8 +23,8 @@
/datum/round_event/jaqc/start()
..()
for(var/mob/living/simple_animal/parrot/Poly/Poly in GLOB.mob_living_list)
new /mob/living/jacq(Poly.loc)//She poofs on init, so it doesn't matter, so long as poly exists.
for(var/mob/living/simple_animal/pet/dog/corgi/Ian/Ian in GLOB.mob_living_list)
new /mob/living/jacq(Poly.loc)//She poofs on init, so it doesn't matter, so long as Ian exists.
/////// MOBS
@@ -73,15 +73,17 @@
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)
//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.
//Very important
var/gender = "lamb"
if(C)
@@ -90,19 +92,16 @@
if(C.gender == FEMALE)
gender = "lassie"
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 there [gender]! Ahm 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 you 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, ”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.")
if(!progression["[C.real_name]"])
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
var/choices = list("Trick", "Treat", "How do I get candies?")
var/choice = input(usr, "Trick or Treat?", "Trick or Treat?") in choices
switch(choice)
@@ -110,64 +109,148 @@
trick(C)
return
if("Treat")
if(check_candies())
Treat()
if(check_candies(C))
treat(C, gender)
else
visible_message("<b>[src] raises an eyebrown,</b> <span class='spooky'>\"You've nae got any candies I want! They're the orange ones, now bugger off an go get em first.\"</span>")
visible_message("<b>[src] raises an eyebrown,</b> <span class='spooky'>\"You've nae got any candies Ah want! They're the orange round ones, now bugger off an go get em first.\"</span>")
return
if("How do I get candies?")
visible_message("<b>[src] says,</b> <span class='spooky'>\"Gae find my familiar; Bartholomew. Ee's tendin the cauldron which ken bring out t' magic energy in items scattered aroond. Knowing him, ee's probably gone tae somewhere with books.\"</span>")
visible_message("<b>[src] says,</b> <span class='spooky'>\"Gae find my familiar; Bartholomew. Ee's tendin the cauldron which ken bring oot t' magic energy in items scattered aroond. Knowing him, ee's probably gone tae somewhere with books.\"</span>")
return
return
/mob/living/jacq/proc/treat(mob/living/carbon/C)
if(!progression["[C.real_name]"]) //I really don't want to get here without a hello.
progression["[C.real_name]"] += JACQ_HELLO
/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>")
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
switch(choice_reward)
if("Object - 3 candies")
var/new_obj = pick(subtypesof(/obj))
//for(var/item in blacklist)
// if(new_obj == item)
// panic()
new new_obj(C.loc)
if("Potion - 2 candies")
new /obj/item/reagent_containers/potion_container(C.loc)
if("Plushie - 1 candy")
new /obj/item/toy/plush/random(C.loc)
if("Can I ask you a question 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
progression["[C.real_name]"] += JACQ_HELLO
if(!progression["[C.real_name]"] & JACQ_FAR)
if(progression["[C.real_name]"] & JACQ_CANDIES)
choices += "You really came all this way for candy?"
else
choices += "Why do you want the candies?"
if(!progression["[C.real_name]"] & JACQ_HEAD)
choices += "What is that on your head?"
if(!progression["[C.real_name]"] & JACQ_EXPELL)
if(progression["[C.real_name]"] & JACQ_WITCH & JACQ_FAR)
choices += "So you got ex-spell-ed?"
else
choices += "Are you a witch?"
//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)
choices = "Can I take you out on a date?"
//If you've nothing to ask
if(!LAZYLEN(choices))
visible_message("<b>[src] raises an eyebrown,</b> <span class='spooky'>\"Ah'm all questioned oot fer noo, [gender].\"</span>")
return
//Otherwise, lets go!
visible_message("<b>[src] says,</b> <span class='spooky'>\"A question? Sure, it'll cost you a candy though!\"</span>")
choices += "Nevermind"
//Candies for chitchats
var/choice = input(usr, "What do you want to ask?", "What do you want to ask?") in choices
if(!take_candies(C, 1))
visible_message("<b>[src] raises an eyebrown,</b> <span class='spooky'>\"It's a candy per question [gender]! Thems the rules!\"</span>")
return
//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>")
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>")
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>")
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>")
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>")
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>")
progression["[C.real_name]"] = progression["[C.real_name]"] | JACQ_EXPELL
if("Can I take you out on a date?")
visible_message("<b>[src] blushes,</b> <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
dating_start(C, gender)
if("Nevermind")
visible_message("<b>[src] shurgs,</b> <span class='spooky'>\"Suit yerself then.\"</span>")
if(progression["[C.real_name]"] & JACQ_TRICKED)
/mob/living/jacq/proc/trick(mob/living/carbon/C, gender)
var/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/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]."
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>")
//playsound
if(4)
visible_message("<b>[src] waves their arms around,</b> <span class='spooky'>\"A cute little bumpkin, In your hand is a pumpkin!\"</span>")
//Sticky latern
if(5)
visible_message("<b>[src] waves their arms around,</b> <span class='spooky'>\"In your arms a jokester, keep him close if you don't want to be a toaster!\"</span>")
//sans
if(6)
visible_message("<b>[src] waves their arms around,</b> <span class='spooky'>\"A new familiar for me, and you'll see it's thee!\"</span>")
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>")
C.place_on_head(new /obj/item/bedsheet/sticky(C))
if(progression["[C.real_name]"] & JACQ)
if(progression["[C.real_name]"] & )
if(progression["[C.real_name]"] & )
if(progression["[C.real_name]"] & )
if(progression["[C.real_name]"] & )
if("Why do you want the candies?")
visible_message("<b>[src] says,</b> <span class='spooky'>\ ”Ave you tried them? Theyre full of all sorts of reagents. Ahm after them so ah ken magic em up an hopefully find rare stuff for me brews. Honestly its a lot easier magicking up tatt for you 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. I mean, ye might run into Bartholomew my cat. ees supposed to be tending my cauldron, but Ive no idea where ees got tae.\"</span>")
/*
visible_message("<span class='spooky'><b>[src] smiles ominously at [L],</b> ”Well halò there [gender]! Ahm Jacqueline, tae great Pumpqueen, right in tae flesh fer ye.”</span>")
says, ”Ahm sure yae well stunned, but ahve got nae taem fer that. Ahm after yer candies. If yae get mae enoof o the wee buggers, Ill give you a treat, or if yae feeling bold, Ah ken trick ye instaed.” giving [L] a wide grin.
Why do you want the candies?
What is that on your head?
Points at the pumpkin atop her head, ”This thing? This isnt any ordinary pumpkin! My mother grew this monster over a year of love, dedication and hard work. Honestly it felt like she loved this thing more than she any of her kids, which I know isnt true and its not like she was heartless or anything but.. well, we had a falling out when I got back home with all me stuff in tow. And all she had done is sent me owl after owl over the last year about this bloody pumpkin and I had enough. So I took it, and put it on my head. You know, as you do. I am the great Pumpqueen after all, I deserve this.
Isnt it a bit far to get candy?
looks to the side sheepishly, ”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 to her posh ivory tower tae learn bloody chemistry instead!” [src] scowls, “Shes tae black sheep o the family too, so we dunnae see eye to 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.”
Are you a witch?
grumbles </b>”If you must know, I got kicked out of the witch academy for being too much of a “loose cannon”. A bloody loose cannon? Nae they were just pissed off I had the brass to proclaim myself as the Pumpqueen…. And also maybe the time I went and blew up one of the towers by trying to make a huge batch of astrogen mightve had something to do with it. I 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.”
So you got ex-spell-ed?
Gives you a blank look at the pun, before continuing ”Not quite, I know I can get back into the academy, its only an explosion, they happen all the time, but, to be fair its my fault that things came to 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, I did something I knew was dangerous, because I had to do something to stand out, but I know this life isnt for me, I dont want to be locked up in dusty towers, grinding reagent after reagent together, trying to find new reactions, some of the wizards in there havent left for years. I want to live, I want to fly around on a broom, turn people into cats for 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 out a soft sigh, ”I know my mothers obsession with this dumb thing on my head is just her trying to fill the void of me and my sis moving out, and it really shouldnt be on my head. And I know that Im really here to get help from my sis… Shes the sensible one, and she gives good hugs.”
Thanks [L], I guess I didnt realise I needed someone to talk to but, Im glad you spent all your candies talking to me.” she gives a grin underneath the pumpkin upon her head, ”Though Im still keeping the candies!”
Will you go on a date with me?
”…You want to ask me out on a date? Me? After all that nonsense I just said? It seems a waste of a candy honestly.”
/*Will you go on a date with me?
”…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.”
[src] looks to the side.
”Look, I like ye but, I dont think I can right now. If you cant tell, the stations covered in volatile candies, Ive a few other laddies and lassies running after me treats, and to top it all off, Ive the gods breathing down me neck, watching every treat I make for the lot of yous.” she sighs, ”But thats not a no, right? Thats.. just a not right now.”
[src] takes off the pumpkin on her head, a rich blush on her cheeks. She leans over planting a kiss upon your forehead quickly before popping the pumpkin back on her head.
”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 not right now.”
[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.
” There, that aught to be worth a candy.”
” There, that aught tae be worth a candy.”
Ondeath:
visible_message("<span class='spooky'><b>[src] cackles,</b> "You'll nae get rid a me that easily!"</span>")
(the last message is if I can't get a ghost/a person in it)
*/
/obj/item/bedsheet/sticky
item_flags = NODROP
var/datum/reagent/mutationtoxin/pumpkinhead
name = "Pumpkin head mutation toxin"
id = "pumpkinmutationtoxin"
race = /datum/species/dullahan/pumpkin
mutationtext = "<span class='spooky'>The pain subsides. You feel your head roll off your shoulders."
/mob/living/jacq/proc/check_candies(mob/living/carbon/C)
var/invs = C.get_contents()
var/candy_count = 0
@@ -183,15 +266,34 @@ visible_message("<span class='spooky'><b>[src] cackles,</b> "You'll nae get rid
if(istype(item, /obj/item/reagent_containers/food/snacks/special_candy))
candies += item
if(LAZYLEN(candies) == candy_amount)
for(var/candy in candies)
qdel(candy)
return TRUE
break
if(LAZYLEN(candies) == candy_amount) //I know it's a double check but eh, to be safe.
for(var/candy in candies)
qdel(candy)
return TRUE
return FALSE
/mob/living/jacq/proc/trick()
/mob/living/jacq/proc/trick(C)
//var/area/A = input(usr, "Pick an area.", "Pick an area") in GLOB.sortedAreas|null
//Potions
/obj/item/reagent_containers/potion_container
name = "potion"
//TODO icons
/obj/item/reagent_containers/potion_container/Initialize()
..()
var/datum/reagent/R = pick(subtypesof(/datum/reagent))
reagents.add_reagent(R.id, 30)
name = "[R.id] Potion"
/obj/item/reagent_containers/potion_container/throw_impact(atom/target)
var/datum/effect_system/smoke_spread/chem/s = new()
s.set_up(src.reagents, 3, target.loc)
s.start()
..()
//Candies
/obj/item/reagent_containers/food/snacks/special_candy
name = "Magic candy"
@@ -32,6 +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()
/datum/species/dullahan/on_species_loss(mob/living/carbon/human/H)
H.flags_1 |= ~HEAR_1
@@ -138,4 +141,4 @@
D.myhead = null
owner.gib()
owner = null
..()
..()