From b9554b8339b22719c8cb23e47158843d8adde4af Mon Sep 17 00:00:00 2001 From: LagardereMathis Date: Mon, 23 Oct 2023 19:49:24 +0200 Subject: [PATCH 1/2] Bug fix & new pet_alphas --- .../code/game/objects/items/pet_capsule.dm | 58 ++++++++++++++---- .../hostile/deathclaw/pet_deathclaw.dm | 11 ++++ modular_splurt/icons/obj/pet_capsule.dmi | Bin 289 -> 327 bytes 3 files changed, 57 insertions(+), 12 deletions(-) diff --git a/modular_splurt/code/game/objects/items/pet_capsule.dm b/modular_splurt/code/game/objects/items/pet_capsule.dm index 20ad3e2bbf94..5bca227e056c 100644 --- a/modular_splurt/code/game/objects/items/pet_capsule.dm +++ b/modular_splurt/code/game/objects/items/pet_capsule.dm @@ -5,39 +5,73 @@ icon = 'modular_splurt/icons/obj/pet_capsule.dmi' icon_state = "pet_capsule_closed" w_class = WEIGHT_CLASS_TINY + var/open_state = "pet_capsule_opened" + var/closed_state = "pet_capsule_closed" var/mob/living/simple_animal/selected_pet var/mob/living/simple_animal/stored_pet var/new_name = "pet" var/pet_picked = FALSE var/open = FALSE var/mob/owner + var/alphaVariants = FALSE + var/list/pet_icons + +/obj/item/pet_capsule/alpha_capsule + name = "alpha pet capsule" + desc = "A bluespace capsule used to store pets of the more... dangerous variety. This one seems to have a tighter lock than usual!" + icon = 'modular_splurt/icons/obj/pet_capsule.dmi' + icon_state = "alpha_pet_capsule_closed" + open_state = "alpha_pet_capsule_opened" + closed_state = "alpha_pet_capsule_closed" + alphaVariants = TRUE + +/obj/item/pet_capsule/proc/InitializeSelection() + pet_icons = list( + "Femclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "femclaw"), + "Deathclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "newclaw"), + "Carp" = image(icon = 'icons/mob/animal.dmi', icon_state = "carp"), + "Spider" = image(icon = 'icons/mob/animal.dmi', icon_state = "guard")) + +/obj/item/pet_capsule/alpha_capsule/InitializeSelection() + pet_icons = list( + "Femclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "femclaw"), + "Deathclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "newclaw"), + "Carp" = image(icon = 'icons/mob/animal.dmi', icon_state = "carp"), + "Spider" = image(icon = 'icons/mob/animal.dmi', icon_state = "guard"), + "Mommyclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "mommyclaw"), + "Alphaclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "alphaclaw")) + +/obj/item/pet_capsule/Initialize(mapload) + . = ..() + InitializeSelection() /obj/item/pet_capsule/proc/pet_capsule_triggered(atom/location_atom, is_in_hand = FALSE, mob/user = null) //If pet has not been chosen yet if (!pet_picked && is_in_hand && user != null) - pet_picked = TRUE; + new_name = input(user, "New name :", "Rename your pet(Once per shift!)") - //radial menu appears to select one of the avaliable pets & store it in a template - var/static/list/pet_icons - if(!pet_icons) - pet_icons = list( - "Femclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "femclaw"), - "Deathclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "newclaw"), - "Carp" = image(icon = 'icons/mob/animal.dmi', icon_state = "carp"), - "Spider" = image(icon = 'icons/mob/animal.dmi', icon_state = "guard") - ) var/selected_icon = show_radial_menu(loc, loc , pet_icons, radius = 42, require_near = TRUE) switch(selected_icon) if("Femclaw") selected_pet = /mob/living/simple_animal/hostile/deathclaw/funclaw/femclaw/pet_femclaw + pet_picked = TRUE; if("Deathclaw") selected_pet = /mob/living/simple_animal/hostile/deathclaw/funclaw/gentle/newclaw/pet_deathclaw + pet_picked = TRUE; if("Carp") selected_pet = /mob/living/simple_animal/hostile/carp/pet_carp + pet_picked = TRUE; if("Spider") selected_pet = /mob/living/simple_animal/hostile/poison/giant_spider/pet_spider + pet_picked = TRUE; + if("Mommyclaw") + selected_pet = /mob/living/simple_animal/hostile/deathclaw/funclaw/femclaw/pet_femclaw/pet_mommyclaw + pet_picked = TRUE; + if("Alphaclaw") + selected_pet = /mob/living/simple_animal/hostile/deathclaw/funclaw/gentle/newclaw/pet_deathclaw/pet_alphaclaw + pet_picked = TRUE; else pet_picked = FALSE; return FALSE @@ -53,7 +87,7 @@ //Make pet appear if thrown on the floor else if (!open && !is_in_hand && pet_picked) open = TRUE - icon_state = "pet_capsule_opened" + icon_state = open_state var/turf/targetloc = location_atom stored_pet = new selected_pet(targetloc) //stores reference to the pet to be able to do the recall stored_pet.name = new_name //Apply the customized name @@ -76,7 +110,7 @@ //recall pet else if (open && stored_pet != null) open = FALSE - icon_state = "pet_capsule_closed" + icon_state = closed_state loc.visible_message("\The [src] closes, [stored_pet.name] being recalled inside of it!") del(stored_pet) diff --git a/modular_splurt/code/modules/mob/living/simple_animal/hostile/deathclaw/pet_deathclaw.dm b/modular_splurt/code/modules/mob/living/simple_animal/hostile/deathclaw/pet_deathclaw.dm index adc5f09117f8..698b51554776 100644 --- a/modular_splurt/code/modules/mob/living/simple_animal/hostile/deathclaw/pet_deathclaw.dm +++ b/modular_splurt/code/modules/mob/living/simple_animal/hostile/deathclaw/pet_deathclaw.dm @@ -10,6 +10,11 @@ var/list/speech_buffer = "" var/mob/capsule_owner +/mob/living/simple_animal/hostile/deathclaw/funclaw/femclaw/pet_femclaw/pet_mommyclaw + icon_state = "mommyclaw" + desc = "A machine that turns her victim's pelvis into pelvwas." + name = "Mommy Funclaw" + /mob/living/simple_animal/hostile/deathclaw/funclaw/gentle/newclaw/pet_deathclaw vision_range = 0 aggro_vision_range = 0 @@ -22,6 +27,12 @@ var/list/speech_buffer = "" var/mob/capsule_owner +/mob/living/simple_animal/hostile/deathclaw/funclaw/gentle/newclaw/pet_deathclaw/pet_alphaclaw + name = "Alpha Funclaw" + icon_state = "alphaclaw" + base_state = "alphaclaw" + cock_state = "alphaclaw_cocked" + /mob/living/simple_animal/hostile/deathclaw/funclaw/femclaw/pet_femclaw/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, message_mode, atom/movable/source) . = ..() diff --git a/modular_splurt/icons/obj/pet_capsule.dmi b/modular_splurt/icons/obj/pet_capsule.dmi index 293ed39ba7a8a48ea9c87b132aa7eaa9b3db82ac..106529da91ad1bcc50e336352fbc2324d8969671 100644 GIT binary patch delta 120 zcmV-;0Ehpf0>=W77YaZE0{{R3*9VzRks&AnjFC!nD@TNu#GHbR#CS67!qkZ0Mr8$8 zKNoO7004}-RB7z`Vd($>08vRqK~y-6k=igX!B7Asqz| Date: Sun, 29 Oct 2023 20:59:18 +0100 Subject: [PATCH 2/2] pet_cap --- modular_splurt/icons/obj/pet_capsule.dmi | Bin 327 -> 1987 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/modular_splurt/icons/obj/pet_capsule.dmi b/modular_splurt/icons/obj/pet_capsule.dmi index 106529da91ad1bcc50e336352fbc2324d8969671..e082aaf3fc2696e3ecc4e20d8a5497db510995f3 100644 GIT binary patch literal 1987 zcmb`Ic{JPU8pnUNG@96ntq6nL+FM$C63Nvm8XdLwmg>D~Njsy6MhHSR)Y6hh?M0P_ z(59s`RWyx~G1}Ufv{Vwc1k;XKT0$^%=AV1c{qz3uexLJx&v~EcJ?H&=&ztFa`lK9K z3k(2&oSUnQ*KV!cT`4k>yW0BVw()Mc;)(G&!D6vgR8$f{K#mMRJpfdIfqKY38!v{j z|EDG}VD38_`gG?d1h6M>zJdTh+~B>H1&AOZD=RBEH@B>)sIs!MwzihRU^F*3vtGPl zv)LmfBXsiN$2SaGb9FoNb-Idlhbpxvs+ATSB&KRW0h@EE-O>AEy-s@r&a>~rb~i5* zd;(%!LUAE6*r-_Sl}G>}l+{o?z^{%dk~!VR=vMO@KlYu2Sc-)iSFiKpvDA0@h9+F@ zyK8DcMh~!A;-o7C3kLXPHbX+6oG_iKE4y2adq)5mz7=zrAs_o__+Swh3+0UT6Tj_L zfFIFp((i7Rin`A7n``K2hfuq=R>GxS2iKO-U?bHaGTlxS>1uL7M7+ijLFp4Th!3`MR6nbE&Dr+R!RQPv`|%KE0n!eKpG#A*2u7#6xK&!l;hW z4(x%5=KRkG0--GgMCVEq%M+qE1I*XCJ)`$5^<7vpHCdfb^-HP3>hB-%p}y!_svMAg z;A5AG#7Y}qJbN}w(*$D>Vq}kVh&a~QG`#^nwCrx0A{7qwrb($jr0e=ujm;JZ2j43d zgcgsBRWnECVjMevg0{q?+U9UdQwBEe87`UiGLH=2xeANbx_S)X;3f==A+p!AW<~MJ zTI3ng40s1bQ{D_@jgMEXjdX<*$q1z1B8ki8`*8!?>qH&ej)$4&ZP(r5W)|ny5IkdGM<+Xn)IPdWfc+&o7;``cAt+uDZ?&4qlEl*ssAB6PtPYv1S zdT==cBmy2aeC<)85Hx*F#NLum%rpwieSRo4ZF3{;lc;=KhsdOny2=;lc~1nyzpXgt zv%jop0dX_#gNVDW^Ub=u_?h>&h30>()^5phYEy=te0|q6D}8E#p3pfxX(R(Rf0IsK zI|+}`GRVexP^%}$bj%)~!aOHGI6E3uNQwYkzIo%HB7dmcuFEkZf5@#Ja?}Nt@Sf_k_V-9?1Sc|B$+;*38-N+YWu16?^n_Upnu&!9Ulo?z_lce&qlhFsq22GcFu~f zno_l%cS+-dOPQBS1!rTD$SNW~(-g(M#3-(cp1~g}X!SI)E}O=#_`DvTrO7<}zHnSW zvcA8^;NzK!Y%uJJKEiO0X18%v9;UvIsi&)`Vd=#FE19d8s~%v-qMD8@zqj;667p>wG9 zCc{Ru0LdBu?+Cz2y`o)0F+R5e?x-K-Hu!^m& z^0FywLoQGTHBfghX{F0?{?JS64muNAja5AMVFp(6>iHJ3M9O+2%}HFotp};tyA=xm z$D)E2ZgNkeL8QDw2#J(e{7tgI!5{b$H3f6|CHY6sVfLBb-w<#+aoXh(`ogt80fLS0 AL;wH) literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSJOMr-t_Kbr_zz?=F#P}j|Ldyf zd_WdsNswPKgTu2MX+Ta-RY*jMOKNd)QD#9&W_}(6L&conu!5q}?_YuoK7M_o<*loA z?#%h%4WR}XjUPPHIq#!+lA)-lcZY>>knv?>FNHaeCLNg+q7b}NVXKOr<;Dd&Ow>*7 zEY?~;6hC2>d&{&VbDDaNR2aQEbfx3ITPka~ zy?B8G&@sD0GT;14d