Merge pull request #1534 from caelaislinn/master

blast doors, lockdown comp, pets
This commit is contained in:
Mloc
2012-07-29 08:46:18 -07:00
11 changed files with 10142 additions and 10100 deletions
+14 -34
View File
@@ -51,7 +51,7 @@
var/speed = 0 //LETS SEE IF I CAN SET SPEEDS FOR SIMPLE MOBS WITHOUT DESTROYING EVERYTHING. Higher speed is slower, negative speed is faster
var/obj/item/device/radio/headset/ears = null
var/obj/item/device/radio/headset/l_ear = null
/mob/living/simple_animal/New()
..()
verbs -= /mob/verb/observe
@@ -126,38 +126,15 @@
//Speaking
if(speak_chance)
if(prob(speak_chance))
if(speak && speak.len)
if((emote_hear && emote_hear.len) || (emote_see && emote_see.len))
var/length = speak.len
if(emote_hear && emote_hear.len)
length += emote_hear.len
if(emote_see && emote_see.len)
length += emote_see.len
var/randomValue = rand(1,length)
if(randomValue <= speak.len)
say(pick(speak))
else
randomValue -= speak.len
if(emote_see && randomValue <= emote_see.len)
emote(pick(emote_see),1)
else
emote(pick(emote_hear),2)
else
say(pick(speak))
else
if(!(emote_hear && emote_hear.len) && (emote_see && emote_see.len))
emote(pick(emote_see),1)
if((emote_hear && emote_hear.len) && !(emote_see && emote_see.len))
emote(pick(emote_hear),2)
if((emote_hear && emote_hear.len) && (emote_see && emote_see.len))
var/length = emote_hear.len + emote_see.len
var/pick = rand(1,length)
if(pick <= emote_see.len)
emote(pick(emote_see),1)
else
emote(pick(emote_hear),2)
if(prob(speak_chance))
var/length = speak.len + emote_hear.len + emote_see.len
if(speak.len && prob((speak.len / length) * 100))
say(pick(speak))
else if(emote_see.len && prob((emote_see.len / length) * 100))
emote("auto",1,pick(emote_see))
else if(emote_hear.len)
emote("auto",2,pick(emote_hear))
//var/act,var/m_type=1,var/message = null
//Atmos
@@ -278,8 +255,11 @@
m_type = 2
else
message = "<B>[src]</B> [message]"
if("auto")
message = "<B>[src]</B> [message]"
else
src << text("Invalid Emote: []", act)
if(!message)
src << text("Invalid Emote: []", act)
if ((message && src.stat == 0))
if (m_type & 1)
for(var/mob/O in viewers(src, null))
@@ -0,0 +1,31 @@
//kobold
/mob/living/simple_animal/kobold
name = "kobold"
desc = "A small, rat-like creature."
icon = 'mob.dmi'
icon_state = "kobold_idle"
icon_living = "kobold_idle"
icon_dead = "kobold_dead"
speak = list("You no take candle!","Ooh, pretty shiny.","Me take?","Where gold here...","Me likey.")
speak_emote = list("mutters","hisses","grumbles")
emote_hear = list("mutters under it's breath.","grumbles.", "yips!")
emote_see = list("looks around suspiciously.", "scratches it's arm.","putters around a bit.")
speak_chance = 15
turns_per_move = 5
see_in_dark = 6
meat_type = /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat
response_help = "pets the"
response_disarm = "gently pushes aside the"
response_harm = "kicks the"
/mob/living/simple_animal/kobold/Life()
..()
if(prob(15) && turns_since_move)
flick("kobold_act",src)
/mob/living/simple_animal/kobold/Move(var/dir)
..()
flick("kobold_walk",src)
/mob/living/simple_animal/kobold/munchkin
name = "Munchkin"
+15 -15
View File
@@ -2,26 +2,26 @@
name = "\improper Parrot"
desc = "It's a parrot! No dirty words!"
icon = 'mob.dmi'
icon_state = "cat"
icon_living = "cat"
icon_dead = "cat_dead"
icon_state = "parrot"
icon_living = "parrot"
icon_dead = "parrot_dead"
speak = list("Hi","Hello!","Cracker?","BAWWWWK george mellons griffing me")
speak_emote = list("squawks","says","yells")
emote_hear = list("squawks","bawks")
emote_see = list("flutters its wings", "glares at you")
speak_chance = 1
emote_hear = list("squawks.","bawks.")
emote_see = list("flutters its wings.", "glares at you.")
speak_chance = 5
turns_per_move = 5
meat_type = /obj/item/weapon/reagent_containers/food/snacks/cracker/
response_help = "pets the"
response_disarm = "gently moves aside the"
response_harm = "swats the"
ears = new /obj/item/device/radio/headset/heads/ce()
l_ear = new /obj/item/device/radio/headset/headset_eng()
/mob/living/simple_animal/parrot/DrProfessor
name = "Doctor Professor Parrot, PhD"
desc = "That's the Doctor Professor. He has more degrees than all of the engineering team put together, and has several published papers on quantum cracker theory."
speak = list(":e Check the singlo, you chucklefucks!",":e Wire the solars, you lazy bums!",":e WHO TOOK THE DAMN RIG SUIT?",":e OH GOD ITS FREE CALL THE SHUTTLE")
speak = list(":e Check the singlo, you chucklefucks!",":e Wire the solars, you lazy bums!",":e WHO TOOK THE DAMN RIG SUIT?",":e OH GOD ITS FREE CALL THE SHUTTLE",":e Open secure storage please.",":e I think something happened to the containment field...")
response_harm = "is attacked in the face by"
/obj/item/weapon/reagent_containers/food/snacks/cracker/
@@ -33,8 +33,8 @@
if(user.stat) return
var/dat = "<div align='center'><b>Inventory of [name]</b></div><p>"
if(ears)
dat += "<br><b>Headset:</b> [ears] (<a href='?src=\ref[src];remove_inv=ears'>Remove</a>)"
if(l_ear)
dat += "<br><b>Headset:</b> [l_ear] (<a href='?src=\ref[src];remove_inv=ears'>Remove</a>)"
else
dat += "<br><b>Headset:</b> <a href='?src=\ref[src];add_inv=ears'>Nothing</a>"
@@ -54,10 +54,10 @@
var/remove_from = href_list["remove_inv"]
switch(remove_from)
if("ears")
if(ears)
if(l_ear)
src.say(":e BAWWWWWK LEAVE THE HEADSET BAWKKKKK!")
ears.loc = src.loc
ears = null
l_ear.loc = src.loc
l_ear = null
else
usr << "\red There is nothing to remove from its [remove_from]."
return
@@ -72,7 +72,7 @@
return
switch(add_to)
if("ears")
if(ears)
if(l_ear)
usr << "\red It's already wearing something."
return
else
@@ -86,6 +86,6 @@
usr.drop_item()
item_to_add.loc = src
src.ears = item_to_add
src.l_ear = item_to_add
else
..()
+5 -2
View File
@@ -29,8 +29,8 @@
if(lastgenlev != 0)
overlays += image('power.dmi', "teg-op[lastgenlev]")
#define GENRATE 0.05 // generator output coefficient from Q
#define MAX_SAFE_OUTPUT 500000
#define GENRATE 0.1 // generator output coefficient from Q
#define MAX_SAFE_OUTPUT 1000000
/obj/machinery/power/generator/process()
@@ -108,6 +108,9 @@
if(stat & (BROKEN|NOPOWER)) return
if(lastgenlev > MAX_SAFE_OUTPUT)
electrocute_mob(user, get_area(src), src, 0.7)
interact(user)
/obj/machinery/power/generator/proc/interact(mob/user)
+4 -3
View File
@@ -54,7 +54,7 @@
return
rpm = 0.9* rpm + 0.1 * rpmtarget
var/datum/gas_mixture/environment = inturf.return_air()
var/transfer_moles = environment.total_moles/10
var/transfer_moles = environment.total_moles/50
//var/transfer_moles = rpm/10000*capacity
var/datum/gas_mixture/removed = inturf.remove_air(transfer_moles)
gas_contained.merge(removed)
@@ -274,8 +274,9 @@
return
user.machine = src
var/dat = "<TT><B>Gas turbine remote control system</B>"
dat += "<A href='?src=\ref[src];refresh=1'>Refresh</A> <A href='?src=\ref[src];close=1'>Close</A><BR>"
var/dat = "<TT><B>Gas turbine remote control system</B>BR"
dat += "<A href='?src=\ref[src];refresh=1'>Refresh</A><br>"
dat += "<A href='?src=\ref[src];close=1'>Close</A><BR>"
dat += "<HR>"
if(src.doors.len)