From 0bb889932d0ed39fbd0fc7336c19211b73ab3a16 Mon Sep 17 00:00:00 2001 From: Tupinambis Date: Wed, 30 Sep 2020 19:05:56 -0500 Subject: [PATCH] Completed! --- code/game/objects/effects/spiderperson_web.dm | 4 ++-- code/modules/client/preferences_savefile.dm | 4 ++-- .../new_player/sprite_accessories/spider.dm | 12 +++++++++--- .../carbon/human/species_types/spider.dm | 18 ++++++++---------- icons/mob/spider_legs.dmi | Bin 1845 -> 2045 bytes icons/mob/spider_mandibles.dmi | Bin 461 -> 498 bytes icons/mob/spider_parts.dmi | Bin 1097 -> 1239 bytes icons/mob/spider_spinneret.dmi | Bin 911 -> 1089 bytes 8 files changed, 21 insertions(+), 17 deletions(-) diff --git a/code/game/objects/effects/spiderperson_web.dm b/code/game/objects/effects/spiderperson_web.dm index 93d254d672..d448592eb0 100644 --- a/code/game/objects/effects/spiderperson_web.dm +++ b/code/game/objects/effects/spiderperson_web.dm @@ -37,7 +37,7 @@ if(isspiderperson(mover.pulledby)) return TRUE - if(prob(50)) + if(prob(20)) to_chat(mover, "You get stuck in \the [src] for a moment.") return FALSE @@ -54,7 +54,7 @@ . = ..() /obj/structure/spider_player/cocoon/container_resist(mob/living/user) - var/breakout_time = 1000 // DECI not DECA ffs + var/breakout_time = 150 // DECI not DECA ffs to_chat(user, "You struggle against the tight bonds... (This will take about [DisplayTimeText(breakout_time)].)") visible_message("You see something struggling and writhing in \the [src]!") if(do_after(user,(breakout_time), target = src)) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 8fc0ea8c04..1386a0d7a0 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -693,8 +693,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car features["insect_fluff"] = sanitize_inlist(features["insect_fluff"], GLOB.insect_fluffs_list) features["insect_markings"] = sanitize_inlist(features["insect_markings"], GLOB.insect_markings_list, "None") features["insect_wings"] = sanitize_inlist(features["insect_wings"], GLOB.insect_wings_list) - features["spider_legs"] = sanitize_inlist(features["spider_legs"], GLOB.spider_legs_list, "Plain") - features["spider_spinneret"] = sanitize_inlist(features["spider_spinneret"], GLOB.spider_spinneret_list, "Plain") + features["spider_legs"] = sanitize_inlist(features["spider_legs"], GLOB.spider_legs_list, "Plain") + features["spider_spinneret"] = sanitize_inlist(features["spider_spinneret"], GLOB.spider_spinneret_list, "Plain") features["spider_mandibles"] = sanitize_inlist(features["spider_mandibles"], GLOB.spider_mandibles_list, "Plain") var/static/size_min diff --git a/code/modules/mob/dead/new_player/sprite_accessories/spider.dm b/code/modules/mob/dead/new_player/sprite_accessories/spider.dm index dcfa9aa45f..fff9c51ece 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/spider.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/spider.dm @@ -1,6 +1,8 @@ /datum/sprite_accessory/spider_legs icon = 'icons/mob/spider_legs.dmi' - color_src = MUTCOLORS + relevant_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER, BODY_FRONT_LAYER) + mutant_part_string = "spider_legs" + color_src = 0 /datum/sprite_accessory/spider_legs/plain name = "Plain" @@ -16,7 +18,9 @@ /datum/sprite_accessory/spider_spinneret icon = 'icons/mob/spider_spinneret.dmi' - color_src = MUTCOLORS + relevant_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER, BODY_FRONT_LAYER) + mutant_part_string = "spinneret" + color_src = 0 /datum/sprite_accessory/spider_spinneret/plain name = "Plain" @@ -32,7 +36,9 @@ /datum/sprite_accessory/spider_mandibles icon = 'icons/mob/spider_mandibles.dmi' - color_src = MUTCOLORS + relevant_layers = list(BODY_ADJ_LAYER, BODY_FRONT_LAYER) + mutant_part_string = "mandibles" + color_src = 0 /datum/sprite_accessory/spider_mandibles/plain name = "Plain" diff --git a/code/modules/mob/living/carbon/human/species_types/spider.dm b/code/modules/mob/living/carbon/human/species_types/spider.dm index e93375b83e..a4e78a2830 100644 --- a/code/modules/mob/living/carbon/human/species_types/spider.dm +++ b/code/modules/mob/living/carbon/human/species_types/spider.dm @@ -6,7 +6,7 @@ default_color = "00FF00" species_traits = list(LIPS, NOEYES, NO_UNDERWEAR) inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG - mutant_bodyparts = list("spider_legs", "spider_spinneret", "spider_mandibles") + mutant_bodyparts = list("spider_legs" = "Plain", "spider_spinneret" = "Plain", "spider_mandibles" = "Plain") attack_verb = "slash" attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' @@ -17,9 +17,9 @@ mutanteyes = /obj/item/organ/eyes/night_vision/spider mutanttongue = /obj/item/organ/tongue/spider species_language_holder = /datum/language_holder/spider - var/web_cooldown = 30 + var/web_cooldown = 200 var/web_ready = TRUE - var/spinner_rate = 75 + var/spinner_rate = 25 /datum/species/spider/random_name(gender,unique,lastname) if(unique) @@ -75,7 +75,7 @@ if(H.stat == "DEAD") return if(E.web_ready == FALSE) - to_chat(H, "You need to wait awhile to regenerate web fluid.") + to_chat(H, "You need to wait a while to regenerate web fluid.") return var/turf/T = get_turf(H) if(!T) @@ -93,12 +93,10 @@ if(!do_after(H, 10 SECONDS, 1, T)) to_chat(H, "Your web spinning was interrupted!") return - if(prob(75)) - H.adjust_nutrition(-E.spinner_rate) - addtimer(VARSET_CALLBACK(E, web_ready, TRUE), E.web_cooldown) - to_chat(H, "You use up a fair amount of energy spinning the web.") + H.adjust_nutrition(-E.spinner_rate) + addtimer(VARSET_CALLBACK(E, web_ready, TRUE), E.web_cooldown) + to_chat(H, "You use up a fair amount of energy weaving a web on the ground with your spinneret!") new /obj/structure/spider_player(T, owner) - to_chat(H, "You weave a web on the ground with your spinneret!") else to_chat(H, "You're too hungry to spin web right now, eat something first!") @@ -122,7 +120,7 @@ var/nutrition_threshold = NUTRITION_LEVEL_FED if (H.nutrition >= nutrition_threshold) to_chat(H, "You pull out a strand from your spinneret, ready to wrap a target.
\ - (Press ALT+CLICK or MMB on the target to start wrapping.)
") + (Press ALT+CLICK on the target to start wrapping.)") H.adjust_nutrition(E.spinner_rate * -0.5) addtimer(VARSET_CALLBACK(E, web_ready, TRUE), E.web_cooldown) RegisterSignal(H, list(COMSIG_MOB_ALTCLICKON), .proc/cocoonAtom) diff --git a/icons/mob/spider_legs.dmi b/icons/mob/spider_legs.dmi index d04b5a719e30a8f8a6af1fc72bcb8e8d34e62f1f..51c4623ba48c558799e494117297eea10c7e1f97 100644 GIT binary patch delta 1869 zcmV-T2eSCJ4*d@yiBL{Q4GJ0x0000DNk~Le0002M0002M1Oos70HE@5G?5`j0jiN` zg?|h3_X{CWC&a7d=!7_zd^;UoyvXt;>G~ip#iLJI!PU6Ax|G+Kmn9AS+%fm#4sHMD7v1<{*M&n} zu=VS;{?xxnmu2lJ9y<UaT_EIg+}~9>`RH$h#7`y=%&@cz$h` zUZyr^0MI<{5z_ekqsn%qCaH;*J{56rr>m%bNB^x4svpaFM(=cnLqg^+N>pDj`GPGW zqAJIOEZuF;i_xLVMlXWd^ozoi>iWcDbPf1QU4u=C>E37Jntobe1ob~NC4YBr0{J1! z-Edbg`@@Uj`J#fv1~3qQC6DHVic651WYIUeX4N z#~|CJ@5pkkGdH2zKhWDtyR(~wSLjZLXwfZ zjK|Beu@>4-cXB58msHmJa{1TqhG}X4mS?6e?-suP$9r|XH=p_!^`X}1@>Q}g7mz)U zPpo)vL>rh&c{1P2EF=$NVdcUc>b35bC9ghe3rSit@f+zi_kOlwe}Cf3y+$^(j`yijk zzDe1e_tDg(_dtaji|Je>rXlL~m@}Z78#G|M@Ml1OJhTdCPF4OHP1J}cgaIYno9G6~ zy|R;6-?96pRA7q9D}OOjN6B1vlW5+)EW0q{Ess5v0ekRKgQ!PsMs+}HkaOUHFt9gQ zIi^MQu_4{?a+^x(;@nDHaE0+Yu@)}GMU)Up;v<)u$WlCIWGG4ghr zb)XK7yPYhp<~qHV8ba$Jg`6<{)KV*LG9n6D`{XS0gk5sNcz>%yEwJ?cM38Q`A!%U7 zXI(HwX*EKmn_*ad5SZ~_rzIEuEl=p-Ir+gqbbfPqvD4qg+Z(6_FPCSHa2)I&OO9ZMedZ9gzgr8c?qzgx0C zy%*zoX7hkHKAp_6IP@&hz2l zPYOW}59n|}0EY*5H~^5t1Ns9Hz~Le4A~UegkI~5CA%DM*WDW=V2cTk*!$W?raSn&@ zcb@`~!$UnI=WtjiW(@puxIMWYn*KxbvJ>{{`jt@#rpnJ^1f@(`XgehYkmToFU{lSBLt> z!|4KWcz@Vm!`JVEp5oElZ~^3SK$taJ;B!F^2f#D4M&ppf13Mf5=_V8GLi!e1Yqu`p zk3bFw0QN^9hXVlmBYdrEbz#ev4*}$`V1pbMT#&$5FaZt=KEPqY2RJM$05~l80Ea~dZ2I7Z92TE0PZxi{2gDz+LGcG{ zQ2YTG6o0_x__8?ufDMd4-~!_h*alGi0UH#5zy`%1@Y%*6d=jAe11`+}V#C1r112#3 zfPV{&Kj4Dm57?mi1HOSxj{%53sDR@5gDNPDKd6Fj{K5ahlg1w)*zpGlZu|j)9e;q} z#vdTK@dprY`~iX;e}Le}9{~9A2gm?F{s6I!KiHx{@dpTY`~iR;e*j>|9{||#2MA{T z0e~NW01a^C50C+V`~iR;e*mZ;{s6#_KOO*V;}0Ok@dy6`P+S9m1VRp&00000NkvXX Hu0mjfC7*;} delta 1667 zcmV-}27LMb548>0001>1Oos70D0kh9+4qN0i2O& zg@1JMB2gd2qonJDI2DgRWd&D17jR4f0LiO-SVn0xo&W#_5lKWrRA_0k^kJ8ep%RO&`D)1A7eGqQ0)PMbh4k0tI~BN6^{wA?F|mpA#SY z0{brIpD0Qk{wd007s!`DqKD$g5jh-=IDZKF;%lWG_r04zV9n!Gg=Bc5bkULGq7>Ke zbqMeOog~JdCL?$j(@pk z@k#UsAUq2H&2=hT4_my#12m{(K9q` zpR)hvsJD;Fyu+S>;{cGUi$H5nmyl(NMNnt)yeyCVHRGps(MuyC>?jo}Yp)pp_&a)q z))&_W9*t7mVQ>G9tl8x?J68rmQ%~b!6uCp}NJrZ}WVdK+AT(?ZQeH3>j(=A6^sS*` z47di0;+6ju_s&9e^tTX1?=N6N`xqvRLb7Dn;h8k3(J%1w9Hm`N)|D@|lrm2J(}(h@ zK?)L5mwtYx3eI1nxY(x`rCcf6LFRc-2}Ovfk#pRHFuK-6-8t}_KL&rER)%+YI)9`$ z98`z*@Y8x%2%V|zXCRiuvVW!(iq4cQuVlI4zwk=ExiOt23)WsrXmLsmScGf25ce`q zK4JW|B}IQSMtm>CvS5Ysstc{aDsxHr;H6^e)^tM3hi}$`XPw>p5TdunnuPR~<#Oz3 z$w$X>?CPLnx!xem6{EMU41Q2&tH$k`OxV%IOSXfRM_1z}A*12arpxmU{FJF%Y0)FQX1rCqzqm z013vr88x>DprW^-H2`5!9zX)k5Hn*~!=A}Mu?^J{-mSJ!OT4`Y)Z?Hk!qI?W1Y5#V z2BPAl;!hm|6n}l@@n@XAu-2RG(1>v*T+{%DJ+@fLb$|(bQcK`MBV3D$7FEYCuBm0J2JWUl8ep=pLNu!V4O{ z)Ts?pm#Vt^T*yFMtRFyXDvCWoeLIYdJAi%wsUhbCYJX$e2{r_PDvMD?;`#0>jn_A5 zwegQoYgpfAy}GX_lGR-XJ?(+}3^*4fBBEm>V51^U!?|Z@a3!>Z;Yer)!V)jN&7#Eft;l z=RkPmpTpphe}2X@o&cc`LIe3NQnmcgt#6!aG*cMt=8XQ z*~G@9+g7JoDF8)Qh3GN@6)=_r`2{mLJiCzwoV0M{K;K zUs9T!5lJOdi?)YHW= zB%|@|O>e#?1CiE;i&FC#pYLG)XsB=Z?AWs3_q+JKISq5y8>;<3-eUHUVe{nZr42Dx z^TNOUc~vnZuf%t|Wop;A0Ap!qb+lz{18an&RIR_zmB#BP4%3=b?1ja z;qi+vMrBW8KC8(ivuK;;k0%cD*Ub0!?kk8wRL}1 ylwR_Dy@NmPLn7;!LisZa_u0Q5vSnb1|HS0FRbY$mxdbVo1_n=8KbLh*2~7aw#H$hj delta 372 zcmV-)0gL|f1I+_aiBL{Q4GJ0x0000DNk~Le0001h0001B1Oos704G#udH?_b5>QN3 zMZmzoeNQltWJY8Dn0H$+H)L$E;2LJ#7%t=H+ zR9J=W*s&6VFboFZ0(R$kf>L4EYac+X?iJ`3qg1982rvJ<#%QxBLVj_6OF9p8x;=@LQ_sQLOg|d*AYU z%fv{6O%&BRC9`gJ=TM3MpgM><2`12%Ac+1Tru6ND7vrm-FkK``yyxUvz;!tQwPDg79d7`oz2+`B z$FriJ<9OhBItd|!5JG$sX5r_x_xtX4N$h+CV@m^r;7j5chj6x=`Lwexe=`9RJds|0 z{Q3M&lV4^CXI>+$~~J75abC zr{^Mpp+7Le-UA6Vwi-}^X25UdVTdgZpCisl-~<;8 zNRY-~fl@(s6@~Z8TL_|^WbB_9hTRXK5JCtcgb+dq0eJb>^wa)VttZ%R@^F+=QINHX z#cM=aBkRmQ1~WP<8B#w|f?7$i9{hX4B`9}vK~9fA&Fe}X-#(C`Z8@eN@K?-K-J9Ub&?`Aq|Y=o*8IR}+m3QbStbI{@SmLcfj{X;3u_YY+>-#?VmeE(2J^X)Ym|AAoR{X;40 iA1Z_pLI@#*$mAED_!@um3DMmE00006C^0t`#5TmP zx`=4i8L5dWL@O@IFDlL_T6Iope>w@y2B{{&*@<~6Bp41>j?;8y1y?^8a0~$e=)8XT zjKuTw0009PNkl86NpsVUoPjEdwCC?#W*p9`=+_RA zVIYJMLdda@%FkPmTb*atGsM)WsVrVoKVRa3HRH;sqp^hpD8)0wm)Bp{fA=Lro-=mR zpB;Xb^7^`ilY9Eeor>#YM!!0GRs9uxUkRuG2N_SHVgSUrI(l9GXMHbZ-2fqk5JCtc zgpl8kwYayS#I3~%T6{Cs7}$ML;we0#1TDT9JDtsRh60d-d-#H`KVM*ht;}Y=$b2z# zZv4A`BOm$r*~}9#FwH5Wf1Lq4$xUBY!KVSq8xSd&LQ>Jft0fKaM-c$@-yMjt*KGW1 z)8!5I4}-b>y`moThaml*4)XewgU0&b&pt~4??YO?V_(2-O91a8)4A^l_s*{S9&~Sj z5JCtcgb+dqA%u`Van_`t{KnegMZ|+W!ZCVfnbpVmU3CSxV8sSxe;|Ya48&wlGa%B? zfe+~h1fPvdaNdRd@q?QI=)n562DIO>m=s0lC(;!1NZ&2oatb8}9!>Fd3p}_1>H0-A zu46>OmOVZt5220B>CMk2c~FxVv<8hg+`IAGxTk8r}}{}uqD z;{Zka4sHQ7;5slcLIWLa<`|Ji7(58w8$cqv&`$^Im9S z0JzGwl=NOt7?avw@ZPP7X5qE9<{;^Bni>5kd$dgb+dqA%qY@ v$lky$kv)*@eRsnTaL~H}LI@#*kQ)902BQ&23=R3K00000NkvXXu0mjfpc=_n diff --git a/icons/mob/spider_spinneret.dmi b/icons/mob/spider_spinneret.dmi index 36dcb6714ce3239b8c7be53a18154cb03d23b194..688ff90e0d2b69cf5ebfde0432418f97fedd71be 100644 GIT binary patch delta 1035 zcmeBYKgdzv8Q|y6%O%Cdz`(%k>ERLtqz`~F2Q!dNWtw9Oq$~q`LR^9Lgvxve35Lc{ zpJ@e|+5!yACN_pCGV$~Aad2>$iZIM;EKRpl?oV-3)vyhZsY(?T-X$U-C$H;X^U?^Y znXx3uFPOpM*^M+HXJb`JM2Smkaq`4^w|ag3tr}ZZ_9>_v8tdOXdG+w+^RAuU#;TiF zNTl$Ir$+@QJ(EfrkB)utW%9O zKC-b-FD}JmYDlaH-_gaPkq57yXPuM5uRz{q%Hk45^s&cFx5~ixmW1 zMUT`o1SbFZ-ybVAY3;3xAzL5hc)yxA>j|g&_ZtU)TqwKF2y`wOEWf~Azi*XgM0sR_ zh5G44pXsbV4?oU2w0wF`9wtTBn35Vmt1hV$Bd%XFTXz zquhAu&)j93^|!Sr7g+rkWj&#KB0N~qM@ZwmfBlK2=dUbfhgrjrA*L<6fbDuJqq^)8 z0r!WOR|ht)7uayk$${^?P=;x}p5tMl?u;D_o!c&h;s^}xcVF8S+juPGn+e}xh0KIK zpG?^fOR%~f+!wU;#rhvV5@p^Wt`#vhxTmq+r;_&wYf_CXSL^ZPe;#|}@9n8~)N^p< zoaCV6pszZCD%%G#UEjR<}cCNo*a{hD3zHau5e^LyDpN1>mO+Ui2OvND7 zMnQ4b|I~nq_IJ5D@9{_mR~xgyT*L7&=5}mj-bUW?sX_nRb8jj<>le+qalrQ4^UpiY zv>zNwj!dqTmNG5y-eC4@yLbI&Cd2wQ4i#Ip1afXMd#`4iySX#%^M2N-yG(aaFSwc= zaA@bX{5F``4Z2aq$8Gr!@hiSDzVp8P*`*ypSzErQ7e(u5XGT?;Hit(WJzu@>xVBUZ zW0?P%clsJ1-f`P26zDeV3nr9>#(%V4!p*YoYjnYq^|8Cy>*Q+{F4s@o`oCYf_U9#j z6DF7~_gVjEe!XA0Zti{G?fWljyr231!1VL!KY2{mjHln)aCzrU_wO6}*2{d_+`o8T z!Mw($e9z{yxh=h@Jtsn~H{J5)fwhglQylZ`V(WFzew@j)EbYYk_K+#|2CRp+)lOqO zE|Ios%etB)XX;j5l@r-e|9{$nGbKTl%sYDgv!4gEUgC?G!F0Mzd`4y1nLjrj&OYY~ zSa#sesxrl#s1up5PAN8?lGMHJ^M+}U_lII(pUK~I7~d}s{=D4V`$2Bw7S2Q8nq1l5 z#6P)rjdaw5CAn406-W3Rv`k9WJYH`BM1lxB`7@)4h|k4EmvH6 zx)c~?5fd=J+G+p*00DGTPE!Ct=GbNc005PGR9JLGWpiVZe@1^LwFpGz<)s#-mc$q2 zBxdHty9N3Cg(z`xreqcsgG}S%Oe;#vO$D(H@oG;it*WXdUwcwcVsbXn+4<%8%}`cw z^>YDx831*kPewhGRapQ40%J);K~!jg?Ucci;~)$~#{>fb42l2$V;2E?*s&U8r{=Iz z>dGld>W7f^^(B82i9{liNc4YcSr&YxCW|OsV*j9)B3!6(9RSs-9**r_v!4Vou*evoHGpkFDOp=E z2S5$rxUJ&V>*-c;mgB^lt>tGXOMvPXa(A zU`_De2kr?15nKSEGRz6x9yWk7J&FAaLa=rkz}mq1w-(^9u-?=2?3G}86C(f4FvtwZ z|Jr`Nzl)9eV2_JLB9TZW5{Z6?VvIMAZbu$dx0HWCa@=y7tdjDE35G@D_DX;tzV~u8 z=bzI4=8JRygjf7a2Uvo*XK->1rNF#%MN$WVU4HHFceyE-Oa6HhpvK++i21ec)ahe# z+|xyX#I%3_>N_HUGG>XKjw942V4DQkz!aPVP~M*M>j*$KGuKwGPR{Ht>hM(nGy*x* z8Q4!4fIQuRzb!yRfE&=~H>IP0J<4+kmY_9gl6Q3!eZ0002ovPDHLkV1l*Ja0UPX