Our Tavern (open discussion)


Recommended Posts

 

:/

 

DINGGIDONG! It is the time adventurers!
It's 21h00 here and 09h00 for others people(yay, it's the morning, isn't that cool?).
 
This time, i got busy with some things.
 
Today:
 
-added king head thing on goblin page.
-added the dolphin meat thing for the barb.
-writed, bugged and rewrited poison spider page
-writed undeads page
 
 
 
Feel free to add pictures or edit pages...as long as they are the same informations!

 

Couple things I noticed, otherwise it's looking good. 

 

"Undead" is singular and plural, there is no such word as "undeads" and I can't figure out for the life of me how to edit a page title :p

 

Also animated armor is not an undead type, animated armors fall under "constructs" , like clockworks, inanimate objects possessed by magic. Check out that sheet I had you download from our github, all the types are in there ;)

 

Other than that stuff, good work :)

Link to comment
Share on other sites

you mean , 1 or 2 nightmare fuel at 50%? (i need precise informations!!!)

    inst.components.lootdropper:AddChanceLoot("nightmarefuel",0.75)    inst.components.lootdropper:AddChanceLoot("nightmarefuel",0.18) 

meaning 2 independent rolls, one for 75% one 18%. Don't ask me how i came up with 18 exactly, I have no idea.

  • Like 1
Link to comment
Share on other sites

and how does this work :local function GetInventory(inst)

    --inv doesnt reload fully on load, have to prevent double spawning
    inst:DoTaskInTime(0,function()
 
        if(inst.loadedSpawn)then
            return
        end
    local rng = math.random()
    local item=nil
    if(rng<0.5)then
--empty
    elseif(rng<0.75)then        
--spawn weap
        item=SpawnPrefab("hambat")
    elseif(rng<0.85)then
--spawn helm
        item=SpawnPrefab("footballhat") 
    else
--spawn armor
        item=SpawnPrefab("armorgrass")
    end
    if(item)then
        inst.components.inventory:Equip(item)
    end
         inst.loadedSpawn=true
 
 
does that mean :
 
he have 50% to get nothing
if he fall on the good side, he got 25% to get hambat
then if he don't get hambat 
he get football hat with 10%
and else with 15% he get armorgrass.
Is that right?
everything in one roll so he can't get 2 things
 
writed for the wiki it will looks like that : 
Loot table : Nothing(50%), Hambat(25%), Football Helmet(10%) or Grass Armor(15%)
 
 
 
edit : and does the 2 boneshard loots are new with the wizard update?
 
Edited by orian34
Link to comment
Share on other sites

Yes, to both, I think. I wanted to put something in the first 'case' but i don't remember what anymore.

 

The reason why drops are exclusive is because it would be horribly annoying to beat up something with both armors on - and there are no bone helmets or something that would have lower %

Link to comment
Share on other sites

what are ths? local function drybones(Sim)

    local inst=fn(Sim)
    local anim=inst.AnimState
    inst.Transform:SetScale(2, 2, 2)
    anim:SetBank("wilson")
    anim:SetBuild("drybones")
    anim:PlayAnimation("idle")
 
    inst.components.health.fa_resistances[FA_DAMAGETYPE.FIRE]=1
    return inst
end
 
local function skull(Sim)
    local inst=fn(Sim)
    local anim=inst.AnimState
--    inst.Transform:SetScale(2, 2, 2)
    anim:SetBank("wilson")
    anim:SetBuild("fa_skull")
    anim:PlayAnimation("idle")
 
    return inst
end
 
local function firedartspawn(Sim)
     local inst=drybones(Sim)
    local anim=inst.AnimState
    inst.components.inventory.dropondeath = true
    GetFireDart(inst)
    return inst
end
Link to comment
Share on other sites

not spawning anywhere atm, first is fire immune/red skeleton, 2nd is just a floating skull, 3rd is same as drybones just spawning with fire darts as default weapon - eventually it would run with proper ranged ai (running away etc) but I never got around to it.

  • Like 1
Link to comment
Share on other sites

DINGGIDONG! It is the time adventurers!

It's 21h00 here and 09h00 for others people(yay, it's the morning, isn't that cool?).

 

This time, i got busy with the law.

 

Today:

 

-added constructs page.

-added everything related to the change of the undead page.

-ate the poison spider page ;)

