Skip to content
Snippets Groups Projects
Commit 41bfc6d6 authored by dg's avatar dg
Browse files

test

git-svn-id: http://svn.net-core.org/repos/t-engine4@1003 51575b47-30f0-44d4-a5cc-537603b46e54
parent 86c5977d
No related branches found
No related tags found
No related merge requests found
......@@ -21,7 +21,7 @@ require "engine.class"
local Savefile = require "engine.Savefile"
local Map = require "engine.Map"
local Astar = require "engine.Astar"
local print = function() end
--local print = function() end
--- Defines a zone: a set of levels, with depth, nps, objects, level generator, ...
module(..., package.seeall, class.make)
......@@ -85,11 +85,12 @@ end
--- Parses the npc/objects list and compute rarities for random generation
-- ONLY entities with a rarity properties will be considered.<br/>
-- This means that to get a never-random entity you simply do not put a rarity property on it.
function _M:computeRarities(type, list, level, filter, add_level)
function _M:computeRarities(type, list, level, filter, add_level, rarity_field)
rarity_field = rarity_field or "rarity"
local r = { total=0 }
print("******************", level.level)
for i, e in ipairs(list) do
if e.rarity and e.level_range and (not filter or filter(e)) then
if e[rarity_field] and e.level_range and (not filter or filter(e)) then
-- print("computing rarity of", e.name)
local lev = self.base_level + (level.level - 1) + (add_level or 0)
......@@ -97,8 +98,8 @@ function _M:computeRarities(type, list, level, filter, add_level)
if lev < e.level_range[1] then max = 10000 / (3 * (e.level_range[1] - lev))
elseif e.level_range[2] and lev > e.level_range[2] then max = 10000 / (lev - e.level_range[2])
end
local genprob = math.floor(max / e.rarity)
print(("Entity(%30s) got %3d (=%3d / %3d) chance to generate. Level range(%2d-%2s), current %2d"):format(e.name, math.floor(genprob), math.floor(max), e.rarity, e.level_range[1], e.level_range[2] or "--", lev))
local genprob = math.floor(max / e[rarity_field])
print(("Entity(%30s) got %3d (=%3d / %3d) chance to generate. Level range(%2d-%2s), current %2d"):format(e.name, math.floor(genprob), math.floor(max), e[rarity_field], e.level_range[1], e.level_range[2] or "--", lev))
-- Generate and store egos list if needed
if e.egos and e.egos_chance then
......
......@@ -52,7 +52,7 @@ Myrmidons are the most devoted warriors, following the orders of Maglor whatever
rarity = 1,
max_life = resolvers.rngavg(120,150), life_rating = 16,
resolvers.equip{
{type="weapon", subtype="trident", autoreq=true},
{type="weapon", subtype="trident", autoreq=true, special_rarity="trident_rarity"},
},
combat_armor = 20, combat_def = 10,
resolvers.talents{
......@@ -100,7 +100,7 @@ Psyrens are dangerous naga that can directly assault your mind.]],
female = true,
max_life = resolvers.rngavg(100,110), life_rating = 11,
resolvers.equip{
{type="weapon", subtype="trident", autoreq=true},
{type="weapon", subtype="trident", autoreq=true, special_rarity="trident_rarity"},
},
combat_armor = 5, combat_def = 10,
autolevel = "wildcaster",
......
......@@ -25,7 +25,7 @@ newEntity{
add_name = " (#COMBAT#)",
display = "|", color=colors.AQUAMARINE,
encumber = 3,
rarity = 5,
trident_rarity = 5, -- Special rarity field, converted to "rarity" when needed
metallic = true,
no_rust = true,
combat = { talented = "axe", damrange = 1.6, sound = "actions/melee", sound_miss = "actions/melee_miss", },
......
......@@ -17,53 +17,60 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
local loadIfNot = function(f)
if loaded[f] then return end
load(f, entity_mod)
end
-- Misc
load("/data/general/objects/money.lua")
load("/data/general/objects/gem.lua")
load("/data/general/objects/lites.lua")
loadIfNot("/data/general/objects/money.lua")
loadIfNot("/data/general/objects/gem.lua")
loadIfNot("/data/general/objects/lites.lua")
-- Usable stuff
load("/data/general/objects/potions.lua")
load("/data/general/objects/scrolls.lua")
load("/data/general/objects/wands.lua")
loadIfNot("/data/general/objects/potions.lua")
loadIfNot("/data/general/objects/scrolls.lua")
loadIfNot("/data/general/objects/wands.lua")
-- Jewelry stuff
load("/data/general/objects/jewelry.lua")
loadIfNot("/data/general/objects/jewelry.lua")
-- Weapons
load("/data/general/objects/staves.lua")
load("/data/general/objects/knifes.lua")
loadIfNot("/data/general/objects/staves.lua")
loadIfNot("/data/general/objects/knifes.lua")
loadIfNot("/data/general/objects/swords.lua")
loadIfNot("/data/general/objects/2hswords.lua")
load("/data/general/objects/swords.lua")
load("/data/general/objects/2hswords.lua")
loadIfNot("/data/general/objects/maces.lua")
loadIfNot("/data/general/objects/2hmaces.lua")
load("/data/general/objects/maces.lua")
load("/data/general/objects/2hmaces.lua")
loadIfNot("/data/general/objects/axes.lua")
loadIfNot("/data/general/objects/2haxes.lua")
load("/data/general/objects/axes.lua")
load("/data/general/objects/2haxes.lua")
loadIfNot("/data/general/objects/2htridents.lua")
load("/data/general/objects/bows.lua")
load("/data/general/objects/slings.lua")
loadIfNot("/data/general/objects/bows.lua")
loadIfNot("/data/general/objects/slings.lua")
-- Armours
load("/data/general/objects/shields.lua")
load("/data/general/objects/cloth-armors.lua")
load("/data/general/objects/light-armors.lua")
load("/data/general/objects/heavy-armors.lua")
load("/data/general/objects/massive-armors.lua")
loadIfNot("/data/general/objects/shields.lua")
loadIfNot("/data/general/objects/cloth-armors.lua")
loadIfNot("/data/general/objects/light-armors.lua")
loadIfNot("/data/general/objects/heavy-armors.lua")
loadIfNot("/data/general/objects/massive-armors.lua")
-- Head, feet, hands, ...
load("/data/general/objects/leather-caps.lua")
load("/data/general/objects/helms.lua")
load("/data/general/objects/wizard-hat.lua")
load("/data/general/objects/leather-boots.lua")
load("/data/general/objects/heavy-boots.lua")
--load("/data/general/objects/gloves.lua")
loadIfNot("/data/general/objects/leather-caps.lua")
loadIfNot("/data/general/objects/helms.lua")
loadIfNot("/data/general/objects/wizard-hat.lua")
loadIfNot("/data/general/objects/leather-boots.lua")
loadIfNot("/data/general/objects/heavy-boots.lua")
--loadIfNot("/data/general/objects/gloves.lua")
-- Mounts
load("/data/general/objects/mounts.lua")
loadIfNot("/data/general/objects/mounts.lua")
-- Artifacts
load("/data/general/objects/world-artifacts.lua")
load("/data/general/objects/quest-artifacts.lua")
loadIfNot("/data/general/objects/world-artifacts.lua")
loadIfNot("/data/general/objects/quest-artifacts.lua")
......@@ -17,8 +17,8 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
load("/data/general/objects/2htridents.lua", function(e) e.rarity = e.trident_rarity end)
load("/data/general/objects/objects.lua")
load("/data/general/objects/2htridents.lua")
local Talents = require "engine.interface.ActorTalents"
local Stats = require "engine.interface.ActorStats"
......
......@@ -21,8 +21,8 @@ local Talents = require "engine.interface.ActorTalents"
local Stats = require "engine.interface.ActorStats"
local DamageType = require "engine.DamageType"
load("/data/general/objects/2htridents.lua", function(e) e.rarity = e.trident_rarity end)
load("/data/general/objects/objects.lua")
load("/data/general/objects/2htridents.lua")
-- Artifact, droped (and used!) by Bill the Stone Troll
......
......@@ -16,7 +16,8 @@
--
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
load("/data/general/npcs/naga.lua", rarity(6))
--[[
-- Orcs & trolls
load("/data/general/npcs/orc-grushnak.lua", rarity(0))
load("/data/general/npcs/orc-vor.lua", rarity(0))
......@@ -40,7 +41,7 @@ load("/data/general/npcs/ghoul.lua", rarity(2))
load("/data/general/npcs/skeleton.lua", rarity(3))
load("/data/general/npcs/all.lua", rarity(4, 35))
]]
local Talents = require("engine.interface.ActorTalents")
-- Alatar & Palando, the final bosses
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment