Files
Paradise/code/game/objects/storage/bible.dm
baloh.matevz d08130082b Bug fixes:
- Fixed all known issues regarding storage items including photo albums being able to carry any item with w_class = 1 and the double messages that were generated when you or someone placed an item into a storage item. Same for bible, briefcase, etc. etc.
- A side effect of this is that storage items are no longer able to be wrapped with wrapping paper.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1175 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-11 21:34:32 +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