Organs v0.03. The very basic version of the organ system, uploaded mostly for convenience.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1582 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
uporotiy
2011-05-14 14:30:46 +00:00
parent 1c7ca47670
commit b03a4c2594
10 changed files with 328 additions and 7 deletions
+15 -1
View File
@@ -59,8 +59,18 @@
src.icon = src.stand_icon
update_clothing()
src << "\blue Your icons have been generated!"
..()
organStructure = new /obj/organstructure/human(src)
/mob/living/carbon/human/cyborg
New()
..()
if(organStructure) //hacky, but it's not supposed to be in for a long time anyway
del(organStructure)
organStructure = new /obj/organstructure/cyber(src)
/mob/living/carbon/human/Bump(atom/movable/AM as mob|obj, yes)
if ((!( yes ) || src.now_pushing))
return
@@ -1699,7 +1709,11 @@
if (M.a_intent == "hurt" && !(M.gloves && M.gloves.elecgen == 1))
if (src.w_uniform)
src.w_uniform.add_fingerprint(M)
var/damage = rand(1, 9)
var/damage = 0
if(organStructure && organStructure.arms)
damage = rand(organStructure.arms.minDamage,organStructure.arms.maxDamage)
else
damage = rand(1, 9) //oh boy
var/datum/organ/external/affecting = src.organs["chest"]
var/t = M.zone_sel.selecting
if ((t in list( "eyes", "mouth" )))
@@ -80,6 +80,8 @@
for(var/obj/item/weapon/grab/G in src)
G.process()
..() //for organs
/*
................................................ ..........................._,-~"¯¯"~-,
.................................................. ................__„-~"¯¯:::,-~~-,_::::"-
+5 -2
View File
@@ -74,8 +74,11 @@
/mob/living/proc/updatehealth()
if (src.nodamage == 0)
src.health = 100 - src.oxyloss - src.toxloss - src.fireloss - src.bruteloss
if (!src.nodamage)
if(organStructure && organStructure.chest)
health = organStructure.chest.maxHealth - oxyloss - toxloss - fireloss - bruteloss
else
src.health = 100 - src.oxyloss - src.toxloss - src.fireloss - src.bruteloss
else
src.health = 100
src.stat = 0
+10 -2
View File
@@ -1060,6 +1060,8 @@ proc/isobserver(A)
return 0
/mob/proc/Life()
if(organStructure)
organStructure.ProcessOrgans()
return
/mob/proc/update_clothing()
@@ -1816,12 +1818,18 @@ proc/isobserver(A)
if("run")
if (mob.drowsyness > 0)
move_delay += 6
move_delay += 1
if(mob.organStructure && mob.organStructure.legs)
move_delay += mob.organStructure.legs.moveRunDelay
else
move_delay += 1
if("face")
mob.dir = direct
return
if("walk")
move_delay += 7
if(mob.organStructure && mob.organStructure.legs)
move_delay += mob.organStructure.legs.moveWalkDelay
else
move_delay += 7
move_delay += mob.movement_delay()