From 9e359f7fcd1105e42e0d4ad840f92f0f86f09a08 Mon Sep 17 00:00:00 2001 From: Wouters Dorian Date: Fri, 31 Jul 2015 21:47:55 +0200 Subject: [PATCH] [pclasses] Remove active detection, introduce class switch orbs --- mods/pclasses/admin.lua | 24 ---------- mods/pclasses/adventurer.lua | 6 +-- mods/pclasses/api.lua | 33 +------------ mods/pclasses/hunter.lua | 33 ------------- mods/pclasses/init.lua | 45 +++++++++++++----- mods/pclasses/nodes.lua | 20 ++++++++ .../sounds/3d_armor_full_warrior.ogg-old | Bin 19589 -> 0 bytes mods/pclasses/sounds/pclasses_full_hunter.ogg | Bin 6533 -> 0 bytes .../pclasses/sounds/pclasses_full_warrior.ogg | Bin 7840 -> 0 bytes mods/pclasses/sounds/pclasses_full_wizard.ogg | Bin 7166 -> 0 bytes .../pclasses_class_switch_orb_overlay.png | Bin 0 -> 292 bytes mods/pclasses/warrior.lua | 25 ---------- 12 files changed, 58 insertions(+), 128 deletions(-) delete mode 100755 mods/pclasses/admin.lua delete mode 100755 mods/pclasses/hunter.lua create mode 100644 mods/pclasses/nodes.lua delete mode 100755 mods/pclasses/sounds/3d_armor_full_warrior.ogg-old delete mode 100755 mods/pclasses/sounds/pclasses_full_hunter.ogg delete mode 100755 mods/pclasses/sounds/pclasses_full_warrior.ogg delete mode 100755 mods/pclasses/sounds/pclasses_full_wizard.ogg create mode 100644 mods/pclasses/textures/pclasses_class_switch_orb_overlay.png delete mode 100755 mods/pclasses/warrior.lua diff --git a/mods/pclasses/admin.lua b/mods/pclasses/admin.lua deleted file mode 100755 index 44795e7b..00000000 --- a/mods/pclasses/admin.lua +++ /dev/null @@ -1,24 +0,0 @@ ------------------ --- Admin class -- ------------------ - --- --- https://github.com/MinetestForFun/minetest-minetestforfun-server/issues/139 --- - -pclasses.api.register_class("admin", { - determination = function(player) - return minetest.get_player_privs(player:get_player_name()).server - end, - on_assigned = function(pname) - minetest.chat_send_player(pname, "Hello admin.") - end -}) - -pclasses.api.reserve_item("admin", "3d_armor:helmet_admin") -pclasses.api.reserve_item("admin", "3d_armor:chestplate_admin") -pclasses.api.reserve_item("admin", "3d_armor:leggings_admin") -pclasses.api.reserve_item("admin", "3d_armor:boots_admin") -pclasses.api.reserve_item("admin", "shields:shields_admin") -pclasses.api.reserve_item("admin", "maptools:pick_admin") -pclasses.api.reserve_item("admin", "maptools:pick_admin_with_drops") diff --git a/mods/pclasses/adventurer.lua b/mods/pclasses/adventurer.lua index e31eefb4..2086f975 100755 --- a/mods/pclasses/adventurer.lua +++ b/mods/pclasses/adventurer.lua @@ -1,11 +1,11 @@ ----------------------------- --- Default class assignment +-- Boilerplate class -- pclasses.api.register_class("adventurer", { - determination = function() return true end, + orb_color = { r = 255, g = 200, b = 200 }, on_assigned = function(pname) - minetest.chat_send_player(pname, "You are now an adventurer") + minetest.chat_send_player(pname, "You are now an adventurer") end }) diff --git a/mods/pclasses/api.lua b/mods/pclasses/api.lua index 6a0d5d81..5456cd00 100755 --- a/mods/pclasses/api.lua +++ b/mods/pclasses/api.lua @@ -13,11 +13,8 @@ function pclasses.api.register_class(cname, def) minetest.log("error", "[PClasses] Error registering class " .. cname .. ". Reason : no definition table.") return - elseif not def.determination then - minetest.log("error", "[PClasses] Error registreing class " .. - cname .. ". Reason : no determination function.") - return end + pclasses.register_class_switch_orb(cname, def.orb_color) pclasses.classes[cname] = def return true @@ -79,36 +76,12 @@ pclasses.api.util.does_wear_full_armor = function(pname, material, noshield) return full_armor and (inv:contains_item("armor", "shields:shield_" .. material) or noshield) end ----------------------------- --- Determination callback -- ----------------------------- - -function pclasses.api.assign_class(player) - -- Look for every sign needed to deduct a player's class - -- Starting from the most important class to the less one - - local pname = player:get_player_name() - - if pclasses.classes["admin"].determination(player) then - pclasses.api.set_player_class(pname, "admin") - - elseif pclasses.classes["hunter"].determination(player) then - pclasses.api.set_player_class(pname, "hunter") - - elseif pclasses.api.get_class_by_name("warrior").determination(player) then - pclasses.api.set_player_class(pname, "warrior") - - elseif pclasses.conf.default_class then - pclasses.api.set_player_class(pname, pclasses.conf.default_class) - end -end - ------------------- -- Reserved items -- function pclasses.api.reserve_item(cname, itemstring) pclasses.data.reserved_items[itemstring] = pclasses.data.reserved_items[itemstring] or {} - table.insert(pclasses.data.reserved_items[itemstring], 1, cname) + table.insert(pclasses.data.reserved_items[itemstring], cname) end ------------------------------------------- -- Determination and reserved items tick -- @@ -116,8 +89,6 @@ end local function tick() for id, ref in ipairs(minetest.get_connected_players()) do - pclasses.api.assign_class(ref) - local name = ref:get_player_name() local inv = minetest.get_inventory({type="player", name = name}) for i = 1, inv:get_size("main") do diff --git a/mods/pclasses/hunter.lua b/mods/pclasses/hunter.lua deleted file mode 100755 index 3e28a790..00000000 --- a/mods/pclasses/hunter.lua +++ /dev/null @@ -1,33 +0,0 @@ ------------------- --- Hunter class -- ------------------- - --- --- See https://github.com/Ombridride/minetest-minetestforfun-server/issues/114 --- - -pclasses.api.register_class("hunter", { - determination = function(player) - return pclasses.api.util.does_wear_full_armor(player:get_player_name(), "reinforcedleather", true) - or pclasses.api.util.does_wear_full_armor(player:get_player_name(), "hardenedleather", true) - end, - on_assigned = function(pname) - minetest.chat_send_player(pname, "You are now a hunter") - minetest.sound_play("pclasses_full_hunter") - local reinforced = pclasses.api.util.does_wear_full_armor(pname, "reinforcedleather", true) - if reinforced then - sprint.increase_maxstamina(pname, 20) - else - sprint.increase_maxstamina(pname, 10) - end - minetest.log("action", "[PClasses] Player " .. pname .. " become a hunter") - end, - on_unassigned = function(pname) - sprint.set_default_maxstamina(pname) - end, -}) - - -pclasses.api.reserve_item("hunter", "throwing:bow_minotaur_horn") -pclasses.api.reserve_item("hunter", "throwing:bow_minotaur_horn_improved") -pclasses.api.reserve_item("hunter", "throwing:arrow_mithril") diff --git a/mods/pclasses/init.lua b/mods/pclasses/init.lua index b9e4afc8..387a07d2 100755 --- a/mods/pclasses/init.lua +++ b/mods/pclasses/init.lua @@ -28,8 +28,37 @@ pclasses.data.reserved_items = {} pclasses.data.hud_ids = {} -- HUD maybe? dofile(minetest.get_modpath("pclasses") .. "/api.lua") +dofile(minetest.get_modpath("pclasses") .. "/nodes.lua") +function pclasses.data.load() + local file = io.open(minetest.get_worldpath().."/quests", "r") + if file then + local loaded = minetest.deserialize(file:read("*all")) + file:close() + pclasses.data.players = loaded.players or pclasses.data.players + minetest.log("action", "[PClasses] Loaded data") + end +end +function pclasses.data.save() + local file, err = io.open(pclasses.conf.datafile, "w") + if file then + file:write(minetest.serialize({ + players = pclasses.data.players, + })) + file:close() + minetest.log("action", "[PClasses] Saved data") + else + minetest.log("error", "[PClasses] Data save failed: open failed: " .. err) + end +end + +local function data_save_loop() + minetest.after(save_interval, data_save_loop) + pclasses.data.save() +end + +pclasses.data.load() ------------------ -- Default class @@ -39,18 +68,10 @@ if pclasses.conf.default_class then dofile(minetest.get_modpath("pclasses") .. "/" .. pclasses.conf.default_class .. ".lua") if pclasses.api.get_class_by_name(pclasses.conf.default_class) then minetest.register_on_joinplayer(function(player) - pclasses.api.assign_class(player) + local pname = player:get_player_name() + if pclasses.api.get_player_class(pname) == nil then + pclasses.api.set_player_class(pname, pclasses.conf.default_class) + end end) end end - - - ------------- --- Classes --- - -dofile(minetest.get_modpath("pclasses") .. "/warrior.lua") -dofile(minetest.get_modpath("pclasses") .. "/hunter.lua") -dofile(minetest.get_modpath("pclasses") .. "/admin.lua") - diff --git a/mods/pclasses/nodes.lua b/mods/pclasses/nodes.lua new file mode 100644 index 00000000..c9d58f54 --- /dev/null +++ b/mods/pclasses/nodes.lua @@ -0,0 +1,20 @@ +function pclasses.register_class_switch_orb(cname, color) + color = color or { r = 255, g = 255, b = 255 } + local txtcolor = string.format("#%02x%02x%02x", color.r, color.g, color.b) + local overlay = "pclasses_class_switch_orb_overlay.png" + minetest.register_node(":pclasses:class_switch_orb_" .. cname, { + description = "Class switch orb (" .. cname .. ")", + tiles = {overlay .. "^[colorize:" .. txtcolor .. "^" .. overlay}, + drop = "", + can_dig = function() return false end, + diggable = false, + sunlight_propagates = true, + light_source = 10, + sounds = default.node_sound_glass_defaults(), + groups = {not_in_creative_inventory=1}, + on_rightclick = function(pos, node, player, itemstack, pointed_thing) + -- TODO implement timeout logic + pclasses.api.set_player_class(player:get_player_name(), cname) + end + }) +end diff --git a/mods/pclasses/sounds/3d_armor_full_warrior.ogg-old b/mods/pclasses/sounds/3d_armor_full_warrior.ogg-old deleted file mode 100755 index e688204342ccaa28333ca24e01a13f41f1bda371..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19589 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 diff --git a/mods/pclasses/sounds/pclasses_full_warrior.ogg b/mods/pclasses/sounds/pclasses_full_warrior.ogg deleted file mode 100755 index fd262bc2a4ca1cddf0cb20269ed40ff76d267db4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7840 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 I1X$&N0Aq&_*Z=?k diff --git a/mods/pclasses/sounds/pclasses_full_wizard.ogg b/mods/pclasses/sounds/pclasses_full_wizard.ogg deleted file mode 100755 index 28bdcb6250495ff68008c33fc73845129dab22db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7166 zcmeHLc|4R|`@ijDeMa{68M_&jk!%Sw))~e!W@OKvJv)_{m?Vk8@W_^JgeZiNRCZaC zT_r_Xl1eH?^1DaRyZ!S%pWo+wfB*fi&zbwa&N#HOurNz z0{iX#LVOQeg`I>2`gz#xtA}A=YN|+eRiv64Opy>77UCYzRUXz=?(gRp45#a7VEHv% z3T3O%7tn1@rj0hdwD;$-eTyal|Qicdj9L~K*xJybjv%_bMY zqq8J#n}$_HwG@QkXv)d)yj&HLiCvcUvOt@`FJxlbXttJUvm-fEc(_D39`BD@0ZpQt zVPx)vQ3{d%oevD4q758?H2^?UN`zAw$w@VgfEoZW7b~VMD5lA1XL@1;_eH=JfC9jS z5PnPs|3JO0`Ixf#xRDL<+@uDP_%+gHnqFY)UIKKj24>f<(nMjMTwcNuZU+_s20~<_ z*a>C&8$5uAqIR-;<5FyRTB47(FQR8DB1C#}2@{N1S}F)1(N@S0@6}o^2u}&~LHdGn z1>px0ec->iqV6SBKsCLsSNnQmsEIHrm)E$2^4FLG+XNdcwEYkEfSmN3B}~x4Nst@S z21WKC)k4?9LoDfQPEX|e*>E(y?H_W#-~s2064poxy$&- zL{8BB*13NwkrMk;Gy{MYv$S%vlybAQMXgL(h7ze803br&O^PXHT4{@BnX;Iia!k=1 zhf*K^ij!xmD;f7i4Co?sQp{U`S1iCw7qm-du%+IPr4{}+74sX`+HU?;Ik>;UDF85< zAwG~H4sLJ^$S~}q3;F^h5W>|*0XIFk*wRZGM25dV>pKL>-hKto0UY^ySlq*(oT zTk@bGShf6r!`A=n_!G6HPikF#WyBEVo!0FWMrDsuvWIA%;4077KV$HCY* zrf$Ow0N@G9`|q{=b*}-ajl={Pkl4M8M=9BW0Y5-OA$7Uk9DqSaUr~c`pos0GE(!Dw z(C=Azz-Xx9i&f^a_U*?4Fb?2Bu_74Yi`c**V?(a+%Tq*;t6TAx_~pr`K#dJE_ zUzNA8<;U?Qm-=ylQ8WYqAay8Pk5CdA+!z5V27uMHUfF6>_c5RGIDzP!w|uEoF{Q$< z8lgVCxgYG+i2`{`r|FGV)zuuhOX

