From c9a9dc6474b0f5c5228470809cf342362a596ab0 Mon Sep 17 00:00:00 2001 From: scrdest Date: Mon, 20 Apr 2015 06:14:01 -0700 Subject: [PATCH 1/5] Motorcycles This commit adds a new subtype of cargo trains, using Neinhaus's sprites. This subtype is unobtainable by anyone but admins at the time of this commit. --- code/modules/vehicles/motorcycle.dm | 35 ++++++++++++++++++++++++++++ icons/vehicles/motorcycle.dmi | Bin 0 -> 4513 bytes paradise.dme | 1 + 3 files changed, 36 insertions(+) create mode 100644 code/modules/vehicles/motorcycle.dm create mode 100644 icons/vehicles/motorcycle.dmi diff --git a/code/modules/vehicles/motorcycle.dm b/code/modules/vehicles/motorcycle.dm new file mode 100644 index 00000000000..1986b195a17 --- /dev/null +++ b/code/modules/vehicles/motorcycle.dm @@ -0,0 +1,35 @@ +/obj/vehicle/train/cargo/engine/motorcycle + name = "motorcycle" + desc = "A fast and highly maneuverable vehicle." + icon = 'icons/vehicles/motorcycle.dmi' + icon_state = "motorcycle_4dir" + emagged = 0 + mob_offset_y = 6 + load_offset_x = 0 + health = 100 + charge_use = 0 + +/obj/vehicle/train/cargo/engine/motorcycle/proc/update_dir_motorcycle_overlays() + overlays = null + if(src.dir == NORTH||SOUTH) + if(src.dir == NORTH) + var/image/I = new(icon = 'icons/vehicles/motorcycle.dmi', icon_state = "motorcycle_overlay_n", layer = src.layer + 0.2) //over mobs + overlays += I + else if(src.dir == SOUTH) + var/image/I = new(icon = 'icons/vehicles/motorcycle.dmi', icon_state = "motorcycle_overlay_s", layer = src.layer + 0.2) //over mobs + overlays += I + else + var/image/I = new(icon = 'icons/vehicles/motorcycle.dmi', icon_state = "motorcycle_overlay_side", layer = src.layer + 0.2) //over mobs + overlays += I + +/obj/vehicle/train/cargo/engine/motorcycle/New() + ..() + update_dir_motorcycle_overlays() + +/obj/vehicle/train/cargo/engine/motorcycle/Move() + ..() + update_dir_motorcycle_overlays() + +/obj/vehicle/train/cargo/engine/motorcycle/handle_rotation() + update_dir_motorcycle_overlays() //this goes first, because vehicle/handle_rotation() just returns + ..() diff --git a/icons/vehicles/motorcycle.dmi b/icons/vehicles/motorcycle.dmi new file mode 100644 index 0000000000000000000000000000000000000000..6d833a86a44627c76e5caa2694cb1e5650ea47f2 GIT binary patch literal 4513 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 literal 0 HcmV?d00001 diff --git a/paradise.dme b/paradise.dme index 47cb9cbd971..a5730264f90 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1669,6 +1669,7 @@ #include "code\modules\vehicles\ambulance.dm" #include "code\modules\vehicles\cargo_train.dm" #include "code\modules\vehicles\janicart.dm" +#include "code\modules\vehicles\motorcycle.dm" #include "code\modules\vehicles\train.dm" #include "code\modules\vehicles\vehicle.dm" #include "code\modules\virus2\analyser.dm" From 034780be4446a48545d8c35da317493d886fbfe1 Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Mon, 20 Apr 2015 06:28:39 -0700 Subject: [PATCH 2/5] Restructure vehicle folders This commit restructures the vehicle type folders to properly align with the type tree in them. --- code/modules/{vehicles => vehicle/train}/train.dm | 0 code/modules/{vehicles => vehicle/train/trains}/ambulance.dm | 0 .../train/trains/cargo/cargo_subtypes}/motorcycle.dm | 0 .../{vehicles => vehicle/train/trains/cargo}/cargo_train.dm | 0 code/modules/{vehicles => vehicle/train/trains}/janicart.dm | 0 code/modules/{vehicles => vehicle}/vehicle.dm | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename code/modules/{vehicles => vehicle/train}/train.dm (100%) rename code/modules/{vehicles => vehicle/train/trains}/ambulance.dm (100%) rename code/modules/{vehicles => vehicle/train/trains/cargo/cargo_subtypes}/motorcycle.dm (100%) rename code/modules/{vehicles => vehicle/train/trains/cargo}/cargo_train.dm (100%) rename code/modules/{vehicles => vehicle/train/trains}/janicart.dm (100%) rename code/modules/{vehicles => vehicle}/vehicle.dm (100%) diff --git a/code/modules/vehicles/train.dm b/code/modules/vehicle/train/train.dm similarity index 100% rename from code/modules/vehicles/train.dm rename to code/modules/vehicle/train/train.dm diff --git a/code/modules/vehicles/ambulance.dm b/code/modules/vehicle/train/trains/ambulance.dm similarity index 100% rename from code/modules/vehicles/ambulance.dm rename to code/modules/vehicle/train/trains/ambulance.dm diff --git a/code/modules/vehicles/motorcycle.dm b/code/modules/vehicle/train/trains/cargo/cargo_subtypes/motorcycle.dm similarity index 100% rename from code/modules/vehicles/motorcycle.dm rename to code/modules/vehicle/train/trains/cargo/cargo_subtypes/motorcycle.dm diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicle/train/trains/cargo/cargo_train.dm similarity index 100% rename from code/modules/vehicles/cargo_train.dm rename to code/modules/vehicle/train/trains/cargo/cargo_train.dm diff --git a/code/modules/vehicles/janicart.dm b/code/modules/vehicle/train/trains/janicart.dm similarity index 100% rename from code/modules/vehicles/janicart.dm rename to code/modules/vehicle/train/trains/janicart.dm diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicle/vehicle.dm similarity index 100% rename from code/modules/vehicles/vehicle.dm rename to code/modules/vehicle/vehicle.dm From da873f0a7e1cfce939fcf12d39ba8db02a0845ce Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Mon, 20 Apr 2015 06:30:39 -0700 Subject: [PATCH 3/5] Update paradise.dme with new vehicle tree This commit adds the proper includes to paradise.dme for the new vehicle tree. --- paradise.dme | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/paradise.dme b/paradise.dme index a5730264f90..1d3ad5aa763 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1666,12 +1666,12 @@ #include "code\modules\telesci\gps.dm" #include "code\modules\telesci\telepad.dm" #include "code\modules\telesci\telesci_computer.dm" -#include "code\modules\vehicles\ambulance.dm" -#include "code\modules\vehicles\cargo_train.dm" -#include "code\modules\vehicles\janicart.dm" -#include "code\modules\vehicles\motorcycle.dm" -#include "code\modules\vehicles\train.dm" -#include "code\modules\vehicles\vehicle.dm" +#include "code\modules\vehicle\vehicle.dm" +#include "code\modules\vehicle\train\train.dm" +#include "code\modules\vehicle\train\trains\ambulance.dm" +#include "code\modules\vehicle\train\trains\janicart.dm" +#include "code\modules\vehicle\train\trains\cargo\cargo_train.dm" +#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\motorcycle.dm" #include "code\modules\virus2\analyser.dm" #include "code\modules\virus2\antibodies.dm" #include "code\modules\virus2\centrifuge.dm" From 26574e0c16a80414723e15695f2cd083ddc2e6fc Mon Sep 17 00:00:00 2001 From: Nienhaus Date: Mon, 20 Apr 2015 07:10:01 -0700 Subject: [PATCH 4/5] Adds in a roofless Sports car. This commit adds a new subtype of the cargo train which looks like a retro-ish sports car. It is unobtainable as of this PR by any means but admin spawning. --- .../trains/cargo/cargo_subtypes/sportscar.dm | 52 ++++++++++++++++++ code/modules/vehicle/vehicle.dm | 7 ++- icons/vehicles/sportscar.dmi | Bin 0 -> 14185 bytes paradise.dme | 1 + 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 code/modules/vehicle/train/trains/cargo/cargo_subtypes/sportscar.dm create mode 100644 icons/vehicles/sportscar.dmi diff --git a/code/modules/vehicle/train/trains/cargo/cargo_subtypes/sportscar.dm b/code/modules/vehicle/train/trains/cargo/cargo_subtypes/sportscar.dm new file mode 100644 index 00000000000..52505312945 --- /dev/null +++ b/code/modules/vehicle/train/trains/cargo/cargo_subtypes/sportscar.dm @@ -0,0 +1,52 @@ +//rename to sportscar if you need +//mostly, my changes just update the C.pixel_ y and x on every iteration of the overlay update proc, since default vehicle code //only does that upon entering. Watch the weird formatting pastebin introduces. + +/obj/vehicle/train/cargo/engine/sportscar + name = "sports car" + desc = "A very luxurious vehicle." + icon = 'icons/vehicles/sportscar.dmi' + icon_state = "sportscar" + emagged = 0 + health = 100 + charge_use = 0 + bound_width = 64 + bound_height = 64 + movable = 0 + + +/obj/vehicle/train/cargo/engine/sportscar/proc/update_dir_sportscar_overlays() + var/atom/movable/C = src.load + src.overlays = null + if(src.dir == NORTH||SOUTH||WEST) + if(src.dir == NORTH) + var/image/I = new(icon = 'icons/vehicles/sportscar.dmi', icon_state = "sportscar_north", layer = src.layer + 0.2) //over mobs + src.overlays += I + src.mob_offset_x = 2 + src.mob_offset_y = 20 + else if(src.dir == SOUTH) + var/image/I = new(icon = 'icons/vehicles/sportscar.dmi', icon_state = "sportscar_south", layer = src.layer + 0.2) //over mobs + overlays += I + src.mob_offset_x = 20 + src.mob_offset_y = 27 + else if(src.dir == WEST) + src.mob_offset_x = 34 + src.mob_offset_y = 10 + var/image/I = new(icon = 'icons/vehicles/sportscar.dmi', icon_state = "sportscar_west", layer = src.layer + 0.2) //over mobs + src.overlays += I + else if(src.dir == EAST) + var/image/I = new(icon = 'icons/vehicles/sportscar.dmi', icon_state = "sportscar_east", layer = src.layer + 0.2) //over mobs + src.mob_offset_x = 20 + src.mob_offset_y = 23 + src.overlays += I + if(ismob(C)) + C.pixel_y = src.mob_offset_y + C.pixel_x = src.mob_offset_x + + +/obj/vehicle/train/cargo/engine/sportscar/New() + ..() + update_dir_sportscar_overlays() + +/obj/vehicle/train/cargo/engine/sportscar/Move() + ..() + update_dir_sportscar_overlays() \ No newline at end of file diff --git a/code/modules/vehicle/vehicle.dm b/code/modules/vehicle/vehicle.dm index ae8db010b44..d345c31ea21 100644 --- a/code/modules/vehicle/vehicle.dm +++ b/code/modules/vehicle/vehicle.dm @@ -28,8 +28,10 @@ var/load_item_visible = 1 //set if the loaded item should be overlayed on the vehicle sprite var/load_offset_x = 0 //pixel_x offset for item overlay var/load_offset_y = 0 //pixel_y offset for item overlay + var/mob_offset_x = 0 //pixel_x offset for mob overlay var/mob_offset_y = 0 //pixel_y offset for mob overlay + //------------------------------------------- // Standard procs //------------------------------------------- @@ -290,10 +292,11 @@ load = C if(load_item_visible) - C.pixel_x += load_offset_x - if(ismob(C)) + if(ismob(C) && mob_offset_x != 0 && mob_offset_y != 0) //if the offset is not set, use load offset + C.pixel_x += mob_offset_x C.pixel_y += mob_offset_y else + C.pixel_x += load_offset_x C.pixel_y += load_offset_y C.layer = layer + 0.1 //so it sits above the vehicle diff --git a/icons/vehicles/sportscar.dmi b/icons/vehicles/sportscar.dmi new file mode 100644 index 0000000000000000000000000000000000000000..e6e732619501db6fa807d44a492df30c98fe1d54 GIT binary patch literal 14185 zcmb`u1yEeUyY0JYu)zl>Sg_zOgF6HgAdm!i3GNcyT@oZggM|PI!Cito!QI^n!9CdB z{Li`Py{cF5RlTZ9)znOFW_I`V?%uuD?^_e8`br)fgA4-z0PGhEvTpzY0)2eIP{AWa zDzmEKQ;e6ImaD9pi>b4fqpOvJJpg#5C-#+Nv~$5xSA;GJCH6Upqw3zp6aOA*4np?+ zf`xE)pPP1fbbOt=j%N5##vhCB7tP3LIhWMcQTv*WBvI|49zS^wr)CCk8FsRcoH1{_ zahHUsg#@|P(N7Hujpgk**E}jZR7v73*O%M0h2rwnM82!bP0uCVcETh%AKWzM>np|@ z0e~8KAuFZkk-nedtEM*HblE~Z)cP(3DGUcj3ulFHF?izd{jobWud1ysM*LJ!d|5a1 zFQ}w&X`}%6g|f!qg72%S4*Nt6aik8bI{29jXWzf@)wEfE8yu|8<>x*|p^}q?Gwe79 z3~>bvo%WRBS`4N0x@_HH-HY3lrwDBiEVay5US8f_IJBhKt@p$RQ%C5gU0IS#!e!5B zXsBU9Apz7dd}t80q_iX)SpfzM0?;8+aBA>hP{|+(67rAFf7G7ZOckN`rQF?IdW%Vj zic*lMp^|;i&F!?A4NL3p?q=4l32|7P7+`w`bu@2-E}*VB0Qbl%hYUkm5J%gg^f=P0 zoi({y*A^_8=e@onX28#9utLpJH)z13JsRLhvF(ICe5&yBpfTD zBhk_n1VD3_Z0P6Nm%yG)l|>aeYUxT$LV^UihKAa2-_v^)W5!GQv#_};YTkOew#R(` z&akZp51uU46j|1BK?ja{GgA#pCwCJR1y5a;h6@8{k3UWpX3(S7Qi+Ftt*g_@e}_n8 z|BLF`VZ;SE&Yqq0bIMO9seT$#UW%Wk)KPl#2LHLdJds4p$*d5NFkH!(FlLT8^UP$h z$5ZQp*&@i_ynWkY6|GXFQAmyYHn4U|Pg)pl;VnP;&!4}6fQ^lfvdwMweeVMEbyqXS zB^{T@#vomIsdSmwx%GB|dZFXdiqvXK$11Ghwe!xo*XlWVtW3C@wXjfk#ZL*-OmX4M z6@@s(QVl!4+Z9S>B+8sgD(60PL=8IBMEAS&EdHO@gisAUje8|;0sV62#Kc6G9LtxI zWfgbb_afiyqR>pzOv-H|TjPkJPADFCTQR-bIr!{zxy06bA;ibC{DO`vlJtL%Fxls1 z;pHC;c`={FQ$0_ANr!@*Eq99#Eu8%GPgPp-A08JtNPk>NVJ0l=m2%M*McfdNhCgjb z+VmY`eU|{RzP=u$yu>imiP1KMiiP$z&ldeb^}S8)tgV8A0vwsT4L%zw$F`i8c-UrM zsr<79$~tfPIWCTCvoA?Cc9@Kb7{UM?kJIUD<1y>nlwHvzcLay>^DdX@ z{xcrR*!FBJ6<{(o&$aNNsMKo?NKng}9#+@T7%DC(81o5Le_Jyaakn*?R&F!R(Y0q| zZC&QH-W_0f!tad7YNm)BZb;PzHV@h38mK>gw~ov^R_VBJZFC$wZ(;uXyA^nTd?Z(S zpDNlGyKR^(dI-fl&?bH+CkPW0rpK@v#$@RyYb| z1+6D8ZsSSUv=i!wlf^orgNKZbi!-d*ct{e1gdpnBhA?7fH>Hyeyoy>Czwl%58mIvY zfBUzxc2}z^7l0#rdk3pP&h=(N#Fhln&-{GH`F`WegT*=Be$KX1Qiz0L*qP`w>UZb6 zYh)RgvC}u)_LXb()AEf6jhJ-{!&yZNgujrM#{Sw!pbhaYK6NpLGC-ApBo2MD(c5Le z8#}PqMoSPpQKxP!!Eo=_`uZQEqA-3;bxBT!&>Fo#Ui(2#*mFL6jEr>jnMgzQ@>d}z z8xeBD;sFEHdQ54URo3uENNIfc$3QO0g_z&{0>kYQqqpOI@UrpoS{D#7H1w+0#$q^= zl9(K9GAfAEj}rWD1ep?77YWSsmKENY2ZCEfwzCz_7&;}-OZ~jPP&sy+W8Uvgg|eOI z{g^Opa99=}cvXv09;LOp{BXCtj2d9pp9FF2LI%%)cx+HjQ-mueAv_TCkk)KTX2;r- zU>37EvLs1hbapl}!4nq(jEzQbY`mioal?uxW`A>A8rBs}V%krf43iZW=bo%T-Ft}O z9DLb6wLclbYi_B7b({3i5sn+)fs=K1b|(95*>QAYB4lmNq>bEYI7UI`uybSt9;UM- zySm1cE;2`b+Y{=}ZL?}xV%HPy71~{LX2=eHtuBi@f#cI{gz;>JM96_6etu!0jHjp2 zQj1B?kHe-MZEjV3NX+{{8#23mVl74lwh+ubSw( zJ_oxDyvz8HRMWa#{GHwT`}gdsl(=&CL+z3mW~$s}!>lxNc%64^%EO8#A1i8sXi!_@ zdwW`=p+3x7eS6W@_jDBEKBWCg>>bU%H$X^(_rLYrv7j7K_-wu3HNh}`5`r{rmG`gQ_z%YDq38!H(X13Cz!=!v=DF)-E?{YEEBpF2-piLS9siwK@gWej5)x0%E48cHiK9_)#jmKBd`<^- zd9-?wB}MI)@J(KiFfyP&RPQ`ty8rX!$rF2ms0|~-A;TFY{#@D>N5QWuO40@zVUB-Y zT*Pq|Yj4$NKYaMW%)Pt$TMp59)F5aqg4nIG&B(~u+1o<`8qcS6+mA;_UvF$}wVPM2 z-d!%E0pM$Bz;L#%5c!f1?}!7uAwq6tD+T*_9J@})JXpw`YECDH*1{gr_l(1jdc(}@ z>yPEA#v-gL_e-ycz$)@p&NhrFmg{6UOmTtjQ)4^`U{Bl1WwBZR9``$bsaU0|2Ycq} z^5o>^xr_h5@vNgwPX8xae*c)k(crwb*naco4YXp@oAb8oaJWl&OwR7H-MN1>z>1C` zrvck5XflHJYgPZ{tCHzHB}H|@V52POXT+Z*W!oGixF~2_EtzX{h#57$4u36pD<&aKon~PNb<_SverQRId(Vb>% z-ryTO^!ZUYDj}D}ES+lOtZiDnpQH;nxc$eg4u62UIkb6dK~iYyYs?Ik7&hif#F=-G&jrGtaKg#{xqhhD_n9}A3D`7d~<;%v@VJ^bjS zDZ$2o0sMDCPzUE1!d*XN$c~Qz>X#4 zki^ddQmW68vq{;HY89#Pr1BPnK`CWBQ)c|K6IP=9cU`ri`$Ih@asR7oah)5ns%i?9 zWQ3yQa;ZTROS*%D!=>Ow-`mTe!rfAiqx7n6s_RfoS6i z;nArCl!Viu^L%gmwW?}BbF+B5kPGVd_4UrqPAjX*A}07Yb*tu+iKaSkGH+glP|Rn$ zGwXxz8ikWTNb5pI)k(SxAbSjT=Jf@fwV8f}Bd95)K2{p|2G*jv!r0F`ztP;?zcG#@ zKvtJ7vz_HhF&|R@u+(67a<_S6wUEf%Xz$?A^Wh!v`$c;O7I2`H=@I`oO6vAvk+)qa z=~4}o7%J&yK=ZGm2@P$t?!j-m&fms{btqkEef`hT3>^Ez^Bmn|Nu6Wg#TR$JSdHL3 zN^#jnZ@1>lt3zi4Ze2P6P?d&SH~^ApQ;fS!9! zD5ic#OlkAKg8BF3-<3PsLowSf4Z}tgprA&u`I6%!u*ISEA=V} z^Q&J$?|-Rh%TlOkVDPSh-k`Z*z4U7EG!{s)O?la0j{U?v@agTy{?$M#@8Xi;4-#^o zgOmDBUF)}O3HzEh7N7-z5ecP7G(mwA-MwhU!D6E)@5#xD&(aZ&{{rtUWelwf|MI?J z85e~NZ;0rcNKCDTu)^Z7(b(-lOiRHl*0}^%*RR}+j4Ymoo~j8V!NbSzgtzbHXaPo`p8Hf*Z_h=U+x)Fr;#m3EK{H;3_dNBdc7=uY@3uuWyr)A-lXt}AA5d^|8JPTPv9(O{>Fm~Oh3!xabYox3%0_H*PLqdA z^iTogH=}_M+(zA4o1SRkrEGu4fk@bm$k%fHy7f&Z2vKYBBwVm$? zC=22(k5oUUYL+v?KCYFxGf_MF$Zz0(cOKzj=zjO_ed+ehKb+kTV{zX@$^ri)RtV=* zG%`Ih8J!0CmYS)Dqa+MIq`&f~r1;k!51{ETb?{H!Jv9_v&Sts<1^7Etj!^wGI9XtCVLw3BOl$VFFOkoQ4+71xm@JU5rV@oY@d zVrK{0uDdC3Va zo7wJ~GjReJ2(6(CO$>u@2FF$(A|X(k+14M5=t>!6d*@%{@%McJ_zhgg6Ipq|?Db_K1d!+tTa zhIn{#y7_`;W9);+CiAcj6+0`aBav$Cv-EzIpEtQ9a~nMf#RP-?U!fClUsY{*9c|bj zhra(tOKZo8Eq&C5Js#J{)>f%z^yW18hkRD$SHHJ7SALi4te36|B?--%!%6I!v1qdu zW|#x!ynTIrqFZ-pL0a&bT>0jLR70;aY)1_G7KrPW(bRXaj>cn<<*eFFURQaS4 z{gNy(N~BtI&YnN

