Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
dageavtobusnick committed Dec 16, 2024
1 parent 0dd2b62 commit a144cef
Show file tree
Hide file tree
Showing 20 changed files with 70 additions and 50 deletions.
1 change: 0 additions & 1 deletion code/__DEFINES/blob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@
#define FIRST_STAGE_WARN span_userdanger("Вы чувствуете усталость и раздутость.")
#define SECOND_STAGE_WARN span_userdanger("Вы чувствуете, что вот-вот лопнете.")

#define isblobbernaut(M) istype((M), /mob/living/simple_animal/hostile/blob_minion/blobbernaut)

#define TOTAL_BLOB_MASS SSticker?.mode?.legit_blobs?.len
#define NEEDED_BLOB_MASS SSticker?.mode?.blob_win_count
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,7 @@
#define isovermind(A) (istype((A), /mob/camera/blob))

#define isminion(A) (istype((A), /mob/living/simple_animal/hostile/blob_minion))
#define isblobbernaut(M) istype((M), /mob/living/simple_animal/hostile/blob_minion/blobbernaut)

#define isSpirit(A) (istype((A), /mob/spirit))
#define ismask(A) (istype((A), /mob/spirit/mask))
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/traits/declarations.dm
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_SHOCKIMMUNE "shock_immunity"
/// Are we immune to specifically tesla / SM shocks?
#define TRAIT_TESLA_SHOCKIMMUNE "tesla_shock_immunity"
/// Are we immune to wet effect
#define TRAIT_WET_IMMUNITY "wet_immunity"

/// We place people into a fireman carry quicker than standard
#define TRAIT_QUICK_CARRY "quick-carry"
Expand Down
8 changes: 8 additions & 0 deletions code/datums/components/blob_minion.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,20 @@
var/mob/camera/blob/overmind
/// Callback to run if overmind strain changes
var/datum/callback/on_strain_changed
var/datum/action/innate/blob/minion_talk/mob_talk

/datum/component/blob_minion/Initialize(mob/camera/blob/overmind, datum/callback/on_strain_changed)
. = ..()
if(!isminion(parent))
return COMPONENT_INCOMPATIBLE
src.on_strain_changed = on_strain_changed
mob_talk = new()
register_overlord(overmind)

/datum/component/blob_minion/Destroy(force)
qdel(mob_talk)
. = ..()

/datum/component/blob_minion/InheritComponent(datum/component/new_comp, i_am_original, mob/camera/blob/overmind, datum/callback/on_strain_changed)
if(!isnull(on_strain_changed))
src.on_strain_changed = on_strain_changed
Expand Down Expand Up @@ -58,6 +64,7 @@
RegisterSignal(parent, COMSIG_MOB_TRY_SPEECH, PROC_REF(on_try_speech))
RegisterSignal(parent, COMSIG_MOB_CHANGED_TYPE, PROC_REF(on_transformed))
living_parent.update_appearance(UPDATE_ICON)
mob_talk.Grant(living_parent)
GLOB.blob_telepathy_mobs |= parent

/datum/component/blob_minion/UnregisterFromParent()
Expand All @@ -78,6 +85,7 @@
COMSIG_MOB_MIND_INITIALIZED,
COMSIG_MOVABLE_SPACEMOVE,
))
mob_talk.Remove(living_parent)
GLOB.blob_telepathy_mobs -= parent

/// Become blobpilled when we gain a mind
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,6 @@
light_on = FALSE
universal_speak = 0
universal_understand = 0
wet_immunity = TRUE
hud_type = /datum/hud/swarmer
var/resources = 0 //Resource points, generated by consuming metal/glass
var/max_resources = 200
Expand Down Expand Up @@ -130,6 +129,7 @@
for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds)
diag_hud.add_to_hud(src)
updatename()
ADD_TRAIT(src, TRAIT_WET_IMMUNITY, INNATE_TRAIT)

/mob/living/simple_animal/hostile/swarmer/proc/updatename()
real_name = "Swarmer [rand(100,999)]-[pick("kappa","sigma","beta","omicron","iota","epsilon","omega","gamma","delta","tau","alpha")]"
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/miniantags/demons/demon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
del_on_death = TRUE
dirslash_enabled = TRUE
slowed_by_pull_and_push = FALSE
wet_immunity = TRUE
var/vialspawned = FALSE
var/playstyle_string
var/datum/action/innate/demon/whisper/whisper_action
Expand All @@ -42,6 +41,7 @@
whisper_action = new()
whisper_action.Grant(src)
addtimer(CALLBACK(src, PROC_REF(attempt_objectives)), 5 SECONDS)
ADD_TRAIT(src, TRAIT_WET_IMMUNITY, INNATE_TRAIT)

