Skip to content

Commit

Permalink
Merge branch 'master220' into unified_blood_adjust
Browse files Browse the repository at this point in the history
  • Loading branch information
Antoonij authored Nov 15, 2024
2 parents 5a086cf + 496d827 commit 5b7ec1d
Show file tree
Hide file tree
Showing 54 changed files with 411 additions and 275 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/gamemode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,4 @@
#define SPECIAL_ROLE_THIEF "Thief"
#define SPECIAL_ROLE_SPACE_DRAGON "Space Dragon"
#define SPECIAL_ROLE_EVENTMISC "Event Role"
#define SPECIAL_ROLE_MALFAI "Malfunctioning AI"
2 changes: 2 additions & 0 deletions code/__DEFINES/vampire_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@

#define NEW_NULLIFICATION 1 //nulifiaction like the new vampires
#define OLD_NULLIFICATION 2 //nulifiaction like the goon vampires

#define REQ_BLOOD_FOR_SUBCLASS_ACT 400 // total blood required for a special subclass action
2 changes: 0 additions & 2 deletions code/controllers/configuration/entries/config.dm
Original file line number Diff line number Diff line change
Expand Up @@ -397,8 +397,6 @@

/datum/config_entry/number/simultaneous_pm_warning_timeout
default = 100
///Do assistants get maint access?
/datum/config_entry/flag/assistant_maint

///How long the gateway takes before it activates. Default is 10 minutes. Only matters if roundstart_away is enabled.
/datum/config_entry/number/gateway_delay
Expand Down
6 changes: 6 additions & 0 deletions code/controllers/configuration/entries/testing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,9 @@

///Enables bombarda crafting on server.
/datum/config_entry/flag/enable_bombarda_craft

///Enables loading titlescreen only after master has been loaded.
/datum/config_entry/flag/enable_titlescreen_lateload

///Do not load station
/datum/config_entry/flag/load_no_station
15 changes: 14 additions & 1 deletion code/controllers/subsystem/icon_smooth.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,18 @@ SUBSYSTEM_DEF(icon_smooth)
offline_implications = "Objects will no longer smooth together properly. No immediate action is needed."
cpu_display = SS_CPUDISPLAY_LOW
ss_id = "icon_smooth"

/**
* Used to track instances of icon smooth halters. Does not apply to roundstart loading, however.
* Always make sure to remove halt source from this list on the end of operation.
*/
var/halt_sources = list()
var/list/smooth_queue = list()


/datum/controller/subsystem/icon_smooth/fire()
if(length(halt_sources))
return

while(smooth_queue.len)
var/atom/A = smooth_queue[smooth_queue.len]
smooth_queue.len--
Expand Down Expand Up @@ -44,3 +51,9 @@ SUBSYSTEM_DEF(icon_smooth)
CHECK_TICK

return SS_INIT_SUCCESS

/datum/controller/subsystem/icon_smooth/proc/add_halt_source(datum/source)
halt_sources += source

/datum/controller/subsystem/icon_smooth/proc/remove_halt_source(datum/source)
halt_sources -= source
5 changes: 4 additions & 1 deletion code/controllers/subsystem/non-firing/atoms.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ SUBSYSTEM_DEF(atoms)
if(initialized == INITIALIZATION_INSSATOMS)
return

SSicon_smooth.add_halt_source(src)
initialized = INITIALIZATION_INNEW_MAPLOAD

LAZYINITLIST(late_loaders)
Expand Down Expand Up @@ -79,6 +80,7 @@ SUBSYSTEM_DEF(atoms)
log_debug(" Late initialized [length(late_loaders)] atoms in [stop_watch(watch)]s")
late_loaders.Cut()

SSicon_smooth.remove_halt_source(src)

/datum/controller/subsystem/atoms/proc/InitAtom(atom/A, list/arguments)
var/the_type = A.type
Expand Down Expand Up @@ -127,11 +129,12 @@ SUBSYSTEM_DEF(atoms)
/datum/controller/subsystem/atoms/proc/map_loader_begin()
old_initialized = initialized
initialized = INITIALIZATION_INSSATOMS
SSicon_smooth.add_halt_source(src)


/datum/controller/subsystem/atoms/proc/map_loader_stop()
initialized = old_initialized

SSicon_smooth.remove_halt_source(src)

/datum/controller/subsystem/atoms/Recover()
initialized = SSatoms.initialized
Expand Down
20 changes: 19 additions & 1 deletion code/controllers/subsystem/non-firing/mapping.dm
Original file line number Diff line number Diff line change
Expand Up @@ -240,8 +240,27 @@ SUBSYSTEM_DEF(mapping)
seedRuins(levels_by_trait(SPAWN_RUINS), rand(20, 30), /area/space, GLOB.space_ruins_templates)
log_startup_progress("Successfully seeded ruins in [stop_watch(seed_ruins_timer)]s.")