1=PeylRlv+8Vg5ai9#?LaJ^9>!1vQ2qqiZ-Xbr- z(Eg|)@EPDd9qB#W3`S3JEiiQvMk$C81>MWog(T^7U&G5fB#dYXAYzwc1@LaC0!HGn{aEx4@Z z(?yCYr6BV3j(v=8DuF9O2g=KV-}niLWu*H)wr|^1aW(|vWTZ=f10DZIYJtzx!K$}N zWp(u<5W?wwL>YjW>^y)0i$+aa2wq*#et*v}0VEi+6pbH^g_Egx2%H8z03K~G!4$*| zEuyIIWeh;UuZPLf5-hQDCG;F+KT-LQ9$Eh@Et!8IjrlKp(SK)N|JPbLfYB=hU-?9E$Z*X)Z$c!Kj&zm+w(W zFqqmV;j;*dvP`@=^6Lw8xEyW9Ze|u{eWz?3rJ%D+%&WR1KF86oleXXdp9r-VIYB7RHraKVWc~NC3ZkKd;|rNB15ro z5wMNUq2Y3%->^xMtt`v;2=jl!2M-nx0zwg?)90ZHP%=!A&DwyG$Fk+s zB~9H|tO_gq**f4w1SA$91^^5cNy*7RH#-*?WehzN%eoesjP^UrftO4Gz|J5oo!827 znKPB^3U?Y$`fuQJ7|;&}(0dI4M#f+18okcQxPLij{s>+J=|sOA(|d=82#!iTw=y&G zYb7ONl9GxtzstzTi~lYwUs>_HgoK2oymVc0HZ?1Ul0jqusquBXk>e**>3t=D=qfJc zhhhTbsMadZ?Mw)ZbYh7~cluD%anUr+6fBM8*JOYE#+ftS86hoyG{4^AcsLwsYcKqi z*?6NZxRGiixa_2(DTBzIRhCXVCEwH=>76hU`R$ER{NDR#bs6(ZFYg>(?(5*zkgZzN z;hH*KG%)|8!$g^xMD+&tWYrtoq466LpZDfZ#61lD!$xsOfrs1~at zF?tP1?_5_qt}a#m#ip8@E)L_;%feRraHmV3!w7hdh4Jda_c!xF(~vyYEk#?|00)J%fo6Z-1g2-it|h3MN~&Yb`TCN28!eCo^O zjhj;CiRKJgPE}DAhXTz=_qNSY zKDLHPm&M?cM8g{CljT@UHDUGv>rQZrK;Ns8?JXxZTFLG}i(UcZ(Yx1}unXP2D^XgI zR;%|PV_(cZnLp**XtcG`e3}8VcG*G@icOuVtzK;ptI9)8s<0O*OQowG) z^5I9B#4R+n-26TTu+`h)PkWPwCcM{b4o@5Pc`8syt;@m~tkEw~?lmvzds zM`69GdIwUQ^<}G1DjP-vM#K{Lh$dKdGWQAR=gw$O0fiaKnI1Qv!nzXECP3UaB5#mz zA+8pQ<2kykdF=VKd7Wuoa5HW9a$*pRERo7GKy)bieX`Jhhg8Ij;a`su3c5$YV-u=Jf!?49r5wzCsyWTvLx0`B-3BqpH{i0d0jL} z?|8(jHe=GdMWabKLGE9^y6Kguckk01Q?W$d-LV5cS{KrwncBAyEb%h*56AdU+=obK%i&)+|xpy zNG`8epYxuzTD$c4bSkvAI&yp(3$JvUc-j-*^Da(oeKllnc{y+qJ?qj6X+$sycHnbk z&82^nGF9g8`Be3YZ^`dW$DHNt-j|m=UMGehDv95%2{F@GtvY%swQ=KG(8kl3lw+Tw z1a)2V)6+Zn=AT*I8ccrup+5gfSymW2`YGhj=?l-~nFwztgj|;!r|m2r+#hpncN0(K zj;>t z{{D496fXJl3{5PV%!U}&4hzZ@>o+pEsBcuI?^G^fJNUM|vZmg$?)X5-jmh`|vVZi^ zRrUBsA0*7nE8;q5+sA!lu)V|Sy*|-f?!C4Z=fn_$)Y6y7jYTM&Q3DkJiyybYOaWmP zj!N?D??&@oJjNDP!U{l{%{s(Q)!Z8V)>Ne&)j{X>n1#;p(Pq)I=jinNYs?;?aVOY7Jwt+i85p zCgret;eelee4YLi9bV`B@=p#HCF5>D8-ypi78>ul)ZTTB&PJ~0JmPp#>^E(UXmMuM zB6huQe5RvKR9C1`7crhle(e0zOv*aYv$mO!htIK7Nh%q-EoX zFJ%3|aZx~-nD0F}xwMjUD7yTb(z$?=kcA&>srlVHmj|tcbcwv(E7hl5Py23k&7nSz zN)dAIEWb{_mU9GMtEOvvq2)T((1lm!+o=MT0>hN?Le29%FRol}MOv|29Or%rzY$%n zEB>v~?fsO_ZTDfDU^Q~@WOVxLW}=bzH6fSm=(zEe!jD&Af|hwqK`pP6uJ7$G&R5-v zr{?NMSk25akUz9;NX#2f!S4(!m9`<1vSu{qFo9XiA?W(?ey+VWi$e~^Jfm=QAS9ux(E1py^qhj-Y zHdRuaEsh0nvGwHzaOBAfMWZG|u1=^uI&((bzV|Dyq}8nTLIi^0QW8rOOY8fIdne{6 z?dPZKu{&O(cb8!EX>5B1FCrc*^wY+?CwpsSj2-X3+vK^$?<$NBYpQk(9C~n66H*eS@?xc@yZx|0WpU^zXARs97+rbGkd%%8zIQ3biQSoMyg+#pMTE@t zJLx|5RUXPY7WWqQsKGD9I8-lx^P9%Zr!W<*vq1d3jrTS731=o^eD0zM zVHJ}7c9nhMxV4X=u9#?8l4(Ghw!>om*$DkRC4Uq=%TX!Iu|w38jqDM2nk&?^hcsrS zSZ`5(vPiB>R>r9;Az?M81Erb^8(G$C0M2D1w}lZdym@0!;UY?Q*>_a8JVaGV^&oA7 zl$vTIEm+~hosw#MenJ7=p&Ls6KK%^7(=&RC^GI4x+-_*);i}kOGkuAJf^IEQf@@m6 zHn-Q7j*C`#C4M2j^c3n;_gW@*cTJ}6%J z210n}xJfwBzPXe9=9~Zd7L3ZuRDdOV^?2&(DV(9#6Mgo_>6>Yj-6^?RYHr z!nWGR_7BHXTGQ6fGR@gF+3SfhQl@Nm&JZAOWp}Gmx0@%%5VtY9Gj9`)#-T29>owm-SMN|wX*{$~l|NB5)R#%jO>D3)cDrsVhmJb@Q5ftB8K-ubi>Xut*p`4M;& zU?tdr%ZL^bQNUOFu$&WwPR==Dk}va~`H=@S;06u>Wg?gbd|Mf0+%jI3pr?-lzKy&Y z8P>$99;gqiki4vnjZfQw?h3kXUI|t&rU3k2V+W$LP8)|2dF@`xA6d;ttv&e1wv;A! zu-007SgeC0%7(+p{RTv=gF