From fd9e3a8d719445186a62c40ee5262414e9d7c5f2 Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Fri, 10 May 2013 22:11:17 +0000 Subject: [PATCH] plop git-svn-id: http://svn.net-core.org/repos/t-engine4@6703 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/engines/default/engine/Zone.lua | 23 +++++++++++++----- game/engines/default/engine/version.lua | 2 +- game/modules/example/init.lua | 4 +-- game/modules/example_realtime/init.lua | 4 +-- game/modules/tome/class/interface/Archery.lua | 12 ++++++--- .../npc/humanoid_human_the_possessed.png | Bin 10580 -> 14133 bytes game/modules/tome/data/zones/maze/grids.lua | 2 +- game/modules/tome/data/zones/maze/npcs.lua | 4 +-- .../tome/data/zones/ruins-kor-pul/npcs.lua | 1 + game/modules/tome/init.lua | 4 +-- 10 files changed, 37 insertions(+), 19 deletions(-) diff --git a/game/engines/default/engine/Zone.lua b/game/engines/default/engine/Zone.lua index 32b0686fe2..31c14540f6 100644 --- a/game/engines/default/engine/Zone.lua +++ b/game/engines/default/engine/Zone.lua @@ -81,14 +81,25 @@ function _M:updateBaseLevel() end end +function _M:getBaseName() + local name = self.short_name + local base = "/data" + local _, _, addon, rname = name:find("^([^+]+)%+(.+)$") + if addon and rname then + base = "/data-"..addon + name = rname + end + return base.."/zones/"..name.."/" +end + --- Loads basic entities lists local _load_zone = nil function _M:loadBaseLists() _load_zone = self - self.npc_list = self.npc_class:loadList("/data/zones/"..self.short_name.."/npcs.lua") - self.grid_list = self.grid_class:loadList("/data/zones/"..self.short_name.."/grids.lua") - self.object_list = self.object_class:loadList("/data/zones/"..self.short_name.."/objects.lua") - self.trap_list = self.trap_class:loadList("/data/zones/"..self.short_name.."/traps.lua") + self.npc_list = self.npc_class:loadList(self:getBaseName().."npcs.lua") + self.grid_list = self.grid_class:loadList(self:getBaseName().."grids.lua") + self.object_list = self.object_class:loadList(self:getBaseName().."objects.lua") + self.trap_list = self.trap_class:loadList(self:getBaseName().."traps.lua") _load_zone = nil end @@ -588,7 +599,7 @@ function _M:load(dynamic) local data = savefile_pipe:doLoad(game.save_name, "zone", nil, self.short_name) if not data and not dynamic then - local f, err = loadfile("/data/zones/"..self.short_name.."/zone.lua") + local f, err = loadfile(self:getBaseName().."zone.lua") if err then error(err) end setfenv(f, setmetatable({self=self, short_name=self.short_name}, {__index=_G})) data = f() @@ -603,7 +614,7 @@ function _M:load(dynamic) end for k, e in pairs(data) do self[k] = e end - self:onLoadZoneFile("/data/zones/"..self.short_name.."/") + self:onLoadZoneFile(self:getBaseName()) if self.on_loaded then self:on_loaded() end elseif not data and dynamic then data = dynamic diff --git a/game/engines/default/engine/version.lua b/game/engines/default/engine/version.lua index a51451912d..a032dfc165 100644 --- a/game/engines/default/engine/version.lua +++ b/game/engines/default/engine/version.lua @@ -18,7 +18,7 @@ -- darkgod@te4.org -- Engine Version -engine.version = {1,0,3,"te4",17} +engine.version = {1,0,4,"te4",17} engine.require_c_core = engine.version[5] engine.version_id = ("%s-%d_%d.%d.%d"):format(engine.version[4], engine.require_c_core, engine.version[1], engine.version[2], engine.version[3]) diff --git a/game/modules/example/init.lua b/game/modules/example/init.lua index 3d6b6e3ac6..09d8e0e7a8 100644 --- a/game/modules/example/init.lua +++ b/game/modules/example/init.lua @@ -22,8 +22,8 @@ long_name = "Example Module for T-Engine4" short_name = "example" author = { "DarkGod", "darkgod@te4.org" } homepage = "http://te4.org/modules:example" -version = {1,0,3} -engine = {1,0,3,"te4"} +version = {1,0,4} +engine = {1,0,4,"te4"} description = [[ This is *NOT* a game, just an example/template to make your own using the T-Engine4. ]] diff --git a/game/modules/example_realtime/init.lua b/game/modules/example_realtime/init.lua index ed34289398..eb31946d90 100644 --- a/game/modules/example_realtime/init.lua +++ b/game/modules/example_realtime/init.lua @@ -22,8 +22,8 @@ long_name = "Realtime Example Module for T-Engine4" short_name = "example_realtime" author = { "DarkGod", "darkgod@te4.org" } homepage = "http://te4.org/modules:example" -version = {1,0,3} -engine = {1,0,3,"te4"} +version = {1,0,4} +engine = {1,0,4,"te4"} description = [[ This is *NOT* a game, just an example/template to make your own using the T-Engine4. ]] diff --git a/game/modules/tome/class/interface/Archery.lua b/game/modules/tome/class/interface/Archery.lua index 4724888671..ea899c67fe 100644 --- a/game/modules/tome/class/interface/Archery.lua +++ b/game/modules/tome/class/interface/Archery.lua @@ -62,6 +62,9 @@ function _M:archeryAcquireTargets(tg, params) if offweapon then wtravel_speed = math.ceil(((weapon.travel_speed or 0) + (offweapon.travel_speed or 0)) / 2) end tg.speed = (tg.speed or 10) + (ammo.combat.travel_speed or 0) + (wtravel_speed or 0) + (self.travel_speed or 0) print("[PROJECTILE SPEED] ::", tg.speed) + + self:triggerHook{"Combat:archeryTargetKind", tg=tg, params=params, mode="target"} + local x, y = params.x, params.y if not x or not y then x, y = self:getTarget(tg) end if not x or not y then return nil end @@ -174,16 +177,16 @@ local function archery_projectile(tx, ty, tg, self, tmp) -- Does the blow connect? yes .. complex :/ if tg.archery.use_psi_archery then self.use_psi_combat = true end local atk, def = self:combatAttackRanged(weapon, ammo), target:combatDefenseRanged() - local dam, apr, armor = self:combatDamage(ammo), self:combatAPR(ammo), target:combatArmor() + local dam, apr, armor = self:combatDamage(ammo), self:combatAPR(ammo) + (weapon and weapon.apr or 0), target:combatArmor() atk = atk + (tg.archery.atk or 0) dam = dam + (tg.archery.dam or 0) + apr = apr + (tg.archery.apr or 0) print("[ATTACK ARCHERY] to ", target.name, " :: ", dam, apr, armor, "::", mult) -- If hit is over 0 it connects, if it is 0 we still have 50% chance local hitted = false local crit = false if self:checkHit(atk, def) and (self:canSee(target) or self:attr("blind_fight") or rng.chance(3)) then - apr = apr + (tg.archery.apr or 0) print("[ATTACK ARCHERY] raw dam", dam, "versus", armor, "with APR", apr) local pres = util.bound(target:combatArmorHardiness() / 100, 0, 1) @@ -487,6 +490,9 @@ function _M:archeryShoot(targets, talent, tg, params) tg.type = tg.type or weapon.tg_type or ammo.combat.tg_type or tg.type or "bolt" tg.talent = tg.talent or talent + params = params or {} + self:triggerHook{"Combat:archeryTargetKind", tg=tg, params=params, mode="fire"} + local dofire = function(weapon, targets) if not tg.range then tg.range=weapon.range or 6 end tg.display = tg.display or self:archeryDefaultProjectileVisual(realweapon, ammo) @@ -504,7 +510,7 @@ function _M:archeryShoot(targets, talent, tg, params) dofire(weapon, targets) elseif offweapon and targets.dual then dofire(weapon, targets.main) - dofire(offweapon, targets.off) + dofire(offweapon.combat, targets.off) else print("[SHOOT] error, mismatch between dual weapon/dual targets") end diff --git a/game/modules/tome/data/gfx/shockbolt/npc/humanoid_human_the_possessed.png b/game/modules/tome/data/gfx/shockbolt/npc/humanoid_human_the_possessed.png index cc268908645786e3a9ebcec043d3b87d72080be2..becea2974b9bb34bcc445d63202e7fd475b068f0 100644 GIT binary patch literal 14133 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 F{{ty3(bxb0 literal 10580 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 diff --git a/game/modules/tome/data/zones/maze/grids.lua b/game/modules/tome/data/zones/maze/grids.lua index 1ba0966de9..c13215b0ce 100644 --- a/game/modules/tome/data/zones/maze/grids.lua +++ b/game/modules/tome/data/zones/maze/grids.lua @@ -37,7 +37,7 @@ newEntity{ nice_editer = cracks_editer, block_move = function(self, x, y, who, act) if not who or not act or not who.player then return true end - require("engine.ui.Dialog"):yesnoLongPopup("Crack in the floor", "This area seems to have been hit by a huge tremor, breaking the floor in a huge crack.\nYou think you can jump to the level bellow.", 400, function(ret) if ret then + require("engine.ui.Dialog"):yesnoLongPopup("Crack in the floor", "This area appears to have been hit by a huge tremor, breaking the floor in a huge crack.\nYou think you can jump to the level below.", 400, function(ret) if ret then game:changeLevel(game.level.level + 1) end end, "Jump", "Stay") return true diff --git a/game/modules/tome/data/zones/maze/npcs.lua b/game/modules/tome/data/zones/maze/npcs.lua index d6a4097573..89fec0f50a 100644 --- a/game/modules/tome/data/zones/maze/npcs.lua +++ b/game/modules/tome/data/zones/maze/npcs.lua @@ -50,7 +50,7 @@ newEntity{ define_as = "HORNED_HORROR", name = "Horned Horror", display = "h", color=colors.VIOLET, resolvers.nice_tile{image="invis.png", add_mos = {{image="npc/horror_corrupted_horner_horror.png", display_h=2, display_y=-1}}}, - desc = [[A fearsome bull-headed monster, he swings a mighty axe as he curses all that defy him.]], + desc = [[Some horrible power has twisted this brutish minotaur into something altogether more terrifying. Huge tentacles undulate from its back as it clenches and unclenches its powerful fists.]], killer_message = "and revived as a mindless horror", level_range = {12, nil}, exp_worth = 2, max_life = 250, life_rating = 17, fixed_rating = true, @@ -101,7 +101,7 @@ newEntity{ define_as = "MINOTAUR_MAZE", name = "Minotaur of the Labyrinth", display = "H", color=colors.VIOLET, resolvers.nice_tile{image="invis.png", add_mos = {{image="npc/giant_minotaur_minotaur_of_the_labyrinth.png", display_h=2, display_y=-1}}}, - desc = [[A fearsome bull-headed monster, he swings a mighty axe as he curses all that defy him.]], + desc = [[A fearsome bull-headed monster, he swings a mighty axe as he curses all who defy him.]], killer_message = "and hung on a wall-spike", level_range = {12, nil}, exp_worth = 2, max_life = 250, life_rating = 17, fixed_rating = true, diff --git a/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua b/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua index c2d41d5a53..3c42e47348 100644 --- a/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua +++ b/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua @@ -85,6 +85,7 @@ newEntity{ define_as = "SHADE", newEntity{ base = "BASE_NPC_THIEF", define_as = "THE_POSSESSED", allow_infinite_dungeon = true, name = "The Possessed", color=colors.VIOLET, + resolvers.nice_tile{image="invis.png", add_mos = {{image="npc/humanoid_human_the_possessed.png", display_h=2, display_y=-1}}}, desc = [[He is the leader of a gang of bandits that killed the Shade of Kor'Pul, however it is obvious the Shade was merely displaced. It is now possessing the corpse of his killer.]], killer_message = "and used as a new host", level_range = {7, nil}, exp_worth = 2, diff --git a/game/modules/tome/init.lua b/game/modules/tome/init.lua index fdffc2b1f3..19a6de06a3 100644 --- a/game/modules/tome/init.lua +++ b/game/modules/tome/init.lua @@ -22,8 +22,8 @@ long_name = "Tales of Maj'Eyal: Age of Ascendancy" short_name = "tome" author = { "DarkGod", "darkgod@te4.org" } homepage = "http://te4.org/" -version = {1,0,3} -engine = {1,0,3,"te4"} +version = {1,0,4} +engine = {1,0,4,"te4"} description = [[ Welcome to Maj'Eyal. -- GitLab