4939d8f56d
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
104 lines
3.2 KiB
Plaintext
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
|
|
|