/mob/living/simple_animal/demon/ComponentInitialize()
AddComponent( \
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/miniantags/revenant/revenant.dm
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
mob_size = MOB_SIZE_TINY
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
speed = 1
wet_immunity = TRUE
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)

tts_seed = "Sylvanas"
Expand All @@ -59,6 +58,7 @@
/mob/living/simple_animal/revenant/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NO_FLOATING_ANIM, INNATE_TRAIT)
ADD_TRAIT(src, TRAIT_WET_IMMUNITY, INNATE_TRAIT)
AddElement(/datum/element/simple_flying)

/mob/living/simple_animal/revenant/ComponentInitialize()
Expand Down
12 changes: 12 additions & 0 deletions code/game/gamemodes/objective.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1751,3 +1751,15 @@ GLOBAL_LIST_EMPTY(admin_objective_list)
/datum/objective/blob_find_place_to_burst
needs_target = FALSE
explanation_text = "Найдите укромное место на станции, в котором вас не смогут найти после вылупления до тех пор, пока вы не наберетесь сил."

/datum/objective/blob_minion
name = "protect the blob core"
explanation_text = "Защищайте ядро блоба и исполняйте приказы надразумов. Любой ценой."
var/datum/weakref/overmind


/datum/objective/blob_minion/check_completion()
var/mob/camera/blob/resolved_overmind = overmind.resolve()
if(!resolved_overmind)
return FALSE
return resolved_overmind.stat != DEAD
23 changes: 20 additions & 3 deletions code/modules/antagonists/blob/blob_actions.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
background_icon_state = "bg_default_on"

/datum/action/innate/blob/comm
name = "Blob Telepathy"
desc = "Телепатически отправляет сообщение всем блобам, иблобернаутам и зараженным блобом"
name = "Телепатия блоба"
desc = "Телепатически отправляет сообщение всем блобам, миньенам блоба и зараженным блобом организмам"
button_icon_state = "alien_whisper"
check_flags = AB_CHECK_CONSCIOUS|AB_TRANSFER_MIND

Expand All @@ -31,7 +31,7 @@
button_icon = 'icons/hud/blob.dmi'
background_icon_state = "block"
button_icon_state = "ui_tocore"
name = "Self burst"
name = "Лопнуть носителя"
desc = "Позволяет лопнуть носителя и превратиться в блоба досрочно."
check_flags = AB_CHECK_CONSCIOUS|AB_TRANSFER_MIND

Expand All @@ -44,3 +44,20 @@
return
blob.burst_blob()
return

/datum/action/innate/blob/minion_talk
background_icon_state = "bg_default"
button_icon_state = "talk_around"
name = "Сказать окружающим"
desc = "Вы скажете введенный текст окружающим вас мобам"
check_flags = AB_CHECK_CONSCIOUS|AB_TRANSFER_MIND

/datum/action/innate/blob/minion_talk/Activate()

var/speak_text = tgui_input_text(usr, "Что вы хотите сказать?", "Сказать окружающим", null)

if(!speak_text)
return

add_say_logs(usr, speak_text, language = "BLOB mob_say")
usr.atom_say(speak_text)
13 changes: 1 addition & 12 deletions code/modules/antagonists/blob/blob_minion.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
/datum/antagonist/blob_minion/on_gain()
. = ..()
give_objectives()

/datum/antagonist/blob_minion/give_objectives()
var/datum/objective/blob_minion/objective = new
objective.owner = owner
Expand All @@ -56,17 +56,6 @@
. += span_info("Штамм вашего надразума: <b><font color=\"[blobstrain.color]\">[blobstrain.name]</b></font>!")
. += span_info("Штамм <b><font color=\"[blobstrain.color]\">[blobstrain.name]</b></font> [blobstrain.shortdesc ? "[blobstrain.shortdesc]" : "[blobstrain.description]"]")

/datum/objective/blob_minion
name = "protect the blob core"
explanation_text = "Защищайте ядро блоба и исполняйте приказы надразумов. Любой ценой."
var/datum/weakref/overmind

/datum/objective/blob_minion/check_completion()
var/mob/camera/blob/resolved_overmind = overmind.resolve()
if(!resolved_overmind)
return FALSE
return resolved_overmind.stat != DEAD

/**
* Takes any datum `source` and checks it for blob_minion datum.
*/
Expand Down
11 changes: 0 additions & 11 deletions code/modules/antagonists/blob/blob_minions/blob_mob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -93,14 +93,3 @@
/mob/living/simple_animal/hostile/blob_minion/can_be_blob()
return FALSE

/mob/living/simple_animal/hostile/blob_minion/verb/say_to_nearby_mobs()
set name = "Сказать окружающим"
set desc = "Вы скажете введенный текст окружающим вас мобам"

