Giter Site home page Giter Site logo

badonnthedeer / anthrotraits Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 2.0 43.94 MB

A mod for Project Zomboid that adds anthro-themed traits for player characters, and integrates with mods that provide furry player models.

License: MIT License

Lua 100.00%
anthro furry project-zomboid project-zomboid-mod trait

anthrotraits's People

Contributors

badonnthedeer avatar demiurgequantified avatar

Stargazers

 avatar  avatar

Watchers

 avatar

anthrotraits's Issues

Allow Carn/Herbivore to affect meals.

During play I trend towards less nutritious, singular objects since my bonuses don't apply to meals. Fix that. See if you can add tags to them on creation?

Adding spices causes errors

23-11-23 11:05:32.710] LOG : General , 1700755532710> 23,121,354,938> -------------------------------------------------------------
attempted index: size of non-table: null.
[23-11-23 11:05:32.711] LOG : General , 1700755532711> 23,121,354,939> -----------------------------------------
STACK TRACE

function: perform -- file: AnthroTraitsFunctionHooks.lua line # 121 | MOD: Anthro Traits.
[23-11-23 11:05:32.712] LOG : General , 1700755532712> 23,121,354,939> 1700755532712 fmod: Java_fmod_javafmodJNI_FMOD_1Sound_1GetData:4540 ERROR FMOD_System_GetRecordPosition (80).
[23-11-23 11:05:32.713] ERROR: General , 1700755532713> 23,121,354,941> ExceptionLogger.logException> Exception thrown java.lang.RuntimeException: attempted index: size of non-table: null at KahluaThread.tableget line:1689..
[23-11-23 11:05:32.713] ERROR: General , 1700755532713> 23,121,354,941> DebugLogStream.printException> Stack trace:.
[23-11-23 11:05:32.715] LOG : General , 1700755532715> 23,121,354,943> -----------------------------------------
STACK TRACE

function: perform -- file: AnthroTraitsFunctionHooks.lua line # 121 | MOD: Anthro Traits.

image

Bull Rush doesn't knockdown players

[12-06-23 16:06:02.778] WARN : Multiplayer , 1686603962778> 69,200,025> EventPacket.tryProcess> Event skipped: [ player=0 "Badonn" | name="Update" | pos=( 10881.933 ; 10036.508 ; 0.0 ) | type1="" | type2="" | type3="" | type4="" | flags=512" | variables=41984 ].

only works if playerbumpplayer on. Sprinting into a player produces a bump for the receiving player, tripping the aggressor player.

Make Trait Costs Customizable via Sandbox Vars

Errors thrown with Skill Recovery Tooltips

Mod here:
https://steamcommunity.com/sharedfiles/filedetails/?id=2503622437

The error below was thrown on a vanilla belt.

-----------------------------------------
STACK TRACE
-----------------------------------------
Callframe at: se.krka.kahlua.integration.expose.MultiLuaJavaInvoker@f02cb363
function: render -- file: ISToolTipInv.lua line # 78 | Vanilla
function: render -- file: AnthroTraitsFunctionHooks.lua line # 211 | MOD: Anthro Traits
function: render -- file: Skill Recovery Journal Tooltip.lua line # 262 | MOD: Skill Recovery Journal

ERROR: General     , 1694205478459> 2,323,907,110> ExceptionLogger.logException> Exception thrown java.lang.reflect.InvocationTargetException at GeneratedMethodAccessor1677.invoke.
ERROR: General     , 1694205478459> 2,323,907,110> DebugLogStream.printException> Stack trace:
java.lang.reflect.InvocationTargetException
	at jdk.internal.reflect.GeneratedMethodAccessor1677.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at se.krka.kahlua.integration.expose.caller.MethodCaller.call(MethodCaller.java:62)
	at se.krka.kahlua.integration.expose.LuaJavaInvoker.call(LuaJavaInvoker.java:198)
	at se.krka.kahlua.integration.expose.MultiLuaJavaInvoker.call(MultiLuaJavaInvoker.java:60)
	at se.krka.kahlua.vm.KahluaThread.callJava(KahluaThread.java:182)
	at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:1007)
	at se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:163)
	at se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1980)
	at se.krka.kahlua.vm.KahluaThread.pcallvoid(KahluaThread.java:1827)
	at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:38)
	at zombie.ui.UIElement.render(UIElement.java:1534)
	at zombie.ui.UIManager.render(UIManager.java:446)
	at zombie.gameStates.IngameState.renderFrameUI(IngameState.java:1183)
	at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37)
	at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
	at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83)
	at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230)
	at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26)
	at zombie.util.Lambda.capture(Lambda.java:130)
	at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81)
	at zombie.gameStates.IngameState.renderframeui(IngameState.java:1172)
	at zombie.gameStates.IngameState.renderInternal(IngameState.java:1324)
	at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37)
	at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
	at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83)
	at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230)
	at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26)
	at zombie.util.Lambda.capture(Lambda.java:130)
	at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81)
	at zombie.gameStates.IngameState.render(IngameState.java:1271)
	at zombie.gameStates.GameStateMachine.render(GameStateMachine.java:37)
	at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37)
	at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
	at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83)
	at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230)
	at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26)
	at zombie.util.Lambda.capture(Lambda.java:130)
	at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81)
	at zombie.GameWindow.renderInternal(GameWindow.java:340)
	at zombie.GameWindow.frameStep(GameWindow.java:774)
	at zombie.GameWindow.run_ez(GameWindow.java:681)
	at zombie.GameWindow.mainThread(GameWindow.java:495)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: class zombie.inventory.types.InventoryContainer cannot be cast to class zombie.inventory.types.Clothing (zombie.inventory.types.InventoryContainer and zombie.inventory.types.Clothing are in unnamed module of loader 'app')
	at zombie.inventory.types.Clothing.DoTooltip(Clothing.java:237)
	at zombie.inventory.InventoryItem.DoTooltip(InventoryItem.java:619)
	... 45 more
