Files
kiwistation/code/game/objects/storage/bible.dm
T
n3ophyt3@gmail.com 4939d8f56d Bibling a corpse no longer spams the fuck out of the hit noise.
Also, I looked at the revolver code and GOOD FUCKING LORD WHAT WAS WHO SMOKING WHEN THEY MADE THAT. The only defense against a pistolwhip stunning/KOing you for 60 ticks of your life() proc is wearing a hat with a bitflag that hats no longer even have. And that's even IF the code that handles applying the damage decides that your armor protected you from the hit. Keep in mind that shit like oxytanks or toolboxes only stun for about 5 ticks of life() and that's only if the code passes a percentile check based on the amount of damage the attacked body part has taken. In conclusion, fuck that shit.

Also, shooting people point-blank now plays the gunshot sound.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1230 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-22 02:54:52 +00:00

104 lines
3.2 KiB
Plaintext

/obj/item/weapon/storage/bible/booze/New()
..()
new /obj/item/weapon/reagent_containers/food/drinks/beer(src)
new /obj/item/weapon/reagent_containers/food/drinks/beer(src)
new /obj/item/weapon/spacecash(src)
new /obj/item/weapon/spacecash(src)
new /obj/item/weapon/spacecash(src)
/obj/item/weapon/storage/bible/proc/bless(mob/living/carbon/M as mob)
var/mob/living/carbon/human/H = M
var/heal_amt = 10
for(var/A in H.organs)
var/datum/organ/external/affecting = null
if(!H.organs[A]) continue
affecting = H.organs[A]
if(!istype(affecting, /datum/organ/external)) continue
if(affecting.heal_damage(heal_amt, heal_amt))
H.UpdateDamageIcon()
else
H.UpdateDamage()
return
/obj/item/weapon/storage/bible/attack(mob/M as mob, mob/user as mob)
var/chaplain = 0
if(user.mind && (user.mind.assigned_role == "Chaplain"))
chaplain = 1
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
usr << "\red You don't have the dexterity to do this!"
return
if(!chaplain)
usr << "\red The book sizzles in your hands."
usr.fireloss += 10
return
if ((usr.mutations & 16) && prob(50))
usr << "\red The [src] slips out of your hand and hits your head."
usr.bruteloss += 10
usr.paralysis += 20
return
// if(..() == BLOCKED)
// return
if (M.stat !=2)
if (ticker.mode.name == "cult" && prob(10))
if(ticker.mode:cult.Find(M.mind))
ticker.mode:remove_cultist(M.mind)
if (cultists.Find(M) && prob(10))
cultists -= M
if ((istype(M, /mob/living/carbon/human) && prob(60)))
bless(M)
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] heals [] with the power of [src.deity_name]!</B>", user, M), 1)
M << "\red May the power of [src.deity_name] compel you to be healed!"
playsound(src.loc, "punch", 25, 1, -1)
else
if(ishuman(M) && !istype(M:head, /obj/item/clothing/head/helmet))
M.brainloss += 10
M << "\red You feel dumber."
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] beats [] over the head with []!</B>", user, M, src), 1)
playsound(src.loc, "punch", 25, 1, -1)
else if(M.stat == 2)
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] smacks []'s lifeless corpse with [].</B>", user, M, src), 1)
playsound(src.loc, "punch", 25, 1, -1)
return
/obj/item/weapon/storage/bible/afterattack(atom/A, mob/user as mob)
if (istype(A, /turf/simulated/floor))
user << "\blue You hit the floor with the bible."
if(user.mind && (user.mind.assigned_role == "Chaplain"))
call(/obj/rune/proc/revealrunes)(src)
/obj/item/weapon/storage/bible/attackby(obj/item/weapon/W as obj, mob/user as mob)
//..()
if (istype(W, /obj/item/weapon/storage/bible))
return
if (src.contents.len >= 7)
return
if (W.w_class > 3)
return
var/t
for(var/obj/item/weapon/O in src)
t += O.w_class
//Foreach goto(46)
t += W.w_class
if (t > 5)
user << "You cannot fit the item inside. (Remove larger classed items)"
return
playsound(src.loc, "rustle", 50, 1, -5)
user.u_equip(W)
W.loc = src
if ((user.client && user.s_active != src))
user.client.screen -= W
src.orient2hud(user)
W.dropped(user)
add_fingerprint(user)
return