var/speak_text = tgui_input_text(usr, "Что вы хотите сказать?", "Сказать окружающим", null)

if(!speak_text)
return
if(stat == CONSCIOUS)
add_say_logs(usr, speak_text, language = "BLOB mob_say")
atom_say(speak_text)
4 changes: 4 additions & 0 deletions code/modules/antagonists/blob/powers.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
#define BLOB_REROLL_RADIUS 60

/mob/camera/blob/proc/blob_help()
var/list/messages = get_blob_help_messages(blobstrain)
to_chat(src, chat_box_regular(messages.Join("<br>")))

/** Simple price check */
/mob/camera/blob/proc/can_buy(cost = 15)
if(is_infinity || SSticker?.mode?.is_blob_infinity_points)
Expand Down
6 changes: 0 additions & 6 deletions code/modules/antagonists/blob/powers_verbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,6 @@
else
to_chat(src, span_warning("Теперь вам не нужно иметь узел или ядро рядом ​​для размещения фабрики и ресурсной плитки."))

/mob/camera/blob/verb/blob_help()
set category = "Blob"
set name = "*Помощь*"
set desc = "Подсказывает, как быть блобом."
var/list/messages = get_blob_help_messages(blobstrain)
to_chat(src, chat_box_regular(messages.Join("<br>")))

/mob/camera/blob/verb/blob_broadcast()
set category = "Blob"
Expand Down
4 changes: 2 additions & 2 deletions code/modules/mob/living/living_defense.dm
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@


/mob/living/proc/adjust_wet_stacks(add_wet_stacks) //Adjusting the amount of fire_stacks we have on person
if(wet_immunity)
if(HAS_TRAIT(src, TRAIT_WET_IMMUNITY))
return
SEND_SIGNAL(src, COMSIG_MOB_ADJUST_WET)
wet_stacks = clamp(wet_stacks + add_wet_stacks, -20, 20)
Expand All @@ -274,7 +274,7 @@
fire_stacks = clamp(fire_stacks - buf_stacks, 0, 20)

/mob/living/proc/WetMob()
if(!wet_immunity && wet_stacks > 0 && !is_wet )
if(!HAS_TRAIT(src, TRAIT_WET_IMMUNITY) && wet_stacks > 0 && !is_wet )
is_wet = TRUE
visible_message(span_warning("[src.declent_ru(NOMINATIVE)] намока[pluralize_ru(src.gender,"ет","ют")]!"), \
span_userdanger("[pluralize_ru(src.gender,"Ты намокаешь","Вы намокаете")]!"))
Expand Down
5 changes: 2 additions & 3 deletions code/modules/mob/living/living_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,9 @@
var/fire_stacks = 0 //Tracks how many stacks of fire we have on, max is usually 20

/// The "Are we wet?" var
var/is_wet = 0
var/is_wet = 0
/// Tracks how many stacks of wet we have on, max is usually 20
var/wet_stacks = 0
var/wet_immunity = FALSE
var/wet_stacks = 0


var/mob_size = MOB_SIZE_HUMAN
Expand Down
3 changes: 2 additions & 1 deletion code/modules/mob/living/silicon/silicon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
bubble_icon = "machine"
has_unlimited_silicon_privilege = 1
weather_immunities = list(TRAIT_WEATHER_IMMUNE)
wet_immunity = TRUE
var/syndicate = 0
var/obj/item/gps/cyborg/gps
var/const/MAIN_CHANNEL = "Main Frequency"
Expand Down Expand Up @@ -51,6 +50,8 @@
diag_hud_set_status()
diag_hud_set_health()

ADD_TRAIT(src, TRAIT_WET_IMMUNITY, INNATE_TRAIT)

RegisterSignal(SSalarm, COMSIG_TRIGGERED_ALARM, PROC_REF(alarm_triggered))
RegisterSignal(SSalarm, COMSIG_CANCELLED_ALARM, PROC_REF(alarm_cancelled))

Expand Down
3 changes: 2 additions & 1 deletion code/modules/mob/living/simple_animal/bot/bot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@

hud_type = /datum/hud/bot

wet_immunity = TRUE

var/obj/machinery/bot_core/bot_core = null
var/bot_core_type = /obj/machinery/bot_core
Expand Down Expand Up @@ -222,6 +221,8 @@
bot_core = new bot_core_type(src)
addtimer(CALLBACK(src, PROC_REF(add_bot_filter)), 3 SECONDS)

ADD_TRAIT(src, TRAIT_WET_IMMUNITY, INNATE_TRAIT)

prepare_huds()
for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds)
diag_hud.add_to_hud(src)
Expand Down
6 changes: 5 additions & 1 deletion code/modules/mob/living/simple_animal/hostile/illusion.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,11 @@
var/multiply_chance = 0 //if we multiply on hit
deathmessage = "vanishes into thin air! It was a fake!"
del_on_death = 1
wet_immunity = TRUE


/mob/living/simple_animal/hostile/illusion/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_WET_IMMUNITY, INNATE_TRAIT)


/mob/living/simple_animal/hostile/illusion/Life()
Expand Down
Binary file modified icons/mob/actions/actions.dmi
Binary file not shown.
12 changes: 6 additions & 6 deletions paradise.dme
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
#include "code\__DEFINES\blob.dm"
#include "code\__DEFINES\borer.dm"
#include "code\__DEFINES\bots.dm"
#include "code\__DEFINES\rituals.dm"
#include "code\__DEFINES\byond_tracy.dm"
#include "code\__DEFINES\callbacks.dm"
#include "code\__DEFINES\cargo_quests.dm"
Expand Down Expand Up @@ -117,6 +116,7 @@
#include "code\__DEFINES\RCD.dm"
#include "code\__DEFINES\reagents.dm"
#include "code\__DEFINES\request.dm"
#include "code\__DEFINES\rituals.dm"
#include "code\__DEFINES\role_preferences.dm"
#include "code\__DEFINES\rolebans.dm"
#include "code\__DEFINES\rust_g.dm"
Expand Down Expand Up @@ -376,7 +376,6 @@
#include "code\controllers\subsystem\tickets\mentor_tickets.dm"
#include "code\controllers\subsystem\tickets\tickets.dm"
#include "code\datums\action.dm"
#include "code\datums\rituals.dm"
#include "code\datums\ai_law_sets.dm"
#include "code\datums\ai_laws.dm"
#include "code\datums\armor.dm"
Expand Down Expand Up @@ -412,6 +411,7 @@
#include "code\datums\radio.dm"
#include "code\datums\recipe.dm"
#include "code\datums\revision.dm"
#include "code\datums\rituals.dm"
#include "code\datums\ruins.dm"
#include "code\datums\shuttles.dm"
#include "code\datums\snake_fashion.dm"
Expand All @@ -432,12 +432,12 @@
#include "code\datums\cache\powermonitor.dm"
#include "code\datums\changelog\changelog.dm"
#include "code\datums\cinematics\cinematic_datum.dm"
#include "code\datums\cinematics\kharin_summon.dm"
#include "code\datums\cinematics\malf_doomsday.dm"
#include "code\datums\cinematics\narsie_summon.dm"
#include "code\datums\cinematics\kharin_summon.dm"
#include "code\datums\cinematics\nuke_cinematics.dm"
#include "code\datums\cinematics\ratvar_summon.dm"
#include "code\datums\cinematics\reaper_summon.dm"
#include "code\datums\cinematics\nuke_cinematics.dm"
#include "code\datums\components\_component.dm"
#include "code\datums\components\after_attacks_hub.dm"
#include "code\datums\components\animal_temperature.dm"
Expand All @@ -457,7 +457,6 @@
#include "code\datums\components\conveyor_movement.dm"
#include "code\datums\components\cross_shock.dm"
#include "code\datums\components\decal.dm"
#include "code\datums\components\ritual_object.dm"
#include "code\datums\components\defibrillator.dm"
#include "code\datums\components\drift.dm"
#include "code\datums\components\ducttape.dm"
Expand All @@ -477,6 +476,7 @@
#include "code\datums\components\persistent_overlay.dm"
#include "code\datums\components\proximity_monitor.dm"
#include "code\datums\components\radioactivity.dm"
#include "code\datums\components\ritual_object.dm"
#include "code\datums\components\shielded.dm"
#include "code\datums\components\slippery.dm"
#include "code\datums\components\spawner.dm"
Expand Down Expand Up @@ -3185,7 +3185,6 @@
#include "code\modules\tgui\plugins\modal.dm"
#include "code\modules\tgui\states\admin.dm"
#include "code\modules\tgui\states\always.dm"
#include "code\modules\tgui\states\range.dm"
#include "code\modules\tgui\states\conscious.dm"
#include "code\modules\tgui\states\contained.dm"
#include "code\modules\tgui\states\deep_inventory.dm"
Expand All @@ -3197,6 +3196,7 @@
#include "code\modules\tgui\states\notcontained.dm"
#include "code\modules\tgui\states\observer.dm"
#include "code\modules\tgui\states\physical.dm"
#include "code\modules\tgui\states\range.dm"
#include "code\modules\tgui\states\self.dm"
#include "code\modules\tgui\states\strippable_state.dm"
#include "code\modules\tgui\states\zlevel.dm"
Expand Down

0 comments on commit a144cef

Please sign in to comment.