Skip to content

Commit

Permalink
opendream fixes (#6809)
Browse files Browse the repository at this point in the history
…l-Station-13-RP into opendream_branch<!-- 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. -->

## About The Pull Request
adjusts the repo to work with opendream
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
a more modern, and hopefully more reliable engine!!!
<!-- 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:
code: changed the code to work with Opendream
/: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
TheLordME authored Nov 5, 2024
1 parent 8a2b3f5 commit da0eb91
Show file tree
Hide file tree
Showing 57 changed files with 102 additions and 102 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@
*.lk
*.int
*.backup

# Opendream compile result
citadel.json

### https://raw.github.com/github/gitignore/cc542de017c606138a87ee4880e5f06b3a306def/Global/Linux.gitignore

*~
Expand Down
3 changes: 2 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"stylemistake.auto-comment-blocks",
"donkie.vscode-tgstation-test-adapter",
"anturk.dmi-editor",
"aaron-bond.better-comments"
"aaron-bond.better-comments",
"ss13.opendream"
]
}
7 changes: 7 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@
"name": "Launch DreamSeeker",
"preLaunchTask": "Build All",
"dmb": "${workspaceFolder}/${command:CurrentDMB}"
},
{
"type": "opendream",
"request": "launch",
"name": "OpenDream",
"preLaunchTask": "OpenDream: compile ${command:CurrentDME}",
"json_path": "${workspaceFolder}/${command:CurrentJson}"
}
]
}
2 changes: 1 addition & 1 deletion code/__HELPERS/time.dm
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ GLOBAL_VAR_INIT(roundstart_hour, pick(2,7,12,17))
* Returns 1 if it is the selected month and day.
*/
/proc/isDay(var/month, var/day)
if(isnum(month) && isnum(day))\
if(isnum(month) && isnum(day))
/// Get the current month.
var/MM = text2num(time2text(world.timeofday, "MM"))
/// Get the current day.
Expand Down
2 changes: 1 addition & 1 deletion code/___compile_options.dm
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@
#endif

// ## LEGACY WARNING
#if !defined(CBT) && !defined(SPACEMAN_DMM)
#if !(defined(CBT) || defined(SPACEMAN_DMM) || defined(OPENDREAM))
#warn Building with Dream Maker is no longer supported and will result in errors.
#warn In order to build, run BUILD.bat in the root directory.
#warn Consider switching to VSCode editor instead, where you can press Ctrl+Shift+B to build.
Expand Down
2 changes: 1 addition & 1 deletion code/controllers/subsystem/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ SUBSYSTEM_DEF(mobs)
var/slept_mobs = 0

/datum/controller/subsystem/mobs/stat_entry()
return ..() + " P: [global.GLOB.mob_list.len] | S: [slept_mobs]"
return ..() + " P: [GLOB.mob_list.len] | S: [slept_mobs]"

/datum/controller/subsystem/mobs/fire(resumed = 0)
var/list/busy_z_levels = src.busy_z_levels
Expand Down
6 changes: 3 additions & 3 deletions code/controllers/subsystem/overlays.dm
Original file line number Diff line number Diff line change
Expand Up @@ -166,15 +166,15 @@ SUBSYSTEM_DEF(overlays)
else { \
appearance_bro.appearance = origin; \
if (!ispath(origin)) { \
appearance_bro.dir = origin.dir; \
appearance_bro.dir = origin:dir; \
} \
target = appearance_bro.appearance; \
}

// If the overlay has a planeset (e.g., emissive), mark for ZM mangle. This won't catch overlays on overlays, but the flag can just manually be set in that case.
#define ZM_AUTOMANGLE(target) if ((target):plane != FLOAT_PLANE) { SSoverlays.context_needs_automangle = TRUE; }

/atom/proc/build_appearance_list(atom/new_overlays)
/atom/proc/build_appearance_list(list/new_overlays)
var/static/image/appearance_bro = new
if (islist(new_overlays))
// A lot of code seems to assume that it's safe to pass long-lived lists to SSoverlays.
Expand All @@ -190,7 +190,7 @@ SUBSYSTEM_DEF(overlays)
APPEARANCEIFY(new_overlays, .)

