From fa603b245baec4823d644b70da942040c5e196eb Mon Sep 17 00:00:00 2001 From: Alberyk Date: Mon, 6 Mar 2023 10:10:01 -0300 Subject: [PATCH] Adds a sniper bolt action rifle (#15899) * Adds a sniper bolt action rifle * Update code/modules/mob/mob_helpers.dm Co-authored-by: mikomyazaki <47489928+mikomyazaki@users.noreply.github.com> * hunting * scope for him too --------- Co-authored-by: mikomyazaki <47489928+mikomyazaki@users.noreply.github.com> --- code/modules/mob/mob_helpers.dm | 2 ++ .../modules/projectiles/guns/projectile/rifle.dm | 15 +++++++++++++++ html/changelogs/alberyk-bolt.yml | 7 +++++++ icons/obj/guns/bolt_scope.dmi | Bin 0 -> 3604 bytes .../exoplanets/adhomai/adhomai_deserter.dm | 4 ++-- .../exoplanets/adhomai/adhomai_hunting.dm | 4 ++-- 6 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 html/changelogs/alberyk-bolt.yml create mode 100644 icons/obj/guns/bolt_scope.dmi diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 4a3d5ee87ac..6e68d72fb0d 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -444,6 +444,8 @@ It's fairly easy to fix if dealing with single letters but not so much with comp var/current_time = world.time if(!M || !M.client || (M.shakecamera > current_time)|| M.stat || isEye(M) || isAI(M)) return + if(((M.client.view != world.view) || (M.client.pixel_x != 0) || (M.client.pixel_y != 0))) //to prevent it while zooming, because zoom does not play well with this code + return M.shakecamera = current_time + max(TICKS_PER_RECOIL_ANIM, duration) strength = abs(strength)*PIXELS_PER_STRENGTH_VAL var/steps = min(1, Floor(duration/TICKS_PER_RECOIL_ANIM))-1 diff --git a/code/modules/projectiles/guns/projectile/rifle.dm b/code/modules/projectiles/guns/projectile/rifle.dm index fff7b2e78f5..951ed52a6f3 100644 --- a/code/modules/projectiles/guns/projectile/rifle.dm +++ b/code/modules/projectiles/guns/projectile/rifle.dm @@ -24,6 +24,21 @@ desc = "A replica of a traditional adhomian bolt action rifle. It has the seal of the Grand Romanovich Casino on its stock. Uses 7.62mm rounds." ammo_type = /obj/item/ammo_casing/a762/blank +/obj/item/gun/projectile/shotgun/pump/rifle/scope + name = "sniper bolt action rifle" + desc = "A cheap ballistic rifle often found in the hands of Tajaran conscripts. This one has a telescopic sight attached to it. Uses 7.62mm rounds." + icon = 'icons/obj/guns/bolt_scope.dmi' + +/obj/item/gun/projectile/shotgun/pump/rifle/scope/verb/scope() + set category = "Object" + set name = "Use Scope" + set popup_menu = 1 + + if(wielded) + toggle_scope(2.0, usr) + else + to_chat(usr, SPAN_WARNING ("You can't look through the scope without stabilizing the rifle!")) + /obj/item/gun/projectile/shotgun/pump/rifle/saw_off(mob/user, obj/item/tool) icon = 'icons/obj/guns/obrez.dmi' icon_state = "obrez" diff --git a/html/changelogs/alberyk-bolt.yml b/html/changelogs/alberyk-bolt.yml new file mode 100644 index 00000000000..95c5a97ef76 --- /dev/null +++ b/html/changelogs/alberyk-bolt.yml @@ -0,0 +1,7 @@ +author: Alberyk, Atteria + +delete-after: True + +changes: + - rscadd: "Added a sniper bolt action rifle." + diff --git a/icons/obj/guns/bolt_scope.dmi b/icons/obj/guns/bolt_scope.dmi new file mode 100644 index 0000000000000000000000000000000000000000..c48061125060b6774025dff1ce727e4d3d04b249 GIT binary patch literal 3604 zcmZ`+XEYoPvsN~OjVRHD)uLN9h@M6C605gGqJ`DHN_Mq(u}jp5-ig>mln_L3D}q;z z5SFa5mU;C2(GHR-8 zOd9i$ymqf5ENp_c-GZJ3die)?`T3HOg%v=p`~yQy4x#?|qjfPuNwLw9F=(Bo^n~2X zn#7oq=ohlU7s)M3a^`YVat6EwYZ?6+7Q9eVMU93Q!CHAWwU64EB)NMHRqP_q264Go znK}8iE>ECbu*?`UUx-ckZT+E;VL51!xj9s?@kULu{QTNWCVg`!hZlyQKE%E&1}brq zF}6hTdYT?5UKg&cul>*>tYEhgHps2ZF`#JvLQzIi|8+mW{`Gx`7m(A7R+M}<4${eV z70vJDDatAq#waF=wN{X459AZENK9n*>K3{W>vm{_cup{PQ6(~GH02*hW`dZ{vCt@X+W_{P3e5# zbS=vml>6x)m{Zh0;>NPeh`|soD5ALi$MM7uyzsGc(Z8|jomNZ~L|4A2Ug`-cJCk)=H*!%u!uHeuslZ34O}7FpzLeHVnS%bN`xOMLB8 zh-c7%`S>H8-!h^rY=_X*AY#piO^#+*z9I!94#}8ye}DGSXhv=aj8V2d1BK+QY4JSJ z)`TKf>`&mLL;R)3nS5@I$qz2EYJpMySKO3dKGs=a7F@#K{NuL8&&>!QcR(X9fln!c z+EZ7fohs^LetJT#tn{vkNb`W3=$C^xwJ@I!lI$h9%v@9^ueN)n2n!4T^2b>+wva@s zefF?3$nE130HaKQ_{GBMoC{la@cIXO&XwW(8o{k-*%8m+nV*v7n{X~a=1D6NVQu2q zQcBzyJ&1;>RFo(TD_ZpRl-u>LJ3bVC#IrNRUqF4kSWB9$taoBpme~Rx`s1gmsgpJL z<6oMHR1dWOUi|PY?lfAgFiM2~Vww>DCFYJ;Z|i9#M`}i}+ZW6WGC_2yOb)=94Vz=elI8`1Qw!U@L8ONY%(*z9+?g1Y!BoZce!Dyy}`sZ{HUqdKRnpFP61z;eiT2FsSp;@1)A z8jKZ6NE)@{<$Qm&vb*+2O5FjmiDZz3u{CaNE!0x3Ap zJqFeb+x?b1$s@CN-Vp)zC?clePw2i-&dfbf^Tp>oq~KVX6C`gH?BL_V%trd zQ%y9xiDNu6^Txc(^WQTkk-U=5Np%MM2h0Gyq(+tin*XJ}|52glWy%cuF`Xc2+b0is zzVsb5eq$jjK5hh_tAFf;H)qRno4V^dQO$#GGz#C2-gizGs-Zdj<(<%~Qi+^NuhP}5 zM|U%pGSUoBGT_Op$@&cH?h3ew*{|ln$z%Q@pqX#Jw>{6ooK$|G)1vh_EA=F1qVG#h zX2r*?2of+1L0XjpqU`oR=o)q7EV;T2aiAJsr-P1a9iH2`a*t|~oUJWQi~LdUTQYKq zb~7b9D9=>>=%JYWC5?+MRUl{VhPF|)tSj-@^0jDrZ=EscX3Vj|;-C*#*Pd@n=U;Ec z->tRMVb%khV1_bwCxcKNL{oA#ju( zMKS(iJ?*db!DlM-w4ByAhmIBD&=Fld^=(u{=AioVvQn@PqFbH%{=!=y{3=JdXV!d0 z^?Q{GQjRrF5LoVh;75ylBoK$=R^XJQ=s2A$j@fF)(flSM=CiT_GiQHDb#Lj zJFe%AkM1z$9XmVvIb_26xW*4J%89CY{O1NWig^hSiPm4=XH*;(^0X1iAWz!+RTad{ zszC4UHnp5u$2@(I4IoIQFRFQmiUfI zv3g-6SzG9yNuGv&(l+-5iU=Xks4$Bb6lLbsr@f(<@gL~+D79!6p&A$zBd`i>lbK4PC^ImHIukGN&(T)Sh_<*IS0Q3A8-R=?lq)aZB&qGU*8O*;b2Jyc4W+ zw+=8hAOTp2-Lq#UGgRIEAb(?uEC`$!B1wqAf%XS2PQMkPa#(n1eFrHh-bBVNi-#xhG5)+JQdSlH|UPb+;{KJdIj-HjCeI!N;tZbu`mjre_!wF5|+ zB<&e-aP(?^5aXVqMo+siG%e=*^6}_um2rycCkC4g|}9;u3K6Su#bo&ZDS@T!}5Ru zAPu%Rh2@U%wu~;1RbHGIpyatt<^KjN|;c!$Zx?l-arHBrXu_7N`x_~8^1Hy8b6}gZv z64Jcq{wr60rt4Q zHYQiz@4M6(vI|pKn`2m8DoKwAGM7+lJUIL@vEa8Et%e8ibRPhk~qb1}|w1*-e%7AP@cJ{jcU zP|6DUeD#P1Eo~9q!zf*uTC|IqxvA04?s+Q?OPvyphUAFziWPRWGQAz^4Dcr)2ge}j zqQ2mp?h$`28BZ16^eGqEMK4&IRA%IS|C9u{|M}|3RcT8Ao-G5f1 zkh%8kfIEk&H2ly7Hh+h{7p1X08bE@Ft*usQ^|^x;_GwYp{4M?g;mIClz}Zbmz3MCX zSKN-&qZ9>fQJpmu&lMhm`v$+v`S>rZ%o?>Nd*FTlL8eJc#K$J2+ipl%y)K zn~*+C@jOflqokPnJocCPQO^P!T&!o{70a&8d2>Z&VYt*uSy#gIZi35Xr=5}=%PZcER@J}poYN~g> zUhm(H-+H!77{}927l5EXhG3|7t5}(BKXosowi09JliKcZ;G1ZArOU|MzV3gHoTn2y zeU`6R6SmIHj*=j3xh@&wx1x^tTIh;fW#@tb+u6!~ z)`;QRcP|;vPC`;eg1T+gL%{t6e9~5WcF>aX{??Vqb>~eTS?Vv(&8NjfmO6=<_qQ1q zvOX6iXBETV65fp31GAL@z`7wR@Ygq^EcoAlM}d}-iec22JmK|TQ^iu5<0N{flBb@} z2goIhTb29Ym|9hP6`@B6gWi8PU7SM3e_gFmE1A9<4-`mfqL}a}!ck3Go}OBWL|W zZcBD8$6aUo=v`=n2Ohh_BvLD%7cN>sC&fC`9>g9qBHR6T46!$Pwaqx*Nt-f{aaEq{ zdrvEVywRo7xbV(wss7Usi-;-^iXn((`6_g@`yD{4q2rYzq!%!kuQF zsyJI;o8s?FBK0~VwG&w~2wT_HsjF=YqiHiZ@fbr5)hPp`$D3btwBDYrjDpP|PXix1 zM$4$K2lgBqP{E4