various mergefixes

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
Cael_Aislinn
2012-10-09 22:49:38 +10:00
parent 6bd0e536bd
commit 825a7dcbf9
15 changed files with 560 additions and 1013 deletions

View File

@@ -97,9 +97,6 @@
// del(src)
// return
if ("Retired Admin")
holder.level = -3
else
del(holder)
return
@@ -107,26 +104,22 @@
if (holder) //THE BELOW handles granting powers. The above is for special cases only!
holder.owner = src
//---- Special Admin Ranks
//Retired admin
//---- Special Admin Ranks //Retired admin
if (holder.level == -3)
verbs += /client/proc/cmd_admin_say
verbs += /client/proc/cmd_mod_say
return
//Admin Observer
if (holder.level == -1)
if (holder.level >= -1)
verbs += /client/proc/investigate_show
verbs += /client/proc/cmd_admin_say
verbs += /client/proc/cmd_mod_say
verbs += /client/proc/cmd_admin_gib_self
verbs += /client/proc/update_mob_sprite
verbs += /client/proc/deadmin_self
return
else return
//Moderator
if (holder.level == 0)
if (holder.level >= 0)
verbs += /client/proc/cmd_admin_pm_context
verbs += /client/proc/cmd_admin_pm_panel
verbs += /client/proc/hide_verbs
@@ -136,13 +129,7 @@
verbs += /datum/admins/proc/show_skills
verbs += /client/proc/mod_panel
verbs += /client/proc/admin_ghost
return
//---- Full Admin Ranks
if (holder.level > 0)
verbs += /client/proc/cmd_admin_say
verbs += /client/proc/cmd_mod_say
verbs += /client/proc/admin_ghost
else return
//Temporary Admin
if (holder.level >= 1)
@@ -154,7 +141,8 @@
verbs += /client/proc/toggle_hear_deadcast
verbs += /client/proc/toggle_hear_radio
verbs += /client/proc/deadmin_self
verbs += /client/proc/playernotes
//verbs += /client/proc/cmd_admin_attack_log --Merged with view variables
else return
//Admin Candidate
if (holder.level >= 2)
@@ -189,9 +177,12 @@
verbs += /proc/possess
verbs += /proc/release
verbs += /client/proc/one_click_antag
//BS12 Commands
//bs12 specific
verbs += /client/proc/admin_deny_shuttle
verbs += /client/proc/editappear
else return
//Badmin
@@ -265,6 +256,7 @@
//Game Master
if (holder.level >= 6)
world << "game master applied successfuly"
verbs += /datum/admins/proc/toggle_aliens //toggle aliens
verbs += /datum/admins/proc/toggle_space_ninja //toggle ninjas
verbs += /datum/admins/proc/adjump
@@ -411,7 +403,19 @@
/client/proc/cmd_debug_mob_lists,
/datum/admins/proc/access_news_network,
/client/proc/one_click_antag,
/client/proc/invisimin
/client/proc/invisimin,
//bs12 verbs
/client/proc/update_mob_sprite,
/client/proc/mod_panel,
/client/proc/admin_deny_shuttle,
/client/proc/playernotes,
/datum/admins/proc/show_skills,
/client/proc/Report,
/client/proc/display_admin_reports,
/client/proc/editappear,
/client/proc/cmd_mod_say,
/client/proc/playernotes
)
//verbs -= /client/proc/mapload
//verbs -= /client/proc/cmd_admin_drop_everything --merged with view variables
@@ -433,17 +437,6 @@
//verbs -= /client/proc/warn
//verbs -= /client/proc/cmd_admin_mute --was never used (according to stats trackind) - use show player panel --erro
//verbs -= /client/proc/cmd_admin_remove_plasma --This proc is outdated, does not do anything
//BS12 Admin Verbs
verbs -= /client/proc/update_mob_sprite
verbs -= /client/proc/mod_panel
verbs -= /client/proc/admin_deny_shuttle
verbs -= /client/proc/playernotes
verbs -= /datum/admins/proc/show_skills
verbs -= /client/proc/Report
verbs -= /client/proc/display_admin_reports
verbs -= /client/proc/editappear
verbs -= /client/proc/cmd_mod_say
verbs -= /client/proc/playernotes
return
/client/proc/admin_ghost()
@@ -508,14 +501,6 @@
feedback_add_details("admin_verb","PPN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
/client/proc/mod_panel()
set name = "Moderator Panel"
set category = "Admin"
if(holder)
holder.mod_panel()
feedback_add_details("admin_verb","MDRP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
/client/proc/check_antagonists()
set name = "Check Antagonists"
set category = "Admin"
@@ -582,13 +567,6 @@
message_admins("[key_name_admin(usr)] has turned stealth mode [holder.fakekey ? "ON" : "OFF"]", 1)
feedback_add_details("admin_verb","SM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/playernotes()
set name = "Show Player Info"
set category = "Admin"
if(holder)
holder.PlayerNotes()
return
#define AUTOBATIME 10
/client/proc/warn(var/mob/M in player_list)
/*set category = "Special Verbs"
@@ -833,86 +811,106 @@
config.log_hrefs = 1
src << "<b>Started logging hrefs</b>"
/client/proc/check_ai_laws()
set name = "Check AI Laws"
set category = "Admin"
if(holder)
src.holder.output_ai_laws()
//---- bs12 verbs ----
/client/proc/mod_panel()
set name = "Moderator Panel"
set category = "Admin"
if(holder)
holder.mod_panel()
// feedback_add_details("admin_verb","MP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
/client/proc/editappear(mob/living/carbon/human/M as mob in world)
set name = "Edit Appearance"
set category = "Fun"
if(!istype(M, /mob/living/carbon/human))
usr << "\red This proc has been temporarily disabled."
return
//some random errors here, cbb fixing them right now
//todo
/*if(!istype(M, /mob/living/carbon/human))
usr << "\red You can only do this to humans!"
return
switch(alert("You sure you wish to edit this mob's appearance?",,"Yes","No"))
switch(alert("Are you sure you wish to edit this mob's appearance? Skrell, Soghun and Tajaran can result in unintended consequences.",,"Yes","No"))
if("No")
return
if(!ishuman(M))
usr << "\red Non-humans are not editable yet!"
else
var/new_facial = input("Please select facial hair color.", "Character Generation") as color
if(new_facial)
M.r_facial = hex2num(copytext(new_facial, 2, 4))
M.g_facial = hex2num(copytext(new_facial, 4, 6))
M.b_facial = hex2num(copytext(new_facial, 6, 8))
var/new_facial = input("Please select facial hair color.", "Character Generation") as color
if(new_facial)
M.r_facial = hex2num(copytext(new_facial, 2, 4))
M.g_facial = hex2num(copytext(new_facial, 4, 6))
M.b_facial = hex2num(copytext(new_facial, 6, 8))
var/new_hair = input("Please select hair color.", "Character Generation") as color
if(new_facial)
M.r_hair = hex2num(copytext(new_hair, 2, 4))
M.g_hair = hex2num(copytext(new_hair, 4, 6))
M.b_hair = hex2num(copytext(new_hair, 6, 8))
var/new_hair = input("Please select hair color.", "Character Generation") as color
if(new_facial)
M.r_hair = hex2num(copytext(new_hair, 2, 4))
M.g_hair = hex2num(copytext(new_hair, 4, 6))
M.b_hair = hex2num(copytext(new_hair, 6, 8))
var/new_eyes = input("Please select eye color.", "Character Generation") as color
if(new_eyes)
M.r_eyes = hex2num(copytext(new_eyes, 2, 4))
M.g_eyes = hex2num(copytext(new_eyes, 4, 6))
M.b_eyes = hex2num(copytext(new_eyes, 6, 8))
var/new_eyes = input("Please select eye color.", "Character Generation") as color
if(new_eyes)
M.r_eyes = hex2num(copytext(new_eyes, 2, 4))
M.g_eyes = hex2num(copytext(new_eyes, 4, 6))
M.b_eyes = hex2num(copytext(new_eyes, 6, 8))
var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as text
var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as text
if (new_tone)
M.s_tone = max(min(round(text2num(new_tone)), 220), 1)
M.s_tone = -M.s_tone + 35
if (new_tone)
M.s_tone = max(min(round(text2num(new_tone)), 220), 1)
M.s_tone = -M.s_tone + 35
// hair
var/list/all_hairs = typesof(/datum/sprite_accessory/hair) - /datum/sprite_accessory/hair
var/list/hairs = list()
// hair
var/list/all_hairs = typesof(/datum/sprite_accessory/hair) - /datum/sprite_accessory/hair
var/list/hairs = list()
// loop through potential hairs
for(var/x in all_hairs)
var/datum/sprite_accessory/hair/H = new x // create new hair datum based on type x
hairs.Add(H.name) // add hair name to hairs
del(H) // delete the hair after it's all done
// loop through potential hairs
for(var/x in all_hairs)
var/datum/sprite_accessory/hair/H = new x // create new hair datum based on type x
hairs.Add(H.name) // add hair name to hairs
del(H) // delete the hair after it's all done
var/new_style = input("Please select hair style", "Character Generation") as null|anything in hairs
var/new_style = input("Please select hair style", "Character Generation") as null|anything in hairs
// if new style selected (not cancel)
if (new_style)
M.h_style = new_style
// if new style selected (not cancel)
if (new_style)
M.h_style = new_style
for(var/x in all_hairs) // loop through all_hairs again. Might be slightly CPU expensive, but not significantly.
var/datum/sprite_accessory/hair/H = new x // create new hair datum
if(H.name == new_style)
M.h_style = H // assign the hair_style variable a new hair datum
break
else
del(H) // if hair H not used, delete. BYOND can garbage collect, but better safe than sorry
for(var/x in all_hairs) // loop through all_hairs again. Might be slightly CPU expensive, but not significantly.
var/datum/sprite_accessory/hair/H = new x // create new hair datum
if(H.name == new_style)
M.hair_style = H // assign the hair_style variable a new hair datum
break
else
del(H) // if hair H not used, delete. BYOND can garbage collect, but better safe than sorry
// facial hair
var/list/all_fhairs = typesof(/datum/sprite_accessory/facial_hair) - /datum/sprite_accessory/facial_hair
var/list/fhairs = list()
// facial hair
var/list/all_fhairs = typesof(/datum/sprite_accessory/facial_hair) - /datum/sprite_accessory/facial_hair
var/list/fhairs = list()
for(var/x in all_fhairs)
var/datum/sprite_accessory/facial_hair/H = new x
fhairs.Add(H.name)
del(H)
new_style = input("Please select facial style", "Character Generation") as null|anything in fhairs
if(new_style)
M.f_style = new_style
for(var/x in all_fhairs)
var/datum/sprite_accessory/facial_hair/H = new x
fhairs.Add(H.name)
del(H)
new_style = input("Please select facial style", "Character Generation") as null|anything in fhairs
if(new_style)
M.f_style = new_style
for(var/x in all_fhairs)
var/datum/sprite_accessory/facial_hair/H = new x
if(H.name == new_style)
M.f_style = H
break
else
del(H)
if(H.name == new_style)
M.facial_hair_style = H
break
else
del(H)
var/new_gender = alert(usr, "Please select gender.", "Character Generation", "Male", "Female")
if (new_gender)
@@ -920,14 +918,14 @@
M.gender = MALE
else
M.gender = FEMALE
M.regenerate_icons()
M.rebuild_appearance()
M.update_body()
M.check_dna(M)
*/
/client/proc/check_ai_laws()
set name = "Check AI Laws"
/client/proc/playernotes()
set name = "Show Player Info"
set category = "Admin"
if(holder)
src.holder.output_ai_laws()
holder.PlayerNotes()
return

View File

@@ -116,11 +116,17 @@
//Admin Authorisation
var/datum/admins/Admin_Obj = admins[ckey]
var/adminlist = ""
for(var/adminkey in admins)
adminlist += adminkey + ", "
world << adminlist
if(istype(Admin_Obj))
admin_list += src
holder = Admin_Obj
holder.owner = src
holder.state = null
world << ckey + " set as admin correctly"
..() //calls mob.Login()

View File

@@ -149,4 +149,57 @@
desc = "Gentleman, elite aboard!"
icon_state = "bowler"
item_state = "bowler"
flags = FPRINT | TABLEPASS//stylish new hats/obj/item/clothing/head/bowlerhat name = "bowler hat" icon_state = "bowler_hat" item_state = "bowler_hat" desc = "For the gentleman of distinction." flags = FPRINT|TABLEPASS/obj/item/clothing/head/beaverhat name = "beaver hat" icon_state = "beaver_hat" item_state = "beaver_hat" desc = "Soft felt makes this hat both comfortable and elegant." flags = FPRINT|TABLEPASS/obj/item/clothing/head/boaterhat name = "boater hat" icon_state = "boater_hat" item_state = "boater_hat" desc = "The ultimate in summer fashion." flags = FPRINT|TABLEPASS/obj/item/clothing/head/fedora name = "\improper fedora" icon_state = "fedora" item_state = "fedora" desc = "A sharp, stylish hat." flags = FPRINT|TABLEPASS/obj/item/clothing/head/feathertrilby name = "\improper feather trilby" icon_state = "feather_trilby" item_state = "feather_trilby" desc = "A sharp, stylish hat with a feather." flags = FPRINT|TABLEPASS/obj/item/clothing/head/fez name = "\improper fez" icon_state = "fez" item_state = "fez" desc = "You should wear a fez. Fezzes are cool." flags = FPRINT|TABLEPASS/obj/item/clothing/head/witchwig name = "witch costume wig" desc = "Eeeee~heheheheheheh!" icon_state = "witch" item_state = "witch" flags = FPRINT | TABLEPASS | BLOCKHAIR
flags = FPRINT | TABLEPASS
//stylish bs12 hats
/obj/item/clothing/head/bowlerhat
name = "bowler hat"
icon_state = "bowler_hat"
item_state = "bowler_hat"
desc = "For the gentleman of distinction."
flags = FPRINT|TABLEPASS
/obj/item/clothing/head/beaverhat
name = "beaver hat"
icon_state = "beaver_hat"
item_state = "beaver_hat"
desc = "Soft felt makes this hat both comfortable and elegant."
flags = FPRINT|TABLEPASS
/obj/item/clothing/head/boaterhat
name = "boater hat"
icon_state = "boater_hat"
item_state = "boater_hat"
desc = "The ultimate in summer fashion."
flags = FPRINT|TABLEPASS
/obj/item/clothing/head/fedora
name = "\improper fedora"
icon_state = "fedora"
item_state = "fedora"
desc = "A sharp, stylish hat."
flags = FPRINT|TABLEPASS
/obj/item/clothing/head/feathertrilby
name = "\improper feather trilby"
icon_state = "feather_trilby"
item_state = "feather_trilby"
desc = "A sharp, stylish hat with a feather."
flags = FPRINT|TABLEPASS
/obj/item/clothing/head/fez
name = "\improper fez"
icon_state = "fez"
item_state = "fez"
desc = "You should wear a fez. Fezzes are cool."
flags = FPRINT|TABLEPASS
//end bs12 hats
/obj/item/clothing/head/witchwig
name = "witch costume wig"
desc = "Eeeee~heheheheheheh!"
icon_state = "witch"
item_state = "witch"
flags = FPRINT | TABLEPASS | BLOCKHAIR

View File

@@ -86,4 +86,38 @@
w_class = 3
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60)
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
//Security rig/obj/item/clothing/head/helmet/space/rig/security name = "security hardsuit helmet" icon_state = "rig0-security" color = "security" armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10)/obj/item/clothing/suit/space/rig/security name = "security hardsuit" desc = "A suit specially designed for security to offer minor protection from environmental hazards, and greater protection from human hazards" icon_state = "rig-security" item_state = "rig-security" slowdown = 1 armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10) allowed = list(/obj/item/weapon/gun/energy/laser, /obj/item/weapon/gun/energy/pulse_rifle, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency_oxygen, /obj/item/weapon/gun/energy/taser, /obj/item/weapon/melee/baton)//Wizard Rig/obj/item/clothing/head/helmet/space/rig/wizard name = "gem-encrusted hardsuit helmet" icon_state = "rig0-wiz" item_state = "wiz_helm" color = "wiz" unacidable = 1 //No longer shall our kind be foiled by lone chemists with spray bottles! armor = list(melee = 40, bullet = 20, laser = 20,energy = 20, bomb = 35, bio = 100, rad = 60)/obj/item/clothing/suit/space/rig/wizard icon_state = "rig-wiz" name = "gem-encrusted hardsuit" item_state = "wiz_hardsuit" slowdown = 1 w_class = 3 unacidable = 1 armor = list(melee = 40, bullet = 20, laser = 20,energy = 20, bomb = 35, bio = 100, rad = 60) allowed = list(/obj/item/weapon/teleportation_scroll,/obj/item/weapon/tank/emergency_oxygen)
//Security rig
/obj/item/clothing/head/helmet/space/rig/security
name = "security hardsuit helmet"
icon_state = "rig0-security"
color = "security"
armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10)
/obj/item/clothing/suit/space/rig/security
name = "security hardsuit"
desc = "A suit specially designed for security to offer minor protection from environmental hazards, and greater protection from human hazards"
icon_state = "rig-security"
item_state = "rig-security"
slowdown = 1
armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10)
allowed = list(/obj/item/weapon/gun/energy/laser, /obj/item/weapon/gun/energy/pulse_rifle, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency_oxygen, /obj/item/weapon/gun/energy/taser, /obj/item/weapon/melee/baton)
//Wizard Rig
/obj/item/clothing/head/helmet/space/rig/wizard
name = "gem-encrusted hardsuit helmet"
icon_state = "rig0-wiz"
item_state = "wiz_helm"
color = "wiz"
unacidable = 1 //No longer shall our kind be foiled by lone chemists with spray bottles!
armor = list(melee = 40, bullet = 20, laser = 20,energy = 20, bomb = 35, bio = 100, rad = 60)
/obj/item/clothing/suit/space/rig/wizard
icon_state = "rig-wiz"
name = "gem-encrusted hardsuit"
item_state = "wiz_hardsuit"
slowdown = 1
w_class = 3
unacidable = 1
armor = list(melee = 40, bullet = 20, laser = 20,energy = 20, bomb = 35, bio = 100, rad = 60)
allowed = list(/obj/item/weapon/teleportation_scroll,/obj/item/weapon/tank/emergency_oxygen)

