Skip to content

Commit

Permalink
GAIA STATION: Since Abundant Earthlike Resort Planets Isn't Very Imme…
Browse files Browse the repository at this point in the history
…rsive (#6571)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## A Whole New Gaia
The presence of the Gaia worlds bugged me from a world-building
perspective. It made earthlike resort planets seem common. This PR
remedies that by transforming Gaia World into Gaia Station! That is not
the only thing it changes. It also divides Gaia into multiple biomes
with added desert and snow biomes: After All paradise for a Teshari is
not a tropical jungle! Additional changes and attractions have been
added to the planet. The Landing pads have also been expanded now able
to land up to five ships. In addition (legally) accessing Gaia now
requires you buy a pass (you didn't think this was free now did you?).
The prices may be steep but the resort is now even more worth it!

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## 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
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. 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. -->

:cl:
add: Three IDs to represent Gaia station passes and a vendor to dispense
them.
add: additional wildlife for all three Gaia biomes
add: a lot of lotion, you can still get burnt even if the sun is fake
tweak: countless Gaia map tweaks including: Race Track Edits, separate
biomes
qol: Gaia gambling area now has the nerd dice bag (so it can be used for
dare dice and other games)
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
  • Loading branch information
CharlesWedge committed Jul 8, 2024
1 parent 3a32603 commit 2802441
Show file tree
Hide file tree
Showing 13 changed files with 15,806 additions and 13,270 deletions.
12 changes: 12 additions & 0 deletions code/__DEFINES/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,18 @@ STANDARD_ACCESS_DATUM(ACCESS_FACTION_PIRATE, faction/pirate, "Pirate")
#define ACCESS_FACTION_TRADER 160//General Beruang Trader Access
STANDARD_ACCESS_DATUM(ACCESS_FACTION_TRADER, faction/trader, "Trader")

//? Gaia Station

#define ACCESS_GAIA_GUEST 250//Gaia Station Basic Access
STANDARD_ACCESS_DATUM(ACCESS_GAIA_GUEST, faction/trader, "Gaia Station Guest")

#define ACCESS_GAIA_VIP 251//Gaia Station Premium Access
STANDARD_ACCESS_DATUM(ACCESS_GAIA_VIP, faction/trader, "Gaia Station VIP")

#define ACCESS_GAIA_STAFF 252//Gaia Staff Access
STANDARD_ACCESS_DATUM(ACCESS_GAIA_STAFF, faction/trader, "Gaia Station Staff")


//? Alien

#define ACCESS_FACTION_ALIEN 300 // For things like crashed ships.
Expand Down
75 changes: 57 additions & 18 deletions code/game/area/Off Station Areas.dm
Original file line number Diff line number Diff line change
Expand Up @@ -315,69 +315,108 @@

//Gaia planet world areas
/area/class_m
name = "Class M World"
name = "Gaia Station"
icon_state = "away"
requires_power = 1
dynamic_lighting = 1

/area/class_m/inside
name = "Class M World - Inside (E)"
name = "Gaia Station - Inside (E)"
icon_state = "red"

/area/class_m/inside/main
name = "Class M World - Main Facility"
name = "Gaia Station - Main Facility"

/area/class_m/inside/dorms
name = "Class M World - Dormitories"
name = "Gaia Station - Dormitories"
icon_state = "green"

/area/class_m/inside/vip_dorms
name = "Gaia Station - Premium Dormitories"
icon_state = "green"

/area/class_m/inside/bathroom
name = "Class M World - Bathrooms"
name = "Gaia Station - Bathrooms"
icon_state = "green"

/area/class_m/inside/cabin
name = "Class M World - Cabin"
name = "Gaia Station - Cabin"

/area/class_m/inside/islandbeachhouse
name = "Class M World - Island Beach House"
name = "Gaia Station - Island Beach House"

/area/class_m/inside/sauna
name = "Class M World - Main Sauna"
name = "Gaia Station - Main Sauna"

/area/class_m/inside/sauna2
name = "Class M World - Beach Sauna"
name = "Gaia Station - Beach Sauna"

/area/class_m/inside/sauna3
name = "Class M World - Island Sauna"
name = "Gaia Station - Island Sauna"

/area/class_m/inside/garage
name = "Class M World - Garage"
name = "Gaia Station - Garage"

/area/class_m/inside/hotspringcaves
name = "Class M World - Hotspring Caves"
name = "Gaia Station - Hotspring Caves"

/area/class_m/inside/igloos
name = "Gaia Station - Igloos"

/area/class_m/inside/hangars
name = "Gaia Station - Hangars"

/area/class_m/inside/reception
name = "Gaia Station - Reception Area"

/area/class_m/inside/maintenance
name = "Gaia Station - Maintnence Areas"

/area/class_m/inside/maintenance/winter
name = "Gaia Station - Winter Biome Maintenance"

/area/class_m/inside/maintenance/desert
name = "Gaia Station - Dessert Biome Maintenance"

/area/class_m/inside/entrance
name = "Gaia Station - Park Gate"

/area/class_m/inside/coats
name = "Gaia Station - Coat Room"

/area/class_m/inside/staff
name = "Gaia Station - Staff Room"

/area/class_m/outside
name = "Class M World - Outside (UE)"
name = "Gaia Station - 'Outside' (UE)"
icon_state = "bluenew"
is_outside = OUTSIDE_YES

/area/class_m/outside/beach
name = "Class M World - Beach"
name = "Gaia Station - Beach"
icon_state = "yellow"

/area/class_m/outside/beachmiddle
name = "Class M World - Beach Center"
name = "Gaia Station - Beach Center"
icon_state = "purple"

/area/class_m/outside/island
name = "Class M World - Island"
name = "Gaia Station - Island"
icon_state = "purple"

/area/class_m/outside/island2
name = "Class M World - Island"
name = "Gaia Station - Island"
icon_state = "blue"

/area/class_m/outside/docks
name = "Class M World - Docks"
name = "Gaia Station - Docks"

/area/class_m/outside/winter
name = "Gaia Station - Winter Biome"

/area/class_m/outside/desert
name = "Gaia Station - Desert Biome"


// Frozen planet world areas
/area/class_p
Expand Down
13 changes: 13 additions & 0 deletions code/game/machinery/turnstile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,16 @@
/obj/machinery/turnstile/exit
name = "\improper Exit"
req_one_access = list(112)


/obj/machinery/turnstile/resort
name = "\improper Park Entrance"
req_one_access = list(250)

/obj/machinery/turnstile/resort/premium
name = "\improper VIPs Only"
req_one_access = list(251)

/obj/machinery/turnstile/resort/exit
name = "\improper Exit"
req_one_access = list()
24 changes: 24 additions & 0 deletions code/game/machinery/vending/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -242,3 +242,27 @@
/obj/item/reagent_containers/hypospray/glukoz/pyrholidon = 50,
/obj/item/reagent_containers/hypospray/glukoz/viraplus = 25,
)


/obj/machinery/vending/gaia
name = "Happy Trails Resort Pass Booth"
desc = "Automated seller of day passes for the Happy Trails Resort Company."
icon = 'icons/obj/vending.dmi'
icon_state = "gaia"
icon_vend = "gaia-vend"
product_slogans = "A paradise for every species: Brought to you by Happy Trails!"
product_ads = "The weather can't be better!; Climates for every species!; Try our VIP Pass!; The sun never sets in paradise!"

products = list(
/obj/item/card/id/external/gaia = 30,
/obj/item/card/id/external/gaia/vip = 15,
)

contraband = list(
/obj/item/card/id/external/gaia/staff = 4,
)

prices = list(
/obj/item/card/id/external/gaia = 150,
/obj/item/card/id/external/gaia/vip = 250,
)
19 changes: 19 additions & 0 deletions code/game/objects/items/id_cards/station_ids.dm
Original file line number Diff line number Diff line change
Expand Up @@ -651,3 +651,22 @@
assignment = "Pathfinder"
rank = "Pathfinder"
job_access_type = /datum/role/job/station/pathfinder

/obj/item/card/id/external/gaia
name = "Happy Trails Resort Company Day Pass"
desc = "A pass giving one access to the normal facilties at Happy Trails Resort stations."
icon_state = "gaia_normal"
job_access_type = null
access = list(250)

/obj/item/card/id/external/gaia/vip
name = "Happy Trails Resort Company VIP Day Pass"
desc = "A premium day pass for accessing the most luxurious parts of the Happy Trails Resorts."
icon_state = "gaia_vip"
access = list(250,251)

/obj/item/card/id/external/gaia/staff//created so that when assigning the outfit of merchant, it assigns a working ID
name = "Happy Trails Resort Company Staff ID"
desc = "Issued to staff of the Happy Trails Company."
icon_state = "gaia_staff"
access = list(250,251,252)
6 changes: 6 additions & 0 deletions code/modules/economy/machines/cash_register.dm
Original file line number Diff line number Diff line change
Expand Up @@ -541,3 +541,9 @@
account_to_connect = "Civilian"
machine_id = "Nebula Gas RETAIL UNIT"
req_access = list(160)

/obj/machinery/cash_register/resort
name = "Gaia Station Cash Register"
account_to_connect = "Civilian"
machine_id = "Gaia Station RETAIL UNIT"
req_access = list(252)
15 changes: 15 additions & 0 deletions code/modules/mapping/map_helpers/access_helper/airlock.dm
Original file line number Diff line number Diff line change
Expand Up @@ -663,6 +663,21 @@
ACCESS_FACTION_TRADER,
)

