From 092653287fb3ae2586bb8f948757ef2c65460ef8 Mon Sep 17 00:00:00 2001 From: SoundScopes Date: Tue, 8 Dec 2015 09:46:19 +0000 Subject: [PATCH] Vaurca --- code/game/objects/items/devices/flash.dm | 20 ++++++++++++++ code/modules/mob/living/carbon/human/life.dm | 9 ++++++ code/modules/mob/living/carbon/human/say.dm | 4 +-- .../mob/living/carbon/human/species.dm | 16 +++++++++-- code/modules/organs/organ_alien.dm | 26 ++++++++++++++++++ code/modules/organs/organ_internal.dm | 18 ++++++++++++ icons/mob/alien_organs.dmi | Bin 0 -> 1735 bytes icons/mob/human_races/r_vaurca.dmi | Bin 0 -> 2406 bytes 8 files changed, 88 insertions(+), 5 deletions(-) create mode 100644 icons/mob/alien_organs.dmi create mode 100644 icons/mob/human_races/r_vaurca.dmi diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index aacb901b..8988e89a 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -91,6 +91,26 @@ if(safety <= 0) M.Weaken(10) flick("e_flash", M.flash) + //Vaurca damage 18-09-15 + var/mob/living/carbon/human/H = M + if(H.species.flags & IS_BUG) + var/datum/organ/internal/eyes/E = H.internal_organs_by_name["eyes"] + if(!E) + return + //Reworked damage 19/09/15 + usr << "\red Your eyes burn with the intense light of the flash!." + E.damage += rand(10, 11) + if(E.damage > 12) + M.eye_blurry += rand(3,6) + if (E.damage >= E.min_broken_damage) + M.sdisabilities |= BLIND + else if (E.damage >= E.min_bruised_damage) + M.eye_blind = 5 + M.eye_blurry = 5 + M.disabilities |= NEARSIGHTED + spawn(100) + M.disabilities &= ~NEARSIGHTED + if(ishuman(M) && ishuman(user) && M.stat!=DEAD) if(user.mind && user.mind in ticker.mode.head_revolutionaries && ticker.mode.name == "revolution") diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index bc7bec90..cedf42d0 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -484,6 +484,15 @@ else if(L.is_bruised()) safe_pressure_min *= 1.25 + if(species.has_organ["breathing apparatus"]) + var/datum/organ/internal/vaurca/breathingapparatus/L = internal_organs_by_name["breathing apparatus"] + if(!L) + safe_pressure_min = INFINITY //No wannabe-lungs, how are you breathing? FOR VAURCA + else if(L.is_broken()) + safe_pressure_min *= 1.5 + else if(L.is_bruised()) + safe_pressure_min *= 1.25 + var/safe_exhaled_max = 10 var/safe_toxins_max = 0.005 var/SA_para_min = 1 diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 4527b486..f42df022 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -1,4 +1,4 @@ -/mob/living/carbon/human/say(var/message) +/mob/living/carbon/human/say(var/message, var/usergen = 0) var/verb = "says" var/alt_name = "" @@ -24,7 +24,7 @@ var/message_mode = parse_message_mode(message, "headset") if(copytext(message,1,2) == "*") - return emote(copytext(message,2)) + return emote(copytext(message,2),usergen) if(name != GetVoice()) alt_name = "(as [get_id_name("Unknown")])" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 6fc004aa..037538a9 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -619,8 +619,8 @@ See code\modules\mob\new_player\preferences_setup.dm for where it's used. name = "Vaurca" name_plural = "varucae" - icobase = 'icons/mob/human_races/r_machine.dmi' //placeholders - deform = 'icons/mob/human_races/r_machine.dmi' //bloop blop butts + icobase = 'icons/mob/human_races/r_vaurca.dmi' //Experimental as fuck + deform = 'icons/mob/human_races/r_vaurca.dmi' //bloop blop butts language = "Vaurcese" unarmed_type = /datum/unarmed_attack/claws //literally butts secondary_unarmed_type = /datum/unarmed_attack/bite/strong @@ -645,7 +645,7 @@ See code\modules\mob\new_player\preferences_setup.dm for where it's used. flags = IS_WHITELISTED | NO_SLIP | IS_BUG //IS_BUG doesn't do much at the moment. proc up top + radiation resistance. //use IS_BUG when you do the make their eyes die from being flashed thing, sounds/skull. okay thanks. - blood_color = "#1F181F" // note: discover hex for yellow + blood_color = "#E6E600" // dark yellow flesh_color = "#575757" //this is a placeholder also. inherent_verbs = list( @@ -653,6 +653,16 @@ See code\modules\mob\new_player\preferences_setup.dm for where it's used. ) //make has_organ list when we can be bothered with bug gut sprites. it'll be cool, i promise + has_organ = list( + "neural socket" = /datum/organ/internal/vaurca/neuralsocket, + "breathing apparatus" = /datum/organ/internal/vaurca/breathingapparatus, + "heart" = /datum/organ/internal/heart, + "second heart" = /datum/organ/internal/heart, + "liver" = /datum/organ/internal/liver, + "kidneys" = /datum/organ/internal/kidney, + "brain" = /datum/organ/internal/brain, + "eyes" = /datum/organ/internal/eyes, +) // Called when using the shredding behavior. /datum/species/proc/can_shred(var/mob/living/carbon/human/H) diff --git a/code/modules/organs/organ_alien.dm b/code/modules/organs/organ_alien.dm index f57ac777..be1de6e6 100644 --- a/code/modules/organs/organ_alien.dm +++ b/code/modules/organs/organ_alien.dm @@ -347,3 +347,29 @@ Eyes.brute = organ_data.damage del(src) return Eyes + +/obj/item/organ/vaurca/neuralsocket + name = "neural socket" + organ_tag = "neural socket" + icon = 'icons/mob/alien_organs.dmi' //placeholder + icon_state = "neural_socket" //placeholder + +/obj/item/organ/vaurca/neuralsocket/removed() + return + +/obj/item/organ/vaurca/breathingapparatus + name = "breathing apparatus" + organ_tag = "breathing apparatus" + icon = 'icons/mob/alien_organs.dmi' //placeholder + icon_state = "breathing_app" //placeholder + +/obj/item/organ/vaurca/breathingapparatus/removed() + return + +/obj/item/organ/vaurca/tracheae + name = "tracheae" + organ_tag = "tracheae" + icon = 'icons/mob/alien_organs.dmi' //placeholder + icon_state = "tracheae" //placeholder +/obj/item/organ/vaurca/tracheae/removed() + return diff --git a/code/modules/organs/organ_internal.dm b/code/modules/organs/organ_internal.dm index d6a26a1a..5907efd5 100644 --- a/code/modules/organs/organ_internal.dm +++ b/code/modules/organs/organ_internal.dm @@ -324,3 +324,21 @@ organ_holder = removed_organ return removed_organ + + + //VAURCA EXPERIMENTAL +/datum/organ/internal/vaurca/process() + return + +/datum/organ/internal/vaurca/neuralsocket + name = "neural socket" + parent_organ = "head" + robotic = 2 + removed_type = /obj/item/organ/vaurca/neuralsocket +/datum/organ/internal/vaurca/breathingapparatus + name = "breathing apparatus" + parent_organ = "chest" + robotic = 2 + removed_type = /obj/item/organ/vaurca/breathingapparatus + + diff --git a/icons/mob/alien_organs.dmi b/icons/mob/alien_organs.dmi new file mode 100644 index 0000000000000000000000000000000000000000..40ede63ecca8bc249030241f02aee4da87c0bf0b GIT binary patch literal 1735 zcmV;&1~~bNP)V=-0C=2jjJ*oNFce1T+^6_xSCOW6%_1q1p?w9pG*=Vs402t+Z^=HFJ9%Dc)sRsdPwtQmRn6;LjWM_6K^M~P0 zX4(CJ%>RAg``&xsi&5B?FxPjAQtP-*Flm ziA2z}twbUb$K-2)U-%sh(9=_1YHzQ}fQ`-{q@f=3*W>{<`IYXk0a)3}@{Fo!_eHG+ zY;=A{A?QV3sA_Y$ZYMwG2z@A3t(*MAyjImZ<*!KqS)O_3WTQ~%uWK&uNB)`wC=~jQ zuC81B#vcGxZM|XhXE6b)TDSO9`~*@aXC4ET-T@kDH4VWD#U-{4da_=Vq*2gve_n$IuCz(PTB zwFml%zh)0m6lGS|I{+w`%aqGyOw&{qMVWPE!3O8A*#l&GMwMmI_2p-+t*yxNjB1)4 zPHfoF{Ek9UF4s*YQYI7%Q7&7HQr0BIoiN}hen)Ajrrj5-XMJvNi1>-$kpKbK4?$g! z#|Q-Q7=ZvDBM`u2I9?0#3!>4er~H8jc#J>*j}ZvqF#-WRMpK>-@DpklKv9(0TrLk- z#Yy>m3y`0Dcn@e7*ne1P9jvj=_c}P(dBNPf@Uy7o*TA!avr9}IdsA%636?^uiP}Peh&sm>^!(qbV zFkfb~Boc|bmMX3X9A`nRLy#LtBoac?j*5@pOEEcNb?$il6!G{ec5jn7awN;*;vxW_ z3=TGh2u*W7K+}#2!}yi{{$2q3_OT?wB>+DB>L37}ollAo4u{dS*@hLNDb5FI+Pk8^ zznA|0UP`4BlM@ozn=m*kfB`;#|5IQ9^?3#z}^OYaQ0ITOO0^wH#ZykR6 zZ^dGnhD%Eu{(OL)%b)q|N9M1M0bOi<1aH1AP~Q+3QxdUQM#|oV>`j;+m-uT7l?&ke z%P>5Ae7#Lu7dSc};C6j}B9V}i=d2f+%Z)KPAu%~2@y!M3J$AX$s|QB~efumCrpF}~ zuUlfoN^L4cHnn( z{pqt}uLt3p#{gaLkQ7CkEf%ZlX?mc!{>b37zJkRHWHo@R1m9fDRqJ7D>#$A$F z(?l#1iE!h_-nyU7dKT=NZaxolbJhfHa8xiiXML{gC#7UEDbne5!(~9QhE4f}g@wv} zPtR>v3S(Czolc9@3vS<@j|z1Y7zP-|1!A$2#N%-ZAel@G`@T`&$OB|~Ms00v#lF1q zfT5uwNzxsoO(ym<@sk77i`|8!k%l%iP>COjKW8kSz_wUb0u~^P}Zw@pxQn zv{2+=LuN+RwEGl`#mW&KyFR`i20ja#c1Gy>q5piTzeJ;Cqm9}(0Ad5k~+j}Zvq dF#-WR#=rk!>Q!sbP{aTL002ovPDHLkV1h0!JoW$p literal 0 HcmV?d00001 diff --git a/icons/mob/human_races/r_vaurca.dmi b/icons/mob/human_races/r_vaurca.dmi new file mode 100644 index 0000000000000000000000000000000000000000..9c2dcb5587b890d6cd42c8b983f29b50946bcbff GIT binary patch literal 2406 zcmYk8c|6o<9LLADc3RTr$~ea{%pitbF_|&UAjTXr7!2jU&vA|8mu5SbT9#C#LVop?Y>_7$MZa|_xJO9p6B~~UeEJ=JwK6&PBKy|QXmjW z=7=-S9R!ll6gSZBUE&CA)%Qm+pvVLdd{jbn5wEO1Ol{w!AVsdgal}g>ef4{A*t*or9 zot>SouC9TBfuEmWY-}tJhs(&w2n-BNO-%&=z{kfYBqZec@#8TuF=1h0j*gBD218m} zT17=AA|k@s+1bU#MMg%($;nA<2owtS^72wsQ$wTC%F4dvI-PE9Z7udKeT9G*PnKY~6OV%IcrQZ5(8%=gX5d1Sf)XR*84+=@ zAW&NQ`NDRoZj(Luux&%a-AkP##=2U;;n@!$J3sb(GuFhO?$NMOj4FEd#;;&FkAJ8? z58`hIs1hWur=8t?%Nc{eS={8M%yY_KW!Aa%8I*M_k_{$oxQs5wo`g_J4DS{a6RAr< zbmW$5>Kxyzg|p{Hs%aJ4Uuy!Dhy%(d*rE@P&0Z9byICjtXzmEC*Y7RAspVd+od^g( z_J$xZJCa(~effQMcPJnbSmg)~>ycKzG%4dHM}vS@ewx95tM1>oZxV8{@J~u;+UPgZ zhEM$olKuTgspCuA0PEDqWReemihmGkVj>D~vP}$I&N{v8yDOrs3ox-AAkgJH-<$|9 zO}+Rin}xmy_I4NAJgdtYC7>J18QH8wKj z`sHk`&ni4tq+Gmor~Hz0F0_nrdE(ZMXWR)aZz!LtNrF|lA1J^0hb?!owcmJ#n_Ebv zdHY0vUX==VsV*)?c@ppUr}>rTm3U@YRo(HS`G$Xye5eOg-D0`V!hYWPHcaFG>&HOw zuS2L0@`(F^+1oGg$v5VG3UQaFbsN0*=dSZLc3fqgxra~jsRxjfH|ea_nN^1b9`)OQ zj`m;o>3c)uEJ4WU?R>MPW=d3a_6`WzbErtvX3ajjrRFK*L*H$Hp9*H2u)!s`WsM-1 z{T$Hq8f(Q@;_}H0Yk`Fi1F;4Qd7M@74~=8zpXuB?ds%_3?9dk^tm!dH%AU#G+l;oV zR5pma=un;zQ`@Ajh|osN)7@B?IhbpiM8t!309JFCDqHq=sfp9S6=qmDo8s9UojsTI zUxr^tUQVn>)Uavu?Q5j#`;oUtRZA!4phFj$9Xrq^%=_>z`Yi?%wXAM7BKC;N0xnX?&{x z4%<~yX^Qa(-m;)9Gr`gYgr z$@Do?p~3(_^t`m`<7|7`UjMjZM#LwD0Wu*Pp*V!Rl7PU-wIEc@!(MW4F3cg8=UHT*v8bq?5vL2F-{P-32UT@Ka! zGu$vp^trZV8m9lLdTqA0Eyew60$}nadv9j{=1@Qz9MA%kx@{{_&UALu)JuXf%*q$4 zJc}HW(x+!M_A;xfweM`1zUic!?Mei2vS5r!bA!o6w#9b7T{Bo0Zt{V{05vN<#HP+` zK7K`&`mptwcO5hFs7$iJp?c)=7PGde{Ph64?qdk6IjX@w>Rn7l8e{nM8S^NOm`OW2 z+x))h<7p^o^~``&9NRqU++cj;R7CjnmPO{MN(FQ1c}3$0WfZw#Ri9FCxy@N6`7BP- zE^V-btHK~lmaF3@9ou6dw)sMroO{97~l@V^)SvI6{r(;6pdXE3v|5>pCTt~sp@gbE*nqj~w6U7^Bo;TQ+n zRv{|c+WBRCtCBYG53v4$lCSVp8T$%?|0%0j;p0%@qxV}n|7~W15~ODSC3@s3QiraK z8b*OfU;z-lIbE_T#I$U`=VXbXQT+g1M>{*89Z8F