From ef4175cdfae6a6981738e15cb0009d8e47ed7c80 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Mon, 15 Apr 2013 21:24:55 +0200 Subject: Moved functions to entity members where appropriate Some functions were skipped for now because they may need a new name or change of behavior. Changes: chr_warp entity:warp chr_get_inventory entity:inventory chr_inv_change entity:inv_change chr_inv_count entity:inv_count chr_get_equipment entity:equipment chr_equip_slot entity:equip_slot chr_equip_item entity:equip_item chr_unequip_slot entity:unequip_slot chr_unequip_item entity:unequip_item chr_get_level entity:level chr_get_exp entity:xp chr_give_exp entity:give_xp chr_get_rights entity:rights chr_set_hair_style entity:set_hair_style chr_get_hair_style entity:hair_style chr_set_hair_color entity:set_hair_color chr_get_hair_color entity:hair_color chr_get_kill_count entity:kill_count chr_give_special entity:give_special chr_has_special entity:has_special chr_take_special entity:take_special chr_set_special_recharge_speed entity:set_special_recharge_speed chr_get_special_recharge_speed entity:special_recharge_speed chr_set_special_mana entity:set_special_mana chr_get_special_mana entity:special_mana chr_kick entity:kick exp_for_level xp_for_level monster_get_id entity:monster_id monster_change_anger entity:change_anger monster_drop_anger entity:drop_anger monster_get_angerlist entity:angerlist being_apply_status entity:apply_status being_remove_status entity:remove_status being_has_status entity:has_status being_set_status_time entity:set_status_time being_get_status_time entity:status_time being_get_gender entity:gender being_set_gender entity:set_gender being_type entity:type being_walk entity:walk being_say entity:say being_damage entity:damage being_heal entity:heal being_get_name entity:name being_get_action entity:action being_set_action entity:set_action being_get_direction entity:direction being_set_direction entity:set_direction being_apply_attribute_modifier entity:apply_attribute_modifier being_remove_attribute_modifier entity:remove_attribute_modifier being_set_base_attribute entity:set_base_attribute being_get_modified_attribute entity:modified_attribute being_get_base_attribute entity:base_attribute being_set_walkmask entity:set_walkmask being_get_walkmask entity:walkmask being_get_mapid entity:mapid chat_message entity:message being_register entity:register chr_shake_screen entity:shake_screen chr_create_text_particle entity:show_text_particle - entity:position posX entity:x posY entity:y monster_get_name monsterclass:name item_get_name itemclass:name --- example/scripts/npcs/shaker.lua | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) (limited to 'example/scripts/npcs/shaker.lua') diff --git a/example/scripts/npcs/shaker.lua b/example/scripts/npcs/shaker.lua index c6be0638..4d74ad73 100644 --- a/example/scripts/npcs/shaker.lua +++ b/example/scripts/npcs/shaker.lua @@ -15,8 +15,7 @@ function shaker_update(npc) if shake_count > 20 then shake_count = 0 - center_x = posX(npc) - center_y = posY(npc) + local center_x, center_y = npc:position() tremor(center_x, center_y, 300) end end @@ -27,18 +26,17 @@ function square(x) return x * x end -function tremor (center_x, center_y, intensity) - for dummy, object in ipairs(get_beings_in_circle(center_x, center_y, intensity)) do - if being_type(object) == TYPE_CHARACTER then - object_x = posX(object) - object_y = posY(object) - dist_x = object_x - center_x - dist_y = object_y - center_y - dist = math.sqrt(square(dist_x) + square(dist_y)) - intensity_local = intensity - dist - intensity_x = (intensity - dist) * (dist_x / dist) / 5 - intensity_y = (intensity - dist) * (dist_y / dist) / 5 - chr_shake_screen(object, intensity_x, intensity_y) +function tremor(center_x, center_y, intensity) + for dummy, being in ipairs(get_beings_in_circle(center_x, center_y, intensity)) do + if being:type() == TYPE_CHARACTER then + local being_x, being_y = being:position() + local dist_x = being_x - center_x + local dist_y = being_y - center_y + local dist = math.sqrt(square(dist_x) + square(dist_y)) + local intensity = intensity - dist + local intensity_x = intensity * (dist_x / dist) / 5 + local intensity_y = intensity * (dist_y / dist) / 5 + being:shake_screen(intensity_x, intensity_y) end end end -- cgit v1.2.3-70-g09d2