help adding a single ego to a weapon

If you have a module that you'd like comments on or would like to know how to create your very own module, post here

Moderator: Moderator

Post Reply
Message
Author
Overlord
Yeek
Posts: 10
Joined: Sun Mar 03, 2013 3:07 pm

help adding a single ego to a weapon

#1 Post by Overlord »

does anyone have an idea of how i can add a single ego to a weapon in code?

i have pre-generated an item with

o = game.zone:makeEntity(game.level, "object", filter, nil, true)

and after some checks it decides how good the item is and its at this point i need to add an ego from the newEntity egos list.

i cant use the built in chance of prefix=n and suffix=n in newEntity because i need to be able to add quite a few if the weapon is rolled as a Rare(1-3prefix,1-3suffix but name is random generated) and slightly more complex weighted chance of 25% chance of prefix, 25% chance of both, 50% chance of a suffix if the item is deemed a Magic item.

i did find this which might be what im after so if you know how to use it let me know.
game.zone:applyEgo(e, ego, type, no_name_change)
i just need a way of getting a single ego onto a weapon perhaps you have a better idea and any info will be a big help then i can work out adding more

Zireael
Archmage
Posts: 449
Joined: Tue Jun 18, 2013 7:24 pm

Re: help adding a single ego to a weapon

#2 Post by Zireael »

Take a look at how Veins does it.

https://github.com/Zireael07/The-Veins- ... 2.lua#L121

It relies on https://github.com/Zireael07/The-Veins- ... go.lua#L20 (to get the list of all allowed egos) and https://github.com/Zireael07/The-Veins- ... o.lua#L107 (to actually apply it).

Alternately, if you need just a few egos, you could do it like this:

Code: Select all

local crystalline_ego = Entity.new{ 

---bla blah whatever you want the ego to do
}

game.zone:applyEgo(o, crystalline_ego, "object", true)
o:resolve()
If you had a few egos, all you had to do to randomize them would be:

Code: Select all

local egos_table = {crystalline_ego, fire_ego, cold_ego}
and use

Code: Select all

local picked_ego = rng.table(egos_table)
game.zone:applyEgo(o, picked_ego, "object", true)
instead.

However, the simple version doesn't differentiate between suffixes and prefixes.

Overlord
Yeek
Posts: 10
Joined: Sun Mar 03, 2013 3:07 pm

Re: help adding a single ego to a weapon

#3 Post by Overlord »

Thanks mate for taking the time to give a good example thats exactly what i needed. :D

Zireael
Archmage
Posts: 449
Joined: Tue Jun 18, 2013 7:24 pm

Re: help adding a single ego to a weapon

#4 Post by Zireael »

I tried to add egos using a force_ego filter and I get Lua errors. Looking through the code, it only seems to be used once for an artifact. Is it broken? Is the method I outlined above the only way to do it currently?

Post Reply