Commit Graph

297 Commits

Author SHA1 Message Date
Zefram
c9bf799e32 Declare unified_inventory optional dependency
Make sure unified_inventory is loaded before us if present, so that we
successfully register crafts with it.
2014-04-30 00:22:08 +01:00
Zefram
03a5375e55 Fix can wear following tool workshop change
The cans used set_RE_wear() to manage their wear bars.  As that now only
sets wear for power tools, the cans need a separate function.
2014-04-30 00:22:02 +01:00
Zefram
99fd5dfee5 Genericise handling of multiple meanings of wear
The tool workshop is meant to repair mechanical damage to tools, so
is at risk of `repairing' tools that use the wear bar to represent
something other than mechanical wear.  It had special-case recognition
of the water and lava cans, which use the wear bar to represent how much
content they're carrying, and wouldn't repair them.  But it didn't avoid
`repairing' RE chargeable items, which use the wear bar to represent
how much energy they have stored.  It would modify the wear bar without
actually affecting the charge, so the wear bar would jump back to the
correct place when the next charging or discharging event occurred.

To genericise, introduce a new item property, "wear_represents", which
indicates how the wear bar is used for this item.  Currently defined
values are "mechanical_wear" (straightforward damage to tools that
start out perfect), "technic_RE_charge" (electrical energy, canonically
represented in the meta rather than the wear bar), and "content_level"
(how full a container is).  For backcompat, nil is interpreted as
"mechanical_wear".  The tool workshop will only repair "mechanical_wear"
tools.  As a bonus, set_RE_wear() will only set the wear bar for
"technic_RE_charge" items: this means developers will notice if they
forget to declare wear_represents, but also means that with no further
changes it's possible to have an RE chargeable item that uses its wear
bar to represent something else.
2014-04-30 00:21:55 +01:00
Zefram
ca69473664 fix tube properties for injector
By relying on another no-longer-extant definition, the injector didn't
visually connect to the tube below it.
2014-04-30 00:21:36 +01:00
Zefram
1a94fdc601 fix groups for injector
The injector was in no groups, and therefore not breakable by ordinary
means.  This was because the code referred to a defined variable that
went away in the course of a rewrite of the chests code.
2014-04-30 00:21:13 +01:00
Zefram
70fb21ef36 Fix search for operating flashlight
Having a never-charged flashlight in the hotbar earlier than a charged
flashlight prevented the charged flashlight being found.
2014-04-27 14:43:31 -04:00
Zefram
5c59d97070 Fix discharge of flashlight and sonic screwdriver
These two tools wouldn't discharge all the way to zero through use,
unlike most chargeable items.

Incidentally remove a duplicate of the check_for_flashlight() function.
2014-04-27 14:43:31 -04:00
Zefram
db79675570 Fix flashlight's light generation
The flashlight was lighting the wrong node, 1 m east of the player's lower
half, thus getting no light if the player is adjacent to an eastern wall.
Restore the old 1 m above, that coincides with the player's hands.

There was a problem with light from the flashlight getting stuck in
the map.  This arises because the flashlight's light value was 15, the
reserved value that the engine uses for sunlight.  Moving the flashlight
upwards, by jumping while it is equipped, would cause the node below it to
acquire a bogus sunlit state.  Fix this by reducing the flashlight's light
value to 14 (LIGHT_MAX), which is the maximum permitted for non-sunlight.

