diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm
index f1752d30df9..4a6545fde3f 100644
--- a/code/game/gamemodes/gameticker.dm
+++ b/code/game/gamemodes/gameticker.dm
@@ -17,6 +17,11 @@ var/global/datum/controller/gameticker/ticker
var/list/datum/mind/minds = list()//The people in the game. Used for objective tracking.
+ var/Bible_icon_state // icon_state the chaplain has chosen for his bible
+ var/Bible_item_state // item_state the chaplain has chosen for his bible
+ var/Bible_name // name of the bible
+
+
var/pregame_timeleft = 0
/datum/controller/gameticker/proc/pregame()
diff --git a/code/game/jobs/jobprocs.dm b/code/game/jobs/jobprocs.dm
index 8671e364007..ebc8a5421eb 100644
--- a/code/game/jobs/jobprocs.dm
+++ b/code/game/jobs/jobprocs.dm
@@ -149,13 +149,28 @@
if("satanism")
B.name = pick("The Unholy Bible","The Necronomicon")
if("islam")
- B.name = "Quaran"
+ B.name = "Quran"
if("scientology")
B.name = pick("The Biography of L. Ron Hubbard","Dianetics")
if("chaos")
B.name = "Space Station 13: The Musical"
if("imperium")
B.name = "Uplifting Primer"
+ if("toolboxia")
+ B.name = "Toolbox Manifesto"
+ if("nazism")
+ B.name = "Mein Kampf"
+ if(prob(50)) brainloss = 60 // probably starts off retarded?
+ if("homosexuality")
+ B.name = "Guys Gone Wild"
+ if("lol", "wtf", "gay", "penis", "ass", "poo", "badmin", "shitmin", "deadmin", "cock", "cocks")
+ B.name = pick("Woodys Got Wood: The Aftermath", "War of the Cocks", "Sweet Bro and Hella Jef: Expanded Edition")
+ brainloss = 100 // starts off retarded as fuck
+ if("science")
+ B.name = pick("Principle of Relativity", "Quantum Enigma: Physics Encounters Consciousness", "Programming the Universe", "Quantum Physics and Theology", "String Theory for Dummies", "How To: Build Your Own Warp Drive", "The Mysteries of Bluespace", "Playing God: Collector's Edition")
+ if("metroidism")
+ B.name = "Skreeee!: The Happening"
+ src:mutantrace = "metroid" // fucking lol (if this is too extreme, comment this thing out) -- Doohl
else
B.name = "The Holy Book of [new_religion]"
@@ -172,6 +187,65 @@
new_deity = dd_replacetext(new_deity, ">", "'")
B.deity_name = new_deity
+ var/accepted = 0
+ var/outoftime = 0
+ spawn(200) // 20 seconds to choose
+ outoftime = 1
+ while(!accepted)
+ if(!B) break // prevents possible runtime errors
+
+ switch(input(src,"Which bible style would you like?") in list("Normal (Christianity)", "Koran", "Scrapbook", "Daederic Scroll", "Creeper", "White", "Banana", "Holy Light", "Athiest", "Necromancer", "Tome"))
+ if("Koran")
+ B.icon_state = "koran"
+ B.item_state = "koran"
+ if("Scrapbook")
+ B.icon_state = "scrapbook"
+ B.item_state = "scrapbook"
+ if("Daederic Scroll")
+ B.icon_state = "daederic_scroll"
+ B.item_state = "daederic"
+ if("Creeper")
+ B.icon_state = "creeper"
+ B.item_state = "syringe_kit"
+ if("White")
+ B.icon_state = "white"
+ B.item_state = "syringe_kit"
+ if("Banana")
+ B.icon_state = "banana"
+ B.item_state = "syringe_kit"
+ if("Holy Light")
+ B.icon_state = "holylight"
+ B.item_state = "syringe_kit"
+ if("Athiest")
+ B.icon_state = "athiest"
+ B.item_state = "syringe_kit"
+ if("Necromancer")
+ B.icon_state = "necro"
+ B.item_state = "syringe_kit"
+ if("Tome")
+ B.icon_state = "tome"
+ B.item_state = "syringe_kit"
+ else
+ // if christian bible, revert to default
+ B.icon_state = "bible"
+ B.item_state = "bible"
+
+ src:update_clothing() // so that it updates the bible's item_state in his hand
+
+ switch(input(src,"Look at your bible - is this what you want?") in list("Yes","No"))
+ if("Yes")
+ accepted = 1
+ if("No")
+ if(outoftime)
+ src << "Welp, out of time, buddy. You're stuck. Next time choose faster."
+ accepted = 1
+
+ if(ticker)
+ ticker.Bible_icon_state = B.icon_state
+ ticker.Bible_item_state = B.item_state
+ ticker.Bible_name = B.name
+
+
if ("Geneticist")
src.equip_if_possible(new /obj/item/device/radio/headset/headset_medsci (src), slot_ears) // -- TLE
src.equip_if_possible(new /obj/item/clothing/under/rank/geneticist(src), slot_w_uniform)
diff --git a/code/game/magic/library.dm b/code/game/magic/library.dm
index 3dbc740518d..d8d933b9df5 100644
--- a/code/game/magic/library.dm
+++ b/code/game/magic/library.dm
@@ -417,6 +417,8 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
checkoutperiod = 5 // In minutes
obj/machinery/libraryscanner/scanner // Book scanner that will be used when uploading books to the Archive
+ bibledelay = 0 // LOL NO SPAM (1 minute delay) -- Doohl
+
/obj/machinery/librarycomp/attack_hand(var/mob/user as mob)
usr.machine = src
var/dat = "
Book Inventory Management\n" //
@@ -553,7 +555,26 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
if("5")
screenstate = 5
if("6")
- new /obj/item/weapon/storage/bible(src.loc)
+ if(!bibledelay)
+
+ var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible(src.loc)
+ if(ticker && ( ticker.Bible_icon_state && ticker.Bible_item_state) )
+ B.icon_state = ticker.Bible_icon_state
+ B.item_state = ticker.Bible_item_state
+ B.name = ticker.Bible_name
+
+ bibledelay = 60
+ spawn(0)
+ while(bibledelay >= 1 && src)
+ sleep(10)
+ bibledelay -- // subtract one second to countdown
+
+ bibledelay = 0
+
+ else
+ for (var/mob/V in hearers(src))
+ V.show_message("[src]'s monitor flashes, \"[bibledelay] seconds remaining until the bible printer is ready for use.\"")
+
if("7")
screenstate = 7
if(href_list["arccheckout"])
diff --git a/code/game/objects/items/weapons/guns_new.dm b/code/game/objects/items/weapons/guns_new.dm
index eddd4614c33..9360034c7a2 100644
--- a/code/game/objects/items/weapons/guns_new.dm
+++ b/code/game/objects/items/weapons/guns_new.dm
@@ -581,6 +581,8 @@
silenced = 0
badmin = 0
+ recoil = 0
+
projectile
desc = "A classic revolver. Uses 357 ammo"
name = "revolver"
@@ -1557,6 +1559,10 @@
F.temperature = Fgun.temperature
+ if(recoil)
+ spawn()
+ shake_camera(user, recoil + 1, recoil)
+
in_chamber.original = targloc
in_chamber.loc = get_turf(user)
user.next_move = world.time + 4
diff --git a/code/modules/mob/living/carbon/metroid/life.dm b/code/modules/mob/living/carbon/metroid/life.dm
index 9d873c29886..6e9c0f64f01 100644
--- a/code/modules/mob/living/carbon/metroid/life.dm
+++ b/code/modules/mob/living/carbon/metroid/life.dm
@@ -87,7 +87,7 @@
var/starving = 0 // determines if the metroid is starving-hungry
if(istype(src, /mob/living/carbon/metroid/adult))
switch(nutrition)
- if(400 to 800) hungry = 1
+ if(400 to 900) hungry = 1
if(0 to 399)
starving = 1
@@ -135,8 +135,6 @@
if(tame && istype(C, /mob/living/carbon/human))
notarget = 1
-
-
if(!notarget) targets += C
for(var/mob/living/silicon/C in view(12,src))
@@ -177,16 +175,14 @@
break
else
- Target = pick(targets)
+ Target = targets[1]
else
- Target = pick(targets)
+ Target = targets[1] // closest target
if(targets.len > 0)
if(attacked > 0 || rabid)
- Target = targets[1] // should be the closest target
-
-
+ Target = targets[1]
if(!Target)
@@ -306,7 +302,7 @@
var/sleeptime = movement_delay()
if(sleeptime <= 0) sleeptime = 1
- sleep(sleeptime + 1) // this is about as fast as a player Metroid can go
+ sleep(sleeptime + 2) // this is about as fast as a player Metroid can go
AIproc = 0
@@ -481,9 +477,9 @@
handle_nutrition()
- if(prob(30))
- if(istype(src, /mob/living/carbon/metroid/adult)) nutrition-=rand(4,7)
- else nutrition-=rand(1,4)
+ if(prob(40))
+ if(istype(src, /mob/living/carbon/metroid/adult)) nutrition-=rand(6,10)
+ else nutrition-=rand(4,9)
if(nutrition <= 0)
nutrition = 0
diff --git a/icons/changelog.html b/icons/changelog.html
index 3e603b19859..68a6ec1a62f 100644
--- a/icons/changelog.html
+++ b/icons/changelog.html
@@ -45,6 +45,15 @@ Stuff which is in development and not yet visible to players or just code relate
(is. code improvements for expandability, etc.) should not be listed here. They
should be listed in the changelog upon commit tho. Thanks. -->
+28 August 2011.
+
+ - Doohl updated:
+
+ - Chaplains can now select different bible icons when they start. The selection is applied globally and the library's bible printer will print the same bibles.
+ - Joy to the world! The Library's bible-printing function now has a one-minute cooldown. One minute may seem a little extreme, but it is necessary to prevent people from spamming the fuck out of everything with 100,000,000,000,000 carbon-copy bibles.
+ - Tweaked Metroids a bit; they are slightly more aggressive and become hungrier faster. To compensate, they now move slightly slower.
+
+
26 August 2011.
diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi
index 53b42da8bb3..6ddf79bb744 100644
Binary files a/icons/mob/items_lefthand.dmi and b/icons/mob/items_lefthand.dmi differ
diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi
index a06e108fb80..d8950b6a986 100644
Binary files a/icons/mob/items_righthand.dmi and b/icons/mob/items_righthand.dmi differ
diff --git a/icons/mob/mob.dmi b/icons/mob/mob.dmi
index 5bbc2a37514..364674a5a39 100644
Binary files a/icons/mob/mob.dmi and b/icons/mob/mob.dmi differ
diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi
index 78f42450e51..84c5515a9de 100644
Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