From cee26ffa2ec9464e05b5c080cba8cb2ee0d4ccdf Mon Sep 17 00:00:00 2001 From: Verkister Date: Sun, 1 Dec 2019 12:51:18 +0200 Subject: [PATCH] Some more simplemob QoL and fixes. -Fixes mob radio headset. Now actually hearable and able to be properly put into the mob. -Makes a bunch of voremobs start with darksight enabled. -Makes at least the mountable mobs remove the redundant movement cooldown on player control presence. -Makes some formerly mountable mobs mountable again. (deathclaw, dragon, hippo, horse, panther, rat) -Snips some redundant the's out of the petting resposes. (No more player pets the the mob) --- .../objects/items/devices/radio/headset_vr.dm | 7 ++++--- .../simple_mob/subtypes/vore/corrupt_hounds.dm | 8 +++++--- .../simple_mob/subtypes/vore/deathclaw.dm | 12 ++++++------ .../living/simple_mob/subtypes/vore/dragon.dm | 12 ++++++------ .../living/simple_mob/subtypes/vore/hippo.dm | 10 ++++++---- .../living/simple_mob/subtypes/vore/horse.dm | 11 +++++------ .../living/simple_mob/subtypes/vore/otie.dm | 8 +++++--- .../living/simple_mob/subtypes/vore/panther.dm | 12 ++++++------ .../mob/living/simple_mob/subtypes/vore/rat.dm | 18 +++++++++--------- 9 files changed, 52 insertions(+), 46 deletions(-) diff --git a/code/game/objects/items/devices/radio/headset_vr.dm b/code/game/objects/items/devices/radio/headset_vr.dm index a82e694d0e..49783eaca4 100644 --- a/code/game/objects/items/devices/radio/headset_vr.dm +++ b/code/game/objects/items/devices/radio/headset_vr.dm @@ -22,12 +22,12 @@ SPECIES_WEREBEAST = 'icons/mob/species/werebeast/ears.dmi') /obj/item/device/radio/headset/mob_headset //Adminbus headset for simplemob shenanigans. - name = "nonhuman radio implant" - desc = "An updated, modular intercom that requires no hands to operate. Takes encryption keys" + name = "nonhuman radio receiver" + desc = "An updated, self-adhesive modular intercom that requires no hands to operate or ears to hold, just stick it on. Takes encryption keys" /obj/item/device/radio/headset/mob_headset/receive_range(freq, level) if(ismob(src.loc)) - return ..(freq, level) + return ..(freq, level, 1) return -1 /obj/item/device/radio/headset/mob_headset/afterattack(var/atom/movable/target, mob/living/user, proximity) @@ -36,6 +36,7 @@ if(istype(target,/mob/living/simple_mob)) var/mob/living/simple_mob/M = target if(!M.mob_radio) + user.drop_item() forceMove(M) M.mob_radio = src return diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm b/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm index 3c8550c9ab..0dd52d2496 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm @@ -27,14 +27,15 @@ maxHealth = 200 health = 200 movement_sound = 'sound/effects/houndstep.ogg' + see_in_dark = 8 melee_damage_lower = 5 melee_damage_upper = 10 //makes it so 4 max dmg hits don't instakill you. grab_resist = 100 - response_help = "pets the" - response_disarm = "bops the" - response_harm = "hits the" + response_help = "pets" + response_disarm = "bops" + response_harm = "hits" attacktext = list("ravaged") friendly = list("nuzzles", "slobberlicks", "noses softly at", "noseboops", "headbumps against", "leans on", "nibbles affectionately on") @@ -111,6 +112,7 @@ if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) verbs |= /mob/living/simple_mob/proc/animal_mount + movement_cooldown = 0 /mob/living/simple_mob/vore/aggressive/corrupthound/MouseDrop_T(mob/living/M, mob/living/user) return diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm b/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm index 5f0be2bbf8..7b5bef5415 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm @@ -20,6 +20,7 @@ maxHealth = 200 health = 200 + see_in_dark = 8 melee_damage_lower = 5 melee_damage_upper = 30 @@ -48,16 +49,15 @@ vore_pounce_chance = 0 // Beat them into crit before eating. vore_icons = SA_ICON_LIVING -/* //VOREStation AI Temporary Removal -/mob/living/simple_animal/hostile/deathclaw/Login() +/mob/living/simple_mob/vore/aggressive/deathclaw/Login() . = ..() if(!riding_datum) - riding_datum = new /datum/riding/simple_animal(src) - verbs |= /mob/living/simple_animal/proc/animal_mount + riding_datum = new /datum/riding/simple_mob(src) + verbs |= /mob/living/simple_mob/proc/animal_mount + movement_cooldown = 0 -/mob/living/simple_animal/hostile/deathclaw/MouseDrop_T(mob/living/M, mob/living/user) +/mob/living/simple_mob/vore/aggressive/deathclaw/MouseDrop_T(mob/living/M, mob/living/user) return -*/ /datum/ai_holder/simple_mob/melee/deathclaw can_breakthrough = TRUE diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm index 9f201380cf..c87758ad20 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm @@ -10,6 +10,7 @@ faction = "dragon" maxHealth = 500 // Boss health = 500 + see_in_dark = 8 melee_damage_lower = 5 melee_damage_upper = 30 @@ -55,16 +56,15 @@ health = 200 faction = "virgo3b" -/* //VOREStation AI Temporary Removal -/mob/living/simple_animal/hostile/dragon/Login() +/mob/living/simple_mob/vore/aggressive/dragon/Login() . = ..() if(!riding_datum) - riding_datum = new /datum/riding/simple_animal(src) - verbs |= /mob/living/simple_animal/proc/animal_mount + riding_datum = new /datum/riding/simple_mob(src) + verbs |= /mob/living/simple_mob/proc/animal_mount + movement_cooldown = 0 -/mob/living/simple_animal/hostile/dragon/MouseDrop_T(mob/living/M, mob/living/user) +/mob/living/simple_mob/vore/aggressive/dragon/MouseDrop_T(mob/living/M, mob/living/user) return -*/ /datum/say_list/dragonboss say_got_target = list("roars and snaps it jaws!") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/hippo.dm b/code/modules/mob/living/simple_mob/subtypes/vore/hippo.dm index b0026b7740..faa57b0e14 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/hippo.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/hippo.dm @@ -66,13 +66,15 @@ vore_stomach_flavor = "You are squeezed into the sweltering insides of the herbivore rumen." vore_icons = SA_ICON_LIVING -/* //VOREStation AI Temporary Removal /mob/living/simple_mob/vore/hippo/Login() . = ..() if(!riding_datum) - riding_datum = new /datum/riding/simple_animal(src) - verbs |= /mob/living/simple_animal/proc/animal_mount -*/ + riding_datum = new /datum/riding/simple_mob(src) + verbs |= /mob/living/simple_mob/proc/animal_mount + movement_cooldown = 0 + +/mob/living/simple_mob/vore/hippo/MouseDrop_T(mob/living/M, mob/living/user) + return /mob/living/simple_mob/vore/hippo/MouseDrop_T(mob/living/M, mob/living/user) return diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm b/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm index f73942a066..5b1b09f724 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm @@ -40,16 +40,15 @@ vore_active = 1 vore_icons = SA_ICON_LIVING -/* //VOREStation AI Temporary Removal -/mob/living/simple_animal/horse/Login() +/mob/living/simple_mob/vore/horse/Login() . = ..() if(!riding_datum) - riding_datum = new /datum/riding/simple_animal(src) - verbs |= /mob/living/simple_animal/proc/animal_mount + riding_datum = new /datum/riding/simple_mob(src) + verbs |= /mob/living/simple_mob/proc/animal_mount + movement_cooldown = 0 -/mob/living/simple_animal/horse/MouseDrop_T(mob/living/M, mob/living/user) +/mob/living/simple_mob/vore/horse/MouseDrop_T(mob/living/M, mob/living/user) return -*/ /datum/say_list/horse speak = list("NEHEHEHEHEH","Neh?") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm b/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm index 07eb1a38e2..4328c297fb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm @@ -21,9 +21,10 @@ minbodytemp = 200 melee_damage_lower = 2 melee_damage_upper = 7 //Don't break my bones bro - response_help = "pets the" - response_disarm = "bops the" - response_harm = "hits the" + see_in_dark = 8 + response_help = "pets" + response_disarm = "bops" + response_harm = "hits" attacktext = list("mauled") friendly = list("nuzzles", "slobberlicks", "noses softly at", "noseboops", "headbumps against", "leans on", "nibbles affectionately on") meat_amount = 6 @@ -261,6 +262,7 @@ if(!riding_datum) riding_datum = new /datum/riding/simple_mob(src) verbs |= /mob/living/simple_mob/proc/animal_mount + movement_cooldown = 0 /mob/living/simple_mob/otie/MouseDrop_T(mob/living/M, mob/living/user) return diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm index 8a4e26d937..473c7560a9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm @@ -12,6 +12,7 @@ maxHealth = 200 health = 200 movement_cooldown = 4 + see_in_dark = 8 melee_damage_lower = 5 melee_damage_upper = 15 @@ -39,16 +40,15 @@ vore_pounce_chance = 10 vore_icons = SA_ICON_LIVING | SA_ICON_REST -/* //VOREStation AI Temporary Removal -/mob/living/simple_animal/vore/panther/Login() +/mob/living/simple_mob/vore/panther/Login() . = ..() if(!riding_datum) - riding_datum = new /datum/riding/simple_animal(src) - verbs |= /mob/living/simple_animal/proc/animal_mount + riding_datum = new /datum/riding/simple_mob(src) + verbs |= /mob/living/simple_mob/proc/animal_mount + movement_cooldown = 0 -/mob/living/simple_animal/vore/panther/MouseDrop_T(mob/living/M, mob/living/user) +/mob/living/simple_mob/vore/panther/MouseDrop_T(mob/living/M, mob/living/user) return -*/ /datum/say_list/panther speak = list("RAWR!","Rawr!","GRR!","Growl!") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm index f7881a15c1..76e9bf8a49 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm @@ -23,10 +23,11 @@ melee_damage_lower = 2 melee_damage_upper = 7 grab_resist = 100 + see_in_dark = 8 - response_help = "pets the" - response_disarm = "bops the" - response_harm = "hits the" + response_help = "pets" + response_disarm = "bops" + response_harm = "hits" attacktext = list("ravaged") friendly = list("nuzzles", "licks", "noses softly at", "noseboops", "headbumps against", "leans on", "nibbles affectionately on") @@ -168,16 +169,15 @@ playsound(src, 'sound/effects/mouse_squeak_loud.ogg', 50, 1) ..() -/* //VOREStation AI Temporary Removal -/mob/living/simple_mob/vore/rat/Login() +/mob/living/simple_mob/rat/panther/Login() . = ..() if(!riding_datum) - riding_datum = new /datum/riding/simple_animal(src) - verbs |= /mob/living/simple_animal/proc/animal_mount + riding_datum = new /datum/riding/simple_mob(src) + verbs |= /mob/living/simple_mob/proc/animal_mount + movement_cooldown = 0 -/mob/living/simple_mob/vore/aggressive/rat/MouseDrop_T(mob/living/M, mob/living/user) +/mob/living/simple_mob/vore/rat/MouseDrop_T(mob/living/M, mob/living/user) return -*/ /mob/living/simple_mob/vore/aggressive/rat/phoron name = "phoron rat"