12/21 modernizations from TG live (#103)
* sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes
This commit is contained in:
@@ -11,13 +11,17 @@
|
||||
for(var/mob/living/carbon/human/H in mob_list)
|
||||
var/obj/item/weapon/storage/backpack/b = locate() in H.contents
|
||||
new /obj/item/weapon/storage/spooky(b)
|
||||
if(prob(50))
|
||||
H.set_species(/datum/species/skeleton)
|
||||
else
|
||||
H.set_species(/datum/species/zombie)
|
||||
if(ishuman(H) || islizard(H))
|
||||
if(prob(50))
|
||||
H.set_species(/datum/species/skeleton)
|
||||
else
|
||||
H.set_species(/datum/species/zombie)
|
||||
|
||||
for(var/mob/living/simple_animal/pet/dog/corgi/Ian/Ian in mob_list)
|
||||
Ian.place_on_head(new /obj/item/weapon/bedsheet(Ian))
|
||||
for(var/mob/living/simple_animal/parrot/Poly/Poly in mob_list)
|
||||
new /mob/living/simple_animal/parrot/Poly/ghost(Poly.loc)
|
||||
qdel(Poly)
|
||||
|
||||
/datum/round_event/spooky/announce()
|
||||
priority_announce(pick("RATTLE ME BONES!","THE RIDE NEVER ENDS!", "A SKELETON POPS OUT!", "SPOOKY SCARY SKELETONS!", "CREWMEMBERS BEWARE, YOU'RE IN FOR A SCARE!") , "THE CALL IS COMING FROM INSIDE THE HOUSE")
|
||||
@@ -50,6 +54,50 @@
|
||||
if(IsMultiple(activeFor, 4))
|
||||
spawn_meteors(3, meteorsSPOOKY) //meteor list types defined in gamemode/meteor/meteors.dm
|
||||
|
||||
//Creepy clown invasion
|
||||
/datum/round_event_control/creepy_clowns
|
||||
name = "Clowns"
|
||||
typepath = /datum/round_event/creepy_clowns
|
||||
holidayID = HALLOWEEN
|
||||
weight = 20
|
||||
earliest_start = 0
|
||||
|
||||
/datum/round_event/creepy_clowns
|
||||
endWhen = 40
|
||||
|
||||
/datum/round_event/creepy_clowns/start()
|
||||
for(var/mob/living/carbon/human/H in living_mob_list)
|
||||
if(!H.client || !istype(H))
|
||||
return
|
||||
H << "<span class='danger'>Honk...</span>"
|
||||
H << 'sound/spookoween/scary_clown_appear.ogg'
|
||||
var/turf/T = get_turf(H)
|
||||
if(T)
|
||||
new /obj/effect/hallucination/simple/clown(T, H, 50)
|
||||
|
||||
/datum/round_event/creepy_clowns/tick()
|
||||
if(IsMultiple(activeFor, 4))
|
||||
for(var/mob/living/carbon/human/H in living_mob_list)
|
||||
if (prob(66))
|
||||
playsound(H.loc, pick('sound/spookoween/scary_horn.ogg','sound/spookoween/scary_horn2.ogg', 'sound/spookoween/scary_horn3.ogg'), 100, 1)
|
||||
if (prob(33))
|
||||
var/turf/T = get_turf(H)
|
||||
if(T)
|
||||
new /obj/effect/hallucination/simple/clown(T, H, 25)
|
||||
else if (prob(25))
|
||||
var/turf/T = get_turf(H)
|
||||
if(T)
|
||||
new /obj/effect/hallucination/simple/clown/scary(T, H, 25)
|
||||
else if (prob(5))
|
||||
var/turf/T = get_turf(H)
|
||||
if(T)
|
||||
spawn_atom_to_turf(/obj/effect/mob_spawn/human/corpse/clown, H, 1)
|
||||
else if (prob(1))
|
||||
spawn_atom_to_turf(/mob/living/simple_animal/hostile/retaliate/clown, H, 1)
|
||||
|
||||
/datum/round_event/creepy_clowns/announce()
|
||||
priority_announce("Honk... Honk... honk... HONK! HONK! HONKHONKHONKHONKHONK", "HONK!", 'sound/spookoween/scary_horn.ogg')
|
||||
|
||||
//spooky foods (you can't actually make these when it's not halloween)
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sugarcookie/spookyskull
|
||||
name = "skull cookie"
|
||||
@@ -68,7 +116,7 @@
|
||||
|
||||
/obj/item/weapon/storage/spooky
|
||||
name = "trick-o-treat bag"
|
||||
desc = "A Pumpkin shaped bag that holds all sorts of goodies!"
|
||||
desc = "A pumpkin-shaped bag that holds all sorts of goodies!"
|
||||
icon = 'icons/obj/halloween_items.dmi'
|
||||
icon_state = "treatbag"
|
||||
|
||||
@@ -79,5 +127,12 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sugarcookie/spookycoffin,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy_corn,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar)
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candiedapple,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
|
||||
/obj/item/organ/brain ) // OH GOD THIS ISN'T CANDY!
|
||||
new type(src)
|
||||
|
||||
/obj/item/weapon/card/emag/halloween
|
||||
name = "hack-o'-lantern"
|
||||
desc = "It's a pumpkin with a cryptographic sequencer sticking out."
|
||||
icon_state = "hack_o_lantern"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
/datum/round_event/valentines/start()
|
||||
..()
|
||||
for(var/mob/living/carbon/human/H in mob_list)
|
||||
for(var/mob/living/carbon/human/H in living_mob_list)
|
||||
H.put_in_hands(new /obj/item/weapon/valentine)
|
||||
var/obj/item/weapon/storage/backpack/b = locate() in H.contents
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/candyheart(b)
|
||||
@@ -28,8 +28,8 @@
|
||||
icon = 'icons/obj/toy.dmi'
|
||||
icon_state = "sc_Ace of Hearts_syndicate" // shut up
|
||||
var/message = "A generic message of love or whatever."
|
||||
burn_state = FLAMMABLE
|
||||
w_class = 1
|
||||
resistance_flags = FLAMMABLE
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/weapon/valentine/New()
|
||||
..()
|
||||
@@ -55,7 +55,6 @@
|
||||
"You're always valid to my heart.",
|
||||
"I'd risk the wrath of the gods to bwoink you.",
|
||||
"You look as beautiful now as the last time you were cloned.",
|
||||
"Your love is more valuable than raw plasma ore.",
|
||||
"Someone check the gravitational generator, because I'm only attracted to you.",
|
||||
"If I were the warden I'd always let you into my armory.",
|
||||
"The virologist is rogue, and the only cure is a kiss from you.",
|
||||
@@ -73,7 +72,9 @@
|
||||
"If you had a pickaxe you'd be a shaft FINEr.",
|
||||
"Roses are red, tide is gray, if I were an assistant I'd steal you away.",
|
||||
"Roses are red, text is green, I love you more than cleanbots clean.",
|
||||
"If you were a carp I'd fi-lay you." )
|
||||
"If you were a carp I'd fi-lay you.",
|
||||
"I'm a nuke op, and my pinpointer leads to your heart.",
|
||||
"Wanna slay my megafauna?" )
|
||||
|
||||
/obj/item/weapon/valentine/attackby(obj/item/weapon/W, mob/user, params)
|
||||
..()
|
||||
@@ -123,5 +124,6 @@
|
||||
"A heart-shaped candy that reads: WAG MY TAIL",
|
||||
"A heart-shaped candy that reads: VALIDTINES",
|
||||
"A heart-shaped candy that reads: FACEHUGGER",
|
||||
"A heart-shaped candy that reads: DOMINATOR")
|
||||
"A heart-shaped candy that reads: DOMINATOR",
|
||||
"A heart-shaped candy that reads: GET TESLA'D")
|
||||
icon_state = pick("candyheart", "candyheart2", "candyheart3", "candyheart4")
|
||||
@@ -47,7 +47,7 @@
|
||||
var/cracked = 0
|
||||
|
||||
/obj/item/weapon/toy/xmas_cracker/attack(mob/target, mob/user)
|
||||
if( !cracked && istype(target,/mob/living/carbon/human) && (target.stat == CONSCIOUS) && !target.get_active_hand() )
|
||||
if( !cracked && ishuman(target) && (target.stat == CONSCIOUS) && !target.get_active_held_item() )
|
||||
target.visible_message("[user] and [target] pop \an [src]! *pop*", "<span class='notice'>You pull \an [src] with [target]! *pop*</span>", "<span class='italics'>You hear a pop.</span>")
|
||||
var/obj/item/weapon/paper/Joke = new /obj/item/weapon/paper(user.loc)
|
||||
Joke.name = "[pick("awful","terrible","unfunny")] joke"
|
||||
@@ -78,7 +78,15 @@
|
||||
icon_state = "xmashat"
|
||||
desc = "A crappy paper hat that you are REQUIRED to wear."
|
||||
flags_inv = 0
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0)
|
||||
|
||||
/obj/effect/landmark/xmastree
|
||||
name = "christmas tree spawner"
|
||||
var/tree = /obj/structure/flora/tree/pine/xmas
|
||||
|
||||
/obj/effect/landmark/xmastree/rdrod
|
||||
name = "festivus pole spawner"
|
||||
tree = /obj/structure/festivus
|
||||
|
||||
/datum/round_event_control/santa
|
||||
name = "Santa is coming to town! (Christmas)"
|
||||
|
||||
Reference in New Issue
Block a user