From 22c953af6d2d0daf9171bcaa6a7bcbc133dede9b Mon Sep 17 00:00:00 2001 From: NPXcoot Date: Sat, 8 Oct 2016 14:50:27 +0200 Subject: [PATCH] New weapons --- nssm_materials.lua | 231 +++++++++++++++++++++++--- nssm_spears.lua | 116 ++++++++++++- textures/axe_of_pride.png | Bin 0 -> 911 bytes textures/death_scythe.png | Bin 0 -> 909 bytes textures/envious_moranga.png | Bin 0 -> 859 bytes textures/envious_soul_fragment.png | Bin 0 -> 959 bytes textures/gluttonous_moranga.png | Bin 0 -> 819 bytes textures/gluttonous_soul_fragment.png | Bin 0 -> 914 bytes textures/gratuitousness_battleaxe.png | Bin 0 -> 878 bytes textures/greedy_moranga.png | Bin 0 -> 839 bytes textures/greedy_soul_fragment.png | Bin 0 -> 939 bytes textures/lustful_moranga.png | Bin 0 -> 807 bytes textures/lustful_soul_fragment.png | Bin 0 -> 904 bytes textures/proud_moranga.png | Bin 0 -> 827 bytes textures/proud_soul_fragment.png | Bin 0 -> 968 bytes textures/slothful_moranga.png | Bin 0 -> 842 bytes textures/slothful_soul_fragment.png | Bin 0 -> 947 bytes textures/spear_of_peace.png | Bin 0 -> 943 bytes textures/sword_of_eagerness.png | Bin 0 -> 845 bytes textures/sword_of_envy.png | Bin 0 -> 866 bytes textures/sword_of_gluttony.png | Bin 0 -> 889 bytes textures/wrathful_moranga.png | Bin 0 -> 827 bytes textures/wrathful_soul_fragment.png | Bin 0 -> 913 bytes 23 files changed, 324 insertions(+), 23 deletions(-) create mode 100644 textures/axe_of_pride.png create mode 100644 textures/death_scythe.png create mode 100644 textures/envious_moranga.png create mode 100644 textures/envious_soul_fragment.png create mode 100644 textures/gluttonous_moranga.png create mode 100644 textures/gluttonous_soul_fragment.png create mode 100644 textures/gratuitousness_battleaxe.png create mode 100644 textures/greedy_moranga.png create mode 100644 textures/greedy_soul_fragment.png create mode 100644 textures/lustful_moranga.png create mode 100644 textures/lustful_soul_fragment.png create mode 100644 textures/proud_moranga.png create mode 100644 textures/proud_soul_fragment.png create mode 100644 textures/slothful_moranga.png create mode 100644 textures/slothful_soul_fragment.png create mode 100644 textures/spear_of_peace.png create mode 100644 textures/sword_of_eagerness.png create mode 100644 textures/sword_of_envy.png create mode 100644 textures/sword_of_gluttony.png create mode 100644 textures/wrathful_moranga.png create mode 100644 textures/wrathful_soul_fragment.png diff --git a/nssm_materials.lua b/nssm_materials.lua index 666b55d..0532245 100644 --- a/nssm_materials.lua +++ b/nssm_materials.lua @@ -49,6 +49,21 @@ nssm_register_noneatcraftitems ('wolf_fur','Wolf Fur') nssm_register_noneatcraftitems ('felucco_fur','Felucco Fur') nssm_register_noneatcraftitems ('felucco_horn','Felucco Horn') nssm_register_noneatcraftitems ('energy_globe','Energy Globe') +nssm_register_noneatcraftitems ('greedy_soul_fragment','Greedy Soul Fragment') +nssm_register_noneatcraftitems ('lustful_soul_fragment','Lustful Soul Fragment') +nssm_register_noneatcraftitems ('wrathful_soul_fragment','Wrathful Soul Fragment') +nssm_register_noneatcraftitems ('proud_soul_fragment','Proud Soul Fragment') +nssm_register_noneatcraftitems ('slothful_soul_fragment','Slothful Soul Fragment') +nssm_register_noneatcraftitems ('envious_soul_fragment','Envious Soul Fragment') +nssm_register_noneatcraftitems ('gluttonous_soul_fragment','Gluttonous Soul Fragment') +nssm_register_noneatcraftitems ('gluttonous_moranga','Gluttonous Moranga') +nssm_register_noneatcraftitems ('envious_moranga','Envious Moranga') +nssm_register_noneatcraftitems ('proud_moranga','Proud Moranga') +nssm_register_noneatcraftitems ('slothful_moranga','Slothful Moranga') +nssm_register_noneatcraftitems ('lustful_moranga','Lustful Moranga') +nssm_register_noneatcraftitems ('wrathful_moranga','Wrathful Moranga') +nssm_register_noneatcraftitems ('greedy_moranga','Greedy Moranga') + function nssm_register_eatcraftitems (name, descr, gnam) @@ -190,6 +205,22 @@ minetest.register_node("nssm:ant_dirt", { groups = {crumbly=3}, }) +minetest.register_node("nssm:invisible_light", { + description = "Invisible light source", + tiles = {"transparent.png"}, + paramtype = "light", + drawtype = "airlike", + walkable = false, + sunlight_propagates = true, + pointable = false, + diggable = false, + buildable_to = true, + is_ground_content = false, + groups = {unbreakable=1}, + drop = "", + light_source = 15, +}) + minetest.register_node("nssm:venomous_gas", { description = "Venomous Gas", inventory_image = minetest.inventorycube("venomous_gas.png"), @@ -466,22 +497,6 @@ minetest.register_node("nssm:rope", { groups = {snappy=1}, }) -minetest.register_node("nssm:invisible_light", { - description = "Invisible light source", - tiles = {"transparent.png"}, - paramtype = "light", - drawtype = "airlike", - walkable = false, - sunlight_propagates = true, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - groups = {unbreakable=1}, - drop = "", - light_source = 15, -}) - minetest.register_tool("nssm:stoneater_pick", { description = "Stoneater Pickaxe", inventory_image = "stoneater_pick.png", @@ -522,6 +537,96 @@ minetest.register_tool("nssm:ant_sword", { }, }) +minetest.register_tool("nssm:axe_of_pride", { + description = "Axe of Pride", + inventory_image = "axe_of_pride.png", + wield_scale= {x=2,y=2,z=1.5}, + tool_capabilities = { + full_punch_interval =1.3 , + max_drop_level=1, + groupcaps={ + snappy={times={[1]=0.6, [2]=0.5, [3]=0.4}, uses=100, maxlevel=1}, + fleshy={times={[2]=0.8, [3]=0.4}, uses=400, maxlevel=1} + }, + damage_groups = {fleshy=16}, + }, +}) + +minetest.register_tool("nssm:gratuitousness_battleaxe", { + description = "Gratuittousness Battleaxe", + inventory_image = "gratuitousness_battleaxe.png", + wield_scale= {x=2.2,y=2.2,z=1.5}, + tool_capabilities = { + full_punch_interval =1.6 , + max_drop_level=1, + groupcaps={ + snappy={times={[1]=0.6, [2]=0.5, [3]=0.4}, uses=100, maxlevel=1}, + fleshy={times={[2]=0.8, [3]=0.4}, uses=400, maxlevel=1} + }, + damage_groups = {fleshy=18}, + }, +}) + +minetest.register_tool("nssm:sword_of_eagerness", { + description = "Sword of Eagerness", + inventory_image = "sword_of_eagerness.png", + wield_scale= {x=2,y=2,z=1}, + tool_capabilities = { + full_punch_interval =0.7 , + max_drop_level=1, + groupcaps={ + snappy={times={[1]=0.6, [2]=0.5, [3]=0.4}, uses=100, maxlevel=1}, + fleshy={times={[2]=0.8, [3]=0.4}, uses=400, maxlevel=1} + }, + damage_groups = {fleshy=14}, + }, +}) + +minetest.register_tool("nssm:sword_of_envy", { + description = "Sword of Envy", + inventory_image = "sword_of_envy.png", + wield_scale= {x=2,y=2,z=1}, + tool_capabilities = { + full_punch_interval =0.9 , + max_drop_level=1, + groupcaps={ + snappy={times={[1]=0.6, [2]=0.5, [3]=0.4}, uses=100, maxlevel=1}, + fleshy={times={[2]=0.5, [3]=0.2}, uses=400, maxlevel=1} + }, + damage_groups = {fleshy=14}, + }, +}) + +minetest.register_tool("nssm:sword_of_gluttony", { + description = "Sword of Gluttony", + inventory_image = "sword_of_gluttony.png", + wield_scale= {x=2,y=2,z=1}, + tool_capabilities = { + full_punch_interval =1 , + max_drop_level=1, + groupcaps={ + snappy={times={[1]=0.9, [2]=0.7, [3]=0.4}, uses=100, maxlevel=1}, + fleshy={times={[2]=0.6, [3]=0.2}, uses=400, maxlevel=1} + }, + damage_groups = {fleshy=14}, + }, +}) + +minetest.register_tool("nssm:death_scythe", { + description = "Death Scythe", + wield_scale= {x=3,y=3,z=1.3}, + inventory_image = "death_scythe.png", + tool_capabilities = { + full_punch_interval =0.2 , + max_drop_level=1, + groupcaps={ + snappy={times={[1]=0.1, [2]=0.1, [3]=0.1}, uses=28000, maxlevel=1}, + fleshy={times={[2]=0.1, [3]=0.1}, uses=28000, maxlevel=1} + }, + damage_groups = {fleshy=28}, + }, +}) + --recipes minetest.register_craft({ @@ -772,6 +877,69 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = 'nssm:axe_of_pride', + recipe = { + {'nssm:proud_moranga', 'nssm:proud_moranga', 'nssm:proud_moranga'}, + {'nssm:proud_moranga', 'nssb:moranga_ingot', ''}, + {'', 'nssb:moranga_ingot', ''}, + } +}) + +minetest.register_craft({ + output = 'nssm:gratuitnousness_battleaxe', + recipe = { + {'nssm:greedy_moranga', 'nssm:greedy_moranga', 'nssm:greedy_moranga'}, + {'nssm:greedy_moranga', 'nssb:moranga_ingot', 'nssm:greedy_moranga'}, + {'', 'nssb:moranga_ingot', ''}, + } +}) + +minetest.register_craft({ + output = 'nssm:sword_of_envy', + recipe = { + {'', 'nssm:envious_moranga', ''}, + {'', 'nssm:envious_moranga', ''}, + {'', 'nssb:moranga_ingot', ''}, + } +}) + +minetest.register_craft({ + output = 'nssm:sword_of_eagerness', + recipe = { + {'', 'nssm:slothful_moranga', ''}, + {'', 'nssm:slothful_moranga', ''}, + {'', 'nssb:moranga_ingot', ''}, + } +}) + +minetest.register_craft({ + output = 'nssm:sword_of_gluttony', + recipe = { + {'nssm:gluttonous_moranga', 'nssm:gluttonous_moranga', 'nssm:gluttonous_moranga'}, + {'', 'nssm:gluttonous_moranga', ''}, + {'', 'nssb:moranga_ingot', ''}, + } +}) + +function nssm_register_moranga (viz) +minetest.register_craft({ + output = 'nssm:'.. viz ..'_moranga', + recipe = { + {'nssm:'.. viz ..'_soul_fragment', 'nssb:moranga_ingot', 'nssm:'.. viz ..'_soul_fragment'}, + {'nssb:moranga_ingot', 'nssm:'.. viz ..'_soul_fragment', 'nssb:moranga_ingot'}, + {'nssm:'.. viz ..'_soul_fragment', 'nssb:moranga_ingot', 'nssm:'.. viz ..'_soul_fragment'}, + } +}) +end +nssm_register_moranga ("lustful") +nssm_register_moranga ("greedy") +nssm_register_moranga ("slothful") +nssm_register_moranga ("wrathful") +nssm_register_moranga ("gluttonous") +nssm_register_moranga ("envious") +nssm_register_moranga ("proud") + --Eggs function nssm_register_egg (name, descr) @@ -922,10 +1090,12 @@ minetest.register_abm({ }) --Eggs recipes + + minetest.register_craft({ output = 'nssm:duck_egg', recipe = { - {'', 'nssm_duck_beak', ''}, + {'', 'nssm:duck_beak', ''}, {'nssm:duck_feather', 'nssm:energy_globe', 'nssm:duck_feather'}, {'nssm:duck_legs', 'nssm:duck_feather', 'nssm:duck_legs'}, } @@ -934,7 +1104,7 @@ minetest.register_craft({ minetest.register_craft({ output = 'nssm:flying_duck_egg', recipe = { - {'nssm:duck_feather', 'nssm_duck_beak', 'nssm:duck_feather'}, + {'nssm:duck_feather', 'nssm:duck_beak', 'nssm:duck_feather'}, {'nssm:duck_feather', 'nssm:energy_globe', 'nssm:duck_feather'}, {'nssm:duck_legs', 'nssm:duck_feather', 'nssm:duck_legs'}, } @@ -943,7 +1113,7 @@ minetest.register_craft({ minetest.register_craft({ output = 'nssm:enderduck_egg', recipe = { - {'nssm:black_duck_feather', 'nssm_duck_beak', 'nssm:black_duck_feather'}, + {'nssm:black_duck_feather', 'nssm:duck_beak', 'nssm:black_duck_feather'}, {'nssm:duck_legs', 'nssm:energy_globe', 'nssm:duck_legs'}, {'nssm:duck_legs', '', 'nssm:duck_legs'}, } @@ -952,7 +1122,7 @@ minetest.register_craft({ minetest.register_craft({ output = 'nssm:swimming_duck_egg', recipe = { - {'nssm:duck_feather', 'nssm_duck_beak', 'nssm:duck_feather'}, + {'nssm:duck_feather', 'nssm:duck_beak', 'nssm:duck_feather'}, {'nssm:duck_legs', 'nssm:energy_globe', 'nssm:duck_legs'}, {'nssm:duck_feather', 'nssm:duck_feather', 'nssm:duck_feather'}, } @@ -961,8 +1131,27 @@ minetest.register_craft({ minetest.register_craft({ output = 'nssm:spiderduck_egg', recipe = { - {'nssm:duck_legs', 'nssm_duck_beak', 'nssm:duck_legs'}, + {'nssm:duck_legs', 'nssm:duck_beak', 'nssm:duck_legs'}, {'nssm:black_duck_feather', 'nssm:energy_globe', 'nssm:black_duck_feather'}, {'nssm:duck_legs', 'nssm:black_duck_feather', 'nssm:duck_legs'}, } }) + +minetest.register_craft({ + output = 'nssm:duckking_egg', + recipe = { + {'', 'nssm:helmet_crown', ''}, + {'nssm:duck_feather', 'nssm:duck_beak', 'nssm:duck_feather'}, + {'nssm:duck_legs', 'nssm:superior_energy_globe', 'nssm:duck_legs'}, + } +}) + +minetest.register_craft({ + output = 'nssm:bloco_egg', + recipe = { + {'nssm:bloco_skin', 'nssm:bloco_skin', 'nssm:bloco_skin'}, + {'nssm:bloco_skin', 'nssm:energy_globe', 'nssm:bloco_skin'}, + {'nssm:bloco_skin', 'nssm:bloco_skin', 'nssm:bloco_skin'}, + } +}) + diff --git a/nssm_spears.lua b/nssm_spears.lua index 48842f6..0f4e70a 100644 --- a/nssm_spears.lua +++ b/nssm_spears.lua @@ -5,9 +5,14 @@ function spears_shot (itemstack, player) local playerpos = player:getpos() local obj = minetest.add_entity({x=playerpos.x,y=playerpos.y+1.5,z=playerpos.z}, spear) local dir = player:get_look_dir() - local sp = 16 + if spear == "nssm:spear_of_peace_entity" then + sp = 32 + gravity = 9.8 + else + sp = 16 + gravity = 9.8 + end local dr = .3 - local gravity = 9.8 obj:setvelocity({x=dir.x*sp, y=dir.y*sp, z=dir.z*sp}) obj:setacceleration({x=-dir.x*dr, y=-gravity, z=-dir.z*dr}) obj:setyaw(player:get_look_yaw()+math.pi) @@ -16,6 +21,7 @@ function spears_shot (itemstack, player) return true end + function spears_set_entity(kind, eq, toughness) local SPEAR_ENTITY={ physical = false, @@ -144,3 +150,109 @@ spears_register_spear('little_ice_tooth', 'Little Ice Tooth', 7, 10, 'nssm:littl spears_register_spear('duck_beak', 'Duck Beak', 5, 6, 'nssm:duck_beak') spears_register_spear('felucco_horn', 'Felucco Horn', 7, 9, 'nssm:felucco_horn') + + +--Spear of peace + minetest.register_tool("nssm:spear_of_peace", { + description = "Spear of Peace", + wield_image = "spear_of_peace.png", + inventory_image = "spear_of_peace.png^[transform4", + wield_scale= {x=4,y=2,z=2}, + on_drop = function(itemstack, user, pointed_thing) + spears_shot(itemstack, user) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + end, + on_place = function(itemstack, user, pointed_thing) + minetest.add_item(pointed_thing.above, itemstack) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + return itemstack + end, + tool_capabilities = { + full_punch_interval = 0.7, + max_drop_level=1, + groupcaps={ + snappy = {times={[3]=0.2, [2]=0.2, [1]=0.2}, uses=500, maxlevel=1}, + }, + damage_groups = {fleshy=12}, + } + }) + + function spears_set_sentity(kind, eq, toughness) + local SUPERSPEAR_ENTITY={ + physical = false, + timer=0, + visual = "wielditem", + visual_size = {x=0.15, y=0.1}, + textures = {"nssm:spear_" .. kind}, + lastpos={}, + collisionbox = {0,0,0,0,0,0}, + on_punch = function(self, puncher) + if puncher then + if puncher:is_player() then + local stack = {name='nssm:spear_' .. kind, wear=self.wear+65535/toughness} + local inv = puncher:get_inventory() + if inv:room_for_item("main", stack) then + inv:add_item("main", stack) + self.object:remove() + end + end + end + end, + } + + SUPERSPEAR_ENTITY.on_step = function(self, dtime) + self.timer=self.timer+dtime + local pos = self.object:getpos() + local node = minetest.get_node(pos) + if not self.wear then + self.object:remove() + return + end + if self.lastpos.x~=nil then + if node.name ~= "air" and not (string.find(node.name, 'grass') and not string.find(node.name, 'dirt')) and not string.find(node.name, 'flowers:') and not string.find(node.name, 'farming:') then + self.object:remove() + if self.wear+65535/toughness < 65535 then + minetest.add_item(self.lastpos, {name='nssm:spear_' .. kind, wear=self.wear+65535/toughness}) + end + elseif self.timer>0.2 then + local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 1) + for k, obj in pairs(objs) do + if obj:get_luaentity() ~= nil then + if obj:get_luaentity().name ~= "nssm:spear_" .. kind .. "_entity" and obj:get_luaentity().name ~= "__builtin:item" then + local speed = vector.length(self.object:getvelocity()) + minetest.chat_send_all(speed) + local damage = (speed + eq)^1.12-20 + obj:punch(self.object, 1.0, { + full_punch_interval=1.0, + damage_groups={fleshy=damage}, + }, nil) + self.object:remove() + if self.wear+65535/toughness < 65535 then + minetest.add_item(self.lastpos, {name='nssm:spear_' .. kind, wear=self.wear+65535/toughness}) + end + end + end + end + end + end + self.lastpos={x=pos.x, y=pos.y, z=pos.z} + end + return SUPERSPEAR_ENTITY +end + + SUPERSPEAR_ENTITY=spears_set_sentity("of_peace", 10, 500) + + minetest.register_entity("nssm:spear_of_peace_entity", SUPERSPEAR_ENTITY) + + minetest.register_craft({ + output = 'nssm:spear_of_peace', + recipe = { + {'nssm:wrathful_moranga', 'group:wood', 'group:wood'}, + } + }) + \ No newline at end of file diff --git a/textures/axe_of_pride.png b/textures/axe_of_pride.png new file mode 100644 index 0000000000000000000000000000000000000000..b34ea694d0b7eaed43ad3551472607d7bd3c5756 GIT binary patch literal 911 zcmV;A191F_P)wEPkZ+>~+ z=XnJGGY9CA)&2G8tVri!^@NwA1;spw>QPlyEX$(1yBm+k!%vBq=neiT>!@QdL6%v< zg&TMHnz;5*1K`jp2lm5tb$Gm9W-1jXCMJ0H<^Yb~%k%~>$p$oh`0?QfV3{S_?hngB z*14`;5e^mXJ$^sMNQAzF2T3NA7{#k3-bl&@G}`GT!#V*%09;qEaMT(Cz)g-{&w`NO ze#FA(r#QDb%AEZhbhA@75+*>103lXL0dP@0k6-s==1rb|r!2l7%iwVc#J~N|Fm~%0 z$-+1``*Bvc@5)BPY_ho%@YgT5}H=Sxobp=#Z_A9is8f442-vWcBT? zY&S04JAuw|3(w##K|CHu#^bc8f=GLi^Ab)c0_dtP!@jWeXdcc!DZ4rH~EN;KI3xLYFi>~&0F?l#8V(JUx71x(2 zu~>}b&2ORAfNF#6nkDsm9W!szH>`-8Z7P+mEK0qL4I|6@{TW(*KFN!YBNUP;lyj+H z*jg*FSkQP-)^?PgZbiI2n&HAo8h{NWi`xmQ91J&y+&9x}@LoNmj9RRY)*Mylj z*^42>+A5#!4+8M@*~k8GEW>wy!T5zNspsCsmo^Z(ssl*B?#I|PD3wd1!EBs@`XYbdxx-h}(?o0n5p9mjw2`J%E{T7}qAYEjg!adI^Ku&R?hszDm)Mp?c5Q_p lau!olQ?vo=KvP#2{{cxTH!e{fD)m8qygVwFV039h9tsimbQ zLZJ{VD=Pq;ez#5T+`NT+QdC5$q=fBz_p<18;*I=8{6>)B;!g6@hX6>{%yY1`k)g=1 zYG!7J!NEZQK0kFzL|wVS&~L;zGEz==>9iVQBv zA@Y0*fD9P`tYXE$Nq_350yt`Kl^+kAG^A2!fj}U;1;A8mS-f$9pk;Bh(Js2^kVw$h z)`q5O8Xr$Kajme2+44zrEadAiVTc2O`{^MyoccupykTpU%2&p@SbLX_(fu6ue2eDy z`)S$s4!N6kN+0cGleU@bc>`FnaW6fPg^GWlZeqNe;{Nw}-PSxk3J1ILn!M z2iS2G`c1f?ZN@FxXO zT~#j4M!UGRO;`)U0E~sB?5xj@+QB-36o#`Qde85dKU9j{(+7wt zlVtu~3Oycd)5kg3kwG^Mw$A;Iaqj^ZB$>s*UAyGS+*uM&sYf#Sy;Zz)buo$Zr`Rv7i1&8wT2#8XZ8H2400000NkvXXu0mjfU*Meo literal 0 HcmV?d00001 diff --git a/textures/envious_moranga.png b/textures/envious_moranga.png new file mode 100644 index 0000000000000000000000000000000000000000..e4abfa541d4720f7269f59b52b3f2e972494db3b GIT binary patch literal 859 zcmV-h1ElbhcLiGM(lD=ydOyz{xc_c^`TpI$`JfddE5 z`JTf$-}8n4VI6ja4krS@>E102?A#2%kw@$QU7VKxZgghPD|jw=(P;;e^{&f!7?KMD z01mkDglF@~oigWD0r1_70)*s*5JE8+4XFyi)EdLhAYk##l&d9(7(;Oe=(`!M^SkId zk>|C;wi=UBLkK`z1Z!8L&844(`>LdYM`96PA6u!!;34lhI^RBo?c}Fd=*v=DGsT}1 z=#CHayuWiw_%Ue!Xc6JyfTO;f(S~?d4-PoGzu(r!>kiL(+> z2CKO#ihpi}4g-bVZPeDltH+NrKB}DQ%L3z!6>|W@?1!0OD^$V>qE;P^zo0UEr1@1X zYPlV0Sc;AfICrxMaaDXT8!bIDhkw#Fa>m`q18`ik7XjP5n;Iq3xG8d!RqN>&4dn-ipBV$$7i_s7uK~Hhyc@K+Solr lC9E(!Bd+*NrnJ0?zX8t{8_^9$g-`$h002ovPDHLkV1o7TmjwU- literal 0 HcmV?d00001 diff --git a/textures/envious_soul_fragment.png b/textures/envious_soul_fragment.png new file mode 100644 index 0000000000000000000000000000000000000000..efb51edf24602ec71d48194672e8b016a40ccd5b GIT binary patch literal 959 zcmV;w13>(VP)kpUN%oVKV zNE2%`M`I)BrGHo!%i(BkED1M%#bl0^%niCsD+^>`^6QSf?hd$5e|(p2J=^o=>;1f+ zz2CzB#_4q8a=8!@0F+X+RhN_0nq!e9Z`76|HV2#ce?nW?3gkbqva%Ad*GuCUS9B@? z<9}#&9jX=T>ga#3LjyRMt!1clgA88oXF6)|-PubR>m3e!m6cqWpQom#hC*)&M_aAj z{2|PV)=N6a^CK7Dc}DKeOi{aiK#va zbm_xScx3%YlNzA&V1c~QIIep?EtR7DYz#|^it4Aa|2>Q7FIxz|IH>#j`Ut(UOd1Nk zEbjeFFQm-Zva$t>0kNp2>*IX!x^r3g+Rys&dJCsN2#OIo+0B)bFz13xvhDMvhEeu! zTabMrt4<{#GNZ}y2rWk+5y!z1t<)r+y}2Np{t#qMFvG5p6M`w_~+T&H*U0j5}ruIuM|B&sCjHL&kC#`%MFoPMZQ&8`$jN$P}C| zVQNy-{LOQ+DV4$q1OoT2I5LI!JojLw?u(=n02-yhVgQK*ukP4^p_JmQ_Mi0IFD=Tm z*?xje!`fXS%uZ<*Q?RsX0v5v*T0B}NFWVxVJakcSnM;cD`~CQ<>dDTv(D44S&dL_v zZORj?&4lb3=C-!YAwbJ=mkG9$P{2`3zCUQ#ttePD*dbMxort?xsm2Xv!)Fnsv9XbBM~)Crr|EC0DW` zK~y-)jg!x7RA&^1pYzR~nR{n4-bk7z2Ba|}wrDLenAYINkSL^3Ats=RU_o$Et+Xrs z3))Q_q@FD zz#G(LKF4Gs2fz=<5Ayxd0|3ly===Y2zr0>(_RB+5Jg5{`8bHQ8j~CWbjUoU}dhl)~ z&)Fv_S5*PH8 zumE(6;C%jGo;x>$m#Xvw@3=WWtAC)l@K$9vN#kptKf4J)hkuf?COmDTuHNK#O+|j| zF>HTq84=-;>u8-px;jQln=?dK>0JHQzZopQyn;k?6w05{Xx--S);l6P?$P<{`wGz2 zF$zH3oWTJ3$_W7KK^1^i_A;p|NntOU4T#bj@+zdx(gg7vVerZhkEQ znQdZQvlxLaKd~aHxFRIQy@ZX^WD1TzW~NEUHYQg5-fqmrb1>A&!r~*$fQwnPXB|4`0r2wHVA^zs!ZhkLg(g(W^Tlyv;|W%NU@hN(MYB8XPQ*2u6&dp^5^1A|$|6KkW2- zK<{m5vRr08&<_j%^>4cI3ja~1=ZE;?NQF%zY!hL#2&;i@Il(!0W{9TVVvXza%Q2sY x;5p8s3nIV@OcVQVk=cxeHeB89NxXRr{{XG-BhFVIV%z`#002ovPDHLkV1h3=ZDRlc literal 0 HcmV?d00001 diff --git a/textures/gluttonous_soul_fragment.png b/textures/gluttonous_soul_fragment.png new file mode 100644 index 0000000000000000000000000000000000000000..6662dd8c67c992bd1e93c1dc514c1df8eb11be57 GIT binary patch literal 914 zcmV;D18w|?P)K$7$6bjq6aVF#lxltFU&+^ z%(8e=ypf=2OfcRwZXqUY$s*e_jMIrs#yZ3d#-DTu9cx!;q3!FTl$broH}CsC&-*@) z@EFR=%c-iWLPP*C#?ar~NJf<}6B*uVYe4q6>Hhe0`VaV!;$SEg!t3>txp`f;^GY(C zBYNanp}n2wzaCHkpUa~2%=>cv+EwC7i=QrD#yakH69|R)`Oza#4DAxxXY!WTxNL%5uZc+v|G>ohCQa#_q_S!KYVMvcr?X-NRF&lNMx4<*p>W$hzNNt z^lau71CUPB+uMsV#&Bf%Po1vKNp&bJmIy9~*$q-w3%@Ah?Y5wd9jlh`_?UK73}RYZ zT6m_^Nm-?Xwdj=E2If80Vx+)q8^K|OSSBj~L%+>v{l$~ixoy&aFJeAhyhJLegr*%j z+jCT+KXynUeqZfkly|b~b6NUnxI%_czAE9eGb$pO{Z5SaLIvl#U2^cH4xur?yQde( z2e?IDIL>=*%tcY&;}I zM*xf}Cqjqiic|EDxdhkd_R?JE;`Sg|NQU=L*es_KEGCn9ofZ>!qv|xmY-hKS&(l6O zstIv}~k! o5L@P4BE`ta2ti;4@HaQ}9~Iy|e}^tdYXATM07*qoM6N<$g4U9t^WS*4f#K`^CCCHV1?JS*ph%( z_ZFsUqCRVCq7sP^?&!eu`Pe+2;k~a;3;A_z?gO*XdbE*9ID~EA=bu7V^~d8N-yi4B z?gjemJ|G$hAO_TQMGTM>$VH@OXQK>$)F<69G>fEacX>pWx?4H=*M73)W4PRX0Gwa_ zfo{($lv&|&>Nc?fkE|vCb}$V-APm%lwlVwwfbX_zOh0oIUDdJA^BVp}o!^Zju>p@H z6J6wH=N$NHAOvi1=Ar;37UPYHW`rt!6<{%F^7ExE9ld#pghLK|%2XS@W$+_xSbI9q zVzC$ic6HI2nJl56Tcx8nFUdrgqkYO$mMu_UORmA!GGofEX&Q$oUuAUlW0X=vqfzv1 zNs@^!3}b=|LvyN9S^rmS@TK0XD*nk4+-+@b^p)O5DFuM;DoOnLb_`>JvnTE;@L}0P z!?sP}&qDz4T~*wvr<~294dwn|rBLR5-ykhJ8zq_OB9ocn!qA-ZczjeUD*#MQE&!<8 zSDsQI2Cm^%UbJmq)Ppbf;!aP~dR>!ecWtLoDAu$c(6SwCt0WX31~~W2A}0?V;@ppE z-b_xSWcn>yU;g!R&zHy2s+7_ng8=CnVeUU6KQHXs^eHY~XG`t|dTJcCrfnD#Ft1c1 zH^{tQ6LJbd-oop$@+Dl4LS7{6BtAT|d5uyQ@oV zZI01@W|rWVtptNX+E$ja3jcE6US?!ugdKnhG_|zw2t5v7_2lM>-T(jq07*qoM6N<$ Eg4BVSrT_o{ literal 0 HcmV?d00001 diff --git a/textures/greedy_moranga.png b/textures/greedy_moranga.png new file mode 100644 index 0000000000000000000000000000000000000000..b2aa403a8c7af32f8d49c8b91c84a00f1d063260 GIT binary patch literal 839 zcmV-N1GxN&P)}z*HNw(iq~`Tf%>;)B|&@03YQRD;CU-uHn+BDYE%t3Pt$fNDtLj6FkbJ zL&xsWxOH5(5jOxdi!jn}sbeR#A=aydeGwh(i|FgMscDZz*Xl^WrLWG~qK=)^zgJcv z+GaEJ+8YW`UDXP}K<;O1_I%%pg-snpx4z>D?#k zJh+M(_7VV|jNJyn3cUtE$ynAR309R5!0I=t~_A>99=sF$gw>05&Pjesai)g~>*7%GKS`%HT*HRIk zy2|%WpxJpm*dHR;xOH3{JEO~YHZgQ`01#UDyp3CUKt&jQ9ivcuh!NR2Pfo5pZrMIF73ub`zC(r4mi&LuF3^>fkHHUREd zDox`z#Vcm8!e!9hSXycTSCwyn$)B_Db?ozLdNUldvqVZg;rr{!8!=3q*jjnBM9hrsS8nJ1MT%WTddDiDzuoC_+TD Rcme={`rR_6O(he%~cfG?Wii#B**1qM@ z@k!=q`4ZiEMQ_SIfvTvez*td7PM(eS-TgW{1N;Z`#jvHKr#n(t)fg9m+PYu$s_vJu z=iN_iXare!+K=q>>FJwa;{B>z*kUq#t6R^f literal 0 HcmV?d00001 diff --git a/textures/lustful_moranga.png b/textures/lustful_moranga.png new file mode 100644 index 0000000000000000000000000000000000000000..6bc59fd0d2e3fc7b3a3f1d0ac538ced720b0516d GIT binary patch literal 807 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 VOlSetwj}@n002ovPDHLkV1kjwxWNDb literal 0 HcmV?d00001 diff --git a/textures/spear_of_peace.png b/textures/spear_of_peace.png new file mode 100644 index 0000000000000000000000000000000000000000..239bcb0e6a0fda74c6b44e4f04b867ee1885b1b0 GIT binary patch literal 943 zcmV;g15o^lP)EBinGhV=->s#_a4Sj7V$MWyO(9hG_$d4;W)` z;Xz|`5RG8es3Zn`FhnH4LgK$f22)=c3(JN<&~(<~P}V_VcPoNxE@kcKL*t(}&*MqX zNlwl=LVk_pGO!Fm3UYIR1_0JK`Clj`00Wppas_EU2#Zay@!Z3hKl$nH?Ikq`#s;i^j zBZ1f%}o0nro!4>&Shp=u#g?9n8u zrqekwR@6q+cAbtRiX4683eHkHL3J~BQN*v+6CA2l0MORlLxe&hPO2(Br<{Cs_b34Q zy>7OS)k^=h35H}PXSdr#&-=|RH#{uLI|vj`G)*DK$5EouD3~S|VPT7Xd%+-+=6HBo zjFx!mWro&|7Nuyu%c8sk!0r4k0DL|l;@0U6y#8c>XWI|*;Wd-}eM{ssX%vSWQCH7X zhjP+CHNlWpiLvAm@pv35B`+4g#c1OfC}twb2K6zjM|QG%(;UV^L7dN|;kTfm_StQanCpij)u zQd=f>I$k1^GI=}s9ZJdU0?E!7*!yvsqcJ!&{qN56nKUw+L1r_Y?D<3dSht?2d7Vqu zM`Zh!W~^OqM9f=;>3@(L6+UvN$<=dvSgk>MF+AY;&uJWPl)*G1UxW1i8DmndVdTVm zA=X(0mvfS5fkd3o?vO0<;>SM0;8Aw%;qhSW+#V`C$~ zU%ZG1_yy?h?k21`ahH~J!QsR(42&B|4sTmUa%!CWY%V%qnWU_Jt?Zn;z+aqnH19vL R!KVNK002ovPDHLkV1oF+tGB z>_HI}MC!|AipX9jY_NgbWrL18N9#Wj=GG^B$Q&+CX)-rAN3mFB zbaWJemX;Q=Z5!8h35UZdySA44P>Ad0GDAZ{Y`NM)pz|{0c|jGTUvv84YHp|4s zgxI!CDwU$CsR`G0so5S5GvD0Io7=XLOeV?A|44DLi;>6~Rxj9<>DqmaEyAwrQmy@+ zoys@z`4JjMPV@B-!~AsX9FdtEzh-k3r!4->O|dZjAHRFQEtzAn7_RH0wN|TITT%J0 zO&q(qk7VgMzMB02TzT{rU4geLQ6L*hEiXm<%nYGpmU~lj}zJJSO&-^?_JRS#N zru+~9PiB|k|C<5&%!Bxp4@xBl1_q#`qk~Va(};*va~>QVl&5R;uXG0zoY>jMU-lY~ zSSNWnybB{1i?M(0`zTe}Mr*yy+#N_zedW&W%|w1a#IC>|O35_Fne;CdCQBSzaa1i% zfa5sNzyLjg1pU$LeE30;kLw;2R6&fjL5!L=USxaUX1*w#lHT54wAKJrki)3yeGPRXBO-$1IKW~uBCNwo}9hA$QbrWp$?_gH)OdhzzxYk@8 z9;Vr+P$D8qDLPG4T|2RrKOfD~*czw*@&iH*jf6rWVg--s$qBB^csP#3dLRS59F6h> XL#H6O&_4ac*iUr-rK;`>CEY zyQkRsUKYQ7Y5{8@5FMcq%c4=neV_jRes2G!3+>JW)XKNOs!-}!OKxBSfM>MIf3RkP z+O~W-rPZrxPb5gE)8tBr>5d#_)2;}^pWcBs{3S~|;PJ7mar4EELV4}=Cwa6m#Q575 z`}gdjd;2lE9&TdfIg75FF9D0=q28=GJ2!_YbgrfM=tHF4J_71i07i-*)2Tg(i$l#z zr?0|?-*kj++W;t$8_NKE*r4!h{RD;x(WPz1j2nyMq2BBQmhU`<0FbS%G*}nuIXlf* z_-SUNGZ;^#7R3M?^=*89pUs9+2_=z85W6rb?LtxRs*B0>&fZ1w;M_dkVr(ZM0^qtN zlS#yNwJ|DQS!%i=JkOK5rn2q9wl5w&mooW8iRMg-@(hD9YN9c zAYn5sR8_$+G!ZsKI4*>Zd3;FM7Vwo^p65HW)F0Ww-P#7+bOvSemI#Bh6Wo6(NjO%P zict7DrE&5Lg?nGkihVuP09?uCsWu>E!OkTfy3kQp>L}_xRkUqc$G5kBAf0RwX31@BY;V7(54k`|@P&dY0I94zZ%9S_V}WC7=+FRycn=EBwAHRt-5zC@W@jPD!)F6Mn*eHG}{z>gkt!#e(JasD@h{xmH s=Gf#f|IUbIGdeoT8ej&vp}CpA0YtA>{Ob$!0RR9107*qoM6N<$f*#M1Gynhq literal 0 HcmV?d00001 diff --git a/textures/sword_of_gluttony.png b/textures/sword_of_gluttony.png new file mode 100644 index 0000000000000000000000000000000000000000..c46a4e9c83d90925508a23cd68e29b5f809c4b2a GIT binary patch literal 889 zcmV-<1BU#GP)F2U!_tB-uJd!ysF@5W+&@1&fOb z#Fx$ZGPW3(NOon2#t_I1CW;!(E@UKdf%vv~p=5|C)2Qv1AI4l)xvs4a%h zQ%YXAretmjtheWtlLp-b(&F*pH%+eQ^9&CUv-NTt`p$Eds*_;la9Zj~jEoc7pwnY4 zGubz-tSner*nHd+d8Mojr>cs|rY7dRUi_0kb9CQV?0eP6`H#0zaQ<`brW`N+uHA#} z9At8UdT)?xTNgO&>7k~u5Ot-7h`t{+Qo%0$3Dg_wdFISIc85eY`$cUj5_OS0H|=7YU@vWugAFJ?P1ZJW5dAJdoUmqmI7d}`zb!#ZL`O5 z(8A#`0M@N3HB`HvM^kUz7k}Tqf;){PxWomS3|(DaNON;DJAT;9N2*WV&cf=_plnXh z-o=5AHFBw3$fuHM-eP(`SjEwG2B*I6=H*W=qBS%$aIpMoN<7F~H>9U$RW$W)=gS*? zckz58$#bo7DlT^On7)V1FHy9U(MzOeGHgjbkF^ZsVb+1a10@o9EzarQ7y$E$Bo7!6 zwcvQ+GH!9BmAlba?J8z_=fjNV-&AW0ASbZe1?kwd8mtZiaCT_r-7owK@BauVPA7>z za*RMMfvCwNl+>P8J{K%Hu#i;}E*9b$l${4}MNnS4F+=D8{9(a^+xu}D2Ephz7+-#i z_zOe@Jg~3?^_83C@n|1$Yo6Cn43JMHNn~JrY6XYJzGLy(5q`RPlXu6)sB#JNP?4~( zgsKs@d@;C7pRG5lX>@=tgiA5NZ7b7j2OWO4W&0(wZVEodyIMQAZQwjWe0Kr;ADALJEFx79Zz( z&-;GooEP5X^algTD4(Zsp5>nc1dPF(2RgQ^b$Y1w_*Qz9d6_Eh@r`9PESRU=+TH7%!NdwR|`Ykn8b3C6x z$GXxauBvb=ZU9J%kn2Mo+tsGnux5JEOfR~+?z_c^MR)1sPV|GNd(^RAeY~j(Yh!B| z=jK`+2R8iHNlg{pO&({uSZ0K2ro6I(Nbp0dgHZBk2wQbD|BlK+ld3C{{NkPiOsf3v+Gt91eQ3Qiq!XW_xjuAqXZapq@|o5~Q<~{5_s6ka{izl7 z#Y!fR2CRTLhMSk6r4G^~ak4+wW9s`F(QX@n=U!M^-;7GWm|ZM7 zHJg@Nz*FVooh;i2cXMI;uUy*mg!nTMz1;z`f3UGLhXJyxlz^vUgN4tlJS2_bl`0A} zh%g5XB%s5IgFbAhzp|2*Kmuq2rq0H&LvLNB7uNIl-Y6|1w281rgrz`RK(G#;T+fV- zQ6GtL@uEtn7;n-5-sM$HnV5KS~O z*$Xi~?7%PO*Gol31tJ1~F^0jG25eQnNZP!)D~z~{=z0Gm2DfcN@?cX_6M;a0bIp@V z)0^-foa!Whs^`Lt{%9o(D^aemem6tlFnPqh+W>_SXb>Eqqhg z9Me2(fhCYygRZfl1bpQj^Iz5KEmgdf>J&*l*-A-ZLVJ#7T*q&m`&j<07teNo|vc?w}F{%2hK-o4H6*-?ztb8dkMf8 zO04_N6*LwjQF%#o3dI)OPCH=k-!Uu!j|+-j;B~{C4SwmBr!pC=SS_o{dIk4Tx9Qbn;3yWp`(~@ly3s?$wIRvSAwGc3%a-LFeVy} zA{{SKTJGX}?TBtFfYRTCV#$Vej|)PloN*79UDvvygGgjIt2d@GA5Nb|6AzHuH7yLp zL|*R^dv{!mU5={TILb5K=uh|jaxMI<=*t6&Re-52#8{nW$gN-H8M{|#i11c_oMaaE zOf`$Q!1;qWMz;#UFIN-P@9ZG8?|>Zr&4_ZSv`JE*+Una&dAqEkO@she7n#i@fvvpNy}pkP~63Gp%H8a2LUBn~=*v)re~F zQN&*1$ovi&pP1mwGiQjn1grn^YQ{#7lg{NB9@xcSwp(f%W4!X+48F~Nd_Eu1bgeA@ nafjncIC=78>H!5ZJ9hF9&5kdOJVOVw00000NkvXXu0mjfA55Ud literal 0 HcmV?d00001