View File

@@ -230,4 +230,77 @@
icon_state = "gladiator"
item_state = "gladiator"
color = "gladiator"
//wedding stuff/obj/item/clothing/under/wedding/bride_orange name = "orange wedding dress" desc = "A big and puffy orange dress." icon_state = "bride_orange" item_state = "creamsuit" color = "bride_orange" flags_inv = HIDESHOES/obj/item/clothing/under/wedding/suit_white name = "white suit" desc = "A fabulous white suit with orange shirt." icon_state = "white_suit" item_state = "creamsuit" color = "white_suit"/obj/item/clothing/under/wedding/bridesmaid name = "yellow dress" desc = "A big and puffy orange dress." icon_state = "bridesmaid" item_state = "creamsuit" color = "bridesmaid"/obj/item/clothing/under/wedding/firedress name = "flaming hot black dress" desc = "A small black dress with blue flames print on it." icon_state = "dress_fire" item_state = "creamsuit" color = "dress_fire"/obj/item/clothing/under/wedding/dress_orange name = "orange dress" icon_state = "d_orange" color = "d_orange"/obj/item/clothing/under/wedding/dress_green name = "green dress" icon_state = "d_green" color = "d_green"/obj/item/clothing/under/wedding/dress_purple name = "purple dress" icon_state = "d_purple" color = "d_purple"/obj/item/clothing/under/wedding/dress_red name = "red dress" icon_state = "d_red" color = "d_red"/obj/item/clothing/under/wedding/dress_blue name = "blue dress" icon_state = "d_blue" color = "d_blue"/obj/item/clothing/under/wedding/officer_blue name = "blue officer dress" icon_state = "officer_blue" color = "officer_blue"/obj/item/clothing/under/wedding/dress_vampire name = "vampire dress" icon_state = "d_vampire" color = "d_vampire"/obj/item/clothing/under/sundress name = "sundress" desc = "Makes you want to frolic in a field of daisies." icon_state = "sundress" item_state = "sundress" color = "sundress" body_parts_covered = UPPER_TORSO|LOWER_TORSO
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
//wedding stuff
/obj/item/clothing/under/wedding/bride_orange
name = "orange wedding dress"
desc = "A big and puffy orange dress."
icon_state = "bride_orange"
item_state = "creamsuit"
color = "bride_orange"
flags_inv = HIDESHOES
/obj/item/clothing/under/wedding/suit_white
name = "white suit"
desc = "A fabulous white suit with orange shirt."
icon_state = "white_suit"
item_state = "creamsuit"
color = "white_suit"
/obj/item/clothing/under/wedding/bridesmaid
name = "yellow dress"
desc = "A big and puffy orange dress."
icon_state = "bridesmaid"
item_state = "creamsuit"
color = "bridesmaid"
/obj/item/clothing/under/wedding/firedress
name = "flaming hot black dress"
desc = "A small black dress with blue flames print on it."
icon_state = "dress_fire"
item_state = "creamsuit"
color = "dress_fire"
/obj/item/clothing/under/wedding/dress_orange
name = "orange dress"
icon_state = "d_orange"
color = "d_orange"
/obj/item/clothing/under/wedding/dress_green
name = "green dress"
icon_state = "d_green"
color = "d_green"
/obj/item/clothing/under/wedding/dress_purple
name = "purple dress"
icon_state = "d_purple"
color = "d_purple"
/obj/item/clothing/under/wedding/dress_red
name = "red dress"
icon_state = "d_red"
color = "d_red"
/obj/item/clothing/under/wedding/dress_blue
name = "blue dress"
icon_state = "d_blue"
color = "d_blue"
/obj/item/clothing/under/wedding/officer_blue
name = "blue officer dress"
icon_state = "officer_blue"
color = "officer_blue"
/obj/item/clothing/under/wedding/dress_vampire
name = "vampire dress"
icon_state = "d_vampire"
color = "d_vampire"
/obj/item/clothing/under/sundress
name = "sundress"
desc = "Makes you want to frolic in a field of daisies."
icon_state = "sundress"
item_state = "sundress"
color = "sundress"
body_parts_covered = UPPER_TORSO|LOWER_TORSO