-writed ghost page(it was hard to find the infos :3)

-writed skeleton page(fiew late :/, i started the first line at 21h09)

 

 

 

Feel free to add pictures or edit pages...as long as they are the same informations!

  • Like 3
Link to comment
Share on other sites

AddTaskPreInit("Make a pick", AddGoblinEntrancePreInit)

AddTaskPreInit("The Deep Forest", AddGoblinEntrancePreInit)

AddTaskPreInit("Squeltch", AddGoblinEntrancePreInit)

AddTaskPreInit("Squeltch", function(task)

task.room_choices["FA_MineEntranceEvil"] = 1

end)

AddTaskPreInit("Badlands", function(task)

task.room_choices["FA_MineEntranceHound"] = 1

end)

AddTaskPreInit("Dig that rock", function(task)

task.room_choices["FA_MineEntranceRocky"] = 1

end)

AddTaskPreInit("Swamp start", AddGoblinEntrancePreInit)

AddTaskPreInit("The charcoal forest", AddGoblinEntrancePreInit)

 

local function AddOrcPieces(level)

level.set_pieces["FAOrcSetRocky"]= { count=5, tasks={"Kill the spiders","Mole Colony Rocks", "Dig that rock"} }

level.set_pieces["FAOrcSetEvil"]= { count=5, tasks={"Squeltch"} }

level.set_pieces["FAOrcSetHound"]= { count=5, tasks={"Badlands","Oasis"} }

end

 

 

i don't understand cause i only see 2 goblin entrance and 3 orc camp....where are the others mentionned in that?

Link to comment
Share on other sites

armorfire=50,

            armorfrost=50,
            dagger=50,
            flamingsword=50,
            frostsword=50,
            undeadbanesword=50,
            vorpalaxe=50,
            fa_lightningsword=50,
            fa_bottle_r=50,
            fa_bottle_y=50,
            fa_bottle_g=50,
            fa_bottle_b=50,
            fa_fireaxe=50,
            fa_iceaxe=50
        
    },
    tier2={
            armorfire2=35,
            armorfrost2=35,
            dagger2=35,
            flamingsword2=35,
            frostsword2=35,
            undeadbanesword2=35,
            vorpalaxe2=35,
            fa_lightningsword=35,
            fa_fireaxe2=35,
            fa_iceaxe2=35
    },
    tier3={
            armorfire3=15,
            armorfrost3=15,
            dagger3=15,
            flamingsword3=15,
            frostsword3=15,
            undeadbanesword3=15,
            vorpalaxe3=15,
            fa_lightningsword=15,
            fa_fireaxe3=15,
            fa_iceaxe3=15,
            fa_redtotem_item=15,
            fa_bluetotem_item=15
    },
    TABLE_WEIGHT=1260,
    TABLE_TIER1_WEIGHT=700,
    TABLE_TIER2_WEIGHT=350,
    TABLE_TIER3_WEIGHT=180
 
how does this work?
 
edit : same for that
if math.random() < GLOBAL.GHOST_MOUND_ITEM_CHANCE then
                    local loots = 
                    {
                        nightmarefuel = 1,
                        amulet = 1,
                        gears = 1,
                        redgem = 5,
                        bluegem = 5,
                    }
                    item = GLOBAL.weighted_random_choice(loots)
                else
                    item = "trinket_"..tostring(math.random(GLOBAL.NUM_TRINKETS))
                end
 
                if item then
                    inst.components.lootdropper:SpawnLootPrefab(item)
                end
                if(math.random()<GLOBAL.GHOST_MOUND_SCROLL_CHANCE)then
                    inst.components.lootdropper:SpawnLootPrefab("fa_scroll_12")
                end
        end
Edited by orian34
Link to comment
Share on other sites