// The same as the above, but with ZM_AUTOMANGLE.
/atom/movable/build_appearance_list(atom/new_overlays)
/atom/movable/build_appearance_list(list/new_overlays)
var/static/image/appearance_bro = new
if (islist(new_overlays))
new_overlays = new_overlays:Copy()
Expand Down
2 changes: 1 addition & 1 deletion code/game/dna/dna_modifier.dm
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,7 @@
occupantData["name"] = connected.occupant.real_name
occupantData["stat"] = connected.occupant.stat
occupantData["isViableSubject"] = 1
if (MUTATION_NOCLONE in connected.occupant.mutations || !src.connected.occupant.dna)
if ((MUTATION_NOCLONE in connected.occupant.mutations) || !src.connected.occupant.dna)
occupantData["isViableSubject"] = 0
occupantData["health"] = connected.occupant.health
occupantData["maxHealth"] = connected.occupant.maxHealth
Expand Down
4 changes: 2 additions & 2 deletions code/game/gamemodes/events/power_failure.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

for(var/obj/machinery/power/smes/S in GLOB.machines)
var/area/current_area = get_area(S)
if(current_area.type in skipped_areas || !(S.z in (LEGACY_MAP_DATUM).station_levels))
if((current_area.type in skipped_areas) || !(S.z in (LEGACY_MAP_DATUM).station_levels))
continue
S.last_charge = S.charge
S.last_output_attempt = S.output_attempt
Expand All @@ -34,7 +34,7 @@
C.cell.charge = C.cell.maxcharge
for(var/obj/machinery/power/smes/S in GLOB.machines)
var/area/current_area = get_area(S)
if(current_area.type in skipped_areas || isNotStationLevel(S.z))
if((current_area.type in skipped_areas) || isNotStationLevel(S.z))
continue
if(S.powerout_holders_used)
S.charge = S.last_charge
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/newobjective.dm
Original file line number Diff line number Diff line change
Expand Up @@ -593,7 +593,7 @@ datum
weight = 20

get_points(var/job)
if(job in science_positions || job in command_positions)
if((job in science_positions) || (job in command_positions))
return 20
return 40

Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/computer/supply.dm
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@
shuttle_status["engine"] = "Engaged"

else
shuttle["mode"] = SUP_SHUTTLE_ERROR
shuttle_status["mode"] = SUP_SHUTTLE_ERROR

for(var/pack_name in SSsupply.legacy_supply_packs)
var/datum/supply_pack/P = SSsupply.legacy_supply_packs[pack_name]
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/doors/door_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@

var/obj/item/weldingtool/welder = I
if(welder.remove_fuel(0,user))
to_chat(user, "<span class='notice'>You start weld \the plasteel into place.</span>")
to_chat(user, "<span class='notice'>You start weld the plasteel into place.</span>")
playsound(src, welder.tool_sound, 50, 1)
if(do_after(user, 10 * welder.tool_speed) && welder && welder.isOn())
to_chat(user, "<span class='notice'>You finish reinforcing \the [src].</span>")
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/oxygen_pump.dm
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@
return
//when there is a breather:
if(breather && target != breather)
to_chat(user, SPAN_WARNING("\The pump is already in use."))
to_chat(user, SPAN_WARNING("The pump is already in use."))
return
//Checking if breather is still valid
if(target == breather && target.wear_mask != contained)
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/telecomms/broadcaster.dm
Original file line number Diff line number Diff line change
Expand Up @@ -551,7 +551,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
/atom/proc/test_telecomms()
var/datum/signal/signal = src.telecomms_process()
var/pos_z = get_z(src)
return (pos_z in signal.data["level"] && signal.data["done"])
return ((pos_z in signal.data["level"]) && signal.data["done"])

/atom/proc/telecomms_process(var/do_sleep = 1)

Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/telecomms/logbrowser.dm
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@
if("network")
var/newnet = input(usr, "Which network do you want to view?", "Comm Monitor", network) as null|text

if(newnet && ((usr in range(1, src) || issilicon(usr))))
if(newnet && (((usr in range(1, src)) || issilicon(usr))))
if(length(newnet) > 15)
set_temp("FAILED: NETWORK TAG STRING TOO LENGTHY", "bad")
return TRUE
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/telecomms/telemonitor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@

