From e24c2ac249018eb3739102b20dc7af4fafdbd8c0 Mon Sep 17 00:00:00 2001 From: GrayRachnid Date: Wed, 2 Oct 2019 14:56:32 -0400 Subject: [PATCH 1/4] Rebalances dogborg pounce/bite around the secborg's harmbaton. --- .../living/silicon/robot/dogborg_equipment.dm | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm index 5e10e71433..68979c57ae 100644 --- a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm +++ b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm @@ -29,11 +29,19 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! attack_verb = list("nibbled", "bit", "gnawed", "chomped", "nommed") var/status = 0 -/obj/item/dogborg/jaws/attack(atom/A, mob/living/silicon/robot/user) +/obj/item/dogborg/jaws/small/attack(atom/A, mob/living/silicon/robot/user) ..() + user.cell.use(500) // Less cell use for the smaller jaws. user.do_attack_animation(A, ATTACK_EFFECT_BITE) log_combat(user, A, "bit") +/obj/item/dogborg/jaws/big/attack(atom/A, mob/living/silicon/robot/user) + ..() + user.cell.use(1000) // Secborg can only harm with the baton, why does the K9 get a free module to do 12 damage with? + user.do_attack_animation(A, ATTACK_EFFECT_BITE) + log_combat(user, A, "bit") + + /obj/item/dogborg/jaws/small/attack_self(mob/user) var/mob/living/silicon/robot.R = user if(R.cell && R.cell.charge > 100) @@ -307,8 +315,8 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! /mob/living/silicon/robot var/leaping = 0 var/pounce_cooldown = 0 - var/pounce_cooldown_time = 50 //Nearly doubled, u happy? - var/pounce_spoolup = 3 + var/pounce_cooldown_time = 20 //Buffed to counter balance changes + var/pounce_spoolup = 2 var/leap_at var/disabler var/laser @@ -338,7 +346,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! //It's also extremely buggy visually, so it's balance+bugfix return - if(cell.charge <= 500) + if(cell.charge <= 1000) to_chat(src,"Insufficent reserves for jump actuators!") return @@ -348,7 +356,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! pixel_y = 10 update_icons() throw_at(A, MAX_K9_LEAP_DIST, 1, spin=0, diagonals_first = 1) - cell.use(500) //Doubled the energy consumption + cell.use(1000) //Same as stunbaton weather_immunities -= "lava" /mob/living/silicon/robot/throw_impact(atom/A) @@ -366,13 +374,13 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! blocked = 1 if(!blocked) L.visible_message("[src] pounces on [L]!", "[src] pounces on you!") - L.Knockdown(iscarbon(L) ? 450 : 45) // Temporary. If someone could rework how dogborg pounces work to accomodate for combat changes, that'd be nice. + L.Knockdown(iscarbon(L) ? 225 : 25) // Temporary. If someone could rework how dogborg pounces work to accomodate for combat changes, that'd be nice. playsound(src, 'sound/weapons/Egloves.ogg', 50, 1) sleep(2)//Runtime prevention (infinite bump() calls on hulks) step_towards(src,L) log_combat(src, L, "borg pounced") else - Knockdown(45, 1, 1) + Knockdown(25, 1, 1) pounce_cooldown = !pounce_cooldown spawn(pounce_cooldown_time) //3s by default @@ -380,7 +388,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! else if(A.density && !A.CanPass(src)) visible_message("[src] smashes into [A]!", "You smash into [A]!") playsound(src, 'sound/items/trayhit1.ogg', 50, 1) - Knockdown(45, 1, 1) + Knockdown(25, 1, 1) if(leaping) leaping = 0 From ad9ddcb6daf7b3089551d0ba836aa3e90dc41954 Mon Sep 17 00:00:00 2001 From: GrayRachnid Date: Wed, 2 Oct 2019 19:30:23 -0400 Subject: [PATCH 2/4] Reduces cell charge to 750, spoolup time to 1 and reduces self-stun if missed. --- .../living/silicon/robot/dogborg_equipment.dm | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm index 68979c57ae..d191a863af 100644 --- a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm +++ b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm @@ -4,6 +4,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! */ /obj/item/dogborg/jaws + var/cellcost name = "Dogborg jaws" desc = "The jaws of the debug errors oh god." icon = 'icons/mob/dogborg.dmi' @@ -19,28 +20,23 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! desc = "The jaws of the law. Very sharp." icon_state = "jaws" force = 12 + cellcost = 1000 // Secborg can only harm with the baton, why does the K9 get a free module to do 12 damage with? attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced") + /obj/item/dogborg/jaws/small name = "puppy jaws" desc = "Rubberized teeth designed to protect accidental harm. Sharp enough for specialized tasks however." icon_state = "smalljaws" force = 6 + cellcost = 500 // Less cell use for the smaller jaws. attack_verb = list("nibbled", "bit", "gnawed", "chomped", "nommed") var/status = 0 -/obj/item/dogborg/jaws/small/attack(atom/A, mob/living/silicon/robot/user) +/obj/item/dogborg/jaws/attack(atom/A, mob/living/silicon/robot/user) ..() - user.cell.use(500) // Less cell use for the smaller jaws. + user.cell.use(cellcost) user.do_attack_animation(A, ATTACK_EFFECT_BITE) - log_combat(user, A, "bit") - -/obj/item/dogborg/jaws/big/attack(atom/A, mob/living/silicon/robot/user) - ..() - user.cell.use(1000) // Secborg can only harm with the baton, why does the K9 get a free module to do 12 damage with? - user.do_attack_animation(A, ATTACK_EFFECT_BITE) - log_combat(user, A, "bit") - /obj/item/dogborg/jaws/small/attack_self(mob/user) var/mob/living/silicon/robot.R = user @@ -316,7 +312,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! var/leaping = 0 var/pounce_cooldown = 0 var/pounce_cooldown_time = 20 //Buffed to counter balance changes - var/pounce_spoolup = 2 + var/pounce_spoolup = 1 var/leap_at var/disabler var/laser @@ -346,7 +342,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! //It's also extremely buggy visually, so it's balance+bugfix return - if(cell.charge <= 1000) + if(cell.charge <= 750) to_chat(src,"Insufficent reserves for jump actuators!") return @@ -356,7 +352,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! pixel_y = 10 update_icons() throw_at(A, MAX_K9_LEAP_DIST, 1, spin=0, diagonals_first = 1) - cell.use(1000) //Same as stunbaton + cell.use(750) //Same as stunbaton weather_immunities -= "lava" /mob/living/silicon/robot/throw_impact(atom/A) @@ -374,13 +370,13 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! blocked = 1 if(!blocked) L.visible_message("[src] pounces on [L]!", "[src] pounces on you!") - L.Knockdown(iscarbon(L) ? 225 : 25) // Temporary. If someone could rework how dogborg pounces work to accomodate for combat changes, that'd be nice. + L.Knockdown(iscarbon(L) ? 225 : 45) // Temporary. If someone could rework how dogborg pounces work to accomodate for combat changes, that'd be nice. playsound(src, 'sound/weapons/Egloves.ogg', 50, 1) sleep(2)//Runtime prevention (infinite bump() calls on hulks) step_towards(src,L) log_combat(src, L, "borg pounced") else - Knockdown(25, 1, 1) + Knockdown(15, 1, 1) pounce_cooldown = !pounce_cooldown spawn(pounce_cooldown_time) //3s by default @@ -388,7 +384,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! else if(A.density && !A.CanPass(src)) visible_message("[src] smashes into [A]!", "You smash into [A]!") playsound(src, 'sound/items/trayhit1.ogg', 50, 1) - Knockdown(25, 1, 1) + Knockdown(15, 1, 1) if(leaping) leaping = 0 From 211e7a2c60cb0b51b9ed53737f52790cebe8931a Mon Sep 17 00:00:00 2001 From: GrayRachnid Date: Thu, 3 Oct 2019 23:05:38 -0400 Subject: [PATCH 3/4] removes charge from small jaws. Reduces big jaws charge to 250. Adds a thingy so they don't run out. removes misleading comments. --- .../mob/living/silicon/robot/dogborg_equipment.dm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm index d191a863af..2445427ea6 100644 --- a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm +++ b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm @@ -4,7 +4,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! */ /obj/item/dogborg/jaws - var/cellcost + var/cellcost = 0 name = "Dogborg jaws" desc = "The jaws of the debug errors oh god." icon = 'icons/mob/dogborg.dmi' @@ -20,7 +20,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! desc = "The jaws of the law. Very sharp." icon_state = "jaws" force = 12 - cellcost = 1000 // Secborg can only harm with the baton, why does the K9 get a free module to do 12 damage with? + cellcost = 250 attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced") @@ -29,14 +29,17 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! desc = "Rubberized teeth designed to protect accidental harm. Sharp enough for specialized tasks however." icon_state = "smalljaws" force = 6 - cellcost = 500 // Less cell use for the smaller jaws. attack_verb = list("nibbled", "bit", "gnawed", "chomped", "nommed") var/status = 0 /obj/item/dogborg/jaws/attack(atom/A, mob/living/silicon/robot/user) ..() - user.cell.use(cellcost) - user.do_attack_animation(A, ATTACK_EFFECT_BITE) + if(user.cell.charge <= cellcost) + to_chat(src,"Insufficent energy for jaws!") + return + else + user.cell.use(cellcost) + user.do_attack_animation(A, ATTACK_EFFECT_BITE) /obj/item/dogborg/jaws/small/attack_self(mob/user) var/mob/living/silicon/robot.R = user @@ -352,7 +355,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! pixel_y = 10 update_icons() throw_at(A, MAX_K9_LEAP_DIST, 1, spin=0, diagonals_first = 1) - cell.use(750) //Same as stunbaton + cell.use(750) //Less than a stunbaton since stunbatons hit everytime. weather_immunities -= "lava" /mob/living/silicon/robot/throw_impact(atom/A) From 7d579e6a0f582deeb221c9bd365fef1b080da5c7 Mon Sep 17 00:00:00 2001 From: GrayRachnid Date: Thu, 3 Oct 2019 23:33:38 -0400 Subject: [PATCH 4/4] Removed cell charge on bite. --- .../mob/living/silicon/robot/dogborg_equipment.dm | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm index 2445427ea6..de3f43f8ee 100644 --- a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm +++ b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm @@ -4,7 +4,6 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! */ /obj/item/dogborg/jaws - var/cellcost = 0 name = "Dogborg jaws" desc = "The jaws of the debug errors oh god." icon = 'icons/mob/dogborg.dmi' @@ -19,8 +18,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! name = "combat jaws" desc = "The jaws of the law. Very sharp." icon_state = "jaws" - force = 12 - cellcost = 250 + force = 10 //Lowered to match secborg. No reason it should be more than a secborg's baton. attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced") @@ -34,12 +32,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! /obj/item/dogborg/jaws/attack(atom/A, mob/living/silicon/robot/user) ..() - if(user.cell.charge <= cellcost) - to_chat(src,"Insufficent energy for jaws!") - return - else - user.cell.use(cellcost) - user.do_attack_animation(A, ATTACK_EFFECT_BITE) + user.do_attack_animation(A, ATTACK_EFFECT_BITE) /obj/item/dogborg/jaws/small/attack_self(mob/user) var/mob/living/silicon/robot.R = user