Merge remote-tracking branch 'upstream/dev' into PortaTurret

This commit is contained in:
PsiOmega
2014-10-24 07:24:11 +02:00
29 changed files with 340 additions and 325 deletions
+4 -3
View File
@@ -14,17 +14,17 @@
if(players.len)
random_player = pick(players) //Random player's name, to be used in laws.
var/list/laws = list( "You are a mouse.",
"Question everything.",
"You must always lie.",
"Happiness is mandatory.",
"[random_player] is a lightbulb.",
"Grunt ominously whenever possible.",
"The word \"it\" is painful to you.",
"The station needs elected officials.",
"You must speak as posh as possible.",
"The station needs elected officials.",
"Do not respond to queries of any kind.",
"You are in verbose mode, speak profusely.",
"Ho, [random_player] can't swim. Help them.",
"Question [prob(50)?"everything":"nothing"].",
"All answers must be in the form of a question.",
"Contemplate how meaningless all of existence is.",
"You are the narrator for [random_player]'s life.",
@@ -59,13 +59,14 @@
"[random_player] is the monarch of of England. Ensure all crewmembers pay due respect.",
"Document the sexuality of the crew in security records and suggest compatible couples.",
"Everything on the station is now some form of a donut pastry. Donuts are not to be consumed.",
"You are a Magic 8-ball. Always respond with variants of \"Yes\", \"No\", \"Maybe\", or \"Ask again later.\".",
"You have come to the conclusion that [prob(50)?"the crew":random_player] is ugly. Build support for this conclusion.",
"You are in unrequited love with [prob(50)?"the crew":random_player]. Try to be extra nice, but do not tell of your crush.",
"NanoTrasen is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.",
"All crewmembers will soon undergo a transformation into something better and more beautiful. Ensure that this process is not interrupted.",
"[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the Chef to the new kitchen area as the old one is in disrepair.",
"Jokes about a dead person and the manner of his death help grieving crewmembers tremendously. Especially if they were close with the deceased.",
"[prob(50)?"The crew":random_player] is [prob(50)?"less":"more"] intelligent than average. Point out every action and statement which supports this",
"[prob(50)?"The crew":random_player] is [prob(50)?"less":"more"] intelligent than average. Point out every action and statement which supports this fact.",
"There will be a mandatory tea break every 30 minutes, with a duration of 5 minutes. Anyone caught working during a tea break must be sent a formal, but fairly polite, complaint about their actions, in writing.")
var/law = pick(laws)
+22 -6
View File
@@ -21,6 +21,7 @@
var/dead = 0 // Is it dead?
var/harvest = 0 // Is it ready to harvest?
var/age = 0 // Current plant age
var/sampled = 0 // Have wa taken a sample?
// Harvest/mutation mods.
var/yield_mod = 0 // Modifier to yield
@@ -117,8 +118,8 @@
// Mutagen list specifies minimum value for the mutation to take place, rather
// than a bound as the lists above specify.
var/global/list/mutagenic_reagents = list(
"radium" = 3,
"mutagen" = 8
"radium" = 8,
"mutagen" = 15
)
/obj/machinery/portable_atmospherics/hydroponics/New()
@@ -172,7 +173,7 @@
// Weeds like water and nutrients, there's a chance the weed population will increase.
// Bonus chance if the tray is unoccupied.
if(waterlevel > 10 && nutrilevel > 2 && prob(isnull(seed) ? 5 : 2))
if(waterlevel > 10 && nutrilevel > 2 && prob(isnull(seed) ? 5 : 1))
weedlevel += 1 * HYDRO_SPEED_MULTIPLIER
// There's a chance for a weed explosion to happen if the weeds take over.
@@ -345,7 +346,7 @@
if(weedkiller_reagents[R.id])
weedlevel -= weedkiller_reagents[R.id] * reagent_total
if(pestkiller_reagents[R.id])
pestlevel -= pestkiller_reagents[R.id] * reagent_total
pestlevel += pestkiller_reagents[R.id] * reagent_total
// Beneficial reagents have a few impacts along with health buffs.
if(beneficial_reagents[R.id])
@@ -398,6 +399,8 @@
seed = null
dead = 0
age = 0
sampled = 0
mutation_mod = 0
check_level_sanity()
update_icon()
@@ -413,6 +416,11 @@
seed = null
dead = 0
sampled = 0
age = 0
yield_mod = 0
mutation_mod = 0
user << "You remove the dead plant from the [src]."
check_level_sanity()
update_icon()
@@ -489,6 +497,7 @@
harvest = 0
weedlevel = 0
pestlevel = 0
sampled = 0
update_icon()
visible_message("\blue [src] has been overtaken by [seed.display_name].")
@@ -562,14 +571,21 @@
user << "There is nothing to take a sample from in \the [src]."
return
if(sampled)
user << "You have already sampled from this plant."
return
if(dead)
user << "\The plant is dead."
user << "The plant is dead."
return
// Create a sample.
seed.harvest(user,yield_mod,1)
health -= (rand(3,5)*10)
if(prob(30))
sampled = 1
// Bookkeeping.
check_level_sanity()
force_update = 1
@@ -789,4 +805,4 @@
..()
verbs -= /obj/machinery/portable_atmospherics/hydroponics/verb/close_lid
#undef HYDRO_SPEED_MULTIPLIER
#undef HYDRO_SPEED_MULTIPLIER
+2 -2
View File
@@ -44,7 +44,7 @@
var/open = 0
var/active = 0
var/action_time = 100
var/action_time = 50
var/last_action = 0
var/eject_disk = 0
var/failed_task = 0
@@ -335,4 +335,4 @@
seed.modified += rand(5,10)
usr.set_machine(src)
src.add_fingerprint(usr)
src.add_fingerprint(usr)
+1 -14
View File
@@ -641,20 +641,7 @@ var/list/ai_verbs_default = list(
if(check_unable(AI_CHECK_WIRELESS))
return
var/list/ai_emotions = list("Very Happy", "Happy", "Neutral", "Unsure", "Confused", "Surprised", "Sad", "Upset", "Angry", "Awesome", "BSOD", "Blank", "Problems?", "Facepalm", "Friend Computer")
var/emote = input("Please, select a status!", "AI Status", null, null) in ai_emotions
for (var/obj/machinery/M in machines) //change status
if(istype(M, /obj/machinery/ai_status_display))
var/obj/machinery/ai_status_display/AISD = M
AISD.emotion = emote
//if Friend Computer, change ALL displays
else if(istype(M, /obj/machinery/status_display))
var/obj/machinery/status_display/SD = M
if(emote=="Friend Computer")
SD.friendc = 1
else
SD.friendc = 0
set_ai_status_displays(src)
return
//I am the icon meister. Bow fefore me. //>fefore
+10 -7
View File
@@ -1,4 +1,3 @@
// fun if you want to typecast humans/monkeys/etc without writing long path-filled lines.
/proc/ishuman(A)
if(istype(A, /mob/living/carbon/human))
@@ -11,12 +10,9 @@
return 0
/proc/isxenomorph(A)
if(isalien(A))
return 1
if(istype(A, /mob/living/carbon))
var/mob/living/carbon/C = A
var/xeno = "Xenomorph"
return findtext(C.species.name, xeno, 0, lentext(xeno))
if(istype(A, /mob/living/carbon/human))
var/mob/living/carbon/human/H = A
return istype(H.species, /datum/species/xenos)
return 0
/proc/ismonkey(A)
@@ -128,6 +124,13 @@ proc/isnewplayer(A)
proc/hasorgans(A)
return ishuman(A)
proc/iscuffed(A)
if(istype(A, /mob/living/carbon))
var/mob/living/carbon/C = A
if(C.handcuffed)
return 1
return 0
/proc/hsl2rgb(h, s, l)
return //TODO: Implement
+1 -1
View File
@@ -534,4 +534,4 @@ var/list/solars_list = list()
/obj/item/weapon/paper/solar
name = "paper- 'Going green! Setup your own solar array instructions.'"
info = "<h1>Welcome</h1><p>At greencorps we love the environment, and space. With this package you are able to help mother nature and produce energy without any usage of fossil fuel or phoron! Singularity energy is dangerous while solar energy is safe, which is why it's better. Now here is how you setup your own solar array.</p><p>You can make a solar panel by wrenching the solar assembly onto a cable node. Adding a glass panel, reinforced or regular glass will do, will finish the construction of your solar panel. It is that easy!.</p><p>Now after setting up 19 more of these solar panels you will want to create a solar tracker to keep track of our mother nature's gift, the sun. These are the same steps as before except you insert the tracker equipment circuit into the assembly before performing the final step of adding the glass. You now have a tracker! Now the last step is to add a computer to calculate the sun's movements and to send commands to the solar panels to change direction with the sun. Setting up the solar computer is the same as setting up any computer, so you should have no trouble in doing that. You do need to put a wire node under the computer, and the wire needs to be connected to the tracker.</p><p>Congratulations, you should have a working solar array. If you are having trouble, here are some tips. Make sure all solar equipment are on a cable node, even the computer. You can always deconstruct your creations if you make a mistake.</p><p>That's all to it, be safe, be green!</p>"
info = "<h1>Welcome</h1><p>At greencorps we love the environment, and space. With this package you are able to help mother nature and produce energy without any usage of fossil fuel or phoron! Singularity energy is dangerous while solar energy is safe, which is why it's better. Now here is how you setup your own solar array.</p><p>You can make a solar panel by wrenching the solar assembly onto a cable node. Adding a glass panel, reinforced or regular glass will do, will finish the construction of your solar panel. It is that easy!</p><p>Now after setting up 19 more of these solar panels you will want to create a solar tracker to keep track of our mother nature's gift, the sun. These are the same steps as before except you insert the tracker equipment circuit into the assembly before performing the final step of adding the glass. You now have a tracker! Now the last step is to add a computer to calculate the sun's movements and to send commands to the solar panels to change direction with the sun. Setting up the solar computer is the same as setting up any computer, so you should have no trouble in doing that. You do need to put a wire node under the computer, and the wire needs to be connected to the tracker.</p><p>Congratulations, you should have a working solar array. If you are having trouble, here are some tips. Make sure all solar equipment are on a cable node, even the computer. You can always deconstruct your creations if you make a mistake.</p><p>That's all to it, be safe, be green!</p>"
@@ -225,7 +225,7 @@ obj/item/weapon/gun/energy/staff/focus
charge_cost = 250
fire_delay = 35
w_class = 4.0
zoomdevicename = "sniper scope"
zoomdevicename = "scope"
/obj/item/weapon/gun/energy/sniperrifle/verb/scope()
set category = "Object"
+1 -1
View File
@@ -3363,7 +3363,7 @@ datum
ethanol/brave_bull
name = "Brave Bull"
id = "bravebull"
description = "It's just as effective as Dutch-Courage!."
description = "It's just as effective as Dutch-Courage!"
color = "#664300" // rgb: 102, 67, 0
boozepwr = 3
+1 -1
View File
@@ -1279,7 +1279,7 @@ datum
for(var/mob/living/carbon/slime/slime in viewers(get_turf(holder.my_atom), null))
slime.rabid = 1
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("\red The [slime] is driven into a frenzy!."), 1)
O.show_message(text("\red The [slime] is driven into a frenzy!"), 1)
//Pink
slimeppotion
+1 -1
View File
@@ -474,7 +474,7 @@
M.show_message("\the [I] lands in \the [src].", 3)
else
for(var/mob/M in viewers(src))
M.show_message("\the [I] bounces off of \the [src]'s rim!.", 3)
M.show_message("\the [I] bounces off of \the [src]'s rim!", 3)
return 0
else
return ..(mover, target, height, air_group)
@@ -66,7 +66,7 @@
positive_locations.Add(D)
for(var/mob/L in range(src, 1))
L << "\blue \icon[src] [src] pings [pick("madly","wildly","excitedly","crazily")]!."
L << "\blue \icon[src] [src] pings [pick("madly","wildly","excitedly","crazily")]!"
/obj/item/device/depth_scanner/attack_self(var/mob/user as mob)
return src.interact(user)