mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-05-17 20:30:46 +01:00
7c8bb85de3
* Update settings * Whitespace changes * Comment out merger hooks in gitattributes Corrupt maps would have to be resolved in repo before hooks could be updated * Revert "Whitespace changes" This reverts commitafbdd1d844. * Whitespace again minus example * Gitignore example changelog * Restore changelog merge setting * Keep older dmi hook attribute until hooks can be updated * update vscode settings too * Renormalize remaining * Revert "Gitignore example changelog" This reverts commitde22ad375d. * Attempt to normalize example.yml (and another file I guess) * Try again
43 lines
1.5 KiB
Plaintext
43 lines
1.5 KiB
Plaintext
// The `classic` game master tries to act like the old system, choosing events without any specific goals.
|
|
// * Has no goals, and instead operates purely off of the weights of the events it has.
|
|
// * Does not react to danger at all.
|
|
/datum/game_master/classic/choose_event()
|
|
var/list/weighted_events = list()
|
|
for(var/datum/event2/meta/event as anything in SSgame_master.available_events)
|
|
if(!event.enabled)
|
|
continue
|
|
weighted_events[event] = event.get_weight()
|
|
|
|
var/datum/event2/meta/choice = pickweight(weighted_events)
|
|
|
|
if(choice)
|
|
log_game_master("[choice.name] was chosen, and is now being ran.")
|
|
return choice
|
|
|
|
|
|
// The `super_random` game master chooses events purely at random, ignoring weights entirely.
|
|
// * Has no goals, and instead chooses randomly, ignoring weights.
|
|
// * Does not react to danger at all.
|
|
/datum/game_master/super_random/choose_event()
|
|
return pick(SSgame_master.available_events)
|
|
|
|
|
|
// The `brutal` game master tries to run dangerous events frequently.
|
|
// * Chaotic events have their weights artifically boosted.
|
|
// * Ignores accumulated danger.
|
|
/datum/game_master/brutal
|
|
ignore_round_chaos = TRUE
|
|
|
|
/datum/game_master/brutal/choose_event()
|
|
var/list/weighted_events = list()
|
|
for(var/datum/event2/meta/event as anything in SSgame_master.available_events)
|
|
if(!event.enabled)
|
|
continue
|
|
weighted_events[event] = event.get_weight() + (event.chaos * 2)
|
|
|
|
var/datum/event2/meta/choice = pickweight(weighted_events)
|
|
|
|
if(choice)
|
|
log_game_master("[choice.name] was chosen, and is now being ran.")
|
|
return choice
|