Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into Ghommie-cit352
This commit is contained in:
@@ -1,72 +1,72 @@
|
||||
/obj/effect/landmark/barthpot
|
||||
name = "barthpot"
|
||||
name = "barthpot"
|
||||
|
||||
/obj/item/barthpot
|
||||
name = "Bartholomew"
|
||||
icon = 'icons/obj/halloween_items.dmi'
|
||||
icon_state = "barthpot"
|
||||
anchored = TRUE
|
||||
var/items_list = list()
|
||||
speech_span = "spooky"
|
||||
var/active = TRUE
|
||||
name = "Bartholomew"
|
||||
icon = 'icons/obj/halloween_items.dmi'
|
||||
icon_state = "barthpot"
|
||||
anchored = TRUE
|
||||
var/items_list = list()
|
||||
speech_span = "spooky"
|
||||
var/active = TRUE
|
||||
|
||||
/obj/item/barthpot/Destroy()
|
||||
var/obj/item/barthpot/n = new src(loc)
|
||||
n.items_list = items_list
|
||||
..()
|
||||
var/obj/item/barthpot/n = new src(loc)
|
||||
n.items_list = items_list
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/barthpot/attackby(obj/item/I, mob/user, params)
|
||||
if(!active)
|
||||
say("Meow!")
|
||||
return
|
||||
if(!active)
|
||||
say("Meow!")
|
||||
return
|
||||
|
||||
for(var/I2 in items_list)
|
||||
if(istype(I, I2))
|
||||
qdel(I)
|
||||
new /obj/item/reagent_containers/food/snacks/special_candy(loc)
|
||||
to_chat(user, "<span class='notice'>You add the [I.name] to the pot and watch as it melts into the mixture, a candy crystalising in it's wake.</span>")
|
||||
say("Hooray! Thank you!")
|
||||
items_list -= I2
|
||||
return
|
||||
say("It doesn't seem like that's magical enough!")
|
||||
for(var/I2 in items_list)
|
||||
if(istype(I, I2))
|
||||
qdel(I)
|
||||
new /obj/item/reagent_containers/food/snacks/special_candy(loc)
|
||||
to_chat(user, "<span class='notice'>You add the [I.name] to the pot and watch as it melts into the mixture, a candy crystalising in it's wake.</span>")
|
||||
say("Hooray! Thank you!")
|
||||
items_list -= I2
|
||||
return
|
||||
say("It doesn't seem like that's magical enough!")
|
||||
|
||||
/obj/item/barthpot/attack_hand(mob/user)
|
||||
if(!active)
|
||||
say("Meow!")
|
||||
return
|
||||
say("Hello there, I'm Bartholomew, Jacqueline's Familiar.")
|
||||
sleep(20)
|
||||
if(!active)
|
||||
say("Meow!")
|
||||
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.")
|
||||
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.")
|
||||
|
||||
var/message = "From what I can tell, "
|
||||
if(LAZYLEN(items_list) < 5)
|
||||
generate_items()
|
||||
for(var/I2 in items_list)
|
||||
if(!I2)
|
||||
items_list -= I2
|
||||
continue
|
||||
var/obj/item/I3 = new I2
|
||||
message += "a [I3.name], "
|
||||
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.")
|
||||
var/message = "From what I can tell, "
|
||||
if(LAZYLEN(items_list) < 5)
|
||||
generate_items()
|
||||
for(var/I2 in items_list)
|
||||
if(!I2)
|
||||
items_list -= I2
|
||||
continue
|
||||
var/obj/item/I3 = new I2
|
||||
message += "a [I3.name], "
|
||||
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)
|
||||
var/rand_items = list(/obj/item/bodybag = 1,
|
||||
var/length = LAZYLEN(items_list)
|
||||
var/rand_items = list(/obj/item/bodybag = 1,
|
||||
/obj/item/clothing/glasses/meson = 2,
|
||||
/obj/item/clothing/glasses/sunglasses = 1,
|
||||
/obj/item/clothing/gloves/color/fyellow = 1,
|
||||
@@ -94,7 +94,7 @@
|
||||
/obj/item/stack/sheet/metal = 1,
|
||||
/obj/item/stack/sheet/mineral/plasma = 1,
|
||||
/obj/item/stack/sheet/rglass = 1,
|
||||
/obj/item/coin = 1,
|
||||
/obj/item/coin = 1,
|
||||
/obj/item/crowbar = 4,
|
||||
/obj/item/extinguisher = 3,
|
||||
/obj/item/hand_labeler = 1,
|
||||
@@ -129,28 +129,28 @@
|
||||
/obj/item/storage/toolbox = 2,
|
||||
/obj/item/reagent_containers/pill = 2,
|
||||
/obj/item/clothing/shoes = 8,
|
||||
/obj/item/clothing/head = 3,
|
||||
/obj/item/reagent_containers/food/snacks = 3,
|
||||
/obj/item/reagent_containers/syringe/dart = 2,
|
||||
/obj/item/reagent_containers/food/drinks/soda_cans = 5)
|
||||
if(length >= 5)
|
||||
return TRUE
|
||||
//var/metalist = pickweight(GLOB.maintenance_loot)
|
||||
for(var/i = length, i <= 5, i+=1)
|
||||
var/obj/item = pickweight(rand_items)
|
||||
if(!item)
|
||||
i-=1
|
||||
continue
|
||||
for(var/obj/item_dupe in items_list) //No duplicates
|
||||
if(item_dupe == item)
|
||||
i-=1
|
||||
continue
|
||||
items_list += item
|
||||
return TRUE
|
||||
/obj/item/clothing/head = 3,
|
||||
/obj/item/reagent_containers/food/snacks = 3,
|
||||
/obj/item/reagent_containers/syringe/dart = 2,
|
||||
/obj/item/reagent_containers/food/drinks/soda_cans = 5)
|
||||
if(length >= 5)
|
||||
return TRUE
|
||||
//var/metalist = pickweight(GLOB.maintenance_loot)
|
||||
for(var/i = length, i <= 5, i+=1)
|
||||
var/obj/item = pickweight(rand_items)
|
||||
if(!item)
|
||||
i-=1
|
||||
continue
|
||||
for(var/obj/item_dupe in items_list) //No duplicates
|
||||
if(item_dupe == item)
|
||||
i-=1
|
||||
continue
|
||||
items_list += item
|
||||
return TRUE
|
||||
|
||||
/obj/item/pinpointer/jacq
|
||||
name = "The Jacq-Tracq"
|
||||
desc = "A handheld tracking device that locks onto witchy signals."
|
||||
name = "The Jacq-Tracq"
|
||||
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])
|
||||
|
||||
@@ -127,8 +127,8 @@
|
||||
name = "ghost"
|
||||
real_name = "ghost"
|
||||
icon = 'icons/mob/mob.dmi'
|
||||
maxHealth = 1e6
|
||||
health = 1e6
|
||||
maxHealth = 120
|
||||
health = 120
|
||||
speak_emote = list("howls")
|
||||
emote_hear = list("wails","screeches")
|
||||
density = FALSE
|
||||
@@ -141,7 +141,6 @@
|
||||
. = ..()
|
||||
icon_state = pick("ghost","ghostian","ghostian2","ghostking","ghost1","ghost2")
|
||||
icon_living = icon_state
|
||||
status_flags |= GODMODE
|
||||
timer = rand(1,15)
|
||||
|
||||
/mob/living/simple_animal/shade/howling_ghost/Life()
|
||||
@@ -176,13 +175,9 @@
|
||||
step(I,direction)
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/shade/howling_ghost/adjustHealth()
|
||||
. = 0
|
||||
|
||||
/mob/living/simple_animal/shade/howling_ghost/CanPass(atom/movable/mover, turf/target)
|
||||
return 1
|
||||
|
||||
|
||||
///////////////////////////
|
||||
//Spookoween Insane Clown//
|
||||
///////////////////////////
|
||||
@@ -195,8 +190,8 @@
|
||||
icon_dead = "scary_clown"
|
||||
icon_gib = "scary_clown"
|
||||
speak = list("...", ". . .")
|
||||
maxHealth = 1e6
|
||||
health = 1e6
|
||||
maxHealth = 120
|
||||
health = 120
|
||||
emote_see = list("silently stares")
|
||||
unsuitable_atmos_damage = 0
|
||||
var/timer
|
||||
@@ -204,8 +199,6 @@
|
||||
/mob/living/simple_animal/hostile/retaliate/clown/insane/Initialize()
|
||||
. = ..()
|
||||
timer = rand(5,15)
|
||||
status_flags = (status_flags | GODMODE)
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/clown/insane/Retaliate()
|
||||
return
|
||||
@@ -237,7 +230,7 @@
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/clown/insane/adjustHealth()
|
||||
. = 0
|
||||
. = ..()
|
||||
if(prob(5))
|
||||
playsound(loc, 'sound/spookoween/insane_low_laugh.ogg', 300, 1)
|
||||
|
||||
|
||||
@@ -546,3 +546,10 @@ Since Ramadan is an entire month that lasts 29.5 days on average, the start and
|
||||
|
||||
/datum/holiday/easter/getStationPrefix()
|
||||
return pick("Fluffy","Bunny","Easter","Egg")
|
||||
|
||||
//Random citadel thing for halloween species
|
||||
/proc/force_enable_halloween_species()
|
||||
var/list/oldlist = SSevents.holidays
|
||||
SSevents.holidays = list(HALLOWEEN = new /datum/holiday/halloween)
|
||||
generate_selectable_species(FALSE)
|
||||
SSevents.holidays = oldlist
|
||||
|
||||
Reference in New Issue
Block a user