Eq_P@NXjYs^GDBhe{UpfwLQFE5XDsRom1BUtLSsnSDWC3sNtQu;A{L)=>Y9^((Y+0US0@LCMp7NKW;`Xjun|V+(TEbbx z?fQ!iUE+@~gMHE?Jt`WncK=y3--`#$lUSc(ZYNExe!sV36+*2x*c7#U5? zWZRA?S<#@)Hd$(|H0>|30*fC_H=lZ@dmI0j2NxQ98YcwUI!xJ}B*Jg7dZ{oi(cjiw zSK64OU(SZyogtF#zt68#ta0n-%h;^5=cUzi5rbo!HIpGAZs4h`W&Zud&;9uLc&5sV z;7eK>Q8=mm^XCgECWzec-`ne47{88|JW2(}ow&Vhf&OI9OYK9_BKuS&1}q$$_IEtl z-@kY7fB8r*z=Ehz_&Tv^L<=t(1P3zukDkrbm_+}Ov&bS2!_zVTIv?fY>pwfc{@jpN zb3tI$ALB#L+x%Oa33k)>9{eTtJMB^kkN1g1RE#cy>miqUsIMzgFrn-35pjBA5ij1*Yt{ud7&7nT%pevt_aatuYnI^)%ly=o#>Vz` zPIfi~2uby{jzi>sW>oRgqqEm?R>;}UmVIR;ZCpw5CR_Cc7GrK<;qR@!{;sokIvLk3 zDwovIv)I~IY>`n!8@cFJooE8 zE3ncIWh6IsAymxhm~QWO}ce47(H~b`AEn|(EGyHFge8Moz%yM>Dk#QW1=~b zy*-xKdU_NmJ+U8SV{<_8xyRq1+%GYz!#XiNz1=}Hq?ewNakoz{V876Y;5lb>Z1TJF zT5y}UYu}rj)0y47r5r_P%&wXR&23&DibLaZm;=qDk^jj-M@P3Jh|^}@!Y?db(6^6~ zcZsJQ6&<~}bU0s&E4dSnns{P%Ek`@7`bJ%S67_3wMFl=^kcO}$l}O^Fz-+yY0`R1h)kw5DrtCK8Y2(&>Fdxiw3W;sgKXX{>-1rLOSc*&#kC%=3eo_-~*)K2{Uz0IdD%2&l7qBpJTbz1<(!0K2uEc5N({8hbhy;k_SOm zs;i@>=8AkY%CA*pn>rm*P*5;3MSN>Iwn<7#dgPfL75d|XB|d4(o0ibq`Bi?rxRg-0 zQ?x0UR2+{}aJ{Lc<4Cb_q%n3B%8p=610hcEB))l?fSS5GrLjX}O>Rg?h$375GjrOw z5WD%Bws${Am-tXNJhJCg1 zS>@=U;ZXWkIH}LAomKTcdyf+(K+Md~_99rA7}e#DK?(5?t%VFwA6y-;Q)xazQWRC3 zm3i<|ALV}lzgx5=&0?LCY5WK5WZ)K6a#1#mn<0*MJ~NZ5EpcymSIW)JO}4MLu+S!6 z(C|W-xWA^N;>3o4)7QRj==7HOY2_K;CH)S3)`!qB^2b?75gd>XRsUj1wtIJw7*@{F z{Zfud#*AECHfV(?b9*^SWXMU+XuSdtyz^}$2V^rL2dEl1;T=5LHDIjlG?6pQXPVE) z?>F1SG&C#iI;65sYr+WRY}Ze%z6yqSs?jrnH4hVO$yiak|IexjJu863Sm%RKG-?^#5kxq2YQPT5o>EE4$%R(_`b7r7Ee0Yg_>sB!N2}mm zcr&0P09u6>6qf+05Xd0Lbf><|~})sLmdacTd}U{*0&{PkYY=ZY(n>EX4k-Szv$78CHuOs&IHr72%~ z#MJb3kB>INpV0((gxpu7S5!lWwz!^DVKq(dun@b0uzZb+|IO;6E$>wl9$=5)u)?gr z3`C{C9_<&2Y)U>lWD`6PUqJ$nB(yp|g4#_*&^}d=%1#P?S}&A^`{$H_0|kgnO=6+g z+pRT;dkO%A15S~HkrIsrYT}&}w3ak+F~>LkAZc9BrHum#Nv0p`Nd*re?=a$dw`_4w zB0M)_dJxnFaw?fyS0vC77!75h^>1QwRqelj{u1lY-rl;_2gyiD6xGscq$5H|cn3`a ztH=e|czB-f()u_1wqkinX=?j8oNziOqy$+>y;R6o`;LWxvF)4E6`d?arIH%Ih}7%L z`V5s9{3fl!6e-72wEM(9_Cwnpv`}C{Ho$nO&t;DaUdvGsBI(6QEZ_%je5&0)fBuvf zzP#^n22=?lt&>Jwu2mWGLkrNZGf;c3+>{0=riGH{e8ygMz7Ep83|K9##rxB0CMX*~ zLj>8P>GebbM-vqQ(F{%L3UPZOysVq1X)l`G-@3pe=R9oEnn+f%bee7`1=15i38Ko8 zrA1aXYv#WtgO`R7z|pEw^k9Q`zzPW1OY)OK1}hzopq0;ZyWX4aMGv2P&VPINN?BRi zxI&hEBZlAm);#$KC;A@&O!+UPk{YmFDD`7oEfR^!KjWi^qYth37n@R6t>>lbEFSU} zD9GF1E4KW-{vS{TB%3E(pV3>3QUtfH95;Dp%7gQH{3$oA%QCP_F=6TLSP- zZ(2g@ZThz*%WX)%j5Nomwx?dNWOf!r6d;A0lroi>H(&(GM)O$u{iQ^7s z={)!&W-rY?euTbm>-%I)nVZ>hfZ7A;gOxB{0Hidlde*i;lmaY7GbBBwm0- z$p1x$#DVe=@dvES+fVdBn57nUNdzk#`oQiy{y0F zt1VWs%k2jE!P=jP|F|ccP9^Hi<>4hWs&EDlA`LrOb6#!pdOf4%$aC;?K2z=e;@qcA zkDteI0CpW48w(;3BUe|oL@}M`KgQA9%$grCoVSRL5)Q*+`kh;1cpqPZ@McO(RYte} zHAoQ+#s^Y$17d1U75e*#ZO5Ev834E}^_PX@RQkFyYm{Egmu>sIPweli=Er%tM0XCL zD&yo%9o$&dqo!vx31`R6rSYHA)3L%kvUT8%-O(bYf0sk1KXU84j)X#15L{tB(xfx73i|Fir{rnAydFD5 z+V_49-lU($sGWBPVd=E;ph6D&6ob>azwO8ZzbD1wj;w3$U6z&3+H!Zl<)^<6A*j8B zd1T7Jd1JYCi566gTJE?ioi6AE_4W1Ds&k}yq(0yp)Z5z&jp@g~pJ9`BvR(1IypEX3 zdfI7`vx+A>j){&ID|!+!@9l&vp`&0oVp0phJ(2(8x=bxCnZBVuvfRc-QJ*V|!}!zm zbc*b?B+$c8Y8rM0#=7V;su&RJr}7-5*=m1biU7c+3Eopk%Wyglrs&<{~?X7!|<{^u3gY;YO;_pZ|)9RJ$OY3~eUufdH1U1?Pvn!!|>69jE2 zHL`i75DU?IUbl>g-~8u-5;2!<{=es4oPKx#iWH6L(}52VstkUi+^gBdeu7hUX&GZ< z8V>zm^o;_fSWZVuyFPbE|LuOfy|A*l7(LIq!Uw^;TMlT*s{?y3G zS8JxNQEmT7g)%q*mZ1pZePHK4d$YJ)_LU|eI~wHHm3?@AZU14u=xVC+scZwOT6U_@ z>chP>)&1KsF~<)x$GhH#D~iwhjmx!+%IlsBsP%Bu=0KpOE%(A;9fvlJd6j4i?te4R z`TW_kR+};`=JtewN}HEar-rG*v}6Tsm%bG(?ZWfvD7s7jt%bf45}Pt*wY(wZGowK6)Eez!@M&Yv%lb4?b1! zo|y!KbqdKJ<8t#@a<0M|=KUJ*plXSaF|bG6eEY9cd$mao+3&n3HiYuypm}A_c9#om z=BbQu16S!zW|?oSavCC(-7W|wV9yP0GI)9%iuXvXv$Ojn0l?=WzCr943YNbGae=nY zijAnDeTW&TGPTN0x)RcIWfsU_(%`ZM2k|yjn=~q_R7L3%5yXumVC~%x5KC5YL(2tP z5zI|O2q*|QZH-vEjJWc3eCTQ|+A_twMYo9HvPIOeK#&XRhW*8MTE~4i`DNbCY^Tfc zenkhLl?dWcwCo_YPo~+bYR}4Z+>MviPZIaZn(!C)+WG1mT&cla>byfAkWHSzB2r}G zP>24wyhPmvI5b1KXTc`AD=6%bHHff&qoNuvG^3cAnR%=;8fs+JctpgZLzi)ZlHKk# zWtG|H@HT{z@#v`7YP1Yow(dwcJAxl)mr`}%%2PZ*?uz!mSdS4RE%XOfv~drW?}3Wc zW=H;VLU0V?QceMcLsyAmdLy5&Z5R z_eSMfKHu^BL~9V92ben!|7^o@68xFjkl$mOWc^&)*#vVV#C)dzwOha9vLT!qQdrg7 zhR29*gn)(4x*C?k2J%NhbX0a3{=JMRW-7_iWClmBjpNH0hFZ=2Is@_=dp{OxFf}k1 z^)#w|vi-s`koNAr2$QH+!)$GsAUnKIgVO#6uPlt22r$H6{%`7o6&WA6rfeHjUSCy3 z2vQcQyYW|~?gyPVrA?@SM^QF#KOs`xkr*$z=g#JzU2%?E`x?m~C4e3C;LoS!5+M;0 za-49P3uEfl6I7o(%KSkS94gU>U?u-+1pOSfbJBln6$uqs!e5j|w44@}Y-G{>ne#EI4I{g5G|`(_l0Mk*WlGV10dk zDiLZq+6X$|`v3{V%?U<=D%oqJv*XW+BMFg;HM zE%w6)YHse=$ETpVQx~l@?m#W|?9UV9Qi|Dq?Bva+Eroljo7BO^vC}X7Mf~-h`)emGhhQ%4!z|7KU;J%O$5O8(n(KT#g zZqAY!9UI&8T{&%JVWCK{Q;>&eEs3O(hM%7Zq*0J!H|&FduLZU^wN^CsT20DZ-|^J* z=WlJ9^9cxGPJ@&JhTZ>;2ff6LUKH}P*P~MVL;9d~XWy!0t1ZIx`eakkbq9`$ib{A{ z*5boncgT>pXT39K0(HD5`|2}1fhfYgzd6rP*w%Y^xUpii@5m*cv8@R(NrFGcnLj;yQkl5MTwaSd7RNH=n z1=RJLd3yo_*8RPwyW0#NGR1?=T#(*@fzB$cagNF9=?B!-*8oXjL4l8-AGrC6m!hBd z29cGPR#x)ndOk-oEdR2$wiYMhXA71XK~G>%s@<%2A33E%ot>Z0bnsDN$c3%49wJti04Ggb)oQNFDj9GE1a&~bB3rBsh7H7iB9SvH3Si)(~uJM!xfMl4Dmb!YidNDhQ4Wsmf0|Oy5wg}s$#wU_HVcMzgkAW}n zBIV|K9NZ6B+SyI!-V}r-vT9oYnpZb8Ed5()G0}gf#Ei>Qi}ml}B^-g)N$k2?=RWG{M00aN{z|_nkdTnX58tf)Q0^hK zva%8{t@q*&kzuDbA4-3cK05*Y{wAch+hSg6}%g!(q?MdT2kO6 zYdLHnB?y`FxLOU*v1?BV5d{OQk6G3K#8m&!vX=jUXeW@=lg$fsqi=8hz_6OrXhkUX zcUtasyv`@Q05CZ@N!1PpZ5=y9;D14EGbFTt2|TiyNQhKON(vm>oniPOpOBnvx_4m> zenJ5YMl0Ky00$)X^(m*4*m`c!TBJ=R;WV`7Ax4j<&$>O3Scr)yh09t-JfVrp0jbI3 zsRB}npuQ%bj~)|+nFB04+MjZaOAx;QWpeE#?9tjT?a;vf_(QL#L2GT>}v zcs+uHD{<>srJVBV>I`<BTI*y=v4+ja_1M63 zlLAl(IDZtM5wXd&JUoyy&_D%Qk9;~el2=`0(8PoqSa1Lf2>%i@1t7+ovO$tcM94Ic zuuF%H_%R$DKWKiM8rNn7D>f51!hV`^hCynhn3PjeGPKTnAMr&?FhMpDIWUE#&J&rU z=QqNO-~DajB$*Sp(J{p64OTNBD>^4X6^5`~xurr&iyEl{JVJ{R0{q`H7F~hW3ag~$ zGNser5fF-|>|w=|JMC+(V;4aR(E8Fja5zIH*92nYso~smjbH+~M7t8Tr%%H96cr32 z9Q_~)3kzFV;+@y3U1=W3jhJccdj@V_pxYH44t|U-q(?q&RtMwMQk@v>A>YKsznJH* zhmsf^)s4UGqWA99u*@r;5Jx|=z9x|6f>8y!;z)uXtC3&W|N3vA84xg<5CqywimRtc<^!sk z?s4hqAHY;N6aaHD!Mqkjf~Tj|JGFISREZu{c3`ar%X2tW4DWXW2)5)c?z*<$gZF() zOUnR*(r|;)9uT9!a-TEleSX4y9TT5$P%QIhRs3xbP!9Z-@{#hEz zq`F2|C>#9zReqmV`rV7LzEl|K2?R#z`3^+WArT&ogdgBN6%=)<+`-BBNUw zV}G`UNECy6p8nAYW5N4vb5<@pEpf0tXHViL1a)4-6VKS(yJ&#GyO zcKq85)X;ExqRUs-7j7AF7;rxiVDXlPwI9J@-XYngu{qDz^q|EOon(mOCj6kT$qL&2+w>c7p`Iq&~AUlrJ__{Xp$ zw8FBsxq&gC#$9_b*w(wgfT^h0lLF*M|GEDryi5!K;2Y02ENP2#ru~FZo3)W13m3PC zQrNW@9RQ2rnu}saM4*8&1{ER0XY@x)HEp|4$6auz{Y*1eea6VnO^`xMZCmHYvFMgA zyUnn9>mMf(aPfrSjrV3KOClDuJ?a;7ycgeUl)&M?D=`hnsi!gq#jMg|5EtI`!opuA z1%(J!W@e{<1avE&OESovM8rT6n>MW))UB8=R^i+xF@zPKwh8aS)X~ua0C0XBv2wsM zZfKu4pm&>BBPvA6$jR5cdwMcJFG0f%LqZ2V447qhM}VLR00Sm!m$P{i_rE_gij{zT z^7VTXOf=_2c0xpd_Qc5D`{3Ye&aq8&ki31-3Iju*g~?#pe+ZQG)J2Sq@v3TSgzguA zwQILgwAhI0pD~xNRnG4RRVe!37VFkRf&Y|9wUm{y!FG&zQr}tR$eB!LUJVgpq)mQ9 zc#yojp{>T?(Mt23{KPYzlXX3|qrnIiz8s-~vf%-r0%yIG6rt;XRy z3E7a3kH4})J8J{GA>wn`4A^-pY literal 0 HcmV?d00001 diff --git a/paradise.dme b/paradise.dme index 1d3ad5aa763..3a4ff30c869 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1672,6 +1672,7 @@ #include "code\modules\vehicle\train\trains\janicart.dm" #include "code\modules\vehicle\train\trains\cargo\cargo_train.dm" #include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\motorcycle.dm" +#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\sportscar.dm" #include "code\modules\virus2\analyser.dm" #include "code\modules\virus2\antibodies.dm" #include "code\modules\virus2\centrifuge.dm" From 0e11fda6a0992748e2e833340d92a240d7103d95 Mon Sep 17 00:00:00 2001 From: Graham Lloyd Date: Mon, 20 Apr 2015 07:58:13 -0700 Subject: [PATCH 5/5] New vehicle: Four-Wheeler, (ATV) This adds a new subtype of the cargo train, which looks like a four-wheeler, or depending on region, ATV. Unobtainable as of this commit by anything but admins. --- .../cargo/cargo_subtypes/fourwheeler.dm | 32 ++++++++++++++++++ icons/vehicles/4wheeler.dmi | Bin 0 -> 1169 bytes paradise.dme | 1 + 3 files changed, 33 insertions(+) create mode 100644 code/modules/vehicle/train/trains/cargo/cargo_subtypes/fourwheeler.dm create mode 100644 icons/vehicles/4wheeler.dmi diff --git a/code/modules/vehicle/train/trains/cargo/cargo_subtypes/fourwheeler.dm b/code/modules/vehicle/train/trains/cargo/cargo_subtypes/fourwheeler.dm new file mode 100644 index 00000000000..9033a1f5014 --- /dev/null +++ b/code/modules/vehicle/train/trains/cargo/cargo_subtypes/fourwheeler.dm @@ -0,0 +1,32 @@ +/obj/vehicle/train/cargo/engine/fourwheeler //make this hold passengers + name = "fourwheeler" + desc = "A fast and highly maneuverable vehicle." + icon = 'icons/vehicles/4wheeler.dmi' + icon_state = "fourwheel" + emagged = 0 + mob_offset_y = 6 + load_offset_x = 0 + health = 200 + charge_use = 0 + +/obj/vehicle/train/cargo/engine/fourwheeler/proc/update_dir_fourwheel_overlays() + overlays = null + if(src.dir == NORTH||SOUTH) + if(src.dir == NORTH) + var/image/I = new(icon = 'icons/vehicles/4wheeler.dmi', icon_state = "4wheeler_north", layer = src.layer + 0.2) //over mobs + overlays += I + else if(src.dir == SOUTH) + var/image/I = new(icon = 'icons/vehicles/4wheeler.dmi', icon_state = "4wheeler_south", layer = src.layer + 0.2) //over mobs + overlays += I + +/obj/vehicle/train/cargo/engine/fourwheeler/New() + ..() + update_dir_fourwheel_overlays() + +/obj/vehicle/train/cargo/engine/fourwheeler/Move() + ..() + update_dir_fourwheel_overlays() + +/obj/vehicle/train/cargo/engine/fourwheeler/handle_rotation() + update_dir_fourwheel_overlays() + ..() \ No newline at end of file diff --git a/icons/vehicles/4wheeler.dmi b/icons/vehicles/4wheeler.dmi new file mode 100644 index 0000000000000000000000000000000000000000..db819e44f9df996713b85c577f775e0026d7ef49 GIT binary patch literal 1169 zcmV;C1aA9@P){7=GCo#_kD7lyS~`@0?K>;cF%Ep70O?w9_-M z|3g0+>s-+@ck_?O!{1yvz@!?nBZ9w-pN(zmJp+Ps^WP8rz)-LNb5Q>ien3&eD?a5K zin)NvFGS)SKSXJZW}MWMfI{LiW&=2Zp@n>nu|eg;dXJ}3!EX31*4r?OH9_Fc#TXd@ zvKVrf)-{SYQ<9;bl1vJCpw&#!w(U%yBm=@ealrpkKPSi<0>V@ioc9X?WimmF*tD5I z;*_DLrW5GMeCRhuWFaLmSR0I++%qaAwx4hu-kE>~98W31GGc%j(qz0(Y(+9U(e1LP z>pDDPUecz3=MZgiuw$Hv0Ti$g8vHaltxy^k^-$57C;pV`VX;<=h6Nu*;z_ID-(RKE z2ogW^&y({K-KIFi*gc=mF5)Y-dPWz#kF)d~2fczSmF6Rc*hLWF zH{h%2LF_Y5p(=V1<9zaq9w02lzk|EK-oCb{_D1 zRh3TBz;SVkaL(KDtFx8u#;I1^gI4Mn_;ln4iSv6v!)hy=oBR?_1-v|Y$t9Oua!US3 z|4?r>ae1SE5bKNmLoGLPd82>W>?rgPxo-5^*@@t|f7tKX>aQEIX)j0p!z-Z(G@}0A zEjj8R_?{g)R`Y^@2D$EEO?cTqKy=}2+MGiij41JC$$!{C?C50oF)>U|AOdwG^dI*R zdjf`!RjZ{QBiCiHvXNmv?jLppVhRNS>TW9QO)l}FzjmU&Kkgsa>zm(7?xqq33^3DB zkfC4J_wV%&D&NKN&HIPB2=f%DFvd$%X6O2cwYH?Xe(oeiZF#nTSPEgP>_;DDb$qIS z5cPfT5h<0jzCYDJY)g5%6=XocgU|X0mV+gPRW+1y@L~V3E#