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. + 26 August 2011.