diff --git a/code/game/objects/items/weapons/storage/book.dm b/code/game/objects/items/weapons/storage/book.dm index 7775b3692a..3b655550b4 100644 --- a/code/game/objects/items/weapons/storage/book.dm +++ b/code/game/objects/items/weapons/storage/book.dm @@ -85,8 +85,8 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", playsound(src.loc, "punch", 25, 1, -1) return 1 -/obj/item/weapon/storage/book/bible/attack(mob/living/M, mob/living/carbon/human/user) - +/obj/item/weapon/storage/book/bible/attack(mob/living/M, mob/living/carbon/human/user, heal_mode = TRUE) + if (!user.IsAdvancedToolUser()) to_chat(user, "You don't have the dexterity to do this!") return @@ -105,7 +105,10 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", to_chat(user, "The book sizzles in your hands.") user.take_bodypart_damage(0,10) return - + + if (!heal_mode) + return ..() + var/smack = 1 if (M.stat != DEAD) @@ -156,3 +159,38 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", /obj/item/weapon/storage/book/bible/booze/PopulateContents() new /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey(src) + +/obj/item/weapon/storage/book/bible/syndicate + icon_state ="ebook" + deity_name = "The Syndicate" + throw_speed = 2 + throwforce = 18 + throw_range = 7 + force = 18 + hitsound = 'sound/weapons/sear.ogg' + damtype = BURN + name = "Syndicate Tome" + attack_verb = list("attacked", "burned", "blessed", "damned", "scorched") + var/uses = 1 + + + +/obj/item/weapon/storage/book/bible/syndicate/attack_self(mob/living/carbon/human/H) + if (uses) + H.mind.isholy = TRUE + uses -= 1 + to_chat(H, "You try to open the book AND IT BITES YOU!") + playsound(src.loc, 'sound/effects/snap.ogg', 50, 1) + H.apply_damage(5, BRUTE, pick("l_arm", "r_arm")) + to_chat(H, "Your name appears on the inside cover, in blood.") + var/ownername = H.real_name + desc += "The name [ownername] is written in blood inside the cover." + +/obj/item/weapon/storage/book/bible/syndicate/attack(mob/living/M, mob/living/carbon/human/user, heal_mode = TRUE) + if (user.a_intent == INTENT_HELP) + return ..() + else + return ..(M,user,heal_mode = FALSE) + +/obj/item/storage/book/bible/syndicate/add_blood(list/blood_dna) + return FALSE diff --git a/code/modules/uplink/uplink_item.dm b/code/modules/uplink/uplink_item.dm index 71a530a8fb..cbee8e53f2 100644 --- a/code/modules/uplink/uplink_item.dm +++ b/code/modules/uplink/uplink_item.dm @@ -929,6 +929,15 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. cost = 4 include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/gang) +/datum/uplink_item/device_tools/syndietome + name = "Syndicate Tome" + desc = "Using rare artifacts acquired at great cost, the syndicate has reverse engineered \ + the seemingly magical books of a certain cult. Though lacking the esoteric abilities \ + of the originals, these inferior copies are still quite useful, being able to provide \ + both weal and woe on the battlefield, even if they do occasionally bite off a finger." + item = /obj/item/weapon/storage/book/bible/syndicate + cost = 9 + /datum/uplink_item/device_tools/thermal name = "Thermal Imaging Glasses" desc = "These goggles can be turned to resemble common eyewears throughout the station. \ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index afdd5c3630..19e2cc0e48 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/storage.dmi b/storage.dmi new file mode 100644 index 0000000000..91055cc42c Binary files /dev/null and b/storage.dmi differ