The light_off node type is not required.  With the light value limited
to 14, mere removal of the light node suffices to correctly recalculate
lighting.
2014-04-27 14:43:31 -04:00
Zefram
60c75bce74 Fix flashlight light node declarations
The light and light_off node types should be not_in_creative_inventory,
and should drop nothing.
2014-04-27 14:43:31 -04:00
Zefram
f504178421 Fix drops for active machines
Active machine nodes need to drop their inactive counterpart.  Some were
missing that declaration.
2014-04-27 14:43:00 -04:00
Zefram
e748af927a Fix drill charge usage
The drills weren't taking the variable usage cost into account (either
the per-type base cost or the per-mode multiplier) when deciding whether
they have sufficient charge to use.  This could cause them to overshoot in
charge usage, although they would then clamp to zero rather than record
negative charge.  Also, for the Mk1 drill where the cost was assessed
correctly, the drill would refuse to discharge to exactly zero charge.
2014-04-27 14:43:00 -04:00
Zefram
04c6f5bea3 Improve message about drill control
The message to "hold shift" makes an unwarranted assumption about the
user's keybindings.  Messages from the server should refer to a key's
game function, rather than its extragame identity.
2014-04-27 14:42:59 -04:00
RealBadAngel
18cae761af The code to connect an electrical machine to cables would only consider
the first-seen tier for which the machine was registered.  So the
switching station, which is uniquely registered for all tiers, would
only visually connect to LV cable when placed, not to MV or HV cable.
(It would function nevertheless, and cable would connect to the switching
station if placed later.)  Change to consider all tiers.  Incidentally
avoid a gratuitous iteration through all registered machines.
2014-04-27 15:57:11 +02:00
asl97
628a18977b Add fir leaves to the chainsaw's timber_nodenames 2014-04-22 16:34:14 -04:00
Xanthin
39c41a06f4 Add german translations for all mods 2014-04-22 16:30:27 -04:00
Zefram
db20250371 Fix laser discharging
Commit a6dae893d66319739e8dfe962f67285221eb9b91 introduced per-version
charge cost for firing mining lasers, but applies this in addition to
the old fixed cost which it was meant to replace.  Fix by removing the
application of the fixed cost.

The same commit did successfully change the check for a laser having
sufficient charge to fire, so that's based purely on the variable cost.
As a consequence, firing a laser that has just enough charge to cover the
variable cost could cause its charge to go negative.  (For example, by
fully charging a Mk1 laser and then firing it until it empties, resulting
in a charge of -400.)  It turned out that set_RE_wear handled that badly,
producing an over-100% wear value that would wrap to a *low* wear value,
leading to the laser's wear bar looking as if it's fully charged.