/datum/controller/subsystem/mapping/proc/create_landmarks(turf/place)
var/landmarks = list(
/obj/effect/landmark/join_late,
/obj/effect/landmark/join_late_cryo,
/obj/effect/landmark/join_late_cyborg,
/obj/effect/landmark/join_late_gateway,
/obj/effect/landmark/observer_start
)

landmarks += subtypesof(/obj/effect/landmark/start)
for(var/mark in landmarks)
new mark(place)

/datum/controller/subsystem/mapping/proc/loadStation()
if(CONFIG_GET(flag/load_no_station))
log_startup_progress("Loading empty space...")
var/empty_z_level = GLOB.space_manager.add_new_zlevel(MAIN_STATION, linkage = CROSSLINKED, traits = DEFAULT_STATION_TRATS)
var/turf/centre = locate(world.maxx / 2, world.maxy / 2, empty_z_level)
create_landmarks(centre)
return

if(CONFIG_GET(string/default_map) && !CONFIG_GET(string/override_map) && map_datum == fallback_map)
var/map_datum_path = text2path(CONFIG_GET(string/default_map))
if(map_datum_path)
Expand All @@ -263,7 +282,6 @@ SUBSYSTEM_DEF(mapping)

var/watch = start_watch()
log_startup_progress("Loading [map_datum.station_name]...")

var/map_z_level
if(map_datum.traits && map_datum.traits?.len && islist(map_datum.traits[1])) // we work with list of lists
map_z_level = GLOB.space_manager.add_new_zlevel(MAIN_STATION, linkage = map_datum.linkage, traits = map_datum.traits[1])
Expand Down
7 changes: 6 additions & 1 deletion code/controllers/subsystem/non-firing/titlescreen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,14 @@ SUBSYSTEM_DEF(title)
import_html()
fill_title_images_pool()
current_title_screen = new(title_html = base_html, screen_image_file = pick_title_image())
show_title_screen_to_all_new_players()
if(!CONFIG_GET(flag/enable_titlescreen_lateload))
show_title_screen_to_all_new_players()
return SS_INIT_SUCCESS

/datum/controller/subsystem/title/OnMasterLoad()
if(CONFIG_GET(flag/enable_titlescreen_lateload))
show_title_screen_to_all_new_players()

/datum/controller/subsystem/title/Recover()
current_title_screen = SStitle.current_title_screen
title_images_pool = SStitle.title_images_pool
Expand Down
3 changes: 3 additions & 0 deletions code/datums/action.dm
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,9 @@
desc = "Toggles if the club's blasts cause friendly fire."
button_icon_state = "vortex_ff_on"

/datum/action/item_action/toggle_backpack_light
name = "Toggle Backpack Light"

/datum/action/item_action/toggle_unfriendly_fire/Trigger(left_click = TRUE)
if(..())
UpdateButtonIcon()
Expand Down
3 changes: 3 additions & 0 deletions code/datums/helper_datums/map_template.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
// if given a multi-z template
// it might need to be adapted for that when that time comes
GLOB.space_manager.add_dirt(placement.z)
SSicon_smooth.add_halt_source(src)
try
var/list/bounds = GLOB.maploader.load_map(get_file(), min_x, min_y, placement.z, shouldCropMap = TRUE)
if(!bounds)
Expand All @@ -58,11 +59,13 @@
if(ST_bot_left == null || ST_top_right == null)
stack_trace("One of the smoothing corners is bust")
catch(var/exception/e)
SSicon_smooth.remove_halt_source(src)
GLOB.space_manager.remove_dirt(placement.z)
message_admins("Map template [name] threw an error while loading. Safe exit attempted, but check for errors at [ADMIN_COORDJMP(placement)].")
log_admin("Map template [name] threw an error while loading. Safe exit attempted.")
throw e

SSicon_smooth.remove_halt_source(src)
GLOB.space_manager.remove_dirt(placement.z)

add_game_logs("[name] loaded at [min_x],[min_y],[placement.z]")
Expand Down
3 changes: 3 additions & 0 deletions code/datums/looping_sounds/item_sounds.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@
start_sound = list('sound/items/taperecorder/taperecorder_hiss_start.ogg')
volume = 10

/datum/looping_sound/ambulance_alarm/justice
mid_length = 1.5 SECONDS
falloff_exponent = 4
20 changes: 8 additions & 12 deletions code/datums/rituals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@
)

/datum/ritual/ashwalker/curse/del_things()
for(var/mob/living/carbon/human/human as anything in used_things)
for(var/mob/living/carbon/human/human in used_things)
human.gib()

return
Expand All @@ -519,7 +519,7 @@
if(!.)
return FALSE

for(var/mob/living/carbon/human/human as anything in used_things)
for(var/mob/living/carbon/human/human in used_things)
if(human.stat != DEAD)
to_chat(invoker, "Гуманоиды должны быть мертвы.")
return FALSE
Expand Down Expand Up @@ -812,7 +812,7 @@
return TRUE

