forked from Bubberstation/Bubberstation
-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adds Void Walker to Storyteller (Bubberstation#1838)
## About The Pull Request Adds voidwalker to storyteller. TG didn't cook it with its own ``/datum/round_event_control`` so I had to make my own. I've also moved _events.dm higher up the compile order. It has a 30 minute minimum spawn timer and 40 minimum population (which is what TG set it as) ## Why It's Good For The Game The new antag needs to roll. ## Proof Of Testing ![image](https://github.com/user-attachments/assets/cd1e70ad-c844-4f45-ac51-8ca9fee6c724) ## Changelog Nothing player facing. --------- Co-authored-by: Waterpig <[email protected]>
- Loading branch information
1 parent
1cc7831
commit ea909ca
Showing
4 changed files
with
45 additions
and
1 deletion.
There are no files selected for viewing
File renamed without changes.
39 changes: 39 additions & 0 deletions
39
modular_zubbers/code/modules/storyteller/_events/voidwalker.dm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
// TG did not cook this antag into the event system. So I had to make my own | ||
|
||
/datum/round_event_control/voidwalker | ||
name = "Spawn Void Walker" | ||
typepath = /datum/round_event/ghost_role/void_walker | ||
max_occurrences = 1 | ||
weight = 3 | ||
earliest_start = 20 MINUTES | ||
min_players = 30 | ||
dynamic_should_hijack = TRUE | ||
category = EVENT_CATEGORY_ENTITIES | ||
description = "A Void Walker that drags people out of the station and into the abyss" | ||
|
||
/datum/round_event/ghost_role/void_walker | ||
minimum_required = 30 | ||
fakeable = FALSE | ||
role_name = "Void Walker" | ||
|
||
/datum/round_event/ghost_role/void_walker/spawn_role() | ||
var/spawn_location = find_space_spawn() | ||
if(isnull(spawn_location)) | ||
return MAP_ERROR | ||
|
||
var/mob/chosen_one = SSpolling.poll_ghost_candidates(check_jobban = ROLE_VOIDWALKER, role = ROLE_VOIDWALKER, alert_pic = /obj/item/cosmic_skull, jump_target = spawn_location, role_name_text = "Void Walker", amount_to_pick = 1) | ||
if(isnull(chosen_one)) | ||
return NOT_ENOUGH_PLAYERS | ||
var/datum/mind/player_mind = new /datum/mind(chosen_one.key) | ||
player_mind.active = TRUE | ||
|
||
var/mob/living/carbon/human/walker = new (spawn_location) | ||
player_mind.transfer_to(walker) | ||
player_mind.set_assigned_role(SSjob.GetJobType(/datum/job/voidwalker)) | ||
player_mind.add_antag_datum(/datum/antagonist/voidwalker) | ||
walker.set_species(/datum/species/voidwalker) | ||
playsound(walker, 'sound/magic/ethereal_exit.ogg', 50, TRUE, -1) | ||
message_admins("[ADMIN_LOOKUPFLW(walker)] has been made into a Voidwalker by the midround event.") | ||
walker.log_message("[key_name(walker)] was spawned as a Voidwalker by an event.", LOG_GAME) | ||
spawned_mobs += walker | ||
return SUCCESSFUL_SPAWN |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters