Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
311a214
ADD: modsuits in cargo and else
Erring Jan 4, 2026
ec32c50
Пошел смотреть щит, но
Erring Jan 4, 2026
1fd22b5
balance + fixes + grammar
Erring Jan 4, 2026
c2040c4
new module + 1 fix + small changes
Erring Jan 5, 2026
d221c2c
changing icon for blood replika
Erring Jan 5, 2026
da263fc
small repaths & fixes
Erring Jan 6, 2026
138b5b4
EDIT: reworking armor booster to civilian one
Erring Jan 6, 2026
488320a
ADD: responsory to cargo, insignia rework
Erring Jan 6, 2026
21ac642
FIX: storch boots fix + readme update
Erring Jan 6, 2026
0c53a65
ADD: finished blood replika module
Erring Jan 6, 2026
73f0ddf
batteries + updating armor values
Erring Jan 6, 2026
565e81f
Меня переубедили по цифрам в лс за 5 минут
Erring Jan 6, 2026
a497ef4
whoopsy
Erring Jan 6, 2026
fa00cd9
ADD: balancing with Asura:tm:
Erring Jan 7, 2026
6e0d1a8
jetpacks + gps fix + price increase
Erring Jan 7, 2026
5b4f9cd
FIX: Tech is not first anymore + small balance changes + fixes
Erring Jan 7, 2026
e13cf15
blood replika is removable now
Erring Jan 7, 2026
1c4651f
access fix
Erring Jan 7, 2026
e63e657
BALANCE: armor assist buff
Erring Jan 7, 2026
a2328f4
power kick fix, syndi-mod buff, new modules in cargo for syndicate
Erring Jan 7, 2026
e054cee
FIX: gun cells into mod, EDIT: expanded_ storage, jetpack buff, DNA l…
Erring Jan 7, 2026
d59ef10
Изменения стелс модуля
Erring Jan 8, 2026
ad13dad
small fixes
Erring Jan 8, 2026
23a7424
ADD: New digi elite modsuit sprite, thank you, Sodakent!
Erring Jan 8, 2026
b34a95c
FIX: wound armor for modsuits
Erring Jan 8, 2026
0c0ce01
FIX: mod modules
Erring Jan 8, 2026
25c1e64
BALANCE: stuff
Erring Jan 8, 2026
f899977
Revert "ADD: New digi elite modsuit sprite, thank you, Sodakent!"
KOCMODECAHTHUK Jan 9, 2026
4634b72
Civilian have less charge drain, tail hide
Erring Jan 10, 2026
658db89
BALANCE: Storage upd
Erring Jan 10, 2026
ad08cc3
BALANCE: kinesis module small touch-up
Erring Jan 10, 2026
f4fecc1
UPD: Kinesis changes
Erring Jan 11, 2026
be58d91
ADD: More mining equipment for mining modsuit
Erring Jan 11, 2026
8442e07
FIX: gps module, "You retract ."
Erring Jan 11, 2026
fd8d908
Merge branch 'CeladonSS13:beta-dev' into Reversing-our-magic-spell
Erring Jan 11, 2026
34fa68e
BALANCE: bugged kinesis is out of cargo until I fix it
Erring Jan 11, 2026
a0c6235
BALANCE: Falke is nerfed a bit. More nerfs incoming.
Erring Jan 11, 2026
e492d6e
FIX: Ninja clock properly works now again
Erring Jan 11, 2026
324d5b8
ADD: Armor booster reworked.
Erring Jan 12, 2026
3092e92
QoL: stealth module with capacitor and new tab
Erring Jan 12, 2026
d90f53f
smoll fixes + balance changes
Erring Jan 17, 2026
221581a
balance: small responsory buff
Erring Jan 20, 2026
b493a97
cargo: price changes + paint kits
Erring Jan 20, 2026
4ddf4be
EMP changes
Erring Jan 25, 2026
4a5ebf9
powerkick buff + plate compression changes
Erring Jan 25, 2026
f9b2e2b
mirage changes
Erring Jan 25, 2026
510de0c
armor booster usability buffs + smth
Erring Jan 25, 2026
c371435
RnD additions
Erring Jan 25, 2026
513699a
Cargo price rebalance + new items
Erring Jan 25, 2026
39ffdd7
ooops I forgor
Erring Jan 25, 2026
2e0dba0
add: Slipstream module
KOCMODECAHTHUK Jan 31, 2026
9041e81
BALANCE: Stealth + replika
Erring Feb 1, 2026
e808972
FIX: stealth module
Erring Feb 2, 2026
2c20e32
A little bit of balance changes. Have fun
Erring Feb 2, 2026
b2e54c8
ADD: Power cells + balloon
Erring Feb 2, 2026
ac43c0f
oopsie
Erring Feb 2, 2026
4acb91d
Balance: power kick buffed again. Have fun
Erring Feb 2, 2026
15b2fe8
Merge remote-tracking branch 'ERRING/Reversing-our-magic-spell' into …
MrCat15352 Feb 8, 2026
a265185
MAP: Space Ruins (#2723)
PumPeyMey Feb 9, 2026
fd4fba4
BALANCE-NERF: Dwarfism quirk (#2727)
KOCMODECAHTHUK Feb 9, 2026
df1201c
Merge branch 'CeladonSS13:beta-dev' into Reversing-our-magic-spell
Chituka Feb 10, 2026
508bc15
Merge remote-tracking branch 'ERRING/Reversing-our-magic-spell' into …
MrCat15352 Feb 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8,214 changes: 8,214 additions & 0 deletions _maps/_mod_celadon/RandomRuins/SpaceRuins/onehalftwo.dmm

Large diffs are not rendered by default.

14,824 changes: 14,824 additions & 0 deletions _maps/_mod_celadon/RandomRuins/SpaceRuins/vi_deepstorage.dmm

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion code/__DEFINES/mod.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define DEFAULT_MAX_COMPLEXITY 15

/// Default cell drain per process on MODsuits
#define DEFAULT_CHARGE_DRAIN 0.09
#define DEFAULT_CHARGE_DRAIN 10 // [CELADON-EDIT] - CELADON_MODSUITS - Пиздатейший фикс. На тг 5, пусть у нас 10, посмотрим как играться будет //#define DEFAULT_CHARGE_DRAIN 0.09

#define MODULE_CHARGE_DRAIN_LOW 5
#define MODULE_CHARGE_DRAIN_MEDIUM 10
Expand Down
1 change: 1 addition & 0 deletions code/controllers/subsystem/processing/quirks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks)

species_blacklist = list(
"Blood Deficiency" = list(SPECIES_IPC, SPECIES_JELLYPERSON, SPECIES_PLASMAMAN, SPECIES_VAMPIRE),
"Dwarfism" = list(SPECIES_IPC, SPECIES_KEPORI, SPECIES_VOX, SPECIES_RACHNID), // [CELADON-ADD] - NO_FUN_ALLOWED_SPECIES
"Alcohol Tolerance" = list(SPECIES_IPC, SPECIES_PLASMAMAN),
"Light Drinker" = list(SPECIES_IPC, SPECIES_PLASMAMAN),
"Smoker" = list(SPECIES_IPC, SPECIES_PLASMAMAN),
Expand Down
3 changes: 3 additions & 0 deletions code/game/objects/items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -649,6 +649,9 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
A.Grant(user)
item_flags |= IN_INVENTORY
SEND_SIGNAL(src, COMSIG_ITEM_EQUIPPED, user, slot)
//[CELADON-FIX] - CELADON_MODSUITS - Fixing MOD magnetic harness
SEND_SIGNAL(user, COMSIG_MOB_EQUIPPED_ITEM, src, slot)
//[/CELADON-FIX]
if(!initial)
if(equip_sound && (slot_flags & slot))
playsound(src, equip_sound, EQUIP_SOUND_VOLUME, TRUE, ignore_walls = FALSE)
Expand Down
3 changes: 3 additions & 0 deletions code/modules/mob/inventory.dm
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,9 @@
else
I.forceMove(newloc)
I.dropped(src, silent)
//[CELADON-FIX] - CELADON_MODSUITS - fixing MOD magnetic harness.
SEND_SIGNAL(src, COMSIG_MOB_UNEQUIPPED_ITEM, I, force, newloc, no_move, invdrop, silent)
//[/CELADON-FIX]
return TRUE

//Outdated but still in use apparently. This should at least be a human proc.
Expand Down
1 change: 1 addition & 0 deletions code/modules/mob/living/carbon/carbon_defense.dm
Original file line number Diff line number Diff line change
Expand Up @@ -839,6 +839,7 @@
/mob/living/carbon/bullet_act(obj/projectile/P, def_zone, piercing_hit = FALSE)
if(check_concealment(P))
return BULLET_ACT_FORCE_PIERCE
SEND_SIGNAL(src, COMSIG_ATOM_BULLET_ACT, P, def_zone) // [CELADON-ADD] - CELADON-MODSUITS
var/armor = run_armor_check(def_zone, P.flag, P.armour_penetration, silent = TRUE)
var/on_hit_state = P.on_hit(src, armor, piercing_hit)
if(!P.nodamage && on_hit_state != BULLET_ACT_BLOCK && !QDELETED(src)) //QDELETED literally just for the instagib rifle. Yeah.
Expand Down
10 changes: 9 additions & 1 deletion code/modules/mob/living/carbon/human/human_defense.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,11 @@
if(!(martial_art_result == BULLET_ACT_HIT))
return martial_art_result

//[CELADON-FIX] - CELADON_MODSUITS - Actually adding signals, officials ported with MODs
if(SEND_SIGNAL(src, COMSIG_HUMAN_CHECK_SHIELDS, src, P) & SHIELD_BLOCK)
return BULLET_ACT_FORCE_PIERCE
//[/CELADON-FIX]

if(!(P.original == src && P.firer == src)) //can't block or reflect when shooting yourself
if(P.reflectable & REFLECT_NORMAL)
if(check_reflect(def_zone)) // Checks if you've passed a reflection% check
Expand Down Expand Up @@ -174,7 +179,10 @@
throwpower = I.throwforce
if(I.thrownby == WEAKREF(src)) //No throwing stuff at yourself to trigger hit reactions
return ..()
if(check_shields(AM, throwpower, "\the [AM.name]", THROWN_PROJECTILE_ATTACK))
//[CELADON-EDIT] - CELADON_MODSUITS - Actually adding signals for energy shield
//if(check_shields(AM, throwpower, "\the [AM.name]", THROWN_PROJECTILE_ATTACK))
if(check_shields(AM, throwpower, "\the [AM.name]", THROWN_PROJECTILE_ATTACK) || (SEND_SIGNAL(src, COMSIG_HUMAN_CHECK_SHIELDS, src, AM) & SHIELD_BLOCK))
//[/CELADON-EDIT]
hitpush = FALSE
skipcatch = TRUE
blocked = TRUE
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/species.dm
Original file line number Diff line number Diff line change
Expand Up @@ -993,7 +993,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
bodyparts_to_add -= "riol_ears"
// [/CELADON-ADD]

// [CELADON-ADD] - CELADON_ELZUOZE
// [CELADON-ADD] - CELADON_INTEQ_VENDOR - добавлена поддержка модами скрытия рогов Эльзоуз
if("tail_elzu" in mutant_bodyparts)
if(!H.dna.features["tail_elzu"] || H.dna.features["tail_elzu"] == "None" || H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT))
bodyparts_to_add -= "tail_elzu"
Expand Down
1 change: 1 addition & 0 deletions code/modules/mob/living/living_defense.dm
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
return BULLET_ACT_FORCE_PIERCE
var/armor = run_armor_check(def_zone, P.flag, P.armour_penetration, silent = TRUE)
var/on_hit_state = P.on_hit(src, armor, piercing_hit)
SEND_SIGNAL(src, COMSIG_ATOM_BULLET_ACT, P, def_zone) // [CELADON-ADD] - CELADON-MODSUITS
if(!P.nodamage && on_hit_state != BULLET_ACT_BLOCK && !QDELETED(src)) //QDELETED literally just for the instagib rifle. Yeah.
var/attack_direction = get_dir(P.starting, src)
apply_damage(P.damage, P.damage_type, def_zone, armor, wound_bonus=P.wound_bonus, bare_wound_bonus=P.bare_wound_bonus, sharpness = P.sharpness, attack_direction = attack_direction)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mod/mod_clothes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
obj_flags = IMMUTABLE_SLOW
supports_variations = DIGITIGRADE_VARIATION
can_be_tied = FALSE
visor_flags_inv = HIDESHOES
// visor_flags_inv = HIDESHOES // [CELADON-DELETE] - CELADON_MODSUITS

equipping_sound = null
unequipping_sound = null
Expand Down
10 changes: 9 additions & 1 deletion code/modules/mod/mod_construction.dm
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,14 @@
if(SCREWED_ASSEMBLY_STEP)
if(istype(part, /obj/item/mod/construction/plating)) //Construct
var/obj/item/mod/construction/plating/external_plating = part
//[CELADON-ADD] - CELADON_MODSUITS
// I'm sorry. Я не умею кодить, увы
if(istype(part, /obj/item/mod/construction/plating/locked))
var/obj/item/mod/construction/plating/locked/locked_plating = part
if(!locked_plating.finished)
to_chat(user, span_notice("Нужно завершить сборку плит с помощью Modular power armor components."))
return
//[/CELADON-ADD]
if(!user.transferItemToLoc(part, src))
return
playsound(src, 'sound/machines/click.ogg', 30, TRUE)
Expand All @@ -236,7 +244,7 @@
else if(part.tool_behaviour == TOOL_SCREWDRIVER) //Construct
if(part.use_tool(src, user, 0, volume=30))
to_chat(user, span_notice("You unsecure the assembly."))
step = SCREWED_ASSEMBLY_STEP
step = WRENCHED_ASSEMBLY_STEP //[CELADON-FIX] - CELADON_MODSUITS // step = SCREWED_ASSEMBLY_STEP
update_icon_state()

/obj/item/mod/construction/shell/update_icon_state()
Expand Down
15 changes: 11 additions & 4 deletions code/modules/mod/mod_control.dm
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@
return TRUE
else if(open && istype(attacking_item, /obj/item/stock_parts/cell) && istype(core, /obj/item/mod/core/standard))
var/obj/item/mod/core/standard/attacked_core = core
attacked_core.on_attackby(src, attacking_item, wearer)
attacked_core.on_attackby(src, attacking_item, user) //[CELADON-FIX] - CELADON_MODSUITS // attacked_core.on_attackby(src, attacking_item, wearer)
return TRUE
return ..()

Expand All @@ -416,10 +416,16 @@
if(!active || !wearer)
return
to_chat(wearer, span_notice("[severity > 1 ? "Light" : "Strong"] electromagnetic pulse detected!"))
// [CELADON-ADD] - CELADON_MODSUITS - Добавляем замедление при слабом ЕМП
if(!wearer.has_movespeed_modifier(/datum/movespeed_modifier/shove))
to_chat(wearer, span_danger("The [src] stiffens and its servos weaken, slowing you down!"))
wearer.add_movespeed_modifier(/datum/movespeed_modifier/shove) // maybe define a slightly more severe/longer slowdown for this
addtimer(CALLBACK(wearer, TYPE_PROC_REF(/mob/living/carbon, clear_shove_slowdown)), SHOVE_SLOWDOWN_LENGTH * 4) // 12 секунд
// [/CELADON-ADD]
if(. & EMP_PROTECT_CONTENTS)
return
selected_module?.on_deactivation(display_message = TRUE)
wearer.apply_damage(10 / severity, BURN, spread_damage=TRUE)
wearer.apply_damage(20 / severity, BURN, spread_damage=TRUE) //[CELADON-EDIT] - CELADON_MODSUITS // wearer.apply_damage(10 / severity, BURN, spread_damage=TRUE)
to_chat(wearer, span_danger("You feel [src] heat up from the EMP, burning you slightly."))
if(wearer.stat < UNCONSCIOUS && prob(10))
wearer.force_scream()
Expand Down Expand Up @@ -448,6 +454,7 @@

/obj/item/mod/control/update_icon_state()
item_state = "[skin]-control[active ? "-sealed" : ""]"
icon_state = "[skin]-control[active ? "-sealed" : ""]" // [CELADON-ADD] - CELADON_MODSUITS - Icon_state fix
return ..()

/obj/item/mod/control/proc/set_wearer(mob/user)
Expand Down Expand Up @@ -640,12 +647,12 @@
alternate_worn_layer = used_skin[CONTROL_LAYER]
var/list/skin_updating = mod_parts + src
for(var/obj/item/part as anything in skin_updating)
// [CELADON-EDIT] - inteq_vendor - REASSIGNING ICONS DIRECTORY
// [CELADON-EDIT] - CELADON_MODSUITS - REASSIGNING ICONS DIRECTORY
//part.icon = used_skin[MOD_ICON_OVERRIDE] || 'icons/obj/clothing/modsuit/mod_clothing.dmi' // [CELADON-EDIT] - ORIGINAL
//part.mob_overlay_icon = used_skin[MOD_WORN_ICON_OVERRIDE] || 'icons/mob/clothing/modsuit/mod_clothing.dmi' // [CELADON-EDIT] - ORIGINAL
part.icon = used_skin[MOD_ICON_OVERRIDE] || 'mod_celadon/_storage_icons/icons/items/clothing/mod_suit/mod_clothing.dmi'
part.mob_overlay_icon = used_skin[MOD_WORN_ICON_OVERRIDE] || 'mod_celadon/_storage_icons/icons/items/clothing/mod_suit/overlay/mod_clothing.dmi'
// [CELADON-EDIT]
// [/CELADON-EDIT]

part.icon_state = "[skin]-[part.base_icon_state]"
for(var/obj/item/clothing/part as anything in mod_parts)
Expand Down
20 changes: 20 additions & 0 deletions code/modules/mod/mod_core.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,17 @@
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
/// MOD unit we are powering.
var/obj/item/mod/control/mod
// [CELADON-FIX] - CELADON_MODSUITS
var/blacklisted_cell_types = list(
/obj/item/stock_parts/cell/gun,
)
// [/CELADON-FIX]

// [CELADON-FIX] - CELADON_MODSUITS
/obj/item/mod/core/Initialize(mapload)
. = ..()
blacklisted_cell_types = typecacheof(blacklisted_cell_types)
// [/CELADON-FIX]

/obj/item/mod/core/Destroy()
if(mod)
Expand Down Expand Up @@ -188,6 +199,9 @@
to_chat(user,span_notice("You remove the cell"))
playsound(mod, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE)
var/obj/item/cell_to_move = cell
// [CELADON-FIX] - CELADON_MODSUITS - Теперь батарейки обновляют свое состояние
cell_to_move.update_appearance()
// [/CELADON-FIX]
cell_to_move.forceMove(drop_location())
user.put_in_hands(cell_to_move)
mod.update_charge_alert()
Expand All @@ -204,6 +218,12 @@
to_chat(user,span_warning("There's a cell already installed!"))
playsound(mod, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE)
return COMPONENT_NO_AFTERATTACK
// [CELADON-FIX] - CELADON_MODSITS - запрет оружейных батареек в модах
if(is_type_in_list(attacking_item, blacklisted_cell_types))
to_chat(user,span_warning("This cell is incompatible!"))
playsound(mod, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE)
return COMPONENT_NO_AFTERATTACK
// [/CELADON-FIX]
install_cell(attacking_item)
to_chat(user,span_notice("Cell installed"))
playsound(mod, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE)
Expand Down
Loading