/obj/map_helper/access_helper/airlock/disconnected/gaia
req_access = list(
ACCESS_GAIA_GUEST,
)

/obj/map_helper/access_helper/airlock/disconnected/gaia/premium
req_access = list(
ACCESS_GAIA_VIP,
)

/obj/map_helper/access_helper/airlock/disconnected/gaia/staff
req_access = list(
ACCESS_GAIA_STAFF,
)

/obj/map_helper/access_helper/airlock/disconnected/pirate
req_access = list(
ACCESS_FACTION_PIRATE,
Expand Down
28 changes: 12 additions & 16 deletions code/modules/maps/overmap/planets/classm.dm
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
/obj/overmap/entity/visitable/sector/gaia_planet
name = "Gaia Planet"
desc = "A planet with peaceful life, and ample flora."
scanner_desc = @{"[i]Incoming Message[/i]: Hello travler! Looking to enjoy the shine of the star on land?
Are you weary from all that constant space travel?
Looking to quench a thirst of multiple types?
Then look no further than the resorts of Sigmar!
With a branch on every known Gaia planet, we aim to please and serve.
Our fully automated ---- [i]Message exceeds character limit.[/i]
[i] Information [/i]
Atmosphere: Breathable with standard human required environment
Weather: Sunny, with chance of showers and thunderstorms. 25C
Lifesign: Multiple Fauna. No history of hostile life recorded
Ownership: Planet is owned by the Happy Days and Sunshine Corporation.
Allignment: Neutral to Nanotrasen. No Discount for services expected."}
in_space = 0
icon_state = "globe"
name = "Gaia Station"
desc = "A mostly automated resort space station under control of the Happy Trails Resort Company."
scanner_desc = @{"[i]Incoming Message[/i]: All are welcome at our Happy Trails Resorts.
Enjoy our luxury biodomes
[i] Resort Information [/i]
Available Biodomes: Winter Wonderland, Desert Resort, Tropical Island.
Weather: Biomedomes are climate controlled to ensure the comfort of wide variety of species.
Lifesigns: Large variety of peaceful animal life will help you feel at home!
Ownership: Station is owned by the Happy Trails Resort Corporation.
Warning: Vandalism and Criminal Acts will be prosecuted to the fullest extent of the law (and beyond)."}
in_space = 1
icon_state = "fueldepot"
color = "#33BB33"
41 changes: 14 additions & 27 deletions code/modules/maps/weather/classm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/datum/time/classm
seconds_in_day = 10 HOURS

/datum/planet/classm
/datum/planet/classm //This is currently unused
name = "Class-M Gaia Planet"
desc = "A beautiful, lush planet that is owned by the Happy Days and Sunshine Corporation."
current_time = new /datum/time/classm()
Expand All @@ -26,14 +26,14 @@
sun_position = distance_from_noon / noon
sun_position = abs(sun_position - 1)

var/low_brightness = null
var/high_brightness = null
var/low_brightness = 0.9
var/high_brightness = 1.0

var/low_color = null
var/high_color = null
var/min = 0
var/low_color = "#DDDDDD"
var/high_color = "#FFFFFF"
var/min = 0.70

switch(sun_position)
/* switch(sun_position)
if(0 to 0.40) // Night
low_brightness = 0.35
low_color = "#110077"
Expand Down Expand Up @@ -64,7 +64,7 @@
high_brightness = 1.0
high_color = "#FFFFFF"
min = 0.70
min = 0.70 */

var/interpolate_weight = (abs(min - sun_position)) * 4
var/weather_light_modifier = 1
Expand Down Expand Up @@ -106,11 +106,7 @@
WEATHER_BLOOD_MOON = new /datum/weather/classm/blood_moon(),
)
roundstart_weather_chances = list(
WEATHER_CLEAR = 75,
WEATHER_OVERCAST = 15,
WEATHER_RAIN = 5,
WEATHER_STORM = 4,
WEATHER_BLOODMOON = 0
WEATHER_CLEAR = 100
)

/datum/weather/classm
Expand All @@ -121,8 +117,7 @@
/datum/weather/classm/clear
name = "clear"
transition_chances = list(
WEATHER_CLEAR = 90,
WEATHER_OVERCAST = 10
WEATHER_CLEAR = 100
)
transition_messages = list(
"The sky clears up.",
Expand All @@ -136,10 +131,7 @@
name = "overcast"
light_modifier = 0.8
transition_chances = list(
WEATHER_CLEAR = 70,
WEATHER_OVERCAST = 10,
WEATHER_RAIN = 19,
WEATHER_BLOODMOON = 1
WEATHER_OVERCAST = 100
)
observed_message = "It is overcast, all you can see are clouds."
transition_messages = list(
Expand All @@ -160,9 +152,7 @@
indoor_sounds_type = /datum/looping_sound/weather/wind/indoors

transition_chances = list(
WEATHER_OVERCAST = 40,
WEATHER_RAIN = 55,
WEATHER_STORM = 5
WEATHER_RAIN = 100
)
observed_message = "The sky is dark, and rain falls down upon you."
transition_messages = list(
Expand Down Expand Up @@ -218,9 +208,7 @@


transition_chances = list(
WEATHER_RAIN = 40,
WEATHER_STORM = 45,
WEATHER_OVERCAST = 5
WEATHER_STORM = 100
)

/datum/weather/classm/storm/process_effects()
Expand Down Expand Up @@ -268,8 +256,7 @@
light_color = "#FF0000"
flight_failure_modifier = 25
transition_chances = list(
WEATHER_BLOODMOON = 90,
WEATHER_OVERCAST = 10
WEATHER_BLOODMOON = 100
)
observed_message = "Everything is red. Something really ominous is going on."
transition_messages = list(
Expand Down
Binary file modified icons/obj/card_cit.dmi
Binary file not shown.
Binary file modified icons/obj/vending.dmi
Binary file not shown.
Loading

0 comments on commit 2802441

Please sign in to comment.