/datum/ritual/ashwalker/population/del_things()
for(var/mob/living/living as anything in used_things)
for(var/mob/living/living in used_things)
living.gib()

return
Expand All @@ -823,7 +823,7 @@
if(!.)
return FALSE

for(var/mob/living/living as anything in used_things)
for(var/mob/living/living in used_things)
if(living.stat != DEAD)
to_chat(invoker, "Существа должны быть мертвы.")
return FALSE
Expand Down Expand Up @@ -969,13 +969,9 @@
return TRUE

/datum/ritual/ashwalker/transmutation/do_ritual(mob/living/carbon/human/invoker)
var/list/ore_types = list()

for(var/obj/item/stack/ore/ore as anything in subtypesof(/obj/item/stack/ore))
LAZYADD(ore_types, ore)
var/ore_type = pick(subtypesof(/obj/item/stack/ore))

var/obj/item/stack/ore/ore = pick(ore_types)
ore = new(get_turf(ritual_object))
var/obj/item/stack/ore/ore = new ore_type(get_turf(ritual_object))
ore.add(10)

return RITUAL_SUCCESSFUL
Expand Down Expand Up @@ -1113,7 +1109,7 @@
if(!.)
return FALSE

for(var/mob/living/carbon/human/human as anything in used_things)
for(var/mob/living/carbon/human/human in used_things)
if(human.stat != DEAD)
to_chat(invoker, "Гуманоиды должны быть мертвы.")
return FALSE
Expand Down Expand Up @@ -1178,7 +1174,7 @@
if(!.)
return FALSE

for(var/mob/living/simple_animal/living as anything in used_things)
for(var/mob/living/simple_animal/living in used_things)
if(living.client)
to_chat(invoker, "Существо должно быть бездушным.")
return FALSE
Expand Down
6 changes: 3 additions & 3 deletions code/game/dna/genes/disabilities.dm
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@
/datum/dna/gene/disability/wingdings
name = "Alien Voice"
desc = "Искажает голос субъекта, превращая его в непонятную речь."
activation_message = list(span_wingdings("Ваши голосовые связки кажутся инородными."))
activation_message = list(span_wingdings("Vashi golosovyye svyazki kazhutsya chuzhimi."))
deactivation_message = list("Ваши голосовые связки больше не кажутся инородными.")
instability = -GENE_INSTABILITY_MINOR
traits_to_add = list(TRAIT_WINGDINGS)
Expand Down Expand Up @@ -303,7 +303,7 @@
/datum/dna/gene/disability/weak
name = "Weak"
desc = "Делает мышцы субъекта более слабыми."
activation_message = list("Вы чуствуете внезапную слабость в мышцах.")
activation_message = list("Вы чувствуете внезапную слабость в мышцах.")
deactivation_message = list("Вы снова ощущаете силу в мышцах.")
instability = -GENE_INSTABILITY_MODERATE
traits_to_add = list(TRAIT_GENE_WEAK)
Expand Down Expand Up @@ -378,7 +378,7 @@
/datum/dna/gene/disability/paraplegia
name = "Paraplegia"
desc = "Парализует мышцы ног."
activation_message = list("Вы не чуствуете своих ног.")
activation_message = list("Вы не чувствуете своих ног.")
deactivation_message = list("Вы возвращаете контроль над ногами.")
instability = -GENE_INSTABILITY_MAJOR
traits_to_add = list(TRAIT_FLOORED)
Expand Down
2 changes: 1 addition & 1 deletion code/game/dna/genes/goon_powers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -586,7 +586,7 @@
numbers += H.mind.initial_account.account_number
numbers += H.mind.initial_account.remote_access_pin
if(numbers.len>0)
to_chat(user, span_notice("<b>Числа</b>: Вы чувствуете, что [numbers.len > 1?"число является важным" : "числа являются важными"] для [M.name]."))
to_chat(user, span_notice("<b>Числа</b>: Вы чувствуете, что [numbers.len > 1 ? "числа" : "число"] [english_list(numbers)] [numbers.len > 1 ? "являются важными" : "является важным"] для [M.name]."))
to_chat(user, span_notice("<b>Мысли</b>: [M.name] сейчас [thoughts]."))

if(HAS_TRAIT(M, TRAIT_EMPATHY))
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/antag_paradise/antag_paradise.dm
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@
if(special_antag)
special_antag.restricted_roles = (restricted_jobs|protected_jobs|protected_jobs_AI)
special_antag.restricted_roles -= JOB_TITLE_AI
special_antag.special_role = SPECIAL_ROLE_TRAITOR
special_antag.special_role = SPECIAL_ROLE_MALFAI
SSjobs.new_malf = special_antag.current
pre_antags[special_antag] = ROLE_MALF_AI
antags_amount--
Expand Down
Loading

0 comments on commit 5b7ec1d

Please sign in to comment.