From 0adf6d96aad8f6d9d44618bebaae674b23463fcb Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 1 Feb 2026 03:38:43 -0500 Subject: [PATCH 01/18] New Sprites: Streetlights and Pawn Shop lights Streetlights will be a child object of light tubes. Pawn lights... I'll figure that one out later, if they are needed. --- .../desert-resources/obj/lighting 32x50.dmi | Bin 0 -> 2113 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 modular_starfly/modules/desert-resources/obj/lighting 32x50.dmi diff --git a/modular_starfly/modules/desert-resources/obj/lighting 32x50.dmi b/modular_starfly/modules/desert-resources/obj/lighting 32x50.dmi new file mode 100644 index 0000000000000000000000000000000000000000..d33dc6e02d0b0b44df4fff1fc292b855aff9c7df GIT binary patch literal 2113 zcmbuAYcyNw9>#Z?qJv;Mb&pG{t-4fDhqz0tn$DQ2xK69eQ6;Fff}#>R%(zxC?NqCA z88N1#R9i|E5ff3TK|__ewBm9Sm%4S*ZI)1X07w(eA(~i|Lk|Y|KED{vvba# zIR#VHQ3L=0b{g%D0RRX%1vd9U!DsRywj3Os&U*TuWH1;cVpe%sHLbb*!ud-s&Zmm0 z4=SEENw=v|sg(Va^Vr;d$laABZ?7Iabh>y^!H8;lz{1Zv7<|zf)|&;M1Bu6+@d4cU z+{@sCp5hxA?;eg1i^E=x$KqlEAc<1y%~nabRC8*+IKc2z7V-EjH)RE}oX`BXy4d|! z{;|5Dfz#U4IqsQw*`UFtrMlVN_@B;9y-1^|lNPg$s#Xhf4HHE(5F?e!+2JC5cK&Y~ z@DDfN08Kh(`W~K<$Ie-$U`<2225M~|ywMOt5603872=TEz% ze3K|kl;|6kmTEsiIv|s{8G#^ zO!#9+H2d_9*FrKT4_?-x;}=wO+|_L4S}bHvLP!^e1_rw(n;G`yD^`*Ysr0(ShRlP! zIwCgB2{6nu!ym$J#f?6$3C+MZLdlVXZt{pRO`v`?V3oGtnqb&x0LDDm1H*c4?D&-kb^;#wjq3`;Z^4&Ni5O`{qa_N8Y5ruVWs_4UImmm@Pc2 zP< zFvF(^|5a2Q#QhUX(dAoth88JTPdS=44Rd3uWd1ExEgCQtLDUrU(w5x@F>BcvkK6hT{ zR~?J<3t)w}U2j~~uyz)P%DHj;?3Kf4>VCwYu88~VUUrmH4@cx5?spN)Ff<&qy zfW9fY3i~#|<_lI|6bEG27bPToSzh7M=~{jE}+h_v0oh0~~G+T?t} z3B<=Fr?;EndO|`#c%U+D(ZY~z5ZQX@KAXsleFFYuJYY}G2i+#ndJ=6?%uvNRp?OQg zk&v%xTbH zMhAV+q5ae1oXAGDEoNC+yL=WtQz;v^!VIHU`<@89BiPsUj5^BFmbsQ+1>NRJAR+5! zzjf5z#TA5aYgExjJVB>?q!w?AlUqKv8?su&0@Ium2U!hp-Fk!1WA0S z0mjMLTc88@CR*@aS32R z9&kG!XErFEcmsATNJrC+v&>+WFg+~{1cDG#nMogo&wl7gc|#*tSCSAFM=@sB2qM|VJt zt=~9uS+4b=w}7TO5eY01fT%qMP|mCF0=R)u17sFyD}e;kEdh2joD@~!;hF?1Dd_!f z!iPC|`cW9wYOO`7roTsEL3@VORDR!o#f7=lKS{r0{0{ig@??k+U((2iTCQv%S8P)! z5xI5%A*hj!z>cTflWst@9HO&ddBrsgXEwRr8$Tw-oTW%w89~3|u--xPhEO!Vi358H zMjuudeO317=j6dWB-s>$F*ryuYYfZa&l&){uLu`P32#fy;-RvvOaeq(o1RQ)z?}Rg zfCqU$F@TDz=8<8C1&T}D5Jwjp$e2r3eZ(Qdnr1R&hpdQrV2R5RcB+p(*-us-s9!|T Y0=g4CIH4%;_YIsrdB*+G@sRX?11Tl+f&c&j literal 0 HcmV?d00001 From d037bd24c1dfed05ec125d83bacaf565674e1429 Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 1 Feb 2026 03:44:30 -0500 Subject: [PATCH 02/18] ... actually, pawn lights can be streetlights, too. Added missing variations for pawn shop lights. --- .../desert-resources/obj/lighting 32x50.dmi | Bin 2113 -> 2477 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/modular_starfly/modules/desert-resources/obj/lighting 32x50.dmi b/modular_starfly/modules/desert-resources/obj/lighting 32x50.dmi index d33dc6e02d0b0b44df4fff1fc292b855aff9c7df..5a9cf50a9fb9ff992528721a8b1ff0af9acbc119 100644 GIT binary patch literal 2477 zcmb`Jc{~){8pmgnQOw|tZnmOqQBqmPSVlDVWx_-oW2uP3FqUGBr4q@$W#7W|7D|c; zFW#9c8H{CQ&5~Vq!wlvQ`rO+e_kKS2kNeL#&pFTeoj<wIqamm~O!Y#rL001CH zh6qal04TwZ83#DnqiT#Rl09i&GDYdt*VhLJg=c3KR(|+od;KO{%OEAcIOpwq)>b}? z#VR|E=tO8Ye`yN_!4BJX8l}u|N#@I+ICI&;jx98r(YwvQ2Z*&aw*p)k@7Y;&K0sZ; zB5rv*dEN2E-tlk;0Q@sD6DpRIP|wvrG6#n@#V+_0oYyJsE-*0Qz-MOzVO(cLaaCT4GI-g^c<-F?p zx~ilxDEe2(>x+ohhqqKz=GL34KE#R%qq)-q1GLu};M86_J^b_QH{7T1fqSH)!szrM z;O6?UfeAP#763S)ZG_N4`De^!It1jY^FIo^jH+?%W3ik{`QuHM9VFtkoSrW`&?wEf zAD72hFg+vB$#-dVDSzqcRr&OlHV9U%O&%vme4nyF zFX;Fhf-kx{oJjAc9Qz&_Bj1?Km`eqs*E<-#F=RS^*o_X&w`xfM=6+dV0P|M|f~&R_ z1Lw92wR&wxPNHB5y=a3Lq6rjg8<|b0Rmd=j)Ha?E31e)$~A*Ml>L<3===cdO>`Vj`Y^mFw>cvp}=?KMHhgV ziY%AuLPEkp4(bV#8`IAmyH#me;RH7@#ndTP+{yr7Y1*P-1L ze9oy#X>k||gwPdk4?13-h>_$CsD5^;b;>ifDSbjd$(S>_zezl;Q2^J#%oo6oFg?^P z$e6%9q%R(uhYb8}P{kOeAC_X2WZJ%*DRIDAj``nX^$ncysT*ow6p$B%L(Ws{B-;H} z+y5j3(0j?<3e=Kw;t@j{5cw(ey|&OM+pBr=(+HaEPW|d&?W;y{qsTNy!L(l?EobC3 z<#j6?x^1)nJ^Whm8J_`#?-d+&RV!zzw4@kHIwh|;AV@mpPFyx!Zh1uGkK7| z0yZM*?#?JXsQOEmQQ)0q{9>Pp`v?-G$U?J_NI}XhTJt+emfLx4$T82;f(4P`PFWqY z&-1*>ia`pNY()`wCT0|o4TRp}`*EO_srVYmhS$4I+%BJk*H(&?Oe4k6J0R(E`IqB> zwL3ZF%Z>Zpvkbk6T0apKm1T4pgqcZ^X4GarE+z6^+m*kOhospJIpfe_Ps;sE(?k{_*9Gn&BOEB!;+Uzy2tJ8J>SdOWEfRp<2ZKwV3HZpR_i|^m# zzY0WDXQPXD?6{j8y;#VSK5vg=QG1TG_CM4{b!e+gBvl5m8$v|G+NAl~x8Pb$p_^z3 zniG!70>3m7pvWATa!dnaUn9O z%+jEg$)f+&y}#N5TH_6UO6>pQVxG*&i_0~x0=R4ntV@Og&n$mwwt`d7ZgX+LZiE-RoIY(k&1G~>YpNNa*Xig0gsS`6F9NFi2}pMXITj+{DPFgUal8Mq6Lx8 zMONPndTcX3)*CJM!fZKY^;o7QOa)I%DI}98L(s@q(bMwX!Q|s{LfP36df7Gtw9#Zs zlxS4~-OoBlUXIeqat1GHI>kM^R((gSzv6VSc&Q>AB)0TB*8Et`& i*-uc}hA>#d0v?^;s3QLm#Ie6h03$tfM2W6_=sy7fO5WfA literal 2113 zcmbuAYcyNw9>#Z?qJv;Mb&pG{t-4fDhqz0tn$DQ2xK69eQ6;Fff}#>R%(zxC?NqCA z88N1#R9i|E5ff3TK|__ewBm9Sm%4S*ZI)1X07w(eA(~i|Lk|Y|KED{vvba# zIR#VHQ3L=0b{g%D0RRX%1vd9U!DsRywj3Os&U*TuWH1;cVpe%sHLbb*!ud-s&Zmm0 z4=SEENw=v|sg(Va^Vr;d$laABZ?7Iabh>y^!H8;lz{1Zv7<|zf)|&;M1Bu6+@d4cU z+{@sCp5hxA?;eg1i^E=x$KqlEAc<1y%~nabRC8*+IKc2z7V-EjH)RE}oX`BXy4d|! z{;|5Dfz#U4IqsQw*`UFtrMlVN_@B;9y-1^|lNPg$s#Xhf4HHE(5F?e!+2JC5cK&Y~ z@DDfN08Kh(`W~K<$Ie-$U`<2225M~|ywMOt5603872=TEz% ze3K|kl;|6kmTEsiIv|s{8G#^ zO!#9+H2d_9*FrKT4_?-x;}=wO+|_L4S}bHvLP!^e1_rw(n;G`yD^`*Ysr0(ShRlP! zIwCgB2{6nu!ym$J#f?6$3C+MZLdlVXZt{pRO`v`?V3oGtnqb&x0LDDm1H*c4?D&-kb^;#wjq3`;Z^4&Ni5O`{qa_N8Y5ruVWs_4UImmm@Pc2 zP< zFvF(^|5a2Q#QhUX(dAoth88JTPdS=44Rd3uWd1ExEgCQtLDUrU(w5x@F>BcvkK6hT{ zR~?J<3t)w}U2j~~uyz)P%DHj;?3Kf4>VCwYu88~VUUrmH4@cx5?spN)Ff<&qy zfW9fY3i~#|<_lI|6bEG27bPToSzh7M=~{jE}+h_v0oh0~~G+T?t} z3B<=Fr?;EndO|`#c%U+D(ZY~z5ZQX@KAXsleFFYuJYY}G2i+#ndJ=6?%uvNRp?OQg zk&v%xTbH zMhAV+q5ae1oXAGDEoNC+yL=WtQz;v^!VIHU`<@89BiPsUj5^BFmbsQ+1>NRJAR+5! zzjf5z#TA5aYgExjJVB>?q!w?AlUqKv8?su&0@Ium2U!hp-Fk!1WA0S z0mjMLTc88@CR*@aS32R z9&kG!XErFEcmsATNJrC+v&>+WFg+~{1cDG#nMogo&wl7gc|#*tSCSAFM=@sB2qM|VJt zt=~9uS+4b=w}7TO5eY01fT%qMP|mCF0=R)u17sFyD}e;kEdh2joD@~!;hF?1Dd_!f z!iPC|`cW9wYOO`7roTsEL3@VORDR!o#f7=lKS{r0{0{ig@??k+U((2iTCQv%S8P)! z5xI5%A*hj!z>cTflWst@9HO&ddBrsgXEwRr8$Tw-oTW%w89~3|u--xPhEO!Vi358H zMjuudeO317=j6dWB-s>$F*ryuYYfZa&l&){uLu`P32#fy;-RvvOaeq(o1RQ)z?}Rg zfCqU$F@TDz=8<8C1&T}D5Jwjp$e2r3eZ(Qdnr1R&hpdQrV2R5RcB+p(*-us-s9!|T Y0=g4CIH4%;_YIsrdB*+G@sRX?11Tl+f&c&j From ec6955dde02c8752995a2c5c0550be3e30f75285 Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 1 Feb 2026 06:38:43 -0500 Subject: [PATCH 03/18] Lightbulb Color Correction OH, WAIT, THERE IS A CONSISTENT COLOR FOR UNPOWERED LIGHTS, ISN'T THERE --- .../desert-resources/obj/lighting 32x50.dmi | Bin 2477 -> 2494 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/modular_starfly/modules/desert-resources/obj/lighting 32x50.dmi b/modular_starfly/modules/desert-resources/obj/lighting 32x50.dmi index 5a9cf50a9fb9ff992528721a8b1ff0af9acbc119..9db243ed76e3e6adcf07b5b100c94494b0a43210 100644 GIT binary patch delta 2026 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 Nva@lvuD0~L`yX|R7C!(0 From 52560dd76e012a87964e23ea10ebd04736ec572d Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 22 Feb 2026 03:18:36 -0500 Subject: [PATCH 04/18] fixing pr file structure oops lol --- .../{ => icons}/obj/lighting 32x50.dmi | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename modular_starfly/modules/desert-resources/{ => icons}/obj/lighting 32x50.dmi (100%) diff --git a/modular_starfly/modules/desert-resources/obj/lighting 32x50.dmi b/modular_starfly/modules/desert-resources/icons/obj/lighting 32x50.dmi similarity index 100% rename from modular_starfly/modules/desert-resources/obj/lighting 32x50.dmi rename to modular_starfly/modules/desert-resources/icons/obj/lighting 32x50.dmi From a658a0433d0f01a3e38dcb6389da2dcb37f1f80b Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 22 Feb 2026 03:22:44 -0500 Subject: [PATCH 05/18] moghes mobs graphics added mobs for new outpost! --- .../icons/mob/moghes/miervesh.dmi | Bin 0 -> 1521 bytes .../icons/mob/moghes/moghes_48.dmi | Bin 0 -> 6676 bytes .../icons/mob/moghes/threshbeast.dmi | Bin 0 -> 6251 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 modular_starfly/modules/desert-resources/icons/mob/moghes/miervesh.dmi create mode 100644 modular_starfly/modules/desert-resources/icons/mob/moghes/moghes_48.dmi create mode 100644 modular_starfly/modules/desert-resources/icons/mob/moghes/threshbeast.dmi diff --git a/modular_starfly/modules/desert-resources/icons/mob/moghes/miervesh.dmi b/modular_starfly/modules/desert-resources/icons/mob/moghes/miervesh.dmi new file mode 100644 index 0000000000000000000000000000000000000000..fd0283dd2ed3bc40e4bcea428d28fafa13670020 GIT binary patch literal 1521 zcmV004jp0{{R3ySkS}ChH z5b%Ru!Bj8Aib_!c0O0@tp8x>PLKDEiz`9-A@Bjb+0d!JMQvg8b*k%9#0FruCSad{X zb7OL8aCB*JZU6vyoKseCa&`CgQ*iP1G8(C9|j)q?3y?ttc@!6~qSWOG(X1tOPO* z^o(?X7@J<*l+?r&gaL*~1{h*dZ$yDzMtJQ~R&e!m0S5#Cvf)fW zdUSsnK#j`(|HNQXk^lmiqc*`M*x@(*}W^-7fV4hd)=v8sfk zAo~;kp(`w)%D?|QstbYCHx;5Pb8M3fk(U*D1-|_cR7<(_@bLpg+LJL_6ETPXQ zN+~jYeY^jmni?XMuml12b@StTSb~HVNFn550O>1b0lyE|=SOV)v4lyPZjStY zJr`w()%_A`2`1?FWT6PlJ6xZyZvJS41_t=Y@${`;QFT~@Y)d?$EX!8H@{oM>?qB0e zloio_bHLXZGS;oC@PL(Sk=^t8n%%#_6SfbfTEd^J!w97m9#G-a!*$>L!_9*B?-b+D z2{`|*eYDhwu2m1J4%4%aNch=>ASJ1Ajbd1fVg5_gC~b1B_$;#B_$>O zS;gjmocf_B>#_MCryc^531jm=PD4NT12rHv|Krquz=QPv;(wSf@;^d41RQ(QfB$vp zL2uw${`Z6??L!SApVrgyAezr@DR}<(oaPB4j(!Uv-ZW$RJpUv47SI2l)jUt5fqa9R zW+Y#|^FM;mWjz0TI$<_LK>s+7xAD2a{|G)OdH#1HVW!PEVy}-Ae9pt=hU0%tK-Evm zF3wqU1c}#R4Xxt%pK1yG$jWw(9zgTI<{baSAnytBd@wHm&+7 ze5|+y_~L(P-JtcI&y6^r^YvAaE0)mbTSvWS1b-aJd|&>D;`toZHFVJHst*HbUl|AZ zjq%65KN^p&dp_5jaYXqXEMd~n1UCppSRTS3_0IpW272?y4H!NLOPD8ZaX)EXOZ3W{`1cN=EDS`9{i8%K|G(c&N)1w!>5PqzW0Zl z<;V4JeS^XV*F1Gh%1J{pB$2ul$4Z|l$4b8wz|gu z;_D*+i?56PFTO7FzxX=I|8CR?{&%xj{&%x@{`bl>2N8JwcVj{imuHUu%>h;4qiLG0 z~?^xs*&-xj(M&sumIqv82>uM_`Otj`C>vB3<#_WAiA X-$+e>hZFaQ00000NkvXXu0mjf@3#li literal 0 HcmV?d00001 diff --git a/modular_starfly/modules/desert-resources/icons/mob/moghes/moghes_48.dmi b/modular_starfly/modules/desert-resources/icons/mob/moghes/moghes_48.dmi new file mode 100644 index 0000000000000000000000000000000000000000..2110fc30444c1e36fdafb478d2cc0110ddf1f2af GIT binary patch literal 6676 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 literal 0 HcmV?d00001 diff --git a/modular_starfly/modules/desert-resources/icons/mob/moghes/threshbeast.dmi b/modular_starfly/modules/desert-resources/icons/mob/moghes/threshbeast.dmi new file mode 100644 index 0000000000000000000000000000000000000000..02e895cfff358fdbf4a0ad89ddc87d2f128f95c0 GIT binary patch literal 6251 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 literal 0 HcmV?d00001 From fcd4f6197b7233b70f9e5d623501478c7e818acf Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 22 Feb 2026 03:25:01 -0500 Subject: [PATCH 06/18] Modularizes Moghesan mobs Part 1 These will need their icons fixed, but it's a good start! --- .../living/simple_animal/friendly/moghes.dm | 107 ++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 modular_starfly/modules/desert-resources/code/modules/mob/living/simple_animal/friendly/moghes.dm diff --git a/modular_starfly/modules/desert-resources/code/modules/mob/living/simple_animal/friendly/moghes.dm b/modular_starfly/modules/desert-resources/code/modules/mob/living/simple_animal/friendly/moghes.dm new file mode 100644 index 0000000000..604d3390c3 --- /dev/null +++ b/modular_starfly/modules/desert-resources/code/modules/mob/living/simple_animal/friendly/moghes.dm @@ -0,0 +1,107 @@ +/mob/living/simple_animal/threshbeast + name = "threshbeast" + desc = "Large herbivorous reptiles native to Moghes, the azkrazal or 'threshbeast' is commonly used as a mount, beast of burden, or convenient food source by Unathi. They are highly valued for their speed and strength, capable of running at 30-42 miles per hour at top speed. Their favorite foods are grasses and cactus fruits" + icon = 'icons/mob/moghes/threshbeast.dmi' + icon_state = "threshbeast" + icon_living = "threshbeast" + icon_dead = "threshbeast_dead" + butcher_results = list(/obj/item/stack/sheet/animalhide/lizard = 2, /obj/item/reagent_containers/food/snacks/meat/slab = 6) + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "pushes" + response_disarm_simple = "pushes" + response_harm_continuous = "strikes" + response_harm_simple = "strikes" + speak_chance = 1 + turns_per_move = 5 + speak_emote = list("chuffs", "hisses", "bellows") + emote_hear = list("chuffs", "hisses", "bellows") + emote_see = list("shakes its head", "thumps its tail") + mob_biotypes = MOB_ORGANIC|MOB_BEAST|MOB_REPTILE + move_resist = MOVE_FORCE_VERY_STRONG + food_type = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit, /obj/item/reagent_containers/food/snacks/grown/ash_flora/fern, /obj/item/reagent_containers/food/snacks/grown/grass, /obj/item/reagent_containers/food/snacks/grown/grass/fairy, /obj/item/reagent_containers/food/snacks/grown/grass/carpet) // Herbivore + base_pixel_x = -15 + maxHealth = 100 + health = 100 + tame_chance = 15 + bonus_tame_chance = 30 + speed = 3 + harm_intent_damage = 0 + melee_damage_lower = 12 + melee_damage_upper = 20 + var/saddled = FALSE + +/mob/living/simple_animal/threshbeast/attackby(obj/item/O, mob/user, params) + if(istype(O, /obj/item/saddle) && !saddled) + if(tame && do_after(user, 55, target=src)) + user.visible_message("You manage to put [O] on [src], you can now ride [p_them()].") + qdel(O) + saddled = TRUE + can_buckle = TRUE + buckle_lying = FALSE + add_overlay("threshbeast_saddled") + var/datum/component/riding/D = LoadComponent(/datum/component/riding) + D.set_riding_offsets(RIDING_OFFSET_ALL, list(TEXT_NORTH = list(0, 8), TEXT_SOUTH = list(0, 8), TEXT_EAST = list(-2, 8), TEXT_WEST = list(2, 8))) + D.set_vehicle_dir_layer(SOUTH, ABOVE_MOB_LAYER) + D.set_vehicle_dir_layer(NORTH, OBJ_LAYER) + D.set_vehicle_dir_layer(EAST, OBJ_LAYER) + D.set_vehicle_dir_layer(WEST, OBJ_LAYER) + D.drive_verb = "ride" + else + user.visible_message("[src] is rocking around! You can't put the saddle on!") + return + ..() + +/mob/living/simple_animal/threshbeast/brown + icon_state = "threshbeastbrown" + icon_living = "threshbeastbrown" + icon_dead = "threshbeastbrown_dead" + +/mob/living/simple_animal/threshbeast/grey + icon_state = "threshbeastgrey" + icon_living = "threshbeastgrey" + icon_dead = "threshbeastgrey_dead" + +/mob/living/simple_animal/threshbeast/red + icon_state = "threshbeastred" + icon_living = "threshbeastred" + icon_dead = "threshbeastred_dead" + +/mob/living/simple_animal/miervesh + name = "Mier'vesh" + desc = "A small, sweet-tempered flying reptile from Moghes. Frequently samples the air with a long, thin forked tongue. They are popular animals among Ouerean Unathi as they are small and sweet tempered, making them slow to respond to danger." //' + icon = 'icons/mob/moghes/miervesh.dmi' + icon_state = "miervesh-1" + icon_living = "miervesh-1" + icon_dead = "miervesh-1-dead" + density = FALSE + health = 4 + maxHealth = 4 + butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/chicken = 1) + melee_damage_upper = 2 + melee_damage_lower = 0 + speak_chance = 1 + speak = list("Chirp!","peep!","tweet!") + speak_emote = list("croons","chirps","hisses") + emote_hear = list("croons.","chirps.","hisses.") + emote_see = list("pecks at the ground","flaps its wings","flicks out its tongue") + turns_per_move = 5 + + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently moves aside" + response_disarm_simple = "gently move aside" + response_harm_continuous = "swats" + response_harm_simple = "swat" + a_intent = INTENT_HARM //wild animals aren't going to be your best friend, but a player-controlled one might be tame enough. + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" + friendly_verb_continuous = "grooms" + friendly_verb_simple = "groom" + mob_size = MOB_SIZE_SMALL + movement_type = FLYING + +/mob/living/simple_animal/miervesh/red + icon_state = "miervesh-2" + icon_living = "miervesh-2" + icon_dead = "miervesh-2-dead" \ No newline at end of file From 07265948747f240c0b0ca108c2b81835f1499d3a Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 8 Mar 2026 00:31:04 -0500 Subject: [PATCH 07/18] Fixes miervesh and threshbeast icon pathing --- .../code/modules/mob/living/simple_animal/friendly/moghes.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_starfly/modules/desert-resources/code/modules/mob/living/simple_animal/friendly/moghes.dm b/modular_starfly/modules/desert-resources/code/modules/mob/living/simple_animal/friendly/moghes.dm index 604d3390c3..e5b0860861 100644 --- a/modular_starfly/modules/desert-resources/code/modules/mob/living/simple_animal/friendly/moghes.dm +++ b/modular_starfly/modules/desert-resources/code/modules/mob/living/simple_animal/friendly/moghes.dm @@ -1,7 +1,7 @@ /mob/living/simple_animal/threshbeast name = "threshbeast" desc = "Large herbivorous reptiles native to Moghes, the azkrazal or 'threshbeast' is commonly used as a mount, beast of burden, or convenient food source by Unathi. They are highly valued for their speed and strength, capable of running at 30-42 miles per hour at top speed. Their favorite foods are grasses and cactus fruits" - icon = 'icons/mob/moghes/threshbeast.dmi' + icon = 'modular_starfly/modules/desert-resources/icon/mob/moghes/threshbeast.dmi' icon_state = "threshbeast" icon_living = "threshbeast" icon_dead = "threshbeast_dead" @@ -70,7 +70,7 @@ /mob/living/simple_animal/miervesh name = "Mier'vesh" desc = "A small, sweet-tempered flying reptile from Moghes. Frequently samples the air with a long, thin forked tongue. They are popular animals among Ouerean Unathi as they are small and sweet tempered, making them slow to respond to danger." //' - icon = 'icons/mob/moghes/miervesh.dmi' + icon = 'modular_starfly/modules/desert-resources/icons/mob/moghes/miervesh.dmi' icon_state = "miervesh-1" icon_living = "miervesh-1" icon_dead = "miervesh-1-dead" From a79eb9a01ba9b73b2db592ef63b86b83f65afe4b Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 8 Mar 2026 00:53:56 -0500 Subject: [PATCH 08/18] adds desert flora sprites --- .../desert-resources/icons/obj/flora/desert.dmi | Bin 0 -> 20806 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 modular_starfly/modules/desert-resources/icons/obj/flora/desert.dmi diff --git a/modular_starfly/modules/desert-resources/icons/obj/flora/desert.dmi b/modular_starfly/modules/desert-resources/icons/obj/flora/desert.dmi new file mode 100644 index 0000000000000000000000000000000000000000..d8cb26bee4cab579952d9261143b804b8c0f4861 GIT binary patch literal 20806 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 QQ~&?~07*qoM6N<$f?k(a;{X5v literal 0 HcmV?d00001 From d6f233ecd4dc6a2fe6662fa51ce8b64d205ca7bc Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 8 Mar 2026 01:35:20 -0500 Subject: [PATCH 09/18] adds Hegemony wall flag graphics --- .../icons/obj/structures/signs/wallflags.dmi | Bin 0 -> 861 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 modular_starfly/modules/desert-resources/icons/obj/structures/signs/wallflags.dmi diff --git a/modular_starfly/modules/desert-resources/icons/obj/structures/signs/wallflags.dmi b/modular_starfly/modules/desert-resources/icons/obj/structures/signs/wallflags.dmi new file mode 100644 index 0000000000000000000000000000000000000000..13567fce75474d0417f1cbae24d67c8196fea4b7 GIT binary patch literal 861 zcmV-j1ETziP)+`10D*1?IT|h-5gJz=J$NTK|JVSrmj_cu09hR|91AR*hJWDz z0004WQchCV=-0C=2JR&a84_w-Y6@%7{?OD!tS z%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5DJ>^4Jw78fJvBE!uTqJN zGbOXA7^IntGp#5wHxzT3wkYB zKjpat06K!ySrYO)@DxLU*65GEFahW}zkn*hpsaJe5jgKd@YaQetflw7s{*2l!TS0L zRsf5R$;6dRB1|2SqQMbp$pN5$N^z%z2wVLTeIbMoi?|$3q|vXZUa-MB4NgZz>lpC(=j(Lj zWXz`}-~j*%U|wVTjJ3vR8Yh690P(%eP1bv($J+p{RhiAvL5fcTqS^YJ2LV?OQriqJ zl!7)u9FOk6_|y_zs+K&!v`wAgm;0&U*Bi>ImIv)hLtz56m}b!45*YwQ*s0hF@RpXt zE&R&Yr$Cdkz-xFF0PdUQVFqC2p=46@^#wVX+yKNy%e<0%n1JF? zPi~j}x3Pt?C%VoOa5H-z1+R6uy!4MK;=O^M%F3RB~L8}KG`0qPw& zngDVFjC_A=Rt*59H50H*P7QNl1I#jBHcWvFQ0w^0p8^x0w&9gc-~o32n5v!xC?B@+ zfeB!3Q@;lU%>{4{n);2Evsixx5kN@BNmfOa%E}|tpNgI9TI_HzeakiW1E2q^=mqHB nGP^hZ?y;qR@ai5N|GItvPHi$zop??E00000NkvXXu0mjfY&vv- literal 0 HcmV?d00001 From 06fdfa3ca683a8c456540d8c4d12219f12b666f5 Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 8 Mar 2026 05:22:03 -0400 Subject: [PATCH 10/18] Izweski flag graphics --- .../icons/obj/structures/signs/wallflags.dmi | Bin 861 -> 875 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/modular_starfly/modules/desert-resources/icons/obj/structures/signs/wallflags.dmi b/modular_starfly/modules/desert-resources/icons/obj/structures/signs/wallflags.dmi index 13567fce75474d0417f1cbae24d67c8196fea4b7..dd28594a33b992a1d11002b7c3cc514f4df44fbe 100644 GIT binary patch delta 637 zcmV-@0)qYB2I~fp`F~wWL_t(oh3%N#mZKmLgagw2;M)WlZiW-M3^=pMS~;Il79n0|CHi~5+ZE#B03?2 zi$&ayCerBlQ!s?Y12+K30K6X!=W@V&`V)a(+5j3r@)BeoVLCh0&^neG(8+j?S*!4E zHn^BUqN}Zx@?b#6js|x#JU>S3>a@&DL{@d;S?{|TFGhH$Y!dMCukX)xNgM|NyaCZ1 z{mmF)EdZGTPk(j^51_SrJ>2JgfViIBfpvU|3gA&G=m9wYS<6Z_YgfxYz=LYpIfMRs z&jgfhD!^M>4!Z?pe_p>h)%HQdmI!t~1)7uvUNyf0Xz>PMKc}`^_4Nh0=?(!9VN0=l z($sHN%XRJtuXZeX?2ip6VZ#BaO__ofy8cMOXt0W#mVa5bPi`aTzkrcNzE)Rkc?9SQ zUXK7h(eb~gO9{evDK<=evM2c?0OkU)Fng@5Da`{& zOLt%zKuB%JQsRvkp+n>b>2K^7sdK+Ac$2vR^-g7709gPl-yfS*2S91f1Z=})#~j!I zvrXU~Q+D72)IQqqbl?G$4+nWJfdx?Z=#PF1DMFU3cxc&dHt%Ql|jab;`p)1U z7^FLSy*Ls=N-+$B%EAkJEm%M0xdQ+?g49_O@;mSpLx9%kkG?Pg=sCZDD!`zubG#8a z??dp`g@vr8_q?kDqKU!!`UqA4i;l^}l}sW`9gw2I5opN)pnrc#ai@d`Tm2DzA%qW$ zxExKS(XXdq2#Ft@0DuSB`xAj4>Hr!*@)9^}WFmbz;l3D)@G={Gm_eeuV5MXMY6Go) z@G9%-v=mnjPDe%S81VS#>vZH~%%>&b0RReMUSs--}CxDy)@x9GW)_bGJ+W@Uq zna$BbicbQf*?;<*2LV?OQriqJl!7)u9FOk6_|y_zs+K&!v`wAgm;0&U*Bi>ImIv)h zLtz56m}b!45*YwQ*s0hF@RpXtE&R&Yr$Cdkz-xFF0PdUQVFqC2 zp=46@^#wVX+yKNy%e<0%n1JF?Pi~j}x3Pt?C%VoOaDOv<9tE#;xV>SX0WHz-U)?2y zbJpC+KxY6dMYp=wiKNEDM&YZIKNbq?26(bN`6B@O0Z14v7Epc_C)ZSO^( z6AeO#$W4jgSPE0)ejD&6a{=ldIhp`+0*rirY*q~br8N_Eo&+c#w(@}qU~N;s2L#Opa1NUKjg_-le+3ahNXAK4MU=|Q zBh#OXo$Ffca4>z#HTDCa|EuT)=-x8BH~sFhrGN119v%O>egIBwGEbd&P5%G@002ov JPDHLkV1jftDPRBq From 4472a9c9f509b59283178569ad8b4bdf6490c810 Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 8 Mar 2026 05:38:40 -0400 Subject: [PATCH 11/18] lets animals exist apparently --- shiptest.dme | 1 + 1 file changed, 1 insertion(+) diff --git a/shiptest.dme b/shiptest.dme index bc80f6b98e..c9d01624f0 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -3797,6 +3797,7 @@ #include "modular_starfly\modules\admin_verb_freeze\overlays.dm" #include "modular_starfly\modules\cryosleep_symptoms\cryopod.dm" #include "modular_starfly\modules\cryosleep_symptoms\game_options.dm" +#include "modular_starfly\modules\desert-resources\code\modules\mob\living\simple_animal\friendly\moghes.dm" #include "modular_starfly\modules\rksh_unathi\_defines.dm" #include "modular_starfly\modules\rksh_unathi\lizardpeople.dm" #include "modular_starfly\modules\roseus_galactic\syndicate.dm" From 40e7bd3dac2344f953200f3eb5c64d72d8d38e7c Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 22 Mar 2026 00:53:44 -0400 Subject: [PATCH 12/18] fixed lighting_32x50 dmi and our dme file holy mother of missing files --- .../obj/{lighting 32x50.dmi => lighting_32x50.dmi} | Bin shiptest.dme | 6 ++++++ 2 files changed, 6 insertions(+) rename modular_starfly/modules/desert-resources/icons/obj/{lighting 32x50.dmi => lighting_32x50.dmi} (100%) diff --git a/modular_starfly/modules/desert-resources/icons/obj/lighting 32x50.dmi b/modular_starfly/modules/desert-resources/icons/obj/lighting_32x50.dmi similarity index 100% rename from modular_starfly/modules/desert-resources/icons/obj/lighting 32x50.dmi rename to modular_starfly/modules/desert-resources/icons/obj/lighting_32x50.dmi diff --git a/shiptest.dme b/shiptest.dme index c9d01624f0..12331bdb5c 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -3798,6 +3798,12 @@ #include "modular_starfly\modules\cryosleep_symptoms\cryopod.dm" #include "modular_starfly\modules\cryosleep_symptoms\game_options.dm" #include "modular_starfly\modules\desert-resources\code\modules\mob\living\simple_animal\friendly\moghes.dm" +#include "modular_starfly\modules\desert-resources\icons\mob\moghes\miervesh.dmi" +#include "modular_starfly\modules\desert-resources\icons\mob\moghes\moghes_48.dmi" +#include "modular_starfly\modules\desert-resources\icons\mob\moghes\threshbeast.dmi" +#include "modular_starfly\modules\desert-resources\icons\obj\flora\desert.dmi" +#include "modular_starfly\modules\desert-resources\icons\obj\structures\signs\wallflags.dmi" +#include "modular_starfly\modules\desert-resources\icons\obj\lighting_32x50.dmi" #include "modular_starfly\modules\rksh_unathi\_defines.dm" #include "modular_starfly\modules\rksh_unathi\lizardpeople.dm" #include "modular_starfly\modules\roseus_galactic\syndicate.dm" From a3ca1119295c647a52cf610ef175cd326bf07c6c Mon Sep 17 00:00:00 2001 From: Patrick Meade Date: Sun, 29 Mar 2026 15:58:38 -0500 Subject: [PATCH 13/18] Add CI check for unusual include types --- tools/starfly/ci/lint.sh | 3 + tools/starfly/python/check_dme_includes.py | 64 ++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100755 tools/starfly/python/check_dme_includes.py diff --git a/tools/starfly/ci/lint.sh b/tools/starfly/ci/lint.sh index 273da0895c..8b83af7a05 100755 --- a/tools/starfly/ci/lint.sh +++ b/tools/starfly/ci/lint.sh @@ -11,6 +11,9 @@ echo "# Checking shiptest.dme" echo "## Checking FILE_DIR directives in shiptest.dme" tools/starfly/ci/check_file_dir.sh +echo "## Checking include types in shiptest.dme" +python3 tools/starfly/python/check_dme_includes.py shiptest.dme + echo "## Checking include order in shiptest.dme" python3 tools/starfly/python/check_dme_order.py shiptest.dme diff --git a/tools/starfly/python/check_dme_includes.py b/tools/starfly/python/check_dme_includes.py new file mode 100755 index 0000000000..989783c9e8 --- /dev/null +++ b/tools/starfly/python/check_dme_includes.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +# check_dme_includes.py +# Copyright 2026 Patrick Meade. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#---------------------------------------------------------------------------- + +import sys +from pathlib import Path + +EXPECTED_SUFFIXES = [".dm", ".dmf"] + +def get_includes(file_path): + with open(file_path, 'r') as file: + lines = file.readlines() + + includes = [line for line in lines if line.strip().startswith('#include')] + paths = [line.split('#include')[1].strip().strip('"') for line in includes] + return paths + +def check_dme_include_types(file_path): + # until we know otherwise, all the path suffixes are legitimate + all_good = True + + # get all of the include paths from the .dme file + paths = get_includes(file_path) + + # for each include path in the dme file + for include_path_str in paths: + # turn it into a python Path object + include_path = Path(include_path_str) + + # if the path suffix is NOT one of the ones we expect + if include_path.suffix not in EXPECTED_SUFFIXES: + # set the all_good flag to False + all_good = False + # tell the user what we found + print(f'#include "{include_path_str}" has suffix "{include_path.suffix}"') + + # if we found an error + if not all_good: + print(f"Some #include paths in {file_path} are a little sus.") + + # return our result to ther caller + return all_good + + +if __name__ == "__main__": + file_path = sys.argv[1] + if not check_dme_include_types(file_path): + sys.exit(1) + else: + print("All #include paths have suffixes we expected.") From 106d87fe9ebb2f98ae32cfbffdbe389b27771449 Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 5 Apr 2026 01:23:58 -0400 Subject: [PATCH 14/18] fixes pathing and removes dmis from the dme file --- .../modules/mob/living/simple_animal/friendly/moghes.dm | 8 ++++---- shiptest.dme | 7 ------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/modular_starfly/modules/desert-resources/code/modules/mob/living/simple_animal/friendly/moghes.dm b/modular_starfly/modules/desert-resources/code/modules/mob/living/simple_animal/friendly/moghes.dm index e5b0860861..95144b27da 100644 --- a/modular_starfly/modules/desert-resources/code/modules/mob/living/simple_animal/friendly/moghes.dm +++ b/modular_starfly/modules/desert-resources/code/modules/mob/living/simple_animal/friendly/moghes.dm @@ -1,11 +1,11 @@ /mob/living/simple_animal/threshbeast name = "threshbeast" desc = "Large herbivorous reptiles native to Moghes, the azkrazal or 'threshbeast' is commonly used as a mount, beast of burden, or convenient food source by Unathi. They are highly valued for their speed and strength, capable of running at 30-42 miles per hour at top speed. Their favorite foods are grasses and cactus fruits" - icon = 'modular_starfly/modules/desert-resources/icon/mob/moghes/threshbeast.dmi' + icon = 'modular_starfly/modules/desert-resources/icons/mob/moghes/threshbeast.dmi' icon_state = "threshbeast" icon_living = "threshbeast" icon_dead = "threshbeast_dead" - butcher_results = list(/obj/item/stack/sheet/animalhide/lizard = 2, /obj/item/reagent_containers/food/snacks/meat/slab = 6) + butcher_results = list(/obj/item/stack/sheet/animalhide/lizard = 2, /obj/item/food/meat/slab = 6) response_help_continuous = "pets" response_help_simple = "pet" response_disarm_continuous = "pushes" @@ -19,7 +19,7 @@ emote_see = list("shakes its head", "thumps its tail") mob_biotypes = MOB_ORGANIC|MOB_BEAST|MOB_REPTILE move_resist = MOVE_FORCE_VERY_STRONG - food_type = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit, /obj/item/reagent_containers/food/snacks/grown/ash_flora/fern, /obj/item/reagent_containers/food/snacks/grown/grass, /obj/item/reagent_containers/food/snacks/grown/grass/fairy, /obj/item/reagent_containers/food/snacks/grown/grass/carpet) // Herbivore + food_type = list(/obj/item/food/grown/ash_flora/cactus_fruit, /obj/item/food/grown/ash_flora/fern, /obj/item/food/grown/grass, /obj/item/food/grown/grass/fairy, /obj/item/food/grown/grass/carpet) // Herbivore base_pixel_x = -15 maxHealth = 100 health = 100 @@ -77,7 +77,7 @@ density = FALSE health = 4 maxHealth = 4 - butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/chicken = 1) + butcher_results = list(/obj/item/food/meat/slab/chicken = 1) melee_damage_upper = 2 melee_damage_lower = 0 speak_chance = 1 diff --git a/shiptest.dme b/shiptest.dme index a66d954705..59ba9aa12e 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -1227,7 +1227,6 @@ #include "code\game\machinery\telecomms\machines\server.dm" #include "code\game\MapData\outposts\cybersun_gas_giant.dm" #include "code\game\MapData\shuttles\independent_shetland.dm" -#include "code\game\MapData\shuttles\independent_shetland.dm" #include "code\game\MapData\shuttles\misc.dm" #include "code\game\MapData\shuttles\pgf_bolide.dm" #include "code\game\MapData\shuttles\pgf_crying_sun.dm" @@ -3827,12 +3826,6 @@ #include "modular_starfly\modules\cryosleep_symptoms\cryopod.dm" #include "modular_starfly\modules\cryosleep_symptoms\game_options.dm" #include "modular_starfly\modules\desert-resources\code\modules\mob\living\simple_animal\friendly\moghes.dm" -#include "modular_starfly\modules\desert-resources\icons\mob\moghes\miervesh.dmi" -#include "modular_starfly\modules\desert-resources\icons\mob\moghes\moghes_48.dmi" -#include "modular_starfly\modules\desert-resources\icons\mob\moghes\threshbeast.dmi" -#include "modular_starfly\modules\desert-resources\icons\obj\flora\desert.dmi" -#include "modular_starfly\modules\desert-resources\icons\obj\structures\signs\wallflags.dmi" -#include "modular_starfly\modules\desert-resources\icons\obj\lighting_32x50.dmi" #include "modular_starfly\modules\new_wearables\contraband.dm" #include "modular_starfly\modules\new_wearables\loadout_accessories.dm" #include "modular_starfly\modules\new_wearables\loadout_hat.dm" From 364011e5cf23ed7bfafbf426aa55190e90521d45 Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 5 Apr 2026 02:10:04 -0400 Subject: [PATCH 15/18] STREETLIGHT PEOPLE LIVING JUST TO FIND EMOTION --- .../code/modules/power/lighting.dm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 modular_starfly/modules/desert-resources/code/modules/power/lighting.dm diff --git a/modular_starfly/modules/desert-resources/code/modules/power/lighting.dm b/modular_starfly/modules/desert-resources/code/modules/power/lighting.dm new file mode 100644 index 0000000000..a61b8b8e26 --- /dev/null +++ b/modular_starfly/modules/desert-resources/code/modules/power/lighting.dm @@ -0,0 +1,18 @@ +/obj/machinery/light/street + name = "street light" + icon = 'modular_starfly/modules/desert-resources/icons/obj/lighting_32x50.dmi' + base_state = "streetlight" + icon_state= "streetlight-on" + desc = "A cheaper-quality streetlight used in small towns." + layer = ABOVE_OBJ_LAYER + brightness = 10 + +obj/machinery/light/street/broken + status = LIGHT_BROKEN + icon_state = "streetlight-broken" + +obj/machinery/light/street/pawn + name = "pawn shop lamp" + base_state = "pawnlight" + icon_state = "pawnlight-on" + desc = "Traditionally, pawn shops used to have lamps featuring three bulbs by their signs. Many pawn shops still use imagery featuring these lamps to this day." \ No newline at end of file From accefe65fb4ba4211b081490381e39a048566938 Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 5 Apr 2026 02:50:28 -0400 Subject: [PATCH 16/18] Sothrai Hegemony flags Flags from the Sothrai Hegemony! --- .../game/objects/structures/signs/signs_flags.dm | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 modular_starfly/modules/desert-resources/code/game/objects/structures/signs/signs_flags.dm diff --git a/modular_starfly/modules/desert-resources/code/game/objects/structures/signs/signs_flags.dm b/modular_starfly/modules/desert-resources/code/game/objects/structures/signs/signs_flags.dm new file mode 100644 index 0000000000..bec6e81a27 --- /dev/null +++ b/modular_starfly/modules/desert-resources/code/game/objects/structures/signs/signs_flags.dm @@ -0,0 +1,13 @@ +/obj/structure/sign/flag/hegemony + name = "Sothrai Hegemony Blood Horizon flag" + desc = "The national flag of the Sothrai Hegemony. The red streak of the horizon represents the brutality of Moghes, kept at bay by guiding hands of the Sothrai Hegemon." + icon = 'modular_starfly/modules/desert-resources/icons/obj/structures/signs/wallflags.dmi' + icon_state = "flag_hegemony" + item_flag = /obj/item/sign/flag/hegemony + +/obj/item/sign/flag/hegemony + name = "folded Sothrai Hegemony Blood Horizon flag" + desc = "The national flag of the Sothrai Hegemony. The red streak of the horizon represents the brutality of Moghes, kept at bay by guiding hands of the Sothrai Hegemon." + icon = 'modular_starfly/modules/desert-resources/icons/obj/structures/signs/wallflags.dmi' + icon_state = "folded_hegemony" + sign_path = /obj/structure/sign/flag/hegemony \ No newline at end of file From ebc507d19ccf09b2967579b2ef1d1d3ec120c25d Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 5 Apr 2026 03:40:39 -0400 Subject: [PATCH 17/18] fixing grass! --- .../code/game/objects/structures/flora.dm | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 modular_starfly/modules/desert-resources/code/game/objects/structures/flora.dm diff --git a/modular_starfly/modules/desert-resources/code/game/objects/structures/flora.dm b/modular_starfly/modules/desert-resources/code/game/objects/structures/flora.dm new file mode 100644 index 0000000000..477d2027c3 --- /dev/null +++ b/modular_starfly/modules/desert-resources/code/game/objects/structures/flora.dm @@ -0,0 +1,45 @@ +/obj/structure/flora/ausbushes/moghes + icon = 'modular_starfly/modules/desert-resources/icons/obj/flora/desert.dmi' + icon_state = "firstbush_1" + +/obj/structure/flora/ausbushes/moghes/firstbush1 + icon_state = "firstbush_1" + +/obj/structure/flora/ausbushes/moghes/firstbush2 + icon_state = "firstbush_2" + +/obj/structure/flora/ausbushes/moghes/firstbush3 + icon_state = "firstbush_3" + +/obj/structure/flora/ausbushes/moghes/firstbush4 + icon_state = "firstbush_4" + +/obj/structure/flora/ausbushes/moghes/fullgrass1 + icon_state = "fullgrass_1" + +/obj/structure/flora/ausbushes/moghes/fullgrass2 + icon_state = "fullgrass_2" + +/obj/structure/flora/ausbushes/moghes/fullgrass3 + icon_state = "fullgrass_3" + +/obj/structure/flora/ausbushes/moghes/grassbush1 + icon_state = "grassybush_1" + +/obj/structure/flora/ausbushes/moghes/grassbush2 + icon_state = "grassybush_2" + +/obj/structure/flora/ausbushes/moghes/grassbush3 + icon_state = "grassybush_3" + +/obj/structure/flora/ausbushes/moghes/grassbush4 + icon_state = "grassybush_4" + +/obj/structure/flora/ausbushes/moghes/sparsegrass1 + icon_state = "sparsegrass_1" + +/obj/structure/flora/ausbushes/moghes/sparsegrass2 + icon_state = "sparsegrass_2" + +/obj/structure/flora/ausbushes/moghes/sparsegrass3 + icon_state = "sparsegrass_3" \ No newline at end of file From d006805636d0e3f193872440783e5148e2868fa0 Mon Sep 17 00:00:00 2001 From: lectronyx <78713019+lectronyx@users.noreply.github.com> Date: Sun, 19 Apr 2026 00:37:35 -0400 Subject: [PATCH 18/18] Update shiptest.dme --- shiptest.dme | 3 +++ 1 file changed, 3 insertions(+) diff --git a/shiptest.dme b/shiptest.dme index 59ba9aa12e..3eefe88688 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -3825,7 +3825,10 @@ #include "modular_starfly\modules\admin_verb_freeze\overlays.dm" #include "modular_starfly\modules\cryosleep_symptoms\cryopod.dm" #include "modular_starfly\modules\cryosleep_symptoms\game_options.dm" +#include "modular_starfly\modules\desert-resources\code\game\objects\structures\flora.dm" +#include "modular_starfly\modules\desert-resources\code\game\objects\structures\signs\signs_flags.dm" #include "modular_starfly\modules\desert-resources\code\modules\mob\living\simple_animal\friendly\moghes.dm" +#include "modular_starfly\modules\desert-resources\code\modules\power\lighting.dm" #include "modular_starfly\modules\new_wearables\contraband.dm" #include "modular_starfly\modules\new_wearables\loadout_accessories.dm" #include "modular_starfly\modules\new_wearables\loadout_hat.dm"