Multiple Borers in a Single Body (#9066)

* Adds the ability for multiple borers in the same host. Adds upgrade paths for chest and leg borers.

* Fully implements the ability to have multiple borers in a single body, complete with unique chems, verbs, and genetic unlocks.

* Fixes to do with movement_speed_modifier, and some conflict resolution.

* Fixes some paths.

* Fixes conflicts.

* Fixes more conflicts.

* Inorganic limbs can no longer be infested. Removes arm borers' ability to produce creatine.

* Removes all mention of the term "cortical" from borers.
This commit is contained in:
Shadowmech88
2016-06-16 20:34:02 -05:00
committed by clusterfack
parent 8bdde5306a
commit 0c2ec12d2d
45 changed files with 2870 additions and 279 deletions

View File

@@ -251,11 +251,13 @@
/obj/item/weapon/gun/proc/click_empty(mob/user = null)
if (user)
user.visible_message("*click click*", "<span class='danger'>*click*</span>")
playsound(user, empty_sound, 100, 1)
if(empty_sound)
user.visible_message("*click click*", "<span class='danger'>*click*</span>")
playsound(user, empty_sound, 100, 1)
else
src.visible_message("*click click*")
playsound(get_turf(src), empty_sound, 100, 1)
if(empty_sound)
src.visible_message("*click click*")
playsound(get_turf(src), empty_sound, 100, 1)
/obj/item/weapon/gun/attack(mob/living/M as mob, mob/living/user as mob, def_zone)
//Suicide handling.

View File

@@ -37,9 +37,14 @@
/obj/item/weapon/gun/hookshot/New()
..()
for(var/i = 0;i <= maxlength; i++)
var/obj/effect/overlay/hookchain/HC = new(src)
HC.shot_from = src
links["[i]"] = HC
if(istype(src, /obj/item/weapon/gun/hookshot/flesh))
var/obj/effect/overlay/hookchain/flesh/HC = new(src)
HC.shot_from = src
links["[i]"] = HC
else
var/obj/effect/overlay/hookchain/HC = new(src)
HC.shot_from = src
links["[i]"] = HC
/obj/item/weapon/gun/hookshot/Destroy()//if a single link of the chain is destroyed, the rest of the chain is instantly destroyed as well.
if(chain_datum)
@@ -232,11 +237,11 @@
undergoing_deletion = 1
if(extremity_A)
if(snap)
extremity_A.visible_message("The chain snaps and let go of \the [extremity_A]")
extremity_A.visible_message("The chain snaps and lets go of \the [extremity_A].")
extremity_A.tether = null
if(extremity_B)
if(snap)
extremity_B.visible_message("The chain snaps and let go of \the [extremity_B]")
extremity_B.visible_message("The chain snaps and lets go of \the [extremity_B].")
extremity_B.tether = null
for(var/i = 1; i<= links.len ;i++)
var/obj/effect/overlay/chain/C = links["[i]"]

View File

@@ -19,6 +19,7 @@
sharpness = 1
hitsound = "sound/weapons/bloodyslice.ogg"
attack_verb = list("claws", "rends", "slashes")
mech_flags = MECH_SCAN_ILLEGAL
conventional_firearm = 0
var/shots_remaining = 0
var/has_shot = 0

View File

@@ -70,8 +70,9 @@
sleep(sleeptime)
/obj/item/projectile/hookshot/bullet_die()
var/obj/item/weapon/gun/hookshot/hookshot = shot_from
hookshot.hook = null
if(shot_from)
var/obj/item/weapon/gun/hookshot/hookshot = shot_from
hookshot.hook = null
spawn()
OnDeath()
returnToPool(src)