mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-06 07:23:16 +00:00
Widespread grammar fixes! Still loads I've yet to fix. It'll take forever.
Resolved Issue 333: The plastic flaps on the mining station now actually block air-flow. http://code.google.com/p/tgstation13/issues/detail?id=333 Fix for runtime in issue 332 until getrev is fixed. https://code.google.com/p/tgstation13/issues/detail?id=332 Resolved Issue 331 https://code.google.com/p/tgstation13/issues/detail?id=331 Resolved Issue 304 https://code.google.com/p/tgstation13/issues/detail?id=304 Removed a lever I found randomly placed within the asteroid rock. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3021 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -54,6 +54,8 @@ var/global/datum/getrev/revdata = new("config/svndir.txt")
|
||||
|
||||
if(svndirpath && fexists(svndirpath) && fexists("[svndirpath]/entries") && isfile(file("[svndirpath]/entries")))
|
||||
var/list/filelist = dd_file2list("[svndirpath]/entries",null)
|
||||
if(filelist.len < 4)
|
||||
return abort()
|
||||
revision = filelist[4]
|
||||
commiter = filelist[12]
|
||||
diary << "Revision info loaded succesfully"
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
/obj/effect/decal/cleanable/blood
|
||||
name = "Blood"
|
||||
desc = "It's red. Its Gooye. It is the chefs cooking perhaps."
|
||||
desc = "It's red. It's Gooye. It's the chef's cooking, perhaps?"
|
||||
density = 0
|
||||
anchored = 1
|
||||
layer = 2
|
||||
@@ -94,7 +94,7 @@
|
||||
|
||||
/obj/effect/decal/cleanable/xenoblood
|
||||
name = "xeno blood"
|
||||
desc = "It's green. Must be more of the chefs cooking."
|
||||
desc = "It's green. Must be more of the chef's cooking."
|
||||
density = 0
|
||||
anchored = 1
|
||||
layer = 2
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
gl_uid = 1
|
||||
|
||||
/obj/machinery/autolathe
|
||||
name = "Autolathe"
|
||||
name = "\improper Autolathe"
|
||||
desc = "Produces items with metal and glass."
|
||||
icon_state = "autolathe"
|
||||
density = 1
|
||||
@@ -42,7 +42,7 @@
|
||||
active_power_usage = 100
|
||||
|
||||
/obj/machinery/camera
|
||||
name = "Security Camera"
|
||||
name = "security camera"
|
||||
desc = "This is used to monitor rooms. Can see through walls."
|
||||
icon = 'monitors.dmi'
|
||||
icon_state = "camera"
|
||||
@@ -60,8 +60,8 @@
|
||||
active_power_usage = 10
|
||||
|
||||
/obj/machinery/dispenser
|
||||
name = "\improper Tank Storage Unit"
|
||||
desc = "A simple yet bulky one-way storage device for gas tanks. Holds 10 plasma and 10 oxygen tanks."
|
||||
name = "Tank Storage Unit"
|
||||
icon = 'objects.dmi'
|
||||
icon_state = "dispenser"
|
||||
density = 1
|
||||
@@ -73,7 +73,7 @@
|
||||
active_power_usage = 10
|
||||
|
||||
/obj/machinery/dna_scanner
|
||||
name = "DNA Scanner/Implanter"
|
||||
name = "\improper DNA Scanner/Implanter"
|
||||
desc = "Scans DNA."
|
||||
icon = 'Cryogenic2.dmi'
|
||||
icon_state = "scanner_0"
|
||||
@@ -86,7 +86,7 @@
|
||||
active_power_usage = 300
|
||||
|
||||
/obj/machinery/dna_scannernew
|
||||
name = "DNA Modifier"
|
||||
name = "\improper DNA Modifier"
|
||||
desc = "Scans DNA better."
|
||||
icon = 'Cryogenic2.dmi'
|
||||
icon_state = "scanner_0"
|
||||
@@ -99,7 +99,7 @@
|
||||
active_power_usage = 300
|
||||
|
||||
/obj/machinery/firealarm
|
||||
name = "Fire Alarm"
|
||||
name = "fire alarm"
|
||||
desc = "Pull this in case of emergency. Thus keep pulling this forever."
|
||||
icon = 'monitors.dmi'
|
||||
icon_state = "fire0"
|
||||
@@ -115,7 +115,7 @@
|
||||
power_channel = ENVIRON
|
||||
|
||||
/obj/machinery/partyalarm
|
||||
name = "Party Button"
|
||||
name = "\improper Party Button"
|
||||
desc = "Cuban Pete is in the house!"
|
||||
icon = 'monitors.dmi'
|
||||
icon_state = "fire0"
|
||||
@@ -169,7 +169,7 @@
|
||||
active_power_usage = 4
|
||||
|
||||
/obj/machinery/restruct
|
||||
name = "DNA Physical Restructurization Accelerator"
|
||||
name = "\improper DNA Physical Restructurization Accelerator"
|
||||
desc = "This looks complex."
|
||||
icon = 'Cryogenic2.dmi'
|
||||
icon_state = "restruct_0"
|
||||
@@ -182,7 +182,7 @@
|
||||
active_power_usage = 600
|
||||
|
||||
/obj/machinery/scan_console
|
||||
name = "DNA Scanner Access Console"
|
||||
name = "\improper DNA Scanner Access Console"
|
||||
desc = "Scand DNA."
|
||||
icon = 'computer.dmi'
|
||||
icon_state = "scanner"
|
||||
@@ -204,7 +204,7 @@
|
||||
active_power_usage = 400
|
||||
|
||||
/obj/machinery/door_control
|
||||
name = "Remote Door Control"
|
||||
name = "remote door control"
|
||||
desc = "This controls doors."
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "doorctrl0"
|
||||
@@ -228,7 +228,7 @@
|
||||
active_power_usage = 4
|
||||
|
||||
/obj/machinery/driver_button
|
||||
name = "Mass Driver Button"
|
||||
name = "mass driver button"
|
||||
desc = "FIRE AWAY!"
|
||||
icon = 'objects.dmi'
|
||||
icon_state = "launcherbtt"
|
||||
@@ -241,7 +241,7 @@
|
||||
active_power_usage = 4
|
||||
|
||||
/obj/machinery/ignition_switch
|
||||
name = "Ignition Switch"
|
||||
name = "ignition switch"
|
||||
desc = "Activates that igniter."
|
||||
icon = 'objects.dmi'
|
||||
icon_state = "launcherbtt"
|
||||
@@ -336,7 +336,7 @@
|
||||
var/lastgenlev = -1
|
||||
|
||||
/obj/machinery/power/monitor
|
||||
name = "Power Monitoring Computer"
|
||||
name = "\improper Power Monitoring Computer"
|
||||
desc = "Used to monitor the power. Pretty useless."
|
||||
icon = 'computer.dmi'
|
||||
icon_state = "power"
|
||||
@@ -359,7 +359,7 @@
|
||||
active_power_usage = 60
|
||||
|
||||
/obj/machinery/light_switch
|
||||
desc = "A light switch"
|
||||
desc = "light switch"
|
||||
name = null
|
||||
icon = 'power.dmi'
|
||||
icon_state = "light1"
|
||||
@@ -390,20 +390,20 @@
|
||||
obj/effect/overlay/hologram//The projection itself. If there is one, the instrument is on, off otherwise.
|
||||
|
||||
/obj/machinery/hologram/holopad
|
||||
name = "AI holopad"
|
||||
name = "\improper AI holopad"
|
||||
desc = "A floor-mounted device for projecting a holographic image. It is activated remotely."
|
||||
icon_state = "holopad0"
|
||||
var
|
||||
mob/living/silicon/ai/master//Which AI, if any, is controlling the object? Only one AI may control a hologram at any time.
|
||||
|
||||
/obj/machinery/hologram/projector
|
||||
name = "Hologram Projector"
|
||||
name = "\improper Hologram Projector"
|
||||
desc = "Makes a hologram appear...somehow..."
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "hologram0"
|
||||
|
||||
/obj/machinery/hologram/proj_ai
|
||||
name = "Hologram Projector Platform"
|
||||
name = "\improper Hologram Projector Platform"
|
||||
desc = "Used for the fun of the diabolical AI."
|
||||
icon = 'stationobjs.dmi'
|
||||
icon_state = "hologram0"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
return null
|
||||
return 0
|
||||
|
||||
/proc/get_area_name(N) //get area by it's name
|
||||
/proc/get_area_name(N) //get area by its name
|
||||
for(var/area/A in world)
|
||||
if(A.name == N)
|
||||
return A
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
/turf/space
|
||||
icon = 'space.dmi'
|
||||
name = "space"
|
||||
name = "\proper space"
|
||||
icon_state = "placeholder"
|
||||
|
||||
temperature = TCMB
|
||||
|
||||
@@ -1121,7 +1121,7 @@ ________________________________________________________________________________
|
||||
else break
|
||||
U << "\blue Gained <B>[totaldrain]</B> energy from [src]."
|
||||
else
|
||||
U << "\red The exosuit's battery has run dry of power. You must find another source."
|
||||
U << "\red The exosuit's battery has run dry. You must find another source of power."
|
||||
|
||||
if("CYBORG")
|
||||
var/mob/living/silicon/robot/A = target
|
||||
|
||||
@@ -207,14 +207,14 @@
|
||||
|
||||
src.text += "<BR><BR>The evil Space Wizards Federation have recently broke their most feared wizard, known only as \"[SWF_desc]\" out of space jail. "
|
||||
src.text += "He is on the run, last spotted in a system near your present location. If anybody suspicious is located aboard, please "
|
||||
src.text += "approach with EXTREME caution. Cent. Com also recommends that it would be wise to not inform the crew of this, due to it's fearful nature."
|
||||
src.text += "approach with EXTREME caution. Cent. Com also recommends that it would be wise to not inform the crew of this, due to their fearful nature."
|
||||
src.text += "Known attributes include: Brown sandals, a large blue hat, a voluptous white beard, and an inclination to cast spells."
|
||||
|
||||
/datum/intercept_text/proc/build_nuke(datum/mind/correct_person)
|
||||
src.text += "<BR><BR>Cent. Com recently recieved a report of a plot to destory one of our stations in your area. We believe the Nuclear Authentication Disc "
|
||||
src.text += "that is standard issue aboard your vessel may be a target, and reccommend removal of this object, and it's storage in a safe "
|
||||
src.text += "that is standard issue aboard your vessel may be a target. We recommend removal of this object, and it's storage in a safe "
|
||||
src.text += "environment. As this may cause panic among the crew, all efforts should be made to keep this information a secret from all but "
|
||||
src.text += "the most trusted members."
|
||||
src.text += "the most trusted crew-members."
|
||||
|
||||
/datum/intercept_text/proc/build_malf(datum/mind/correct_person)
|
||||
var/a_name = pick(src.anomalies)
|
||||
|
||||
@@ -138,8 +138,8 @@
|
||||
T.loc = C //put shade in stone
|
||||
T.nodamage = 1
|
||||
T.canmove = 0
|
||||
T.health = T.max_health
|
||||
T.health = T.maxHealth
|
||||
C.icon_state = "soulstone2"
|
||||
T << "Your soul has been recaptured by the soul stone, it's arcane energies reknitting your ethereal form"
|
||||
T << "Your soul has been recaptured by the soul stone, its arcane energies are reknitting your ethereal form"
|
||||
U << "\blue <b>Capture successful!</b>: \black [T.name]'s has been recaptured and stored within the soul stone."
|
||||
return
|
||||
return
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
"\blue [user] has cleaned the microwave.", \
|
||||
"\blue You have cleaned the microwave." \
|
||||
)
|
||||
src.dirty = 0 // It's cleaned!
|
||||
src.dirty = 0 // It's clean!
|
||||
src.broken = 0 // just to be sure
|
||||
src.icon_state = "mw"
|
||||
src.flags = OPENCONTAINER
|
||||
|
||||
@@ -478,7 +478,7 @@
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
src.panelopen = !src.panelopen
|
||||
playsound(src.loc, 'Screwdriver.ogg', 100, 1)
|
||||
user << text("<font color='blue'>You [] the Unit's maintenance panel.</font>",(src.panelopen ? "open up" : "close") )
|
||||
user << text("<font color='blue'>You [] the unit's maintenance panel.</font>",(src.panelopen ? "open up" : "close") )
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
if ( istype(I, /obj/item/weapon/grab) )
|
||||
@@ -492,7 +492,7 @@
|
||||
usr << "<font color='red'>The unit is not operational.</font>"
|
||||
return
|
||||
if ( (src.OCCUPANT) || (src.HELMET) || (src.SUIT) ) //Unit needs to be absolutely empty
|
||||
user << "<font color='red'>The Unit's storage area is too cluttered.</font>"
|
||||
user << "<font color='red'>The unit's storage area is too cluttered.</font>"
|
||||
return
|
||||
for (var/mob/V in viewers(user))
|
||||
V.show_message("[user] starts putting [G.affecting.name] into the Suit Storage Unit.", 3)
|
||||
|
||||
@@ -396,7 +396,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
|
||||
<h3>Stun</h3>
|
||||
Unlike other runes, this ons is supposed to be used in talisman form. When invoked directly, it simply releases some dark energy, briefly stunning everyone around. When imbued into a talisman, you can force all of its energy into one person, stunning him so hard he cant even speak. However, effect wears off rather fast.<br>
|
||||
<h3>Equip Armor</h3>
|
||||
When this rune is invoked, either from a rune or a talisman, it will equip the user with the armor of the followers of Nar-Sie. To use this rune to it's fullest extent, make sure you are not wearing any form of headgear, armor, gloves or shoes, and make sure you are not holding anything in your hands.<br>
|
||||
When this rune is invoked, either from a rune or a talisman, it will equip the user with the armor of the followers of Nar-Sie. To use this rune to its fullest extent, make sure you are not wearing any form of headgear, armor, gloves or shoes, and make sure you are not holding anything in your hands.<br>
|
||||
</body>
|
||||
</html>
|
||||
"}
|
||||
|
||||
@@ -83,7 +83,7 @@ var/list/sacrificed = list()
|
||||
usr.say("N'ath reth sh'yro eth d'raggathnor!")
|
||||
else
|
||||
usr.whisper("N'ath reth sh'yro eth d'raggathnor!")
|
||||
usr.visible_message("\red Rune disappears with a flash of red light, and in it's place now a book lies.", \
|
||||
usr.visible_message("\red Rune disappears with a flash of red light, and in its place now a book lies.", \
|
||||
"\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book.", \
|
||||
"\red You hear a pop and smell ozone.")
|
||||
if(istype(src,/obj/effect/rune))
|
||||
@@ -342,7 +342,7 @@ var/list/sacrificed = list()
|
||||
var/mob/living/carbon/human/L = usr
|
||||
usr.say("Fwe'sh mah erl nyag r'ya!")
|
||||
usr.visible_message("\red [usr]'s eyes glow blue as \he freezes in place, absolutely motionless.", \
|
||||
"\red The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this it's a great sight, being here strains your mind and body. Hurry.", \
|
||||
"\red The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry...", \
|
||||
"\red You hear only complete silence for a moment.")
|
||||
usr.ghostize()
|
||||
for(L.ajourn=1,L.ajourn)
|
||||
@@ -768,7 +768,7 @@ var/list/sacrificed = list()
|
||||
if(iscultist(C))
|
||||
C.say("N'ath reth sh'yro eth d'rekkathnor!")
|
||||
C.take_overall_damage(25, 0)
|
||||
user.visible_message("\red Rune disappears with a flash of red light, and in it's place now a body lies.", \
|
||||
user.visible_message("\red Rune disappears with a flash of red light, and in its place now a body lies.", \
|
||||
"\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body.", \
|
||||
"\red You hear a pop and smell ozone.")
|
||||
del(src)
|
||||
|
||||
@@ -134,7 +134,7 @@ will suffer from an increased appetite.</B><BR>
|
||||
the implant releases the chemicals directly into the blood stream.<BR>
|
||||
<b>Special Features:</b>
|
||||
<i>Micro-Capsule</i>- Can be loaded with any sort of chemical agent via the common syringe and can hold 15 units.<BR>
|
||||
Can only be loaded while still in it's original case.<BR>
|
||||
Can only be loaded while still in its original case.<BR>
|
||||
<b>Integrity:</b> Implant will last so long as the subject is alive. However, if the subject suffers from malnutrition,<BR>
|
||||
the implant may become unstable and either pre-maturely inject the subject or simply break."}
|
||||
return dat
|
||||
|
||||
@@ -352,7 +352,7 @@
|
||||
Those are the basic steps to furthing science. What do you do science with, however? Well, you have four major tools: R&D Console, the Destructive Analyzer, the Protolathe, and the Circuit Imprinter.
|
||||
|
||||
<h2>The R&D Console</h2>
|
||||
The R&D console is the cornerstone of any research lab. It is the central system from which the Destructive Analyzer, Protolathe, and Circuit Imprinter (your R&D systems) are controled. More on those systems in their own sections. On it's own, the R&D console acts as a database for all your technological gains and new devices you discover. So long as the R&D console remains intact, you'll retain all that SCIENCE you've discovered. Protect it though, because if it gets damaged, you'll lose your data! In addition to this important purpose, the R&D console has a disk menu that lets you transfer data from the database onto disk or from the disk into the database. It also has a settings menu that lets you re-sync with nearby R&D devices (if they've become disconnected), lock the console from the unworthy, upload the data to all other R&D consoles in the network (all R&D consoles are networked by default), connect/disconnect from the network, and purge all data from the database.
|
||||
The R&D console is the cornerstone of any research lab. It is the central system from which the Destructive Analyzer, Protolathe, and Circuit Imprinter (your R&D systems) are controled. More on those systems in their own sections. On its own, the R&D console acts as a database for all your technological gains and new devices you discover. So long as the R&D console remains intact, you'll retain all that SCIENCE you've discovered. Protect it though, because if it gets damaged, you'll lose your data! In addition to this important purpose, the R&D console has a disk menu that lets you transfer data from the database onto disk or from the disk into the database. It also has a settings menu that lets you re-sync with nearby R&D devices (if they've become disconnected), lock the console from the unworthy, upload the data to all other R&D consoles in the network (all R&D consoles are networked by default), connect/disconnect from the network, and purge all data from the database.
|
||||
<b>NOTE:</b> The technology list screen, circuit imprinter, and protolathe menus are accessible by non-scientists. This is intended to allow 'public' systems for the plebians to utilize some new devices.
|
||||
|
||||
<h2>Destructive Analyzer</h2>
|
||||
@@ -368,7 +368,7 @@
|
||||
As it has been stated, many devices when they're first discovered do not have a 100% reliablity when you first discover them. Instead, the reliablity of the device is dependent upon a base reliability value, whatever improvements to the design you've discovered through the Destructive Analyzer, and any advancements you've made with the device's source technologies. To be able to improve the reliability of a device, you have to use the device until it breaks beyond repair. Once that happens, you can analyze it in a Destructive Analyzer. Once the device reachs a certain minimum reliability, you'll gain tech advancements from it.
|
||||
|
||||
<h1>Building a Better Machine</h1>
|
||||
Many machines produces from circuit boards and inserted into a machine frame require a variety of parts to construct. These are parts like capacitors, batteries, matter bins, and so forth. As your knowledge of science improves, more advanced versions are unlocked. If you use these parts when constructing something, it's attributes may be improved. For example, if you use an advanced matter bin when constructing an autolathe (rather then a regular one), it'll hold more materials. Experiment around with stock parts of various qualities to see how they affect the end results! Be warned, however: Tier 3 and higher stock parts don't have 100% reliability and their low reliability may affect the reliability of the end machine.
|
||||
Many machines produces from circuit boards and inserted into a machine frame require a variety of parts to construct. These are parts like capacitors, batteries, matter bins, and so forth. As your knowledge of science improves, more advanced versions are unlocked. If you use these parts when constructing something, its attributes may be improved. For example, if you use an advanced matter bin when constructing an autolathe (rather then a regular one), it'll hold more materials. Experiment around with stock parts of various qualities to see how they affect the end results! Be warned, however: Tier 3 and higher stock parts don't have 100% reliability and their low reliability may affect the reliability of the end machine.
|
||||
</body>
|
||||
</html>
|
||||
"}
|
||||
@@ -419,7 +419,7 @@
|
||||
|
||||
|
||||
<h2><a name="Modules">Cyborg Modules</h2>
|
||||
When a cyborg is created it picks out of an array of modules to designate it's purpose. There are 6 different cyborg modules.
|
||||
When a cyborg is created it picks out of an array of modules to designate its purpose. There are 6 different cyborg modules.
|
||||
|
||||
<h3>Standard Cyborg</h3>
|
||||
The standard cyborg module is a multi-purpose cyborg. It is equipped with various modules, allowing it to do basic tasks.<br>A Standard Cyborg comes with:
|
||||
|
||||
@@ -36,7 +36,7 @@ var/ordernum=0
|
||||
//SUPPLY PACKS MOVED TO /code/defines/obj/supplypacks.dm
|
||||
|
||||
/obj/structure/plasticflaps //HOW DO YOU CALL THOSE THINGS ANYWAY
|
||||
name = "Plastic flaps"
|
||||
name = "\improper Plastic flaps"
|
||||
desc = "I definitely cant get past those. no way."
|
||||
icon = 'stationobjs.dmi' //Change this.
|
||||
icon_state = "plasticflaps"
|
||||
@@ -65,7 +65,21 @@ var/ordernum=0
|
||||
del(src)
|
||||
|
||||
/obj/structure/plasticflaps/mining //A specific type for mining that doesn't allow airflow because of them damn crates
|
||||
var/blocks_air = 1
|
||||
name = "\improper Airtight plastic flaps"
|
||||
desc = "Heavy duty, airtight, plastic flaps."
|
||||
|
||||
New() //set the turf below the flaps to block air
|
||||
var/turf/T = get_turf(src.loc)
|
||||
if(T)
|
||||
T.blocks_air = 1
|
||||
..()
|
||||
|
||||
Del() //lazy hack to set the turf to allow air to pass if it's a simulated floor
|
||||
var/turf/T = get_turf(src.loc)
|
||||
if(T)
|
||||
if(istype(T, /turf/simulated/floor))
|
||||
T.blocks_air = 0
|
||||
..()
|
||||
|
||||
/area/supplyshuttle
|
||||
name = "Supply Shuttle"
|
||||
|
||||
@@ -2357,7 +2357,7 @@
|
||||
icon_state = "soysauce"
|
||||
if("frostoil")
|
||||
name = "Coldsauce"
|
||||
desc = "Leaves the tongue numb in it's passage."
|
||||
desc = "Leaves the tongue numb in its passage."
|
||||
icon_state = "coldsauce"
|
||||
if("sodiumchloride")
|
||||
name = "Salt Shaker"
|
||||
|
||||
@@ -422,7 +422,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/mimeburger
|
||||
name = "Mime Burger"
|
||||
desc = "It's taste defies language."
|
||||
desc = "Its taste defies language."
|
||||
icon_state = "mimeburger"
|
||||
New()
|
||||
..()
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
else
|
||||
usr << "\blue [src.name] has a \icon[src.s_store] [src.s_store.name] on [t_his][src.wear_suit.blood_DNA ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name]."
|
||||
if (src.shoes)
|
||||
usr << "[src.shoes.blood_DNA ? "\red" : "\blue"] [src.name] has a[src.shoes.blood_DNA ? " bloody " : " "] \icon[src.shoes] [src.shoes.name] on [t_his] feet."
|
||||
usr << "[src.shoes.blood_DNA ? "\red" : "\blue"] [src.name] is wearing[src.shoes.blood_DNA ? " bloody " : " "] \icon[src.shoes] [src.shoes.name] on [t_his] feet."
|
||||
|
||||
|
||||
if (src.gloves)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
speak = list("Meow!","Esp!","Purr!","HSSSSS")
|
||||
speak_emote = list("purrs", "meows")
|
||||
emote_hear = list("meows","mews")
|
||||
emote_see = list("shakes it's head", "shivers")
|
||||
emote_see = list("shakes its head", "shivers")
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "armour"
|
||||
icon_living = "armour"
|
||||
icon_dead = "shade_dead"
|
||||
max_health = 300
|
||||
maxHealth = 300
|
||||
health = 300
|
||||
speak_emote = list("hisses")
|
||||
emote_hear = list("wails","screeches")
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
//Corgi
|
||||
/mob/living/simple_animal/corgi
|
||||
name = "corgi"
|
||||
name = "\improper corgi"
|
||||
real_name = "corgi"
|
||||
desc = "Puppy!!"
|
||||
desc = "It's a corgi."
|
||||
icon = 'mob.dmi'
|
||||
icon_state = "corgi"
|
||||
icon_living = "corgi"
|
||||
@@ -10,9 +10,9 @@
|
||||
speak = list("YAP", "Woof!", "Bark!", "AUUUUUU")
|
||||
speak_emote = list("barks", "woofs")
|
||||
emote_hear = list("barks", "woofs", "yaps","pants")
|
||||
emote_see = list("shakes it's head", "shivers")
|
||||
emote_see = list("shakes its head", "shivers")
|
||||
speak_chance = 1
|
||||
turns_per_move = 5
|
||||
turns_per_move = 10
|
||||
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/corgi
|
||||
meat_amount = 3
|
||||
response_help = "pets the"
|
||||
@@ -20,7 +20,6 @@
|
||||
response_harm = "kicks the"
|
||||
var/obj/item/inventory_head
|
||||
var/obj/item/inventory_back
|
||||
var/obj/item/inventory_mouth
|
||||
|
||||
/mob/living/simple_animal/corgi/update_clothing()
|
||||
overlays = list()
|
||||
@@ -70,22 +69,22 @@
|
||||
//helmet and armor = 100% protection
|
||||
if( istype(inventory_head,/obj/item/clothing/head/helmet) && istype(inventory_back,/obj/item/clothing/suit/armor) )
|
||||
if( O.force )
|
||||
usr << "\red This animal is wearing too much armor. You can't cause it any damage."
|
||||
usr << "\red This animal is wearing too much armor. You can't cause /him any damage."
|
||||
for (var/mob/M in viewers(src, null))
|
||||
M.show_message("\red \b [user] hits [src] with the [O], however [src] is too armored.")
|
||||
else
|
||||
usr << "\red This animal is wearing too much armor. You can't reach it's skin."
|
||||
usr << "\red This animal is wearing too much armor. You can't reach its skin."
|
||||
for (var/mob/M in viewers(src, null))
|
||||
M.show_message("\red [user] gently taps [src] with the [O]. ")
|
||||
if(prob(15))
|
||||
emote("looks at [user] with [pick("an amused","an annoyed","a confused","a resentful", "a happy", "an excited")] expression on it's face")
|
||||
emote("looks at [user] with [pick("an amused","an annoyed","a confused","a resentful", "a happy", "an excited")] expression on \his face")
|
||||
return
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/corgi/Topic(href, href_list)
|
||||
//Removing from inventory
|
||||
if(href_list["remove_inv"])
|
||||
if(get_dist(src,usr) > 1)
|
||||
if(get_dist(src,usr) > 1 || !(ishuman(usr) || ismonkey(usr) || isrobot(usr) || isalienadult(usr)))
|
||||
return
|
||||
var/remove_from = href_list["remove_inv"]
|
||||
switch(remove_from)
|
||||
@@ -96,36 +95,36 @@
|
||||
speak = list("YAP", "Woof!", "Bark!", "AUUUUUU")
|
||||
speak_emote = list("barks", "woofs")
|
||||
emote_hear = list("barks", "woofs", "yaps","pants")
|
||||
emote_see = list("shakes it's head", "shivers")
|
||||
emote_see = list("shakes its head", "shivers")
|
||||
desc = "It's a corgi."
|
||||
src.sd_SetLuminosity(0)
|
||||
inventory_head.loc = src.loc
|
||||
inventory_head = null
|
||||
else
|
||||
usr << "\red There is nothing on its [remove_from]."
|
||||
usr << "\red There is nothing to remove from its [remove_from]."
|
||||
return
|
||||
if("back")
|
||||
if(inventory_back)
|
||||
inventory_back.loc = src.loc
|
||||
inventory_back = null
|
||||
else
|
||||
usr << "\red There is nothing on its [remove_from]."
|
||||
usr << "\red There is nothing to remove from its [remove_from]."
|
||||
return
|
||||
|
||||
show_inv(usr)
|
||||
//show_inv(usr) //Commented out because changing Ian's name and then calling up his inventory opens a new inventory...which is annoying.
|
||||
|
||||
//Adding things to inventory
|
||||
else if(href_list["add_inv"])
|
||||
if(get_dist(src,usr) > 1)
|
||||
return
|
||||
if(!usr.get_active_hand())
|
||||
usr << "\red You have nothing in your active hand to put in the slot."
|
||||
if(get_dist(src,usr) > 1 || !(ishuman(usr) || ismonkey(usr) || isrobot(usr) || isalienadult(usr)))
|
||||
return
|
||||
var/add_to = href_list["add_inv"]
|
||||
if(!usr.get_active_hand())
|
||||
usr << "\red You have nothing in your hand to put on its [add_to]."
|
||||
return
|
||||
switch(add_to)
|
||||
if("head")
|
||||
if(inventory_head)
|
||||
usr << "\red The [inventory_head] is already in this slot."
|
||||
usr << "\red It's is already wearing something."
|
||||
return
|
||||
else
|
||||
var/obj/item/item_to_add = usr.get_active_hand()
|
||||
@@ -169,7 +168,7 @@
|
||||
)
|
||||
|
||||
if( ! ( item_to_add.type in allowed_types ) )
|
||||
usr << "\red The corgi doesn't seem too keen on wearing that item."
|
||||
usr << "\red It doesn't seem too keen on wearing that item."
|
||||
return
|
||||
|
||||
usr.drop_item()
|
||||
@@ -192,13 +191,13 @@
|
||||
desc = "It's a cute little kitty-cat! ... wait ... what the hell?"
|
||||
if(/obj/item/clothing/head/rabbitears, /obj/item/clothing/head/collectable/rabbitears)
|
||||
name = "Hoppy"
|
||||
emote_see = list("twitches his nose", "hops around a bit")
|
||||
emote_see = list("twitches its nose", "hops around a bit")
|
||||
desc = "This is hoppy. It's a corgi-...urmm... bunny rabbit"
|
||||
if(/obj/item/clothing/head/beret, /obj/item/clothing/head/collectable/beret)
|
||||
name = "Yann"
|
||||
desc = "mon dieu! C'est un chien!"
|
||||
desc = "Mon dieu! C'est un chien!"
|
||||
speak = list("le woof!", "le bark!", "JAPPE!!")
|
||||
emote_see = list("cowers in fear", "surrenders", "plays dead")
|
||||
emote_see = list("cowers in fear", "surrenders", "plays dead","looks as though there is a wall in front of /him")
|
||||
if(/obj/item/clothing/head/det_hat)
|
||||
name = "Detective [real_name]"
|
||||
desc = "[name] sees through your lies..."
|
||||
@@ -207,13 +206,13 @@
|
||||
name = "Nurse [real_name]"
|
||||
desc = "[name] needs 100cc of beef jerky...STAT!"
|
||||
if(/obj/item/clothing/head/pirate, /obj/item/clothing/head/collectable/pirate)
|
||||
name = "'[pick("Ol'","Scurvy","Black","Rum","Gammy","Bloody","Gangrene","Death","Long-John")] [pick("kibbles","leg","beard","tooth","poop-deck","Threepwood","Le Chuck","corsair","Silver","Crusoe")]'"
|
||||
name = "'[pick("Ol'","Scurvy","Black","Rum","Gammy","Bloody","Gangrene","Death","Long-John")] [pick("kibble","leg","beard","tooth","poop-deck","Threepwood","Le Chuck","corsair","Silver","Crusoe")]'"
|
||||
desc = "Yaarghh!! Thar' be a scurvy dog!"
|
||||
emote_see = list("hunts for treasure","stares coldly...","gnashes his tiny corgi teeth")
|
||||
emote_hear = list("growls ferociously", "snarls")
|
||||
speak = list("Arrrrgh!!","Grrrrrr!")
|
||||
if(/obj/item/clothing/head/ushanka)
|
||||
name = "[pick("Comrade","Commissar")] [real_name]"
|
||||
name = "[pick("Comrade","Commissar","Glorious Leader")] [real_name]"
|
||||
desc = "A follower of Karl Barx."
|
||||
emote_see = list("contemplates the failings of the capitalist economic model", "ponders the pros and cons of vangaurdism")
|
||||
if(/obj/item/clothing/head/collectable/police)
|
||||
@@ -224,7 +223,7 @@
|
||||
name = "Grandwizard [real_name]"
|
||||
speak = list("YAP", "Woof!", "Bark!", "AUUUUUU", "EI NATH!")
|
||||
if(/obj/item/weapon/bedsheet)
|
||||
name = "The ghost"
|
||||
name = "\improper Ghost"
|
||||
speak = list("WoooOOOooo~","AUUUUUUUUUUUUUUUUUU")
|
||||
emote_see = list("stumbles around", "shivers")
|
||||
emote_hear = list("howls","groans")
|
||||
@@ -237,7 +236,7 @@
|
||||
|
||||
if("back")
|
||||
if(inventory_back)
|
||||
usr << "\red The [inventory_back] is already in this slot."
|
||||
usr << "\red It's already wearing something."
|
||||
return
|
||||
else
|
||||
var/obj/item/item_to_add = usr.get_active_hand()
|
||||
@@ -253,7 +252,7 @@
|
||||
)
|
||||
|
||||
if( ! ( item_to_add.type in allowed_types ) )
|
||||
usr << "\red The object cannot fit on this animal."
|
||||
usr << "\red This object won't fit."
|
||||
return
|
||||
|
||||
usr.drop_item()
|
||||
@@ -269,6 +268,7 @@
|
||||
/mob/living/simple_animal/corgi/Ian
|
||||
name = "Ian"
|
||||
real_name = "Ian" //Intended to hold the name without altering it.
|
||||
gender = "male"
|
||||
desc = "It's a corgi."
|
||||
var/turns_since_scan = 0
|
||||
var/obj/movement_target
|
||||
@@ -321,7 +321,7 @@
|
||||
emote("stares at the [movement_target] that [movement_target.loc] has with a sad puppy-face")
|
||||
|
||||
if(prob(1))
|
||||
emote("dances around")
|
||||
emote(pick("dances around","chases its tail"))
|
||||
spawn(0)
|
||||
for(var/i in list(1,2,4,8,4,2,1,2,4,8,4,2,1,2,4,8,4,2))
|
||||
dir = i
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "animal"
|
||||
var/icon_living = ""
|
||||
var/icon_dead = ""
|
||||
var/max_health = 20
|
||||
maxHealth = 20
|
||||
var/alive = 1
|
||||
var/list/speak = list()
|
||||
var/list/speak_emote = list()// Emotes while speaking IE: Ian [emote], [text] -- Ian barks, "WOOF!". Spoken text is generated from the speak variable.
|
||||
@@ -77,8 +77,8 @@
|
||||
density = 0
|
||||
return
|
||||
|
||||
if(health > max_health)
|
||||
health = max_health
|
||||
if(health > maxHealth)
|
||||
health = maxHealth
|
||||
|
||||
//Movement
|
||||
if(!ckey && !stop_automated_movement)
|
||||
@@ -201,6 +201,7 @@
|
||||
|
||||
/mob/living/simple_animal/emote(var/act)
|
||||
if(act)
|
||||
if(act == "scream") act = "makes a loud and pained whimper" //ugly hack to stop animals screaming when crushed :P
|
||||
for (var/mob/O in viewers(src, null))
|
||||
O.show_message("<B>[src]</B> [act].")
|
||||
|
||||
@@ -267,9 +268,9 @@
|
||||
if(istype(O, /obj/item/stack/medical))
|
||||
if(alive)
|
||||
var/obj/item/stack/medical/MED = O
|
||||
if(health < max_health)
|
||||
if(health < maxHealth)
|
||||
if(MED.amount >= 1)
|
||||
health = min(max_health, health + MED.heal_brute)
|
||||
health = min(maxHealth, health + MED.heal_brute)
|
||||
MED.amount -= 1
|
||||
if(MED.amount <= 0)
|
||||
del(MED)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "shade"
|
||||
icon_living = "shade"
|
||||
icon_dead = "shade_dead"
|
||||
max_health = 50
|
||||
maxHealth = 50
|
||||
health = 50
|
||||
speak_emote = list("hisses")
|
||||
emote_hear = list("wails","screeches")
|
||||
|
||||
@@ -161,9 +161,9 @@
|
||||
|
||||
else
|
||||
if (stat & MAINT)
|
||||
usr << "The cover is closed. Something wrong with it: it's doesn't work."
|
||||
usr << "The cover is closed. Something wrong with it: it doesn't work."
|
||||
else if (malfhack)
|
||||
usr << "The cover is broken. It's may be hard to force it open."
|
||||
usr << "The cover is broken. It may be hard to force it open."
|
||||
else
|
||||
usr << "The cover is closed."
|
||||
|
||||
|
||||
@@ -366,7 +366,7 @@
|
||||
// called when area power state changes
|
||||
|
||||
/obj/machinery/light/power_change()
|
||||
spawn(rand(0,15))
|
||||
spawn(0) //rand(0,15)
|
||||
var/area/A = src.loc.loc
|
||||
A = A.master
|
||||
seton(A.lightswitch && A.power_light)
|
||||
|
||||
@@ -188,7 +188,7 @@ display round(lastgen) and plasmatank amount
|
||||
attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if(istype(O, text2path(coin_path)))
|
||||
if(coins >= max_coins)
|
||||
user << "\red The generator already has it's maximum amount of fuel!"
|
||||
user << "\red The generator already has its maximum amount of fuel!"
|
||||
return
|
||||
coins++
|
||||
user.drop_item()
|
||||
|
||||
@@ -217,7 +217,7 @@
|
||||
temp_server.id_with_download += num
|
||||
|
||||
else if(href_list["reset_tech"])
|
||||
var/choice = alert("Technology Data Rest", "Are you sure you want to reset this technology to it's default data? Data lost cannot be recovered.", "Continue", "Cancel")
|
||||
var/choice = alert("Technology Data Rest", "Are you sure you want to reset this technology to its default data? Data lost cannot be recovered.", "Continue", "Cancel")
|
||||
if(choice == "Continue")
|
||||
for(var/datum/tech/T in temp_server.files.known_tech)
|
||||
if(T.id == href_list["reset_tech"])
|
||||
@@ -226,7 +226,7 @@
|
||||
temp_server.files.RefreshResearch()
|
||||
|
||||
else if(href_list["reset_design"])
|
||||
var/choice = alert("Design Data Deletion", "Are you sure you want to delete this design? If you still have the prerequisites for the design, it'll reset to it's base reliability. Data lost cannot be recovered.", "Continue", "Cancel")
|
||||
var/choice = alert("Design Data Deletion", "Are you sure you want to delete this design? If you still have the prerequisites for the design, it'll reset to its base reliability. Data lost cannot be recovered.", "Continue", "Cancel")
|
||||
if(choice == "Continue")
|
||||
for(var/datum/design/D in temp_server.files.known_designs)
|
||||
if(D.id == href_list["reset_design"])
|
||||
|
||||
Reference in New Issue
Block a user