added energy
This commit is contained in:
parent
695dabe36f
commit
21f6cdb87d
@ -1,5 +1,50 @@
|
||||
classes.skills = {}
|
||||
classes.skills.all = {}
|
||||
classes.skills.energy = {}
|
||||
classes.skills.energy_hud = {}
|
||||
|
||||
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
if not player then
|
||||
return
|
||||
end
|
||||
classes.skills.energy_hud[player:get_player_name()] = player:hud_add({
|
||||
hud_elem_type = "statbar",
|
||||
position = {x=0.5,y=1.0},
|
||||
size = {x=16, y=16},
|
||||
offset = {x=-(32*5), y=-(48*2+32+8)},
|
||||
text = "classes_skills_energy.png",
|
||||
number = 0,
|
||||
})
|
||||
classes.skills.energy[player:get_player_name()] = 40
|
||||
end)
|
||||
|
||||
function classes.skills.change_energy(player, v)
|
||||
classes.skills.energy[player:get_player_name()] = classes.skills.energy[player:get_player_name()] + v
|
||||
local val = 0
|
||||
if classes.skills.energy[player:get_player_name()] > 39 then
|
||||
val = 0
|
||||
else
|
||||
val = classes.skills.energy[player:get_player_name()]
|
||||
end
|
||||
player:hud_change(classes.skills.energy_hud[player:get_player_name()], "number",val)
|
||||
end
|
||||
|
||||
local timer = 0
|
||||
minetest.register_globalstep(function(dtime)
|
||||
timer = timer + dtime;
|
||||
if timer >=0.5 then
|
||||
for _, player in pairs(minetest.get_connected_players()) do
|
||||
if classes.skills.energy[player:get_player_name()] < 40 then
|
||||
classes.skills.change_energy(player, 1)
|
||||
if classes.skills.energy[player:get_player_name()] > 39 then
|
||||
cmsg.push_message_player(player, "[energy] Your energy is full!")
|
||||
end
|
||||
end
|
||||
end
|
||||
timer = 0
|
||||
end
|
||||
end)
|
||||
|
||||
function classes.skills.register_skill(name, def)
|
||||
minetest.register_craftitem("classes:skill_" .. name, {
|
||||
@ -10,7 +55,12 @@ function classes.skills.register_skill(name, def)
|
||||
if user == nil then return end
|
||||
if classes.selected[user:get_player_name()] == def.class then
|
||||
if xp.player_levels[user:get_player_name()] and xp.player_levels[user:get_player_name()] > def.lvl-1 then
|
||||
def.on_use(itemstack, user, pointed_thing)
|
||||
if classes.skills.energy[user:get_player_name()] > def.energy -1 then
|
||||
def.on_use(itemstack, user, pointed_thing)
|
||||
classes.skills.change_energy(user, -def.energy)
|
||||
else
|
||||
cmsg.push_message_player(user, "[WARNING] You dont have enought energy to use this skill!")
|
||||
end
|
||||
else
|
||||
cmsg.push_message_player(user, "[info] You have to be level "..tostring(def.lvl).. " to use this skill!")
|
||||
end
|
||||
@ -38,10 +88,11 @@ minetest.register_craftitem("classes:skill_book", {
|
||||
table.insert(default.treasure_chest_items, "classes:skill_book")
|
||||
|
||||
classes.skills.register_skill("super_jump", {
|
||||
description = "Super Jump\nLevel: 15\nClass: thief\nTime: 7.0\nEffect: gravity = 0.1",
|
||||
description = "Super Jump\nLevel: 15\nClass: thief\nTime: 7.0\nEffect: gravity = 0.1\nEnergy: 10",
|
||||
img = "classes_skills_super_jump.png",
|
||||
class = "thief",
|
||||
lvl = 15,
|
||||
energy = 10,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
user:set_physics_override({
|
||||
gravity = 0.1,
|
||||
@ -61,10 +112,11 @@ classes.skills.register_skill("super_jump", {
|
||||
})
|
||||
|
||||
classes.skills.register_skill("lift", {
|
||||
description = "Lift\nLevel: 25\nClass: thief\nTime: 2.0\nEffect: gravity = -0.5",
|
||||
img = "classes_skills_smooth_fall.png",
|
||||
description = "Lift\nLevel: 25\nClass: thief\nTime: 2.0\nEffect: gravity = -0.5\nEnergy: 20",
|
||||
img = "classes_skills_lift.png",
|
||||
class = "thief",
|
||||
lvl = 25,
|
||||
energy = 20,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
user:set_physics_override({
|
||||
gravity = -0.5,
|
||||
@ -84,10 +136,11 @@ classes.skills.register_skill("lift", {
|
||||
})
|
||||
|
||||
classes.skills.register_skill("heal", {
|
||||
description = "Heal\nLevel: 13\nClass: farmer\nEffect: hp + 4",
|
||||
description = "Heal\nLevel: 13\nClass: farmer\nEffect: hp + 4\nEnergy: 15",
|
||||
img = "classes_skills_heal.png",
|
||||
class = "farmer",
|
||||
lvl = 13,
|
||||
energy = 15,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
user:set_hp(user:get_hp()+4)
|
||||
cmsg.push_message_player(user, "[skill][hp] + 4")
|
||||
|
BIN
mods/classes/textures/classes_skills_energy.png
Normal file
BIN
mods/classes/textures/classes_skills_energy.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 202 B |
BIN
mods/classes/textures/classes_skills_lift.png
Normal file
BIN
mods/classes/textures/classes_skills_lift.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 269 B |
Binary file not shown.
Before Width: | Height: | Size: 249 B After Width: | Height: | Size: 272 B |
Loading…
x
Reference in New Issue
Block a user