- Adding some new chaplain-associated variables to the gameticker /datum.

- Library computers will now universally tap into these variables and retrieve information to paste onto bibles when printing new ones. Also, they now have a one-minute cooldown when printing bibles.
- An additional start-up prompt is given to the chaplains when they start. They can now select new bible icons (which can be immediately reversed and swapped with another icon if they don't like it) that have no real effect other than aesthetics. Thank you, Kor, for making these.
- Tweaked Metroids so that they are slightly more aggressive, move slower when aggressive, and gain more nutrition from eating. They also become hungrier faster.

- Adding a "recoil" variable to guns. No current guns use it yet, but if they did (through edit-variable) it would cause a player's screen to shake whenever they successfully fire a shot. Potential use for projectile firearms, especially shotguns.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2058 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
vageyenaman@gmail.com
2011-08-28 22:15:00 +00:00
parent 92da7d50e1
commit e2fee5fd71
10 changed files with 125 additions and 14 deletions
+5
View File
@@ -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()
+75 -1
View File
@@ -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)
+22 -1
View File
@@ -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 = "<HEAD><TITLE>Book Inventory Management</TITLE></HEAD><BODY>\n" // <META HTTP-EQUIV='Refresh' CONTENT='10'>
@@ -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("<b>[src]</b>'s monitor flashes, \"[bibledelay] seconds remaining until the bible printer is ready for use.\"")
if("7")
screenstate = 7
if(href_list["arccheckout"])
@@ -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
+8 -12
View File
@@ -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