-
Notifications
You must be signed in to change notification settings - Fork 597
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The Hunting Grounds (Needs Testing) NOW WITH A MAP THAT WORKS HOPEFUL…
…LY (#7486) <!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> # About the pull request I have added a lazy map template list that is spawnable for predators (or admins) to spawn during the round. The teplate also includes a console known as the Huntsmaster Console, which can spawn a variety of Emergency Response Teams (ERTs) for dead chat players to join. To minimize impact on the current round, the Huntsmaster Console is limited to spawning an ERT only once every 20 minutes. Additionally, I have created equipment presets for specific factions, available exclusively within the hunting ground ERTs. These factions include the United Progressive People (UPP), the Royal Marines of the Three World Empire (TWE), Freelancers, the Colonial Liberation Front (CLF), and the Marines (USCM). All of these presents spawn without headsets. I have also added a subsection in the ‘Special’ tab of character preferences, allowing players who join these ERTs to select their faction (if they do not get their selected faction it defaults to USCM. This PR also fixes lighting on lazy map templates(credit to harry) <!-- Remove this text and explain what the purpose of your PR is. Mention if you have tested your changes. If you changed a map, make sure you used the mapmerge tool. If this is an Issue Correction, you can type "Fixes Issue #169420" to link the PR to the corresponding Issue number #169420. Remember: something that is self-evident to you might not be to others. Explain your rationale fully, even if you feel it goes without saying. --> # Explain why it's good for the game It reduces the amount of round impact predators have, gives ghosts and predators something new and refreshing to do. This will be one of the many PRs to help alleviate the issue with round impact. <!-- Please add a short description of why you think these changes would benefit the game. If you can't justify it in words, it might not be worth adding, and may discourage maintainers from reviewing or merging your PR. This section is not strictly required for (non-controversial) fix PRs or backend PRs. --> # Testing Photographs and Procedure <!-- Include any screenshots/videos/debugging steps of the modified code functioning successfully, ideally including edge cases. --> <!-- !! If you are modifying sprites, you **must** include one or more in-game screenshots or videos of the new sprites. !! --> <details> <summary>Screenshots & Videos</summary> Put screenshots and videos here with an empty line between the screenshots and the `<details>` tags. </details> # Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly label your changes in the changelog. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> <!-- If you add a name after the ':cl', that name will be used in the changelog. You must add your CKEY after the CL if your GitHub name doesn't match. Maintainers freely reserve the right to remove and add tags should they deem it appropriate. --> # Changelog :cl: Joe Lampost, Beaglegaming, harryob, Thwomper, Nanu308 add: Added Different equipment pre-sets only for use inside a hunting ground map as part of ERTs add: Adds a hunts master console that can spawn ERTs every 20 minutes add: Adds another console for predators to use to spawn hunting ground lazy templates fix: Fixed the lighting on lazy templates (thanks harry) soundadd: added a sound for spawing in as an ERT member on the hunting grounds mapadd: added a new type of lazy_template for hunting grounds fix: dirtgrassborder now has the correct north and south /:cl: <!-- Both :cl:'s are required for the changelog to work! --> --------- Co-authored-by: Nanu308 <[email protected]> Co-authored-by: harryob <[email protected]> Co-authored-by: Drathek <[email protected]>
- Loading branch information
1 parent
2a8272a
commit 13bcd6f
Showing
45 changed files
with
16,077 additions
and
479 deletions.
There are no files selected for viewing
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
//Predator Hunting Ground ERTs | ||
|
||
|
||
/datum/emergency_call/pred | ||
name = "template" | ||
probability = 0 | ||
name_of_spawn = /obj/effect/landmark/ert_spawns/distress/hunt_spawner | ||
shuttle_id = "" | ||
var/hunt_name | ||
var/message = "You are still expected to uphold the RP of the standard as this character!" | ||
|
||
/datum/emergency_call/pred/mixed | ||
name = "Hunting Grounds - Multi Faction - Small" | ||
hunt_name = "Multi Faction (small)" | ||
mob_max = 4 | ||
mob_min = 1 | ||
max_clf = 1 | ||
max_upp = 1 | ||
max_royal_marines = 1 | ||
|
||
/datum/emergency_call/pred/create_member(datum/mind/man, turf/override_spawn_loc) | ||
var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() | ||
|
||
if(!istype(spawn_loc)) | ||
return //Didn't find a useable spawn point. | ||
|
||
var/mob/living/carbon/human/hunted = new(spawn_loc) | ||
man.transfer_to(hunted, TRUE) | ||
|
||
if(mercs < max_mercs && HAS_FLAG(hunted.client.prefs.toggles_ert_pred, PLAY_MERC)) | ||
mercs++ | ||
var/list/hunted_types = list(/datum/equipment_preset/other/freelancer/leader/hunted, /datum/equipment_preset/other/freelancer/standard/hunted) | ||
var/hunted_type = pick(hunted_types) | ||
arm_equipment(hunted, hunted_type , TRUE, TRUE) | ||
to_chat(hunted, SPAN_BOLD("No one is more professional than I. Unlike other mercenaries, your group was registered as a legitimate business that dealt in violence. Working for various high profile clients, information classified to the public circulated somewhat freely in your circle - stories you dismissed as anecdotal or hearsay. The last job you took proved particularly hazardous and truthful: as you were clearing local fauna around a dig site, a massive man-shaped shimmering thing lunged at you and knocked you out in one blow. Groggily opening your eyes, you try to make sense of your surroundings, and get up.")) | ||
else if(upp < max_upp && HAS_FLAG(hunted.client.prefs.toggles_ert_pred, PLAY_UPP)) | ||
upp++ | ||
var/list/hunted_types = list(/datum/equipment_preset/upp/soldier/hunted, /datum/equipment_preset/upp/leader/hunted, /datum/equipment_preset/upp/machinegunner/hunted, /datum/equipment_preset/upp/sapper/hunted) | ||
var/hunted_type = pick(hunted_types) | ||
arm_equipment(hunted, hunted_type , TRUE, TRUE) | ||
to_chat(hunted, SPAN_BOLD("Life was alright. Previously relocated from your noisier post on the frontier, you were now stationed just on the outer veil of Union territory. Combat patrols and sawdust rations turned into boring guard shifts and proper food, making your peacekeeping duty a much envied task. Then, your life came crumbling down. An unknown alien surprised you and the rest of your garrison, slaughtering effectively everyone. Just as you were about to escape, it caught you in a trap, and dragged you into the darkness. Now awake in a completely different place, still sore from the confrontation, you wonder what you'd have to do to get back home safe and sound.")) | ||
else if(royal_marines < max_royal_marines && HAS_FLAG(hunted.client.prefs.toggles_ert_pred, PLAY_TWE)) | ||
royal_marines++ | ||
var/list/hunted_types = list(/datum/equipment_preset/twe/royal_marine/standard/hunted, /datum/equipment_preset/twe/royal_marine/team_leader/hunted, /datum/equipment_preset/twe/royal_marine/lieuteant/hunted) | ||
var/hunted_type = pick(hunted_types) | ||
arm_equipment(hunted, hunted_type , TRUE, TRUE) | ||
to_chat(hunted, SPAN_BOLD("You were starting to get sick and tired of these Australians. Posted and wrangled around Oceania, you had spent the last half decade from refugee camp to metropolis, making sure order was maintained most of the time and partaking in a riot action now and then. You were ready to give about anything for your job to be more interesting, and like a monkey's paw, the wish came true. One night, your barracks got blown up before your very eyes while on guard duty, and to your dismay, it was not a terrorist. You attempted to gun the monster down, but failed, your friends torn apart before your very eyes. Being the last one alive, the thing takes you with it, shackles you, and throws you into a cell. You black out again, and wake up here, wherever you are. At least you hope things will be more interesting now, or so you tell yourself.")) | ||
else if(clf < max_clf && HAS_FLAG(hunted.client.prefs.toggles_ert_pred, PLAY_CLF)) | ||
clf++ | ||
var/list/hunted_types = list(/datum/equipment_preset/clf/soldier/hunted, /datum/equipment_preset/clf/leader/hunted, /datum/equipment_preset/clf/engineer/hunted) | ||
var/hunted_type = pick(hunted_types) | ||
arm_equipment(hunted, hunted_type , TRUE, TRUE) | ||
to_chat(hunted, SPAN_BOLD("Your whole life was a struggle. Fighting tooth and nail for the independence of your colony from one master to the next, with not much change, your home ended up crushed under the boot of the oppressor. Filled with rage, you traveled with your cell of freedom fighters from one system to the next, wreaking havoc and mayhem, which eventually makes you notorious for your brutal executions of government officials and military. While on a raid gone wrong, your comrades get slaughtered by a marine squad, and as you scamper to get away, something else catches you off guard. KO'd and taken away, you wake up in conditions not much different from your previous ones, determined to get revenge against your oppressor once more.")) | ||
else | ||
var/list/hunted_types = list(/datum/equipment_preset/uscm/rifleman_pve/hunted, /datum/equipment_preset/uscm/tl_pve/hunted, /datum/equipment_preset/uscm/sg_pve/hunted,) | ||
var/hunted_type = pick(hunted_types) | ||
arm_equipment(hunted, hunted_type , TRUE, TRUE) | ||
to_chat(hunted, SPAN_BOLD("You dreamt of becoming the ultimate badass ever since you were a kid. Nukes, knives, sharp sticks - and the corps was for you, enlisting into the marines as soon as you could join. There were little regrets from you, happily gunning down anything, anytime, and anywhere you were told to go... until now. During a jungle patrol, your entire squad was torn to shreds by a single cloaker - something you previously figured was made up just to scare chickenshit privates. Riddling the freak with bullet holes, it finally catches you off guard, and after that it's all hazy. Waking up, you realize you're still alive... and that it left you with your weapon. Big mistake. You get up.")) | ||
|
||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound_client), hunted.client, 'sound/misc/hunt_begin.ogg'), 10 SECONDS) | ||
show_blurb(hunted, 15, message, null, "center", "center", COLOR_RED, null, null, 1) | ||
|
||
/datum/emergency_call/pred/mixed/medium | ||
name = "Hunting Grounds - Multi Faction - Medium" | ||
hunt_name = "Multi Faction (group)" | ||
mob_max = 6 | ||
mob_min = 4 | ||
max_clf = 2 | ||
max_upp = 2 | ||
max_royal_marines = 1 | ||
max_mercs = 1 | ||
|
||
|
||
/datum/emergency_call/pred/mixed/hard | ||
name = "Hunting Grounds - Multi Faction - Large" | ||
hunt_name = "Multi Faction (large)" | ||
mob_max = 8 | ||
mob_min = 6 | ||
max_clf = 2 | ||
max_upp = 2 | ||
max_royal_marines = 1 | ||
max_mercs = 1 | ||
|
||
/datum/emergency_call/pred/mixed/harder | ||
name = "Hunting Grounds - Multi Faction - Larger" | ||
hunt_name = "Multi Faction (larger)" | ||
mob_max = 12 | ||
mob_min = 6 | ||
max_clf = 3 | ||
max_upp = 2 | ||
max_royal_marines = 2 | ||
max_mercs = 2 | ||
|
||
/datum/emergency_call/pred/xeno | ||
name = "Hunting Grounds - Xenos - Small" | ||
hunt_name = "Serpents (small)" | ||
name_of_spawn = /obj/effect/landmark/ert_spawns/distress/hunt_spawner/xeno | ||
mob_max = 4 | ||
mob_min = 1 | ||
hostility = TRUE | ||
max_xeno_t3 = 1 | ||
max_xeno_t2 = 1 | ||
|
||
/datum/emergency_call/pred/xeno/create_member(datum/mind/player, turf/override_spawn_loc) | ||
var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() | ||
var/mob/current_mob = player.current | ||
var/mob/living/carbon/xenomorph/new_xeno | ||
|
||
if(!istype(spawn_loc)) | ||
return // Didn't find a usable spawn point. | ||
|
||
if(xeno_t3 < max_xeno_t3 && HAS_FLAG(current_mob.client.prefs.toggles_ert_pred, PLAY_XENO_T3)) | ||
xeno_t3++ | ||
var/list/xeno_types = list(/mob/living/carbon/xenomorph/praetorian, /mob/living/carbon/xenomorph/ravager) | ||
var/xeno_type = pick(xeno_types) | ||
new_xeno = new xeno_type(spawn_loc, null, XENO_HIVE_FERAL) | ||
player.transfer_to(new_xeno, TRUE) | ||
QDEL_NULL(current_mob) | ||
to_chat(new_xeno, SPAN_BOLD("You are a xeno")) | ||
else if(xeno_t2 < max_xeno_t2 && HAS_FLAG(current_mob.client.prefs.toggles_ert_pred, PLAY_XENO_T2)) | ||
xeno_t2++ | ||
var/list/xeno_types = list(/mob/living/carbon/xenomorph/lurker, /mob/living/carbon/xenomorph/warrior) | ||
var/xeno_type = pick(xeno_types) | ||
new_xeno = new xeno_type(spawn_loc, null, XENO_HIVE_FERAL) | ||
player.transfer_to(new_xeno, TRUE) | ||
QDEL_NULL(current_mob) | ||
to_chat(new_xeno, SPAN_BOLD("You are a xeno let loose on a strang ")) | ||
else | ||
var/list/xeno_types = list(/mob/living/carbon/xenomorph/drone) | ||
var/xeno_type = pick(xeno_types) | ||
new_xeno = new xeno_type(spawn_loc, null, XENO_HIVE_FERAL) | ||
player.transfer_to(new_xeno, TRUE) | ||
to_chat(new_xeno, SPAN_BOLD("You are a xeno")) | ||
|
||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound_client), new_xeno.client, 'sound/misc/hunt_begin.ogg'), 10 SECONDS) | ||
show_blurb(new_xeno, 15, message, null, "center", "center", COLOR_RED, null, null, 1) | ||
|
||
/datum/emergency_call/pred/xeno/med | ||
name = "Hunting Grounds - Xenos - Medium" | ||
hunt_name = "Serpents (group)" | ||
mob_max = 6 | ||
mob_min = 3 | ||
hostility = TRUE | ||
max_xeno_t3 = 3 | ||
max_xeno_t2 = 1 | ||
|
||
/datum/emergency_call/pred/xeno/hard | ||
name = "Hunting Grounds - Xenos - Large" | ||
hunt_name = "Serpents (large)" | ||
mob_max = 8 | ||
mob_min = 4 | ||
hostility = TRUE | ||
max_xeno_t3 = 3 | ||
max_xeno_t2 = 3 |
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
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,78 @@ | ||
|
||
///Predator Hunting Grounds stuff | ||
/area/yautja_grounds | ||
name = "\improper Yautja Hunting Grounds" | ||
icon_state = "green" | ||
ambience_exterior = AMBIENCE_JUNGLE | ||
weather_enabled = FALSE | ||
flags_area = AREA_NOTUNNEL|AREA_AVOID_BIOSCAN|AREA_YAUTJA_GROUNDS | ||
resin_construction_allowed = FALSE | ||
can_build_special = FALSE | ||
is_resin_allowed = TRUE | ||
|
||
/area/yautja_grounds/jungle | ||
name = "\improper Yautja Hunting Grounds Jungle Central" | ||
icon_state = "central" | ||
ambience_exterior = AMBIENCE_JUNGLE | ||
|
||
/area/yautja_grounds/jungle/north | ||
name = "\improper Yautja Hunting Grounds Jungle north" | ||
icon_state = "north" | ||
ambience_exterior = AMBIENCE_JUNGLE | ||
|
||
/area/yautja_grounds/north_east | ||
name = "\improper Yautja Hunting Grounds Jungle south east" | ||
icon_state = "northeast" | ||
ambience_exterior = AMBIENCE_JUNGLE | ||
|
||
/area/yautja_grounds/north_west | ||
name = "\improper Yautja Hunting Grounds Jungle south west" | ||
icon_state = "northwest" | ||
ambience_exterior = AMBIENCE_JUNGLE | ||
|
||
/area/yautja_grounds/jungle/east | ||
name = "\improper Yautja Hunting Grounds Jungle east" | ||
icon_state = "east" | ||
ambience_exterior = AMBIENCE_JUNGLE | ||
|
||
/area/yautja_grounds/south | ||
name = "\improper Yautja Hunting Grounds Jungle south" | ||
icon_state = "south" | ||
ambience_exterior = AMBIENCE_JUNGLE | ||
|
||
/area/yautja_grounds/south_east | ||
name = "\improper Yautja Hunting Grounds Jungle south east" | ||
icon_state = "southeast" | ||
ambience_exterior = AMBIENCE_JUNGLE | ||
|
||
/area/yautja_grounds/south_west | ||
name = "\improper Yautja Hunting Grounds Jungle south west " | ||
icon_state = "southwest" | ||
ambience_exterior = AMBIENCE_JUNGLE | ||
|
||
/area/yautja_grounds/jungle/west | ||
name = "\improper Yautja Hunting Grounds Jungle west" | ||
icon_state = "west" | ||
ambience_exterior = AMBIENCE_JUNGLE | ||
|
||
/area/yautja_grounds/caves | ||
name = "\improper Yautja Hunting Grounds Caves" | ||
icon_state = "cave" | ||
ambience_exterior = AMBIENCE_CAVE | ||
|
||
/area/yautja_grounds/temple | ||
name = "\improper Yautja Hunting Grounds Temple" | ||
icon_state = "bluenew" | ||
ambience_exterior = AMBIENCE_CAVE | ||
|
||
/area/yautja_grounds/temple/entrance | ||
name = "\improper Yautja Hunting Grounds Temple" | ||
icon_state = "bluenew" | ||
ambience_exterior = AMBIENCE_JUNGLE | ||
|
||
///TP Areas | ||
|
||
/area/yautja_grounds/prep_room | ||
name = "\improper Jungle Moon Campsite" | ||
icon_state = "red" | ||
ambience_exterior = AMBIENCE_JUNGLE |
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
Oops, something went wrong.