mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 23:17:02 +01:00
- 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:
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user