mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-29 06:58:30 +01:00
Deconf
This commit is contained in:
@@ -8,7 +8,6 @@
|
||||
transmutation and energy sharing abilities not unlike they lleill, but considerably more limited. Unlike \
|
||||
other shapeshifter species, such as proteans or prometheans, Hanner have a typical humanoid set of organs and can not regenerate."
|
||||
|
||||
flags = NO_SCAN
|
||||
color_mult = 1
|
||||
appearance_flags = HAS_SKIN_COLOR | HAS_EYE_COLOR | HAS_HAIR_COLOR | HAS_UNDERWEAR | HAS_LIPS
|
||||
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED | SPECIES_WHITELIST_SELECTABLE
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
for(var/mob/living/carbon/human/M in mob_list)
|
||||
if(M.z != user.z || get_dist(user,M) > 10)
|
||||
continue
|
||||
if(istype(M) && M.resleeve_lock && M.ckey != M.resleeve_lock)
|
||||
if(!M.allow_mimicry)
|
||||
continue
|
||||
targets |= M
|
||||
|
||||
|
||||
@@ -65,51 +65,51 @@
|
||||
resize(H.size_multiplier, ignore_prefs = TRUE)
|
||||
var/obj/item/A = H.get_active_hand()
|
||||
var/obj/item/I = H.get_inactive_hand()
|
||||
if(istype(A,/obj/item/weapon/material) || istype(A,/obj/item/weapon/melee) || istype(I,/obj/item/weapon/material) || istype(I,/obj/item/weapon/melee))
|
||||
if(istype(A,/obj/item/material) || istype(A,/obj/item/melee) || istype(I,/obj/item/material) || istype(I,/obj/item/melee))
|
||||
seen_melee = 1
|
||||
melee_damage_lower = 20
|
||||
melee_damage_upper = 30
|
||||
if(istype(A,/obj/item/weapon/gun/projectile) || istype(I,/obj/item/weapon/gun/projectile))
|
||||
if(istype(A,/obj/item/gun/projectile) || istype(I,/obj/item/gun/projectile))
|
||||
seen_gun = 1
|
||||
projectiletype = /obj/item/projectile/bullet/pistol/medium
|
||||
projectilesound = 'sound/weapons/Gunshot_light.ogg'
|
||||
if(istype(A,/obj/item/weapon/gun/projectile/shotgun) || istype(I,/obj/item/weapon/gun/projectile/shotgun))
|
||||
if(istype(A,/obj/item/gun/projectile/shotgun) || istype(I,/obj/item/gun/projectile/shotgun))
|
||||
projectiletype = /obj/item/projectile/bullet/pellet/shotgun
|
||||
projectilesound = 'sound/weapons/Gunshot_shotgun.ogg'
|
||||
reload_time = 1.5 SECONDS
|
||||
ranged_attack_delay = 1.5 SECONDS
|
||||
projectile_dispersion = 8
|
||||
projectile_accuracy = -40
|
||||
if(istype(A,/obj/item/weapon/gun/projectile/automatic) || istype(I,/obj/item/weapon/gun/projectile/automatic))
|
||||
if(istype(A,/obj/item/gun/projectile/automatic) || istype(I,/obj/item/gun/projectile/automatic))
|
||||
base_attack_cooldown = 5
|
||||
projectile_dispersion = 7
|
||||
projectile_accuracy = -20
|
||||
if(istype(A,/obj/item/weapon/gun/projectile/heavysniper) || istype(I,/obj/item/weapon/gun/projectile/heavysniper))
|
||||
if(istype(A,/obj/item/gun/projectile/heavysniper) || istype(I,/obj/item/gun/projectile/heavysniper))
|
||||
projectiletype = /obj/item/projectile/bullet/rifle/a145/highvel // Do not get seen with a big ass sniper!
|
||||
projectilesound = 'sound/weapons/Gunshot_cannon.ogg'
|
||||
ranged_attack_delay = 2.5 SECONDS
|
||||
reload_time = 5 SECONDS
|
||||
projectile_accuracy = 75
|
||||
if(istype(A,/obj/item/weapon/gun/energy) || istype(I,/obj/item/weapon/gun/energy))
|
||||
if(istype(A,/obj/item/gun/energy) || istype(I,/obj/item/gun/energy))
|
||||
seen_gun = 1
|
||||
projectiletype = /obj/item/projectile/beam/midlaser
|
||||
projectilesound = 'sound/weapons/Laser.ogg'
|
||||
projectile_dispersion = 5
|
||||
projectile_accuracy = -20
|
||||
if(istype(A,/obj/item/weapon/gun/energy/ionrifle) || istype(I,/obj/item/weapon/gun/energy/ionrifle))
|
||||
if(istype(A,/obj/item/gun/energy/ionrifle) || istype(I,/obj/item/gun/energy/ionrifle))
|
||||
projectiletype = /obj/item/projectile/ion
|
||||
if(istype(A,/obj/item/weapon/gun/energy/lasercannon) || istype(I,/obj/item/weapon/gun/energy/lasercannon))
|
||||
if(istype(A,/obj/item/gun/energy/lasercannon) || istype(I,/obj/item/gun/energy/lasercannon))
|
||||
projectiletype = /obj/item/projectile/beam/heavylaser
|
||||
ranged_attack_delay = 2.5 SECONDS
|
||||
reload_time = 5 SECONDS
|
||||
projectilesound = 'sound/weapons/lasercannonfire.ogg'
|
||||
if(istype(A,/obj/item/weapon/gun/energy/sniperrifle) || istype(I,/obj/item/weapon/gun/energy/sniperrifle))
|
||||
if(istype(A,/obj/item/gun/energy/sniperrifle) || istype(I,/obj/item/gun/energy/sniperrifle))
|
||||
projectiletype = /obj/item/projectile/beam/sniper // Do not get seen with a big ass sniper!
|
||||
projectilesound = 'sound/weapons/gauss_shoot.ogg'
|
||||
ranged_attack_delay = 2.5 SECONDS
|
||||
reload_time = 5 SECONDS
|
||||
projectile_accuracy = 75
|
||||
if(istype(A,/obj/item/weapon/gun/magnetic) || istype(I,/obj/item/weapon/gun/magnetic))
|
||||
if(istype(A,/obj/item/gun/magnetic) || istype(I,/obj/item/gun/magnetic))
|
||||
seen_gun = 1
|
||||
projectiletype = /obj/item/projectile/bullet/magnetic/bore
|
||||
projectilesound = 'sound/weapons/railgun.ogg'
|
||||
|
||||
@@ -210,11 +210,6 @@
|
||||
if(pred.prey_controlled)
|
||||
to_chat(prey, "<span class='warning'>\The [pred] is already dominated, and cannot be controlled at this time.</span>")
|
||||
return
|
||||
if(ishuman(pred))
|
||||
var/mob/living/carbon/human/h = pred
|
||||
if(h.resleeve_lock && ckey != h.resleeve_lock)
|
||||
to_chat(src, "<span class='warning'>\The [h] cannot be impersonated!</span>")
|
||||
return
|
||||
if(tgui_alert(prey, "You are attempting to take over [pred], are you sure? Ensure that their preferences align with this kind of play.", "Take Over Predator",list("No","Yes")) != "Yes")
|
||||
return
|
||||
to_chat(prey, "<span class='notice'>You attempt to exert your control over \the [pred]...</span>")
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
|
||||
/mob/living/simple_mob/vore/morph/proc/assume(atom/movable/target)
|
||||
var/mob/living/carbon/human/humantarget = target
|
||||
if(istype(humantarget) && humantarget.resleeve_lock && ckey != humantarget.resleeve_lock)
|
||||
if(istype(humantarget) && !humantarget.allow_mimicry)
|
||||
to_chat(src, "<span class='warning'>[target] cannot be impersonated!</span>")
|
||||
return
|
||||
if(morphed)
|
||||
@@ -272,12 +272,9 @@
|
||||
var/mob/living/L = tgui_input_list(src, "Select a mob to take over:", "Take Over Prey", possible_mobs)
|
||||
if(!L)
|
||||
return
|
||||
// Adding a ishuman check here, since silicon mobs don't have a resleeve_lock from what I can tell.
|
||||
if(ishuman(L))
|
||||
var/mob/living/carbon/human/M = L
|
||||
if(M.resleeve_lock && ckey != M.resleeve_lock)
|
||||
to_chat(src, "<span class='warning'>\The [M] cannot be impersonated!</span>")
|
||||
return
|
||||
if(!L.allow_mimicry)
|
||||
to_chat(src, "<span class='warning'>\The [L] cannot be impersonated!</span>")
|
||||
return
|
||||
if(tgui_alert(src, "You selected [L] to attempt to take over. Are you sure?", "Take Over Prey",list("No","Yes")) == "Yes")
|
||||
log_admin("[key_name_admin(src)] offered [L] to swap bodies as a morph.")
|
||||
if(tgui_alert(L, "\The [src] has elected to attempt to take over your body and control you. Is this something you will allow to happen?", "Allow Morph To Take Over",list("No","Yes")) == "Yes")
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
noisy = client.prefs_vr.noisy
|
||||
selective_preference = client.prefs_vr.selective_preference
|
||||
eating_privacy_global = client.prefs_vr.eating_privacy_global
|
||||
allow_mimicry = client.prefs_vr.allow_mimicry
|
||||
|
||||
drop_vore = client.prefs_vr.drop_vore
|
||||
stumble_vore = client.prefs_vr.stumble_vore
|
||||
|
||||
Reference in New Issue
Block a user