diff options
Diffstat (limited to 'advtrains/advtrains_train_subway')
44 files changed, 155 insertions, 0 deletions
diff --git a/advtrains/advtrains_train_subway/depends.txt b/advtrains/advtrains_train_subway/depends.txt new file mode 100644 index 0000000..0492ba2 --- /dev/null +++ b/advtrains/advtrains_train_subway/depends.txt @@ -0,0 +1,3 @@ +advtrains +advtrains_train_track +intllib? diff --git a/advtrains/advtrains_train_subway/init.lua b/advtrains/advtrains_train_subway/init.lua new file mode 100644 index 0000000..add961b --- /dev/null +++ b/advtrains/advtrains_train_subway/init.lua @@ -0,0 +1,152 @@ +local S = attrans + +advtrains.register_wagon("subway_wagon", { + mesh="advtrains_subway_wagon.b3d", + textures = {"advtrains_subway_wagon.png"}, + drives_on={default=true}, + max_speed=15, + seats = { + { + name="Driver stand", + attach_offset={x=0, y=0, z=0}, + view_offset={x=0, y=0, z=0}, + group="dstand", + }, + { + name="1", + attach_offset={x=-4, y=-2, z=8}, + view_offset={x=0, y=0, z=0}, + group="pass", + }, + { + name="2", + attach_offset={x=4, y=-2, z=8}, + view_offset={x=0, y=0, z=0}, + group="pass", + }, + { + name="3", + attach_offset={x=-4, y=-2, z=-8}, + view_offset={x=0, y=0, z=0}, + group="pass", + }, + { + name="4", + attach_offset={x=4, y=-2, z=-8}, + view_offset={x=0, y=0, z=0}, + group="pass", + }, + }, + seat_groups = { + dstand={ + name = "Driver Stand", + access_to = {"pass"}, + require_doors_open=true, + driving_ctrl_access=true, + }, + pass={ + name = "Passenger area", + access_to = {"dstand"}, + require_doors_open=true, + }, + }, + assign_to_seat_group = {"pass", "dstand"}, + doors={ + open={ + [-1]={frames={x=0, y=20}, time=1}, + [1]={frames={x=40, y=60}, time=1}, + sound = "advtrains_subway_dopen", + }, + close={ + [-1]={frames={x=20, y=40}, time=1}, + [1]={frames={x=60, y=80}, time=1}, + sound = "advtrains_subway_dclose", + } + }, + door_entry={-1, 1}, + visual_size = {x=1, y=1}, + wagon_span=2, + --collisionbox = {-1.0,-0.5,-1.8, 1.0,2.5,1.8}, + collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, + is_locomotive=true, + drops={"default:steelblock 4"}, + horn_sound = "advtrains_subway_horn", + custom_on_velocity_change = function(self, velocity, old_velocity, dtime) + if not velocity or not old_velocity then return end + if old_velocity == 0 and velocity > 0 then + minetest.sound_play("advtrains_subway_depart", {object = self.object}) + end + if velocity < 2 and (old_velocity >= 2 or old_velocity == velocity) and not self.sound_arrive_handle then + self.sound_arrive_handle = minetest.sound_play("advtrains_subway_arrive", {object = self.object}) + elseif (velocity > old_velocity) and self.sound_arrive_handle then + minetest.sound_stop(self.sound_arrive_handle) + self.sound_arrive_handle = nil + end + if velocity > 0 and (self.sound_loop_tmr or 0)<=0 then + self.sound_loop_handle = minetest.sound_play({name="advtrains_subway_loop", gain=0.3}, {object = self.object}) + self.sound_loop_tmr=3 + elseif velocity>0 then + self.sound_loop_tmr = self.sound_loop_tmr - dtime + elseif velocity==0 then + if self.sound_loop_handle then + minetest.sound_stop(self.sound_loop_handle) + self.sound_loop_handle = nil + end + self.sound_loop_tmr=0 + end + end, + custom_on_step = function(self, dtime, data, train) + --set line number + local line = nil + if train.line and self.line_cache ~= train.line then + self.line_cache=train.line + local lint = train.line + if string.sub(train.line, 1, 1) == "S" then + lint = string.sub(train.line,2) + end + if string.len(lint) == 1 then + if lint=="X" then line="X" end + line = tonumber(lint) + elseif string.len(lint) == 2 then + if tonumber(lint) then + line = lint + end + end + if line then + local new_line_tex="advtrains_subway_wagon.png" + if type(line)=="number" or line == "X" then + new_line_tex = new_line_tex.."^advtrains_subway_wagon_line"..line..".png" + else + local num = tonumber(line) + local red = math.fmod(line*67+101, 255) + local green = math.fmod(line*97+109, 255) + local blue = math.fmod(line*73+127, 255) + new_line_tex = new_line_tex..string.format("^(advtrains_subway_wagon_line.png^[colorize:#%X%X%X%X%X%X)^(advtrains_subway_wagon_line%s_.png^advtrains_subway_wagon_line_%s.png", math.floor(red/16), math.fmod(red,16), math.floor(green/16), math.fmod(green,16), math.floor(blue/16), math.fmod(blue,16), string.sub(line, 1, 1), string.sub(line, 2, 2)) + if red + green + blue > 512 then + new_line_tex = new_line_tex .. "^[colorize:#000)" + else + new_line_tex = new_line_tex .. ")" + end + end + self.object:set_properties({ + textures={new_line_tex}, + }) + elseif self.line_cache~=nil and line==nil then + self.object:set_properties({ + textures=self.textures, + }) + self.line_cache=nil + end + end + end, +}, S("Subway Passenger Wagon"), "advtrains_subway_wagon_inv.png") + +--wagons +minetest.register_craft({ + output = 'advtrains:subway_wagon', + recipe = { + {'default:steelblock', 'default:steelblock', 'default:steelblock'}, + {'default:steelblock', 'dye:yellow', 'default:steelblock'}, + {'default:steelblock', 'default:steelblock', 'default:steelblock'}, + }, +}) diff --git a/advtrains/advtrains_train_subway/models/advtrains_subway_wagon.b3d b/advtrains/advtrains_train_subway/models/advtrains_subway_wagon.b3d Binary files differnew file mode 100644 index 0000000..cbd0f8e --- /dev/null +++ b/advtrains/advtrains_train_subway/models/advtrains_subway_wagon.b3d diff --git a/advtrains/advtrains_train_subway/sounds/advtrains_subway_arrive.ogg b/advtrains/advtrains_train_subway/sounds/advtrains_subway_arrive.ogg Binary files differnew file mode 100644 index 0000000..71bb90e --- /dev/null +++ b/advtrains/advtrains_train_subway/sounds/advtrains_subway_arrive.ogg diff --git a/advtrains/advtrains_train_subway/sounds/advtrains_subway_dclose.ogg b/advtrains/advtrains_train_subway/sounds/advtrains_subway_dclose.ogg Binary files differnew file mode 100644 index 0000000..ffbc6ed --- /dev/null +++ b/advtrains/advtrains_train_subway/sounds/advtrains_subway_dclose.ogg diff --git a/advtrains/advtrains_train_subway/sounds/advtrains_subway_depart.ogg b/advtrains/advtrains_train_subway/sounds/advtrains_subway_depart.ogg Binary files differnew file mode 100644 index 0000000..aca8cbc --- /dev/null +++ b/advtrains/advtrains_train_subway/sounds/advtrains_subway_depart.ogg diff --git a/advtrains/advtrains_train_subway/sounds/advtrains_subway_dopen.ogg b/advtrains/advtrains_train_subway/sounds/advtrains_subway_dopen.ogg Binary files differnew file mode 100644 index 0000000..f1322df --- /dev/null +++ b/advtrains/advtrains_train_subway/sounds/advtrains_subway_dopen.ogg diff --git a/advtrains/advtrains_train_subway/sounds/advtrains_subway_horn.ogg b/advtrains/advtrains_train_subway/sounds/advtrains_subway_horn.ogg Binary files differnew file mode 100644 index 0000000..f4519a3 --- /dev/null +++ b/advtrains/advtrains_train_subway/sounds/advtrains_subway_horn.ogg diff --git a/advtrains/advtrains_train_subway/sounds/advtrains_subway_loop.ogg b/advtrains/advtrains_train_subway/sounds/advtrains_subway_loop.ogg Binary files differnew file mode 100644 index 0000000..2543cc2 --- /dev/null +++ b/advtrains/advtrains_train_subway/sounds/advtrains_subway_loop.ogg diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon.png Binary files differnew file mode 100644 index 0000000..c2d18ed --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_inv.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_inv.png Binary files differnew file mode 100644 index 0000000..c3fef1d --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_inv.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line.png Binary files differnew file mode 100644 index 0000000..dcd5005 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line0.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line0.png Binary files differnew file mode 100644 index 0000000..b853ef2 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line0.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line0_.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line0_.png Binary files differnew file mode 100644 index 0000000..a4ba30b --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line0_.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line1.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line1.png Binary files differnew file mode 100644 index 0000000..fe35193 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line1.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line1_.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line1_.png Binary files differnew file mode 100644 index 0000000..d731f68 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line1_.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line2.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line2.png Binary files differnew file mode 100644 index 0000000..78b4f80 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line2.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line2_.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line2_.png Binary files differnew file mode 100644 index 0000000..42d094c --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line2_.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line3.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line3.png Binary files differnew file mode 100644 index 0000000..19e3af1 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line3.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line3_.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line3_.png Binary files differnew file mode 100644 index 0000000..608206c --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line3_.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line4.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line4.png Binary files differnew file mode 100644 index 0000000..eb8dc39 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line4.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line4_.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line4_.png Binary files differnew file mode 100644 index 0000000..1fbdbf0 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line4_.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line5.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line5.png Binary files differnew file mode 100644 index 0000000..a1a50d9 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line5.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line5_.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line5_.png Binary files differnew file mode 100644 index 0000000..5e78cc2 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line5_.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line6.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line6.png Binary files differnew file mode 100644 index 0000000..f804880 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line6.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line6_.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line6_.png Binary files differnew file mode 100644 index 0000000..9e11041 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line6_.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line7.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line7.png Binary files differnew file mode 100644 index 0000000..0587719 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line7.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line7_.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line7_.png Binary files differnew file mode 100644 index 0000000..edfe9b1 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line7_.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line8.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line8.png Binary files differnew file mode 100644 index 0000000..45de3bd --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line8.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line8_.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line8_.png Binary files differnew file mode 100644 index 0000000..efd125b --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line8_.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line9.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line9.png Binary files differnew file mode 100644 index 0000000..a5dfd1d --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line9.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line9_.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line9_.png Binary files differnew file mode 100644 index 0000000..09a3c7f --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line9_.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_lineX.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_lineX.png Binary files differnew file mode 100644 index 0000000..4b142c1 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_lineX.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_0.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_0.png Binary files differnew file mode 100644 index 0000000..6dbece0 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_0.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_1.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_1.png Binary files differnew file mode 100644 index 0000000..e65cfe0 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_1.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_2.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_2.png Binary files differnew file mode 100644 index 0000000..6064893 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_2.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_3.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_3.png Binary files differnew file mode 100644 index 0000000..a51e943 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_3.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_4.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_4.png Binary files differnew file mode 100644 index 0000000..73ea576 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_4.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_5.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_5.png Binary files differnew file mode 100644 index 0000000..c278680 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_5.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_6.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_6.png Binary files differnew file mode 100644 index 0000000..c4e6bcb --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_6.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_7.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_7.png Binary files differnew file mode 100644 index 0000000..afe0814 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_7.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_8.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_8.png Binary files differnew file mode 100644 index 0000000..56108a0 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_8.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_9.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_9.png Binary files differnew file mode 100644 index 0000000..6d5b411 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_line_9.png diff --git a/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_livery.png b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_livery.png Binary files differnew file mode 100644 index 0000000..2702871 --- /dev/null +++ b/advtrains/advtrains_train_subway/textures/advtrains_subway_wagon_livery.png |