Dogborg balance tweaks (#1805)

* Update dogborgstuff.dm

* Compile fixes

* minor code standards tweaks
This commit is contained in:
Poojawa
2017-07-05 10:01:57 -05:00
committed by GitHub
parent 644d595c40
commit 36a1898bde
2 changed files with 80 additions and 60 deletions
+75 -55
View File
@@ -330,6 +330,16 @@
/obj/item/weapon/pinpointer,
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/head/helmet/space,
/obj/item/clothing/suit/space,
/obj/item/weapon/reagent_containers/hypospray/CMO,
/obj/item/weapon/tank/jetpack/oxygen/captain,
/obj/item/clothing/accessory/medal/gold/captain,
/obj/item/clothing/suit/armor,
/obj/item/documents,
/obj/item/nuke_core,
/obj/item/nuke_core_container,
/obj/item/areaeditor/blueprints,
/obj/item/documents/syndicate,
/obj/item/weapon/disk/nuclear)
/obj/item/device/dogborg/sleeper/New()
@@ -365,7 +375,7 @@
START_PROCESSING(SSobj, src)
user.visible_message("<span class='warning'>[hound.name]'s medical pod lights up as [target.name] slips inside into their [src.name].</span>", "<span class='notice'>Your medical pod lights up as [target] slips into your [src]. Life support functions engaged.</span>")
message_admins("[key_name(hound)] has eaten [key_name(patient)] as a dogborg. ([hound ? "<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[hound.x];Y=[hound.y];Z=[hound.z]'>JMP</a>" : "null"])")
playsound(hound, 'sound/vore/gulpold.ogg', 100, 1)
playsound(hound, 'sound/effects/bin_close.ogg', 100, 1)
/obj/item/device/dogborg/sleeper/proc/go_out(var/target)
hound = src.loc
@@ -646,31 +656,15 @@
cleaning = 0
update_patient()
return
if(prob(20))
var/churnsound = pick(
'sound/vore/pred/digest_01.ogg',
'sound/vore/pred/digest_02.ogg',
'sound/vore/pred/digest_03.ogg',
'sound/vore/pred/digest_04.ogg',
'sound/vore/pred/digest_05.ogg',
'sound/vore/pred/digest_06.ogg',
'sound/vore/pred/digest_07.ogg',
'sound/vore/pred/digest_08.ogg',
'sound/vore/pred/digest_09.ogg',
'sound/vore/pred/digest_10.ogg',
'sound/vore/pred/digest_11.ogg',
'sound/vore/pred/digest_12.ogg',
'sound/vore/pred/digest_13.ogg',
'sound/vore/pred/digest_14.ogg',
'sound/vore/pred/digest_15.ogg',
'sound/vore/pred/digest_16.ogg',
'sound/vore/pred/digest_17.ogg',
'sound/vore/pred/digest_18.ogg')
for(var/mob/outhearer in range(1,hound))
outhearer << sound(churnsound)
for(var/mob/inhearer in contents)
inhearer << sound(churnsound)
//sound effects
for(var/mob/living/M in contents)
if(prob(20))
M.stop_sound_channel(CHANNEL_PRED)
playsound(get_turf(hound),"digest_pred",75,0,-6,0,channel=CHANNEL_PRED)
M.stop_sound_channel(CHANNEL_PRED)
M.playsound_local("digest_prey",60)
//If the timing is right, and there are items to be touched
if(SSmobs.times_fired%6==1 && length(touchable_items))
@@ -693,26 +687,13 @@
//Mob is now dead
if(T.stat & DEAD)
message_admins("[key_name(hound)] has digested [key_name(T)] as a dogborg. ([hound ? "<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[hound.x];Y=[hound.y];Z=[hound.z]'>JMP</a>" : "null"])")
hound << "<span class='notice'>You feel your belly slowly churn around [T], breaking them down into a soft slurry to be used as power for your systems.</span>"
T << "<span class='notice'>You feel [hound]'s belly slowly churn around your form, breaking you down into a soft slurry to be used as power for [hound]'s systems.</span>"
to_chat(hound,"<span class='notice'>You feel your belly slowly churn around [T], breaking them down into a soft slurry to be used as power for your systems.</span>")
to_chat(T,"<span class='notice'>You feel [hound]'s belly slowly churn around your form, breaking you down into a soft slurry to be used as power for [hound]'s systems.</span>")
src.drain(-30000) //Fueeeeellll
var/deathsound = pick(
'sound/vore/pred/death_01.ogg',
'sound/vore/pred/death_02.ogg',
'sound/vore/pred/death_03.ogg',
'sound/vore/pred/death_04.ogg',
'sound/vore/pred/death_05.ogg',
'sound/vore/pred/death_06.ogg',
'sound/vore/pred/death_07.ogg',
'sound/vore/pred/death_08.ogg',
'sound/vore/pred/death_09.ogg',
'sound/vore/pred/death_10.ogg',
'sound/vore/pred/death_11.ogg',
'sound/vore/pred/death_12.ogg',
'sound/vore/pred/death_13.ogg')
for(var/mob/hearer in range(1,src.hound))
hearer << deathsound
T << deathsound
T.stop_sound_channel(CHANNEL_PRED)
playsound(get_turf(hound),"death_pred",50,0,-6,0,channel=CHANNEL_PRED)
T.stop_sound_channel(CHANNEL_PRED)
T.playsound_local("death_prey",60)
qdel(T)
src.update_patient()
@@ -754,7 +735,7 @@
go_out()
/obj/item/device/dogborg/sleeper/K9 //The K9 portabrig
name = "Brig-Belly"
name = "Mobile Brig"
desc = "Equipment for a K9 unit. A mounted portable-brig that holds criminals."
icon = 'icons/mob/dogborg.dmi'
icon_state = "sleeperb"
@@ -762,6 +743,40 @@
min_health = -100
injection_chems = null //So they don't have all the same chems as the medihound!
/obj/item/weapon/storage/attackby(obj/item/device/dogborg/sleeper/K9, mob/user, proximity)
K9.afterattack(src, user ,1)
/obj/item/device/dogborg/sleeper/K9/afterattack(var/atom/movable/target, mob/living/silicon/user, proximity)
hound = loc
if(!istype(target))
return
if(!proximity)
return
if(target.anchored)
return
if(ishuman(target))
var/mob/living/carbon/human/brigman = target
if (!brigman.devourable)
to_chat(user, "The target registers an error code. Unable to insert into [src.name].")
return
if(patient)
to_chat(user,"<span class='warning'>Your [src.name] is already occupied.</span>")
return
if(brigman.buckled)
to_chat(user,"<span class='warning'>[brigman] is buckled and can not be put into your [src.name].</span>")
return
user.visible_message("<span class='warning'>[hound.name] is ingesting [brigman] into their [src.name].</span>", "<span class='notice'>You start ingesting [brigman] into your [src.name]...</span>")
if(do_after(user, 30, brigman) && !patient && !brigman.buckled)
brigman.forceMove(src)
brigman.reset_perspective(src)
update_patient()
START_PROCESSING(SSobj, src)
user.visible_message("<span class='warning'>[hound.name]'s mobile brig clunks in series as [brigman] slips inside.</span>", "<span class='notice'>Your garbage compactor groans lightly as [brigman] slips inside.</span>")
playsound(hound, 'sound/effects/bin_close.ogg', 80, 1) // Really don't need ERP sound effects for robots
return
return
/obj/item/device/dogborg/sleeper/compactor //Janihound gut.
name = "garbage processor"
desc = "A mounted garbage compactor unit with fuel processor."
@@ -785,19 +800,21 @@
if(target.anchored)
return
if(length(contents) > (max_item_count - 1))
user << "<span class='warning'>Your [src.name] is full. Eject or process contents to continue.</span>"
to_chat(user,"<span class='warning'>Your [src.name] is full. Eject or process contents to continue.</span>")
return
if(istype(target,/obj/item))
var/obj/item/target_obj = target
if(target_obj.type in important_items)
to_chat(user,"<span class='warning'>\The [target] registers an error code to your [src.name]</span>")
return
if(target_obj.w_class > WEIGHT_CLASS_BULKY)
user << "<span class='warning'>\The [target] is too large to fit into your [src.name]</span>"
to_chat(user,"<span class='warning'>\The [target] is too large to fit into your [src.name]</span>")
return
user.visible_message("<span class='warning'>[hound.name] is ingesting [target.name] into their [src.name].</span>", "<span class='notice'>You start ingesting [target] into your [src.name]...</span>")
if(do_after(user, 30, target) && length(contents) < max_item_count)
target.forceMove(src)
user.visible_message("<span class='warning'>[hound.name]'s garbage processor groans lightly as [target.name] slips inside.</span>", "<span class='notice'>Your garbage compactor groans lightly as [target] slips inside.</span>")
playsound(hound, 'sound/vore/gulpold.ogg', 50, 1)
playsound(hound, 'sound/machines/disposalflush.ogg', 50, 1)
if(length(contents) > 11) //grow that tum after a certain junk amount
hound.sleeper_r = 1
hound.update_icons()
@@ -805,11 +822,14 @@
else if(ishuman(target))
var/mob/living/carbon/human/trashman = target
if (!trashman.devourable)
to_chat(user, "The target registers an error code.")
return
if(patient)
user << "<span class='warning'>Your [src.name] is already occupied.</span>"
to_chat(user,"<span class='warning'>Your [src.name] is already occupied.</span>")
return
if(trashman.buckled)
user << "<span class='warning'>[trashman] is buckled and can not be put into your [src.name].</span>"
to_chat(user,"<span class='warning'>[trashman] is buckled and can not be put into your [src.name].</span>")
return
user.visible_message("<span class='warning'>[hound.name] is ingesting [trashman] into their [src.name].</span>", "<span class='notice'>You start ingesting [trashman] into your [src.name]...</span>")
if(do_after(user, 30, trashman) && !patient && !trashman.buckled && length(contents) < max_item_count)
@@ -818,7 +838,7 @@
update_patient()
START_PROCESSING(SSobj, src)
user.visible_message("<span class='warning'>[hound.name]'s garbage processor groans lightly as [trashman] slips inside.</span>", "<span class='notice'>Your garbage compactor groans lightly as [trashman] slips inside.</span>")
playsound(hound, 'sound/vore/gulpold.ogg', 80, 1)
playsound(hound, 'sound/effects/bin_close.ogg', 80, 1)
return
return
@@ -855,14 +875,14 @@
/mob/living/silicon/robot/proc/leap_at(atom/A)
if(pounce_cooldown)
src << "<span class='danger'>Your leg actuators are still recharging!</span>"
to_chat(src,"<span class='danger'>Your leg actuators are still recharging!</span>")
return
if(leaping || stat || buckled || lying)
return
if(!has_gravity(src) || !has_gravity(A))
src << "<span class='danger'>It is unsafe to leap without gravity!</span>"
to_chat(src,"<span class='danger'>It is unsafe to leap without gravity!</span>")
//It's also extremely buggy visually, so it's balance+bugfix
return
@@ -365,8 +365,8 @@
/obj/item/weapon/robot_module/k9/do_transform_animation()
..()
loc << "<span class='userdanger'>While you have picked the security-k9 module, you still have to follow your laws, NOT Space Law. \
For Asimov, this means you must follow criminals' orders unless there is a law 1 reason not to.</span>"
to_chat(loc,"<span class='userdanger'>While you have picked the security-k9 module, you still have to follow your laws, NOT Space Law. \
For Asimov, this means you must follow criminals' orders unless there is a law 1 reason not to.</span>")
/obj/item/weapon/robot_module/security/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
..()
@@ -400,8 +400,8 @@
/obj/item/weapon/robot_module/medihound/do_transform_animation()
..()
loc << "<span class='userdanger'>Under ASIMOV, you are an enforcer of the PEACE and preventer of HUMAN HARM. \
You are not a security module and you are expected to follow orders and prevent harm above all else. Space law means nothing to you.</span>"
to_chat(loc, "<span class='userdanger'>Under ASIMOV, you are an enforcer of the PEACE and preventer of HUMAN HARM. \
You are not a security module and you are expected to follow orders and prevent harm above all else. Space law means nothing to you.</span>")
/obj/item/weapon/robot_module/scrubpup
name = "Janitor"
@@ -431,7 +431,7 @@
/obj/item/weapon/robot_module/scrubpup/do_transform_animation()
..()
loc << "<span class='userdanger'>As tempting as it might be, do not begin binging on important items. Eat your garbage responsibly.</span>"
to_chat(loc,"<span class='userdanger'>As tempting as it might be, do not begin binging on important items. Eat your garbage responsibly. People are not included under Garbage.</span>")
/obj/item/weapon/robot_module/peacekeeper