if("network")
var/newnet = input(usr, "Which network do you want to view?", "Comm Monitor", network) as null|text
if(newnet && ((usr in range(1, src) || issilicon(usr))))
if(newnet && ((usr in range(1, src)) || issilicon(usr)))
if(length(newnet) > 15)
set_temp("FAILED: NETWORK TAG STRING TOO LENGTHY", "bad")
return TRUE
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/wall_frames.dm
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
var/turf/loc = get_turf(user)
var/area/A = loc.loc
if(!istype(loc, /turf/simulated/floor))
to_chat(user, "<span class='danger'>\The frame cannot be placed on this spot.</span>")
to_chat(user, "<span class='danger'>The frame cannot be placed on this spot.</span>")
return

if(A.requires_power == 0 || A.name == "Space")
Expand Down
4 changes: 3 additions & 1 deletion code/game/objects/items/stacks/matter_synth.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
var/recharge_rate = 2000
var/energy

/datum/matter_synth/New(var/store = 0)
/datum/matter_synth/New(var/store = 0, var/name = null)
if(store)
max_energy = store
if(name)
src.name = name
energy = max_energy
return

Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/structures/medical_stand_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@
to_chat(user, "<span class='warning'>There is no tank in \the [src].</span>")
return
if(is_loosen)
to_chat(user, "<span class='warning'>Tighten \the nut with a wrench first.</span>")
to_chat(user, "<span class='warning'>Tighten the nut with a wrench first.</span>")
return
if(!Adjacent(target))
return
Expand Down
2 changes: 1 addition & 1 deletion code/game/turfs/simulated/misc/fancy_shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ GLOBAL_LIST_EMPTY(fancy_shuttles)
do_plane = SPACE_PLANE
do_state = "white"

under_EM = mutable_appearance('icons/turf/space.dmi', "white", src.plane = LIGHTING_PLANE)
under_EM = mutable_appearance('icons/turf/space.dmi', "white", plane = LIGHTING_PLANE)
under_EM.filters = filter(type = "alpha", icon = icon(src.icon, src.icon_state), flags = MASK_INVERSE)

under_MA = mutable_appearance(do_icon, do_state, layer = src.layer-0.02, plane = do_plane)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/admin/verbs/buildmode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ GLOBAL_LIST_EMPTY(buildholders)
var/list/locked = list("vars", "key", "ckey", "client", "firemut", "ishulk", "telekinesis", "xray", "virus", "viruses", "cuffed", "ka", "last_eaten", "urine")

master.buildmode.varholder = input(usr,"Enter variable name:" ,"Name", "name")
if(master.buildmode.varholder in locked && !check_rights(R_DEBUG,0))
if((master.buildmode.varholder in locked) && !check_rights(R_DEBUG,0))
return 1
var/thetype = input(usr,"Select variable type:" ,"Type") in list("text","number","mob-reference","obj-reference","turf-reference")
if(!thetype) return 1
Expand Down
5 changes: 3 additions & 2 deletions code/modules/admin/view_variables/debug_variables.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
var/header
if(D)
if(islist(D))
var/list/D_l = D
var/index = name
if (value)
name = D[name] //name is really the index until this line
name = D_l[name] //name is really the index until this line
else
value = D[name]
value = D_l[name]
header = "<li style='backgroundColor:white'>([VV_HREF_TARGET_1V(D, VV_HK_LIST_EDIT, "E", index)]) ([VV_HREF_TARGET_1V(D, VV_HK_LIST_CHANGE, "C", index)]) ([VV_HREF_TARGET_1V(D, VV_HK_LIST_REMOVE, "-", index)]) "
else
header = "<li style='backgroundColor:white'>([VV_HREF_TARGET_1V(D, VV_HK_BASIC_EDIT, "E", name)]) ([VV_HREF_TARGET_1V(D, VV_HK_BASIC_CHANGE, "C", name)]) ([VV_HREF_TARGET_1V(D, VV_HK_BASIC_MASSEDIT, "M", name)]) "
Expand Down
2 changes: 1 addition & 1 deletion code/modules/ai/holders/polaris/ai_holder_targeting.dm
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@
ai_log("react_to_attack_polaris() : Was attacked by [attacker], but we already have a target.", AI_LOG_TRACE)
on_attacked(attacker) // So we attack immediately and not threaten.
return FALSE
else if(attacker in attackers && world.time > last_target_time + 3 SECONDS) // Otherwise, let 'er rip
else if((attacker in attackers) && world.time > last_target_time + 3 SECONDS) // Otherwise, let 'er rip
ai_log("react_to_attack_polaris() : Was attacked by [attacker]. Can retaliate, waited 3 seconds.", AI_LOG_INFO)
on_attacked(attacker) // So we attack immediately and not threaten.
return give_target(attacker) // Also handles setting the appropiate stance.
Expand Down
2 changes: 1 addition & 1 deletion code/modules/artwork/crayon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ GLOBAL_LIST_EMPTY(crayon_data_lookup_by_string_icon_path)
var/width = icon.Width()
var/height = icon.Height()
// pass path in directly
var/list/states = fast_icon_states(icon_path)
var/list/states = icon_states(icon_path)
if(!islist(states))
stack_trace("failed to parse states for crayon pack [icon_path]")

