Merge branch 'work_in_progress' of github.com:caelaislinn/Baystation12 into features

This commit is contained in:
Cael_Aislinn
2012-12-03 18:56:16 +10:00
12 changed files with 127 additions and 68 deletions

View File

@@ -26,6 +26,7 @@
var/be_alien = 0 //Check if that guy wants to be an alien
var/be_pai = 1 //Consider client when searching for players to recruit as a pAI
var/be_syndicate = 1 //Consider client for late-game autotraitor
var/be_spaceninja = 0
var/activeslot = 1 //Default active slot!
var/STFU_ghosts //80+ people rounds are fun to admin when text flies faster than airport security
var/STFU_radio //80+ people rounds are fun to admin when text flies faster than airport security

View File

@@ -529,22 +529,6 @@
desc = "A colorful pair of magboots with the name Susan Harris clearly written on the back."
icon = 'custom_items.dmi'
icon_state = "atmosmagboots0"
toggle()
set name = "Toggle Magboots"
set category = "Object"
set src in usr
if(src.magpulse)
src.flags &= ~NOSLIP
src.slowdown = SHOES_SLOWDOWN
src.magpulse = 0
icon_state = "atmosmagboots0"
usr << "You disable the mag-pulse traction system."
else
src.flags |= NOSLIP
src.slowdown = 2
src.magpulse = 1
icon_state = "atmosmagboots1"
usr << "You enable the mag-pulse traction system."
//////////// Sets ////////////

View File

@@ -257,6 +257,17 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
client.be_pai = 1
src << "You will now be considered a viable candidate when a pAI device requests a new personality, effective until the end of this round."
/mob/dead/observer/verb/toggle_spaceninja_candidate()
set name = "Toggle Be Space Ninja Candidate"
set category = "Ghost"
set desc = "Determines whether you will be a candidate for when a new space ninja spawns. (toggle)"
if(client.be_spaceninja)
client.be_spaceninja = 0
src << "You are now excluded from space ninja candidate lists until end of round."
else
client.be_spaceninja = 1
src << "You are now included in space ninja candidate lists until end of round."
/mob/dead/observer/memory()
set hidden = 1
src << "\red You are dead! You have no mind to store memory!"

View File