LOG  : General     , 1694205478461> 2,323,907,111> 

ATOnCharacterCollide errors out in MP for Riley

function: ATOnCharacterCollide -- file: AnthroTraits.lua line # 642 | MOD: Anthro Traits.
[12-06-23 16:14:03.265] ERROR: General , 1686604443265> 69,680,515> ExceptionLogger.logException> Exception thrown java.lang.RuntimeException: Object tried to call nil in ATOnCharacterCollide at KahluaUtil.fail line:82..
[12-06-23 16:14:03.265] ERROR: General , 1686604443265> 69,680,516> DebugLogStream.printException> Stack trace:.
[12-06-23 16:14:03.270] LOG : General , 1686604443270> 69,680,520> -----------------------------------------

Tooltips don't show for traits in-game sometimes

Heyo!
Fantastic mod, really adds to the flavor of playing an anthro creature.

I'm having trouble with the traits not showing their description in-game. I've tried unsubbing, resubbing, restarting the game in various combinations without much luck.

Edit: Sike, apparently.
I loaded up the game to grab a screenshot and they were working. Only thing I did differently is that I loaded up a save file I'd already started and went to make a new character.

Either that gets the descriptions to register properly, or you gotta really spam a restart of the game multiple times. But they do show up. Will post again if I have further trouble.
Last edited by Kaiser; Nov 3 @ 9:34pm โ€” [See post history](javascript:Forum_ShowForumAudits( '3817417431886225385', '3942398662636308875' );)
#28

MommaBee has Project Zomboid Nov 18 @ 9:27am
Im also having the issue as Kaiser above, im thinking it could be a mod description or another mod possibly over writing the descriptions? but im not entirely sure

Herbivore increasing meat stats?

