sorcery  Diff

Differences From Artifact [e661ef77a3]:

To Artifact [3776b1d392]:


   159    159   			end
   160    160   			return proto
   161    161   		end;
   162    162   		matprops = function(proto)
   163    163   			local matprops = {}
   164    164   			for k,v in pairs(proto) do
   165    165   				if sorcery.wands.materials[k] then
   166         -					local mp = sorcery.wands.materials[k].wandprops
          166  +					local mp = sorcery.wands.materials[k][v].wandprops
   167    167   					if mp then
   168    168   						matprops = sorcery.lib.tbl.deepmerge(matprops, mp,
   169         -							function(a,b,k)
          169  +							function(a,b,key)
   170    170   								if key == 'bond'
   171    171   									then return a+b
   172    172   									else return a*b
   173    173   								end
   174    174   							end)
   175    175   					end
   176    176   				end
................................................................................
   272    272   			angle = user:get_look_horizontal();
   273    273   			eyeheight = uprops.eye_height;
   274    274   		};
   275    275   		wearmult = 1;
   276    276   	}
   277    277   	local result = castfn(context)
   278    278   	if result ~= false then
   279         -		minetest.sound_play(sorcery.data.spells[spell].sound or "default_item_smoke", { --FIXME make own sounds
          279  +		minetest.sound_play(sorcery.data.spells[spell].sound or "sorcery_chime", { --FIXME make better sound
   280    280   			pos = user:get_pos();
   281    281   			gain = 0.8;
   282    282   		})
   283    283   		-- minetest.add_particle {
   284    284   		-- 	pos = vector.add(vector.add(user:get_pos(), vector.multiply(user:get_look_dir(),1.1)), {y=1.6,z=0,x=0});
   285    285   		-- 	velocity = user:get_velocity();
   286    286   		-- 	expirationtime = 0.5;
................................................................................
   378    378   		sunlight_propagates = true;
   379    379   		paramtype = 'light';
   380    380   		paramtype2 = 'facedir';
   381    381   		tiles = images;
   382    382   		selection_box = hitbox;
   383    383   		collision_box = hitbox;
   384    384   		after_dig_node = sorcery.lib.node.purge_container;
   385         -		use_texture_alpha = true;
          385  +		use_texture_alpha = 'blend';
   386    386   		on_construct = function(pos)
   387    387   			local meta = minetest.get_meta(pos)
   388    388   			local inv = meta:get_inventory()
   389    389   			inv:set_size('wand', 1)
   390    390   			update_stand_info(pos)
   391    391   		end;
   392    392   		_proto = {