From 70a2238f0421ae878aa56eed787d94205b4facf2 Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Mon, 29 Jun 2020 17:43:16 +0100
Subject: [PATCH] more pet carrier changes
---
code/game/objects/items/pet_carrier.dm | 14 ++++++++++++--
icons/obj/pet_carrier.dmi | Bin 2372 -> 2341 bytes
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm
index 5898f882a0..43d7c8afa4 100644
--- a/code/game/objects/items/pet_carrier.dm
+++ b/code/game/objects/items/pet_carrier.dm
@@ -26,6 +26,7 @@
var/escape_time = 200 //how long it takes for mobs above small sizes to escape (for small sizes, its randomly 1.5 to 2x this)
var/load_time = 30 //how long it takes for mobs to be loaded into the pet carrier
var/has_lock_sprites = TRUE //whether to load the lock overlays or not
+ var/allows_hostiles = FALSE //does the pet carrier allow hostile entities to be held within it?
/obj/item/pet_carrier/Destroy()
if(occupants.len)
@@ -105,6 +106,8 @@
if(user == target)
to_chat(user, "Why would you ever do that?")
return
+ if(ishostile(target) && !allows_hostiles) && target.move_resist < MOVE_FORCE_VERY_STRONG) //don't allow goliaths into pet carriers
+ to_chat(user, "You have a feeling you shouldn't keep this as a pet.")
load_occupant(user, target)
/obj/item/pet_carrier/relaymove(mob/living/user, direction)
@@ -205,7 +208,6 @@
/obj/item/pet_carrier/bluespace
name = "bluespace jar"
desc = "A jar, that seems to be bigger on the inside, somehow allowing lifeforms to fit through its narrow entrance."
- icon = 'icons/obj/pet_carrier.dmi'
icon_state = "bluespace_jar_open"
item_state = "bluespace_jar"
lefthand_file = ""
@@ -213,13 +215,21 @@
max_occupant_weight = MOB_SIZE_HUMAN //can fit people, like a bluespace bodybag!
entrance_name = "lid"
w_class = WEIGHT_CLASS_NORMAL //it can fit in bags, like a bluespace bodybag!
+ max_occupants = 1 //far less than a regular carrier or bluespace bodybag, because it can be thrown to release the contents
+ allows_hostiles = TRUE //can fit hostile creatures, however only those of a human size or smaller (and not things like goliaths)
has_lock_sprites = FALSE //jar doesn't show the regular lock overlay
custom_materials = list(/datum/material/glass = 1000, /datum/material/bluespace = 600)
-obj/item/pet_carrier/bluespace/update_icon_state()
+/obj/item/pet_carrier/bluespace/update_icon_state()
if(open)
icon_state = initial(icon_state)
else
icon_state = "bluespace_jar"
+/obj/item/pet_carrier/bluespace/throw_impact()
+ //delete the item upon impact, releasing the creature inside (this is handled by its deletion)
+ qdel(src)
+ playsound(src, "shatter", 70, 1)
+ ..()
+
#undef pet_carrier_full
diff --git a/icons/obj/pet_carrier.dmi b/icons/obj/pet_carrier.dmi
index 32fca90f0bff4b31eebf5b44efba0998295dd024..2d7e9e70b6efbe36d8e01d6a2fc468510ec8e1d7 100644
GIT binary patch
delta 2155
zcmaix2Taq87RLWj*&9I+WG|t}RzVpSs7z%#E(Ho)tc_&|2=uc4rGO|Kq_;9<6;zZ`
zQ8u&)hze5KQ_6^}qJS0z9)-t!FL^Jy$;&&*mz*yrC+C;%bcvJ1vj#v5J8PIbw(wiN
zLx60L+&e14dhm**Jx9JrE!;}?bfwx^)iVUafMf0j0M{L_sJ?h94HM~EIVO--C!W$KGACo|TGW+7$kKpeQLwVF{#WPe%z^}FI{5k#z+u$O8x%GYG2
z+8dIg@Jj_0<$ZrpKZWYFW^g#N*jZ)}j?{2BEFaXyEMzq}7B@mJCYWAW&$&HqQL3f?Q*sjY&
zt++oRr@0itFM0@VlP6QX2I;pZhvL)Pr@nCmj>(-VRe`8LDG3D9IxXBURQyuZXAO0Y
zkd0Xw>7D!5&mj2pLtU7oTTp}S)no`Td(YUv_o(mi5sjR8*v%j9D%uf0&^N$a8-Nd2
z?%o{CwmMZ9mXH7+A*LR_nelENoq`h5-;vP(X{E>vXe{~w4$ajXK?on~!opnHtp1X1
z9|8+rD9j`Nq2f88lgG>70wrvaX-f%)w>LWS44>a>+w7Iins6;DDC%zNC^gkwbm==G
zz@2=M(KIn}Pn6pg_tfGC9V~5X0#5>=g7gOQej#B=ICXdv>IvcHRVvASyRZpd>hE)d
zuGdYGLj5C7gkOy0%w6VJL@3ybVBOpvvFaMdhxPJ4mE__@U9;jM_WeG(K$+>t2(A}1
z@;$Dm8JMveUo8nsbd(HkTS6kg_;UJ4icGbn!=~}|;7n!;a+n&kYmg5X6sW0KmyhUl
z(K?4i=H4dZSzqVJa`3D!@?(6|nkp>vx3Y
z;NZ}2pM~I>NKo?vfuy&rx`nX<{NPh2)Plzu-}S>_acN13m(v4*(3j-z@T1UBb-wE2
z95|bg4JcGCg%V%W-|vX%8jr=Q2Sw0
zfM@RfiKcyw#H`mG+*=Jjx|JuN(5pPQv8MS8#4E7!U=YhS=PePxGgFva`oTZvBkBXGIU7P4SX%a_x`GBRp;a_~|_y^Uvu>mCl0)Zff+C;Ym$i)Qv?=G!E
zXyZG^;9A7R({|uGI+!SEtNKXq+BG{c-)(lTqBMyaJspId4*H~dy5)sh+{7p2?C%W;
zx#nN+orH2U24kgtBB49LvMo@gz29^tP}ip1rNUKHFfiPzkqmBsSP_w%zNDOIee`u}
zgNNh=hoco@23*+?zzr`#ob6L<)_JLrCm=m}Zq9eVbSgD!N?uSz1cIC2tX&}Ivql<}
z4eB1CP|8Zj5Qvo@qkqQaJ>vYO-^B4yd_Wx8}A
zkRfO0yTbs3aKf*6EM%Q-kbRH;8>-Tu8(VE*&U|^W6Yy-3Zu4d=x_***tCCE}Iav$x
zlmC1kc*gPD?P{`QF<#p36%S>I-m2=O2DZ6w_N|oAKxc2m7%sj0!Ek9@ju#xml=^i?
z8IvpDI1_z%#cE1y8hE#X`C9;wEqJhP-lJYV{K)^4%YPHo_oq?HHI_9L)cz7$iHr&p
zly+YG<-gD?=f#~n&)x}5Mna@Jg?t3h;E_>ax689I=^pi0Nrdx#gC
iZvYC*^KZ$21K8zT6%!@Q4op@7M`Z`UYF%ULga0Q8E))O&
delta 2187
zcmZ`(XHb)i68%CHkP-n=fgrs|ktiZn=~WOE#CT~TK#0=B0J$KLkEo;AU_pEfeJf
zHxcV;$>_vWY~{`M^VQ2YZHRu!9r%>$8%hhJ5?RL5#L)K~ErRPrE(Tz1ZXP6h?B>o&
zR>b?8*R0!ZL#Q2#<)cOUr^{-*4z&H?Jqup)d_!Cg2Qtlj0i|nGkD45Hrk&~KqZ-%A
z%d+!3>tV|pv+1+odV(3nkjN*rU7R}|fh)TD$%5wV8#%A(FN$P18FF$;zKl2J&Uuq;
z_D4%Dq_N+#{l4fIYE7_@Z_vq+35SgUuMpvu((+S!j>@OjR5N;)Ms5veF^X4DTN&s$
zlTTLY5MV()hKv*FDjSpl5S67Y6JBxV;?+6Le75eBfK>3#&
z+gXlq3uuDNLJX-{4Eh&=xlicjmS@4{HHymf)|pzp^nHRJJKO%-;nDdO6PKa0%JSh|
zp{+3|K*A9=NH6`6&C3;?r-xLMXF1p)nVOQ*!L`pHHRnN~PzV!K=!(I}?rNx+>mCIn
zT3W=R&@b^wORbdvTW1#;T;5(^vkoTVl~q~jYQz{O|LYZynZzN4nA+?%5;E0Q96(*w&wGbmX1PuwDyL46$!~Z{kKeLJ
zwNm|EWm9d{&~?MF?4mBP3@_*Kz~)lg47#dDm<7BaR7$#+mi+N|>h)togsQt95-BZG
z>KbXs49&Rsw#^O>j;m>a8c_Xg%45&=aU$Ai+wx3H|CI<1@|Hwo>-+|wKl8y(QM_id
z3m51I3kux@B1Z-F%XO2ejKV^>4R5sES+r_~0VjmKWkOxS=}`IH%8fQsU&uVV-P2As*_;`jNqkmC}7>QLdUKcQ*oIM2v)y`55l|QytsgGIPJ7$w
zEW=b{L!;$Elu87x?Cs|gmyQIVzhl0^603uY)j0-neLPndgTh^~&i!R0X_)QR
zR{8NpO>M2@GxJtAb>hrB@mY`AZTyS*4b3l9wI_9rZPP=#tk>I7i9T+!sfO{xv8gw?
zW@XX_Mn+V`;!Lp+fJ*u$5h+woj|RgybI4Jy=c8xwp*QYLCc2*I1gd(Z6YA`#N(d7V
zGydKL5yy0-g3NPMsbY
z7>g7sJ2_f`GBa|QZgz0$*UFG+3KGYvXDh`J6y}hXqMx8LTT`DfTf&ecCpl+6vH4i}
z{NMXcp~1W3{cwL7)kochp2{jRV%n2FrEDYUdP2z@LK6z){`xBWDIlbVezfBqI~S`6
z6~+cIMway`+i^DENMsOXwS4zBAT=vO3D%JvXf{A4t?wuE_3*
zu)eS-fO!ddj%L69f0CbF=eh^wf+;$<<#li?ffoKiBkW3O;5h+RsM;o#fg13l_v`Fd
zaN99X$k^G$L6
zo7NBd#$jdkU?)d7_phnXAMWEpBOFCsKHPa2UyLY4BWOJZ_ANJ!nPOGC~UG(!n9gguM4&V?4P$jKeA+`