To protect against silly wear values, make set_RE_wear clamp the wear
value to avoid wrapping.  Handle specially the case of a fully-discharged
tool, where there was desirable wrapping to zero.
2014-04-22 12:48:55 -04:00
Boba
44dbc75b61 Fix typo in frame and template motor recipes 2014-04-14 20:54:28 -04:00
Boba
061d1a3ab4 Fix crash when using the template tool 2014-04-14 20:52:57 -04:00
ShadowNinja
7dc21cec40 Fix steel ingot item name in laser Mk1 crafting recipe 2014-04-02 23:03:51 -04:00
Bryant Mairs
5dd09aeff4 Modify mining drill charges and power usage. Also fix bug with mk3 power usage. 2014-03-30 17:40:54 -04:00
Bryant Mairs
9ab5846d56 Make the charge stored by every battery box consistent with the input ingredients. 2014-03-30 17:40:54 -04:00
Bryant Mairs
1b7fa38082 Reduce the charge stored by each type of crystal. 2014-03-30 17:40:54 -04:00
Bryant Mairs
a6dae893d6 Modify the cost, range, and cost-per-shot of all 3 lasers. 2014-03-30 17:40:54 -04:00
Bryant Mairs
49052d6f4a Revised recipe for mk1 laser and added mk2 & mk3 laser recipes. 2014-03-30 17:40:54 -04:00
Tim
252156d653 Fix CNC steel block groups 2014-03-30 14:13:11 -04:00
Tim
8684fa1733 Fix constructor description 2014-03-30 14:13:04 -04:00
Tim
8a88812b8b Make marble, granite, bronze and stainless steel blocks CNC-millable 2014-03-30 14:12:34 -04:00
Tim
0201135231 Remove duplicate CNC registration of default:tree 2014-03-30 14:09:24 -04:00
Tim
8bdbe1e451 Fix steel block node name in the CNC 2014-03-30 14:08:56 -04:00
ShadowNinja
821fba9b02 Fix CNC power drain 2014-03-26 22:34:17 -04:00
ShadowNinja
187fd90a7c Make some headers smaller in the READMEs 2014-02-27 00:32:37 -05:00
ShadowNinja
2db9121bdb Update READMEs 2014-02-27 00:30:29 -05:00
Novatux
b28001e36f Infinite stacks fix 2014-01-18 13:29:06 +01:00
Novatux
e1c995f654 Actually call the mvps callback 2014-01-18 13:29:06 +01:00
Novatux
52e7014b7c Mesecons mvps support, better frames 2014-01-18 13:29:06 +01:00
Novatux
8c1be3b48e A few fixes 2014-01-18 13:29:06 +01:00
Novatux
8fba5e1140 Make those frames able to move 2014-01-18 13:29:06 +01:00
Novatux
68f7d34e1b First tests 2014-01-18 13:29:06 +01:00
Carter Kolwey
ebc114df71 Fixed music player 2014-01-11 12:30:10 -05:00
Vanessa Ezekowitz
dc324816db fix a few more tube-based recipes 2014-01-03 22:05:35 -05:00
Vanessa Ezekowitz
749df3b581 Fix all recipes that use pipeworks pneumatic tubes to follow latest changes
in pipeworks node namining conventions.
2014-01-01 23:27:51 -05:00
ShadowNinja
93b0d25cbc Use get_string for owner string 2013-12-29 10:59:04 -05:00
ShadowNinja
8e2cb0121b Fix mining drill digging in the wrong direction 2013-12-23 16:54:21 -05:00
ShadowNinja
2df417feb7 Localize generator fuel 2013-12-23 16:38:05 -05:00
Vanessa Ezekowitz
018b248d51 fix crash in constructor 2013-12-21 02:26:19 -05:00
Vanessa Ezekowitz
f3bba0aaac move inject_items to top of file (so that it's above the abm that calls it) 2013-12-18 20:41:08 -05:00
ShadowNinja
92db8e1f76 Remove config file creation
This made it difficult to change default settings
2013-12-17 20:01:01 -05:00
ShadowNinja
dd2962aba6 Rewrite flashlight 2013-12-17 19:57:24 -05:00
ShadowNinja
d8437faebc More global localiztions 2013-12-17 19:56:01 -05:00
ShadowNinja
c5d287f5f5 Make tube sending faster 2013-12-17 14:37:02 -05:00
ShadowNinja
64db3d14d8 Remove duplicate ABM 2013-12-17 14:24:06 -05:00
ShadowNinja
bab8517b2a Add protection support to tools
This adds support to the chainsaw, mining drill, mining laser,
sonic screwdriver, and tree tap.
2013-12-17 14:22:10 -05:00
ShadowNinja
5cf765b2f1 Localize most variables 2013-12-17 13:56:37 -05:00
ShadowNinja
0ea1bd1fa2 Fix music player
Sounds not included
2013-12-16 18:57:56 -05:00
Vanessa Ezekowitz
ae235ee8f3 more pipeworks API-change updates 2013-12-15 15:49:28 -05:00
Vanessa Ezekowitz
8ef3f20c3c adapt to changes in Pipeworks API 2013-12-15 15:03:41 -05:00
ShadowNinja
f3d8b47b20 Add support for minetest.swap_node 2013-12-10 20:14:39 -05:00
ShadowNinja
818a0e5ff0 Add protection support to the sonic screwdriver 2013-12-10 19:52:40 -05:00
ShadowNinja
47b0b59884 Generators don't send items 2013-12-03 15:30:09 -05:00
SmallJoker
7a3cd49597 Add pipeworks support to generators 2013-12-03 11:22:48 -05:00
Bryant Mairs
ef70cbfbf2 Fix lava can being able to hold 16 sources 2013-12-03 11:00:41 -05:00
Bryant Mairs
37acdc77f7 Move production percentage for geothermal generators to infotext 2013-12-03 10:57:16 -05:00
ShadowNinja
a35db449b3 Fix generators 2013-11-27 16:56:09 -05:00
ShadowNinja
354ee6f313 Add missing translations 2013-11-27 16:18:52 -05:00
ShadowNinja
0809dd747e Externalize common functions and protect inventories 2013-11-27 12:28:56 -05:00
ShadowNinja
76a8acbe5b Use upvalues in registrations 2013-11-26 16:53:52 -05:00
ShadowNinja
08db41ee4d Don't allow tubing items into LV machines 2013-11-26 16:33:27 -05:00
ShadowNinja
bde49aca61 Fix crash when quarrying a protected area 2013-11-18 15:27:17 -05:00
ShadowNinja
2d8ff45d9a Fix crash with invalid radius 2013-11-15 00:54:17 -05:00
Novatux
6d31965b36 Fix bug with translations. 2013-11-11 15:37:30 +01:00
Vanessa Ezekowitz
9bc99a5d04 fix chainsaw not working 2013-11-06 23:08:28 -05:00
Novatux
f6b1d075c2 Fix crash. 2013-11-02 15:44:55 +01:00
Novatux
5ed47abee6 Remove default bronze recipe. 2013-11-01 16:16:11 +01:00
pagliaccio
f64956be4d add italian translation 2013-10-31 15:53:14 -04:00
ShadowNinja
2d7c1d7252 Readd craft recipe for the Mk1 mining laser 2013-10-30 15:18:18 -04:00
HybridDog
f90915c408 Add Mk2 and Mk3 mining lasers 2013-10-30 15:09:31 -04:00
ShadowNinja
0a5e521f2d Fix comment 2013-10-30 13:50:24 -04:00
kaeza
6df3b87290 Add spanish translation 2013-10-30 13:48:39 -04:00
ShadowNinja
be2f30a1a2 Add support for translations via intllib 2013-10-30 13:48:39 -04:00
ShadowNinja
9aee83f921 Fix generator nodemane 2013-10-28 14:37:40 -04:00
ShadowNinja
cee65bdd2a Fix crash when entering a non-number for forcefield range 2013-10-27 14:39:45 -04:00
pagliaccio
704925aa7b Add MV and HV generators and make coal dust a fuel 2013-10-27 14:39:44 -04:00
Vanessa Ezekowitz
4a35d5dd98 fix typo 2013-10-26 07:14:35 -04:00
Novatux
76879424ae Add crafts for frames and templates. 2013-10-26 09:13:55 +02:00
RealBadAngel
2a54e00677 fix typo 2013-10-25 19:45:06 +02:00
Novatux
808d382867 Better tempaltes 2013-10-19 11:28:16 +02:00
ShadowNinja
eac4844175 Fix negative tool discharging and a few other tweaks...
Disable the flashlight by default.
Use itemstack:{get,set}_{metadata,name,wear,...} rather than {to,from}_table.
Improve the style of part of the code of mischelaneous tools
2013-10-18 22:28:32 -04:00
Novatux
66e4b5ede4 Remove remaining frames.addVect 2013-10-17 18:33:21 +02:00
Novatux
a73d568e58 Bugfix 2013-10-13 16:24:17 +02:00
Novatux
48d571bd90 Add drop to templates 2013-10-13 11:09:08 +02:00
Novatux
3cf0d331f0 Make template motors have an owner and check area protection 2013-10-13 10:34:58 +02:00
Novatux
c06cdf603e Add templates 2013-10-13 10:30:14 +02:00
ShadowNinja
363f033278 Disable wind mill by default because it isn't ready yet 2013-10-06 12:42:41 -04:00
Novatux
a579ee829a Make frame motors have an owner and check area protection 2013-10-06 14:20:13 +02:00
Novatux
468d79db61 Bugfixes with energy branch.
Conflicts:
	technic/machines/switching_station.lua
2013-10-04 10:50:51 -04:00
Novatux
12d29c2139 Forgot to update on cable add/destroy+use minetest.hash_node_position because else it did not work. 2013-10-04 10:49:06 -04:00
Novatux
f4ac2b8c1e Make power distribution more efficient.
Conflicts:
	technic/machines/register/cables.lua
2013-10-04 10:48:39 -04:00
ShadowNinja
90208930e5 Create technic config file if it doesn't exist 2013-10-03 16:33:07 -04:00
ShadowNinja
562d0db20c Remove item_drop from config.lua 2013-10-03 00:27:08 -04:00
ShadowNinja
bd3cc74d05 Don't consume items or drain power when there isn't room for the results 2013-09-24 17:09:20 -04:00