View File

@@ -22,15 +22,15 @@ Contains the procs that control attacking critters
if (user.a_intent == "hurt")
TakeDamage(rand(1,2) * brutevuln)
if(istajaran(user))
for(var/mob/O in viewers(src, null))
O.show_message("\red <B>[user] has slashed at [src]!</B>", 1)
playsound(src.loc, 'slice.ogg', 25, 1, -1)
else if(istype(user, /mob/living/carbon/human))
for(var/mob/O in viewers(src, null))
O.show_message("\red <B>[user] has punched [src]!</B>", 1)
playsound(src.loc, pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg'), 100, 1)
if(istype(user, /mob/living/carbon/human))
if(user.get_species() == "Tajaran")
for(var/mob/O in viewers(src, null))
O.show_message("\red <B>[user] has slashed at [src]!</B>", 1)
playsound(src.loc, 'sound/weapons/slice.ogg', 25, 1, -1)
else
for(var/mob/O in viewers(src, null))
O.show_message("\red <B>[user] has punched [src]!</B>", 1)
playsound(src.loc, pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg'), 100, 1)
else if(istype(user, /mob/living/carbon/alien/humanoid))
for(var/mob/O in viewers(src, null))

View File

@@ -431,4 +431,4 @@
item.throw_at(target, item.throw_range, item.throw_speed)
item.throw_at(target, item.throw_range, item.throw_speed)

View File

@@ -661,3 +661,12 @@
return "Animated Construct"
else
return "Human"
/mob/living/carbon/get_species()
if(src.dna)
if(src.dna.mutantrace == "lizard")
return "Soghun"
else if(src.dna.mutantrace == "skrell")
return "Skrell"
else if(src.dna.mutantrace == "tajaran")
return "Tajaran"

View File

@@ -2,6 +2,7 @@
/mob/proc/update_Login_details()
//trigger admin holder updates. This is hear as all Login() calls this proc.
if(client.holder)
world << "calling update admin..."
client.update_admins(client.holder.rank)
//Multikey checks and logging
@@ -28,6 +29,7 @@
log_access("Notice: [key_name(src)] has the same [matches] as [key_name(M)] (no longer logged in).")
/mob/Login()
world << "/mob/Login()"
player_list |= src
update_Login_details()
world.update_status()

View File

@@ -865,5 +865,8 @@ note dizziness decrements automatically in the mob's Life() proc.
return 1
return 0
mob/proc/flash_weak_pain()
/mob/proc/get_species()
return ""
/mob/proc/flash_weak_pain()
flick("weak_pain",pain)

View File

@@ -1,4 +1,3 @@
<<<<<<< HEAD
/mob
density = 1
layer = 4.0
@@ -15,9 +14,6 @@
var/obj/screen/flash = null
var/obj/screen/blind = null
var/obj/screen/hands = null
var/obj/screen/mach = null
var/obj/screen/sleep = null
var/obj/screen/rest = null
var/obj/screen/pullin = null
var/obj/screen/internals = null
var/obj/screen/oxygen = null
@@ -64,227 +60,7 @@
var/ear_deaf = null //Carbon
var/ear_damage = null //Carbon
var/stuttering = null //Carbon
var/slurring = null
var/real_name = null
// var/original_name = null //Original name is only used in ghost chat! Depracated, now used bb
var/blinded = null
var/bhunger = 0 //Carbon
var/ajourn = 0
// var/rejuv = null
var/druggy = 0 //Carbon
var/confused = 0 //Carbon
var/antitoxs = null
var/plasma = null
var/sleeping = 0 //Carbon
var/resting = 0 //Carbon
var/lying = 0
var/lying_prev = 0
var/canmove = 1
var/eye_stat = null//Living, potentially Carbon
var/lastpuke = 0
var/unacidable = 0
var/name_archive //For admin things like possession
var/timeofdeath = 0.0//Living
var/cpr_time = 1.0//Carbon
var/bodytemperature = 310.055 //98.7 F
var/drowsyness = 0.0//Carbon
var/dizziness = 0//Carbon
var/is_dizzy = 0
var/is_jittery = 0
var/jitteriness = 0//Carbon
var/charges = 0.0
var/nutrition = 400.0//Carbon
var/overeatduration = 0 // How long this guy is overeating //Carbon
var/paralysis = 0.0
var/stunned = 0.0
var/weakened = 0.0
var/losebreath = 0.0//Carbon
var/intent = null//Living
var/shakecamera = 0
var/a_intent = "help"//Living
var/m_int = null//Living
var/m_intent = "run"//Living
var/lastDblClick = 0
var/lastKnownIP = null
var/obj/structure/stool/bed/buckled = null//Living
var/obj/item/handcuffed = null//Living
var/obj/item/legcuffed = null//Living
var/obj/item/l_hand = null//Living
var/obj/item/r_hand = null//Living
var/obj/item/weapon/back = null//Human/Monkey
var/obj/item/weapon/tank/internal = null//Human/Monkey
var/obj/item/weapon/storage/s_active = null//Carbon
var/obj/item/clothing/mask/wear_mask = null//Carbon
var/seer = 0 //for cult//Carbon, probably Human
var/obj/hud/hud_used = null
//var/list/organs = list( ) //moved to human.
var/list/grabbed_by = list( )
var/list/requests = list( )
var/list/mapobjs = list()
var/in_throw_mode = 0
var/coughedtime = null
var/inertia_dir = 0
var/footstep = 1
var/music_lastplayed = "null"
var/job = null//Living
var/nodamage = 0
var/be_syndicate = 0//This really should be a client variable.
var/be_random_name = 0
var/const/blindness = 1//Carbon
var/const/deafness = 2//Carbon
var/const/muteness = 4//Carbon
var/datum/dna/dna = null//Carbon
var/radiation = 0.0//Carbon
var/list/mutations = list() //Carbon -- Doohl
//see: setup.dm for list of mutations
var/list/augmentations = list() //Carbon -- Doohl
//see: setup.dm for list of augmentations
var/voice_name = "unidentifiable voice"
var/voice_message = null // When you are not understood by others (replaced with just screeches, hisses, chimpers etc.)
var/say_message = null // When you are understood by others. Currently only used by aliens and monkeys in their say_quote procs
//Generic list for proc holders. Only way I can see to enable certain verbs/procs. Should be modified if needed.
var/proc_holder_list[] = list()//Right now unused.
//Also unlike the spell list, this would only store the object in contents, not an object in itself.
/* Add this line to whatever stat module you need in order to use the proc holder list.
Unlike the object spell system, it's also possible to attach verb procs from these objects to right-click menus.
This requires creating a verb for the object proc holder.
if (proc_holder_list.len)//Generic list for proc_holder objects.
for(var/obj/effect/proc_holder/P in proc_holder_list)
statpanel("[P.panel]","",P)
*/
//The last mob/living/carbon to push/drag/grab this mob (mostly used by Metroids friend recognition)
var/mob/living/carbon/LAssailant = null
//Wizard mode, but can be used in other modes thanks to the brand new "Give Spell" badmin button
var/obj/effect/proc_holder/spell/list/spell_list = list()
//Changlings, but can be used in other modes
var/obj/effect/proc_holder/changpower/list/power_list = list()
//List of active diseases
var/viruses = list() // replaces var/datum/disease/virus
//Monkey/infected mode
var/list/resistances = list()
var/datum/disease/virus = null
mouse_drag_pointer = MOUSE_ACTIVE_POINTER
var/update_icon = 1 //Set to 1 to trigger update_icons() at the next life() call
var/UI = 'icons/mob/screen1_Midnight.dmi' // For changing the UI from preferences
var/status_flags = 255 //bitflags defining which status effects can be inflicted (replaces canweaken, canstun, etc)
var/nopush = 0 //Can they be shoved?
var/area/lastarea = null
var/digitalcamo = 0 // Can they be tracked by the AI?
var/datum/preferences/storedpreferences = null
var/list/radar_blips = list() // list of screen objects, radar blips
var/radar_open = 0 // nonzero is radar is open
var/obj/control_object //Used by admins to possess objects. All mobs should have this var
//Whether or not mobs can understand other mobtypes. These stay in /mob so that ghosts can hear everything.
var/universal_speak = 0 // Set to 1 to enable the mob to speak to everyone -- TLE
var/robot_talk_understand = 0
var/alien_talk_understand = 0
var/tajaran_talk_understand = 0
var/soghun_talk_understand = 0
var/skrell_talk_understand = 0
=======
/mob
density = 1
layer = 4.0
animate_movement = 2
flags = NOREACT
var/datum/mind/mind
var/stat = 0 //Whether a mob is alive or dead. TODO: Move this to living - Nodrak
//Not in use yet
var/obj/effect/organstructure/organStructure = null
// var/uses_hud = 0
var/obj/screen/flash = null
var/obj/screen/blind = null
var/obj/screen/hands = null
var/obj/screen/pullin = null
var/obj/screen/internals = null
var/obj/screen/oxygen = null
var/obj/screen/i_select = null
var/obj/screen/m_select = null
var/obj/screen/toxin = null
var/obj/screen/fire = null
var/obj/screen/bodytemp = null
var/obj/screen/healths = null
var/obj/screen/throw_icon = null
var/obj/screen/nutrition_icon = null
var/obj/screen/pressure = null
var/obj/screen/damageoverlay = null
/*A bunch of this stuff really needs to go under their own defines instead of being globally attached to mob.
A variable should only be globally attached to turfs/objects/whatever, when it is in fact needed as such.
The current method unnecessarily clusters up the variable list, especially for humans (although rearranging won't really clean it up a lot but the difference will be noticable for other mobs).
I'll make some notes on where certain variable defines should probably go.
Changing this around would probably require a good look-over the pre-existing code.
*/
var/obj/screen/zone_sel/zone_sel = null
var/emote_allowed = 1
var/computer_id = null
var/lastattacker = null
var/lastattacked = null
var/attack_log = list( )
var/already_placed = 0.0
var/obj/machinery/machine = null
var/other_mobs = null
var/memory = ""
var/poll_answer = 0.0
var/sdisabilities = 0 //Carbon
var/disabilities = 0 //Carbon
var/atom/movable/pulling = null
var/next_move = null
var/prev_move = null
var/monkeyizing = null //Carbon
var/other = 0.0
var/hand = null
var/eye_blind = null //Carbon
var/eye_blurry = null //Carbon
var/ear_deaf = null //Carbon
var/ear_damage = null //Carbon
var/stuttering = null //Carbon
var/slurring = null //Carbon
var/real_name = null
// var/original_name = null //Original name is only used in ghost chat! Depracated, now used bb
var/blinded = null
@@ -440,4 +216,7 @@
var/universal_speak = 0 // Set to 1 to enable the mob to speak to everyone -- TLE
var/robot_talk_understand = 0
var/alien_talk_understand = 0
>>>>>>> remotes/git-svn
var/tajaran_talk_understand = 0
var/soghun_talk_understand = 0
var/skrell_talk_understand = 0