Expand Down
2 changes: 1 addition & 1 deletion code/modules/client/verbs/ooc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@

msg = emoji_parse(msg)

if((msg[1] in list(".",";",":","#") || findtext_char(msg, "say", 1, 5))) //SSticker.HasRoundStarted() &&
if(((msg[1] in list(".",";",":","#")) || findtext_char(msg, "say", 1, 5))) //SSticker.HasRoundStarted() &&
if(alert("Your message \"[raw_msg]\" looks like it was meant for in game communication, say it in OOC?", "Meant for OOC?", "No", "Yes") != "Yes")
return

Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/under/accessories/badges.dm
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@
var/obj/item/pda/pda = O
id_card = pda.id

if(ACCESS_SECURITY_EQUIPMENT in id_card.access || emagged)
if((ACCESS_SECURITY_EQUIPMENT in id_card.access) || emagged)
to_chat(user, "You imprint your ID details onto the badge.")
set_name(user.real_name)
else
Expand Down
8 changes: 8 additions & 0 deletions code/modules/gamemaster/actions/_action.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,11 @@

/datum/gm_action/proc/announce()
return

/datum/gm_action/proc/pick_weight(var/mundande_weight, var/moderate_weight, var/major_weight)
var/picked = rand(1, mundande_weight + moderate_weight + major_weight)
if(picked < mundande_weight)
return EVENT_LEVEL_MUNDANE
if(picked < mundande_weight + moderate_weight)
return EVENT_LEVEL_MODERATE
return EVENT_LEVEL_MAJOR
5 changes: 1 addition & 4 deletions code/modules/gamemaster/actions/atmos_leak.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,7 @@

// Decide which area will be targeted!
/datum/gm_action/atmos_leak/set_up()
severity = pickweight(EVENT_LEVEL_MUNDANE = 8,
EVENT_LEVEL_MODERATE = 5,
EVENT_LEVEL_MAJOR = 3
)
severity = pick_weight(mundande_weight = 8, moderate_weight = 5, major_weight = 3)

var/gas_choices = list(GAS_ID_CARBON_DIOXIDE, GAS_ID_NITROUS_OXIDE) // Annoying
if(severity >= EVENT_LEVEL_MODERATE)
Expand Down
5 changes: 1 addition & 4 deletions code/modules/gamemaster/actions/blob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@
var/spawn_blob_type = /obj/structure/blob/core/random_medium

/datum/gm_action/blob/set_up()
severity = pickweight(EVENT_LEVEL_MUNDANE = 4,
EVENT_LEVEL_MODERATE = 2,
EVENT_LEVEL_MAJOR = 1
)
severity = pick_weight(mundande_weight = 4, moderate_weight = 2, major_weight = 1)

var/list/area/grand_list_of_areas = get_station_areas(excluded)

Expand Down
5 changes: 1 addition & 4 deletions code/modules/gamemaster/actions/camera_damage.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,7 @@
..()

