Meatsterborn
New Member
- Nov 25, 2023
- 3
- 0
- 128
It gets worse. For some mysterious reason, one of the three scenes for corrupting each heroine has to be sex with your dungeon's monsters.Downloaded this thinking it'd be good. Sadly, my expectations were cut short. If the fact the goblins didn't have their way with Claire didn't happen, I'd have been okay with it. But really? Forced monster ntr? After being told explicitly by us, the demon lord, to tie her up and bring her to us, they raped her? That's fucking low. And I'm deleting this shit. At least please add the tag for ntr. She was meant to be ours. But nope. Fuck this game.
Yes, you're right. But you can try this: https://f95zone.to/threads/dungeons-legion-full-dlcs-lunasoft.91922/post-12280921 It's a pity that I can't completely decompile it, otherwise it would be a good game if I just changed the entire plot. The current plot is just as bad as you said. If you didn't use monsters as gatekeepers, those bad plots wouldn't appear.Downloaded this thinking it'd be good. Sadly, my expectations were cut short. If the fact the goblins didn't have their way with Claire didn't happen, I'd have been okay with it. But really? Forced monster ntr? After being told explicitly by us, the demon lord, to tie her up and bring her to us, they raped her? That's fucking low. And I'm deleting this shit. At least please add the tag for ntr. She was meant to be ours. But nope. Fuck this game.
Charasoft is the best but only Suzukuri Dungeon got a official translation.do you have any other games like this game to recommend?
I'll try playing itCharasoft is the best but only Suzukuri Dungeon got a official translation.
I also made a translation for Sono Taiju wa Makai o Kurau but haven't managed to find a crack for the latest patch.
It's probably the best game out of them.
There is alsoYou must be registered to see the linksthat works a bit diffrent and more about setting up trap combos.
There is also the Venus Blood Gaia series but that is more like a regular SRPG.
There is also Demonion series.
There is Hilichurl's Ambition which is similar to Goblin's Barrow if you want monster breeding.I'll try playing it
but what i mean is game is about being raped by monsters haha.
Here are some tips for your early game.can anyone give tips to manage the defence and raid so that it will be balance?
okay bro gonna try that, Thank you for the replyHere are some tips for your early game.
https://f95zone.to/threads/dungeons-legion-full-dlcs-lunasoft.91922/post-11666238
Many thanks to noxtek's work.Cheats and gallery unlocker for 1.3.2k KG 1.00 (current version posted)
unzip Assembly-CSharp.zip in "Dungeon's Legion_Data\Managed"
F1 Toggle unlimited resources
F2 One time boost resources (cap still apply)
F3 One time boost materials
F5 (in the main menu) unlock the gallery
public void CreateDropCostume(int battleScore)
{
ExpedDropCostume expedDropCostume = default(ExpedDropCostume);
expedDropCostume.HeroID = -1;
GameManager instance = SingletonMonoBehaviour<GameManager>.Instance;
ParamManager instance2 = SingletonMonoBehaviour<ParamManager>.Instance;
List<ExpedDropCostume> list = new List<ExpedDropCostume>();
foreach (HeroData heroData in instance.HeroDataList)
{
if (instance.GameMode == GAME_MODE.STORY && instance.GetAdvCount(ADV_LABEL.MEV2000) <= 0)
{
break;
}
if (!instance.IsDoneTechnology(TECHNOLOGY_TYPE.HERO_MENU_UNLOCK00))
{
break;
}
if (heroData.State == HERO_STATE.EVIL && this.m_HeroCtrl.GetPlayerHeroType(heroData.HeroID) != PLAYER_HERO_TYPE.PREGNANT)
{
for (int i = 0; i < 4; i++)
{
HERO_COSTUME_TYPE hero_COSTUME_TYPE = (HERO_COSTUME_TYPE)i;
if (!heroData.IsUnlockedCostume(hero_COSTUME_TYPE))
{
Entity_HeroCostume.Param heroCostumeParam = instance2.GetHeroCostumeParam(heroData.HeroID, hero_COSTUME_TYPE);
int expedMinScore = heroCostumeParam.expedMinScore;
if (battleScore >= expedMinScore)
{
float expedGetProb = heroCostumeParam.expedGetProb;
if (instance.CalcProb(expedGetProb))
{
list.Add(new ExpedDropCostume
{
HeroID = heroData.HeroID,
CostumeType = hero_COSTUME_TYPE
});
}
}
}
}
}
}
if (list.Count > 0)
{
int num = global::UnityEngine.Random.Range(0, list.Count);
expedDropCostume = list[num];
}
this.m_DropCostume = expedDropCostume;
}
public bool CalcProb(float percent)
{
int num = 0;
if (percent.ToString().IndexOf(".") > 0)
{
num = percent.ToString().Split(new char[] { '.' })[1].Length;
}
int num2 = (int)Mathf.Pow(10f, (float)num);
int num3 = 100 * num2;
int num4 = (int)((float)num2 * percent);
return global::UnityEngine.Random.Range(0, num3) < num4;
}
percent = 0.1f, then it may be stored as 0.100000001 due to the defect of the binary system.num = 9 as it's the Number of decimal places.num2 = 10^9 = 1,000,000,000; 1,000,000,000 <= 2,147,483,647 = 2^31-1num3 = 100 * num2 = 100,000,000,000; 100,000,000,000 > 2,147,483,647 (which is the maximum of signed int 32)num3 is stored as 3,567,587,328 (= 11010100 10000010 11010000 00000000₂ = -727,379,968)100 × X
= (2⁶ + 2⁵ + 2²) × X
= (X << 6) + (X << 5) + (X << 2)
Random.Range(0, num3) is invalid since num3 is a negative number and num3 < 0. if (heroData.State == HERO_STATE.EVIL && this.m_HeroCtrl.GetPlayerHeroType(heroData.HeroID) != PLAYER_HERO_TYPE.PREGNANT)
{
for (int i = 0; i < 4; i++)
{
HERO_COSTUME_TYPE hero_COSTUME_TYPE = (HERO_COSTUME_TYPE)i;
if (!heroData.IsUnlockedCostume(hero_COSTUME_TYPE))
{
int expedMinScore = instance2.GetHeroCostumeParam(heroData.HeroID, hero_COSTUME_TYPE).expedMinScore;
if (battleScore >= expedMinScore)
{
list.Add(new ExpedDropCostume
{
HeroID = heroData.HeroID,
CostumeType = hero_COSTUME_TYPE
});
}
}
}
}
Interesting but I think the problem there is just "percent.ToString().IndexOf(".") > 0"Many thanks to noxtek's work.
Look what I found:
andC:public void CreateDropCostume(int battleScore) { ExpedDropCostume expedDropCostume = default(ExpedDropCostume); expedDropCostume.HeroID = -1; GameManager instance = SingletonMonoBehaviour<GameManager>.Instance; ParamManager instance2 = SingletonMonoBehaviour<ParamManager>.Instance; List<ExpedDropCostume> list = new List<ExpedDropCostume>(); foreach (HeroData heroData in instance.HeroDataList) { if (instance.GameMode == GAME_MODE.STORY && instance.GetAdvCount(ADV_LABEL.MEV2000) <= 0) { break; } if (!instance.IsDoneTechnology(TECHNOLOGY_TYPE.HERO_MENU_UNLOCK00)) { break; } if (heroData.State == HERO_STATE.EVIL && this.m_HeroCtrl.GetPlayerHeroType(heroData.HeroID) != PLAYER_HERO_TYPE.PREGNANT) { for (int i = 0; i < 4; i++) { HERO_COSTUME_TYPE hero_COSTUME_TYPE = (HERO_COSTUME_TYPE)i; if (!heroData.IsUnlockedCostume(hero_COSTUME_TYPE)) { Entity_HeroCostume.Param heroCostumeParam = instance2.GetHeroCostumeParam(heroData.HeroID, hero_COSTUME_TYPE); int expedMinScore = heroCostumeParam.expedMinScore; if (battleScore >= expedMinScore) { float expedGetProb = heroCostumeParam.expedGetProb; if (instance.CalcProb(expedGetProb)) { list.Add(new ExpedDropCostume { HeroID = heroData.HeroID, CostumeType = hero_COSTUME_TYPE }); } } } } } } if (list.Count > 0) { int num = global::UnityEngine.Random.Range(0, list.Count); expedDropCostume = list[num]; } this.m_DropCostume = expedDropCostume; }
The function CalcProb isn't that well implemented. I'll show you the reasoning as below:C:public bool CalcProb(float percent) { int num = 0; if (percent.ToString().IndexOf(".") > 0) { num = percent.ToString().Split(new char[] { '.' })[1].Length; } int num2 = (int)Mathf.Pow(10f, (float)num); int num3 = 100 * num2; int num4 = (int)((float)num2 * percent); return global::UnityEngine.Random.Range(0, num3) < num4; }
ifpercent = 0.1f, then it may be stored as0.100000001due to the defect of the binary system.
Thennum = 9as it's the Number of decimal places.
Thennum2 = 10^9 = 1,000,000,000; 1,000,000,000 <= 2,147,483,647 = 2^31-1
num3 = 100 * num2 = 100,000,000,000; 100,000,000,000 > 2,147,483,647(which is the maximum of signed int 32)
Then it's an overflow.num3is stored as 3,567,587,328 (= 11010100 10000010 11010000 00000000₂ = -727,379,968)
It overflows during the process of multiplication!Java:100 × X = (2⁶ + 2⁵ + 2²) × X = (X << 6) + (X << 5) + (X << 2)
ThenRandom.Range(0, num3)is invalid sincenum3is a negative number andnum3 < 0.
That may in some point explains that the game may get sucked and don't let you get new costume.
Modified:
This may help.C:if (heroData.State == HERO_STATE.EVIL && this.m_HeroCtrl.GetPlayerHeroType(heroData.HeroID) != PLAYER_HERO_TYPE.PREGNANT) { for (int i = 0; i < 4; i++) { HERO_COSTUME_TYPE hero_COSTUME_TYPE = (HERO_COSTUME_TYPE)i; if (!heroData.IsUnlockedCostume(hero_COSTUME_TYPE)) { int expedMinScore = instance2.GetHeroCostumeParam(heroData.HeroID, hero_COSTUME_TYPE).expedMinScore; if (battleScore >= expedMinScore) { list.Add(new ExpedDropCostume { HeroID = heroData.HeroID, CostumeType = hero_COSTUME_TYPE }); } } } }
And a cheat table.
Right. I also don't understand the way the author implemented the percent function. It's unnecessarily complicated, of low efficiency and practically mistaken.Interesting but I think the problem there is just "percent.ToString().IndexOf(".") > 0"
Depending on the country the separation mark could change.
Here in Italy we use the comma instead of the dot and would return -1.
I can't even imagine why the dev turned a float to string to int in the first place.
Anyway, in theory this should be the easiest solution:
public bool CalcProb(float percent)
{
return UnityEngine.Random.value * 100f < percent;
}
In the IDE like visual studio and such, is always dot for decimal. The language itself (C# for example) has international rules and sintax impose the dot.Right. I also don't understand the way the author implemented the percent function. It's unnecessarily complicated, of low efficiency and practically mistaken.
And, BTW, how do you write MATH numeric and formulas if you use the comma in replacement of dot?