This commit is contained in:
Gamerofthegame
2014-10-11 13:58:16 -04:00
parent df76652d78
commit be8c62de7b
64 changed files with 362 additions and 225 deletions

View File

@@ -179,6 +179,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
/mob/dead/observer/Move(NewLoc, direct)
following = null
dir = direct
if(NewLoc)
loc = NewLoc
@@ -306,6 +307,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
usr << "No area available."
usr.loc = pick(L)
following = null
/mob/dead/observer/verb/follow()
set category = "Ghost"
@@ -325,18 +327,14 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
following = target
src << "\blue Now following [target]"
spawn(0)
var/turf/pos = get_turf(src)
while(loc == pos && target && following == target && client)
while(target && following == target && client)
var/turf/T = get_turf(target)
if(!T)
break
// To stop the ghost flickering.
if(loc != T)
loc = T
pos = loc
sleep(15)
following = null
/mob/dead/observer/verb/jumptomob() //Moves the ghost instead of just changing the ghosts's eye -Nodrak
set category = "Ghost"
@@ -361,6 +359,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(T && isturf(T)) //Make sure the turf exists, then move the source to that destination.
A.loc = T
following = null
else
A << "This mob is not located in the game world."
/*

View File

@@ -1,6 +1,8 @@
//Stand-in until this is made more lore-friendly.
/datum/species/xenos
name = "Xenomorph"
name_plural = "Xenomorphs"
default_language = "Xenomorph"
language = "Hivemind"
unarmed_type = /datum/unarmed_attack/claws/strong
@@ -40,7 +42,6 @@
has_organ = list(
"heart" = /datum/organ/internal/heart,
"lungs" = /datum/organ/internal/lungs,
"brain" = /datum/organ/internal/brain/xeno,
"plasma vessel" = /datum/organ/internal/xenos/plasmavessel,
"hive node" = /datum/organ/internal/xenos/hivenode,
@@ -116,7 +117,6 @@
has_organ = list(
"heart" = /datum/organ/internal/heart,
"lungs" = /datum/organ/internal/lungs,
"brain" = /datum/organ/internal/brain/xeno,
"plasma vessel" = /datum/organ/internal/xenos/plasmavessel/queen,
"acid gland" = /datum/organ/internal/xenos/acidgland,
@@ -155,7 +155,6 @@
has_organ = list(
"heart" = /datum/organ/internal/heart,
"lungs" = /datum/organ/internal/lungs,
"brain" = /datum/organ/internal/brain/xeno,
"plasma vessel" = /datum/organ/internal/xenos/plasmavessel/hunter,
"hive node" = /datum/organ/internal/xenos/hivenode,
@@ -183,7 +182,6 @@
has_organ = list(
"heart" = /datum/organ/internal/heart,
"lungs" = /datum/organ/internal/lungs,
"brain" = /datum/organ/internal/brain/xeno,
"plasma vessel" = /datum/organ/internal/xenos/plasmavessel/sentinel,
"acid gland" = /datum/organ/internal/xenos/acidgland,
@@ -214,7 +212,6 @@
has_organ = list(
"heart" = /datum/organ/internal/heart,
"lungs" = /datum/organ/internal/lungs,
"brain" = /datum/organ/internal/brain/xeno,
"egg sac" = /datum/organ/internal/xenos/eggsac,
"plasma vessel" = /datum/organ/internal/xenos/plasmavessel/queen,

View File

@@ -1210,7 +1210,7 @@
src << msg
organ.take_damage(rand(1,3), 0, 0)
if(!(organ.status & ORGAN_ROBOT)) //There is no blood in protheses.
if(!(organ.status & ORGAN_ROBOT) && !(species.flags & NO_BLOOD)) //There is no blood in protheses.
organ.status |= ORGAN_BLEEDING
src.adjustToxLoss(rand(1,3))

View File

@@ -102,7 +102,6 @@
if(!G) //the grab will delete itself in New if affecting is anchored
return
M.put_in_active_hand(G)
grabbed_by += G
G.synch()
LAssailant = M

View File

@@ -12,7 +12,7 @@
/mob/living/carbon/human/tajaran/New(var/new_loc)
h_style = "Tajaran Ears"
..(new_loc, "Tajaran")
..(new_loc, "Tajara")
/mob/living/carbon/human/unathi/New(var/new_loc)
h_style = "Unathi Horns"

View File

@@ -687,6 +687,7 @@ It can still be worn/put on as normal.
for (var/obj/item/weapon/grab/G in target.grabbed_by)
if (G.loc == source && G.state >= GRAB_AGGRESSIVE)
grabbing = 1
break
if (!grabbing)
slot_to_process = null
source << "\red Your grasp was broken before you could restrain [target]!"

View File

@@ -5,6 +5,7 @@
/datum/species
var/name // Species name.
var/name_plural
var/icobase = 'icons/mob/human_races/r_human.dmi' // Normal icon set.
var/deform = 'icons/mob/human_races/r_def_human.dmi' // Mutated icon set.
@@ -202,6 +203,7 @@
/datum/species/human
name = "Human"
name_plural = "Humans"
language = "Sol Common"
primitive = /mob/living/carbon/monkey
unarmed_type = /datum/unarmed_attack/punch
@@ -213,6 +215,7 @@
/datum/species/unathi
name = "Unathi"
name_plural = "Unathi"
icobase = 'icons/mob/human_races/r_lizard.dmi'
deform = 'icons/mob/human_races/r_def_lizard.dmi'
language = "Sinta'unathi"
@@ -239,7 +242,8 @@
base_color = "#066000"
/datum/species/tajaran
name = "Tajaran"
name = "Tajara"
name_plural = "Tajaran"
icobase = 'icons/mob/human_races/r_tajaran.dmi'
deform = 'icons/mob/human_races/r_def_tajaran.dmi'
language = "Siik'tajr"
@@ -264,6 +268,7 @@
/datum/species/skrell
name = "Skrell"
name_plural = "Skrell"
icobase = 'icons/mob/human_races/r_skrell.dmi'
deform = 'icons/mob/human_races/r_def_skrell.dmi'
language = "Skrellian"
@@ -278,6 +283,7 @@
/datum/species/vox
name = "Vox"
name_plural = "Vox"
icobase = 'icons/mob/human_races/r_vox.dmi'
deform = 'icons/mob/human_races/r_def_vox.dmi'
default_language = "Vox-pidgin"
@@ -324,6 +330,7 @@
/datum/species/vox/armalis
name = "Vox Armalis"
name_plural = "Vox"
icobase = 'icons/mob/human_races/r_armalis.dmi'
deform = 'icons/mob/human_races/r_armalis.dmi'
rarity_value = 10
@@ -364,6 +371,7 @@
/datum/species/diona
name = "Diona"
name_plural = "Dionaea"
icobase = 'icons/mob/human_races/r_diona.dmi'
deform = 'icons/mob/human_races/r_def_plant.dmi'
language = "Rootspeak"
@@ -428,6 +436,8 @@
/datum/species/machine
name = "Machine"
name_plural = "machines"
icobase = 'icons/mob/human_races/r_machine.dmi'
deform = 'icons/mob/human_races/r_machine.dmi'
language = "Tradeband"
@@ -551,6 +561,7 @@
var/has_throw = 1 // Set to draw throw button.
var/has_resist = 1 // Set to draw resist button.
var/has_internals = 1 // Set to draw the internals toggle button.
var/list/equip_slots = list() // Checked by mob_can_equip().
// Contains information on the position and tag for all inventory slots
// to be drawn for the mob. This is fairly delicate, try to avoid messing with it
@@ -572,3 +583,18 @@
"storage2" = list("loc" = ui_storage2, "slot" = slot_r_store, "state" = "pocket"),
"belt" = list("loc" = ui_belt, "slot" = slot_belt, "state" = "belt")
)
/datum/hud_data/New()
..()
for(var/slot in gear)
equip_slots |= gear[slot]["slot"]
if(has_hands)
equip_slots |= slot_l_hand
equip_slots |= slot_r_hand
equip_slots |= slot_handcuffed
if(slot_back in equip_slots)
equip_slots |= slot_in_backpack
equip_slots |= slot_legcuffed

View File

@@ -177,6 +177,7 @@ var/global/list/damage_icon_parts = list()
proc/get_damage_icon_part(damage_state, body_part)
if(damage_icon_parts["[damage_state]/[body_part]"] == null)
var/icon/DI = new /icon('icons/mob/dam_human.dmi', damage_state) // the damage icon for whole human
// TODO: Convert dam_human.dmi to greyscale and blend in species.blood_colour here.
DI.Blend(new /icon('icons/mob/dam_mask.dmi', body_part), ICON_MULTIPLY) // mask with this organ's pixels
damage_icon_parts["[damage_state]/[body_part]"] = DI
return DI

View File

@@ -94,7 +94,7 @@
..()
dna.mutantrace = "tajaran"
greaterform = "Tajaran"
greaterform = "Tajara"
add_language("Siik'tajr")
/mob/living/carbon/monkey/movement_delay()
@@ -231,7 +231,6 @@
M.put_in_active_hand(G)
grabbed_by += G
G.synch()
LAssailant = M
@@ -256,6 +255,7 @@
return
/mob/living/carbon/monkey/attack_animal(mob/living/M as mob)
if(M.melee_damage_upper == 0)
M.emote("[M.friendly] [src]")
else

View File

@@ -861,6 +861,7 @@ var/list/robot_verbs_default = list(
spark_system.start()
return ..()
/mob/living/silicon/robot/attack_slime(mob/living/carbon/slime/M as mob)
if (!ticker)
M << "You cannot attack people before the game has started."

View File

@@ -181,6 +181,9 @@
H.internal_organs_by_name["brain"] = B
H.internal_organs |= B
var/datum/organ/external/affecting = H.get_organ("head")
affecting.implants -= src
var/s2h_id = src.computer_id
var/s2h_ip= src.lastKnownIP
src.computer_id = null

View File

@@ -250,7 +250,6 @@
M.put_in_active_hand(G)
grabbed_by += G
G.synch()
G.affecting = src
LAssailant = M

View File

@@ -28,6 +28,8 @@
del(src)
return
affecting.grabbed_by += src
hud = new /obj/screen/grab(src)
hud.icon_state = "reinforce"
hud.name = "reinforce grab"

View File

@@ -496,7 +496,7 @@
name = "Shaved"
icon_state = "bald"
gender = NEUTER
species_allowed = list("Human","Unathi","Tajaran","Skrell","Vox","Machine")
species_allowed = list("Human","Unathi","Tajara","Skrell","Vox","Machine")
watson
name = "Watson Mustache"
@@ -636,62 +636,62 @@
taj_ears
name = "Tajaran Ears"
icon_state = "ears_plain"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_ears_clean
name = "Tajara Clean"
icon_state = "hair_clean"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_ears_bangs
name = "Tajara Bangs"
icon_state = "hair_bangs"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_ears_braid
name = "Tajara Braid"
icon_state = "hair_tbraid"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_ears_shaggy
name = "Tajara Shaggy"
icon_state = "hair_shaggy"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_ears_mohawk
name = "Tajaran Mohawk"
icon_state = "hair_mohawk"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_ears_plait
name = "Tajara Plait"
icon_state = "hair_plait"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_ears_straight
name = "Tajara Straight"
icon_state = "hair_straight"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_ears_long
name = "Tajara Long"
icon_state = "hair_long"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_ears_rattail
name = "Tajara Rat Tail"
icon_state = "hair_rattail"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_ears_spiky
name = "Tajara Spiky"
icon_state = "hair_tajspiky"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_ears_messy
name = "Tajara Messy"
icon_state = "hair_messy"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
vox_quills_short
name = "Short Vox Quills"
@@ -703,32 +703,32 @@
taj_sideburns
name = "Tajara Sideburns"
icon_state = "facial_mutton"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_mutton
name = "Tajara Mutton"
icon_state = "facial_mutton"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_pencilstache
name = "Tajara Pencilstache"
icon_state = "facial_pencilstache"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_moustache
name = "Tajara Moustache"
icon_state = "facial_moustache"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_goatee
name = "Tajara Goatee"
icon_state = "facial_goatee"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
taj_smallstache
name = "Tajara Smallsatche"
icon_state = "facial_smallstache"
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
//skin styles - WIP
//going to have to re-integrate this with surgery
@@ -750,7 +750,7 @@
name = "Default tajaran skin"
icon_state = "default"
icon = 'icons/mob/human_races/r_tajaran.dmi'
species_allowed = list("Tajaran")
species_allowed = list("Tajara")
unathi
name = "Default Unathi skin"

View File

@@ -8,10 +8,14 @@ mob/var/last_typed_time
var/global/image/typing_indicator
/mob/proc/set_typing_indicator(var/state)
if(!typing_indicator)
typing_indicator = image('icons/mob/talk.dmi',null,"typing")
if(client)
if(!(client.prefs.toggles & SHOW_TYPING))
if(!typing_indicator)
typing_indicator = image('icons/mob/talk.dmi',null,"typing")
if(client.prefs.toggles & SHOW_TYPING)
overlays -= typing_indicator
else
if(state)
if(!typing)
overlays += typing_indicator
@@ -72,5 +76,10 @@ var/global/image/typing_indicator
set desc = "Toggles showing an indicator when you are typing emote or say message."
prefs.toggles ^= SHOW_TYPING
prefs.save_preferences()
src << "You will [(prefs.toggles & CHAT_OOC) ? "no longer" : "now"] display typing indicator."
feedback_add_details("admin_verb","TID") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
src << "You will [(prefs.toggles & SHOW_TYPING) ? "no longer" : "now"] display a typing indicator."
// Clear out any existing typing indicator.
if(prefs.toggles & SHOW_TYPING)
if(istype(mob)) mob.set_typing_indicator(0)
feedback_add_details("admin_verb","TID") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!