var/severity_range = 0
severity = pickweight(EVENT_LEVEL_MUNDANE = 10,
EVENT_LEVEL_MODERATE = 5,
EVENT_LEVEL_MAJOR = 1
)
severity = pick_weight(mundande_weight = 10, moderate_weight = 5, major_weight = 1)

switch(severity)
if(EVENT_LEVEL_MUNDANE)
Expand Down
5 changes: 1 addition & 4 deletions code/modules/gamemaster/actions/electrified_door.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,7 @@
/datum/gm_action/electrified_door/set_up()
var/list/area/grand_list_of_areas = get_station_areas(excluded)

severity = pickweight(EVENT_LEVEL_MUNDANE = 10,
EVENT_LEVEL_MODERATE = 5,
EVENT_LEVEL_MAJOR = 1
)
severity = pick_weight(mundande_weight = 10, moderate_weight = 5, major_weight = 1)

//try 10 times
for(var/i in 1 to 10)
Expand Down
4 changes: 1 addition & 3 deletions code/modules/gamemaster/actions/meteor_defense.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@
return weight

/datum/gm_action/meteor_defense/set_up()
severity = pickweight(EVENT_LEVEL_MUNDANE = 10,
EVENT_LEVEL_MODERATE = 3
)
severity = pick_weight(mundande_weight = 10, moderate_weight = 3, major_weight = 0)

switch(severity)
if(EVENT_LEVEL_MUNDANE)
Expand Down
8 changes: 4 additions & 4 deletions code/modules/gamemaster/actions/spider_infestation.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@
var/spawntype = /obj/effect/spider/spiderling

/datum/gm_action/spider_infestation/set_up()
severity = pickweight(EVENT_LEVEL_MUNDANE = max(1,(12 - (3 * metric.count_people_in_department(DEPARTMENT_SECURITY)))),
EVENT_LEVEL_MODERATE = (7 + (2 * metric.count_people_in_department(DEPARTMENT_SECURITY))),
EVENT_LEVEL_MAJOR = (1 + (2 * metric.count_people_in_department(DEPARTMENT_SECURITY)))
)
severity = pick_weight(mundande_weight = max(1,(12 - (3 * metric.count_people_in_department(DEPARTMENT_SECURITY)))),
moderate_weight = (7 + (2 * metric.count_people_in_department(DEPARTMENT_SECURITY))),
major_weight = (1 + (2 * metric.count_people_in_department(DEPARTMENT_SECURITY)))
)

switch(severity)
if(EVENT_LEVEL_MUNDANE)
Expand Down
5 changes: 1 addition & 4 deletions code/modules/gamemaster/actions/stowaway.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,7 @@
)

/datum/gm_action/stowaway/set_up()
severity = pickweight(EVENT_LEVEL_MUNDANE = 20,
EVENT_LEVEL_MODERATE = 5,
EVENT_LEVEL_MAJOR = 1
)
severity = pick_weight(mundande_weight = 20, moderate_weight = 5, major_weight = 1)

var/list/area/grand_list_of_areas = get_station_areas(excluded)

Expand Down
5 changes: 1 addition & 4 deletions code/modules/gamemaster/actions/swarmboarder.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,7 @@
)

/datum/gm_action/swarm_boarder/set_up()
severity = pickweight(EVENT_LEVEL_MUNDANE = 30,
EVENT_LEVEL_MODERATE = 10,
EVENT_LEVEL_MAJOR = 1
)
severity = pick_weight(mundande_weight = 30, moderate_weight = 10, major_weight = 1)

var/list/area/grand_list_of_areas = get_station_areas(excluded)

Expand Down
5 changes: 1 addition & 4 deletions code/modules/gamemaster/actions/viral_infection.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,7 @@
severity = 1

/datum/gm_action/viral_infection/set_up()
severity = pickweight(EVENT_LEVEL_MUNDANE = 20,
EVENT_LEVEL_MODERATE = 10,
EVENT_LEVEL_MAJOR = 3
)
severity = pick_weight(mundande_weight = 20, moderate_weight = 10, major_weight = 3)

//generate 1-3 viruses. This way there's an upper limit on how many individual diseases need to be cured if many people are initially infected
var/num_diseases = rand(1,3)
Expand Down
Loading

0 comments on commit da0eb91

Please sign in to comment.