@@ -192,7 +192,7 @@
swap_hand()
/mob/living/carbon/proc/help_shake_act(mob/living/carbon/M)
if (src.health > 0)
if (src.health > config.health_threshold_crit)
if(src == M && istype(src, /mob/living/carbon/human))
var/mob/living/carbon/human/H = src
src.visible_message( \

View File

@@ -305,7 +305,7 @@
/obj/effect/equip_e/human/process()
if (item)
item.add_fingerprint(source)
if (!item)
else
switch(place)
if("mask")
if (!( target.wear_mask ))
@@ -542,7 +542,7 @@ It can still be worn/put on as normal.
if (target.legcuffed)
strip_item = target.legcuffed
if("CPR")
if ((target.health >= -99.0 && target.health <= 0))
if ((target.health > config.health_threshold_dead && target.health < config.health_threshold_crit))
var/suff = min(target.getOxyLoss(), 7)
target.adjustOxyLoss(-suff)
target.updatehealth()

View File

@@ -12,6 +12,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
"pAI candidate" = 1, // -- TLE // 7
"cultist" = IS_MODE_COMPILED("cult"), // 8
"infested monkey" = IS_MODE_COMPILED("monkey"), // 9
"space ninja" = "true", // 9
)
var/global/list/underwear_m = list("White", "Grey", "Green", "Blue", "Black", "Mankini", "Love-Hearts", "Black2", "Grey2", "Stripey", "Kinky", "None") //Curse whoever made male/female underwear diffrent colours
@@ -28,6 +29,7 @@ var/const/BE_ALIEN =(1<<6)
var/const/BE_PAI =(1<<7)
var/const/BE_CULTIST =(1<<8)
var/const/BE_MONKEY =(1<<9)
var/const/BE_SPACENINJA=(1<<10)
var/const/MAX_SAVE_SLOTS = 10
@@ -236,8 +238,8 @@ datum/preferences
dat += "<a href=\"byond://?src=\ref[user];preference=slotname;task=input\">Rename slot</a> - "
dat += "<a href=\"byond://?src=\ref[user];preference=reload\">Reload slot</a>"
//column 1
dat += "</center><hr><table><tr><td width='310px'>"
//COLUMN 1
dat += "</center><hr><table><tr><td width='285px'>"
dat += "<b>Name:</b> "
dat += "<a href=\"byond://?src=\ref[user];preference=name;task=input\"><b>[real_name]</b></a> "
@@ -263,41 +265,68 @@ datum/preferences
dat += "[(sound_adminhelp)?"On":"Off"] <a href='byond://?src=\ref[user];preference=hear_adminhelps'>toggle</a><br>"
if(user.client.holder.level >= 5)
dat += "<br><b>OOC</b><br>"
dat += "<a href='byond://?src=\ref[user];preference=ooccolor;task=input'>Change color</a> <font face=\"fixedsys\" size=\"3\" color=\"[ooccolor]\"><table style='display:inline;' bgcolor=\"[ooccolor]\"><tr><td>__</td></tr></table></font><br>"
dat += "<br><a href='byond://?src=\ref[user];preference=ooccolor;task=input'><b>OOC color</b></a> <font face=\"fixedsys\" size=\"3\" color=\"[ooccolor]\"><table style='display:inline;' bgcolor=\"[ooccolor]\"><tr><td>__</td></tr></table></font><br>"
dat += "<br><b>Occupation Choices</b><br>"
dat += "\t<a href=\"byond://?src=\ref[user];preference=job;task=menu\"><b>Set Preferences</b></a><br><br>"
dat += "\t<a href=\"byond://?src=\ref[user];preference=job;task=menu\"><b>Occupation Preferences</b></a><br>"
if(jobban_isbanned(user, "Records"))
dat += "<b>You are banned from using character records.</b><br>"
else
dat += "<b><a href=\"byond://?src=\ref[user];preference=records;record=1\">Character Records</a></b><br><br>"
dat += "<b><a href=\"byond://?src=\ref[user];preference=records;record=1\">Character Records</a></b><br>"
dat += "<b>Flavor Text</b><br>"
dat += "<a href='byond://?src=\ref[user];preference=flavor_text;task=input'>Change</a><br>"
dat += "\t<a href=\"byond://?src=\ref[user];preference=skills\"><b>Set Skills</b> (<i>[GetSkillClass(used_skillpoints)][used_skillpoints > 0 ? " [used_skillpoints]" : "0"])</i></a><br>"
dat += "<a href='byond://?src=\ref[user];preference=flavor_text;task=input'><b>Set Flavor Text</b></a><br>"
if(lentext(flavor_text) <= 40)
dat += "[flavor_text]"
if(!lentext(flavor_text))
dat += "\[...\]"
else
dat += "[flavor_text]"
else
dat += "[copytext(flavor_text, 1, 37)]...<br>"
dat += "<br>"
dat += "<b>Skill Choices</b><br>"
dat += "\t<i>[GetSkillClass(used_skillpoints)]</i> ([used_skillpoints])<br>"
dat += "\t<a href=\"byond://?src=\ref[user];preference=skills\"><b>Set Skills</b></a><br><br>"
//column 2
dat += "</td><td width='310px'>" //height='300px'
dat += "<table><tr><td width=100><b>Body</b> "
dat += "(<a href=\"byond://?src=\ref[user];preference=all;task=random\">&reg;</A>)"
//antag
dat += "<br>"
if(jobban_isbanned(user, "Syndicate"))
dat += "<b>You are banned from antagonist roles.</b>"
src.be_special = 0
else
var/n = 0
for (var/i in special_roles)
if(special_roles[i]) //if mode is available on the server
if(jobban_isbanned(user, i))
dat += "<b>Be [i]:</b> <font color=red><b> \[BANNED]</b></font><br>"
else if(i == "pai candidate")
if(jobban_isbanned(user, "pAI"))
dat += "<b>Be [i]:</b> <font color=red><b> \[BANNED]</b></font><br>"
else
dat += "<b>Be [i]:</b> <a href=\"byond://?src=\ref[user];preference=be_special;num=[n]\"><b>[src.be_special&(1<<n) ? "Yes" : "No"]</b></a><br>"
n++
dat += "</td>"
//COLUMN 2
dat += "<td>"
dat += "<table><tr>"
dat += "<td width='142px'>"
dat += "<b>Body</b> (<a href=\"byond://?src=\ref[user];preference=all;task=random\">&reg;</A>)<br>"
dat += "Species: <a href='byond://?src=\ref[user];preference=species;task=input'>[species]</a><br>"
dat += "Blood Type: <a href='byond://?src=\ref[user];preference=b_type;task=input'>[b_type]</a><br>"
dat += "Skin Tone: <a href='byond://?src=\ref[user];preference=s_tone;task=input'>[-s_tone + 35]/220<br></a>"
dat += "Skin Tone: <a href='byond://?src=\ref[user];preference=s_tone;task=input'>[-s_tone + 35]/220</a><br>"
dat += "<a href='byond://?src=\ref[user];preference=skin_style;task=input'>Adjust Skin</a><br>"
dat += "<a href='byond://?src=\ref[user];preference=limbs;task=input'>Adjust Limbs</a><br>"
dat += "</td>"
dat += "Limbs: <a href='byond://?src=\ref[user];preference=limbs;task=input'>Adjust Limbs</a><br>"
dat += "<td><b>Preview</b></br>"
dat += "<img src=previewicon.png height=64 width=64><img src=previewicon2.png height=64 width=64></br></td>"
dat += "</tr></table>"
//display limbs below
var/ind = 0
for(var/name in organ_data)
//world << "[ind] \ [organ_data.len]"
var/status = organ_data[name]
var/organ_name = null
switch(name)
@@ -319,11 +348,18 @@ datum/preferences
organ_name = "right hand"
if(status == "cyborg")
dat += "\tRobotical [organ_name] prothesis<br>"
if(status == "amputated")
dat += "\tAmputated [organ_name]<br>"
dat+="<br>"
++ind
if(ind > 1)
dat += ", "
dat += "\tMechanical [organ_name] prothesis"
else if(status == "amputated")
++ind
if(ind > 1)
dat += ", "
dat += "\tAmputated [organ_name]"
if(ind)
dat += "\[...\]"
dat += "<br><br>"
if(gender == MALE)
dat += "Underwear: <a href =\"byond://?src=\ref[user];preference=underwear;task=input\"><b>[underwear_m[underwear]]</b></a><br>"
@@ -332,8 +368,6 @@ datum/preferences
dat += "Backpack Type:<br><a href =\"byond://?src=\ref[user];preference=bag;task=input\"><b>[backbaglist[backbag]]</b></a><br>"
dat += "</td><td><b>Preview</b><br><img src=previewicon.png height=64 width=64><img src=previewicon2.png height=64 width=64></td></tr></table>"
dat += "<br><b>Hair</b><br>"
dat += "<a href='byond://?src=\ref[user];preference=hair;task=input'>Change Color</a> <font face=\"fixedsys\" size=\"3\" color=\"#[num2hex(r_hair, 2)][num2hex(g_hair, 2)][num2hex(b_hair, 2)]\"><table style='display:inline;' bgcolor=\"#[num2hex(r_hair, 2)][num2hex(g_hair, 2)][num2hex(b_hair)]\"><tr><td>__</td></tr></table></font><br>"
dat += "Style: <a href='byond://?src=\ref[user];preference=h_style;task=input'>[h_style]</a><br>"
@@ -345,22 +379,7 @@ datum/preferences
dat += "<br><b>Eyes</b><br>"
dat += "<a href='byond://?src=\ref[user];preference=eyes;task=input'>Change Color</a> <font face=\"fixedsys\" size=\"3\" color=\"#[num2hex(r_eyes, 2)][num2hex(g_eyes, 2)][num2hex(b_eyes, 2)]\"><table style='display:inline;' bgcolor=\"#[num2hex(r_eyes, 2)][num2hex(g_eyes, 2)][num2hex(b_eyes)]\"><tr><td>__</td></tr></table></font>"
dat += "<br><br>"
if(jobban_isbanned(user, "Syndicate"))
dat += "<b>You are banned from antagonist roles.</b>"
src.be_special = 0
else
var/n = 0
for (var/i in special_roles)
if(special_roles[i]) //if mode is available on the server
if(jobban_isbanned(user, i))
dat += "<b>Be [i]:</b> <font color=red><b> \[BANNED]</b></font><br>"
else if(i == "pai candidate")
if(jobban_isbanned(user, "pAI"))
dat += "<b>Be [i]:</b> <font color=red><b> \[BANNED]</b></font><br>"
else
dat += "<b>Be [i]:</b> <a href=\"byond://?src=\ref[user];preference=be_special;num=[n]\"><b>[src.be_special&(1<<n) ? "Yes" : "No"]</b></a><br>"
n++
dat += "<br>"
dat += "</td></tr></table><center>"
dat += "<hr>"
@@ -1021,6 +1040,10 @@ datum/preferences
if(second_limb)
organ_data[second_limb] = "cyborg"
if("skin_style")
var/skin_style_name = input(user, "Select a new skin style") as null|anything in list("default1", "default2", "default3")
if(!skin_style_name) return
else
switch(href_list["preference"])
@@ -1231,6 +1254,7 @@ datum/preferences
C.be_alien = be_special & BE_ALIEN
C.be_pai = be_special & BE_PAI
C.be_syndicate = be_special & BE_TRAITOR
C.be_spaceninja = be_special & BE_SPACENINJA
if(isnull(src.ghost_ears)) src.ghost_ears = 1 //There were problems where the default was null before someone saved their profile.
C.ghost_ears = src.ghost_ears
C.ghost_sight = src.ghost_sight