eat half ham
[12-06-23 00:42:20.678] LOG : General , 1686544940678> 10,181,286> Item| BaseHunger: -0.6000000238418579, ThirstChange: 0, BoredomChange: 0, UnhappyChange: 0, Calories: 780.
[12-06-23 00:42:20.679] LOG : General , 1686544940679> 10,181,286> Before Mod| Hunger: 0.03786119818687439, Thirst: 0.10292135924100876, Boredom: 3.8533828258514404, Unhappiness: 5.250000953674316, Calories:-733.5172119140625.
[12-06-23 00:42:20.679] LOG : General , 1686544940679> 10,181,287> After Mod| Hunger: -0.11213880777359009, Thirst: 0.10292135924100876, Boredom: 3.8533828258514404, Unhappiness: 5.250000953674316, Calories:-928.5172119140625.
eat half ham
[12-06-23 00:44:57.247] LOG : General , 1686545097247> 10,337,851> Item| BaseHunger: -0.6000000238418579, ThirstChange: 0, BoredomChange: 0, UnhappyChange: 0, Calories: 780.
[12-06-23 00:44:57.247] LOG : General , 1686545097247> 10,337,852> Before Mod| Hunger: -0.26408085227012634, Thirst: 0.14571015536785126, Boredom: 11.275405883789062, Unhappiness: 5, Calories:-208.2215576171875.
[12-06-23 00:44:57.248] LOG : General , 1686545097248> 10,337,852> After Mod| Hunger: -0.5640808343887329, Thirst: 0.14571015536785126, Boredom: 11.275405883789062, Unhappiness: 5, Calories:-598.2215576171875.

Missing/malformed food tags

Cannot find item Base.Sunfish to add tag ATCarnivore.
[13-06-23 21:47:12.210] LOG : General , 1686710832210> 0> Cannot find item base.Ginsing to add tag ATHerbivore.
[13-06-23 21:47:12.211] LOG : General , 1686710832211> 0> Cannot find item base.Winterberry to add tag ATHerbivore.

ISRemoveGlass Error Line 70

ISRemoveGlass.lua line # 70 | Vanilla.
[17-06-23 23:35:42.151] ERROR: General , 1687059342151> 354,968,969> ExceptionLogger.logException> Exception thrown java.lang.IllegalArgumentException at NativeMethodAccessorImpl.invoke0 (Native Method)..

Was removing glass with suture holders in close proximity inside. Action was cancelled on completion.

713: attempted index: canTripChecked of non-table: null.

function: ATOnObjectCollide -- file: AnthroTraits.lua line # 713 | MOD: Anthro Traits.
[12-06-23 16:00:41.315] LOG : General , 1686603641315> 68,878,564> Object: nil.
[12-06-23 16:00:41.316] LOG : General , 1686603641316> 68,878,564> collider: userdata.
[12-06-23 16:00:41.316] LOG : General , 1686603641316> 68,878,565> -------------------------------------------------------------
attempted index: canTripChecked of non-table: null.

OldFallTime causes errors when AnthroTraits is added midgame


function: ATPlayerUpdate -- file: AnthroTraitsMain.lua line # 796 | MOD: Anthro Traits.
[16-10-23 01:03:02.441] ERROR: General , 1697439782441> 5,193,240,789> ExceptionLogger.logException> Exception thrown java.lang.RuntimeException: attempted index: oldFallTime of non-table: null at KahluaThread.tableget line:1689..
[16-10-23 01:03:02.441] ERROR: General , 1697439782441> 5,193,240,789> DebugLogStream.printException> Stack trace:.
[16-10-23 01:03:02.442] LOG : General , 1697439782442> 5,193,240,791> -----------------------------------------
STACK TRACE

function: ATPlayerUpdate -- file: AnthroTraitsMain.lua line # 796 | MOD: Anthro Traits.
[16-10-23 01:03:02.456] LOG : General , 1697439782456> 5,193,240,805> -------------------------------------------------------------
attempted index: oldFallTime of non-table: null.
[16-10-23 01:03:02.456] LOG : General , 1697439782456> 5,193,240,805> -----------------------------------------
STACK TRACE

function: ATPlayerUpdate -- file: AnthroTraitsMain.lua line # 796 | MOD: Anthro Traits.
[16-10-23 01:03:02.456] ERROR: General , 1697439782456> 5,193,240,805> ExceptionLogger.logException> Exception thrown java.lang.RuntimeException: attempted index: oldFallTime of non-table: null at KahluaThread.tableget line:1689..
[16-10-23 01:03:02.456] ERROR: General , 1697439782456> 5,193,240,805> DebugLogStream.printException> Stack trace:.
[16-10-23 01:03:02.457] LOG : General , 1697439782457> 5,193,240,807> -----------------------------------------
STACK TRACE

