Skip to content

Commit

Permalink
Feat: Clockwork mender (balance and fixes) (#1100)
Browse files Browse the repository at this point in the history
* Feat: Clockwork Cult (#658 #946 #952)

* Clock-rework 1

* Clock-rework 2

* Clock-Rework 3

* Clock-Rework 4

* Clock-Rework 4.1

* Clock-Rework 5

* Clock-Rework 6

* Clock-Rework 7

* Clock-Rework 8

* Vallat suggests

Co-authored-by: Vallat <vox.crit2013@gmail.com>

* Clock-Rework 9

Большое обнова предметов. Улучшение и плюшки.

* spell-wall-fix

* some dmi conflicts and mouse clockwork

* Bruh

* FUCK

* thing

* items,spellrefactor,de_shard and summonratvar

* spots fix

* REEE

* cogscarab and handies

* Gateway for ratvar e.t.c. the ritual

* ratvar can now be summoned by players

* e

* EEE

* lavaland ratvar. wat, it's not dead wtf

* robotssssssssss

* Revert "lavaland ratvar. wat, it's not dead wtf"

This reverts commit 0ce7d77.

* Lavaland

* Hand spells yeaaaa

* tgui fix and cloth fix

* loop-anim-thinges

* image-conflict

* robot change

* Roboto Refactor Icons and eyes and ratvar_act

* fu

* ratvar_act and stuff

* Vallat suggests

Co-authored-by: Vallat <vox.crit2013@gmail.com>

* suggests

* more suggests

* FINAL TOUCHES

* eee

* SHIT

* return FALSE

* balance

* balance and fixes

* more fixes

* bugs

* css

* fixs and QoLs

* fix and some punishes to unclockers

* breaking upload totally

* Vallat suggests

Co-authored-by: Vallat <vox.crit2013@gmail.com>

* fixes

* smol fix

* moar fix

* fix

* FIX

* FU-

Co-authored-by: Vallat <vox.crit2013@gmail.com>

* clockwork fix

* Feat: add Alien Infestation back to events (#1020)

* Feat: Clockwork balancing (#1048)

* Tweak: НерфСтанов (testmerge) (#426)

* Этот патч ставит однокнопочные станы туда, где им самое место.

т.е у параши.
Большинству источников станов в игре урезано время стана до минимума и добавлен стамина урон. Теперь захват живьем можно совершить только либо через граб, либо через дисейблер, либо через продолжительный массаж станами(7 для тазеров, 10 для станбатонов)
Это изменение нивелирует станлоки как явление, за исключением стан оружия ближнего боя, которое всё еще может станлочить несмотря на то что стана не хватит на наручники)
Сильный нерф станпрода. Его стандартного зарядка не хватит для стамина крита. Только с использованием граба(или гарроты) можно захватить цель. Также подверглись изменению наручники(надеваются дольше на 50%) и часть наркотиков(дают больше регена стамины).
Кроме того усилен бакшот и ослаблены резиновые пули и дробь для дробовика.
Уменьшено время случайных станов в ближнем бою для безоружного и не очень боя.
Уменьшен стан с большинства источников подскальзывания.

* Допиливание новой боевки.

-Глейры теперь роняют на достаточное время для связывания, но любые простые общедоступные химикаты уменьшающие стан имеют шанс сократить время стана до безопасных значений(никотин, эпинефрин и прочие)
-Тазеры теперь наносят 25 стамина урона(4 попадания до стаминакрита)
-Дисйблеры наносят 33 стамина урона(те же 4 попадания до стамина крита)
=разные значения урона(при одинаковых количествах попаданий до стаминакрита) будут иначе воздействовать на цели под наркотой(регенерирующей выносливость)
-Все апгрейды грабов ускорены на 10%
-Станы от дефибов порезаны
-Станбатоны наносят на 50% больше стамина урона (стамина крит за 7 ударов
-Мут от глейра шэдоулинга возвращен к старым значениям.
-Потребление энергии дисейблером борга уменьшено с 250 до 175
-Изменены значения восстановления стамины у некоторых наркотиков и химикатов

* Update vampire_powers.dm

* Update bullets.dm

* Update energy.dm

* Update batons.dm

* Update stunbaton.dm

* Update secbot.dm

* Update secbot.dm

* Переработка глейра тенелинга

* Переработка абилок вампира

* Починка переработки глейра тенелинга

pepebrain

* Твик граба

* Твик мимовского оружия

* Твик батона

* Твик режима казни доминатора

* Твик адренала

* Твик CNS Rebooter

* Update stunbaton.dm

* Update augments_internal.dm

* Update energy.dm

Co-authored-by: Jordan <Alexansans.mail.ru>

* "Предрелизный" твик новой боёвки (#431)

* Починка рофлокода и допиливание баланса абилок

Shadowstep - На этот раз цена снижена не только в названии. 30 ->20
Jaunt - Цена повышена для баланса нового эффекта гипноза и удешевления других абилок 30 -> 50
Summon Bats - Снижена реальная цена а не только название 75 -> 50
Deseased touch - Снижена реальная цена а не только название 100 -> 50

* Update stunbaton.dm

Твик батонов
Станбатон СБ - 2 тика стана и 25 стамины
Станпрод - 1тик стана(то есть просто разоружение) и 33 стамины.

* Update code/modules/mob/living/carbon/human/human_defense.dm

Логгирование попытки

Co-authored-by: Vallat <vox.crit2013@gmail.com>

* Update code/game/gamemodes/vampire/vampire_powers.dm

фикс метровой очереди за Стамина уроном kekwhat

Co-authored-by: Vallat <vox.crit2013@gmail.com>

* Починка дефицитного стамина урона по талонам от Vallat. stamina damage for days

Co-authored-by: Vallat <vox.crit2013@gmail.com>
Co-authored-by: Jordan <Alexansans.mail.ru>

* Замена Sleep() на полноценный статус эффект (#432)

Co-authored-by: Jordan <Alexansans.mail.ru>

* БИ не пройдет (#454)

Взвинчиваем цены на БИ потому что я не забалансил их вовремя но не хочу чтобы они руинили тесты. Грязный трюк? Грязный.

Co-authored-by: Jordan <Alexansans.mail.ru>

* ClockWork Balancing and refactors

Co-authored-by: Jordanstolethepreciousslam <78968085+Jordanstolethepreciousslam@users.noreply.github.com>
Co-authored-by: Vallat <vox.crit2013@gmail.com>

* Feat: better decompression

Fix permastun

* Feat: Balance and patches Clockwork Cult

Co-Authored-By: Den109G <87372121+Den109G@users.noreply.github.com>

* Fixes transfering clock actions and altar

Co-Authored-By: Den109G <87372121+Den109G@users.noreply.github.com>

* Removes some nasty code

* force twohanded clock weapons

* yes

* Update code/game/gamemodes/clockwork/clockwork_items.dm

Co-authored-by: Vallat <vox.crit2013@gmail.com>
Co-authored-by: Bizzonium <azizonkg@gmail.com>
Co-authored-by: AddRaiser <49074954+AddRaiser@users.noreply.github.com>
Co-authored-by: Jordanstolethepreciousslam <78968085+Jordanstolethepreciousslam@users.noreply.github.com>
Co-authored-by: Den109G <87372121+Den109G@users.noreply.github.com>
  • Loading branch information
6 people committed Oct 1, 2022
1 parent ad6dd16 commit ececa9c
Show file tree
Hide file tree
Showing 25 changed files with 158 additions and 91 deletions.
40 changes: 20 additions & 20 deletions code/__DEFINES/clockwork.dm
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ GLOBAL_LIST_INIT(clockslab_spells, list(
new /datum/spell_enchant("Stun", STUN_SPELL, 125, 8),
new /datum/spell_enchant("Force Passage", KNOCK_SPELL, 100),
new /datum/spell_enchant("Terraform", REFORM_SPELL, 40),
new /datum/spell_enchant("Teleportation", TELEPORT_SPELL, 25), // has do_after 5 seconds
new /datum/spell_enchant("Teleportation", TELEPORT_SPELL, 25, 5), // has do_after 1.5 seconds
new /datum/spell_enchant("Seal Wounds", HEAL_SPELL, 100, 5),
new /datum/spell_enchant("Hidings Clock", HIDE_SPELL, 100, 5)
new /datum/spell_enchant("Hidings Clock", HIDE_SPELL, 100)
))
GLOBAL_LIST_INIT(spear_spells, list(
new /datum/spell_enchant("Confusion", CONFUSE_SPELL, 80),
Expand All @@ -59,38 +59,38 @@ GLOBAL_LIST_INIT(hammer_spells, list(
new /datum/spell_enchant("Knock off", KNOCKOFF_SPELL, 100)
))
GLOBAL_LIST_INIT(sword_spells, list(
new /datum/spell_enchant("Bloodshed", BLOODSHED_SPELL, 100, 6),
new /datum/spell_enchant("Swordsman", FASTSWORD_SPELL, 100, 5, spell_action = TRUE)
new /datum/spell_enchant("Bloodshed", BLOODSHED_SPELL, 100, 4),
new /datum/spell_enchant("Swordsman", FASTSWORD_SPELL, 100, 6, spell_action = TRUE)
))
GLOBAL_LIST_INIT(shield_spells, list(
new /datum/spell_enchant("Push off", PUSHOFF_SPELL, 100, 5)
new /datum/spell_enchant("Push off", PUSHOFF_SPELL, 100)
))
GLOBAL_LIST_INIT(robe_spells, list(
new /datum/spell_enchant("Camoflauge", INVIS_SPELL, 100, 5, spell_action = TRUE),
new /datum/spell_enchant("Haste", SPEED_SPELL, 100, 10, spell_action = TRUE)
new /datum/spell_enchant("Haste", SPEED_SPELL, 100, 8, spell_action = TRUE)
))
GLOBAL_LIST_INIT(armour_spells, list(
new /datum/spell_enchant("Reflection", REFLECT_SPELL, 100, 6),
new /datum/spell_enchant("Reflection", REFLECT_SPELL, 100, 8),
new /datum/spell_enchant("Flash", FLASH_SPELL, 25, spell_action = TRUE),
new /datum/spell_enchant("Absorb", ABSORB_SPELL, 100, 10),
new /datum/spell_enchant("Harden plates", ARMOR_SPELL, 100, 12, spell_action = TRUE)
new /datum/spell_enchant("Absorb", ABSORB_SPELL, 100, 8),
new /datum/spell_enchant("Harden plates", ARMOR_SPELL, 100, 10, spell_action = TRUE)
))
GLOBAL_LIST_INIT(gloves_spell, list(
new /datum/spell_enchant("Hands of North Star", FASTPUNCH_SPELL, 75, spell_action = TRUE),
new /datum/spell_enchant("Stunning", STUNHAND_SPELL, 75),
new /datum/spell_enchant("Red Flame", FIRE_SPELL, 50, spell_action = TRUE)
new /datum/spell_enchant("Hands of North Star", FASTPUNCH_SPELL, 75, 5, spell_action = TRUE),
new /datum/spell_enchant("Stunning", STUNHAND_SPELL, 75, 8),
new /datum/spell_enchant("Red Flame", FIRE_SPELL, 50, 5, spell_action = TRUE)
))
GLOBAL_LIST_INIT(shard_spells, list(
new /datum/spell_enchant("Electromagnetic Pulse", EMP_SPELL, 500, 10),
new /datum/spell_enchant("Stop the time", TIME_SPELL, 500, 10),
new /datum/spell_enchant("Reconstruction", RECONSTRUCT_SPELL, 500, 10)
new /datum/spell_enchant("Electromagnetic Pulse", EMP_SPELL, 500, 9),
new /datum/spell_enchant("Stop the time", TIME_SPELL, 500, 9),
new /datum/spell_enchant("Reconstruction", RECONSTRUCT_SPELL, 500, 9)
))
/// Power per crew for summoning. For example if 45 players on station, the Ratvar will demand 45*number.
#define CLOCK_POWER_PER_CREW 400
#define CLOCK_POWER_PER_CREW 300
#define CLOCK_POWER_GAIN_MAXIMUM 1000
/// Power gains permanent
#define CLOCK_POWER_CONVERT 150
#define CLOCK_POWER_SACRIFICE 300
#define CLOCK_POWER_CONVERT 200
#define CLOCK_POWER_SACRIFICE 500
/// Power gains as time progresses. Goes in process() so it makes x power per second.
#define CLOCK_POWER_BEACON 2
#define CLOCK_POWER_GENERATOR 10
Expand All @@ -105,11 +105,11 @@ GLOBAL_LIST_INIT(shard_spells, list(
/// Percent for power to reveal (Lowpop)
#define CLOCK_POWER_REVEAL_LOW 0.7
/// Percent clockers to reveal (Lowpop)
#define CLOCK_CREW_REVEAL_LOW 0.25
#define CLOCK_CREW_REVEAL_LOW 0.35
/// Percent for power to reveal (Highpop)
#define CLOCK_POWER_REVEAL_HIGH 0.5
/// Percent clockers to reveal (Highpop)
#define CLOCK_CREW_REVEAL_HIGH 0.15
#define CLOCK_CREW_REVEAL_HIGH 0.25

// Text
#define CLOCK_GREETING "<span class='clocklarge'>You catch a glimpse of the Realm of Ratvar, the Clockwork Justiciar. \
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,7 @@
#define isAI(A) (istype((A), /mob/living/silicon/ai))
#define isrobot(A) (istype((A), /mob/living/silicon/robot))
#define ispAI(A) (istype((A), /mob/living/silicon/pai))
#define isdrone(A) (istype((A), /mob/living/silicon/robot/drone))
#define iscogscarab(A) (istype((A), /mob/living/silicon/robot/cogscarab))

// For the tcomms monitor
Expand Down
2 changes: 1 addition & 1 deletion code/__HELPERS/unsorted.dm
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
var/select = null
var/list/borgs = list()
for(var/mob/living/silicon/robot/A in GLOB.player_list)
if(A.stat == DEAD || A.connected_ai || A.scrambledcodes || istype(A,/mob/living/silicon/robot/drone) || iscogscarab(A) || isclocker(A))
if(A.stat == DEAD || A.connected_ai || A.scrambledcodes || isdrone(A) || iscogscarab(A) || isclocker(A))
continue
var/name = "[A.real_name] ([A.modtype] [A.braintype])"
borgs[name] = A
Expand Down
2 changes: 1 addition & 1 deletion code/_onclick/cyborg.dm
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@

//Middle click points
/mob/living/silicon/robot/MiddleClickOn(atom/A)
if(istype(src, /mob/living/silicon/robot/drone))
if(isdrone(src))
// Drones cannot point.
return
pointed(A)
Expand Down
2 changes: 1 addition & 1 deletion code/controllers/subsystem/ticker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,7 @@ SUBSYSTEM_DEF(ticker)

for(var/mob/living/silicon/robot/robo in GLOB.mob_list)

if(istype(robo,/mob/living/silicon/robot/drone))
if(isdrone(robo))
dronecount++
continue

Expand Down
1 change: 1 addition & 0 deletions code/datums/action.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#define AB_CHECK_STUNNED 2
#define AB_CHECK_LYING 4
#define AB_CHECK_CONSCIOUS 8
#define AB_TRANSFER_MIND 16


/datum/action
Expand Down
11 changes: 6 additions & 5 deletions code/datums/mind.dm
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@
var/datum/antagonist/A = a
A.on_body_transfer(old_current, current)
transfer_antag_huds(hud_to_transfer) //inherit the antag HUD
transfer_actions(new_character)
transfer_actions(new_character, old_current)
if(martial_art)
if(martial_art.temporary)
martial_art.remove(current)
Expand Down Expand Up @@ -1922,10 +1922,11 @@
qdel(S)
spell_list -= S

/datum/mind/proc/transfer_actions(mob/living/new_character)
if(current && current.actions)
for(var/datum/action/A in current.actions)
A.Grant(new_character)
/datum/mind/proc/transfer_actions(mob/living/new_character, mob/living/old_current)
if(old_current && old_current.actions)
for(var/datum/action/A in old_current.actions)
if(A.check_flags & AB_TRANSFER_MIND)
A.Grant(new_character)
transfer_mindbound_actions(new_character)

/datum/mind/proc/transfer_mindbound_actions(mob/living/new_character)
Expand Down
6 changes: 3 additions & 3 deletions code/game/gamemodes/clockwork/clock_actions.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/datum/action/innate/clockwork
icon_icon = 'icons/mob/actions/actions_clockwork.dmi'
background_icon_state = "bg_clockwork"
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_CONSCIOUS
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_CONSCIOUS|AB_TRANSFER_MIND
// buttontooltipstyle = "cult"

/datum/action/innate/clockwork/IsAvailable()
Expand All @@ -14,7 +14,7 @@
name = "Hierophant's Network"
desc = "Whispered words that all clockers can hear.<br><b>Warning:</b>Nearby non-clockers can still hear you."
button_icon_state = "hierophant"
check_flags = AB_CHECK_CONSCIOUS
check_flags = AB_CHECK_CONSCIOUS|AB_TRANSFER_MIND

/datum/action/innate/clockwork/comm/Activate()
var/input = stripped_input(usr, "Please choose a message to tell to the other workmates.", "Voice of Clockwork", "")
Expand Down Expand Up @@ -55,7 +55,7 @@
name = "Study the Veil"
button_icon_state = "tome"
desc = "Check your cult's current progress and objective."
check_flags = AB_CHECK_CONSCIOUS
check_flags = AB_CHECK_CONSCIOUS|AB_TRANSFER_MIND

/datum/action/innate/clockwork/check_progress/IsAvailable()
if(isclocker(owner) || isobserver(owner))
Expand Down

0 comments on commit ececa9c

Please sign in to comment.