View File

@@ -331,3 +331,29 @@
name = "Tajaran Ears"
icon_state = "tajears"
species_allowed = list("Tajaran")
//skin styles - WIP
/datum/sprite_accessory/skin
human
name = "Default human skin"
icon = "human"
human_tatt01
name = "Tatt01 human skin"
icon = "human_tattoo1"
tajaran
name = "Default tajaran skin"
icon = "tajaran"
species_allowed = list("Tajaran")
soghun
name = "Default soghun skin"
icon = "soghun"
species_allowed = list("Soghun")
skrell
name = "Default skrell skin"
icon = "skrell"
species_allowed = list("Skrell")

View File

@@ -518,6 +518,7 @@
if ((!( L.stat ) && L.canmove && !( L.restrained() )))
var/resisting = 0
for(var/obj/O in L.requests)
L.requests.Remove(O)
del(O)
resisting++
for(var/obj/item/weapon/grab/G in usr.grabbed_by)

View File

@@ -6,8 +6,9 @@
name = "hypospray"
desc = "The DeForest Medical Corporation hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients."
icon = 'icons/obj/syringe.dmi'
item_state = "hypo"
item_state = "hypo1"
icon_state = "hypo"
var/original_icon_state = "hypo"
amount_per_transfer_from_this = 5
volume = 30
possible_transfer_amounts = null
@@ -56,6 +57,7 @@
name = "autoinjector"
desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel."
icon_state = "autoinjector"
original_icon_state = "autoinjector"
item_state = "autoinjector"
amount_per_transfer_from_this = 5
volume = 5
@@ -74,9 +76,9 @@
/obj/item/weapon/reagent_containers/hypospray/autoinjector/update_icon()
if(reagents.total_volume > 0)
icon_state = "[initial(icon_state)]1"
icon_state = "[original_icon_state]1"
else
icon_state = "[initial(icon_state)]0"
icon_state = "[original_icon_state]0"
/obj/item/weapon/reagent_containers/hypospray/autoinjector/examine()
..()