function: ATPlayerUpdate -- file: AnthroTraitsMain.lua line # 796 | MOD: Anthro Traits.
[16-10-23 01:03:02.473] LOG : General , 1697439782473> 5,193,240,822> -------------------------------------------------------------
attempted index: oldFallTime of non-table: null.
[16-10-23 01:03:02.473] LOG : General , 1697439782473> 5,193,240,822> -----------------------------------------
STACK TRACE

My theory is that since a new character isn't created, the OldFallTime var never gets created and added to a character, causing this issue.

Food tooltips don't show cooking, burning, or freezing bars

elseif instanceof(item, "Drainable") then
	local text = getText("IGUI_invpanel_Remaining") .. ":"
	self:drawTextAndProgressBar(text, item:getUsedDelta(), xoff, top, fgText, fgBar)
elseif item:getMeltingTime() > 0 then
	local text = getText("IGUI_invpanel_Melting") .. ":"
	self:drawTextAndProgressBar(text, item:getMeltingTime() / 100, xoff, top, fgText, fgBar)
elseif instanceof(item, "Food") then
	if item:isIsCookable() and not item:isFrozen() and item:getHeat() > 1.6 then
		local ct = item:getCookingTime()
		local mtc = item:getMinutesToCook()
		local mtb = item:getMinutesToBurn()
		local f = ct / mtc;
		local s = getText("IGUI_invpanel_Cooking") .. ":"
		if ct > mtb then
			s = getText("IGUI_invpanel_Burnt") .. ":"
		elseif ct > mtc then
			s = getText("IGUI_invpanel_Burning") .. ":"
			f = (ct - mtc) / (mtb - mtc);
            fgBar.r = getCore():getBadHighlitedColor():getR()
            fgBar.g = getCore():getBadHighlitedColor():getG()
            fgBar.b = getCore():getBadHighlitedColor():getB()
		end	
		self:drawText(s, 40 + 30 + xoff, top + (self.itemHgt - self.fontHgt) / 2, fgText.a, fgText.r, fgText.g, fgText.b, self.font);
		if item:isBurnt() then return end
		local textWid = getTextManager():MeasureStringX(self.font, s)
		self:drawProgressBar(40 + math.max(120, 30 + textWid + 20) + xoff, top+(self.itemHgt/2)-1, 100, 2, f, fgBar);
    elseif item:getFreezingTime() > 0 then
		local text = getText("IGUI_invpanel_FreezingTime") .. ":"
		self:drawTextAndProgressBar(text, item:getFreezingTime() / 100, xoff, top, fgText, fgBar)

Try this from --ISInventoryPane.drawItemDetails

Food Tooltips are too wide

My best guess for this is the width-finding function doesn't strip out the "formatting" before measuring the width. So any colors or anything else in percent signs is part of the width (but actually isn't).
image

ATEveryOneMinute fires immediately after creating second character

On creating a second character, ATEveryOneMinute fires, erroring out on line 779. it can't find a player with the player index and when modData is attempted to be initialized, it causes said error. Look into the event itself and figure out if there's a way to turn it off as a player spawns.

Bullrush doesn't sync with the server in multiplayer

knockdowns only show on the source client and don't sync with others.

Dhert, discord:

No, the server doesn't process any of that information. On hit the attacker sends a command to the sever with the zombie's ID (and some other stuff), and this is then relayed to all players. I build a cache periodically of all zombies in your current cell and organize it by ID so I can just get the zombie's reference by the ID received. I then just call the java hit reaction function, as I don't have access to the "FallDown" state (but I do to all the others. blech).

Digitigrade: reduce carrying capacity

NuclearPotato on Steam:

How about the digitigrade trait reducing your carrying capacity somewhat? One of the main benefits of a human plantigrade stature is that more weight can be distributed across more surface area straight down, while a digitigrade leg is in a constant state of stress and has less surface area to bear weight on.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.