Cleans up some antag/event landmark checks
This commit is contained in:
committed by
CitadelStationBot
parent
aaa2a214cb
commit
2635689e79
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,4 @@
|
||||
<<<<<<< HEAD
|
||||
/datum/round_event_control/carp_migration
|
||||
name = "Carp Migration"
|
||||
typepath = /datum/round_event/carp_migration
|
||||
@@ -26,3 +27,32 @@
|
||||
new /mob/living/simple_animal/hostile/carp/megacarp(C.loc)
|
||||
|
||||
|
||||
=======
|
||||
/datum/round_event_control/carp_migration
|
||||
name = "Carp Migration"
|
||||
typepath = /datum/round_event/carp_migration
|
||||
weight = 15
|
||||
min_players = 2
|
||||
earliest_start = 6000
|
||||
max_occurrences = 6
|
||||
|
||||
/datum/round_event/carp_migration
|
||||
announceWhen = 3
|
||||
startWhen = 50
|
||||
|
||||
/datum/round_event/carp_migration/setup()
|
||||
startWhen = rand(40, 60)
|
||||
|
||||
/datum/round_event/carp_migration/announce()
|
||||
priority_announce("Unknown biological entities have been detected near [station_name()], please stand-by.", "Lifesign Alert")
|
||||
|
||||
|
||||
/datum/round_event/carp_migration/start()
|
||||
for(var/obj/effect/landmark/carpspawn/C in GLOB.landmarks_list)
|
||||
if(prob(95))
|
||||
new /mob/living/simple_animal/hostile/carp(C.loc)
|
||||
else
|
||||
new /mob/living/simple_animal/hostile/carp/megacarp(C.loc)
|
||||
|
||||
|
||||
>>>>>>> 3358cbb... Cleans up some antag/event landmark checks (#31129)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<<<<<<< HEAD
|
||||
/datum/round_event_control/electrical_storm
|
||||
name = "Electrical Storm"
|
||||
typepath = /datum/round_event/electrical_storm
|
||||
@@ -34,3 +35,41 @@
|
||||
for(var/obj/effect/landmark/epicentre in epicentreList)
|
||||
for(var/obj/machinery/power/apc/apc in urange(lightsoutRange, epicentre))
|
||||
apc.overload_lighting()
|
||||
=======
|
||||
/datum/round_event_control/electrical_storm
|
||||
name = "Electrical Storm"
|
||||
typepath = /datum/round_event/electrical_storm
|
||||
earliest_start = 6000
|
||||
min_players = 5
|
||||
weight = 40
|
||||
alertadmins = 0
|
||||
|
||||
/datum/round_event/electrical_storm
|
||||
var/lightsoutAmount = 1
|
||||
var/lightsoutRange = 25
|
||||
announceWhen = 1
|
||||
|
||||
/datum/round_event/electrical_storm/announce()
|
||||
priority_announce("An electrical storm has been detected in your area, please repair potential electronic overloads.", "Electrical Storm Alert")
|
||||
|
||||
|
||||
/datum/round_event/electrical_storm/start()
|
||||
var/list/epicentreList = list()
|
||||
|
||||
for(var/i=1, i <= lightsoutAmount, i++)
|
||||
var/list/possibleEpicentres = list()
|
||||
for(var/obj/effect/landmark/lightsout/newEpicentre in GLOB.landmarks_list)
|
||||
if(!(newEpicentre in epicentreList))
|
||||
possibleEpicentres += newEpicentre
|
||||
if(possibleEpicentres.len)
|
||||
epicentreList += pick(possibleEpicentres)
|
||||
else
|
||||
break
|
||||
|
||||
if(!epicentreList.len)
|
||||
return
|
||||
|
||||
for(var/obj/effect/landmark/epicentre in epicentreList)
|
||||
for(var/obj/machinery/power/apc/apc in urange(lightsoutRange, epicentre))
|
||||
apc.overload_lighting()
|
||||
>>>>>>> 3358cbb... Cleans up some antag/event landmark checks (#31129)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<<<<<<< HEAD
|
||||
/datum/round_event_control/spooky
|
||||
name = "2 SPOOKY! (Halloween)"
|
||||
holidayID = HALLOWEEN
|
||||
@@ -70,6 +71,79 @@
|
||||
if(!H.client || !istype(H))
|
||||
return
|
||||
to_chat(H, "<span class='danger'>Honk...</span>")
|
||||
=======
|
||||
/datum/round_event_control/spooky
|
||||
name = "2 SPOOKY! (Halloween)"
|
||||
holidayID = HALLOWEEN
|
||||
typepath = /datum/round_event/spooky
|
||||
weight = -1 //forces it to be called, regardless of weight
|
||||
max_occurrences = 1
|
||||
earliest_start = 0
|
||||
|
||||
/datum/round_event/spooky/start()
|
||||
..()
|
||||
for(var/mob/living/carbon/human/H in GLOB.mob_list)
|
||||
var/obj/item/storage/backpack/b = locate() in H.contents
|
||||
new /obj/item/storage/spooky(b)
|
||||
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 GLOB.mob_list)
|
||||
Ian.place_on_head(new /obj/item/bedsheet(Ian))
|
||||
for(var/mob/living/simple_animal/parrot/Poly/Poly in GLOB.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")
|
||||
|
||||
//Eyeball migration
|
||||
/datum/round_event_control/carp_migration/eyeballs
|
||||
name = "Eyeball Migration"
|
||||
typepath = /datum/round_event/carp_migration/eyeballs
|
||||
holidayID = HALLOWEEN
|
||||
weight = 25
|
||||
earliest_start = 0
|
||||
|
||||
/datum/round_event/carp_migration/eyeballs/start()
|
||||
for(var/obj/effect/landmark/carpspawn/C in GLOB.landmarks_list)
|
||||
new /mob/living/simple_animal/hostile/carp/eyeball(C.loc)
|
||||
|
||||
//Pumpking meteors waves
|
||||
/datum/round_event_control/meteor_wave/spooky
|
||||
name = "Pumpkin Wave"
|
||||
typepath = /datum/round_event/meteor_wave/spooky
|
||||
holidayID = HALLOWEEN
|
||||
weight = 20
|
||||
max_occurrences = 2
|
||||
|
||||
/datum/round_event/meteor_wave/spooky
|
||||
endWhen = 40
|
||||
|
||||
/datum/round_event/meteor_wave/spooky/tick()
|
||||
if(IsMultiple(activeFor, 4))
|
||||
spawn_meteors(3, GLOB.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 GLOB.living_mob_list)
|
||||
if(!H.client || !istype(H))
|
||||
return
|
||||
to_chat(H, "<span class='danger'>Honk...</span>")
|
||||
>>>>>>> 3358cbb... Cleans up some antag/event landmark checks (#31129)
|
||||
SEND_SOUND(H, sound('sound/spookoween/scary_clown_appear.ogg'))
|
||||
var/turf/T = get_turf(H)
|
||||
if(T)
|
||||
|
||||
@@ -16,9 +16,8 @@
|
||||
var/mob/dead/selected = pick_n_take(candidates)
|
||||
|
||||
var/list/spawn_locs = list()
|
||||
for(var/obj/effect/landmark/L in GLOB.landmarks_list)
|
||||
if(L.name in list("ninjaspawn","carpspawn"))
|
||||
spawn_locs += L.loc
|
||||
for(var/obj/effect/landmark/carpspawn/L in GLOB.landmarks_list)
|
||||
spawn_locs += L.loc
|
||||
if(!spawn_locs.len)
|
||||
return MAP_ERROR
|
||||
|
||||
|
||||
@@ -16,12 +16,11 @@
|
||||
priority_announce("Unknown magical entities have been detected near [station_name()], please stand-by.", "Lifesign Alert")
|
||||
|
||||
/datum/round_event/wizard/magicarp/start()
|
||||
for(var/obj/effect/landmark/C in GLOB.landmarks_list)
|
||||
if(C.name == "carpspawn")
|
||||
if(prob(5))
|
||||
new /mob/living/simple_animal/hostile/carp/ranged/chaos(C.loc)
|
||||
else
|
||||
new /mob/living/simple_animal/hostile/carp/ranged(C.loc)
|
||||
for(var/obj/effect/landmark/carpspawn/C in GLOB.landmarks_list)
|
||||
if(prob(5))
|
||||
new /mob/living/simple_animal/hostile/carp/ranged/chaos(C.loc)
|
||||
else
|
||||
new /mob/living/simple_animal/hostile/carp/ranged(C.loc)
|
||||
|
||||
/mob/living/simple_animal/hostile/carp/ranged
|
||||
name = "magicarp"
|
||||
|
||||
@@ -20,15 +20,6 @@
|
||||
|
||||
sight |= SEE_TURFS
|
||||
|
||||
/*
|
||||
var/list/watch_locations = list()
|
||||
for(var/obj/effect/landmark/landmark in landmarks_list)
|
||||
if(landmark.tag == "landmark*new_player")
|
||||
watch_locations += landmark.loc
|
||||
|
||||
if(watch_locations.len>0)
|
||||
loc = pick(watch_locations)
|
||||
*/
|
||||
new_player_panel()
|
||||
client.playtitlemusic()
|
||||
if(SSticker.current_state < GAME_STATE_SETTING_UP)
|
||||
|
||||
@@ -329,16 +329,14 @@
|
||||
continue
|
||||
loc_landmark = sloc.loc
|
||||
if(!loc_landmark)
|
||||
for(var/obj/effect/landmark/tripai in GLOB.landmarks_list)
|
||||
if(tripai.name == "tripai")
|
||||
if(locate(/mob/living/silicon/ai) in tripai.loc)
|
||||
continue
|
||||
loc_landmark = tripai.loc
|
||||
for(var/obj/effect/landmark/tripai/L in GLOB.landmarks_list)
|
||||
if(locate(/mob/living/silicon/ai) in L.loc)
|
||||
continue
|
||||
loc_landmark = L.loc
|
||||
if(!loc_landmark)
|
||||
to_chat(src, "Oh god sorry we can't find an unoccupied AI spawn location, so we're spawning you on top of someone.")
|
||||
for(var/obj/effect/landmark/start/sloc in GLOB.landmarks_list)
|
||||
if (sloc.name == "AI")
|
||||
loc_landmark = sloc.loc
|
||||
for(var/obj/effect/landmark/start/ai/sloc in GLOB.landmarks_list)
|
||||
loc_landmark = sloc.loc
|
||||
|
||||
if(!transfer_after)
|
||||
mind.active = FALSE
|
||||
|
||||
@@ -39,11 +39,9 @@ Contents:
|
||||
//selecting a spawn_loc
|
||||
if(!spawn_loc)
|
||||
var/list/spawn_locs = list()
|
||||
for(var/obj/effect/landmark/L in GLOB.landmarks_list)
|
||||
for(var/obj/effect/landmark/carpspawn/L in GLOB.landmarks_list)
|
||||
if(isturf(L.loc))
|
||||
switch(L.name)
|
||||
if("ninjaspawn","carpspawn")
|
||||
spawn_locs += L.loc
|
||||
spawn_locs += L.loc
|
||||
if(!spawn_locs.len)
|
||||
return kill()
|
||||
spawn_loc = pick(spawn_locs)
|
||||
|
||||
Reference in New Issue
Block a user