As far as world gen goes, not all tasks mentioned spawn all the time - some are optional so depends on the roll. Most of the time, it does spawn 2 not 3 goblin entrances because of that. Orc ones are being added to tasks that are mandatory, so they will spawn (or try to spawn anyway) 3 all the time. Of course, sometimes the worldgen itself gets stupid and loses some due to not being able to find placement but that's a different matter altogether.

 

You can ignore the AddOrcPieces function, it's never called IIRC.

 

As for the Fallen loot tables, they're added on top of the vanilla lootdropper functionality 1. so they don't collide with whatever the default drops are 2. cause the exact logic was problematic to implement within existing logic. Basically, certain mobs have a chance to roll on the new loot table on top of whatever else they drop - that chance is fixed and defined separately on per-mob basis. If the roll is successful, the actual item to drop is being decided based on weights of items specified in loot table (the list you see). Some mobs may drop from just one tier, others from multiple tiers, and to optimize/instead of recalculating all the time I just put the total weights into the loot table itself.

 

The exact mobs and logic is set at the bottom of modmain below addFullLootPrefabPostInit, pretty much on a per-mob basis. Probably not the easiest thing to go through  - tho I guess you could just slap the loot table tiers in one place and cross reference the mobs involved if you wanted to.

 

The mounds dropping stuff when you dig them is just vanilla code I sadly had to override completely due to inline constants in klei code I wanted to change (raising the spawn chance to 0.5, for one). The only added part there is 5% chance to spawn lvl1 random/unknown scroll.

  • Like 1
Link to comment
Share on other sites

function Dapperness:GetDapperness(owner)
        local d=dapperness_getdapperness_def(self,owner)
        if(owner and owner:HasTag("player") and owner.prefab=="cleric" and d<0)then
          --  print("got in dapperness nerf")
            d=d*2
        end
        return d
 
does the cleric got dapperness nerf???
 
 
 
 
 
 function quaker:GetDebris()
                    local rng = math.random()
                    local todrop = nil
                    if rng < 0.75 then
                            todrop = quakerlootoverride.common[math.random(1, #quakerlootoverride.common)]
                    elseif rng >= 0.75 and rng < 0.95 then
                            todrop = quakerlootoverride.rare[math.random(1, #quakerlootoverride.rare)]
                    else
                            todrop = quakerlootoverride.veryrare[math.random(1, #quakerlootoverride.veryrare)]
                    end
                    return todrop
 
 
is that for every quake or only specific place?

 

Edited by orian34
Link to comment
Share on other sites

Cleric gets doubled negative effects from items - or was supposed so anyway, now that you mention it, I forgot to change that code to include ROG hackfest... grr, I have to patch that too lol.

 

quakerlootoverride triggers on our cave levels only, if you look at FA_QUAKER_LOOT_OVERRIDE["GOBLIN_CAVE"]

in fa_constants you'll see what's actually done. The other one is currently unused. I think the only thing changed is a rare chance for thulecite pieces to drop on earthquake in goblin dungeon.

 

Finally, the nightstick change was because of your combat logic change, to turn it into regular electric damage weapon as per our damage specifications - it's losing all the nonsense about electric stimuli, but it's getting 1.5*base damage so it makes up for losses, and it acts properly towards the resists and stuff.
 

Link to comment
Share on other sites

ok thanks, i was making a jump into the modmain to gather all the content i needed for the wiki(and i got it with your answers)

 

So if i understand, the cleric don't have it for now but it is supposed to *2 every sanity loss clothes? or other things?(can you specify if so)

 

edit: btw it's fun that fishing makes merm spawn :D no more fish farm without problems

Edited by orian34
  • Like 1
Link to comment
Share on other sites

DINGGIDONG! It is the time adventurers!

It's 21h00 here and 09h00 for others people(yay, it's the morning, isn't that cool?).

 

This time, i got busy with the modmain.

 

Today:

 

-added death resistance for the ghost

-modified every page with resistances and chara bonuses to make it more understandable for dummies like me(added % )

-added dapperness nerf for the cleric

-wrote the neutral creatures page

 

Feel free to add pictures or edit pages...as long as they are the same informations!

 

  • Like 3
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share